commandmate 0.35.0 → 0.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (230) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +328 -319
  3. package/.next/app-path-routes-manifest.json +26 -26
  4. package/.next/build-manifest.json +5 -5
  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_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/assistant/current-output/route_client-reference-manifest.js +1 -1
  15. package/.next/server/app/api/assistant/messages/route_client-reference-manifest.js +1 -1
  16. package/.next/server/app/api/assistant/session/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/assistant/start/route_client-reference-manifest.js +1 -1
  18. package/.next/server/app/api/assistant/terminal/route_client-reference-manifest.js +1 -1
  19. package/.next/server/app/api/assistant/tools/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  21. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  22. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/capabilities/route.js +1 -1
  24. package/.next/server/app/api/capabilities/route_client-reference-manifest.js +1 -1
  25. package/.next/server/app/api/daily-summary/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/daily-summary/status/route_client-reference-manifest.js +1 -1
  27. package/.next/server/app/api/external-apps/[id]/health/route_client-reference-manifest.js +1 -1
  28. package/.next/server/app/api/external-apps/[id]/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/external-apps/route_client-reference-manifest.js +1 -1
  30. package/.next/server/app/api/fs/browse/route_client-reference-manifest.js +1 -1
  31. package/.next/server/app/api/fs/recent-paths/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/hooks/agent-event/route_client-reference-manifest.js +1 -1
  33. package/.next/server/app/api/hooks/claude-done/route_client-reference-manifest.js +1 -1
  34. package/.next/server/app/api/hooks/permission-request/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/metrics/vibe/route_client-reference-manifest.js +1 -1
  36. package/.next/server/app/api/ollama/models/route_client-reference-manifest.js +1 -1
  37. package/.next/server/app/api/push/escalation/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/push/subscriptions/route_client-reference-manifest.js +1 -1
  39. package/.next/server/app/api/push/vapid/route_client-reference-manifest.js +1 -1
  40. package/.next/server/app/api/relays/[relayId]/cancel/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/relays/route_client-reference-manifest.js +1 -1
  42. package/.next/server/app/api/remote/pair/route_client-reference-manifest.js +1 -1
  43. package/.next/server/app/api/repositories/[id]/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/repositories/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  45. package/.next/server/app/api/repositories/[id]/todos/route_client-reference-manifest.js +1 -1
  46. package/.next/server/app/api/repositories/clone/[jobId]/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/repositories/clone/route_client-reference-manifest.js +1 -1
  48. package/.next/server/app/api/repositories/excluded/route_client-reference-manifest.js +1 -1
  49. package/.next/server/app/api/repositories/restore/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/repositories/route_client-reference-manifest.js +1 -1
  51. package/.next/server/app/api/repositories/scan/route_client-reference-manifest.js +1 -1
  52. package/.next/server/app/api/repositories/sync/route_client-reference-manifest.js +1 -1
  53. package/.next/server/app/api/repositories/validate-path/route_client-reference-manifest.js +1 -1
  54. package/.next/server/app/api/settings/default-agents/route_client-reference-manifest.js +1 -1
  55. package/.next/server/app/api/settings/default-surface-mode/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/sidebar/group-order/route_client-reference-manifest.js +1 -1
  57. package/.next/server/app/api/skills/[id]/route_client-reference-manifest.js +1 -1
  58. package/.next/server/app/api/skills/installations/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/skills/operations/route_client-reference-manifest.js +1 -1
  60. package/.next/server/app/api/skills/reindex/route_client-reference-manifest.js +1 -1
  61. package/.next/server/app/api/skills/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/slash-commands/route_client-reference-manifest.js +1 -1
  63. package/.next/server/app/api/tasks/[taskId]/cancel/route_client-reference-manifest.js +1 -1
  64. package/.next/server/app/api/tasks/[taskId]/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/templates/[id]/route_client-reference-manifest.js +1 -1
  66. package/.next/server/app/api/templates/route_client-reference-manifest.js +1 -1
  67. package/.next/server/app/api/todos/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/verification/runs/[runId]/route_client-reference-manifest.js +1 -1
  69. package/.next/server/app/api/verification/runs/route_client-reference-manifest.js +1 -1
  70. package/.next/server/app/api/worktrees/[id]/auto-yes/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/worktrees/[id]/capture/route_client-reference-manifest.js +1 -1
  72. package/.next/server/app/api/worktrees/[id]/clear-composer/route_client-reference-manifest.js +1 -1
  73. package/.next/server/app/api/worktrees/[id]/cli-reference/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/worktrees/[id]/cli-tool/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/worktrees/[id]/cmate/schedules/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/worktrees/[id]/current-output/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/worktrees/[id]/env/route_client-reference-manifest.js +1 -1
  78. package/.next/server/app/api/worktrees/[id]/execution-logs/[logId]/route_client-reference-manifest.js +1 -1
  79. package/.next/server/app/api/worktrees/[id]/execution-logs/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/worktrees/[id]/files/[...path]/route_client-reference-manifest.js +1 -1
  81. package/.next/server/app/api/worktrees/[id]/git/branch/create/route_client-reference-manifest.js +1 -1
  82. package/.next/server/app/api/worktrees/[id]/git/branch/delete/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/worktrees/[id]/git/branches/route_client-reference-manifest.js +1 -1
  84. package/.next/server/app/api/worktrees/[id]/git/checkout/route_client-reference-manifest.js +1 -1
  85. package/.next/server/app/api/worktrees/[id]/git/commit/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/worktrees/[id]/git/diff/route_client-reference-manifest.js +1 -1
  87. package/.next/server/app/api/worktrees/[id]/git/fetch/route_client-reference-manifest.js +1 -1
  88. package/.next/server/app/api/worktrees/[id]/git/log/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/worktrees/[id]/git/pull/route_client-reference-manifest.js +1 -1
  90. package/.next/server/app/api/worktrees/[id]/git/push/route_client-reference-manifest.js +1 -1
  91. package/.next/server/app/api/worktrees/[id]/git/reset/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/worktrees/[id]/git/revert/route_client-reference-manifest.js +1 -1
  93. package/.next/server/app/api/worktrees/[id]/git/show/[commitHash]/route_client-reference-manifest.js +1 -1
  94. package/.next/server/app/api/worktrees/[id]/git/stage/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/worktrees/[id]/git/staged/route_client-reference-manifest.js +1 -1
  96. package/.next/server/app/api/worktrees/[id]/git/stash/[index]/route_client-reference-manifest.js +1 -1
  97. package/.next/server/app/api/worktrees/[id]/git/stash/apply/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/worktrees/[id]/git/stash/pop/route_client-reference-manifest.js +1 -1
  99. package/.next/server/app/api/worktrees/[id]/git/stash/push/route_client-reference-manifest.js +1 -1
  100. package/.next/server/app/api/worktrees/[id]/git/stash/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/worktrees/[id]/git/status/route_client-reference-manifest.js +1 -1
  102. package/.next/server/app/api/worktrees/[id]/git/unstage/route_client-reference-manifest.js +1 -1
  103. package/.next/server/app/api/worktrees/[id]/git/working-diff/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/worktrees/[id]/instances/notes/route_client-reference-manifest.js +1 -1
  105. package/.next/server/app/api/worktrees/[id]/instances/opencode/route_client-reference-manifest.js +1 -1
  106. package/.next/server/app/api/worktrees/[id]/interrupt/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/worktrees/[id]/kill-session/route_client-reference-manifest.js +1 -1
  108. package/.next/server/app/api/worktrees/[id]/logs/[filename]/route_client-reference-manifest.js +1 -1
  109. package/.next/server/app/api/worktrees/[id]/logs/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/worktrees/[id]/marp-render/route_client-reference-manifest.js +1 -1
  111. package/.next/server/app/api/worktrees/[id]/memos/[memoId]/route_client-reference-manifest.js +1 -1
  112. package/.next/server/app/api/worktrees/[id]/memos/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/worktrees/[id]/messages/route_client-reference-manifest.js +1 -1
  114. package/.next/server/app/api/worktrees/[id]/opencode/diff/route_client-reference-manifest.js +1 -1
  115. package/.next/server/app/api/worktrees/[id]/opencode/session/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/worktrees/[id]/opencode/share/route_client-reference-manifest.js +1 -1
  117. package/.next/server/app/api/worktrees/[id]/prompt-response/route_client-reference-manifest.js +1 -1
  118. package/.next/server/app/api/worktrees/[id]/resolve-target/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/worktrees/[id]/respond/route_client-reference-manifest.js +1 -1
  120. package/.next/server/app/api/worktrees/[id]/route_client-reference-manifest.js +1 -1
  121. package/.next/server/app/api/worktrees/[id]/schedules/[scheduleId]/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/worktrees/[id]/schedules/active/route_client-reference-manifest.js +1 -1
  123. package/.next/server/app/api/worktrees/[id]/schedules/route_client-reference-manifest.js +1 -1
  124. package/.next/server/app/api/worktrees/[id]/search/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/worktrees/[id]/send/route_client-reference-manifest.js +1 -1
  126. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/git-workflow/route_client-reference-manifest.js +1 -1
  127. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/install/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/plan/route_client-reference-manifest.js +1 -1
  129. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall/route_client-reference-manifest.js +1 -1
  130. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/uninstall-plan/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update/route_client-reference-manifest.js +1 -1
  132. package/.next/server/app/api/worktrees/[id]/skills/[skillId]/update-plan/route_client-reference-manifest.js +1 -1
  133. package/.next/server/app/api/worktrees/[id]/skills/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/worktrees/[id]/slash-commands/route_client-reference-manifest.js +1 -1
  135. package/.next/server/app/api/worktrees/[id]/special-keys/route_client-reference-manifest.js +1 -1
  136. package/.next/server/app/api/worktrees/[id]/tasks/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/worktrees/[id]/terminal/route_client-reference-manifest.js +1 -1
  138. package/.next/server/app/api/worktrees/[id]/timers/history/route_client-reference-manifest.js +1 -1
  139. package/.next/server/app/api/worktrees/[id]/timers/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/worktrees/[id]/todos/[todoId]/route_client-reference-manifest.js +1 -1
  141. package/.next/server/app/api/worktrees/[id]/todos/route_client-reference-manifest.js +1 -1
  142. package/.next/server/app/api/worktrees/[id]/tree/[...path]/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/worktrees/[id]/tree/route_client-reference-manifest.js +1 -1
  144. package/.next/server/app/api/worktrees/[id]/upload/[...path]/route_client-reference-manifest.js +1 -1
  145. package/.next/server/app/api/worktrees/[id]/verify/config/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/worktrees/[id]/verify/route_client-reference-manifest.js +1 -1
  147. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/cancel/route_client-reference-manifest.js +1 -1
  148. package/.next/server/app/api/worktrees/[id]/verify/runs/[runId]/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/worktrees/[id]/verify/runs/route_client-reference-manifest.js +1 -1
  150. package/.next/server/app/api/worktrees/[id]/viewed/route_client-reference-manifest.js +1 -1
  151. package/.next/server/app/api/worktrees/apply-default-agents/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/worktrees/route.js +1 -1
  153. package/.next/server/app/api/worktrees/route_client-reference-manifest.js +1 -1
  154. package/.next/server/app/chat/page.js +2 -2
  155. package/.next/server/app/chat/page.js.nft.json +1 -1
  156. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  157. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  158. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  159. package/.next/server/app/more/page.js +2 -2
  160. package/.next/server/app/more/page_client-reference-manifest.js +1 -1
  161. package/.next/server/app/offline/page_client-reference-manifest.js +1 -1
  162. package/.next/server/app/page_client-reference-manifest.js +1 -1
  163. package/.next/server/app/proxy/[...path]/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/repositories/page_client-reference-manifest.js +1 -1
  165. package/.next/server/app/review/page_client-reference-manifest.js +1 -1
  166. package/.next/server/app/sessions/page.js +2 -2
  167. package/.next/server/app/sessions/page.js.nft.json +1 -1
  168. package/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/skills/[skillId]/page.js +1 -1
  170. package/.next/server/app/skills/[skillId]/page.js.nft.json +1 -1
  171. package/.next/server/app/skills/[skillId]/page_client-reference-manifest.js +1 -1
  172. package/.next/server/app/skills/installed/page_client-reference-manifest.js +1 -1
  173. package/.next/server/app/skills/page_client-reference-manifest.js +1 -1
  174. package/.next/server/app/worktrees/[id]/files/[...path]/page.js +2 -2
  175. package/.next/server/app/worktrees/[id]/files/[...path]/page_client-reference-manifest.js +1 -1
  176. package/.next/server/app/worktrees/[id]/page.js +9 -22
  177. package/.next/server/app/worktrees/[id]/page.js.nft.json +1 -1
  178. package/.next/server/app/worktrees/[id]/page_client-reference-manifest.js +1 -1
  179. package/.next/server/app/worktrees/[id]/terminal/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app-paths-manifest.json +26 -26
  181. package/.next/server/chunks/1707.js +14 -0
  182. package/.next/server/chunks/3123.js +1 -1
  183. package/.next/server/chunks/3543.js +1 -1
  184. package/.next/server/chunks/364.js +1 -0
  185. package/.next/server/chunks/3945.js +1 -1
  186. package/.next/server/chunks/4802.js +1 -1
  187. package/.next/server/chunks/6130.js +1 -1
  188. package/.next/server/chunks/7004.js +1 -0
  189. package/.next/server/chunks/8142.js +1 -0
  190. package/.next/server/chunks/8728.js +1 -1
  191. package/.next/server/chunks/9123.js +1 -1
  192. package/.next/server/chunks/9627.js +1 -1
  193. package/.next/server/chunks/9701.js +1 -0
  194. package/.next/server/middleware-build-manifest.js +1 -1
  195. package/.next/server/middleware-manifest.json +5 -5
  196. package/.next/server/pages/500.html +1 -1
  197. package/.next/server/server-reference-manifest.json +1 -1
  198. package/.next/static/chunks/2039-117a361f795ddc4b.js +1 -0
  199. package/.next/static/chunks/2053-ce3fe896ad45e50f.js +1 -0
  200. package/.next/static/chunks/2407-6b8ca567e18ad583.js +1 -0
  201. package/.next/static/chunks/3160-79d24ca264a528b9.js +1 -0
  202. package/.next/static/chunks/4949-d804db873cfd9310.js +1 -0
  203. package/.next/static/chunks/{6022-7a7d1760fc9814c7.js → 6022-d2d7bd9373ff3ae9.js} +1 -1
  204. package/.next/static/chunks/6983-3ed2099251793bdf.js +1 -0
  205. package/.next/static/chunks/934-a37509667baa86ee.js +1 -0
  206. package/.next/static/chunks/9526-4fe2fc64be44e5c1.js +1 -0
  207. package/.next/static/chunks/app/chat/page-bfc1f5bb17bd771d.js +1 -0
  208. package/.next/static/chunks/app/more/page-400ffa825f8f150e.js +1 -0
  209. package/.next/static/chunks/app/sessions/page-366edfaa0b1faad2.js +1 -0
  210. package/.next/static/chunks/app/skills/[skillId]/{page-844872df04f52943.js → page-ce8f6fd9e4356580.js} +1 -1
  211. package/.next/static/chunks/app/worktrees/[id]/page-df482ec0c378c77b.js +1 -0
  212. package/.next/static/chunks/{webpack-1dc9eb5ebb4fa5ff.js → webpack-0281b30457d46ebc.js} +1 -1
  213. package/.next/static/css/c511ecdf1e7f18a0.css +1 -0
  214. package/.next/trace +14 -14
  215. package/dist/server/src/lib/auto-yes-state.js +36 -0
  216. package/package.json +1 -1
  217. package/.next/server/chunks/120.js +0 -1
  218. package/.next/server/chunks/7593.js +0 -1
  219. package/.next/static/chunks/1191-b7dfdfe86b1d31d1.js +0 -1
  220. package/.next/static/chunks/2053-9ac860ab4e92ac89.js +0 -1
  221. package/.next/static/chunks/2407-b9001cc6041876e1.js +0 -1
  222. package/.next/static/chunks/4809-145884b958e7d9a6.js +0 -1
  223. package/.next/static/chunks/5542-b6457f305d724a6b.js +0 -1
  224. package/.next/static/chunks/app/chat/page-609c9a0f5ce44799.js +0 -1
  225. package/.next/static/chunks/app/more/page-7c5380e4a7561935.js +0 -1
  226. package/.next/static/chunks/app/sessions/page-6486d9a643c1dc6f.js +0 -1
  227. package/.next/static/chunks/app/worktrees/[id]/page-3a58ae66e203f935.js +0 -1
  228. package/.next/static/css/b09bede85744e1cf.css +0 -1
  229. /package/.next/static/{0vChXhzA5YWj3f0D6A-Cn → zNNp00FuBenN_iZtIvIBP}/_buildManifest.js +0 -0
  230. /package/.next/static/{0vChXhzA5YWj3f0D6A-Cn → zNNp00FuBenN_iZtIvIBP}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2053],{24027:(e,t,l)=>{l.d(t,{Uc:()=>C,G8:()=>w,OJ:()=>A,RF:()=>R});var n=l(95155),s=l(12115),a=l(18955),r=l(51238),i=l(89451),o=l(10934),d=l(92254),c=l(5225);l(1226);var u=l(89715),x=l(57828),m=l(52056),p=l(65229),g=l(67909),h=l(3005);let f=(0,g.default)(()=>Promise.all([l.e(221),l.e(7485),l.e(953)]).then(l.bind(l,90953)).then(e=>({default:e.MermaidDiagram})),{loadableGenerated:{webpack:()=>[90953]},ssr:!1,loading:function(){let e=(0,a.c)("worktree");return(0,n.jsxs)("div",{className:"mermaid-loading flex items-center gap-2 text-muted-foreground p-4",children:[(0,n.jsx)(h.y,{size:"sm"}),(0,n.jsx)("span",{children:e("mermaid.loading")})]})}});function k(e){let{className:t,children:l}=e;if(t&&t.split(" ").includes("language-mermaid")){let e=null==l?"":"string"==typeof l?l:Array.isArray(l)?l.map(e=>"string"==typeof e?e:"").join(""):String(l);return(0,n.jsx)(f,{code:e})}return(0,n.jsx)("code",{className:t,children:l})}var j=l(50666),b=l(69352),y=l(76246),N=l(99112);function v(e){let{apiUrl:t,alt:l,width:r,height:i}=e,o=(0,a.c)("worktree"),[d,c]=(0,s.useState)(null);return((0,s.useEffect)(()=>{let e=!1;return fetch(t).then(e=>e.ok?e.json():null).then(t=>{!e&&(null==t?void 0:t.content)&&c(t.content)}).catch(()=>{}),()=>{e=!0}},[t]),d)?(0,n.jsx)("img",{src:d,alt:l,width:r,height:i,style:{maxWidth:r||"100%"}}):(0,n.jsx)("span",{style:{color:"#999"},children:o("markdownPreview.loadingImage")})}let w=(0,s.memo)(function(e){let{content:t,onOpenFile:l,currentFilePath:a,worktreeId:u}=e,x=(0,s.useRef)(l);x.current=l;let m=(0,s.useRef)(a);m.current=a;let p=(0,s.useRef)(u);p.current=u;let g=(0,s.useCallback)((e,t)=>{let l=(0,b.d3)(t);if(l)switch((0,b.dj)(l)){case"anchor":break;case"external":e.preventDefault(),window.open(l,"_blank","noopener,noreferrer");break;case"relative":{e.preventDefault();let t=m.current,n=x.current;if(t&&n){let e=(0,b.WU)(t,l);e&&n(e)}}}},[]),h=(0,s.useMemo)(()=>({code:k,pre:e=>{let{children:t}=e;return!function(e){let t=s.Children.toArray(e)[0];if(!s.isValidElement(t))return!1;let l=t.props.className;return"string"==typeof l&&l.split(" ").includes("language-mermaid")}(t)?(0,n.jsx)(j.Ck,{children:(0,n.jsx)("pre",{className:"overflow-x-auto",children:t})}):(0,n.jsx)("pre",{children:t})},img:e=>{var t,l,s,a;let{src:r,alt:i,width:o,height:d,...c}=e,u=null!=o?o:null==(l=c.node)||null==(t=l.properties)?void 0:t.width,x=null!=d?d:null==(a=c.node)||null==(s=a.properties)?void 0:s.height;if("string"==typeof r&&!r.startsWith("http://")&&!r.startsWith("https://")&&!r.startsWith("data:")){let e=m.current,t=p.current;if(e&&t){let l=(0,b.WU)(e,r);if(l){let e="/api/worktrees/".concat(t,"/files/").concat((0,y.o)(l));return(0,n.jsx)(v,{apiUrl:e,alt:null!=i?i:"",width:u,height:x})}}}return(0,n.jsx)("img",{src:r,alt:null!=i?i:"",width:u,height:x,style:{maxWidth:u||"100%"}})},a:e=>{let{href:t,children:l,...s}=e;return t?(0,n.jsx)("a",{...s,href:t,onClick:e=>g(e,t),children:l}):(0,n.jsx)("a",{...s,children:l})}}),[g]),f=(0,s.useMemo)(()=>[i.A,[o.A,b.uO],d.A,c.A],[]);return(0,n.jsx)(r.oz,{remarkPlugins:N.eT,rehypePlugins:f,components:h,children:t})}),R=(0,s.memo)(function(e){let{mobileTab:t,onTabChange:l}=e,s=(0,a.c)("worktree");return(0,n.jsxs)("div",{className:"flex border-b border-border",children:[(0,n.jsxs)("button",{"data-testid":"mobile-tab-editor",onClick:()=>l("editor"),className:"flex-1 py-2 text-sm font-medium ".concat("editor"===t?"text-accent-600 dark:text-accent-400 border-b-2 border-accent-600 dark:border-accent-400":"text-muted-foreground"),children:[(0,n.jsx)(u.A,{className:"h-4 w-4 inline-block mr-1"}),s("markdownPreview.editor")]}),(0,n.jsxs)("button",{"data-testid":"mobile-tab-preview",onClick:()=>l("preview"),className:"flex-1 py-2 text-sm font-medium ".concat("preview"===t?"text-accent-600 dark:text-accent-400 border-b-2 border-accent-600 dark:border-accent-400":"text-muted-foreground"),children:[(0,n.jsx)(x.A,{className:"h-4 w-4 inline-block mr-1"}),s("markdownPreview.preview")]})]})}),A=(0,s.memo)(function(e){let{isMobile:t}=e,l=(0,a.c)("worktree");return(0,n.jsxs)("div",{"data-testid":"maximize-hint",className:"flex items-center justify-center px-4 py-1 bg-muted text-muted-foreground text-xs",children:[l("markdownPreview.exitFullscreenHint")," ",t&&l("markdownPreview.exitFullscreenHintSwipe")]})}),C=(0,s.memo)(function(e){let{onDismiss:t}=e,l=(0,a.c)("worktree");return(0,n.jsxs)("div",{"data-testid":"large-file-warning",className:"flex items-center gap-2 px-4 py-2 bg-warning-subtle border-b border-warning-border text-warning-foreground text-sm",children:[(0,n.jsx)(m.A,{className:"h-4 w-4"}),l("markdownPreview.largeFileWarning"),(0,n.jsx)("button",{onClick:t,className:"ml-auto text-warning hover:text-warning",children:(0,n.jsx)(p.A,{className:"h-4 w-4"})})]})})},34380:(e,t,l)=>{l.d(t,{B:()=>T});var n=l(95155),s=l(12115),a=l(18955),r=l(28019),i=l(54014),o=l(74385),d=l(50825),c=l(37381);function u(e){var t,l,n,s,a;let r=e.agentInstances&&e.agentInstances.length>0?e.agentInstances.map(e=>e.alias||e.cliTool):null!=(l=e.selectedAgents)?l:e.cliToolId?[e.cliToolId]:[];return{id:e.id,name:e.name,repositoryName:null!=(n=e.repositoryDisplayName)?n:e.repositoryName,syncedBranch:null!=(s=e.branch)?s:null,liveBranch:null!=(a=null==(t=e.gitStatus)?void 0:t.currentBranch)?a:null,dirty:e.gitStatus?e.gitStatus.isDirty:null,agents:[...new Set(r)],sessionRunning:!0===e.isSessionRunning}}let x={status:"loading",options:[]};async function m(e){let t=await fetch("/api/worktrees",{signal:e,headers:{Accept:"application/json"}});if(!t.ok)throw Error("HTTP ".concat(t.status));let l=await t.json(),n=null==l?void 0:l.worktrees;if(!Array.isArray(n))throw Error("Malformed worktree list");return n.map(u)}function p(e){let{selectedWorktreeId:t,onSelect:l,disabled:i=!1}=e,o=(0,a.c)("skills"),[d,u]=(0,s.useState)(x),[p,h]=(0,s.useState)(0);(0,s.useEffect)(()=>{let e=new AbortController;return u(x),m(e.signal).then(t=>{e.signal.aborted||u({status:"loaded",options:t})}).catch(()=>{e.signal.aborted||u({status:"error",options:[]})}),()=>e.abort()},[p]);let f=(0,s.useCallback)(()=>h(e=>e+1),[]);return"loading"===d.status?(0,n.jsxs)("div",{className:"space-y-2","data-testid":"skill-target-loading",children:[(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:o("target.loading")}),(0,n.jsx)(r.EA,{className:"h-24 w-full rounded-lg"})]}):"error"===d.status?(0,n.jsxs)(r.Zp,{className:"space-y-3","data-testid":"skill-target-error",children:[(0,n.jsx)(c.u,{tone:"danger",children:o("target.errorNotice")}),(0,n.jsx)(r.$n,{variant:"secondary",size:"sm",onClick:f,"data-testid":"skill-target-retry",children:o("target.retry")})]}):0===d.options.length?(0,n.jsx)(r.Zp,{"data-testid":"skill-target-empty",children:(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:o("target.empty")})}):(0,n.jsxs)("div",{className:"space-y-3","data-testid":"skill-target-selector",children:[(0,n.jsx)("div",{role:"radiogroup","aria-label":o("target.heading"),className:"space-y-2",children:d.options.map(e=>(0,n.jsx)(g,{option:e,selected:e.id===t,disabled:i,onSelect:l},e.id))}),(0,n.jsx)(c.u,{tone:"neutral","data-testid":"skill-target-branch-notice",children:o("target.branchFreshnessNotice")})]})}function g(e){var t;let{option:l,selected:s,disabled:i,onSelect:o}=e,d=(0,a.c)("skills"),c=null!=(t=l.liveBranch)?t:l.syncedBranch;return(0,n.jsxs)("button",{type:"button",role:"radio","aria-checked":s,disabled:i,onClick:()=>o(l.id),"data-testid":"skill-target-option-".concat(l.id),className:"w-full rounded-lg border px-3 py-2.5 text-left transition-colors disabled:cursor-not-allowed disabled:opacity-60 ".concat(s?"border-accent-500 bg-accent-50 dark:bg-accent-950/40":"border-border bg-card hover:bg-muted"),children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)("span",{className:"text-sm font-semibold text-foreground break-all",children:l.name}),s&&(0,n.jsx)(r.Ex,{variant:"info",children:d("target.selected")})]}),(0,n.jsxs)("dl",{className:"mt-1.5 grid grid-cols-1 gap-x-4 gap-y-1 sm:grid-cols-2",children:[(0,n.jsx)(h,{label:d("target.repository"),children:l.repositoryName}),(0,n.jsx)(h,{label:d("target.branch"),children:null!=c?c:d("target.branchUnknown")}),(0,n.jsx)(h,{label:d("target.agents"),children:l.agents.length>0?l.agents.join(", "):d("target.agentsNone")}),(0,n.jsx)(h,{label:d("target.workingTree"),children:d(null===l.dirty?"target.workingTreeUnknown":l.dirty?"target.workingTreeDirty":"target.workingTreeClean")})]}),l.sessionRunning&&(0,n.jsx)("p",{className:"mt-1.5 text-xs text-muted-foreground","data-testid":"skill-target-session-".concat(l.id),children:d("target.sessionRunning")})]})}function h(e){let{label:t,children:l}=e;return(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("dt",{className:"text-xs font-medium text-muted-foreground",children:t}),(0,n.jsx)("dd",{className:"text-xs text-foreground break-words",children:l})]})}var f=l(95584);function k(e){let{label:t,children:l}=e;return(0,n.jsxs)("div",{className:"min-w-0",children:[(0,n.jsx)("dt",{className:"text-xs font-medium text-muted-foreground",children:t}),(0,n.jsx)("dd",{className:"mt-0.5 break-words text-sm text-foreground",children:l})]})}function j(e){let{level:t,kind:l,label:s}=e,i=(0,a.c)("skills");return(0,n.jsxs)(r.Ex,{variant:f.eK[t],"data-testid":"skill-plan-risk-".concat(l,"-").concat(t),children:[s,": ",i(f.pP[t])]})}function b(e){let{entry:t}=e,l=(0,a.c)("skills"),s=f.KL[t.reason];return(0,n.jsxs)("li",{className:"space-y-1.5 rounded-md border border-border px-3 py-2","data-testid":"skill-plan-file-".concat(t.path),children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,n.jsx)(r.Ex,{variant:f.tC[t.change],children:l(f.AS[t.change])}),(0,n.jsx)("span",{className:"break-all font-mono text-xs text-foreground",children:t.path}),t.generated&&(0,n.jsx)(r.Ex,{variant:"gray",children:l("plan.fileGenerated")})]}),s&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:l(s)}),t.gitIgnored&&(0,n.jsx)("p",{className:"text-xs text-warning-foreground",children:l("plan.gitIgnored")}),t.binary?(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:l("plan.diffBinary")}):t.diff?(0,n.jsxs)("details",{children:[(0,n.jsx)("summary",{className:"cursor-pointer text-xs text-accent-600 dark:text-accent-400",children:l("plan.diffToggle",{additions:t.additions,deletions:t.deletions})}),(0,n.jsx)("pre",{className:"mt-1 overflow-x-auto rounded bg-muted p-2 font-mono text-[11px] leading-snug text-foreground",children:t.diff}),t.diffTruncated&&(0,n.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:l("plan.diffTruncated")})]}):null]})}function y(e){var t,l,s;let{plan:i}=e,o=(0,a.c)("skills"),{target:d,skill:u}=i,x=u.compatibility.commandmate;return(0,n.jsxs)(r.Zp,{className:"space-y-4","data-testid":"skill-install-plan",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:o("plan.heading")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:o("plan.expiresAt",{timestamp:i.expiresAt})})]}),(0,n.jsxs)("section",{className:"space-y-2",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("plan.targetHeading")}),(0,n.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,n.jsx)(k,{label:o("target.repository"),children:d.repositoryName}),(0,n.jsx)(k,{label:o("target.heading"),children:d.worktreeName}),(0,n.jsx)(k,{label:o("target.branch"),children:null!=(t=d.branch)?t:o("target.branchUnknown")}),(0,n.jsx)(k,{label:o("plan.headStateLabel"),children:o(null!=(l=f.kF[d.headState])?l:"plan.headState.unknown")}),(0,n.jsx)(k,{label:o("target.workingTree"),children:d.workingTreeDirty?o("target.workingTreeDirty"):o("target.workingTreeClean")}),(0,n.jsx)(k,{label:o("plan.installRoot"),children:(0,n.jsx)("span",{className:"break-all font-mono text-xs",children:(d.installRoots&&d.installRoots.length>0?d.installRoots:[d.installRoot]).map(e=>(0,n.jsx)("span",{className:"block",children:e},e))})}),(0,n.jsx)(k,{label:o("plan.existingInstall"),children:d.existingInstall?o("plan.existingInstallVersion",{version:d.existingInstall.version}):o("plan.existingInstallNone")}),(0,n.jsx)(k,{label:o("detail.recommendedVersion"),children:(0,n.jsx)("span",{className:"font-mono text-xs",children:u.version})})]})]}),(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-risk-section",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("plan.riskHeading")}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[(0,n.jsx)(j,{level:u.declaredRisk,kind:"declared",label:o("plan.riskDeclared")}),(0,n.jsx)(j,{level:u.computedRisk,kind:"computed",label:o("plan.riskComputed")}),(0,n.jsx)(j,{level:u.effectiveRisk,kind:"effective",label:o("plan.riskEffective")})]}),(0,n.jsx)("p",{className:"break-words text-sm text-foreground",children:u.riskRationale}),(0,n.jsx)(c.u,{tone:"neutral",children:o("plan.riskNotice")})]}),(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-permissions",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("permissions.heading")}),u.declaredPermissions.length>0?(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:u.declaredPermissions.map(e=>(0,n.jsx)(r.Ex,{variant:"warning",children:f.z2[e]?o(f.z2[e]):e},e))}):(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:o("plan.permissionsNone")}),(0,n.jsx)(c.u,{tone:"warning",children:o("permissions.declarationOnlyNotice")})]}),(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-requirements",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("requirements.heading")}),0===u.requirements.commands.length&&0===u.requirements.networkHosts.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:o("plan.requirementsNone")}):(0,n.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[u.requirements.commands.length>0&&(0,n.jsx)(k,{label:o("plan.requirementsCommands"),children:u.requirements.commands.map(e=>{var t;return"".concat(e.name," ").concat(null!=(t=e.versionRange)?t:o("plan.commandAnyVersion"))}).join(", ")}),u.requirements.networkHosts.length>0&&(0,n.jsx)(k,{label:o("plan.requirementsHosts"),children:u.requirements.networkHosts.join(", ")})]})]}),(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-scripts",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("plan.scriptsHeading")}),0===u.executablePaths.length&&0===u.scriptPaths.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:o("plan.scriptsNone")}):(0,n.jsx)("ul",{className:"space-y-1",children:[...new Set([...u.scriptPaths,...u.executablePaths])].map(e=>(0,n.jsx)("li",{className:"break-all font-mono text-xs text-foreground",children:e},e))})]}),"compatible"!==x.status&&(0,n.jsx)(c.u,{tone:"warning","data-testid":"skill-plan-compatibility-notice",children:o((0,f.e5)(x.messageKey),{range:x.requiredRange,currentVersion:null!=(s=x.currentVersion)?s:""})}),i.warnings.length>0&&(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-warnings",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("plan.warningsHeading")}),(0,n.jsx)("ul",{className:"space-y-1",children:i.warnings.map(e=>(0,n.jsx)("li",{className:"text-xs text-warning-foreground",children:f.RO[e]?o(f.RO[e]):e},e))})]}),(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-plan-files",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:o("plan.filesHeading")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"skill-plan-stats",children:o("plan.stats",{added:i.stats.added,modified:i.stats.modified,unchanged:i.stats.unchanged,conflicted:i.stats.conflicted,unmanaged:i.stats.unmanaged})}),0===i.files.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:o("plan.filesEmpty")}):(0,n.jsx)("ul",{className:"space-y-2",children:i.files.map(e=>(0,n.jsx)(b,{entry:e},e.path))})]}),i.blockers.length>0&&(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-install-blockers",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-danger-foreground",children:o("plan.blockersHeading")}),(0,n.jsx)("ul",{className:"space-y-1",children:i.blockers.map(e=>{var t,l;return(0,n.jsxs)("li",{className:"text-xs text-danger-foreground",children:[e.path&&(0,n.jsx)("span",{className:"mr-1 break-all font-mono",children:e.path}),e.code.startsWith("skills.")?o((0,f.e5)(e.code),{range:x.requiredRange,currentVersion:null!=(t=x.currentVersion)?t:""}):f.KL[e.code]?o(f.KL[e.code]):e.code]},"".concat(e.code,":").concat(null!=(l=e.path)?l:""))})}),(0,n.jsx)(c.u,{tone:"danger",children:o("plan.blockedNotice")})]})]})}function N(e){let{entry:t}=e,l=(0,a.c)("skills"),s=f.Mj[t.disposition],i=f.hJ[t.reason];return(0,n.jsxs)("li",{className:"flex flex-wrap items-center gap-2","data-testid":"skill-uninstall-file-".concat(t.path),children:[(0,n.jsx)(r.Ex,{variant:"remove"===t.disposition?"info":"warning",children:s?l(s):t.disposition}),(0,n.jsx)("span",{className:"break-all font-mono text-xs text-foreground",children:t.path}),i&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:l(i)})]})}function v(e){var t;let{plan:l}=e,s=(0,a.c)("skills"),{target:o,skill:d}=l;return(0,n.jsxs)(r.Zp,{className:"space-y-4","data-testid":"skill-uninstall-plan",children:[(0,n.jsxs)("div",{className:"space-y-1",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:s("uninstall.heading")}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:s("uninstall.expiresAt",{timestamp:l.expiresAt})})]}),(0,n.jsxs)("dl",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:[(0,n.jsx)(k,{label:s("target.repository"),children:o.repositoryName}),(0,n.jsx)(k,{label:s("target.heading"),children:o.worktreeName}),(0,n.jsx)(k,{label:s("target.branch"),children:null!=(t=o.branch)?t:s("target.branchUnknown")}),(0,n.jsx)(k,{label:s("uninstall.installedVersion"),children:(0,n.jsx)("span",{className:"font-mono text-xs",children:d.version||s("uninstall.versionUnknown")})}),(0,n.jsx)(k,{label:s("plan.installRoot"),children:(0,n.jsx)("span",{className:"break-all font-mono text-xs",children:o.installRoot})}),(0,n.jsx)(k,{label:s("target.workingTree"),children:o.workingTreeDirty?s("target.workingTreeDirty"):s("target.workingTreeClean")})]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"skill-uninstall-stats",children:s("uninstall.stats",{removable:l.stats.removable,modified:l.stats.modified,missing:l.stats.missing,unknown:l.stats.unknown,irregular:l.stats.irregular})}),(0,n.jsxs)("section",{className:"space-y-2",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:s("uninstall.removalsHeading")}),0===l.removals.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:s("uninstall.removalsEmpty")}):(0,n.jsx)("ul",{className:"space-y-1.5",children:l.removals.map(e=>(0,n.jsx)(N,{entry:e},e.path))})]}),(0,n.jsxs)("section",{className:"space-y-2",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:s("uninstall.retainedHeading")}),0===l.retained.length?(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:s("uninstall.retainedEmpty")}):(0,n.jsx)("ul",{className:"space-y-1.5",children:l.retained.map(e=>(0,n.jsx)(N,{entry:e},e.path))})]}),(0,n.jsxs)("div",{className:"space-y-2",children:[l.skill.agents.length>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5","data-testid":"skill-uninstall-agents",children:l.skill.agents.map(e=>(0,n.jsx)(r.Ex,{variant:"gray",children:(0,i.f_)(e.agent)},e.agent))}),(0,n.jsx)(c.u,{tone:"neutral",children:s((0,f.e5)(l.nextActionKey))})]}),l.blockers.length>0&&(0,n.jsxs)("section",{className:"space-y-2","data-testid":"skill-uninstall-blockers",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-danger-foreground",children:s("uninstall.blockersHeading")}),(0,n.jsx)("ul",{className:"space-y-1",children:l.blockers.map(e=>{var t;return(0,n.jsxs)("li",{className:"text-xs text-danger-foreground",children:[e.path&&(0,n.jsx)("span",{className:"mr-1 break-all font-mono",children:e.path}),s((0,f.e5)(e.messageKey))]},"".concat(e.code,":").concat(null!=(t=e.path)?t:""))})})]})]})}var w=l(80130);let R={worktreeId:null,busy:null,installPlan:null,uninstallPlan:null,installResult:null,uninstallResult:null,riskAcknowledged:!1,failure:null};function A(e){return{...e,installPlan:null,uninstallPlan:null,installResult:null,uninstallResult:null,riskAcknowledged:!1,failure:null}}function C(e,t){return"".concat(e,"-").concat(t)}function I(e){let{failure:t}=e,l=(0,a.c)("skills");return(0,n.jsxs)("div",{className:"space-y-2","data-testid":"skill-operation-error",children:[(0,n.jsxs)(c.u,{tone:"danger",children:[(0,n.jsx)("p",{className:"font-medium",children:l("operation.errorHeading")}),(0,n.jsx)("p",{className:"mt-1",children:l((0,f.FW)(t.code))}),(0,n.jsx)("p",{className:"mt-1 break-words",children:l("state.errorCode",{code:t.code})})]}),t.nextActionKey&&(0,n.jsx)(c.u,{tone:"warning",children:l((0,f.e5)(t.nextActionKey))}),t.blockers&&t.blockers.length>0&&(0,n.jsx)("ul",{className:"space-y-1","data-testid":"skill-operation-error-blockers",children:t.blockers.map(e=>{var t;return(0,n.jsxs)("li",{className:"text-xs text-danger-foreground",children:[e.path&&(0,n.jsx)("span",{className:"mr-1 break-all font-mono",children:e.path}),l((0,f.e5)(e.messageKey))]},"".concat(e.code,":").concat(null!=(t=e.path)?t:""))})})]})}function P(e){let{agents:t,skillId:l,version:s}=e,r=(0,a.c)("skills");return 0===t.length?null:(0,n.jsxs)("div",{className:"space-y-1","data-testid":"skill-operation-reload",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:r("operation.reloadHeading")}),(0,n.jsx)("ul",{className:"space-y-1",children:t.map(e=>(0,n.jsx)("li",{className:"text-xs text-muted-foreground",children:r((0,f.e5)(e.messageKey),{agent:(0,i.f_)(e.agent),skillId:l,version:s})},e.agent))})]})}function T(e){var t;let{skillId:l,version:i,blockedReason:u,worktreeId:x,agents:m=[]}=e,g=(0,a.c)("skills"),[h,k]=(0,s.useState)(()=>x?{...R,worktreeId:x}:R),j=(0,s.useCallback)(e=>{k(t=>t.worktreeId===e?t:A({...t,worktreeId:e,busy:null}))},[]);(0,s.useEffect)(()=>{x&&j(x)},[x,j]);let b=(0,s.useCallback)(async()=>{let e=h.worktreeId;if(!e)return;k(e=>({...A(e),busy:"install-plan"}));let t=await (0,w.Q6)(e,l,{version:null!=i?i:void 0});k(e=>({...e,busy:null,installPlan:t.ok?t.data.plan:null,failure:t.ok?null:t.failure}))},[l,h.worktreeId,i]),N=(0,s.useCallback)(async()=>{let e=h.worktreeId,t=h.installPlan;if(!e||!t||t.requiresRiskAcknowledgement&&!h.riskAcknowledged)return;k(e=>({...e,busy:"install-apply",failure:null}));let n=await (0,w.Xi)(e,l,{planToken:t.token,version:t.skill.version,acknowledgeRisk:!!t.requiresRiskAcknowledgement||void 0,idempotencyKey:C("skill-install",t.token)});n.ok&&(0,o.k)(e),k(e=>({...e,busy:null,installPlan:n.ok?null:e.installPlan,installResult:n.ok?n.data:null,failure:n.ok?null:n.failure}))},[l,h.installPlan,h.riskAcknowledged,h.worktreeId]),T=(0,s.useCallback)(async()=>{let e=h.worktreeId;if(!e)return;k(e=>({...A(e),busy:"uninstall-plan"}));let t=await (0,w.hN)(e,l);k(e=>({...e,busy:null,uninstallPlan:t.ok?t.data.plan:null,failure:t.ok?null:t.failure}))},[l,h.worktreeId]),E=(0,s.useCallback)(async()=>{let e=h.worktreeId,t=h.uninstallPlan;if(!e||!t)return;k(e=>({...e,busy:"uninstall-apply",failure:null}));let n=await (0,w.E)(e,l,{planToken:t.token,idempotencyKey:C("skill-uninstall",t.token)});k(e=>({...e,busy:null,uninstallPlan:n.ok?null:e.uninstallPlan,uninstallResult:n.ok?n.data:null,failure:n.ok?null:n.failure}))},[l,h.uninstallPlan,h.worktreeId]),K=(0,s.useCallback)(()=>{k(e=>A(e))},[]),H=null!==h.busy,S=h.installPlan,W=h.uninstallPlan,q=null!=u?u:g(h.worktreeId?"plan.ready":"plan.chooseTarget"),z=null!==S&&S.requiresRiskAcknowledgement&&!h.riskAcknowledged;return(0,n.jsxs)("div",{className:"space-y-3","data-testid":"skill-install-panel",children:[!x&&(0,n.jsx)(p,{selectedWorktreeId:h.worktreeId,onSelect:j,disabled:H}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(r.$n,{variant:"primary",disabled:H||null!==u||!h.worktreeId,onClick:b,"data-testid":"skill-install-action","aria-describedby":"skill-install-reason",children:g("install-plan"===h.busy?"plan.building":"plan.build")}),(0,n.jsx)(r.$n,{variant:"secondary",disabled:H||!h.worktreeId,onClick:T,"data-testid":"skill-uninstall-action",children:g("uninstall-plan"===h.busy?"uninstall.building":"uninstall.build")})]}),(0,n.jsx)("p",{id:"skill-install-reason",className:"text-sm text-muted-foreground","data-testid":"skill-install-reason",children:q}),m.length>0&&(0,n.jsxs)("div",{className:"space-y-1","data-testid":"skill-install-reload-preview",children:[(0,n.jsx)("h4",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:g("operation.reloadHeading")}),(0,n.jsx)("ul",{className:"space-y-1",children:m.map(e=>(0,n.jsx)(d.m,{agent:e,variant:"reload"},e.agent))})]}),h.failure&&(0,n.jsx)(I,{failure:h.failure}),S&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)(y,{plan:S}),S.requiresRiskAcknowledgement&&(0,n.jsxs)(r.Zp,{className:"space-y-3","data-testid":"skill-install-risk-acknowledgement",children:[(0,n.jsx)(c.u,{tone:"danger",children:g((0,f.e5)(null!=(t=S.riskAcknowledgementMessageKey)?t:"skills.plan.highRiskAcknowledgement"))}),(0,n.jsxs)("label",{className:"flex items-start gap-2 text-sm text-foreground",children:[(0,n.jsx)(r.Sc,{checked:h.riskAcknowledged,onCheckedChange:e=>k(t=>({...t,riskAcknowledged:!0===e})),disabled:H,"data-testid":"skill-install-risk-checkbox",className:"mt-0.5"}),(0,n.jsx)("span",{children:g("plan.acknowledgeLabel")})]})]}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(r.$n,{variant:S.requiresRiskAcknowledgement?"danger":"primary",disabled:H||!S.installable||z,onClick:N,"data-testid":"skill-install-confirm",children:g("install-apply"===h.busy?"plan.confirming":"plan.confirm")}),(0,n.jsx)(r.$n,{variant:"ghost",disabled:H,onClick:K,"data-testid":"skill-install-discard",children:g("plan.discard")})]})]}),W&&(0,n.jsxs)("div",{className:"space-y-3",children:[(0,n.jsx)(v,{plan:W}),(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,n.jsx)(r.$n,{variant:"danger",disabled:H||!W.removable,onClick:E,"data-testid":"skill-uninstall-confirm",children:g("uninstall-apply"===h.busy?"uninstall.confirming":"uninstall.confirm")}),(0,n.jsx)(r.$n,{variant:"ghost",disabled:H,onClick:K,"data-testid":"skill-uninstall-discard",children:g("plan.discard")})]})]}),h.installResult&&(0,n.jsxs)(r.Zp,{className:"space-y-3","data-testid":"skill-install-result",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:g("operation.installedHeading")}),(0,n.jsx)(c.u,{tone:"info",children:g((0,f.e5)(h.installResult.operation.nextActionKey))}),h.installResult.operation.replayed&&(0,n.jsx)(c.u,{tone:"neutral","data-testid":"skill-operation-replayed",children:g("operation.replayNotice")}),h.installResult.install&&"files"in h.installResult.install&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:g("operation.filesWritten",{count:h.installResult.install.files.length})}),"reload"in h.installResult&&(0,n.jsx)(P,{agents:h.installResult.reload.agents,skillId:h.installResult.reload.skillId,version:h.installResult.reload.version}),(0,n.jsx)(r.$n,{variant:"secondary",size:"sm",onClick:K,"data-testid":"skill-operation-reset",children:g("operation.startOver")})]}),h.uninstallResult&&(0,n.jsxs)(r.Zp,{className:"space-y-3","data-testid":"skill-uninstall-result",children:[(0,n.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:g("operation.uninstalledHeading")}),(0,n.jsx)(c.u,{tone:"info",children:g((0,f.e5)(h.uninstallResult.operation.nextActionKey))}),h.uninstallResult.operation.replayed&&(0,n.jsx)(c.u,{tone:"neutral","data-testid":"skill-operation-replayed",children:g("operation.replayNotice")}),h.uninstallResult.uninstall&&"removedFiles"in h.uninstallResult.uninstall&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:g("operation.filesRemoved",{count:h.uninstallResult.uninstall.removedFiles.length})}),"reload"in h.uninstallResult&&(0,n.jsx)(P,{agents:h.uninstallResult.reload.agents,skillId:h.uninstallResult.reload.skillId,version:h.uninstallResult.reload.version}),(0,n.jsx)(r.$n,{variant:"secondary",size:"sm",onClick:K,"data-testid":"skill-operation-reset",children:g("operation.startOver")})]})]})}},50666:(e,t,l)=>{l.d(t,{Ck:()=>r});var n=l(95155),s=l(12115),a=l(53482);function r(e){let{children:t,as:l="div",className:r=""}=e,i=function e(t){return null==t||"boolean"==typeof t?"":"string"==typeof t?t:"number"==typeof t?String(t):Array.isArray(t)?t.map(e).join(""):s.isValidElement(t)?e(t.props.children):""}(t);if(!i||0===i.trim().length)return(0,n.jsx)(l,{className:r||void 0,children:t});let o="relative group ".concat("span"===l?"block ":"").concat(r).trim();return(0,n.jsxs)(l,{className:o,"data-testid":"code-block-with-copy",children:[t,(0,n.jsx)(a.i,{text:i,className:"absolute right-2 top-2 z-10 opacity-100 md:opacity-0 md:group-hover:opacity-100 md:group-focus-within:opacity-100 focus:opacity-100"})]})}},50825:(e,t,l)=>{l.d(t,{m:()=>d});var n=l(95155);l(12115);var s=l(18955),a=l(54014),r=l(37381),i=l(95584);function o(e){let{axis:t,agentName:l}=e,a=(0,s.c)("skills");return(0,n.jsxs)("li",{className:"text-xs text-muted-foreground","data-testid":"skill-agent-axis-".concat(t.axis),children:[(0,n.jsx)("span",{className:"font-medium text-foreground",children:a((0,i.e5)(t.axisKey))}),": ",(0,n.jsx)("span",{"data-testid":"skill-agent-axis-".concat(t.axis,"-").concat(t.outcome),children:a((0,i.e5)(t.outcomeKey))})," — ",a((0,i.e5)(t.evidenceKindKey)),t.limitationKey&&(0,n.jsx)("span",{className:"mt-0.5 block","data-testid":"skill-agent-axis-".concat(t.axis,"-limitation"),children:a((0,i.e5)(t.limitationKey),{agent:l})})]})}function d(e){var t;let{agent:l,variant:d="full"}=e,c=(0,s.c)("skills"),u=(0,a.f_)(l.agent),x=l.measured;return"reload"===d?(0,n.jsx)("li",{className:"text-xs text-muted-foreground","data-testid":"skill-agent-reload-".concat(l.agent),children:c((0,i.e5)(l.reloadKey),{agent:u})}):(0,n.jsxs)("div",{className:"space-y-1","data-testid":"skill-agent-evidence-".concat(l.agent),children:[(0,n.jsx)("p",{className:"text-xs font-medium text-foreground",children:u}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground break-words",children:c("compatibility.declaredLabel",{support:c((0,i.e5)(l.declaredLabelKey))})}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground break-words",children:[c("compatibility.evidence"),": ",l.evidence]}),(0,n.jsx)("p",{className:"text-xs text-muted-foreground break-words","data-testid":"skill-agent-verification-".concat(l.agent),children:c((0,i.e5)(l.verificationKey))}),x?(0,n.jsxs)("div",{className:"space-y-0.5 border-l-2 border-border pl-2",children:[(0,n.jsx)("p",{className:"text-xs font-medium text-foreground",children:c("compatibility.measuredHeading")}),(0,n.jsxs)("ul",{className:"space-y-0.5",children:[(0,n.jsx)(o,{axis:x.discovery,agentName:u}),(0,n.jsx)(o,{axis:x.invocation,agentName:u})]}),x.testedVersion&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:c("compatibility.testedVersion",{agent:u,version:x.testedVersion})}),x.testedDate&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground",children:c("compatibility.testedDate",{date:x.testedDate})}),x.discoveryRoots.length>0&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground break-all",children:c("compatibility.discoveryRoots",{roots:x.discoveryRoots.join(", ")})}),x.evidenceSource&&(0,n.jsxs)("p",{className:"text-xs text-muted-foreground break-all",children:[c("compatibility.evidenceSource"),": ",x.evidenceSource]}),x.stale&&(0,n.jsx)(r.u,{tone:"warning","data-testid":"skill-agent-evidence-stale-".concat(l.agent),children:c("compatibility.evidenceStale",{days:null!=(t=x.ageDays)?t:0})})]}):l.skipReasonKey&&(0,n.jsx)("p",{className:"text-xs text-muted-foreground break-words","data-testid":"skill-agent-skip-reason-".concat(l.agent),children:c((0,i.e5)(l.skipReasonKey))}),(0,n.jsxs)("p",{className:"text-xs text-muted-foreground break-words",children:[(0,n.jsx)("span",{className:"font-medium text-foreground",children:c("compatibility.reloadHeading",{agent:u})}),": ",c((0,i.e5)(l.reloadKey),{agent:u})]})]})}},53482:(e,t,l)=>{l.d(t,{i:()=>d});var n=l(95155),s=l(12115),a=l(60322),r=l(9900);function i(){return(0,n.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}function o(){return(0,n.jsx)("svg",{className:"h-3.5 w-3.5",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,n.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}function d(e){let{text:t,className:l="",label:d="Copy"}=e,[c,u]=(0,s.useState)(!1),x=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{x.current&&clearTimeout(x.current)},[]);let m=(0,s.useCallback)(async()=>{try{await (0,a.l)(t),u(!0),x.current&&clearTimeout(x.current),x.current=setTimeout(()=>u(!1),r.s7)}catch(e){}},[t]);return(0,n.jsxs)("button",{type:"button",onClick:m,className:"inline-flex items-center gap-1 rounded border border-border bg-surface px-2 py-0.5 text-[11px] font-medium text-foreground transition-colors hover:bg-muted ".concat(l),"aria-label":c?"Copied":d,title:c?"Copied!":d,children:[c?(0,n.jsx)(o,{}):(0,n.jsx)(i,{}),(0,n.jsx)("span",{children:c?"Copied":d})]})}},60322:(e,t,l)=>{l.d(t,{l:()=>s});let n=/\x1b\[[0-9;]*[a-zA-Z]|\x1b\][^\x07]*\x07|\[[0-9;]*m/g;async function s(e){var t;if(!e||0===e.trim().length)return;let l=e.replace(n,"");if(null==(t=navigator.clipboard)?void 0:t.writeText)try{await navigator.clipboard.writeText(l);return}catch(e){}let s=document.createElement("textarea");s.value=l,s.style.position="fixed",s.style.left="-9999px",s.style.top="-9999px",s.style.opacity="0",document.body.appendChild(s),s.focus(),s.select();try{document.execCommand("copy")}finally{document.body.removeChild(s)}}},69352:(e,t,l)=>{l.d(t,{WU:()=>d,d3:()=>c,dj:()=>o,uO:()=>u});var n,s,a,r,i=l(9567);function o(e){return e.startsWith("#")?"anchor":e.startsWith("http://")||e.startsWith("https://")||e.startsWith("mailto:")||e.startsWith("tel:")?"external":"relative"}function d(e,t){if(!t)return null;let l=e.substring(0,e.lastIndexOf("/")+1);try{let e=new URL(l,"file:///"),n=new URL(t,e),s=decodeURIComponent(n.pathname);if(s.startsWith("/")){let e=s.substring(1);if(e.length>0)return e}}catch(e){}return null}function c(e){return!e||0===e.length||e.length>2048||/[\x00-\x1f\x7f]/.test(e)?null:e}let u={...i.j,attributes:{...i.j.attributes,a:[...(null!=(a=null==(n=i.j.attributes)?void 0:n.a)?a:[]).filter(e=>"href"!==e),["href",/^(?:#|mailto:|tel:|https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/]],img:[...(null!=(r=null==(s=i.j.attributes)?void 0:s.img)?r:[]).filter(e=>"src"!==e),["src",/^(?:https?:\/\/|(?![a-zA-Z][a-zA-Z0-9+.-]*:))/],"alt","width","height"]}}},74385:(e,t,l)=>{l.d(t,{I:()=>n,k:()=>s});let n="skill:installed";function s(e){window.dispatchEvent(new CustomEvent(n,{detail:{worktreeId:e}}))}},75333:(e,t,l)=>{l.d(t,{Xz:()=>d,qW:()=>c,uE:()=>u});var n=l(95155);l(12115);var s=l(18955),a=l(77801),r=l(28019),i=l(54014),o=l(95584);function d(e){let{status:t,className:l}=e,a=(0,s.c)("skills");return(0,n.jsx)(r.Ex,{variant:o.H$[t],className:l,"data-testid":"skill-compatibility-".concat(t),children:a(o.OV[t])})}function c(e){let{risk:t,className:l}=e,i=(0,s.c)("skills");return(0,n.jsxs)(r.Ex,{variant:o.eK[t],className:l,"data-testid":"skill-declared-risk-".concat(t),children:["high"===t&&(0,n.jsx)(a.A,{size:12,"aria-hidden":"true",className:"mr-1 shrink-0"}),i("risk.declaredLabel",{level:i(o.pP[t])})]})}function u(e){let{agent:t}=e,l=(0,s.c)("skills");return(0,n.jsxs)(r.Ex,{variant:o.Et[t.support],"data-testid":"skill-agent-".concat(t.agent,"-").concat(t.support),children:[(0,i.f_)(t.agent),": ",l((0,o.e5)(t.labelKey))]})}},76246:(e,t,l)=>{l.d(t,{o:()=>n});function n(e){return e?e.split("/").map(encodeURIComponent).join("/"):""}},99112:(e,t,l)=>{l.d(t,{eT:()=>d});var n=l(22133);let s=["**","__"],a=/^https?:\/\/./i;function r(e){return"object"==typeof e&&null!==e&&"string"==typeof e.type}function i(e,t){var l,n;let s=e.position;if(!s)return null;let a=null==(l=s.start)?void 0:l.offset,r=null==(n=s.end)?void 0:n.offset;return"number"!=typeof a||"number"!=typeof r||!Number.isInteger(a)||!Number.isInteger(r)||a<0||r<a||r>t.length?null:{start:a,end:r}}function o(e,t){var l;return{line:e.line,column:e.column+t,offset:(null!=(l=e.offset)?l:0)+t}}let d=Object.freeze([n.A,function(){return function(e,t){let l=function(e){if("string"==typeof e)return e;if("object"==typeof e&&null!==e){let t=e.value;if("string"==typeof t)return t}return null}(t);null!==l&&r(e)&&function e(t,l){let n=Array.isArray(t.children)?t:null;if(n)for(let t of(!function(e,t){let l=e.children;for(let e=0;e<l.length;e+=1){var n,d,c,u,x,m,p;let g=l[e];if(!r(g)||!function(e,t){if("link"!==e.type||null!==e.title&&void 0!==e.title)return!1;let l=e.url;if("string"!=typeof l||!a.test(l))return!1;let n=i(e,t);if(!n||t.slice(n.start,n.end)!==l)return!1;let s=e.children;if(!Array.isArray(s)||1!==s.length)return!1;let o=s[0];if(!r(o)||"text"!==o.type||o.value!==l)return!1;let d=i(o,t);return null!==d&&d.start===n.start&&d.end===n.end}(g,t))continue;let h=function(e){let t=function(e){for(let t=0;t<e.length;t+=1)if("()、。「」【】".includes(e[t]))return t;return -1}(e);if(t<=0)return null;let l=e.slice(0,t),n=s.find(e=>l.endsWith(e)),r=n?t-n.length:t;if(r<=0)return null;let i=e.slice(0,r);return a.test(i)?{keptUrl:i,tailText:e.slice(r),tailOffset:r,delimiter:null!=n?n:null}:null}(g.url);if(!h)continue;let f=i(g,t),k=null==(n=g.position)?void 0:n.start,j=null==(d=g.position)?void 0:d.end;if(!f||!k||!j)continue;let b=null!==h.delimiter&&function(e,t,l,n){if(!e||"text"!==e.type||"string"!=typeof e.value||!e.value.endsWith(t))return!1;let s=i(e,n);if(!s||s.end!==l)return!1;let a=n.slice(s.start,s.end);if(!a.endsWith(t))return!1;let r=a.length-t.length-1;return r<0||"\\"!==a[r]}(l[e-1],h.delimiter,f.start,t),y=b?h.tailText.slice(null!=(m=null==(c=h.delimiter)?void 0:c.length)?m:0):h.tailText,N=b?h.tailOffset+(null!=(p=null==(u=h.delimiter)?void 0:u.length)?p:0):h.tailOffset,v=o(k,h.keptUrl.length);g.url=h.keptUrl;let w=null==(x=g.children)?void 0:x[0];w&&(w.value=h.keptUrl,w.position={start:{...k},end:{...v}}),g.position={start:{...k},end:v};let R={type:"text",value:y,position:{start:o(k,N),end:{...j}}};if(b&&h.delimiter){let t=l[e-1],n=o(k,-h.delimiter.length),s={type:"strong",children:[g],position:{start:n,end:o(k,N)}},a=t.value.slice(0,-h.delimiter.length);0===a.length?(l.splice(e-1,1),e-=1):(t.value=a,t.position&&(t.position={...t.position,end:n})),l[e]=s}l.splice(e+1,0,R),e+=1}}(n,l),n.children))r(t)&&e(t,l)}(e,l)}}])},99648:(e,t,l)=>{l.d(t,{Co:()=>n,Ms:()=>a,td:()=>s});let n=".agents/skills",s=".claude/skills",a="skills.permissions.declarationOnlyNotice"}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2407],{52407:(e,t,n)=>{n.d(t,{Fx:()=>h,Rh:()=>b,_X:()=>c,fl:()=>s,nG:()=>d,sV:()=>o});var r=n(12115),u=n(60199);let l="/api/capabilities";function c(e){return"connected"===e.realtimeStatus||!0===e.serverReachable}function o(e){return!1===e.browserOnline||!1===e.serverReachable}let i=new Map;async function a(e,t){let n="function"==typeof AbortController?new AbortController:void 0,r=n?setTimeout(()=>n.abort(),t):void 0;try{return await fetch(e,{method:"GET",cache:"no-store",credentials:"same-origin",signal:null==n?void 0:n.signal}),!0}catch(e){return!1}finally{void 0!==r&&clearTimeout(r)}}function s(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:5e3;if("function"!=typeof fetch)return Promise.resolve(!1);let n=i.get(e);if(n)return n;let r=a(e,t).finally(()=>{i.delete(e)});return i.set(e,r),r}let f=new Set;function d(e){f.forEach(t=>{try{t(e)}catch(e){}})}function b(e){return f.add(e),()=>{f.delete(e)}}function h(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{probeUrl:t=l,probeDelayMs:n=1e3,probeIntervalMs:c=15e3,probeTimeoutMs:o=5e3,surfaceDelayMs:i=1500,probe:a=!0}=e,{status:f}=(0,u.xM)(),[d,h]=(0,r.useState)(!0),[v,y]=(0,r.useState)(null),[w,m]=(0,r.useState)(null),p=(0,r.useCallback)(e=>{y(t=>t===e?t:e),e&&m(Date.now())},[]);(0,r.useEffect)(()=>{if("undefined"==typeof navigator)return;h(!1!==navigator.onLine);let e=()=>{y(null),h(!0)},t=()=>h(!1);return window.addEventListener("online",e),window.addEventListener("offline",t),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",t)}},[]),(0,r.useEffect)(()=>{"connected"===f&&p(!0)},[f,p]),(0,r.useEffect)(()=>b(p),[p]);let g=(0,r.useMemo)(()=>({browserOnline:d,realtimeStatus:f,serverReachable:v}),[d,f,v]),S=g.browserOnline?"connected"===g.realtimeStatus?"online":!1===g.serverReachable?"offline":!0===g.serverReachable||"connecting"===g.realtimeStatus?"reconnecting":"offline":"offline",E="online"!==S,k=(0,r.useRef)({url:t,timeoutMs:o});k.current={url:t,timeoutMs:o};let C=a&&E&&d;(0,r.useEffect)(()=>{let e;if(!C||"function"!=typeof fetch)return;let t=!1,r=async()=>{let{url:n,timeoutMs:u}=k.current,l=await s(n,u);t||(p(l),e=setTimeout(r,c))};return e=setTimeout(r,n),()=>{t=!0,void 0!==e&&clearTimeout(e)}},[C,n,c,p]);let[R,T]=(0,r.useState)(!1);(0,r.useEffect)(()=>{if(!E)return void T(!1);if(i<=0)return void T(!0);let e=setTimeout(()=>T(!0),i);return()=>clearTimeout(e)},[E,i]);let M=(0,r.useCallback)(()=>{if("function"!=typeof fetch)return;let{url:e,timeoutMs:t}=k.current;s(e,t).then(p)},[p]);return(0,r.useMemo)(()=>({status:S,isOnline:"online"===S,isReconnecting:"reconnecting"===S,isOffline:"offline"===S,shouldSurface:E&&R,signals:g,lastReachableAt:w,recheck:M}),[S,E,R,g,w,M])}},52703:(e,t,n)=>{n.d(t,{Oo:()=>u,ST:()=>r,T4:()=>o,dz:()=>c,rz:()=>l,zS:()=>i});let r="client_version",u="version_mismatch",l="chat_turn_progress",c="messages_invalidated",o="model_changed";function i(e){let t;try{t=JSON.parse(e)}catch(e){return null}if(!t||"object"!=typeof t)return null;let n=t;if("broadcast"===n.type){let e=n.data;return e&&"object"==typeof e?"string"!=typeof e.type?null:(void 0===e.worktreeId&&"string"==typeof n.worktreeId&&(e.worktreeId=n.worktreeId),e):null}return"string"==typeof n.type?n:null}},60199:(e,t,n)=>{n.d(t,{tS:()=>s,xM:()=>f,T3:()=>d});var r=n(95155),u=n(12115),l=n(52703);function c(){return"undefined"!=typeof globalThis&&"function"==typeof globalThis.WebSocket?globalThis.WebSocket:null}let o=()=>{},i={status:"disconnected",connected:!1,subscribe:o,unsubscribe:o,addListener:()=>o},a=(0,u.createContext)(null);function s(e){let{children:t,enabled:n=!0}=e,o=(0,u.useRef)(new Set),i=(0,u.useRef)(new Map),{status:s,subscribe:f,unsubscribe:d}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{onEvent:t,onStatusChange:n,autoReconnect:r=!0,reconnectBaseDelay:o=1e3,reconnectMaxDelay:i=3e4,livenessTimeout:a=75e3,livenessCheckInterval:s=5e3,enabled:f=!0}=e,[d,b]=(0,u.useState)("disconnected"),h=(0,u.useRef)(null),v=(0,u.useRef)(null),y=(0,u.useRef)(0),w=(0,u.useRef)(new Set),m=(0,u.useRef)(!1),p=(0,u.useRef)(0),g=(0,u.useRef)(()=>{}),S=(0,u.useRef)(t);S.current=t;let E=(0,u.useRef)(n);E.current=n;let k=(0,u.useCallback)(e=>{var t;b(e),null==(t=E.current)||t.call(E,e)},[]),C=(0,u.useCallback)(()=>{null!==v.current&&(clearTimeout(v.current),v.current=null)},[]),R=(0,u.useCallback)(()=>{if(m.current||!r||"undefined"!=typeof document&&"hidden"===document.visibilityState)return;C();let e=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Math.random;return Math.max(0,Math.round(Math.min(t*2**Math.max(0,e),n)*(1+(2*r()-1)*.2)))}(y.current,o,i);y.current+=1,v.current=setTimeout(()=>{v.current=null,g.current()},e)},[r,o,i,C]),T=(0,u.useCallback)(()=>{if(!f)return;let e=c();if(!e||h.current&&(h.current.readyState===e.OPEN||h.current.readyState===e.CONNECTING))return;C(),m.current=!1,p.current=Date.now(),k("connecting");let t="https:"===window.location.protocol?"wss:":"ws:",n=new e("".concat(t,"//").concat(window.location.host));h.current=n,n.onopen=()=>{y.current=0,p.current=Date.now(),k("connected");try{n.send(JSON.stringify({type:l.ST,version:"0.35.0"}))}catch(e){}w.current.forEach(e=>{try{n.send(JSON.stringify({type:"subscribe",worktreeId:e}))}catch(e){}})},n.onmessage=e=>{var t;p.current=Date.now();let n="string"==typeof e.data?e.data:String(e.data),r=(0,l.zS)(n);r&&"heartbeat"!==r.type&&(null==(t=S.current)||t.call(S,r))},n.onerror=()=>{k("error")},n.onclose=()=>{h.current=null,k("disconnected"),R()}},[f,k,C,R]);g.current=T;let M=(0,u.useCallback)(()=>{let e=h.current;if(e){e.onopen=null,e.onmessage=null,e.onerror=null,e.onclose=null,h.current=null;try{e.close(4001,"half-open")}catch(e){}k("disconnected"),R()}},[k,R]),O=(0,u.useCallback)(()=>{if(C(),m.current=!0,h.current){try{h.current.close(1e3,"Client disconnect")}catch(e){}h.current=null}},[C]),N=(0,u.useCallback)(e=>{let t=h.current,n=c();if(t&&n&&t.readyState===n.OPEN)try{t.send(JSON.stringify(e))}catch(e){}},[]),_=(0,u.useCallback)(e=>{w.current.has(e)||(w.current.add(e),N({type:"subscribe",worktreeId:e}))},[N]),L=(0,u.useCallback)(e=>{w.current.has(e)&&(w.current.delete(e),N({type:"unsubscribe",worktreeId:e}))},[N]);return(0,u.useEffect)(()=>{if(f)return T(),()=>{O()}},[f,T,O]),(0,u.useEffect)(()=>{if(!f)return;let e=setInterval(()=>{let e=h.current,t=c();e&&t&&e.readyState===t.OPEN&&(Date.now()-p.current<a||M())},s);return()=>clearInterval(e)},[f,a,s,M]),(0,u.useEffect)(()=>{if(!f||"undefined"==typeof document)return;let e=()=>{"visible"===document.visibilityState&&(h.current||(y.current=0,T()))};return document.addEventListener("visibilitychange",e),()=>document.removeEventListener("visibilitychange",e)},[f,T]),(0,u.useEffect)(()=>{if(!f)return;let e=()=>{h.current||(y.current=0,T())};return window.addEventListener("online",e),()=>window.removeEventListener("online",e)},[f,T]),{status:d,subscribe:_,unsubscribe:L,send:N}}({enabled:n,onEvent:(0,u.useCallback)(e=>{o.current.forEach(t=>{try{t(e)}catch(e){}})},[])}),b=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;n.set(e,r+1),0===r&&f(e)},[f]),h=(0,u.useCallback)(e=>{var t;let n=i.current,r=null!=(t=n.get(e))?t:0;r<=1?(n.delete(e),d(e)):n.set(e,r-1)},[d]),v=(0,u.useCallback)(e=>(o.current.add(e),()=>{o.current.delete(e)}),[]),y=(0,u.useMemo)(()=>({status:s,connected:"connected"===s,subscribe:b,unsubscribe:h,addListener:v}),[s,b,h,v]);return(0,r.jsx)(a.Provider,{value:y,children:t})}function f(){var e;return null!=(e=(0,u.useContext)(a))?e:i}function d(e){let{addListener:t}=f(),n=(0,u.useRef)(e);n.current=e,(0,u.useEffect)(()=>t(e=>n.current(e)),[t])}}}]);