@brigade-dev/cli 0.1.1 → 0.1.3

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 (535) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-path-routes-manifest.json +21 -34
  3. package/.next/standalone/.next/build-manifest.json +3 -3
  4. package/.next/standalone/.next/prerender-manifest.json +3 -99
  5. package/.next/standalone/.next/required-server-files.json +3 -0
  6. package/.next/standalone/.next/routes-manifest.json +30 -122
  7. package/.next/standalone/.next/server/app/(board)/board/page.js +2 -3
  8. package/.next/standalone/.next/server/app/(board)/board/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(board)/board/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js +2 -2
  11. package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page.js.nft.json +1 -1
  12. package/.next/standalone/.next/server/app/(board)/r/[repoId]/board/page_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js +2 -2
  14. package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page.js.nft.json +1 -1
  15. package/.next/standalone/.next/server/app/(board)/r/[repoId]/task/[slug]/page_client-reference-manifest.js +1 -1
  16. package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js +2 -2
  17. package/.next/standalone/.next/server/app/(board)/task/[slug]/page.js.nft.json +1 -1
  18. package/.next/standalone/.next/server/app/(board)/task/[slug]/page_client-reference-manifest.js +1 -1
  19. package/.next/standalone/.next/server/app/(setup)/setup/page.js +3 -0
  20. package/.next/standalone/.next/server/app/(setup)/setup/page.js.nft.json +1 -0
  21. package/.next/standalone/.next/server/app/(setup)/setup/page_client-reference-manifest.js +1 -0
  22. package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  23. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  24. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  27. package/.next/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  28. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  29. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  30. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  31. package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
  32. package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  34. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  35. package/.next/standalone/.next/server/app/_not-found.rsc +6 -3
  36. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +6 -3
  37. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  39. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  40. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  41. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -2
  42. package/.next/standalone/.next/server/app/api/chat/poll/route.js +2 -2
  43. package/.next/standalone/.next/server/app/api/chat/poll/route_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app/api/chat/route.js +2 -3
  45. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/chat/route_client-reference-manifest.js +1 -1
  47. package/.next/standalone/.next/server/app/api/chat/session/route.js +2 -2
  48. package/.next/standalone/.next/server/app/api/chat/session/route_client-reference-manifest.js +1 -1
  49. package/.next/standalone/.next/server/app/api/chat/sessions/route.js +2 -2
  50. package/.next/standalone/.next/server/app/api/chat/sessions/route_client-reference-manifest.js +1 -1
  51. package/.next/standalone/.next/server/app/api/chat/stop/route.js +2 -2
  52. package/.next/standalone/.next/server/app/api/chat/stop/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/chat/stop/route_client-reference-manifest.js +1 -1
  54. package/.next/standalone/.next/server/app/api/providers/auth-status/route.js +2 -3
  55. package/.next/standalone/.next/server/app/api/providers/auth-status/route_client-reference-manifest.js +1 -1
  56. package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js +1 -1
  57. package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/repos/[repoId]/chat/[[...path]]/route_client-reference-manifest.js +1 -1
  59. package/.next/standalone/.next/server/app/api/repos/[repoId]/route.js +2 -2
  60. package/.next/standalone/.next/server/app/api/repos/[repoId]/route_client-reference-manifest.js +1 -1
  61. package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route.js +1 -0
  62. package/.next/standalone/.next/server/app/api/repos/[repoId]/{skills → settings}/[[...path]]/route.js.nft.json +1 -1
  63. package/.next/standalone/.next/server/app/api/repos/[repoId]/settings/[[...path]]/route_client-reference-manifest.js +1 -0
  64. package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js +1 -1
  65. package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route.js.nft.json +1 -1
  66. package/.next/standalone/.next/server/app/api/repos/[repoId]/tasks/[[...path]]/route_client-reference-manifest.js +1 -1
  67. package/.next/standalone/.next/server/app/api/repos/last-used/route.js +1 -1
  68. package/.next/standalone/.next/server/app/api/repos/last-used/route.js.nft.json +1 -1
  69. package/.next/standalone/.next/server/app/api/repos/last-used/route_client-reference-manifest.js +1 -1
  70. package/.next/standalone/.next/server/app/api/repos/pick-folder/route.js +2 -2
  71. package/.next/standalone/.next/server/app/api/repos/pick-folder/route_client-reference-manifest.js +1 -1
  72. package/.next/standalone/.next/server/app/api/repos/route.js +1 -1
  73. package/.next/standalone/.next/server/app/api/repos/route.js.nft.json +1 -1
  74. package/.next/standalone/.next/server/app/api/repos/route_client-reference-manifest.js +1 -1
  75. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js +1 -0
  76. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route.js.nft.json +1 -0
  77. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/reset/route_client-reference-manifest.js +1 -0
  78. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js +1 -2
  79. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route.js.nft.json +1 -1
  80. package/.next/standalone/.next/server/app/api/tasks/[slug]/chat/route_client-reference-manifest.js +1 -1
  81. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js +1 -1
  82. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route.js.nft.json +1 -1
  83. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-branch/route_client-reference-manifest.js +1 -1
  84. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js +3 -3
  85. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route.js.nft.json +1 -1
  86. package/.next/standalone/.next/server/app/api/tasks/[slug]/create-pr/route_client-reference-manifest.js +1 -1
  87. package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js +1 -2
  88. package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route.js.nft.json +1 -1
  89. package/.next/standalone/.next/server/app/api/tasks/[slug]/data/rename/route_client-reference-manifest.js +1 -1
  90. package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js +1 -0
  91. package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route.js.nft.json +1 -0
  92. package/.next/standalone/.next/server/app/api/tasks/[slug]/generate-commit-message/route_client-reference-manifest.js +1 -0
  93. package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js +1 -1
  94. package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route.js.nft.json +1 -1
  95. package/.next/standalone/.next/server/app/api/tasks/[slug]/git/route_client-reference-manifest.js +1 -1
  96. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/review/route_client-reference-manifest.js +1 -1
  97. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js +1 -1
  98. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route.js.nft.json +1 -1
  99. package/.next/standalone/.next/server/app/api/tasks/[slug]/handoff/route_client-reference-manifest.js +1 -1
  100. package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js +1 -1
  101. package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route.js.nft.json +1 -1
  102. package/.next/standalone/.next/server/app/api/tasks/[slug]/images/route_client-reference-manifest.js +1 -1
  103. package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js +1 -1
  104. package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route.js.nft.json +1 -1
  105. package/.next/standalone/.next/server/app/api/tasks/[slug]/improve-title/route_client-reference-manifest.js +1 -1
  106. package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js +1 -1
  107. package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route.js.nft.json +1 -1
  108. package/.next/standalone/.next/server/app/api/tasks/[slug]/merge-pr/route_client-reference-manifest.js +1 -1
  109. package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js +1 -1
  110. package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route.js.nft.json +1 -1
  111. package/.next/standalone/.next/server/app/api/tasks/[slug]/move/route_client-reference-manifest.js +1 -1
  112. package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js +1 -1
  113. package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route.js.nft.json +1 -1
  114. package/.next/standalone/.next/server/app/api/tasks/[slug]/pr-status/route_client-reference-manifest.js +1 -1
  115. package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js +1 -0
  116. package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route.js.nft.json +1 -0
  117. package/.next/standalone/.next/server/app/api/tasks/[slug]/question-options/route_client-reference-manifest.js +1 -0
  118. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js +6 -0
  119. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route.js.nft.json +1 -0
  120. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/launch/route_client-reference-manifest.js +1 -0
  121. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js +1 -1
  122. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route.js.nft.json +1 -1
  123. package/.next/standalone/.next/server/app/api/tasks/[slug]/resolve-conflicts/route_client-reference-manifest.js +1 -1
  124. package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js +2 -3
  125. package/.next/standalone/.next/server/app/api/tasks/[slug]/route.js.nft.json +1 -1
  126. package/.next/standalone/.next/server/app/api/tasks/[slug]/route_client-reference-manifest.js +1 -1
  127. package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js +2 -0
  128. package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route.js.nft.json +1 -0
  129. package/.next/standalone/.next/server/app/api/tasks/[slug]/status/route_client-reference-manifest.js +1 -0
  130. package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js +2 -0
  131. package/.next/standalone/.next/server/app/api/tasks/auto-move/route.js.nft.json +1 -0
  132. package/.next/standalone/.next/server/app/api/tasks/auto-move/route_client-reference-manifest.js +1 -0
  133. package/.next/standalone/.next/server/app/api/tasks/counts/route.js +1 -1
  134. package/.next/standalone/.next/server/app/api/tasks/counts/route.js.nft.json +1 -1
  135. package/.next/standalone/.next/server/app/api/tasks/counts/route_client-reference-manifest.js +1 -1
  136. package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js +1 -1
  137. package/.next/standalone/.next/server/app/api/tasks/pr-check/route.js.nft.json +1 -1
  138. package/.next/standalone/.next/server/app/api/tasks/pr-check/route_client-reference-manifest.js +1 -1
  139. package/.next/standalone/.next/server/app/api/tasks/route.js +2 -2
  140. package/.next/standalone/.next/server/app/api/tasks/route.js.nft.json +1 -1
  141. package/.next/standalone/.next/server/app/api/tasks/route_client-reference-manifest.js +1 -1
  142. package/.next/standalone/.next/server/app/api/test/reset/route.js +1 -1
  143. package/.next/standalone/.next/server/app/api/test/reset/route.js.nft.json +1 -1
  144. package/.next/standalone/.next/server/app/api/test/reset/route_client-reference-manifest.js +1 -1
  145. package/.next/standalone/.next/server/app/index.html +1 -1
  146. package/.next/standalone/.next/server/app/index.meta +2 -0
  147. package/.next/standalone/.next/server/app/index.rsc +16 -25
  148. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +5 -14
  149. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +16 -25
  150. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  151. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +3 -3
  152. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +5 -2
  153. package/.next/standalone/.next/server/app/page.js +2 -2
  154. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  155. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  156. package/.next/standalone/.next/server/app-paths-manifest.json +21 -34
  157. package/.next/standalone/.next/server/chunks/1132.js +1 -0
  158. package/.next/standalone/.next/server/chunks/1236.js +1 -1
  159. package/.next/standalone/.next/server/chunks/1546.js +5 -0
  160. package/.next/standalone/.next/server/chunks/1577.js +1 -0
  161. package/.next/standalone/.next/server/chunks/1597.js +63 -0
  162. package/.next/standalone/.next/server/chunks/2065.js +6 -0
  163. package/.next/standalone/.next/server/chunks/2196.js +1 -1
  164. package/.next/standalone/.next/server/chunks/2345.js +1 -0
  165. package/.next/standalone/.next/server/chunks/2353.js +1 -1
  166. package/.next/standalone/.next/server/chunks/3027.js +1 -0
  167. package/.next/standalone/.next/server/chunks/347.js +6 -0
  168. package/.next/standalone/.next/server/chunks/3544.js +24 -0
  169. package/.next/standalone/.next/server/chunks/3731.js +1 -1
  170. package/.next/standalone/.next/server/chunks/4178.js +14 -0
  171. package/.next/standalone/.next/server/chunks/432.js +1 -1
  172. package/.next/standalone/.next/server/chunks/471.js +1 -1
  173. package/.next/standalone/.next/server/chunks/4869.js +1 -1
  174. package/.next/standalone/.next/server/chunks/4919.js +1 -0
  175. package/.next/standalone/.next/server/chunks/5198.js +1 -0
  176. package/.next/standalone/.next/server/chunks/5250.js +1 -1
  177. package/.next/standalone/.next/server/chunks/5704.js +3 -0
  178. package/.next/standalone/.next/server/chunks/5722.js +1 -0
  179. package/.next/standalone/.next/server/chunks/6042.js +1 -1
  180. package/.next/standalone/.next/server/chunks/6802.js +20 -0
  181. package/.next/standalone/.next/server/chunks/722.js +1 -1
  182. package/.next/standalone/.next/server/chunks/746.js +1 -1
  183. package/.next/standalone/.next/server/chunks/7916.js +1 -1
  184. package/.next/standalone/.next/server/chunks/8031.js +1 -1
  185. package/.next/standalone/.next/server/chunks/8150.js +1 -0
  186. package/.next/standalone/.next/server/chunks/8241.js +1 -0
  187. package/.next/standalone/.next/server/chunks/829.js +1 -1
  188. package/.next/standalone/.next/server/chunks/838.js +1 -1
  189. package/.next/standalone/.next/server/chunks/8410.js +3 -3
  190. package/.next/standalone/.next/server/chunks/854.js +1 -1
  191. package/.next/standalone/.next/server/chunks/8825.js +3 -0
  192. package/.next/standalone/.next/server/chunks/9067.js +1 -1
  193. package/.next/standalone/.next/server/chunks/9661.js +1 -1
  194. package/.next/standalone/.next/server/chunks/9665.js +1 -1
  195. package/.next/standalone/.next/server/chunks/9898.js +11 -0
  196. package/.next/standalone/.next/server/chunks/9967.js +1 -0
  197. package/.next/standalone/.next/server/middleware-build-manifest.js +1 -1
  198. package/.next/standalone/.next/server/next-font-manifest.js +1 -1
  199. package/.next/standalone/.next/server/next-font-manifest.json +1 -1
  200. package/.next/standalone/.next/server/pages/404.html +1 -1
  201. package/.next/standalone/.next/server/pages/500.html +2 -2
  202. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  203. package/.next/standalone/.next/static/TEeaHQlTW3yW085fWMfjB/_buildManifest.js +1 -0
  204. package/.next/standalone/.next/static/chunks/124-3eae600925474bdc.js +1 -0
  205. package/.next/standalone/.next/static/chunks/1416-76d75f5cdc8064f0.js +5 -0
  206. package/.next/standalone/.next/static/chunks/1545-5c27c6645e47620e.js +1 -0
  207. package/.next/standalone/.next/static/chunks/1719-2c95eb5be7096fd4.js +1 -0
  208. package/.next/standalone/.next/static/chunks/{7486-de4a6f3ca66270e1.js → 3242-340ecc54abc559dc.js} +1 -1
  209. package/.next/standalone/.next/static/chunks/3604-402e83a193703dd5.js +3 -0
  210. package/.next/standalone/.next/static/chunks/4555-1cc0cadfd257b640.js +5 -0
  211. package/.next/standalone/.next/static/chunks/5083-da5fc913278c9ec9.js +24 -0
  212. package/.next/standalone/.next/static/chunks/7133-d829c710820740a0.js +1 -0
  213. package/.next/standalone/.next/static/chunks/878-6effc693527c06fd.js +1 -0
  214. package/.next/standalone/.next/static/chunks/9798-086c0452ca402b9c.js +1 -0
  215. package/.next/standalone/.next/static/chunks/app/(board)/board/page-d97d7979cfd5798f.js +1 -0
  216. package/.next/standalone/.next/static/chunks/app/(board)/layout-30f3ef2994aabf66.js +1 -0
  217. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-2a12cb83a038bfa4.js +1 -0
  218. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-94f90e6400c32897.js +1 -0
  219. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-c7b0b0a0327f6fce.js +1 -0
  220. package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-771b7f853905319b.js +1 -0
  221. package/.next/standalone/.next/static/chunks/app/(setup)/layout-7eb803c6eff71185.js +1 -0
  222. package/.next/standalone/.next/static/chunks/app/(setup)/setup/page-dccadc7f0cc15702.js +1 -0
  223. package/.next/standalone/.next/static/chunks/app/_global-error/page-7eb803c6eff71185.js +1 -0
  224. package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-7eb803c6eff71185.js +1 -0
  225. package/.next/standalone/.next/static/chunks/app/api/chat/route-7eb803c6eff71185.js +1 -0
  226. package/.next/standalone/.next/static/chunks/app/api/chat/session/route-7eb803c6eff71185.js +1 -0
  227. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-7eb803c6eff71185.js +1 -0
  228. package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-7eb803c6eff71185.js +1 -0
  229. package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-7eb803c6eff71185.js +1 -0
  230. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-7eb803c6eff71185.js +1 -0
  231. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-7eb803c6eff71185.js +1 -0
  232. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/settings/[[...path]]/route-7eb803c6eff71185.js +1 -0
  233. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-7eb803c6eff71185.js +1 -0
  234. package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-7eb803c6eff71185.js +1 -0
  235. package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-7eb803c6eff71185.js +1 -0
  236. package/.next/standalone/.next/static/chunks/app/api/repos/route-7eb803c6eff71185.js +1 -0
  237. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/reset/route-7eb803c6eff71185.js +1 -0
  238. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-7eb803c6eff71185.js +1 -0
  239. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-7eb803c6eff71185.js +1 -0
  240. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-7eb803c6eff71185.js +1 -0
  241. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-7eb803c6eff71185.js +1 -0
  242. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/generate-commit-message/route-7eb803c6eff71185.js +1 -0
  243. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-7eb803c6eff71185.js +1 -0
  244. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-7eb803c6eff71185.js +1 -0
  245. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-7eb803c6eff71185.js +1 -0
  246. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-7eb803c6eff71185.js +1 -0
  247. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-7eb803c6eff71185.js +1 -0
  248. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-7eb803c6eff71185.js +1 -0
  249. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-7eb803c6eff71185.js +1 -0
  250. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-7eb803c6eff71185.js +1 -0
  251. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/question-options/route-7eb803c6eff71185.js +1 -0
  252. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/launch/route-7eb803c6eff71185.js +1 -0
  253. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-7eb803c6eff71185.js +1 -0
  254. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-7eb803c6eff71185.js +1 -0
  255. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/status/route-7eb803c6eff71185.js +1 -0
  256. package/.next/standalone/.next/static/chunks/app/api/tasks/auto-move/route-7eb803c6eff71185.js +1 -0
  257. package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-7eb803c6eff71185.js +1 -0
  258. package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-7eb803c6eff71185.js +1 -0
  259. package/.next/standalone/.next/static/chunks/app/api/tasks/route-7eb803c6eff71185.js +1 -0
  260. package/.next/standalone/.next/static/chunks/app/api/test/reset/route-7eb803c6eff71185.js +1 -0
  261. package/.next/standalone/.next/static/chunks/app/layout-c38fc01326ac060a.js +1 -0
  262. package/.next/standalone/.next/static/chunks/app/page-7eb803c6eff71185.js +1 -0
  263. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-7eb803c6eff71185.js +1 -0
  264. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-7eb803c6eff71185.js +1 -0
  265. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-7eb803c6eff71185.js +1 -0
  266. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-7eb803c6eff71185.js +1 -0
  267. package/.next/standalone/.next/static/chunks/{webpack-9ba1537928a20f04.js → webpack-010bc8c5cfa5e600.js} +1 -1
  268. package/.next/standalone/.next/static/css/a0a0423b02496c0c.css +3 -0
  269. package/.next/standalone/.next/static/media/558ca1a6aa3cb55e-s.p.woff2 +0 -0
  270. package/.next/standalone/.next/static/media/636a5ac981f94f8b-s.p.woff2 +0 -0
  271. package/.next/standalone/.next/static/media/6fe53d21e6e7ebd8-s.woff2 +0 -0
  272. package/.next/standalone/.next/static/media/8ebc6e9dde468c4a-s.woff2 +0 -0
  273. package/.next/standalone/.next/static/media/9e7b0a821b9dfcb4-s.woff2 +0 -0
  274. package/.next/standalone/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  275. package/.next/standalone/node_modules/better-sqlite3/build/Release/better_sqlite3.node +0 -0
  276. package/.next/standalone/node_modules/better-sqlite3/lib/database.js +90 -0
  277. package/.next/standalone/node_modules/better-sqlite3/lib/index.js +3 -0
  278. package/.next/standalone/node_modules/better-sqlite3/lib/methods/aggregate.js +43 -0
  279. package/.next/standalone/node_modules/better-sqlite3/lib/methods/backup.js +67 -0
  280. package/.next/standalone/node_modules/better-sqlite3/lib/methods/function.js +31 -0
  281. package/.next/standalone/node_modules/better-sqlite3/lib/methods/inspect.js +7 -0
  282. package/.next/standalone/node_modules/better-sqlite3/lib/methods/pragma.js +12 -0
  283. package/.next/standalone/node_modules/better-sqlite3/lib/methods/serialize.js +16 -0
  284. package/.next/standalone/node_modules/better-sqlite3/lib/methods/table.js +189 -0
  285. package/.next/standalone/node_modules/better-sqlite3/lib/methods/transaction.js +78 -0
  286. package/.next/standalone/node_modules/better-sqlite3/lib/methods/wrappers.js +54 -0
  287. package/.next/standalone/node_modules/better-sqlite3/lib/sqlite-error.js +20 -0
  288. package/.next/standalone/node_modules/better-sqlite3/lib/util.js +12 -0
  289. package/.next/standalone/node_modules/better-sqlite3/package.json +59 -0
  290. package/.next/standalone/node_modules/bindings/bindings.js +221 -0
  291. package/.next/standalone/node_modules/bindings/package.json +28 -0
  292. package/.next/standalone/node_modules/buffer-from/index.js +72 -0
  293. package/.next/standalone/node_modules/buffer-from/package.json +19 -0
  294. package/.next/standalone/node_modules/file-uri-to-path/index.js +66 -0
  295. package/.next/standalone/node_modules/file-uri-to-path/package.json +32 -0
  296. package/.next/standalone/node_modules/source-map/lib/array-set.js +121 -0
  297. package/.next/standalone/node_modules/source-map/lib/base64-vlq.js +140 -0
  298. package/.next/standalone/node_modules/source-map/lib/base64.js +67 -0
  299. package/.next/standalone/node_modules/source-map/lib/binary-search.js +111 -0
  300. package/.next/standalone/node_modules/source-map/lib/mapping-list.js +79 -0
  301. package/.next/standalone/node_modules/source-map/lib/quick-sort.js +114 -0
  302. package/.next/standalone/node_modules/source-map/lib/source-map-consumer.js +1145 -0
  303. package/.next/standalone/node_modules/source-map/lib/source-map-generator.js +425 -0
  304. package/.next/standalone/node_modules/source-map/lib/source-node.js +413 -0
  305. package/.next/standalone/node_modules/source-map/lib/util.js +488 -0
  306. package/.next/standalone/node_modules/source-map/package.json +73 -0
  307. package/.next/standalone/node_modules/source-map/source-map.js +8 -0
  308. package/.next/standalone/node_modules/source-map-support/package.json +31 -0
  309. package/.next/standalone/node_modules/source-map-support/source-map-support.js +625 -0
  310. package/.next/standalone/package.json +11 -10
  311. package/.next/standalone/public/chat-display-preview.html +280 -0
  312. package/.next/standalone/public/claude-ai-symbol.svg +7 -0
  313. package/.next/standalone/public/previews/settings-before-after-preview.html +624 -0
  314. package/.next/standalone/server.js +1 -1
  315. package/bin/brigade.js +52 -17
  316. package/defaults/canon/skills/html-preview.md +14 -5
  317. package/defaults/canon/workflows/delivery.yaml +4 -4
  318. package/package.json +10 -9
  319. package/scripts/brigade-cli.mjs +1 -2
  320. package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js +0 -2
  321. package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page.js.nft.json +0 -1
  322. package/.next/standalone/.next/server/app/(settings)/settings/chefs/[slug]/page_client-reference-manifest.js +0 -1
  323. package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js +0 -2
  324. package/.next/standalone/.next/server/app/(settings)/settings/chefs/page.js.nft.json +0 -1
  325. package/.next/standalone/.next/server/app/(settings)/settings/chefs/page_client-reference-manifest.js +0 -1
  326. package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js +0 -2
  327. package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page.js.nft.json +0 -1
  328. package/.next/standalone/.next/server/app/(settings)/settings/skills/[id]/page_client-reference-manifest.js +0 -1
  329. package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js +0 -2
  330. package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page.js.nft.json +0 -1
  331. package/.next/standalone/.next/server/app/(settings)/settings/skills/new/page_client-reference-manifest.js +0 -1
  332. package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js +0 -2
  333. package/.next/standalone/.next/server/app/(settings)/settings/skills/page.js.nft.json +0 -1
  334. package/.next/standalone/.next/server/app/(settings)/settings/skills/page_client-reference-manifest.js +0 -1
  335. package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js +0 -2
  336. package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page.js.nft.json +0 -1
  337. package/.next/standalone/.next/server/app/(settings)/settings/workflows/[slug]/page_client-reference-manifest.js +0 -1
  338. package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js +0 -2
  339. package/.next/standalone/.next/server/app/(settings)/settings/workflows/page.js.nft.json +0 -1
  340. package/.next/standalone/.next/server/app/(settings)/settings/workflows/page_client-reference-manifest.js +0 -1
  341. package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js +0 -6
  342. package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route.js.nft.json +0 -1
  343. package/.next/standalone/.next/server/app/api/chefs/generate-prompt/route_client-reference-manifest.js +0 -1
  344. package/.next/standalone/.next/server/app/api/chefs/route.js +0 -4
  345. package/.next/standalone/.next/server/app/api/chefs/route.js.nft.json +0 -1
  346. package/.next/standalone/.next/server/app/api/chefs/route_client-reference-manifest.js +0 -1
  347. package/.next/standalone/.next/server/app/api/chefs/skills/route.js +0 -4
  348. package/.next/standalone/.next/server/app/api/chefs/skills/route.js.nft.json +0 -1
  349. package/.next/standalone/.next/server/app/api/chefs/skills/route_client-reference-manifest.js +0 -1
  350. package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js +0 -1
  351. package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route.js.nft.json +0 -1
  352. package/.next/standalone/.next/server/app/api/repos/[repoId]/chefs/[[...path]]/route_client-reference-manifest.js +0 -1
  353. package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route.js +0 -1
  354. package/.next/standalone/.next/server/app/api/repos/[repoId]/skills/[[...path]]/route_client-reference-manifest.js +0 -1
  355. package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js +0 -1
  356. package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route.js.nft.json +0 -1
  357. package/.next/standalone/.next/server/app/api/repos/[repoId]/workflows/[[...path]]/route_client-reference-manifest.js +0 -1
  358. package/.next/standalone/.next/server/app/api/skills/route.js +0 -4
  359. package/.next/standalone/.next/server/app/api/skills/route.js.nft.json +0 -1
  360. package/.next/standalone/.next/server/app/api/skills/route_client-reference-manifest.js +0 -1
  361. package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js +0 -2
  362. package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route.js.nft.json +0 -1
  363. package/.next/standalone/.next/server/app/api/tasks/[slug]/chef-status/route_client-reference-manifest.js +0 -1
  364. package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js +0 -2
  365. package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route.js.nft.json +0 -1
  366. package/.next/standalone/.next/server/app/api/tasks/[slug]/deliver/route_client-reference-manifest.js +0 -1
  367. package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js +0 -3
  368. package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route.js.nft.json +0 -1
  369. package/.next/standalone/.next/server/app/api/tasks/[slug]/launch-chef/route_client-reference-manifest.js +0 -1
  370. package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js +0 -2
  371. package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route.js.nft.json +0 -1
  372. package/.next/standalone/.next/server/app/api/tasks/[slug]/thread-state/route_client-reference-manifest.js +0 -1
  373. package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js +0 -2
  374. package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route.js.nft.json +0 -1
  375. package/.next/standalone/.next/server/app/api/tasks/[slug]/workflow-state/route_client-reference-manifest.js +0 -1
  376. package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js +0 -4
  377. package/.next/standalone/.next/server/app/api/workflows/[slug]/route.js.nft.json +0 -1
  378. package/.next/standalone/.next/server/app/api/workflows/[slug]/route_client-reference-manifest.js +0 -1
  379. package/.next/standalone/.next/server/app/api/workflows/route.js +0 -4
  380. package/.next/standalone/.next/server/app/api/workflows/route.js.nft.json +0 -1
  381. package/.next/standalone/.next/server/app/api/workflows/route_client-reference-manifest.js +0 -1
  382. package/.next/standalone/.next/server/app/settings/chefs.html +0 -1
  383. package/.next/standalone/.next/server/app/settings/chefs.meta +0 -17
  384. package/.next/standalone/.next/server/app/settings/chefs.rsc +0 -22
  385. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs/__PAGE__.segment.rsc +0 -9
  386. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings/chefs.segment.rsc +0 -4
  387. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  388. package/.next/standalone/.next/server/app/settings/chefs.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  389. package/.next/standalone/.next/server/app/settings/chefs.segments/_full.segment.rsc +0 -22
  390. package/.next/standalone/.next/server/app/settings/chefs.segments/_head.segment.rsc +0 -6
  391. package/.next/standalone/.next/server/app/settings/chefs.segments/_index.segment.rsc +0 -6
  392. package/.next/standalone/.next/server/app/settings/chefs.segments/_tree.segment.rsc +0 -2
  393. package/.next/standalone/.next/server/app/settings/skills/new.html +0 -1
  394. package/.next/standalone/.next/server/app/settings/skills/new.meta +0 -18
  395. package/.next/standalone/.next/server/app/settings/skills/new.rsc +0 -22
  396. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new/__PAGE__.segment.rsc +0 -9
  397. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills/new.segment.rsc +0 -4
  398. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
  399. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  400. package/.next/standalone/.next/server/app/settings/skills/new.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  401. package/.next/standalone/.next/server/app/settings/skills/new.segments/_full.segment.rsc +0 -22
  402. package/.next/standalone/.next/server/app/settings/skills/new.segments/_head.segment.rsc +0 -6
  403. package/.next/standalone/.next/server/app/settings/skills/new.segments/_index.segment.rsc +0 -6
  404. package/.next/standalone/.next/server/app/settings/skills/new.segments/_tree.segment.rsc +0 -2
  405. package/.next/standalone/.next/server/app/settings/skills.html +0 -1
  406. package/.next/standalone/.next/server/app/settings/skills.meta +0 -17
  407. package/.next/standalone/.next/server/app/settings/skills.rsc +0 -22
  408. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills/__PAGE__.segment.rsc +0 -9
  409. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings/skills.segment.rsc +0 -4
  410. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  411. package/.next/standalone/.next/server/app/settings/skills.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  412. package/.next/standalone/.next/server/app/settings/skills.segments/_full.segment.rsc +0 -22
  413. package/.next/standalone/.next/server/app/settings/skills.segments/_head.segment.rsc +0 -6
  414. package/.next/standalone/.next/server/app/settings/skills.segments/_index.segment.rsc +0 -6
  415. package/.next/standalone/.next/server/app/settings/skills.segments/_tree.segment.rsc +0 -2
  416. package/.next/standalone/.next/server/app/settings/workflows.html +0 -1
  417. package/.next/standalone/.next/server/app/settings/workflows.meta +0 -17
  418. package/.next/standalone/.next/server/app/settings/workflows.rsc +0 -22
  419. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows/__PAGE__.segment.rsc +0 -9
  420. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings/workflows.segment.rsc +0 -4
  421. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ/settings.segment.rsc +0 -4
  422. package/.next/standalone/.next/server/app/settings/workflows.segments/!KHNldHRpbmdzKQ.segment.rsc +0 -7
  423. package/.next/standalone/.next/server/app/settings/workflows.segments/_full.segment.rsc +0 -22
  424. package/.next/standalone/.next/server/app/settings/workflows.segments/_head.segment.rsc +0 -6
  425. package/.next/standalone/.next/server/app/settings/workflows.segments/_index.segment.rsc +0 -6
  426. package/.next/standalone/.next/server/app/settings/workflows.segments/_tree.segment.rsc +0 -2
  427. package/.next/standalone/.next/server/chunks/1787.js +0 -24
  428. package/.next/standalone/.next/server/chunks/2362.js +0 -25
  429. package/.next/standalone/.next/server/chunks/2753.js +0 -1
  430. package/.next/standalone/.next/server/chunks/3514.js +0 -1
  431. package/.next/standalone/.next/server/chunks/426.js +0 -1
  432. package/.next/standalone/.next/server/chunks/4318.js +0 -8
  433. package/.next/standalone/.next/server/chunks/4648.js +0 -1
  434. package/.next/standalone/.next/server/chunks/4702.js +0 -3
  435. package/.next/standalone/.next/server/chunks/4782.js +0 -1
  436. package/.next/standalone/.next/server/chunks/4992.js +0 -1
  437. package/.next/standalone/.next/server/chunks/5049.js +0 -1
  438. package/.next/standalone/.next/server/chunks/57.js +0 -3
  439. package/.next/standalone/.next/server/chunks/6016.js +0 -3
  440. package/.next/standalone/.next/server/chunks/6365.js +0 -10
  441. package/.next/standalone/.next/server/chunks/6578.js +0 -3
  442. package/.next/standalone/.next/server/chunks/6701.js +0 -1
  443. package/.next/standalone/.next/server/chunks/682.js +0 -1
  444. package/.next/standalone/.next/server/chunks/7389.js +0 -6
  445. package/.next/standalone/.next/server/chunks/7450.js +0 -18
  446. package/.next/standalone/.next/server/chunks/7494.js +0 -1
  447. package/.next/standalone/.next/server/chunks/7612.js +0 -3
  448. package/.next/standalone/.next/server/chunks/7805.js +0 -1
  449. package/.next/standalone/.next/server/chunks/8647.js +0 -1
  450. package/.next/standalone/.next/server/chunks/8787.js +0 -3
  451. package/.next/standalone/.next/server/chunks/8944.js +0 -3
  452. package/.next/standalone/.next/server/chunks/9091.js +0 -5
  453. package/.next/standalone/.next/server/chunks/9341.js +0 -1
  454. package/.next/standalone/.next/server/chunks/9366.js +0 -6
  455. package/.next/standalone/.next/server/chunks/9916.js +0 -1
  456. package/.next/standalone/.next/static/DXjnbExUDH6VWFcQAZm5W/_buildManifest.js +0 -1
  457. package/.next/standalone/.next/static/chunks/1890-6f39e9026bcfd6ff.js +0 -5
  458. package/.next/standalone/.next/static/chunks/194-1e49965b7f56d9d1.js +0 -1
  459. package/.next/standalone/.next/static/chunks/217-234cf87de775e747.js +0 -1
  460. package/.next/standalone/.next/static/chunks/2913-3767f8657ed3b76d.js +0 -24
  461. package/.next/standalone/.next/static/chunks/3562-66874394248003c3.js +0 -1
  462. package/.next/standalone/.next/static/chunks/3920-91b01322891d6f93.js +0 -1
  463. package/.next/standalone/.next/static/chunks/4044-8ec32d6e4ca64a61.js +0 -1
  464. package/.next/standalone/.next/static/chunks/5828-69f930daa6fef786.js +0 -1
  465. package/.next/standalone/.next/static/chunks/6127-c90ca9f67766c0e0.js +0 -1
  466. package/.next/standalone/.next/static/chunks/8463-4de0b380dc8aee57.js +0 -1
  467. package/.next/standalone/.next/static/chunks/8472-5b02197c80e9bdcb.js +0 -6
  468. package/.next/standalone/.next/static/chunks/app/(board)/board/page-852d9068b15f8902.js +0 -1
  469. package/.next/standalone/.next/static/chunks/app/(board)/layout-ffd25294d91093a4.js +0 -1
  470. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/board/page-98c59eea481cd922.js +0 -1
  471. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/layout-5fe097966f75f673.js +0 -1
  472. package/.next/standalone/.next/static/chunks/app/(board)/r/[repoId]/task/[slug]/page-ff943b86544a3563.js +0 -1
  473. package/.next/standalone/.next/static/chunks/app/(board)/task/[slug]/page-178443b61977aaff.js +0 -1
  474. package/.next/standalone/.next/static/chunks/app/(settings)/layout-8e0a4c83ff4c037a.js +0 -1
  475. package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/[slug]/page-8c0475cf40538e82.js +0 -1
  476. package/.next/standalone/.next/static/chunks/app/(settings)/settings/chefs/page-2615f814b43b999a.js +0 -1
  477. package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/[id]/page-c9d74b8769efd959.js +0 -1
  478. package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/new/page-6c7a49f73211880f.js +0 -1
  479. package/.next/standalone/.next/static/chunks/app/(settings)/settings/skills/page-3effcb21d7c832b1.js +0 -1
  480. package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/[slug]/page-ec8c8dd16a2b43bb.js +0 -1
  481. package/.next/standalone/.next/static/chunks/app/(settings)/settings/workflows/page-09495b17157fb69b.js +0 -1
  482. package/.next/standalone/.next/static/chunks/app/_global-error/page-00d08e7d87413cf2.js +0 -1
  483. package/.next/standalone/.next/static/chunks/app/api/chat/poll/route-00d08e7d87413cf2.js +0 -1
  484. package/.next/standalone/.next/static/chunks/app/api/chat/route-00d08e7d87413cf2.js +0 -1
  485. package/.next/standalone/.next/static/chunks/app/api/chat/session/route-00d08e7d87413cf2.js +0 -1
  486. package/.next/standalone/.next/static/chunks/app/api/chat/sessions/route-00d08e7d87413cf2.js +0 -1
  487. package/.next/standalone/.next/static/chunks/app/api/chat/stop/route-00d08e7d87413cf2.js +0 -1
  488. package/.next/standalone/.next/static/chunks/app/api/chefs/generate-prompt/route-00d08e7d87413cf2.js +0 -1
  489. package/.next/standalone/.next/static/chunks/app/api/chefs/route-00d08e7d87413cf2.js +0 -1
  490. package/.next/standalone/.next/static/chunks/app/api/chefs/skills/route-00d08e7d87413cf2.js +0 -1
  491. package/.next/standalone/.next/static/chunks/app/api/providers/auth-status/route-00d08e7d87413cf2.js +0 -1
  492. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chat/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  493. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/chefs/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  494. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/route-00d08e7d87413cf2.js +0 -1
  495. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/skills/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  496. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/tasks/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  497. package/.next/standalone/.next/static/chunks/app/api/repos/[repoId]/workflows/[[...path]]/route-00d08e7d87413cf2.js +0 -1
  498. package/.next/standalone/.next/static/chunks/app/api/repos/last-used/route-00d08e7d87413cf2.js +0 -1
  499. package/.next/standalone/.next/static/chunks/app/api/repos/pick-folder/route-00d08e7d87413cf2.js +0 -1
  500. package/.next/standalone/.next/static/chunks/app/api/repos/route-00d08e7d87413cf2.js +0 -1
  501. package/.next/standalone/.next/static/chunks/app/api/skills/route-00d08e7d87413cf2.js +0 -1
  502. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chat/route-00d08e7d87413cf2.js +0 -1
  503. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/chef-status/route-00d08e7d87413cf2.js +0 -1
  504. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-branch/route-00d08e7d87413cf2.js +0 -1
  505. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/create-pr/route-00d08e7d87413cf2.js +0 -1
  506. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/data/rename/route-00d08e7d87413cf2.js +0 -1
  507. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/deliver/route-00d08e7d87413cf2.js +0 -1
  508. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/git/route-00d08e7d87413cf2.js +0 -1
  509. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/review/route-00d08e7d87413cf2.js +0 -1
  510. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/handoff/route-00d08e7d87413cf2.js +0 -1
  511. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/images/route-00d08e7d87413cf2.js +0 -1
  512. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/improve-title/route-00d08e7d87413cf2.js +0 -1
  513. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/launch-chef/route-00d08e7d87413cf2.js +0 -1
  514. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/merge-pr/route-00d08e7d87413cf2.js +0 -1
  515. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/move/route-00d08e7d87413cf2.js +0 -1
  516. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/pr-status/route-00d08e7d87413cf2.js +0 -1
  517. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/resolve-conflicts/route-00d08e7d87413cf2.js +0 -1
  518. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/route-00d08e7d87413cf2.js +0 -1
  519. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/thread-state/route-00d08e7d87413cf2.js +0 -1
  520. package/.next/standalone/.next/static/chunks/app/api/tasks/[slug]/workflow-state/route-00d08e7d87413cf2.js +0 -1
  521. package/.next/standalone/.next/static/chunks/app/api/tasks/counts/route-00d08e7d87413cf2.js +0 -1
  522. package/.next/standalone/.next/static/chunks/app/api/tasks/pr-check/route-00d08e7d87413cf2.js +0 -1
  523. package/.next/standalone/.next/static/chunks/app/api/tasks/route-00d08e7d87413cf2.js +0 -1
  524. package/.next/standalone/.next/static/chunks/app/api/test/reset/route-00d08e7d87413cf2.js +0 -1
  525. package/.next/standalone/.next/static/chunks/app/api/workflows/[slug]/route-00d08e7d87413cf2.js +0 -1
  526. package/.next/standalone/.next/static/chunks/app/api/workflows/route-00d08e7d87413cf2.js +0 -1
  527. package/.next/standalone/.next/static/chunks/app/layout-33746f763b269468.js +0 -1
  528. package/.next/standalone/.next/static/chunks/app/page-94d1cf482dc9d766.js +0 -1
  529. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/app-error-00d08e7d87413cf2.js +0 -1
  530. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/forbidden-00d08e7d87413cf2.js +0 -1
  531. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/not-found-00d08e7d87413cf2.js +0 -1
  532. package/.next/standalone/.next/static/chunks/next/dist/client/components/builtin/unauthorized-00d08e7d87413cf2.js +0 -1
  533. package/.next/standalone/.next/static/css/aaeb369038c2ce63.css +0 -3
  534. package/scripts/migrate-chef-naming.mjs +0 -281
  535. /package/.next/standalone/.next/static/{DXjnbExUDH6VWFcQAZm5W → TEeaHQlTW3yW085fWMfjB}/_ssgManifest.js +0 -0
@@ -1,24 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2913],{2913:(e,t,s)=>{s.r(t),s.d(t,{default:()=>ts});var r=s(5155),n=s(3321),a=s(2115),l=s(4621),i=s(8426),o=s(7890);let c=(0,s(7206).default)(()=>Promise.all([s.e(161),s.e(232)]).then(s.bind(s,7851)).then(e=>({default:e.CodeBlock})),{loadableGenerated:{webpack:()=>[7851]},ssr:!1});var d=s(5537),u=s(6998),m=s(8528),p=s(3181),x=s(2763);function h({html:e}){let[t,s]=(0,a.useState)(!1),[n,l]=(0,a.useState)(!1),[i,o]=(0,a.useState)(150),[h,f]=(0,a.useState)(!1),g=(0,a.useId)(),b=(0,a.useMemo)(()=>{let t;return t=e.replace(/<script[\s\S]*?<\/script>/gi,""),`<!DOCTYPE html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1">
6
- <style>
7
- *, *::before, *::after { box-sizing: border-box; }
8
- body { margin: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
9
- </style>
10
- </head>
11
- <body>
12
- ${t}
13
- <script>
14
- function notifyHeight() {
15
- var h = document.documentElement.scrollHeight;
16
- window.parent.postMessage({ type: 'html-preview-resize', id: '${g}', height: h }, '*');
17
- }
18
- window.addEventListener('load', notifyHeight);
19
- new ResizeObserver(notifyHeight).observe(document.body);
20
- </script>
21
- </body>
22
- </html>`},[e,g]);return((0,a.useEffect)(()=>{let e=e=>{if(e.data?.type==="html-preview-resize"&&e.data?.id===g){let t=Math.max(150,Math.round(e.data.height));o(Math.min(t,400)),f(t>400)}};return window.addEventListener("message",e),()=>window.removeEventListener("message",e)},[g]),e.trim())?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"group relative my-2 cursor-pointer overflow-hidden rounded-lg border bg-background transition-colors hover:border-primary",style:{maxHeight:400},onClick:()=>s(!0),children:[(0,r.jsx)("div",{className:"absolute left-2 top-1.5 z-10 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground backdrop-blur-sm",children:"Preview"}),(0,r.jsxs)("div",{className:"absolute bottom-2 right-2 z-10 flex items-center gap-1 rounded bg-background/80 px-1.5 py-0.5 text-[10px] font-medium text-muted-foreground opacity-0 backdrop-blur-sm transition-opacity group-hover:opacity-100",children:[(0,r.jsx)(d.A,{className:"size-3"}),"Click to expand"]}),h&&(0,r.jsx)("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 z-[5] h-12 bg-gradient-to-t from-background/80 to-transparent"}),(0,r.jsx)("iframe",{srcDoc:b,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full border-0",style:{height:i,pointerEvents:"none"}})]}),(0,r.jsx)(x.lG,{open:t,onOpenChange:s,children:(0,r.jsxs)(x.Cf,{className:"sm:max-w-[90vw] h-[80vh] p-4 flex flex-col overflow-hidden",children:[(0,r.jsx)(x.L3,{className:"sr-only",children:"HTML Preview"}),(0,r.jsx)("iframe",{srcDoc:b,sandbox:"allow-scripts",title:"HTML Preview",className:"w-full rounded border-0 flex-1 min-h-0"}),(0,r.jsxs)("div",{className:"flex shrink-0 cursor-pointer items-center gap-1.5 text-xs text-muted-foreground hover:text-foreground transition-colors",onClick:()=>l(!n),children:[n?(0,r.jsx)(u.A,{className:"size-3"}):(0,r.jsx)(m.A,{className:"size-3"}),(0,r.jsx)(p.A,{className:"size-3"}),(0,r.jsx)("span",{children:n?"Hide code":"Show code"})]}),n&&(0,r.jsx)("div",{className:"min-h-0 max-h-[35vh] overflow-auto shrink-0 rounded-md",children:(0,r.jsx)(c,{code:e,language:"html",variant:"light"})})]})})]}):(0,r.jsx)(c,{code:e,language:"html",variant:"light"})}function f({content:e,slug:t}){let s={code({className:e,children:t,...s}){let n=/language-([\w-]+)/.exec(e||""),a=String(t).replace(/\n$/,"");return n&&"html-preview"===n[1]?(0,r.jsx)(h,{html:a}):n?(0,r.jsx)(c,{code:a,language:n[1],variant:"light"}):(0,r.jsx)("code",{className:e,...s,children:t})},pre:({children:e})=>(0,r.jsx)(r.Fragment,{children:e}),...t?{img:({src:e,alt:s,...n})=>{let a="string"==typeof e?e:void 0,l=!a||a.startsWith("http")||a.startsWith("/")?a:`/api/tasks/${t}/images?name=${encodeURIComponent(a)}`;return(0,r.jsx)("img",{src:l,alt:s||"",className:"max-w-full rounded-md",...n})}}:{}};return(0,r.jsx)("div",{className:"prose prose-sm max-w-none overflow-x-hidden prose-headings:text-foreground prose-p:text-foreground prose-li:text-foreground prose-strong:text-foreground prose-code:rounded prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:text-sm prose-code:font-normal prose-code:before:content-none prose-code:after:content-none prose-pre:bg-muted prose-pre:text-foreground prose-a:text-primary",children:(0,r.jsx)(i.oz,{remarkPlugins:[o.A],components:s,children:e})})}var g=s(9239);function b({content:e,error:t,saving:s,onSave:n,onCancel:l}){let[i,o]=(0,a.useState)(e),c=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(c.current){let e=c.current.value.length;c.current.setSelectionRange(e,e)}},[]);let d=(0,a.useCallback)(t=>{"s"===t.key&&(t.metaKey||t.ctrlKey)&&(t.preventDefault(),n(i)),"Escape"===t.key&&(t.preventDefault(),t.stopPropagation(),(i===e||window.confirm("You have unsaved changes. Discard?"))&&l())},[i,e,n,l]);return(0,r.jsxs)("div",{className:"flex min-h-[400px] flex-col gap-2",children:[(0,r.jsx)("textarea",{ref:c,className:"flex-1 resize-none rounded-md border bg-transparent p-3 font-mono text-sm outline-none focus:ring-2 focus:ring-ring",value:i,onChange:e=>o(e.target.value),onKeyDown:d,spellCheck:!1,autoFocus:!0}),t&&(0,r.jsx)("p",{className:"text-sm text-red-600",children:t}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",size:"sm",onClick:l,children:"Cancel"}),(0,r.jsx)(g.$,{size:"sm",onClick:()=>n(i),disabled:s,children:s?"Saving…":"Save"})]})]})}var j=s(8990),y=s(8599);function v({className:e,children:t,...s}){return(0,r.jsxs)(j.bL,{"data-slot":"scroll-area",className:(0,y.cn)("relative",e),...s,children:[(0,r.jsx)(j.LM,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] outline-none transition-[color,box-shadow] focus-visible:outline-1 focus-visible:ring-[3px] focus-visible:ring-ring/50",children:t}),(0,r.jsx)(N,{}),(0,r.jsx)(j.OK,{})]})}function N({className:e,orientation:t="vertical",...s}){return(0,r.jsx)(j.VM,{"data-slot":"scroll-area-scrollbar",orientation:t,className:(0,y.cn)("flex touch-none select-none p-px transition-colors","vertical"===t&&"h-full w-2.5 border-l border-l-transparent","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent",e),...s,children:(0,r.jsx)(j.lr,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-full bg-border"})})}function w({title:e,count:t,defaultOpen:s=!1,onToggleAll:n,toggleAllLabel:l,children:i}){let[o,c]=(0,a.useState)(s);return(0,r.jsxs)("div",{className:"rounded border bg-muted/30",children:[(0,r.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5 overflow-hidden px-3 py-2",onClick:()=>c(!o),children:[o?(0,r.jsx)(u.A,{className:"size-3.5 text-muted-foreground"}):(0,r.jsx)(m.A,{className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("span",{className:"text-sm font-medium",children:e}),(0,r.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",t,")"]}),n&&t>0&&(0,r.jsx)("button",{className:"ml-auto shrink-0 text-xs text-primary underline hover:text-primary/80 cursor-pointer",onClick:e=>{e.stopPropagation(),n()},children:l??"Toggle all"})]}),o&&(0,r.jsx)("div",{className:"overflow-hidden border-t px-3 py-2",children:i})]})}var k=s(2609),C=s(9304),S=s(4374);function A(e){return e.startsWith("diff --git")?"font-bold text-foreground bg-muted/50 pt-3 mt-2":e.startsWith("@@")?"text-blue-600 font-semibold bg-blue-500/10":e.startsWith("+")&&!e.startsWith("+++")?"bg-green-500/10 text-green-800":e.startsWith("-")&&!e.startsWith("---")?"bg-red-500/10 text-red-800":""}function z({diff:e,truncated:t,totalLines:s,maxHeight:n="400px"}){if(!e)return(0,r.jsx)("div",{className:"flex items-center justify-center py-4 text-xs text-muted-foreground",children:"No changes"});let a=function(e){let t=e.split("\n"),s=[],r=null;for(let e of t){let t=e.match(/^diff --git a\/(.+?) b\/(.+)$/);t?(r&&s.push(r),r={filePath:t[2],lines:[e]}):r&&r.lines.push(e)}return r&&s.push(r),s}(e),l=a.length>0;return(0,r.jsx)(v,{style:{maxHeight:n},children:(0,r.jsxs)("div",{className:"font-mono text-[11px] leading-relaxed",children:[l?a.map((e,t)=>(0,r.jsx)("div",{children:e.lines.map((e,s)=>(0,r.jsx)("div",{className:`px-2 py-px whitespace-pre ${A(e)}`,children:e||"\xa0"},`${t}-${s}`))},t)):e.split("\n").map((e,t)=>(0,r.jsx)("div",{className:`px-2 py-px whitespace-pre ${A(e)}`,children:e||"\xa0"},t)),t&&(0,r.jsxs)("div",{className:"mt-2 px-2 py-1.5 rounded bg-amber-500/10 border border-amber-500/20 text-amber-800 text-xs",children:["Diff truncated — showing first 5,000 of"," ",s?.toLocaleString()," lines"]})]})})}let $={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},"?":{label:"?",color:"text-gray-500"},C:{label:"C",color:"text-purple-500"},U:{label:"U",color:"text-yellow-600"}};function I({status:e,path:t,checked:s,onToggle:n,slug:l,staged:i}){let o=$[e]||{label:e,color:"text-muted-foreground"},[c,d]=(0,a.useState)(!1),[p,x]=(0,a.useState)(null),[h,f]=(0,a.useState)(!1),[g,b]=(0,a.useState)(!1),[j,y]=(0,a.useState)(0),v=!!l&&"?"!==e,N=async e=>{if(e.stopPropagation(),v){if(c)return void d(!1);if(d(!0),null===p){f(!0);try{let e=await fetch(`/api/tasks/${l}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-file",file:t,staged:i})}),s=await e.json();x(s.diff||""),b(s.truncated||!1),y(s.totalLines||0)}catch{x("")}finally{f(!1)}}}};return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex min-w-0 items-center gap-2 rounded px-1 py-0.5 text-xs",children:[(0,r.jsx)("div",{className:"flex cursor-pointer items-center",onClick:n,children:s?(0,r.jsx)(k.A,{className:"size-4 shrink-0 text-primary"}):(0,r.jsx)(C.A,{className:"size-4 shrink-0 text-muted-foreground/50"})}),(0,r.jsxs)("div",{className:`flex min-w-0 flex-1 items-center gap-2 rounded px-1 py-0.5 ${v?"cursor-pointer hover:bg-muted/50":""}`,onClick:v?N:void 0,children:[v&&(c?(0,r.jsx)(u.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,r.jsx)("span",{className:`shrink-0 font-mono font-bold ${o.color}`,children:o.label}),(0,r.jsx)("span",{className:"truncate font-mono text-foreground/80",children:t})]})]}),c&&(0,r.jsx)("div",{className:"ml-6 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:h?(0,r.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,r.jsx)(S.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,r.jsx)(z,{diff:p||"",truncated:g,totalLines:j,maxHeight:"300px"})})]})}let E={M:{label:"M",color:"text-orange-500"},A:{label:"A",color:"text-green-600"},D:{label:"D",color:"text-red-600"},R:{label:"R",color:"text-blue-500"},C:{label:"C",color:"text-purple-500"}};function T({hash:e,author:t,relativeTime:s,message:n,files:l,slug:i}){let[o,c]=(0,a.useState)(!1),[d,p]=(0,a.useState)({}),[x,h]=(0,a.useState)(null),[f,g]=(0,a.useState)(null),b=async t=>{if(f===t)return void g(null);if((g(t),!d[t])&&i){h(t);try{let s=await fetch(`/api/tasks/${i}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-commit",hash:e,file:t})}),r=await s.json();p(e=>({...e,[t]:{diff:r.diff||"",truncated:r.truncated||!1,totalLines:r.totalLines||0}}))}catch{p(e=>({...e,[t]:{diff:"",truncated:!1,totalLines:0}}))}finally{h(null)}}};return(0,r.jsxs)("div",{className:"rounded border bg-muted/20",children:[(0,r.jsxs)("div",{className:"flex cursor-pointer items-center gap-2 px-3 py-2",onClick:()=>c(!o),children:[o?(0,r.jsx)(u.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"}),(0,r.jsx)("span",{className:"min-w-0 truncate text-sm",children:n}),(0,r.jsx)("span",{className:"ml-auto shrink-0 font-mono text-[10px] text-muted-foreground",children:e})]}),o&&(0,r.jsxs)("div",{className:"border-t px-3 py-2",children:[(0,r.jsxs)("div",{className:"text-xs text-muted-foreground",children:[(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{className:"mx-1.5",children:"\xb7"}),(0,r.jsx)("span",{children:s})]}),l&&l.length>0&&(0,r.jsx)("div",{className:"mt-2 flex flex-col gap-0.5",children:l.map((e,t)=>{let s=E[e.status]||{label:e.status,color:"text-muted-foreground"},n=f===e.path,a=!!i;return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:`flex min-w-0 items-center gap-2 text-xs rounded px-1 py-0.5 ${a?"cursor-pointer hover:bg-muted/50":""}`,onClick:a?()=>b(e.path):void 0,children:[a&&(n?(0,r.jsx)(u.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"})),(0,r.jsx)("span",{className:`shrink-0 font-mono font-bold ${s.color}`,children:s.label}),(0,r.jsx)("span",{className:"truncate font-mono text-foreground/70",children:e.path})]}),n&&(0,r.jsx)("div",{className:"ml-5 mt-1 mb-2 rounded border bg-muted/10 overflow-hidden",children:x===e.path?(0,r.jsx)("div",{className:"flex items-center justify-center py-4",children:(0,r.jsx)(S.A,{className:"size-3.5 animate-spin text-muted-foreground"})}):(0,r.jsx)(z,{diff:d[e.path]?.diff||"",truncated:d[e.path]?.truncated,totalLines:d[e.path]?.totalLines,maxHeight:"300px"})})]},t)})})]})]})}var R=s(8146),O=s(828),P=s(5413),L=s(1679),D=s(872);function F({slug:e,onBranchCreated:t}){let[s,n]=(0,a.useState)(null),[l,i]=(0,a.useState)(!0),[o,c]=(0,a.useState)(!1),[d,u]=(0,a.useState)(!1),[m,p]=(0,a.useState)(null),[x,h]=(0,a.useState)(""),[f,b]=(0,a.useState)(!1),[j,y]=(0,a.useState)(!1),[N,k]=(0,a.useState)(null),[C,A]=(0,a.useState)(!1),[$,E]=(0,a.useState)(!1),[F,U]=(0,a.useState)(0),_=(0,a.useCallback)(async()=>{i(!0),p(null);try{let t=await fetch(`/api/tasks/${e}/git`),s=await t.json();"No branch associated with this task"===s.error?(c(!0),n(null)):s.error?(p(s.error),n(null)):(c(!1),n(s))}catch{p("Failed to fetch git status")}finally{i(!1)}},[e]);(0,a.useEffect)(()=>{_()},[_]);let M=async()=>{u(!0),p(null);try{let s=await fetch(`/api/tasks/${e}/create-branch`,{method:"POST"}),r=await s.json();r.error?p(r.error):(c(!1),t?.(),await _())}catch{p("Failed to create workspace")}finally{u(!1)}},W=async(t,s)=>{if(0!==t.length)try{await fetch(`/api/tasks/${e}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:s?"unstage":"stage",files:t.map(e=>e.path)})}),await _()}catch{p("Failed to update staging")}},B=async(t,s)=>{try{await fetch(`/api/tasks/${e}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:s?"unstage":"stage",files:[t]})}),await _()}catch{p("Failed to update staging")}},J=async()=>{if(x.trim()&&s?.staged.length){b(!0),p(null);try{let t=await fetch(`/api/tasks/${e}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"commit",message:x})}),s=await t.json();s.error?p(s.error):(h(""),await _())}catch{p("Failed to commit")}finally{b(!1)}}},Y=async()=>{if(j)return void y(!1);if(y(!0),null===N){A(!0);try{let t=await fetch(`/api/tasks/${e}/git`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"diff-branch"})}),s=await t.json();k(s.diff||""),E(s.truncated||!1),U(s.totalLines||0)}catch{k("")}finally{A(!1)}}},G=s?.staged.length??0;return(0,r.jsxs)("div",{className:"flex h-full flex-col",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between border-b px-3 py-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:"Git"}),s?.branch&&(0,r.jsx)("span",{className:"rounded bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground",children:s.branch}),s?.worktree&&(0,r.jsxs)("span",{className:"rounded bg-green-50 px-1.5 py-0.5 text-[10px] font-medium text-green-700",title:s.worktree,children:[(0,r.jsx)(R.A,{className:"mr-0.5 inline size-3"}),s.worktree.split("/").pop()]})]}),(0,r.jsx)(D.Y6,{label:"Refresh",children:(0,r.jsx)(g.$,{variant:"ghost",size:"icon",onClick:_,className:"size-7",disabled:l,children:l?(0,r.jsx)(S.A,{className:"size-3.5 animate-spin"}):(0,r.jsx)(O.A,{className:"size-3.5"})})})]}),(0,r.jsx)(v,{className:"flex-1 min-h-0",children:(0,r.jsxs)("div",{className:"flex w-0 min-w-full flex-col gap-3 overflow-hidden p-3",children:[l&&!s&&!o&&(0,r.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,r.jsx)(S.A,{className:"size-4 animate-spin"})}),m&&(0,r.jsx)("div",{className:"rounded border border-red-200 bg-red-50 px-3 py-2 text-xs text-red-700",children:m}),o&&!l&&(0,r.jsxs)("div",{className:"flex flex-col items-center gap-3 py-8 text-center",children:[(0,r.jsx)(R.A,{className:"size-8 text-muted-foreground/50"}),(0,r.jsxs)("div",{children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"No workspace yet"}),(0,r.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Create an isolated workspace so chefs can work on this task without conflicts."})]}),(0,r.jsxs)(g.$,{size:"sm",onClick:M,disabled:d,className:"gap-1.5",children:[d?(0,r.jsx)(S.A,{className:"size-3.5 animate-spin"}):(0,r.jsx)(R.A,{className:"size-3.5"}),"Create Workspace"]})]}),s&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(w,{title:"Staged",count:s.staged.length,defaultOpen:s.staged.length>0,onToggleAll:()=>W(s.staged,!0),toggleAllLabel:"Unstage all",children:0===s.staged.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"No staged files"}):s.staged.map((t,s)=>(0,r.jsx)(I,{status:t.status,path:t.path,checked:!0,onToggle:()=>B(t.path,!0),slug:e,staged:!0},s))}),(0,r.jsx)(w,{title:"Unstaged",count:s.unstaged.length,defaultOpen:s.unstaged.length>0,onToggleAll:()=>W(s.unstaged,!1),toggleAllLabel:"Stage all",children:0===s.unstaged.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"No unstaged files"}):s.unstaged.map((t,s)=>(0,r.jsx)(I,{status:t.status,path:t.path,checked:!1,onToggle:()=>B(t.path,!1),slug:e,staged:!1},s))}),(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"mb-2 flex items-center gap-1.5",children:[(0,r.jsx)(P.A,{className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("h3",{className:"text-sm font-medium",children:"Commits"})]}),0===s.commits.length?(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"No commits on this branch yet"}):(0,r.jsx)("div",{className:"flex flex-col gap-1.5",children:s.commits.map(t=>(0,r.jsx)(T,{...t,slug:e},t.hash))})]}),s.commits.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)(g.$,{variant:"outline",size:"sm",onClick:Y,className:"w-full gap-1.5 cursor-pointer",children:[(0,r.jsx)(L.A,{className:"size-3.5"}),j?"Hide all changes":"View all changes vs main"]}),j&&(0,r.jsx)("div",{className:"mt-2 rounded border bg-muted/10 overflow-hidden",children:C?(0,r.jsx)("div",{className:"flex items-center justify-center py-6",children:(0,r.jsx)(S.A,{className:"size-4 animate-spin text-muted-foreground"})}):(0,r.jsx)(z,{diff:N||"",truncated:$,totalLines:F,maxHeight:"500px"})})]})]})]})}),s&&(0,r.jsxs)("div",{className:"border-t px-3 py-2",children:[(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("input",{type:"text",className:"flex-1 rounded border bg-background px-2.5 py-1.5 text-sm placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring",placeholder:"Commit message...",value:x,onChange:e=>h(e.target.value),onKeyDown:e=>{"Enter"===e.key&&e.metaKey&&J()}}),(0,r.jsx)(g.$,{size:"sm",onClick:J,disabled:f||!x.trim()||0===G,children:f?(0,r.jsx)(S.A,{className:"size-3.5 animate-spin"}):"Commit"})]}),(0,r.jsxs)("p",{className:"mt-1 text-[10px] text-muted-foreground",children:[G," file",1!==G?"s":""," staged",G>0&&" \xb7 ⌘↵ to commit"]})]})]})}var U=s(1597),_=s(9683);function M({chef:e,onBack:t,onSaved:s,onDeleted:n}){let l=!!e,[i,o]=(0,a.useState)(e?.name??""),[c,d]=(0,a.useState)(e?.prompt??""),[u,m]=(0,a.useState)(e?.skills??[]),[p,x]=(0,a.useState)([]),[h,f]=(0,a.useState)(!1),[b,j]=(0,a.useState)(!1),[v,N]=(0,a.useState)(null),[w,k]=(0,a.useState)(null),[C,A]=(0,a.useState)(!1);(0,a.useEffect)(()=>{fetch("/api/chefs/skills").then(e=>e.json()).then(e=>x(e)).catch(()=>{})},[]);let z=!!i.trim();async function $(){f(!0),k(null),N(null);try{let t={name:i.trim(),description:e?.description??"",mode:"chat",prompt:c||void 0,skills:u.length>0?u:void 0};if(l){let r=await fetch("/api/chefs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e.slug,...t})});if(r.ok){let e=await r.json();s(e),N("Saved"),setTimeout(()=>N(null),2e3)}else{let e=await r.json();k(e.error||"Failed to save")}}else{let e=await fetch("/api/chefs",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await e.json();e.ok?(s(r),N("Created"),setTimeout(()=>N(null),2e3)):k(r.error||"Failed to create")}}finally{f(!1)}}async function I(){f(!0);try{(await fetch("/api/chefs",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e.slug})})).ok&&n?.()}finally{f(!1),A(!1)}}async function E(){j(!0),k(null);try{let t=await fetch("/api/chefs/generate-prompt",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:i.trim(),description:e?.description??""})}),s=await t.json();t.ok&&s.prompt?d(s.prompt):k(s.error||"Failed to generate prompt")}catch{k("Failed to generate prompt")}finally{j(!1)}}return(0,r.jsxs)("div",{className:"flex h-full flex-col",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 border-b px-4 py-2.5",children:[(0,r.jsx)(D.Y6,{label:"Back to chefs",children:(0,r.jsx)(g.$,{variant:"ghost",size:"icon",onClick:t,children:(0,r.jsx)(U.A,{className:"size-4"})})}),(0,r.jsx)("span",{className:"flex-1 text-sm font-medium",children:l?e.name:"New Chef"}),l&&(C?(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(g.$,{variant:"destructive",size:"sm",onClick:I,disabled:h,children:"Confirm"}),(0,r.jsx)(g.$,{variant:"ghost",size:"sm",onClick:()=>A(!1),children:"Cancel"})]}):(0,r.jsx)(g.$,{variant:"ghost",size:"sm",className:"text-destructive hover:text-destructive",onClick:()=>A(!0),children:"Delete"}))]}),(0,r.jsxs)("div",{className:"flex-1 overflow-auto p-4 space-y-4",children:[(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("label",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Name"}),(0,r.jsx)("input",{type:"text",className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50",value:i,onChange:e=>o(e.target.value),placeholder:"e.g. Debug Production"})]}),(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[(0,r.jsx)("label",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"System Prompt"}),(0,r.jsx)(D.Y6,{label:"Generate a prompt from the name and description",children:(0,r.jsxs)(g.$,{variant:"ghost",size:"sm",className:"h-6 gap-1 text-xs",onClick:E,disabled:b||!i.trim(),children:[b?(0,r.jsx)(S.A,{className:"size-3 animate-spin"}):(0,r.jsx)(_.A,{className:"size-3"}),"Generate"]})})]}),(0,r.jsx)("textarea",{className:"w-full rounded-md border bg-muted/30 p-3 font-mono text-xs leading-relaxed focus:outline-none focus:ring-1 focus:ring-ring resize-y",rows:12,value:c,onChange:e=>d(e.target.value),placeholder:"System prompt for the chef..."})]}),p.length>0&&(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("label",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Skills"}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground",children:"Slash commands available to this chef"}),(0,r.jsx)("div",{className:"flex flex-wrap gap-1.5",children:p.map(e=>(0,r.jsx)("button",{onClick:()=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},className:(0,y.cn)("rounded-full px-2.5 py-0.5 text-xs font-medium transition-colors cursor-pointer",u.includes(e)?"bg-primary text-primary-foreground":"bg-muted text-muted-foreground hover:bg-muted/80"),children:e},e))})]}),w&&(0,r.jsx)("p",{className:"text-xs text-destructive",children:w})]}),(0,r.jsxs)("div",{className:"flex items-center gap-2 border-t px-4 py-3",children:[(0,r.jsx)(g.$,{size:"sm",onClick:$,disabled:!z||h,children:h?"Saving...":l?"Save":"Create"}),v&&(0,r.jsx)("span",{className:"text-xs text-green-600",children:v})]})]})}var W=s(2270);let B=[/oauth token has expired/i,/token has expired/i,/expired.*token/i,/authentication_error/i,/failed to authenticate/i,/please obtain a new token/i],J=[/model is not supported/i,/not supported when using codex with a chatgpt account/i];function Y(e){let t,s=e.trim(),r=((t=s.match(/\{[\s\S]*"(?:message|detail)"\s*:\s*"([^"]+)"[\s\S]*\}/))?t[1]:null)??s;return/internal server error/i.test(r)?{message:"The AI service hit a temporary issue. You can try sending your message again.",details:s}:/overloaded/i.test(r)?{message:"The AI service is currently overloaded. Please wait a moment and try again.",details:s}:/rate limit/i.test(r)?{message:"Too many requests. Please wait a moment and try again.",details:s}:J.some(e=>e.test(r))?{message:"This Codex model is not available for the current account. Select another model (for example GPT-5-Codex/Sonnet) and try again.",details:s}:B.some(e=>e.test(r))?{message:"Authentication expired. Re-authenticate the CLI (`claude auth login` for Sonnet/Opus, `codex login` for Codex) and try again.",details:s}:/authentication|unauthorized|invalid.*key/i.test(r)?{message:"There was an authentication problem with the AI service.",details:s}:/chat request failed/i.test(r)?{message:"Couldn't reach the AI service. Check your connection and try again.",details:s}:{message:r}}let G=new Set;function H(e){if("string"!=typeof e)return null;let t=e.trim();return!t||t.startsWith("pending-")?null:t}var q=s(4061),K=s(8884),Q=s(9392),V=s(4380),Z=s(2515),X=s(9056),ee=s(9664),et=s(3647),es=s(257),er=s(1436),en=s(8541),ea=s(3774),el=s(9702),ei=s(6336);function eo(e){try{let t=JSON.parse(e);return{code:JSON.stringify(t,null,2),language:"json"}}catch{return{code:e,language:"text"}}}function ec(e){let t=e.split("/").filter(Boolean);return t.length<=2?e:t.slice(-2).join("/")}let ed={Bash:Q.A,Read:V.A,Edit:Z.A,Write:X.A,Grep:ee.A,Glob:et.A,WebFetch:es.A,WebSearch:es.A,Task:er.A,TodoWrite:en.A,NotebookEdit:ea.A},eu={borderRadius:"0.25rem",padding:"0.375rem",fontFamily:'"JetBrains Mono", monospace',maxHeight:"8rem",overflow:"auto"};function em({toolCall:e,isStreaming:t}){let[s,n]=(0,a.useState)(!1),l=ed[e.name]??el.A,i=!!e.output,o=!i&&!!t,{text:d,code:p}=function(e,t){let s=function(e){try{let t=JSON.parse(e);return"object"==typeof t&&null!==t?t:null}catch{return null}}(t);switch(e){case"Read":{let e=s?.file_path;return e?{text:"Read",code:ec(e)}:{text:"Read file"}}case"Edit":{let e=s?.file_path;return e?{text:"Edit",code:ec(e)}:{text:"Edit file"}}case"Write":{let e=s?.file_path;return e?{text:"Write",code:ec(e)}:{text:"Write file"}}case"Bash":{let e=s?.command;if(!e)return{text:"Run command"};return{text:"Run",code:e.length>60?e.slice(0,57)+"...":e}}case"Grep":{let e=s?.pattern,t=s?.path;if(!e)return{text:"Search files"};let r=t?` in ${ec(t)}`:"";return{text:"Search for",code:`${e}${r}`}}case"Glob":{let e=s?.pattern;return e?{text:"Find files",code:e}:{text:"Find files"}}case"WebFetch":{let e=s?.url;if(!e)return{text:"Fetch URL"};try{return{text:"Fetch",code:new URL(e).hostname}}catch{return{text:"Fetch URL"}}}case"WebSearch":{let e=s?.query;return e?{text:"Search web for",code:e}:{text:"Search the web"}}case"Task":{let e=s?.description;return e?{text:"Launch chef:",code:e}:{text:"Launch sub-chef"}}case"TodoWrite":return{text:"Update task list"};case"NotebookEdit":return{text:"Edit notebook"};default:return{text:e}}}(e.name,e.input);return(0,r.jsxs)("div",{className:`rounded-md border text-xs ${s?"bg-muted/30":"bg-muted/50"}`,children:[(0,r.jsxs)("div",{className:"flex cursor-pointer items-center gap-1.5 px-2 py-1.5 hover:bg-accent/50 rounded-md transition-colors",onClick:()=>n(!s),children:[o?(0,r.jsx)(S.A,{className:"size-3.5 shrink-0 animate-spin text-amber-500"}):i?(0,r.jsx)("div",{className:"flex size-3.5 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground",children:(0,r.jsx)(ei.A,{className:"size-2.5",strokeWidth:3})}):(0,r.jsx)("div",{className:"size-3.5 shrink-0 rounded-full border border-muted-foreground/30"}),(0,r.jsx)(l,{className:"size-3 shrink-0 text-muted-foreground"}),(0,r.jsxs)("span",{className:"flex-1 truncate text-foreground",children:[d,p&&(0,r.jsxs)(r.Fragment,{children:[" ",(0,r.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px] text-muted-foreground",children:p})]})]}),s?(0,r.jsx)(u.A,{className:"size-3 shrink-0 text-muted-foreground"}):(0,r.jsx)(m.A,{className:"size-3 shrink-0 text-muted-foreground"})]}),s&&(0,r.jsxs)("div",{className:"border-t px-2 py-1.5 space-y-1.5",children:[e.input&&(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Input"}),(()=>{let{code:t,language:s}=eo(e.input);return(0,r.jsx)(c,{code:t,language:s,variant:"dark",wrapLongLines:!0,customStyle:{...eu,marginTop:"0.25rem"}})})()]}),e.output&&(0,r.jsxs)("div",{children:[(0,r.jsx)("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Output"}),(()=>{let{code:t,language:s}=eo(e.output);return(0,r.jsx)(c,{code:t,language:s,variant:"dark",wrapLongLines:!0,customStyle:{...eu,marginTop:"0.25rem"}})})()]}),o&&!e.output&&(0,r.jsxs)("div",{className:"flex items-center gap-1.5 py-1 text-[11px] text-amber-600",children:[(0,r.jsx)(S.A,{className:"size-3 animate-spin"}),(0,r.jsx)("span",{children:"Running..."})]})]})]})}var ep=s(2773),ex=s(9266);function eh({questions:e,onAnswer:t,isAnswered:s}){let[n,l]=(0,a.useState)({}),[i,o]=(0,a.useState)({}),[c,d]=(0,a.useState)({}),[u,m]=(0,a.useState)(!1),p=s||u||!t,x=1===e.length&&!e[0].multiSelect,h=(0,a.useCallback)(()=>{let t=e.map((t,s)=>{let r=n[s]||[],a=c[s]?.trim(),l=[...r];if(a&&l.push(a),1===e.length)return l.join(", ");let i=t.header||`Q${s+1}`;return`${i}: ${l.join(", ")}`});return 1===e.length?t[0]:t.join("\n")},[e,n,c]),f=e=>{if(p)return;let s=c[e]?.trim();s&&x&&(m(!0),t?.(s))},g=!x||Object.values(i).some(Boolean);return(0,r.jsxs)("div",{className:(0,y.cn)("rounded-lg border p-4 space-y-4",p?"border-muted bg-muted/30 opacity-60":"border-primary/20 bg-primary/5"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-primary",children:[(0,r.jsx)(ep.A,{className:"size-4"}),(0,r.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Question"})]}),e.map((s,a)=>(0,r.jsxs)("div",{className:"space-y-2",children:[s.header&&(0,r.jsx)("span",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:s.header}),(0,r.jsx)("p",{className:"text-sm font-medium",children:s.question}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-2",children:[s.options.map(s=>{let o=(n[a]||[]).includes(s.label);return(0,r.jsxs)("button",{onClick:()=>{var r;return r=s.label,void(p||(e[a].multiSelect?l(e=>{let t=e[a]||[],s=t.includes(r)?t.filter(e=>e!==r):[...t,r];return{...e,[a]:s}}):(l(e=>({...e,[a]:[r]})),x&&!i[a]&&(m(!0),t?.(r)))))},disabled:p,className:(0,y.cn)("rounded-lg border bg-background px-3 py-2 text-left transition-colors",p?"cursor-default":"cursor-pointer hover:bg-primary/10",o&&"bg-primary text-primary-foreground border-primary"),children:[(0,r.jsx)("span",{className:"text-sm font-medium",children:s.label}),s.description&&(0,r.jsx)("span",{className:(0,y.cn)("block text-xs mt-0.5",o?"text-primary-foreground/70":"text-muted-foreground"),children:s.description})]},s.label)}),!p&&(0,r.jsx)("button",{onClick:()=>o(e=>({...e,[a]:!e[a]})),className:(0,y.cn)("rounded-lg border border-dashed bg-background px-3 py-2 text-sm cursor-pointer hover:bg-primary/10 transition-colors",i[a]&&"border-primary bg-primary/5"),children:"Other…"})]}),i[a]&&!p&&(0,r.jsxs)("div",{className:"flex gap-2 mt-1",children:[(0,r.jsx)("input",{type:"text",placeholder:"Type your answer…",value:c[a]||"",onChange:e=>d(t=>({...t,[a]:e.target.value})),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),f(a))},className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring"}),x&&(0,r.jsx)("button",{onClick:()=>f(a),disabled:!c[a]?.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default",children:(0,r.jsx)(ex.A,{className:"size-3.5"})})]})]},a)),g&&!p&&(0,r.jsx)("button",{onClick:()=>{if(p)return;let e=h();e&&(m(!0),t?.(e))},disabled:Object.values(n).every(e=>0===e.length)&&Object.values(c).every(e=>!e?.trim()),className:"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default hover:bg-primary/90 transition-colors",children:"Submit"})]})}var ef=s(8723);function eg({onAnswer:e,isAnswered:t}){let[s,n]=(0,a.useState)(!1),[l,i]=(0,a.useState)(!1),[o,c]=(0,a.useState)(""),d=t||s||!e,u=()=>{!d&&o.trim()&&(n(!0),e?.(o.trim()))};return(0,r.jsxs)("div",{className:(0,y.cn)("rounded-lg border p-4 space-y-3",d?"border-muted bg-muted/30 opacity-60":"border-yellow-500/20 bg-yellow-500/5"),children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 text-yellow-600",children:[(0,r.jsx)(ef.A,{className:"size-4"}),(0,r.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",children:"Plan ready for review"})]}),(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:"The chef has prepared a plan and is waiting for your approval to proceed."}),!l&&(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("button",{onClick:()=>{d||(n(!0),e?.("Approved — go ahead"))},disabled:d,className:(0,y.cn)("rounded-md px-4 py-2 text-sm font-medium transition-colors",d?"bg-muted text-muted-foreground cursor-default":"bg-green-600 text-white cursor-pointer hover:bg-green-700"),children:"Approve & proceed"}),(0,r.jsx)("button",{onClick:()=>{d||i(!0)},disabled:d,className:(0,y.cn)("rounded-md border px-4 py-2 text-sm font-medium transition-colors",d?"cursor-default":"cursor-pointer hover:bg-primary/10"),children:"Request changes"})]}),l&&!d&&(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)("input",{type:"text",placeholder:"Describe what to change…",value:o,onChange:e=>c(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),u())},autoFocus:!0,className:"flex-1 rounded-md border px-3 py-1.5 text-sm bg-background outline-none focus:ring-2 focus:ring-ring"}),(0,r.jsx)("button",{onClick:u,disabled:!o.trim(),className:"rounded-md bg-primary px-3 py-1.5 text-sm text-primary-foreground cursor-pointer disabled:opacity-50 disabled:cursor-default",children:(0,r.jsx)(ex.A,{className:"size-3.5"})})]})]})}let eb={detected:!1,questionText:"",suggestedOptions:[]},ej=[{pattern:/shall i proceed\??$/i,options:["Yes, go ahead","No, hold on"]},{pattern:/would you like me to\b.*\??$/i,options:["Yes, please","No, not yet"]},{pattern:/do you want\b.*\??$/i,options:["Yes","No"]},{pattern:/want me to\b.*\??$/i,options:["Yes, let's do it","No, not yet"]},{pattern:/should i\b.*\??$/i,options:["Yes, go ahead","No"]},{pattern:/shall i\b.*\??$/i,options:["Yes, go ahead","No"]},{pattern:/ready to\b.*\??$/i,options:["Yes, let's go","Not yet"]},{pattern:/does that (?:sound good|work|make sense|look (?:good|right|ok))\??$/i,options:["Yes, looks good","No, let me explain"]},{pattern:/(?:sound good|make sense|look (?:good|right|ok))\??$/i,options:["Yes, looks good","No, let me explain"]},{pattern:/what (?:do you|would you) (?:think|prefer)\??$/i,options:["Looks good to me","I have some thoughts"]},{pattern:/can i proceed\??$/i,options:["Yes, proceed","No, wait"]},{pattern:/(?:which|what) (?:option|approach|one) (?:do you|would you) (?:prefer|like|want)\??$/i,options:["Option 1","Option 2","Let me think"]}],ey="prose prose-sm max-w-none prose-p:my-1 prose-headings:my-2 prose-ul:my-1 prose-li:my-0 prose-code:rounded prose-code:bg-muted prose-code:px-1 prose-code:py-0.5 prose-code:text-xs prose-pre:my-2",ev={code({className:e,children:t,...s}){let n=/language-([\w-]+)/.exec(e||""),a=String(t).replace(/\n$/,"");return n&&"html-preview"===n[1]?(0,r.jsx)(h,{html:a}):n?(0,r.jsx)(c,{code:a,language:n[1],variant:"dark",customStyle:{fontFamily:'"JetBrains Mono", monospace'}}):(0,r.jsx)("code",{className:e,...s,children:t})},pre:({children:e})=>(0,r.jsx)(r.Fragment,{children:e})};function eN({text:e}){return(0,r.jsx)("div",{className:ey,children:(0,r.jsx)(i.oz,{remarkPlugins:[o.A],components:ev,children:e})})}function ew({block:e,isStreaming:t}){return(0,r.jsx)(em,{toolCall:e,isStreaming:t})}function ek({block:e}){return(0,r.jsx)("div",{className:"max-w-[90%] rounded-lg border border-red-200 bg-red-50 px-3.5 py-3 text-sm",children:(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)("span",{className:"mt-0.5 shrink-0 text-base leading-none","aria-hidden":!0,children:"⚠️"}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"font-medium text-red-900",children:"Something went wrong"}),(0,r.jsx)("p",{className:"mt-0.5 text-red-700",children:e.message}),e.details&&(0,r.jsxs)("details",{className:"mt-2",children:[(0,r.jsx)("summary",{className:"cursor-pointer text-xs text-muted-foreground",children:"Technical details"}),(0,r.jsx)("pre",{className:"mt-1.5 whitespace-pre-wrap break-all rounded bg-white p-2 text-xs text-muted-foreground",children:e.details})]})]})]})})}function eC({images:e,slug:t}){let[s,n]=(0,a.useState)(null),l=e=>`/api/tasks/${t}/images?name=${encodeURIComponent(e)}`;return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"flex gap-1.5 flex-wrap mt-1",children:e.map(e=>(0,r.jsx)("button",{onClick:()=>n(e),className:"size-16 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,r.jsx)("img",{src:l(e),alt:e,className:"size-full object-cover"})},e))}),(0,r.jsx)(x.lG,{open:!!s,onOpenChange:e=>!e&&n(null),children:(0,r.jsxs)(x.Cf,{className:"max-w-3xl p-2",showCloseButton:!1,children:[(0,r.jsx)(x.L3,{className:"sr-only",children:"Image preview"}),s&&(0,r.jsx)("img",{src:l(s),alt:s,className:"w-full rounded object-contain max-h-[80vh]"})]})})]})}let eS=["Tasting","Simmering","Reducing","Prepping","Seasoning"];function eA(){let[e,t]=(0,a.useState)(()=>eS[Math.floor(Math.random()*eS.length)]);return(0,a.useEffect)(()=>{let e=setInterval(()=>{t(e=>{let t;do t=eS[Math.floor(Math.random()*eS.length)];while(t===e);return t})},3e3);return()=>clearInterval(e)},[]),(0,r.jsxs)("div",{className:"flex items-center gap-2 py-1",children:[(0,r.jsx)("span",{className:"size-2 shrink-0 rounded-full bg-orange-500 motion-safe:animate-pulse-dot motion-reduce:opacity-70",role:"status","aria-label":"Thinking"}),(0,r.jsxs)("span",{className:"text-sm italic text-muted-foreground",children:[e,"..."]})]})}function ez({message:e,showThinking:t,slug:s,onQuestionAnswer:n,isQuestionAnswered:a,isLastAssistantMessage:l,status:c}){if("system"===e.role)return(0,r.jsx)("div",{className:"flex justify-center py-2",children:(0,r.jsx)("span",{className:"text-xs text-muted-foreground/70 italic",children:e.content})});if("user"===e.role){let t=e.images?.length?e.images:Array.from(e.content.matchAll(/\[Attached image: ([^\]]+)\]/g),e=>e[1]),n=e.images?.length?e.content:e.content.replace(/\[Attached image: [^\]]+\]\n*/g,"").trim();return(0,r.jsx)("div",{className:"flex flex-col items-end",children:(0,r.jsxs)("div",{className:"max-w-[90%] rounded-lg bg-primary/15 px-3 py-2 text-sm text-foreground",children:[t.length>0&&(0,r.jsx)(eC,{images:t,slug:s}),n&&(0,r.jsx)("p",{className:"whitespace-pre-wrap",children:n})]})})}let d=e.blocks,u=l&&"needs_tasting"===c?function(e){if(!e||!e.trim())return eb;let t=function(e){let t=e.trim();if(!t)return"";let s=t.split(/\n\s*\n/).filter(e=>e.trim());return 0===s.length?"":s[s.length-1].trim()}(e);if(!t)return eb;for(let{pattern:e,options:s}of ej)if(e.test(t))return{detected:!0,questionText:t,suggestedOptions:s};return t.endsWith("?")?{detected:!0,questionText:t,suggestedOptions:["Yes","No"]}:eb}(d?d.filter(e=>"text"===e.type).map(e=>e.text).join("\n\n"):e.content||""):null;if(d&&d.length>0){let e=d.reduce((e,t,s)=>"tool_call"===t.type?s:e,-1);return(0,r.jsxs)("div",{className:"flex flex-col gap-2 text-sm",children:[d.map((s,l)=>{if("text"===s.type)return(0,r.jsx)(eN,{text:s.text},l);if("error"===s.type)return(0,r.jsx)(ek,{block:s},l);if("plan_approval"===s.type)return(0,r.jsx)(eg,{onAnswer:n,isAnswered:a},l);let i=l===e;return(0,r.jsx)(ew,{block:s,isStreaming:i&&t},l)}),u?.detected&&(0,r.jsx)(eh,{questions:[{question:u.questionText,options:u.suggestedOptions.map(e=>({label:e})),multiSelect:!1}],onAnswer:n,isAnswered:a}),t&&(0,r.jsx)(eA,{})]})}let m=!!e.content?.trim(),p=e.toolCalls&&e.toolCalls.length>0;return m||p?(0,r.jsxs)("div",{className:"flex flex-col gap-1",children:[m&&(0,r.jsx)("div",{className:"max-w-[90%] rounded-lg bg-muted px-3 py-2 text-sm text-foreground",children:(0,r.jsx)("div",{className:ey,children:(0,r.jsx)(i.oz,{remarkPlugins:[o.A],components:ev,children:e.content})})}),p&&(0,r.jsx)("div",{className:"flex max-w-[90%] flex-col gap-1",children:e.toolCalls.map((e,t)=>(0,r.jsx)(em,{toolCall:e},t))}),u?.detected&&(0,r.jsx)(eh,{questions:[{question:u.questionText,options:u.suggestedOptions.map(e=>({label:e})),multiSelect:!1}],onAnswer:n,isAnswered:a})]}):t?(0,r.jsx)(eA,{}):null}var e$=s(9913);function eI({chefName:e,suggestedNext:t,onPassToNext:s}){return(0,r.jsxs)("div",{className:"flex items-center gap-2 py-2 px-3",children:[(0,r.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-medium text-green-600",children:[(0,r.jsx)(ei.A,{className:"size-3.5"}),e," complete"]}),t&&(0,r.jsxs)(g.$,{variant:"outline",size:"sm",className:"h-6 text-xs gap-1 cursor-pointer",onClick:()=>s(t),children:["Pass to ",t.name,(0,r.jsx)(m.A,{className:"size-3"})]})]})}function eE({taskSlug:e,storageId:t}){let[s,n]=(0,a.useState)([]),[l,i]=(0,a.useState)(!1);return((0,a.useEffect)(()=>{let s=!1;return(0,W.Hg)(e,t).then(e=>{s||(e&&n(e.messages.filter(e=>"assistant"!==e.role||(e.content||"").trim().length>0||e.blocks&&e.blocks.length>0||e.toolCalls&&e.toolCalls.length>0)),i(!0))}),()=>{s=!0}},[e,t]),l&&0!==s.length)?(0,r.jsx)("div",{className:"flex flex-col gap-3 p-3",children:s.map(t=>(0,r.jsx)(ez,{message:t,slug:e},t.id))}):null}var eT=s(4268),eR=s(9464),eO=s(3927),eP=s(3853),eL=s(8208),eD=s(2264),eF=s(7114);function eU({value:e,onChange:t,disabled:s,defaultModel:n,onDefaultModelChange:a}){let l=(0,K.xq)(e),i=(0,K.xq)(n),o=(0,K.r1)();return(0,r.jsxs)(eD.rI,{children:[(0,r.jsx)(eD.ty,{asChild:!0,children:(0,r.jsxs)("button",{type:"button",disabled:s,className:(0,y.cn)("flex items-center gap-1 px-1.5 py-1 rounded text-xs font-medium text-muted-foreground","cursor-pointer hover:text-foreground hover:bg-accent transition-colors","disabled:opacity-50 disabled:cursor-not-allowed"),children:[(0,r.jsx)(eF.v,{provider:l.provider,className:"size-3.5"}),l.label,(0,r.jsx)(u.A,{className:"size-3.5"})]})}),(0,r.jsx)(eD.SQ,{align:"start",side:"top",className:"min-w-[280px] p-2",children:o.map((e,s)=>(0,r.jsxs)("div",{children:[s>0&&(0,r.jsx)(eD.mB,{className:"my-2"}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5 px-2 pb-1.5 pt-1 text-sm text-muted-foreground",children:[(0,r.jsx)(eF.v,{provider:e.provider,className:"size-3.5"}),K.OW[e.provider]]}),e.options.map(s=>{let n=s.id===l.id,o=s.id===i.id;return(0,r.jsxs)(eD._2,{onSelect:()=>t(s.id),className:(0,y.cn)("group gap-2 py-2",n&&"bg-accent"),children:[(0,r.jsx)(eF.v,{provider:e.provider,className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("span",{className:(0,y.cn)("flex-1",n&&"font-medium"),children:s.label}),a&&(0,r.jsx)("button",{type:"button",onClick:e=>{e.preventDefault(),e.stopPropagation(),a(s.id)},className:(0,y.cn)("rounded p-0.5 transition-opacity",o?"opacity-100 text-primary":"opacity-0 text-muted-foreground group-hover:opacity-100 hover:text-foreground"),"aria-label":`Set ${s.label} as default`,children:(0,r.jsx)(eL.A,{className:(0,y.cn)("size-3.5",o&&"fill-current")})}),n&&(0,r.jsx)(ei.A,{className:"size-3.5"})]},s.id)})]},e.provider))})]})}let e_=new Set(["image/png","image/jpeg","image/gif","image/webp"]),eM="brigade-chat-default-model";function eW({onSend:e,onStop:t,isStreaming:s,slug:n,onModelChange:l,chefName:i,chefDefaultModel:o,leftToolbar:c}){let[d,u]=(0,a.useState)(""),[m,p]=(0,a.useState)([]),[h,f]=(0,a.useState)(!1),[b,j]=(0,a.useState)(null),[v,N]=(0,a.useState)(!1),[w,k]=(0,a.useState)(null),C=(0,a.useRef)(null),[S,A]=(0,a.useState)(K.xj),[z,$]=(0,a.useState)(o||K.xj);(0,a.useEffect)(()=>{let e=window.localStorage.getItem(eM);e&&A(e)},[]),(0,a.useEffect)(()=>{$(o||S||K.xj)},[o,S]),(0,a.useEffect)(()=>{l?.(z)},[z,l]),(0,a.useEffect)(()=>()=>{m.forEach(e=>URL.revokeObjectURL(e.previewUrl))},[]);let I=(0,a.useCallback)(e=>{j(null);let t=Array.from(e);for(let e of t){if(!e_.has(e.type))return void j("Only images are supported (PNG, JPEG, GIF, WebP).");if(e.size>5242880)return void j("Images must be under 5 MB.")}p(e=>{let s=[...e,...t.map(e=>({file:e,previewUrl:URL.createObjectURL(e)}))];return s.length>5?(j("Maximum 5 images per message."),e):s})},[]),E=(0,a.useCallback)(e=>{p(t=>(URL.revokeObjectURL(t[e].previewUrl),t.filter((t,s)=>s!==e))),j(null)},[]),T=(0,a.useCallback)(e=>{let t=Array.from(e.clipboardData.files).filter(e=>e_.has(e.type));t.length>0&&(e.preventDefault(),I(t))},[I]),R=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),N(!0)},[]),O=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),N(!1)},[]),P=(0,a.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),N(!1),e.dataTransfer.files.length>0&&I(e.dataTransfer.files)},[I]),L=(0,a.useCallback)(async()=>{let t=d.trim();if((t||0!==m.length)&&!s)if(m.length>0){f(!0),j(null);try{let s=[];for(let e of m){let t=new FormData;t.append("file",e.file);let r=await fetch(`/api/tasks/${n}/images`,{method:"POST",body:t});if(!r.ok){let e=await r.json();j(e.error||"Upload failed — try again.");return}let a=await r.json();s.push(a.filename)}m.forEach(e=>URL.revokeObjectURL(e.previewUrl)),p([]),u(""),e(t,s,z)}catch{j("Upload failed — try again.")}finally{f(!1)}}else e(t,void 0,z),u("")},[d,m,s,n,e,z]),F=(0,a.useCallback)(e=>{"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),L())},[L]),U=(0,a.useCallback)(e=>{A(e),o||$(e),window.localStorage.setItem(eM,e)},[o]);return(0,r.jsxs)("div",{className:(0,y.cn)("px-5 py-5 md:px-6",v&&"ring-2 ring-primary ring-inset rounded-md"),onDragOver:R,onDragLeave:O,onDrop:P,children:[m.length>0&&(0,r.jsx)("div",{className:"flex gap-2 px-1 pb-2 flex-wrap",children:m.map((e,t)=>(0,r.jsxs)("div",{className:"relative group",children:[(0,r.jsx)("button",{onClick:()=>k(t),className:"size-14 shrink-0 cursor-pointer overflow-hidden rounded border hover:ring-2 hover:ring-ring",children:(0,r.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"size-full object-cover"})}),(0,r.jsx)("button",{onClick:e=>{e.stopPropagation(),E(t)},className:"absolute -top-1.5 -right-1.5 flex size-5 items-center justify-center rounded-full bg-destructive text-destructive-foreground text-xs cursor-pointer opacity-0 group-hover:opacity-100 transition-opacity",children:(0,r.jsx)(eT.A,{className:"size-3"})})]},t))}),(0,r.jsx)(x.lG,{open:null!==w,onOpenChange:e=>!e&&k(null),children:(0,r.jsxs)(x.Cf,{className:"max-w-3xl p-2",children:[(0,r.jsx)(x.L3,{className:"sr-only",children:"Image preview"}),null!==w&&m[w]&&(0,r.jsx)("img",{src:m[w].previewUrl,alt:m[w].file.name,className:"w-full rounded object-contain max-h-[80vh]"})]})}),b&&(0,r.jsx)("div",{className:"px-1 pb-2 text-xs text-destructive",children:b}),(0,r.jsxs)("div",{className:"rounded-xl border bg-white shadow-[0_10px_22px_-20px_rgba(15,23,42,0.3)] transition-shadow focus-within:shadow-[0_12px_26px_-18px_rgba(15,23,42,0.34)] focus-within:ring-2 focus-within:ring-ring",children:[(0,r.jsx)("input",{ref:C,type:"file",accept:"image/png,image/jpeg,image/gif,image/webp",multiple:!0,className:"hidden",onChange:e=>{e.target.files&&I(e.target.files),e.target.value=""}}),(0,r.jsx)("textarea",{className:"w-full resize-none bg-transparent px-6 pt-4 pb-5 text-sm outline-none placeholder:text-muted-foreground",rows:2,placeholder:"Talk to the chef... (Cmd+Enter to send)",value:d,onChange:e=>u(e.target.value),onKeyDown:F,onPaste:T,disabled:s}),(0,r.jsxs)("div",{className:"flex items-center gap-2 px-4 pb-3",children:[(0,r.jsx)(eU,{value:z,onChange:$,disabled:s,chefName:i,chefDefaultModel:o,defaultModel:S,onDefaultModelChange:U}),c,(0,r.jsx)("div",{className:"flex-1"}),(0,r.jsx)(D.Y6,{label:"Attach image",children:(0,r.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>C.current?.click(),disabled:s||h,className:"shrink-0 cursor-pointer",children:(0,r.jsx)(eR.A,{className:"size-4"})})}),s?(0,r.jsx)(g.$,{variant:"outline",size:"icon",onClick:t,className:"shrink-0 cursor-pointer",children:(0,r.jsx)(eO.A,{className:"size-4"})}):(0,r.jsx)(g.$,{size:"icon",onClick:L,disabled:!d.trim()&&0===m.length||h,className:"shrink-0 cursor-pointer",children:(0,r.jsx)(eP.A,{className:"size-4"})})]})]})]})}var eB=s(4201);function eJ({mode:e,onModeChange:t,selectedChef:s,onChefSelect:a,chefs:l,suggestedChefSlug:i,selectedTemplate:o,onTemplateSelect:c,templates:d,onSend:m,onModelChange:p,onStop:x,isStreaming:h,isDelivering:f,slug:g,chefName:b,chefDefaultModel:j}){let v=(0,n.useRouter)(),N=l.filter(e=>!e.hidden),w="chef"===e&&null!==s,k="workflow"===e&&null!==o,C=(0,r.jsxs)("div",{className:"flex items-center gap-0.5",children:[(0,r.jsxs)(eD.rI,{children:[(0,r.jsx)(eD.ty,{asChild:!0,children:(0,r.jsxs)("button",{disabled:f,className:(0,y.cn)("flex items-center gap-1 px-1.5 py-1 rounded transition-colors cursor-pointer",w?"text-primary bg-primary/10":"text-muted-foreground hover:text-foreground hover:bg-accent",f&&"opacity-50 cursor-not-allowed"),children:[(0,r.jsx)(D.Y6,{label:w?`Chef: ${s?.name}`:"Chefs",children:(0,r.jsx)(er.A,{className:"size-4 shrink-0"})}),(0,r.jsx)("span",{className:"text-xs font-medium max-w-[110px] truncate",children:w?s?.name:"Chef"}),(0,r.jsx)(u.A,{className:"size-3.5 shrink-0"})]})}),(0,r.jsxs)(eD.SQ,{side:"top",align:"start",className:"min-w-[180px]",children:[(0,r.jsx)(eD.lp,{className:"text-xs text-muted-foreground font-normal uppercase tracking-wider",children:"Chefs"}),N.map(n=>{let l=s?.slug===n.slug&&"chef"===e,o=n.slug===i;return(0,r.jsxs)(eD._2,{onSelect:()=>{s?.slug===n.slug&&"chef"===e?t("chat"):a(n)},className:(0,y.cn)("gap-2",l&&"text-primary focus:text-primary"),children:[(0,r.jsx)("span",{className:"flex-1",children:n.name}),o&&!l&&(0,r.jsx)("span",{className:"text-[10px] text-primary/60 bg-primary/10 px-1.5 py-0.5 rounded-full",children:"suggested"}),l&&(0,r.jsx)(ei.A,{className:"size-3.5 text-primary shrink-0"})]},n.slug)}),(0,r.jsx)(eD.mB,{}),(0,r.jsxs)(eD._2,{onSelect:()=>v.push("/settings/chefs"),className:"text-muted-foreground gap-2",children:[(0,r.jsx)(eB.A,{className:"size-3.5"}),"Manage chefs"]})]})]}),(0,r.jsxs)(eD.rI,{children:[(0,r.jsx)(eD.ty,{asChild:!0,children:(0,r.jsxs)("button",{disabled:f,className:(0,y.cn)("flex items-center gap-1 px-1.5 py-1 rounded transition-colors cursor-pointer",k?"text-violet-400 bg-violet-400/10":"text-muted-foreground hover:text-foreground hover:bg-accent",f&&"opacity-50 cursor-not-allowed"),children:[(0,r.jsx)(D.Y6,{label:k?`Recipe: ${o?.name}`:"Recipes",children:(0,r.jsx)(V.A,{className:"size-4 shrink-0"})}),(0,r.jsx)("span",{className:"text-xs font-medium max-w-[130px] truncate",children:k?o?.name:"Recipe"}),(0,r.jsx)(u.A,{className:"size-3.5 shrink-0"})]})}),(0,r.jsxs)(eD.SQ,{side:"top",align:"start",className:"min-w-[200px]",children:[(0,r.jsx)(eD.lp,{className:"text-xs text-muted-foreground font-normal uppercase tracking-wider",children:"Recipes"}),0===d.length?(0,r.jsx)("div",{className:"px-2 py-3 text-xs text-muted-foreground italic text-center",children:"No recipes yet — create one in Settings"}):d.map(s=>{let n=o?.slug===s.slug&&"workflow"===e,a=s.steps.map(e=>e.chef).join(" → ");return(0,r.jsxs)(eD._2,{onSelect:()=>{o?.slug===s.slug&&"workflow"===e?t("chat"):(c(s),t("workflow"))},disabled:f,className:(0,y.cn)("flex-col items-start gap-0.5",n&&"text-violet-400 focus:text-violet-400 focus:bg-violet-400/10"),children:[(0,r.jsxs)("span",{className:"flex w-full items-center gap-1",children:[(0,r.jsx)("span",{className:"flex-1 font-medium",children:s.name}),n&&(0,r.jsx)(ei.A,{className:"size-3.5 text-violet-400 shrink-0"})]}),(0,r.jsx)("span",{className:"text-[10px] opacity-60 font-normal",children:a})]},s.slug)}),(0,r.jsx)(eD.mB,{}),(0,r.jsxs)(eD._2,{onSelect:()=>v.push("/settings/workflows"),className:"text-muted-foreground gap-2",children:[(0,r.jsx)(eB.A,{className:"size-3.5"}),"Manage recipes"]})]})]})]});return(0,r.jsx)("div",{children:(0,r.jsx)(eW,{onSend:m,onModelChange:p,onStop:x,isStreaming:h,slug:g,chefName:b,chefDefaultModel:j,leftToolbar:C})})}function eY({pipeline:e,currentIndex:t,completed:s,chefs:n}){return(0,r.jsx)("div",{className:"flex items-center gap-1 px-3 py-2 overflow-x-auto",children:e.map((e,a)=>{let l=n.find(t=>t.slug===e),i=l?.name||e,o=!!s||a<t,c=!s&&a===t;return(0,r.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[a>0&&(0,r.jsx)("span",{className:"text-xs text-muted-foreground/50 mx-0.5",children:"→"}),(0,r.jsxs)("span",{className:(0,y.cn)("text-xs font-medium px-1.5 py-0.5 rounded",o&&"text-green-400",c&&"text-primary",!s&&a>t&&"text-muted-foreground/50"),children:[i,o&&(0,r.jsx)(ei.A,{className:"inline size-3 ml-0.5"}),c&&(0,r.jsx)("span",{className:"inline-block size-1.5 rounded-full bg-primary ml-1 animate-pulse"})]})]},`${e}-${a}`)})})}function eG(e){if("string"!=typeof e)return null;let t=e.trim();return!t||t.startsWith("pending-")?null:t}function eH({taskSlug:e,taskFilePath:t,taskContent:s,chefs:n,status:l,onTaskUpdated:i,autoStartChefSlug:o,autoStartContext:c,prefetchedThread:d}){let u=function(e,t){let[s,r]=(0,a.useState)(()=>t&&Array.isArray(t.segments)?t.segments:[]),[n,l]=(0,a.useState)(void 0===t),i=(0,a.useRef)(s);i.current=s;let o=(0,a.useRef)(0);(0,a.useEffect)(()=>{o.current=s.reduce((e,t)=>{let s=parseInt(t.id.replace("seg-",""),10);return isNaN(s)?e:Math.max(e,s)},0)},[s]),(0,a.useEffect)(()=>{void 0!==t&&(t&&Array.isArray(t.segments)?r(t.segments):r([]),l(!1))},[t]),(0,a.useEffect)(()=>{if(void 0!==t)return;let s=!1;return l(!0),(async()=>{let t=await (0,W.$d)(e);if(s)return;if(t&&Array.isArray(t.segments)&&t.segments.length>0){r(t.segments),l(!1);return}let n=await (0,W.G2)(e);if(!s){if(n&&Array.isArray(n.steps)&&n.steps.length>0){let t={segments:n.steps.map((e,t)=>({id:`seg-${t+1}`,type:"chef",storageId:`step-${e.stepNumber}`,startedAt:e.startedAt,chefSlug:e.chefSlug,chefName:e.chefName,status:"completed"===e.status?"completed":"active",summary:e.summary,sessionId:e.sessionId,model:e.model}))};r(t.segments),(0,W.GS)(e,t),l(!1);return}r([]),l(!1)}})(),()=>{s=!0}},[e,t]);let c=(0,a.useCallback)(t=>{let s=t(i.current);i.current=s,r(s),(0,W.GS)(e,{segments:s})},[e]),d=s.length>0&&"completed"!==s[s.length-1].status?s[s.length-1]:null,u=(0,a.useCallback)(e=>{let t=o.current+1;return"chat"===e?`chat-${t}`:`step-${t}`},[]),m=(0,a.useCallback)((t,s,r,n)=>{o.current+=1;let a=o.current,l="chat"===t?`chat-${a}`:`step-${a}`;(0,W._e)(e,l);let i={id:`seg-${a}`,type:t,storageId:l,startedAt:new Date().toISOString(),..."chef"===t&&{chefSlug:s,chefName:r,status:"active",model:n}};return c(e=>[...e,i]),i},[e,c]),p=(0,a.useCallback)((t,s,r,n,a,l)=>{let d=i.current.find(e=>e.pipelineId===r&&e.pipelineIndex===a);if(d)return d;o.current+=1;let u=o.current,m=`step-${u}`;(0,W._e)(e,m);let p={id:`seg-${u}`,type:"chef",storageId:m,startedAt:new Date().toISOString(),chefSlug:t,chefName:s,status:"active",model:l,pipelineId:r,pipelineName:n,pipelineIndex:a};return c(e=>[...e,p]),p},[e,c]),x=(0,a.useCallback)((e,t)=>{c(s=>s.map(s=>s.id===e?{...s,status:"completed",summary:t}:s))},[c]);return{segments:s,loading:n,activeSegment:d,addSegment:m,addPipelineSegment:p,markSegmentComplete:x,updateSegmentSessionId:(0,a.useCallback)((e,t)=>{c(s=>s.map(s=>s.id===e?{...s,sessionId:t}:s))},[c]),reloadFromServer:(0,a.useCallback)(async()=>{let t=await (0,W.$d)(e);if(t&&Array.isArray(t.segments)){let e=t.segments;i.current=e,r(e)}},[e]),generateStorageId:u}}(e,d),{segments:m,loading:p,activeSegment:x,addSegment:h,updateSegmentSessionId:f,reloadFromServer:b}=u,[j,y]=(0,a.useState)("chat"),[N,w]=(0,a.useState)(null),[k,C]=(0,a.useState)(null),[S,A]=(0,a.useState)([]),[z,$]=(0,a.useState)(null),[I,E]=(0,a.useState)(void 0),[T,R]=(0,a.useState)(null),[O,P]=(0,a.useState)(!1),[L,D]=(0,a.useState)(null),[F,U]=(0,a.useState)(!1),[_,M]=(0,a.useState)(null),B=(0,a.useRef)(null),J=x&&"chef"===x.type?x.chefSlug:"chat",Q=x?.storageId,{messages:V,isStreaming:Z,wasDisconnected:X,sendMessage:ee,stopChef:et,clearSessionId:es,injectSystemMessage:er,reloadFromServer:en,sessionId:ea,sessionIdRef:el}=function(e,t="refine-spec",s){let r=s||t,[n,l]=(0,a.useState)([]),[i,o]=(0,a.useState)(!1),[c,d]=(0,a.useState)(!1),u=(0,a.useRef)(null),[m,p]=(0,a.useState)(null),x=(0,a.useRef)(null),h=(0,a.useRef)(!1),f=(0,a.useRef)(r),g=(0,a.useRef)([]);g.current=n;let b=(0,a.useRef)(null),j=(0,a.useRef)(!1),y=(0,a.useRef)(!1),v=(0,a.useCallback)(e=>{let t=H(e);u.current=t,p(t)},[]),N=(0,a.useCallback)(()=>{if(!e)return;let t=g.current,s=u.current;if(j.current){y.current=!0;return}j.current=!0,(0,W.yd)(e,r,t,s).finally(()=>{j.current=!1,y.current&&(y.current=!1,N())})},[e,r]);(0,a.useEffect)(()=>()=>{if(x.current?.abort(),e&&g.current.length>0){let t=g.current,s=b.current;s&&(t=t.map(e=>e.id===s.id?{...e,content:s.content,blocks:s.blocks}:e),b.current=null),(0,W.YF)(e,r,t,u.current)}},[e,r]),(0,a.useEffect)(()=>{f.current!==r&&(f.current=r,h.current=!1,l([]),v(null))},[r,v]),(0,a.useEffect)(()=>{e&&!h.current&&(h.current=!0,(0,W.Hg)(e,r).then(t=>{if(t){t.messages=t.messages.filter(e=>"assistant"!==e.role||(e.content||"").trim().length>0||e.blocks&&e.blocks.length>0||e.toolCalls&&e.toolCalls.length>0);let s=H(t.sessionId);console.log("[BG-AGENT] loadChat: found",t.messages.length,"messages, sessionId =",s),l(e=>e.length>0?e:t.messages),v(s),s!==t.sessionId&&(0,W.yd)(e,r,t.messages,s).catch(()=>{});return}try{let t=`kanban-chat-${e}-${r}`,s=localStorage.getItem(t);if(s){let n=JSON.parse(s);if(n.messages&&n.messages.length>0){console.log("[BG-AGENT] migrating localStorage chat to file:",t,n.messages.length,"messages"),n.messages=n.messages.filter(e=>"assistant"!==e.role||(e.content||"").trim().length>0||e.blocks&&e.blocks.length>0||e.toolCalls&&e.toolCalls.length>0);let s=H(n.sessionId);l(n.messages),v(s),(0,W.yd)(e,r,n.messages,s).then(()=>{try{localStorage.removeItem(t)}catch{}});return}}}catch{}console.log("[BG-AGENT] loadChat: no persisted chat found for",e,r)}))},[e,r,v]);let w=(0,a.useCallback)(()=>{e&&(0,W.Hg)(e,r).then(e=>{!e||(l(t=>{if(0===e.messages.length&&t.length>0||e.messages.length<t.length)return t;if(e.messages.length>t.length)return e.messages;for(let s=0;s<e.messages.length;s++){let r=e.messages[s],n=t[s];if(!n||r.id!==n.id||r.role!==n.role)return e.messages;let a=r.content||"",l=n.content||"",i=r.blocks?.length||0,o=n.blocks?.length||0,c=r.toolCalls?.length||0,d=n.toolCalls?.length||0;if(a.length>l.length||i>o||c>d||a.length===l.length&&a!==l)return e.messages}return t}),e.sessionId&&v(e.sessionId))})},[e,r,v]),k=(0,a.useCallback)(async(s,n)=>{let{taskFilePath:a,taskContent:i,chefPrompt:c,taskFileOnly:m,images:p,model:h}=n||{};if(!e)return;d(!1);let f={id:`user-${Date.now()}`,role:"user",content:s,images:p?.length?p:void 0},j=s;if(p&&p.length>0){let e=p.map(e=>`[Attached image: ${e}]`).join("\n");j=`${e}
23
-
24
- ${s}`}g.current=[...g.current,f],l(g.current);let y=`assistant-${Date.now()}`;if(g.current=[...g.current,{id:y,role:"assistant",content:"",blocks:[]}],l(g.current),x.current?.abort(),x.current=new AbortController,"chat"!==t)try{await fetch(`/api/tasks/${encodeURIComponent(e)}/chef-status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"running",chefName:t})})}catch{}o(!0),N();let w=!1,k=!1;try{let s=H(u.current);s!==u.current&&v(s),console.log("[BG-AGENT] sendMessage:",s?`resuming session ${s}`:"starting new session");let n=await fetch("/api/chat",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({prompt:j,sessionId:s,taskSlug:e,chefSlug:t,storageId:r,taskFilePath:s?void 0:a,taskContent:s?void 0:i,chefPrompt:s?void 0:c,taskFileOnly:s?void 0:m,model:h}),signal:x.current.signal});if(!n.ok||!n.body)throw Error("Chat request failed");let o=n.body.getReader(),p=new TextDecoder,f="",g=[],C=new Set,S=!1,A=Date.now();for(;;){let{done:e,value:t}=await o.read();if(e)break;let s=(f+=p.decode(t,{stream:!0})).split("\n");for(let e of(f=s.pop()||"",s)){if(!e.startsWith("data: "))continue;let t=e.slice(6).trim();if("[DONE]"===t){w=!0;continue}try{let e=JSON.parse(t);if(k=!0,"system"===e.type&&e.session_id&&(v(e.session_id),N()),"result"===e.type&&e.session_id&&v(e.session_id),"assistant"===e.type&&e.message){let t=e.message;if(t.content&&Array.isArray(t.content))for(let e of t.content){if("text"===e.type&&e.text){let t=g[g.length-1];S||!t||"text"!==t.type?g.push({type:"text",text:e.text}):t.text=e.text,S=!1}if("tool_use"===e.type){if(e.id&&C.has(e.id))continue;e.id&&C.add(e.id);let t=e.input;if("string"==typeof t)try{t=JSON.parse(t)}catch{}if("ExitPlanMode"===e.name)g.push({type:"plan_approval",allowedPrompts:t?.allowedPrompts});else{let t="string"==typeof e.input?e.input:JSON.stringify(e.input||{},null,2);g.push({type:"tool_call",name:e.name||"tool",input:t})}}}}if("user"===e.type&&e.message){let t=e.message;if(t.content&&Array.isArray(t.content)){for(let e of t.content)if("tool_result"===e.type){let t="string"==typeof e.content?e.content:JSON.stringify(e.content||"",null,2);for(let e=g.length-1;e>=0;e--)if("tool_call"===g[e].type&&!("output"in g[e]&&g[e].output)){g[e].output=t.slice(0,500);break}S=!0}}}if("error"===e.type&&e.message){let t="string"==typeof e.message?e.message:"Provider execution error",s="string"==typeof e.details?e.details:void 0,r=Y(s??t);g.push({type:"error",message:s?t:r.message,details:s??r.details})}let s=g.filter(e=>"text"===e.type).map(e=>e.text).join("\n\n");b.current={id:y,content:s,blocks:[...g]},l(e=>e.map(e=>e.id===y?{...e,content:s,blocks:[...g]}:e))}catch{}}let r=Date.now();r-A>=3e3&&(A=r,N())}b.current=null,!w&&k&&d(!0),N()}catch(e){"AbortError"===e.name?N():(k&&!w&&d(!0),l(t=>{let s=Y(e.message||"Chat request failed"),r={type:"error",message:s.message,details:s.details},n=t.map(e=>e.id===y?{...e,content:e.content||s.message,blocks:[...e.blocks||[],r]}:e);return g.current=n,N(),n}))}finally{b.current=null,o(!1),x.current=null}},[e,t,r,v,N]),C=(0,a.useCallback)(()=>{x.current?.abort()},[]),S=(0,a.useCallback)(async()=>{if(!e)return;x.current?.abort();let s=u.current;if(!s)try{let r=await fetch(`/api/chat/session?taskSlug=${encodeURIComponent(e)}&chefSlug=${encodeURIComponent(t)}`);if(r.ok){let e=await r.json();e.sessionId&&(s=e.sessionId)}}catch{}if(s)try{await fetch("/api/chat/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:s,taskSlug:e})})}catch{}else await fetch(`/api/tasks/${encodeURIComponent(e)}/chef-status`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({status:"idle"})}).catch(()=>{});o(!1)},[e,t]),A=(0,a.useCallback)(()=>{u.current=null,p(null),e&&(0,W.yd)(e,r,g.current,null)},[e,r]),z=(0,a.useCallback)(e=>{let t={id:`system-${Date.now()}`,role:"system",content:e};g.current=[...g.current,t],l(g.current),N()},[N]);return{messages:n,isStreaming:i,wasDisconnected:c,sendMessage:k,stopStreaming:C,stopChef:S,clearChat:(0,a.useCallback)(()=>{if(x.current?.abort(),x.current=null,o(!1),l([]),g.current=[],v(null),e){(0,W._e)(e,r);let s=`kanban-init-sent-${e}-${r}`;try{sessionStorage.removeItem(s)}catch{}G.delete(s),fetch(`/api/chat/session?taskSlug=${encodeURIComponent(e)}&chefSlug=${encodeURIComponent(t)}`,{method:"DELETE"}).catch(()=>{})}},[e,t,r,v]),clearSessionId:A,injectSystemMessage:z,reloadFromServer:w,sessionId:m,sessionIdRef:u}}(e,J,Q),{addSession:ei,removeSession:eo,getSession:ec}=(0,q._)(),ed=(0,a.useRef)(null),eu=(0,a.useRef)(null),[em,ep]=(0,a.useState)(!0),ex=(0,a.useRef)(i);ex.current=i;let eh=(0,a.useRef)(null),ef=Z||"running"===l,eg=(0,a.useMemo)(()=>n.filter(e=>!e.hidden),[n]),eb=I||N?.model||K.xj,ej=(0,a.useMemo)(()=>(0,K.xq)(eb).provider,[eb]),ey=T?.providers?.[ej],ev=!ey||ey.connected,eN=(0,a.useMemo)(()=>{let e=[...m].reverse().find(e=>"chef"===e.type&&"completed"===e.status);if(!e)return;let t=n.find(t=>t.slug===e.chefSlug);if(t?.suggestsNext)return eg.find(e=>e.slug===t.suggestsNext)?.slug;let s=eg.findIndex(e=>e.slug===t?.slug);return s>=0&&s<eg.length-1?eg[s+1]?.slug:void 0},[m,n,eg]),ew=(0,a.useMemo)(()=>eN?n.find(e=>e.slug===eN)??null:null,[eN,n]);(0,a.useEffect)(()=>{fetch("/api/workflows").then(e=>e.ok?e.json():{templates:[]}).then(e=>A(Array.isArray(e)?e:e.templates??[])).catch(()=>{})},[]);let ek=(0,a.useCallback)(async()=>{P(!0);try{let e=await (0,W.qq)();return e&&R(e),e}finally{P(!1)}},[]);(0,a.useEffect)(()=>{ek()},[ek,ej]),(0,a.useEffect)(()=>{if(ev&&!L)return;let e=setInterval(()=>{ek()},5e3);return()=>clearInterval(e)},[ev,L,ek]);let eC=(0,a.useCallback)(async e=>{let t=(0,K.xq)(e).provider,s=T?.providers?.[t],r=T?.checkedAt?Date.parse(T.checkedAt):0,n=r>0&&Date.now()-r<15e3;if(s&&n)return s.connected;let a=await ek(),l=a?.providers?.[t];return!l||l.connected},[T,ek]);(0,a.useEffect)(()=>{if(x&&!F)if("chat"===x.type)y("chat");else{y("chef");let e=n.find(e=>e.slug===x.chefSlug);e&&w(e)}},[x?.id,F]);let eS=(0,a.useCallback)(async(t,s,r)=>{if(!Q)return;let n=eG(s),a=await (0,W.Hg)(e,Q)||{messages:[],sessionId:null},l=a.sessionId!==n,i=new Set(a.messages.map(e=>e.id)),o=[],c=new Map;for(let e of t){if(i.has(e.id)){let t=a.messages.findIndex(t=>t.id===e.id);if(-1!==t){let s=(a.messages[t].content||"").length;(e.content||"").length>s&&c.set(t,e)}continue}o.push(e)}if(c.size>0){for(let[e,t]of c)a.messages[e]=t;l=!0}if(o.length>0&&(a.messages=[...a.messages,...o],l=!0),r){let e=a.messages.findIndex(e=>e.id===r.id);if(-1!==e){let t=(a.messages[e].content||"").length;(r.content||"").length>t&&(a.messages[e]=r,l=!0)}else a.messages.push(r),l=!0}l&&(a.sessionId=n,await (0,W.yd)(e,Q,a.messages,a.sessionId),en())},[e,Q,en]);(0,a.useEffect)(()=>{if(!Q||!J)return;let t=`${e}-${Q}`;eh.current!==t&&(eh.current=t,(async()=>{try{let t=await fetch(`/api/chat/session?taskSlug=${encodeURIComponent(e)}&chefSlug=${encodeURIComponent(J)}&storageId=${encodeURIComponent(Q)}`);if(!t.ok)return;let s=await t.json(),r="string"==typeof s.sessionId?s.sessionId.trim():null,n=eG(r)??r;if(n){let t=await fetch(`/api/chat/poll?sessionId=${encodeURIComponent(n)}&afterIndex=0`);if(!t.ok)return;let r=await t.json();await eS(Array.isArray(r.messages)?r.messages:[],n,r.inProgress||null),"running"===s.status?ei({sessionId:n,taskSlug:e,chefSlug:J,storageId:Q,lastIndex:r.totalCount||0}):eo(n)}else{let t=await (0,W.Hg)(e,Q),s=t?t.sessionId:null,r=eG(s);if(s&&!r&&es(),r)try{let t=await fetch(`/api/chat/poll?sessionId=${encodeURIComponent(r)}&afterIndex=0`);if(t.ok){let s=await t.json();if("not_found"!==s.status)await eS(Array.isArray(s.messages)?s.messages:[],r,s.inProgress||null),"running"===s.status&&ei({sessionId:r,taskSlug:e,chefSlug:J,storageId:Q,lastIndex:s.totalCount||0});else{es();let t=await (0,W.Hg)(e,Q);(t?t.messages.filter(e=>"system"!==e.role).length:0)>=3&&"chat"!==J&&er("Session restarted — prior conversation context is available to the chef.")}}}catch{}}}catch{}})())},[e,J,Q,ei,eo,eS,es,er]),(0,a.useEffect)(()=>{if(Z||!Q||!J)return;let t=ec(e,J);if(!(t||ea||"running"===l||"needs_tasting"===l))return;let s=setInterval(()=>{en(),!ec(e,J)&&t&&ex.current()},3e3);return()=>clearInterval(s)},[Z,ea,l,e,J,Q,ec,en]),(0,a.useEffect)(()=>{ea&&x&&f(x.id,ea)},[ea]),(0,a.useEffect)(()=>{if(Z&&ea&&Q){let t=ec(e,J);t?.sessionId!==ea&&ei({sessionId:ea,taskSlug:e,chefSlug:J,storageId:Q,lastIndex:0})}},[Z,ea,e,J,Q,ei,ec]);let eA=(0,a.useRef)(Z);eA.current=Z;let eT=(0,a.useRef)(ei);eT.current=ei,(0,a.useEffect)(()=>()=>{let t=el.current;t&&eA.current&&Q&&eT.current({sessionId:t,taskSlug:e,chefSlug:J,storageId:Q,lastIndex:0})},[e,J,Q,el]);let eR=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(!eR.current&&Z){ex.current(),eR.current=Z;return}if(eR.current&&!Z){let e=setTimeout(()=>{ex.current()},500);return ea&&eo(ea),eR.current=Z,()=>clearTimeout(e)}eR.current=Z},[Z,ea,eo]),(0,a.useEffect)(()=>{let e=eu.current?.querySelector("[data-slot=scroll-area-viewport]");if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:s,clientHeight:r}=e;ep(s-t-r<100)};return e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)},[]);let eO=(0,a.useRef)(!1);(0,a.useEffect)(()=>{em&&(eO.current||!(V.length>0)||(eO.current=!0,ef||"needs_tasting"===l))&&ed.current?.scrollIntoView({behavior:"smooth"})},[V,em,ef,l]),(0,a.useEffect)(()=>{if("needs_tasting"===l&&em){let e=setTimeout(()=>{ed.current?.scrollIntoView({behavior:"smooth"})},100);return()=>clearTimeout(e)}},[l,em]);let eP=(0,a.useRef)(!1);(0,a.useEffect)(()=>{if(X&&!Z&&!eP.current){eP.current=!0;let e=setTimeout(()=>{es();let e=I||N?.model||K.xj;(async()=>{if(!await eC(e))return D({message:"Continue where you left off",model:e});er("Connection interrupted — reconnecting…"),ee("Continue where you left off",{taskFilePath:t,taskContent:s,chefPrompt:N?.prompt,taskFileOnly:N?.taskFileOnly,model:e})})()},2e3);return()=>clearTimeout(e)}X||Z||(eP.current=!1)},[X,Z,es,er,ee,t,s,N,I,eC]);let eL=(()=>{if(Z||ef)return!1;if(X)return!0;let e=[...V].reverse().find(e=>"system"===e.role);if(e?.content?.includes("Session restarted")){let t=V.indexOf(e);return!V.slice(t+1).some(e=>"user"===e.role)}return!1})(),eD=(()=>{if(Z||ef||"needs_tasting"!==l||"chat"===J)return null;let e=[...V].reverse().find(e=>"assistant"===e.role);if(!e)return null;let t=V.lastIndexOf(e);if(t<V.length-1&&V[t+1]?.role==="user"||e.blocks?.some(e=>"plan_approval"===e.type))return null;let s=e.blocks?.filter(e=>"text"===e.type);return(s?.[s.length-1]?.text||e.content||"").trim().endsWith("?")?"question":"waiting"})(),eF=(0,a.useCallback)(async(e,r,n)=>{let a=n||I||N?.model||K.xj;if(!await eC(a))return void D({message:e,images:r,model:a});if(D(null),!x){"chef"===j&&N?h("chef",N.slug,N.name,N.model):h("chat"),eh.current=null,$({message:e,images:r,model:a});return}ee(e,{taskFilePath:t,taskContent:s,chefPrompt:N?.prompt,taskFileOnly:N?.taskFileOnly,images:r,model:a})},[x,j,N,h,ee,t,s,I,eC]);(0,a.useEffect)(()=>{z&&x&&(ee(z.message,{taskFilePath:t,taskContent:s,chefPrompt:N?.prompt,taskFileOnly:N?.taskFileOnly,images:z.images,model:z.model}),$(null))},[z,x]);let eU=(0,a.useCallback)(()=>{L&&(D(null),eF(L.message,L.images,L.model))},[L,eF]),e_=(0,a.useCallback)(t=>{t!==j&&(Z&&ea&&Q&&ei({sessionId:ea,taskSlug:e,chefSlug:J,storageId:Q,lastIndex:0}),y(t),"chat"===t?(w(null),h("chat"),eh.current=null):"chef"===t&&w(null))},[j,Z,ea,Q,J,e,ei,h]),eM=(0,a.useCallback)(e=>{w(e),"chef"===j?x&&"chef"===x.type&&x.chefSlug===e.slug||(h("chef",e.slug,e.name,e.model),eh.current=null):(y("chef"),h("chef",e.slug,e.name,e.model),eh.current=null)},[j,x,h]),eW=(0,a.useCallback)(e=>{y("chef"),w(e),h("chef",e.slug,e.name,e.model),eh.current=null},[h]),eB=(0,a.useCallback)(async()=>{let e=I||N?.model||K.xj;await eC(e)?(es(),ee("Continue where you left off",{taskFilePath:t,taskContent:s,chefPrompt:N?.prompt,taskFileOnly:N?.taskFileOnly,model:e})):D({message:"Continue where you left off",model:e})},[I,N,eC,es,ee,t,s]),eH=(0,a.useCallback)(async()=>{await et(),ea&&eo(ea),ex.current()},[et,ea,eo]),eq=(0,a.useCallback)((t,s)=>{B.current&&clearInterval(B.current),B.current=setInterval(async()=>{try{let r=await fetch(`/api/tasks/${encodeURIComponent(e)}/deliver`);if(!r.ok)return;let n=await r.json();"delivering"===n.status&&M({pipeline:n.pipeline||t,currentIndex:n.currentIndex??s,completed:!1}),await b(),ex.current(),"delivering"!==n.status&&(clearInterval(B.current),B.current=null,U(!1),M(e=>e?{...e,completed:!0}:null),y("chat"))}catch{}},3e3)},[e,b]),eK=(0,a.useCallback)(async t=>{if(k){U(!0);try{let s=await fetch(`/api/tasks/${encodeURIComponent(e)}/deliver`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({templateSlug:k.slug,context:t||void 0})});if(!s.ok)return void U(!1);let r=await s.json();M({pipeline:r.pipeline||k.steps.map(e=>e.chef),currentIndex:r.currentIndex??0,completed:!1}),await b(),eh.current=null,eq(k.steps.map(e=>e.chef),r.currentIndex??0)}catch{U(!1)}}},[k,e,eq,b]),eQ=(0,a.useCallback)(async()=>{B.current&&(clearInterval(B.current),B.current=null),await fetch(`/api/tasks/${encodeURIComponent(e)}/deliver`,{method:"DELETE"}).catch(()=>{}),U(!1),M(null),y("chat")},[e]);(0,a.useEffect)(()=>()=>{B.current&&(clearInterval(B.current),B.current=null)},[]);let eV=(0,a.useCallback)(e=>{F?eQ():eK(e||void 0)},[F,eQ,eK]),eZ=(0,a.useCallback)((e,t,s)=>{"workflow"===j?eV(e):eF(e,t,s)},[j,eV,eF]),eX=(0,a.useRef)(!1);return((0,a.useEffect)(()=>{if(!o||eX.current||p||m.length>0)return;let t=n.find(e=>e.slug===o);if(!t)return;eX.current=!0,y("chef"),w(t);let s=`kanban-init-sent-${e}-step-${(u.segments.length||0)+1}`;try{if(sessionStorage.getItem(s))return}catch{}!G.has(s)&&(h("chef",t.slug,t.name,t.model),eh.current=null,c&&$({message:c}))},[o,c,n,m.length,p,e,h,u.segments.length]),(0,a.useEffect)(()=>{fetch(`/api/tasks/${encodeURIComponent(e)}/deliver`).then(e=>e.ok?e.json():{status:"idle"}).then(e=>{"delivering"===e.status&&(U(!0),y("workflow"),M({pipeline:e.pipeline||[],currentIndex:e.currentIndex??0,completed:!1}),eq(e.pipeline||[],e.currentIndex??0))}).catch(()=>{})},[e,eq]),p)?(0,r.jsx)("div",{className:"flex h-full items-center justify-center",children:(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."})}):(0,r.jsxs)("div",{className:"flex h-full flex-col overflow-hidden px-4 pb-4 pt-2 md:px-6 md:pb-6",children:[(0,r.jsx)(v,{ref:eu,className:"flex-1 min-h-0 [&_[data-slot=scroll-area-viewport]>div]:!block",children:(0,r.jsxs)("div",{className:"flex flex-col px-1.5 md:px-2",children:[0===m.length&&0===V.length&&(0,r.jsx)("div",{className:"py-12 text-center text-xs text-muted-foreground",children:"workflow"===j&&k?`${k.name||"Recipe"} is ready.`:"Start a conversation or pick a chef."}),m.map((t,s)=>{let i,o=!!t.pipelineId&&(0===s||m[s-1].pipelineId!==t.pipelineId);return(0,r.jsxs)(a.Fragment,{children:[o&&_&&(0,r.jsx)(eY,{pipeline:_.pipeline,currentIndex:_.currentIndex,completed:_.completed,chefs:n}),t.id===x?.id?(0,r.jsxs)("div",{className:"flex flex-col gap-3 p-4 md:p-5",children:[0===V.length&&!ef&&(0,r.jsx)("div",{className:"py-4 text-center text-xs text-muted-foreground",children:"workflow"===j&&k?`${k.name||"Recipe"} is ready.`:"chat"===t.type?"Chat with Claude — no chef tools, just thinking.":`${t.chefName||"Chef"} is ready.`}),(i=V.reduce((e,t,s)=>"assistant"===t.role?s:e,-1),V.map((t,s)=>{let n="assistant"===t.role&&s===i,a=s+1<V.length&&"user"===V[s+1].role;return(0,r.jsx)(ez,{message:t,slug:e,showThinking:ef&&"assistant"===t.role&&s===V.length-1,onQuestionAnswer:eF,isQuestionAnswered:"assistant"===t.role&&a&&(!!t.blocks?.some(e=>"plan_approval"===e.type)||n),isLastAssistantMessage:n,status:l},t.id)}))]}):(0,r.jsx)(eE,{taskSlug:e,storageId:t.storageId,chefSlug:t.chefSlug}),"chef"===t.type&&"completed"===t.status&&(0,r.jsx)(eI,{chefName:t.chefName||t.chefSlug||"Chef",suggestedNext:ew,onPassToNext:eW})]},t.id)}),(0,r.jsx)("div",{ref:ed})]})}),ey&&!ey.connected&&(0,r.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-amber-50/70",children:[(0,r.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-500 animate-pulse"}),(0,r.jsxs)("span",{className:"text-xs text-amber-700",children:[K.OW[ej]," is disconnected. Run"," ",(0,r.jsx)("code",{className:"rounded bg-amber-100 px-1 py-0.5 text-[11px]",children:ey.reauthCommand})," ","in your terminal.",L&&" Your last message is queued."]}),(0,r.jsx)("button",{onClick:()=>{ek()},disabled:O,className:"ml-auto rounded-full border border-amber-200 bg-white px-3 py-1 text-xs font-medium text-amber-700 cursor-pointer hover:bg-amber-100 transition-colors disabled:opacity-60 disabled:cursor-default",children:O?"Checking...":"Check again"})]}),L&&ev&&(0,r.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-emerald-50/70",children:[(0,r.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-emerald-500"}),(0,r.jsx)("span",{className:"text-xs text-emerald-700",children:"Reconnected. Your message is queued and ready to retry."}),(0,r.jsx)("button",{onClick:eU,className:"ml-auto rounded-full border border-emerald-200 bg-white px-3 py-1 text-xs font-medium text-emerald-700 cursor-pointer hover:bg-emerald-100 transition-colors",children:"Retry now"})]}),eL&&(0,r.jsxs)("div",{className:"flex items-center justify-center gap-2 border-t px-3 py-2 bg-muted/50",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"Conversation was interrupted"}),(0,r.jsxs)(g.$,{variant:"outline",size:"sm",onClick:eB,className:"gap-1 h-7 px-3 text-xs cursor-pointer",children:[(0,r.jsx)(e$.A,{className:"size-3"}),"Resume"]})]}),"question"===eD&&(0,r.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-blue-50/50",children:[(0,r.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-blue-500 animate-pulse"}),(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:"Waiting for your response"}),(0,r.jsxs)("div",{className:"flex gap-1.5 ml-auto",children:[(0,r.jsx)("button",{onClick:()=>eF("Yes, go ahead"),className:"rounded-full border border-border bg-background px-3 py-1 text-xs font-medium cursor-pointer hover:bg-accent transition-colors",children:"Yes, go ahead"}),(0,r.jsx)("button",{onClick:()=>eF("No, let me explain"),className:"rounded-full border border-border bg-background px-3 py-1 text-xs font-medium cursor-pointer hover:bg-accent transition-colors",children:"No, let me explain"})]})]}),"waiting"===eD&&(0,r.jsxs)("div",{className:"flex items-center gap-2 border-t px-3 py-2 bg-blue-50/50",children:[(0,r.jsx)("span",{className:"size-1.5 shrink-0 rounded-full bg-blue-500 animate-pulse"}),(0,r.jsx)("span",{className:"text-xs text-blue-600 font-medium",children:"Chef is waiting for your input"})]}),(0,r.jsx)(eJ,{mode:j,onModeChange:e_,selectedChef:N,onChefSelect:eM,chefs:n,suggestedChefSlug:eN,selectedTemplate:k,onTemplateSelect:C,templates:S,onSend:eZ,onModelChange:E,onStop:eH,isStreaming:ef,isDelivering:F,slug:e,chefName:N?.name,chefDefaultModel:N?.model})]})}var eq=s(9467),eK=s(774),eQ=s(7241),eV=s(4289),eZ=s(5798),eX=s(1735),e0=s(5357);let e1={pending:null,in_progress:(0,r.jsx)(S.A,{className:"size-3.5 animate-spin text-orange-500"}),done:(0,r.jsx)(ei.A,{className:"size-3.5 text-green-600"}),error:(0,r.jsx)(eT.A,{className:"size-3.5 text-red-500"}),warning:(0,r.jsx)(eX.A,{className:"size-3.5 text-amber-500"})};function e5({steps:e,onRetry:t,onClose:s,isComplete:n,isError:a}){return(0,r.jsxs)("div",{className:"absolute right-0 top-full mt-2 z-50 w-80 rounded-lg border bg-background shadow-lg",children:[(0,r.jsxs)("div",{className:"p-4 space-y-2",children:[e.map(e=>(0,r.jsxs)("div",{className:"flex items-start gap-2 text-sm",children:[(0,r.jsx)("span",{className:"mt-0.5 shrink-0 w-4",children:e1[e.status]}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("span",{className:(0,y.cn)("error"===e.status&&"text-red-600","done"===e.status&&"text-muted-foreground"),children:e.label}),e.detail&&(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-0.5",children:e.detail})]})]},e.id)),n&&(0,r.jsxs)("div",{className:"flex items-center gap-2 text-sm font-medium text-green-600 pt-1",children:[(0,r.jsx)(e0.A,{className:"size-4"}),"Handed off!"]})]}),(n||a)&&(0,r.jsxs)("div",{className:"border-t px-4 py-2 flex gap-2",children:[a&&t&&(0,r.jsx)(g.$,{size:"sm",variant:"outline",onClick:t,className:"flex-1 text-xs cursor-pointer",children:"Retry"}),(0,r.jsx)(g.$,{size:"sm",variant:"ghost",onClick:s,className:"flex-1 text-xs cursor-pointer",children:"Close"})]})]})}let e2=(0,s(8460).F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function e3({className:e,variant:t,...s}){return(0,r.jsx)("div",{className:(0,y.cn)(e2({variant:t}),e),...s})}var e4=s(2083);let e6={addition:"bg-green-500/10 text-green-800",deletion:"bg-red-500/10 text-red-800",hunk:"bg-blue-500/8 text-blue-600 font-medium",context:"",meta:"text-muted-foreground"},e8={addition:"bg-green-500/15 text-green-700 border-r border-green-500/20",deletion:"bg-red-500/15 text-red-700 border-r border-red-500/20",hunk:"bg-blue-500/10 border-r border-blue-500/20",context:"bg-muted/30 text-muted-foreground border-r border-border/50",meta:"bg-muted/30 border-r border-border/50"};function e9({open:e,reviewData:t,truncated:s,totalLines:n,attempt:l,onApprove:i,onCancel:o,onResolveDifferently:c}){let[d,p]=(0,a.useState)(!0),[h,f]=(0,a.useState)(!1),[b,j]=(0,a.useState)(""),[y,v]=(0,a.useState)(new Set),N=new Set(t.conflictFiles.filter(e=>"text"===e.type).map(e=>e.path)),w=new Set(t.conflictFiles.filter(e=>"binary"===e.type).map(e=>e.path)),C=!t.fullDiff||"No diff available"===t.fullDiff,S=(0,a.useMemo)(()=>C?[]:function(e,t,s){let r=e.split("\n"),n=[],a=null,l=0,i=0;for(let e of r){let r=e.match(/^diff --git a\/(.+?) b\/(.+)$/);if(r){a&&n.push(a);let e=r[2];a={filePath:e,lines:[],additions:0,deletions:0,isConflictFile:t.has(e),isBinaryConflict:s.has(e)};continue}if(!a)continue;let o=e.match(/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@(.*)/);if(o){l=parseInt(o[1],10),i=parseInt(o[2],10),a.lines.push({content:e,type:"hunk",oldNum:null,newNum:null});continue}if(e.startsWith("index ")||e.startsWith("--- ")||e.startsWith("+++ ")||e.startsWith("old mode")||e.startsWith("new mode")||e.startsWith("new file")||e.startsWith("deleted file")||e.startsWith("similarity index")||e.startsWith("rename from")||e.startsWith("rename to")||e.startsWith("Binary files")){a.lines.push({content:e,type:"meta",oldNum:null,newNum:null});continue}if(e.startsWith("+")){a.additions++,a.lines.push({content:e.slice(1),type:"addition",oldNum:null,newNum:i++});continue}if(e.startsWith("-")){a.deletions++,a.lines.push({content:e.slice(1),type:"deletion",oldNum:l++,newNum:null});continue}a.lines.push({content:e.startsWith(" ")?e.slice(1):e,type:"context",oldNum:l++,newNum:i++})}return a&&n.push(a),n}(t.fullDiff,N,w),[t.fullDiff,C]),A=(0,a.useMemo)(()=>t.aiExplanation?function(e){let t=[],s=null,r=e.split("\n"),n=[];for(let e of r){let s=e.match(/^\|?\s*`?([^\s|`]+\.\w+)`?\s*\|\s*(.+?)\s*\|?\s*$/);if(s){let e=s[1].split("/").pop()||s[1];t.push({fileName:e,explanation:s[2].trim()});continue}let r=e.match(/^\*\*([^\s*]+\.\w+)\*\*\s*[—:\-–]\s*(.+)$/);if(r){let e=r[1].split("/").pop()||r[1];t.push({fileName:e,explanation:r[2].trim()});continue}let a=e.match(/^[-*]\s+`?([^\s`]+\.\w+)`?\s*[—:\-–]\s*(.+)$/);if(a){let e=a[1].split("/").pop()||a[1];t.push({fileName:e,explanation:a[2].trim()});continue}e.match(/^\|?\s*[-|]+\s*\|?\s*$/)||e.match(/^\|\s*File\s*\|/i)||n.push(e)}let a=n.join("\n").trim();return a&&(s=a),{fileExplanations:t,summary:s}}(t.aiExplanation):null,[t.aiExplanation]);return(0,r.jsx)(x.lG,{open:e,onOpenChange:()=>{},children:(0,r.jsxs)(x.Cf,{className:"sm:max-w-4xl max-h-[85vh] flex flex-col overflow-hidden",showCloseButton:!1,onPointerDownOutside:e=>e.preventDefault(),onEscapeKeyDown:e=>e.preventDefault(),children:[(0,r.jsxs)(x.c7,{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)(x.L3,{children:"Review conflict resolution"}),l&&l>1&&(0,r.jsxs)(e3,{className:"bg-blue-100 text-blue-800 border-blue-300",children:["Attempt ",l]})]}),(0,r.jsxs)(x.rr,{children:["The AI resolved ",t.conflictFiles.length," conflict",1!==t.conflictFiles.length?"s":"",". Review the changes before merging."]})]}),(0,r.jsxs)("div",{className:"flex-1 min-h-0 overflow-y-auto space-y-3",children:[A&&(0,r.jsxs)("div",{className:"rounded-lg border border-indigo-200 bg-indigo-50/50 overflow-hidden",children:[(0,r.jsxs)("button",{onClick:()=>p(!d),className:"flex items-center gap-2 w-full px-3 py-2.5 bg-indigo-100/60 cursor-pointer hover:bg-indigo-100 transition-colors",children:[(0,r.jsx)(e4.A,{className:"size-4 text-indigo-600"}),(0,r.jsx)("span",{className:"text-sm font-semibold text-indigo-800",children:"How conflicts were resolved"}),d?(0,r.jsx)(u.A,{className:"size-4 ml-auto text-indigo-500"}):(0,r.jsx)(m.A,{className:"size-4 ml-auto text-indigo-500"})]}),d&&(0,r.jsxs)("div",{className:"px-3 py-3 space-y-2",children:[A.fileExplanations.map((e,t)=>(0,r.jsxs)("div",{className:"flex gap-2.5 p-2.5 rounded-md bg-white border border-border/50",children:[(0,r.jsx)(ea.A,{className:"size-4 text-amber-500 mt-0.5 shrink-0"}),(0,r.jsxs)("div",{className:"min-w-0",children:[(0,r.jsx)("p",{className:"text-xs font-semibold text-foreground",children:(0,r.jsx)("code",{className:"bg-muted px-1 py-0.5 rounded text-[11px]",children:e.fileName})}),(0,r.jsx)("p",{className:"text-xs text-muted-foreground mt-1 leading-relaxed",children:e.explanation})]})]},t)),0===A.fileExplanations.length&&t.aiExplanation&&(0,r.jsx)("div",{className:"text-xs text-foreground/80 whitespace-pre-wrap leading-relaxed",children:t.aiExplanation}),A.summary&&(0,r.jsxs)("div",{className:"flex items-start gap-2 px-2.5 py-2 rounded-md bg-green-50 border border-green-200 text-xs text-green-800 leading-relaxed",children:[(0,r.jsx)(k.A,{className:"size-3.5 mt-0.5 shrink-0"}),(0,r.jsx)("span",{children:A.summary})]})]})]}),(0,r.jsx)("div",{className:"rounded-lg border",children:C?(0,r.jsx)("div",{className:"flex items-center justify-center py-12 text-muted-foreground text-sm",children:"No changes detected"}):(0,r.jsxs)("div",{className:"divide-y divide-border",children:[S.map((e,t)=>{let s=y.has(t),n=e.filePath.split("/").pop()||e.filePath,a=e.filePath.includes("/")?e.filePath.slice(0,e.filePath.lastIndexOf("/")+1):"";return(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{onClick:()=>{v(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:`flex items-center gap-2 px-3 py-2 cursor-pointer sticky top-0 z-10 ${e.isConflictFile?"bg-amber-50 hover:bg-amber-100/70":"bg-muted/50 hover:bg-muted/80"} transition-colors`,children:[s?(0,r.jsx)(m.A,{className:"size-3.5 text-muted-foreground shrink-0"}):(0,r.jsx)(u.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,r.jsx)(ea.A,{className:"size-3.5 text-muted-foreground shrink-0"}),(0,r.jsxs)("span",{className:"font-mono text-xs truncate",children:[a&&(0,r.jsx)("span",{className:"text-muted-foreground",children:a}),(0,r.jsx)("span",{className:"font-medium",children:n})]}),e.isConflictFile&&(0,r.jsx)(e3,{className:"bg-amber-100 text-amber-800 border-amber-300 text-[10px] px-1.5 py-0",children:"CONFLICT"}),e.isBinaryConflict&&(0,r.jsx)(e3,{className:"bg-red-100 text-red-800 border-red-300 text-[10px] px-1.5 py-0",children:"BINARY"}),(0,r.jsxs)("span",{className:"ml-auto flex items-center gap-1 text-xs shrink-0",children:[e.additions>0&&(0,r.jsxs)("span",{className:"text-green-600 font-medium",children:["+",e.additions]}),e.additions>0&&e.deletions>0&&(0,r.jsx)("span",{className:"text-muted-foreground",children:"\xb7"}),e.deletions>0&&(0,r.jsxs)("span",{className:"text-red-600 font-medium",children:["−",e.deletions]})]})]}),!s&&(0,r.jsx)("div",{className:"font-mono text-[11px] leading-5",children:e.lines.map((e,t)=>"meta"===e.type?null:(0,r.jsxs)("div",{className:`flex ${e6[e.type]}`,children:[(0,r.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${e8[e.type]}`,children:e.oldNum??""}),(0,r.jsx)("span",{className:`w-10 shrink-0 text-right pr-2 select-none text-[10px] ${e8[e.type]}`,children:e.newNum??""}),(0,r.jsx)("span",{className:"flex-1 px-2 whitespace-pre overflow-x-auto",children:"hunk"===e.type?(0,r.jsx)("span",{className:"font-medium",children:e.content}):e.content||"\xa0"})]},t))})]},t)}),s&&(0,r.jsxs)("div",{className:"px-3 py-2.5 bg-amber-50 border-t border-amber-200 text-amber-800 text-xs",children:[(0,r.jsx)(eX.A,{className:"size-3.5 inline mr-1.5 -mt-0.5"}),"Diff truncated — showing first 5,000 of"," ",n?.toLocaleString()," lines"]})]})})]}),h&&(0,r.jsxs)("div",{className:"border-t pt-3 mt-3 space-y-2 shrink-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium",children:"How should the conflicts be resolved?"}),(0,r.jsx)("textarea",{className:"w-full min-h-[80px] rounded-md border p-2 text-sm",placeholder:"Describe how you want the conflicts resolved...",value:b,onChange:e=>j(e.target.value)}),(0,r.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",size:"sm",onClick:()=>f(!1),className:"cursor-pointer",children:"Back"}),(0,r.jsx)(g.$,{size:"sm",onClick:()=>c(b),disabled:!b.trim(),className:"bg-amber-600 hover:bg-amber-700 text-white cursor-pointer",children:"Submit feedback"})]})]}),!h&&(0,r.jsx)(x.Es,{className:"shrink-0",children:(0,r.jsxs)("div",{className:"flex w-full justify-between",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:()=>f(!0),className:"text-amber-700 border-amber-300 hover:bg-amber-50 cursor-pointer",children:"Resolve differently ↻"}),(0,r.jsxs)("div",{className:"flex gap-2",children:[(0,r.jsx)(g.$,{variant:"outline",onClick:o,className:"cursor-pointer",children:"Cancel"}),(0,r.jsx)(g.$,{onClick:i,className:"bg-green-600 hover:bg-green-700 text-white cursor-pointer",children:"Approve & Merge"})]})]})})]})})}var e7=s(6007),te=s(4),tt=s(9409);function ts(){let e,t=(0,n.useParams)(),s=(0,n.useRouter)(),i=(0,n.useSearchParams)(),o=t.slug,c="string"==typeof t.repoId?t.repoId:void 0,d=c?`/r/${encodeURIComponent(c)}/board`:"/board",p=e=>c?`/r/${encodeURIComponent(c)}/task/${encodeURIComponent(e)}`:`/task/${encodeURIComponent(e)}`,x=i.get("chef"),h=i.get("context"),{task:j,loading:v,fetchTask:N,updateBody:w}=(0,l.S)(o,c);(0,a.useEffect)(()=>{if(c)return;let e=!1;return fetch("/api/repos").then(e=>e.ok?e.json():null).then(t=>{!e&&t?.lastRepoId&&s.replace(`/r/${encodeURIComponent(t.lastRepoId)}/task/${encodeURIComponent(o)}`)}).catch(()=>{}),()=>{e=!0}},[c,s,o]);let[k,C]=(0,a.useState)(null),A=(0,a.useCallback)(async()=>{try{let e=await fetch("/api/tasks/counts"),t=await e.json();return C({slugs:t.slugs,total:t.inputNeeded}),t}catch{return null}},[]);(0,a.useEffect)(()=>{A()},[o,A]);let z=(0,a.useMemo)(()=>{if(!k||0===k.total)return null;let e=k.slugs.indexOf(o);if(-1===e)return{nextSlug:k.slugs[0],total:k.total};let t=(e+1)%k.slugs.length;return{nextSlug:k.slugs[t],total:k.total}},[k,o]),$=(0,a.useCallback)(async()=>{let e=await A();if(!e||0===e.inputNeeded)return;let t=e.slugs.indexOf(o),r=-1===t?e.slugs[0]:e.slugs[(t+1)%e.slugs.length];s.push(p(r))},[A,o,s]),[I,E]=(0,a.useState)("view"),[T,O]=(0,a.useState)(!1),[P,L]=(0,a.useState)("tasks"),[_,B]=(0,a.useState)([]),[J,Y]=(0,a.useState)(void 0),[G,H]=(0,a.useState)(0),[q,Q]=(0,a.useState)({mode:"workflow"}),[V,Z]=(0,a.useState)(!1),[X,ee]=(0,a.useState)(""),[et,es]=(0,a.useState)(!1),[er,en]=(0,a.useState)(null),[eo,ec]=(0,a.useState)(!1),[ed,eu]=(0,a.useState)(null),[em,ep]=(0,a.useState)(!1),[ex,eh]=(0,a.useState)(null),[ef,eg]=(0,a.useState)(!1),eb=(0,a.useRef)(null),[ej,ey]=(0,a.useState)(null),[ev,eN]=(0,a.useState)(!1),ew=(0,a.useRef)(null),{panelStyle:ek,isDragging:eC,handleMouseDown:eS,resetWidth:eA}=function({storageKey:e,defaultWidthRatio:t,minWidth:s,maxWidthRatio:r,containerRef:n}){let[l,i]=(0,a.useState)(-1),[o,c]=(0,a.useState)(!1),d=(0,a.useRef)(0),u=(0,a.useRef)(!1),m=(0,a.useRef)(null),p=(0,a.useRef)(null),x=(0,a.useRef)(null),h=(0,a.useRef)(null);(0,a.useEffect)(()=>{let s=localStorage.getItem(e);if(s){let e=Number(s);if(!Number.isNaN(e)&&e>0){i(e),d.current=e;return}}i(t)},[e,t]);let f=(0,a.useCallback)(e=>{let t=n.current?.offsetWidth??0;return 0===t?e:Math.min(Math.max(e,s),t*r)},[n,s,r]),g=(0,a.useCallback)(t=>{let s=m.current,r=p.current,n=x.current,a=h.current;s&&document.removeEventListener("mousemove",s),r&&window.removeEventListener("mouseup",r),n&&window.removeEventListener("blur",n),a&&document.removeEventListener("visibilitychange",a),m.current=null,p.current=null,x.current=null,h.current=null,document.body.classList.remove("resizing"),u.current&&(u.current=!1,c(!1),t&&(i(d.current),localStorage.setItem(e,String(Math.round(d.current)))))},[e]);(0,a.useEffect)(()=>{let e=()=>{i(e=>{if(-1===e||e<=1)return e;let t=f(e);return d.current=t,t})};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[f]);let b=(0,a.useCallback)(e=>{g(!1),e.preventDefault(),c(!0),u.current=!0,document.body.classList.add("resizing");let t=e.clientX,s=e.currentTarget.nextElementSibling,r=s?.offsetWidth||0;d.current=r;let n=e=>{let n=f(r+(t-e.clientX));d.current=n,s&&(s.style.width=`${n}px`)},a=()=>{g(!0)},l=()=>{"visible"!==document.visibilityState&&g(!0)};m.current=n,p.current=a,x.current=a,h.current=l,document.addEventListener("mousemove",n),window.addEventListener("mouseup",a),window.addEventListener("blur",a),document.addEventListener("visibilitychange",l)},[f,g]);(0,a.useEffect)(()=>()=>{g(!1),document.body.classList.remove("resizing")},[g]);let j=(0,a.useCallback)(()=>{i(t),d.current=0,localStorage.removeItem(e)},[t,e]);return{panelStyle:-1===l?void 0:l<=1?{width:`${(100*l).toFixed(1)}%`}:{width:`${l}px`},isDragging:o,handleMouseDown:b,resetWidth:j}}({storageKey:"kanban-detail-sidebar-width",defaultWidthRatio:.35,minWidth:280,maxWidthRatio:.5,containerRef:ew});(0,a.useEffect)(()=>{fetch("/api/chefs").then(e=>e.json()).then(e=>B(e)).catch(()=>{})},[]),(0,a.useEffect)(()=>{Y(void 0),fetch(`/api/tasks/${encodeURIComponent(o)}/thread-state`).then(e=>e.ok?e.json():null).then(e=>Y(e)).catch(()=>Y(null))},[o]),(0,a.useEffect)(()=>{j?.branch&&fetch(`/api/tasks/${o}/pr-status`).then(e=>e.json()).then(e=>{"state"in e?en(e):en(null)}).catch(()=>en(null))},[o,j?.branch]),(0,a.useEffect)(()=>{if(!j?.branch){ec(!1),eu(null);return}fetch(`/api/tasks/${o}/git`).then(e=>e.json()).then(e=>{if(e.error){ec(!1),eu(null);return}ec((e.staged?.length??0)>0||(e.unstaged?.length??0)>0||(e.commits?.length??0)>0),eu(e.worktreeCwd??null)}).catch(()=>{ec(!1),eu(null)})},[o,j?.branch]);let ez=(0,a.useCallback)(e=>{B(e),e.forEach((e,t)=>{fetch("/api/chefs",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:e.slug,order:t+1})}).catch(()=>{})})},[]);(0,a.useEffect)(()=>{let e=e=>{if("Escape"!==e.key)return;let t=e.target?.tagName;"INPUT"===t||"TEXTAREA"===t||"edit"!==I&&s.push(d)};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[s,I]);let e$=(0,a.useCallback)(async e=>{ey(null),eN(!0);try{await w(e)?(E("view"),ey(null)):ey("Failed to save. Please try again.")}catch{ey("Failed to save. Please try again.")}finally{eN(!1)}},[w]),eI=(0,a.useCallback)(()=>{E("view"),ey(null)},[]),eE=(0,a.useCallback)(async(e,t)=>{let s=await fetch(`/api/tasks/${o}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:e,force:t})});if(s.ok){if((await s.json()).worktreeWarning){window.confirm("This task's worktree has uncommitted changes. Remove worktree anyway?")&&await eE(e,!0);return}await N()}},[o,N]),eR=(0,a.useCallback)(e=>{(0,W.U8)(o,e)},[o]),eO=(0,a.useCallback)(async()=>{let e=X.trim();if(!e||e===j?.title)return void Z(!1);let t=await fetch(`/api/tasks/${o}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e})});if(t.ok){let e=await t.json();Z(!1),e.newSlug?(eR(e.newSlug),s.replace(p(e.newSlug))):await N()}},[o,X,j?.title,s,N,eR]),eP=(0,a.useCallback)(async e=>{(await fetch(`/api/tasks/${o}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({priority:e})})).ok&&await N()},[o,N]),eL=(0,a.useCallback)(async()=>{(await fetch(`/api/tasks/${o}`,{method:"DELETE"})).ok&&s.push(d)},[o,s]),eF=(0,a.useCallback)(async()=>{es(!0);try{let e=await fetch(`/api/tasks/${o}/create-branch`,{method:"POST"});(await e.json()).error||await N()}finally{es(!1)}},[o,N]),eU=(0,a.useCallback)(()=>{if(!ed)return;let e=`cd "${ed}"`;navigator.clipboard.writeText(e).then(()=>{ep(!0),setTimeout(()=>ep(!1),2e3)}).catch(()=>{})},[ed]),e_=(0,a.useCallback)(()=>{eb.current||(eg(!0),eb.current=setInterval(async()=>{try{let e=await fetch(`/api/tasks/${o}/handoff`),t=await e.json();if("idle"===t.phase){eb.current&&clearInterval(eb.current),eb.current=null,eh(null),eg(!1);return}eh(t),"completed"===t.phase?(eb.current&&clearInterval(eb.current),eb.current=null,eg(!1),await N(),s.push(d)):("error"===t.phase||"cancelled"===t.phase)&&(eb.current&&clearInterval(eb.current),eb.current=null)}catch{}},1500))},[o,N,s]);(0,a.useEffect)(()=>()=>{eb.current&&(clearInterval(eb.current),eb.current=null)},[o]),(0,a.useEffect)(()=>{fetch(`/api/tasks/${o}/handoff`).then(e=>e.json()).then(e=>{e.phase&&"idle"!==e.phase&&(eh(e),e_())}).catch(()=>{})},[o,e_]);let eM=(0,a.useCallback)(async()=>{if(ex?.phase==="running"||ex?.phase==="awaiting_review")return;eh(null);let e=await fetch(`/api/tasks/${o}/handoff`,{method:"POST"}),t=await e.json();e.ok&&(eh(t),e_())},[o,ex,e_]),eW=(0,a.useCallback)(async()=>{await fetch(`/api/tasks/${o}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"approve"})}),eh(e=>e?{...e,phase:"running",reviewData:null}:null)},[o]),eB=(0,a.useCallback)(async()=>{await fetch(`/api/tasks/${o}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"cancel"})}),eh(e=>e?{...e,phase:"cancelled",reviewData:null}:null)},[o]),eJ=(0,a.useCallback)(async e=>{await fetch(`/api/tasks/${o}/handoff/review`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"retry",feedback:e})}),eh(e=>e?{...e,phase:"running",reviewData:null}:null)},[o]),eY=(0,a.useCallback)(()=>{eg(!1),eh(null),setTimeout(()=>eM(),0)},[eM]);if(v||!j)return(0,r.jsx)("div",{className:"flex h-screen items-center justify-center",children:(0,r.jsx)(te._,{size:"lg"})});let eG=K.cZ.find(e=>e.id===j.column),eX=K.G$[j.column];return(0,r.jsxs)("div",{className:"flex h-screen flex-col",children:[(0,r.jsxs)("header",{className:"relative z-10 flex items-center gap-3 border-b border-border bg-background px-4 py-3",children:[(0,r.jsx)(D.Y6,{label:"Back to board",children:(0,r.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>s.push(d),children:(0,r.jsx)(U.A,{className:"size-4"})})}),(0,r.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2",children:V?(0,r.jsx)("input",{className:"min-w-0 flex-1 border-b-2 border-primary bg-transparent px-0 py-0 text-sm font-medium outline-none",value:X,onChange:e=>ee(e.target.value),onBlur:eO,onKeyDown:e=>{"Enter"===e.key&&eO(),"Escape"===e.key&&Z(!1)},autoFocus:!0}):(0,r.jsx)("h2",{className:"min-w-0 flex-1 cursor-text truncate rounded px-0.5 text-sm font-medium transition-colors hover:bg-muted/50",onClick:()=>{ee(j.title),Z(!0)},children:j.title})}),(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[j.worktree&&(0,r.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-full bg-muted px-2.5 py-0.5 font-mono text-xs font-medium",children:[(0,r.jsx)(eq.A,{className:"size-3 text-muted-foreground"}),(0,r.jsx)("span",{className:"max-w-40 truncate",children:j.worktree.split("/").pop()||j.branch})]}),z&&(0,r.jsx)(D.Y6,{label:"Needs tasting",children:(0,r.jsxs)(g.$,{variant:"outline",size:"sm",className:"gap-1.5",onClick:$,children:[(0,r.jsx)(el.A,{className:"size-3.5"}),"Needs tasting",(0,r.jsx)("span",{className:(0,y.cn)("text-[11px] font-semibold px-[7px] py-px rounded-full tabular-nums",(0,K.eE)("needs_tasting").pillBgClass,(0,K.eE)("needs_tasting").pillTextClass),children:z.total}),(0,r.jsx)(m.A,{className:"size-3.5"})]})}),j.branch&&(0,r.jsxs)("div",{className:"relative",children:[er&&"MERGED"===er.state?(0,r.jsxs)(g.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,r.jsx)(ei.A,{className:"size-3.5 text-green-600"}),"Handed off"]}):er&&"CLOSED"===er.state?(0,r.jsxs)(g.$,{variant:"outline",size:"sm",className:"gap-1.5",disabled:!0,children:[(0,r.jsx)(eT.A,{className:"size-3.5 text-red-500"}),"PR Closed"]}):eo?(0,r.jsx)(D.Y6,{label:"Commit, push, create PR, merge, and clean up",children:(0,r.jsxs)(g.$,{variant:"outline",size:"sm",className:"gap-1.5 border-green-200 bg-green-50 text-green-700 hover:bg-green-100 cursor-pointer",onClick:eM,disabled:ex?.phase==="running"||ex?.phase==="awaiting_review",children:[ex?.phase==="running"||ex?.phase==="awaiting_review"?(0,r.jsx)(S.A,{className:"size-3.5 animate-spin"}):(0,r.jsx)(eK.A,{className:"size-3.5"}),"Hands!"]})}):null,ef&&ex&&(0,r.jsx)(e5,{steps:ex.steps,onRetry:"error"===ex.phase?eY:void 0,onClose:()=>{eg(!1),eh(null)},isComplete:"completed"===ex.phase,isError:"error"===ex.phase}),ex?.phase==="awaiting_review"&&ex.reviewData&&(0,r.jsx)(e9,{open:!0,reviewData:ex.reviewData,truncated:ex.reviewTruncated,totalLines:ex.reviewTotalLines,attempt:ex.reviewAttempt,onApprove:eW,onCancel:eB,onResolveDifferently:eJ})]}),T?(0,r.jsxs)("div",{className:"flex items-center gap-1",children:[(0,r.jsx)(g.$,{variant:"destructive",size:"sm",onClick:eL,children:"Confirm Delete"}),(0,r.jsx)(g.$,{variant:"ghost",size:"sm",onClick:()=>O(!1),children:"Cancel"})]}):(0,r.jsx)(D.Y6,{label:"Delete task",children:(0,r.jsx)(g.$,{variant:"ghost",size:"icon",onClick:()=>O(!0),children:(0,r.jsx)(eQ.A,{className:"size-4"})})})]})]}),(0,r.jsxs)("div",{ref:ew,className:"flex flex-1 overflow-hidden",children:[(0,r.jsx)("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:(0,r.jsx)(eH,{taskSlug:o,taskFilePath:j.filePath,taskContent:j.content,chefs:_,status:j.status,onTaskUpdated:N,onReorderChefs:ez,autoStartChefSlug:x||void 0,autoStartContext:h||void 0,prefetchedThread:J})}),(0,r.jsx)("div",{onMouseDown:eS,onDoubleClick:eA,className:(0,y.cn)("w-1 shrink-0 cursor-col-resize border-l border-steel-100 bg-transparent hover:bg-border transition-colors",eC&&"bg-border")}),(0,r.jsx)("div",{className:"flex shrink-0 flex-col overflow-hidden",style:ek??{width:"35%"},children:"workflow"!==q.mode?"create"===q.mode?(0,r.jsx)(M,{onBack:()=>Q({mode:"workflow"}),onSaved:e=>{B(t=>[...t,e]),Q({mode:"workflow"})}}):(0,r.jsx)(M,{chef:q.chef,onBack:()=>Q({mode:"workflow"}),onSaved:e=>{B(t=>t.map(t=>t.slug===e.slug?e:t)),H(e=>e+1),Q({mode:"edit",chef:e})},onDeleted:()=>{B(e=>e.filter(e=>e.slug!==q.chef.slug)),Q({mode:"workflow"})}},G):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"flex items-center border-b border-steel-100",children:[(0,r.jsxs)("button",{onClick:()=>L("tasks"),className:(0,y.cn)("flex cursor-pointer items-center gap-1.5 px-4 py-2 text-[13px] font-medium transition-colors","tasks"===P?"border-b-2 border-primary text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,r.jsx)(ea.A,{className:"size-3.5"}),"Tasks"]}),(0,r.jsxs)("button",{onClick:()=>L("git"),className:(0,y.cn)("flex cursor-pointer items-center gap-1.5 px-4 py-2 text-[13px] font-medium transition-colors","git"===P?"border-b-2 border-primary text-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),children:[(0,r.jsx)(eq.A,{className:"size-3.5"}),"Git"]})]}),(0,r.jsxs)("div",{className:"flex-1 overflow-hidden",children:["tasks"===P&&(0,r.jsx)("div",{className:"h-full overflow-auto p-4",children:(0,r.jsxs)("div",{className:"space-y-4",children:[(0,r.jsx)("div",{className:(0,y.cn)("rounded border border-steel-100 bg-card px-3 py-2 shadow-md paper-texture","none"!==j.priority&&"border-l-4","urgent"===j.priority&&"border-l-red-400"),style:"high"===j.priority?{borderLeftColor:"hsl(var(--muted-foreground) / 0.8)"}:"medium"===j.priority?{borderLeftColor:"hsl(var(--muted-foreground) / 0.5)"}:"low"===j.priority?{borderLeftColor:"hsl(var(--muted-foreground) / 0.25)"}:void 0,children:(0,r.jsxs)("div",{className:"grid grid-cols-[auto_1fr] items-center gap-x-3 gap-y-1.5 text-sm",children:[(0,r.jsx)("span",{className:"text-muted-foreground",children:"Workspace"}),(0,r.jsx)("div",{className:"min-w-0 overflow-hidden px-2 py-1",children:j.worktree?(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsxs)("span",{className:"inline-flex min-w-0 items-center gap-1.5 rounded-full bg-muted px-2.5 py-0.5 font-mono text-xs",children:[(0,r.jsx)(R.A,{className:"size-3 shrink-0"}),(0,r.jsx)("span",{className:"truncate",children:j.worktree.split("/").pop()})]}),ed&&(0,r.jsx)(D.Y6,{label:"Copy cd path",children:(0,r.jsx)("button",{onClick:eU,className:"shrink-0 cursor-pointer text-muted-foreground hover:text-foreground",children:em?(0,r.jsx)(ei.A,{className:"size-3.5 text-green-600"}):(0,r.jsx)(eV.A,{className:"size-3.5"})})})]}):(0,r.jsxs)("button",{className:"inline-flex cursor-pointer items-center gap-1 text-xs text-primary hover:underline",onClick:eF,disabled:et,children:[et?(0,r.jsx)(S.A,{className:"size-3 animate-spin"}):(0,r.jsx)(R.A,{className:"size-3"}),"Create workspace"]})}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Stage"}),(0,r.jsxs)(eD.rI,{children:[(0,r.jsx)(eD.ty,{asChild:!0,children:(0,r.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded px-2 py-1 text-left hover:bg-muted",children:[eX&&(0,r.jsx)(eX,{className:"size-3.5 text-muted-foreground"}),(0,r.jsx)("span",{className:"truncate",children:eG?.title||j.column}),(0,r.jsx)(u.A,{className:"size-3 text-muted-foreground"})]})}),(0,r.jsx)(eD.SQ,{align:"start",children:K.cZ.map(e=>{let t=K.G$[e.id];return(0,r.jsxs)(eD._2,{onClick:()=>eE(e.id),children:[t&&(0,r.jsx)(t,{className:"size-3.5 text-muted-foreground"}),e.title,e.id===j.column&&" (current)"]},e.id)})})]}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Heat"}),(0,r.jsxs)(eD.rI,{children:[(0,r.jsx)(eD.ty,{asChild:!0,children:(0,r.jsxs)("button",{className:"flex cursor-pointer items-center gap-1.5 rounded px-2 py-1 text-left text-sm hover:bg-muted",children:[(0,r.jsx)(e7.w,{priority:j.priority}),(0,r.jsx)("span",{className:"truncate",children:K.fz.find(e=>e.value===j.priority)?.label??"No priority"}),(0,r.jsx)(u.A,{className:"size-3 text-muted-foreground"})]})}),(0,r.jsx)(eD.SQ,{align:"start",children:K.fz.map(e=>(0,r.jsxs)(eD._2,{onClick:()=>eP(e.value),className:"cursor-pointer",children:[(0,r.jsx)(e7.w,{priority:e.value}),e.label,e.value===j.priority&&" ✓"]},e.value))})]}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Created"}),(0,r.jsx)("span",{className:"px-2 py-1",children:j.created}),(0,r.jsx)("span",{className:"text-muted-foreground",children:"Status"}),(0,r.jsx)("div",{className:"px-2 py-1",children:(e=(0,K.eE)(j.status),(0,r.jsxs)("span",{className:`inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium ${e.pillBgClass} ${e.pillTextClass}`,children:["running"===j.status?(0,r.jsx)(tt.x,{size:"sm"}):(0,r.jsx)("span",{className:`size-1.5 rounded-full ${e.dotClass}`}),e.label]}))})]})}),(0,r.jsxs)("div",{className:"space-y-2",children:[(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[(0,r.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider text-muted-foreground",children:"Notes"}),"view"===I&&(0,r.jsx)(D.Y6,{label:"Edit notes",children:(0,r.jsx)("button",{onClick:()=>E("edit"),className:"cursor-pointer text-muted-foreground hover:text-foreground",children:(0,r.jsx)(eZ.A,{className:"size-3.5"})})})]}),(0,r.jsx)("div",{children:"view"===I?(0,r.jsx)("div",{onClick:()=>E("edit"),className:"cursor-text rounded-md",children:(0,r.jsx)(f,{content:j.body,slug:o})}):(0,r.jsx)(b,{content:j.body,error:ej,saving:ev,onSave:e$,onCancel:eI},o)})]})]})}),"git"===P&&(0,r.jsx)(F,{slug:o,onBranchCreated:N})]})]})})]})]})}},7114:(e,t,s)=>{s.d(t,{v:()=>a});var r=s(5155),n=s(8599);function a({provider:e,className:t}){return"anthropic"===e?(0,r.jsx)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",className:(0,n.cn)("size-4",t),fill:"none",children:(0,r.jsx)("path",{d:"M5 19 10.2 5h3.6L19 19h-3.1l-1.05-3H9.15L8.1 19H5Zm4.95-5.65h4.1L12 7.7l-2.05 5.65Z",fill:"currentColor"})}):(0,r.jsxs)("svg",{viewBox:"0 0 24 24","aria-hidden":"true",className:(0,n.cn)("size-4",t),fill:"none",children:[(0,r.jsx)("path",{d:"M12 4.4a3.9 3.9 0 0 1 3.38 1.95l1.96-.28a4.95 4.95 0 0 1 1.53 6.8l.76 1.84a4.95 4.95 0 0 1-4.22 6.1l-1.2 1.6a4.95 4.95 0 0 1-7.93-.05l-1.9-.2A4.95 4.95 0 0 1 1.4 15.8l-.98-1.71a4.95 4.95 0 0 1 2.79-6.68l1.05-1.61A4.95 4.95 0 0 1 12 4.4Z",stroke:"currentColor",strokeWidth:"1.5"}),(0,r.jsx)("circle",{cx:"12",cy:"12",r:"2.1",fill:"currentColor"})]})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3562],{1933:(e,t,r)=>{r.d(t,{jH:()=>i});var n=r(2115);r(5155);var o=n.createContext(void 0);function i(e){let t=n.useContext(o);return e||t||"ltr"}},3562:(e,t,r)=>{let n,o,i;r.d(t,{UC:()=>tp,YJ:()=>th,q7:()=>tv,JU:()=>tm,ZL:()=>tf,z6:()=>ty,bL:()=>tc,wv:()=>tg,Pb:()=>tw,l9:()=>td});var l=r(2115),a=r(379),s=r(7527),u=r(3837),c=r(8979),d=r(9354),f=r(5155);function p(e){var t;let r,n=(t=e,(r=l.forwardRef((e,t)=>{let{children:r,...n}=e;if(l.isValidElement(r)){var o;let e,i,a=(o=r,(i=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(i=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),u=function(e,t){let r={...t};for(let n in t){let o=e[n],i=t[n];/^on[A-Z]/.test(n)?o&&i?r[n]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...i}:"className"===n&&(r[n]=[o,i].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==l.Fragment&&(u.ref=t?(0,s.t)(t,a):a),l.cloneElement(r,u)}return l.Children.count(r)>1?l.Children.only(null):null})).displayName=`${t}.SlotClone`,r),o=l.forwardRef((e,t)=>{let{children:r,...o}=e,i=l.Children.toArray(r),a=i.find(m);if(a){let e=a.props.children,r=i.map(t=>t!==a?t:l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null);return(0,f.jsx)(n,{...o,ref:t,children:l.isValidElement(e)?l.cloneElement(e,void 0,r):null})}return(0,f.jsx)(n,{...o,ref:t,children:r})});return o.displayName=`${e}.Slot`,o}var h=Symbol("radix.slottable");function m(e){return l.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===h}function v(e){let t=e+"CollectionProvider",[r,n]=(0,u.A)(t),[o,i]=r(t,{collectionRef:{current:null},itemMap:new Map}),a=e=>{let{scope:t,children:r}=e,n=l.useRef(null),i=l.useRef(new Map).current;return(0,f.jsx)(o,{scope:t,itemMap:i,collectionRef:n,children:r})};a.displayName=t;let c=e+"CollectionSlot",d=p(c),h=l.forwardRef((e,t)=>{let{scope:r,children:n}=e,o=i(c,r),l=(0,s.s)(t,o.collectionRef);return(0,f.jsx)(d,{ref:l,children:n})});h.displayName=c;let m=e+"CollectionItemSlot",v="data-radix-collection-item",y=p(m),g=l.forwardRef((e,t)=>{let{scope:r,children:n,...o}=e,a=l.useRef(null),u=(0,s.s)(t,a),c=i(m,r);return l.useEffect(()=>(c.itemMap.set(a,{ref:a,...o}),()=>void c.itemMap.delete(a))),(0,f.jsx)(y,{...{[v]:""},ref:u,children:n})});return g.displayName=m,[{Provider:a,Slot:h,ItemSlot:g},function(t){let r=i(e+"CollectionConsumer",t);return l.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}var y=new WeakMap;function g(e,t){var r,n;let o,i,l;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let a=(r=e,n=t,o=r.length,(l=(i=w(n))>=0?i:o+i)<0||l>=o?-1:l);return -1===a?void 0:e[a]}function w(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],y.set(this,!0)}set(e,t){return y.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,o=this.has(t),i=this.#e.length,l=w(e),a=l>=0?l:i+l,s=a<0||a>=i?-1:a;if(s===this.size||o&&s===this.size-1||-1===s)return this.set(t,r),this;let u=this.size+ +!o;l<0&&a++;let c=[...this.#e],d=!1;for(let e=a;e<u;e++)if(a===e){let i=c[e];c[e]===t&&(i=c[e+1]),o&&this.delete(t),n=this.get(i),this.set(t,r)}else{d||c[e-1]!==t||(d=!0);let r=c[d?e:e-1],o=n;n=this.get(r),this.delete(r),this.set(r,o)}return this}with(t,r,n){let o=new e(this);return o.insert(t,r,n),o}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=g(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=g(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return g(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],o=0;for(let e of this)Reflect.apply(t,r,[e,o,this])&&n.push(e),o++;return new e(n)}map(t,r){let n=[],o=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,o,this])]),o++;return new e(n)}reduce(...e){let[t,r]=e,n=0,o=r??this.at(0);for(let r of this)o=0===n&&1===e.length?r:Reflect.apply(t,this,[o,r,n,this]),n++;return o}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let o=this.at(r);n=r===this.size-1&&1===e.length?o:Reflect.apply(t,this,[n,o,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,o=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(o=r-1);for(let e=t;e<=o;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}});var x=r(1933),C=r(8454),R=r(2007),b=r(9885),j=r(9971),M=r(8142),k=r(9040),D=r(3935),_=r(7347),E="rovingFocusGroup.onEntryFocus",I={bubbles:!1,cancelable:!0},A="RovingFocusGroup",[K,O,S]=v(A),[P,N]=(0,u.A)(A,[S]),[T,F]=P(A),L=l.forwardRef((e,t)=>(0,f.jsx)(K.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(K.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,f.jsx)(G,{...e,ref:t})})}));L.displayName=A;var G=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:n,loop:o=!1,dir:i,currentTabStopId:u,defaultCurrentTabStopId:p,onCurrentTabStopIdChange:h,onEntryFocus:m,preventScrollOnEntryFocus:v=!1,...y}=e,g=l.useRef(null),w=(0,s.s)(t,g),C=(0,x.jH)(i),[R,b]=(0,c.i)({prop:u,defaultProp:p??null,onChange:h,caller:A}),[j,M]=l.useState(!1),k=(0,_.c)(m),D=O(r),K=l.useRef(!1),[S,P]=l.useState(0);return l.useEffect(()=>{let e=g.current;if(e)return e.addEventListener(E,k),()=>e.removeEventListener(E,k)},[k]),(0,f.jsx)(T,{scope:r,orientation:n,dir:C,loop:o,currentTabStopId:R,onItemFocus:l.useCallback(e=>b(e),[b]),onItemShiftTab:l.useCallback(()=>M(!0),[]),onFocusableItemAdd:l.useCallback(()=>P(e=>e+1),[]),onFocusableItemRemove:l.useCallback(()=>P(e=>e-1),[]),children:(0,f.jsx)(d.sG.div,{tabIndex:j||0===S?-1:0,"data-orientation":n,...y,ref:w,style:{outline:"none",...e.style},onMouseDown:(0,a.mK)(e.onMouseDown,()=>{K.current=!0}),onFocus:(0,a.mK)(e.onFocus,e=>{let t=!K.current;if(e.target===e.currentTarget&&t&&!j){let t=new CustomEvent(E,I);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=D().filter(e=>e.focusable);U([e.find(e=>e.active),e.find(e=>e.id===R),...e].filter(Boolean).map(e=>e.ref.current),v)}}K.current=!1}),onBlur:(0,a.mK)(e.onBlur,()=>M(!1))})})}),B="RovingFocusGroupItem",z=l.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:n=!0,active:o=!1,tabStopId:i,children:s,...u}=e,c=(0,j.B)(),p=i||c,h=F(B,r),m=h.currentTabStopId===p,v=O(r),{onFocusableItemAdd:y,onFocusableItemRemove:g,currentTabStopId:w}=h;return l.useEffect(()=>{if(n)return y(),()=>g()},[n,y,g]),(0,f.jsx)(K.ItemSlot,{scope:r,id:p,focusable:n,active:o,children:(0,f.jsx)(d.sG.span,{tabIndex:m?0:-1,"data-orientation":h.orientation,...u,ref:t,onMouseDown:(0,a.mK)(e.onMouseDown,e=>{n?h.onItemFocus(p):e.preventDefault()}),onFocus:(0,a.mK)(e.onFocus,()=>h.onItemFocus(p)),onKeyDown:(0,a.mK)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void h.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let o=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(o))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(o)))return V[o]}(e,h.orientation,h.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let o=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)o.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&o.reverse();let i=o.indexOf(e.currentTarget);o=h.loop?(r=o,n=i+1,r.map((e,t)=>r[(n+t)%r.length])):o.slice(i+1)}setTimeout(()=>U(o))}}),children:"function"==typeof s?s({isCurrentTabStop:m,hasTabStop:null!=w}):s})})});z.displayName=B;var V={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function U(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var W=Symbol("radix.slottable");function H(e){return l.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===W}var X=r(2954),Z=r(5174),q=["Enter"," "],Y=["ArrowUp","PageDown","End"],$=["ArrowDown","PageUp","Home",...Y],J={ltr:[...q,"ArrowRight"],rtl:[...q,"ArrowLeft"]},Q={ltr:["ArrowLeft"],rtl:["ArrowRight"]},ee="Menu",[et,er,en]=v(ee),[eo,ei]=(0,u.A)(ee,[en,M.Bk,N]),el=(0,M.Bk)(),ea=N(),[es,eu]=eo(ee),[ec,ed]=eo(ee),ef=e=>{let{__scopeMenu:t,open:r=!1,children:n,dir:o,onOpenChange:i,modal:a=!0}=e,s=el(t),[u,c]=l.useState(null),d=l.useRef(!1),p=(0,_.c)(i),h=(0,x.jH)(o);return l.useEffect(()=>{let e=()=>{d.current=!0,document.addEventListener("pointerdown",t,{capture:!0,once:!0}),document.addEventListener("pointermove",t,{capture:!0,once:!0})},t=()=>d.current=!1;return document.addEventListener("keydown",e,{capture:!0}),()=>{document.removeEventListener("keydown",e,{capture:!0}),document.removeEventListener("pointerdown",t,{capture:!0}),document.removeEventListener("pointermove",t,{capture:!0})}},[]),(0,f.jsx)(M.bL,{...s,children:(0,f.jsx)(es,{scope:t,open:r,onOpenChange:p,content:u,onContentChange:c,children:(0,f.jsx)(ec,{scope:t,onClose:l.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:d,dir:h,modal:a,children:n})})})};ef.displayName=ee;var ep=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,o=el(r);return(0,f.jsx)(M.Mz,{...o,...n,ref:t})});ep.displayName="MenuAnchor";var eh="MenuPortal",[em,ev]=eo(eh,{forceMount:void 0}),ey=e=>{let{__scopeMenu:t,forceMount:r,children:n,container:o}=e,i=eu(eh,t);return(0,f.jsx)(em,{scope:t,forceMount:r,children:(0,f.jsx)(D.C,{present:r||i.open,children:(0,f.jsx)(k.Z,{asChild:!0,container:o,children:n})})})};ey.displayName=eh;var eg="MenuContent",[ew,ex]=eo(eg),eC=l.forwardRef((e,t)=>{let r=ev(eg,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,i=eu(eg,e.__scopeMenu),l=ed(eg,e.__scopeMenu);return(0,f.jsx)(et.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(D.C,{present:n||i.open,children:(0,f.jsx)(et.Slot,{scope:e.__scopeMenu,children:l.modal?(0,f.jsx)(eR,{...o,ref:t}):(0,f.jsx)(eb,{...o,ref:t})})})})}),eR=l.forwardRef((e,t)=>{let r=eu(eg,e.__scopeMenu),n=l.useRef(null),o=(0,s.s)(t,n);return l.useEffect(()=>{let e=n.current;if(e)return(0,X.Eq)(e)},[]),(0,f.jsx)(eM,{...e,ref:o,trapFocus:r.open,disableOutsidePointerEvents:r.open,disableOutsideScroll:!0,onFocusOutside:(0,a.mK)(e.onFocusOutside,e=>e.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>r.onOpenChange(!1)})}),eb=l.forwardRef((e,t)=>{let r=eu(eg,e.__scopeMenu);return(0,f.jsx)(eM,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>r.onOpenChange(!1)})}),ej=((i=l.forwardRef((e,t)=>{let{children:r,...n}=e;if(l.isValidElement(r)){var o;let e,i,a=(o=r,(i=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(i=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),u=function(e,t){let r={...t};for(let n in t){let o=e[n],i=t[n];/^on[A-Z]/.test(n)?o&&i?r[n]=(...e)=>{let t=i(...e);return o(...e),t}:o&&(r[n]=o):"style"===n?r[n]={...o,...i}:"className"===n&&(r[n]=[o,i].filter(Boolean).join(" "))}return{...e,...r}}(n,r.props);return r.type!==l.Fragment&&(u.ref=t?(0,s.t)(t,a):a),l.cloneElement(r,u)}return l.Children.count(r)>1?l.Children.only(null):null})).displayName="MenuContent.ScrollLock.SlotClone",n=i,(o=l.forwardRef((e,t)=>{let{children:r,...o}=e,i=l.Children.toArray(r),a=i.find(H);if(a){let e=a.props.children,r=i.map(t=>t!==a?t:l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null);return(0,f.jsx)(n,{...o,ref:t,children:l.isValidElement(e)?l.cloneElement(e,void 0,r):null})}return(0,f.jsx)(n,{...o,ref:t,children:r})})).displayName="MenuContent.ScrollLock.Slot",o),eM=l.forwardRef((e,t)=>{let{__scopeMenu:r,loop:n=!1,trapFocus:o,onOpenAutoFocus:i,onCloseAutoFocus:u,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:v,onDismiss:y,disableOutsideScroll:g,...w}=e,x=eu(eg,r),j=ed(eg,r),k=el(r),D=ea(r),_=er(r),[E,I]=l.useState(null),A=l.useRef(null),K=(0,s.s)(t,A,x.onContentChange),O=l.useRef(0),S=l.useRef(""),P=l.useRef(0),N=l.useRef(null),T=l.useRef("right"),F=l.useRef(0),G=g?Z.A:l.Fragment;l.useEffect(()=>()=>window.clearTimeout(O.current),[]),(0,R.Oh)();let B=l.useCallback(e=>{var t,r;return T.current===N.current?.side&&(t=e,!!(r=N.current?.area)&&function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>n!=d>n&&r<(c-s)*(n-u)/(d-u)+s&&(o=!o)}return o}({x:t.clientX,y:t.clientY},r))},[]);return(0,f.jsx)(ew,{scope:r,searchRef:S,onItemEnter:l.useCallback(e=>{B(e)&&e.preventDefault()},[B]),onItemLeave:l.useCallback(e=>{B(e)||(A.current?.focus(),I(null))},[B]),onTriggerLeave:l.useCallback(e=>{B(e)&&e.preventDefault()},[B]),pointerGraceTimerRef:P,onPointerGraceIntentChange:l.useCallback(e=>{N.current=e},[]),children:(0,f.jsx)(G,{...g?{as:ej,allowPinchZoom:!0}:void 0,children:(0,f.jsx)(b.n,{asChild:!0,trapped:o,onMountAutoFocus:(0,a.mK)(i,e=>{e.preventDefault(),A.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:u,children:(0,f.jsx)(C.qW,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:p,onPointerDownOutside:h,onFocusOutside:m,onInteractOutside:v,onDismiss:y,children:(0,f.jsx)(L,{asChild:!0,...D,dir:j.dir,orientation:"vertical",loop:n,currentTabStopId:E,onCurrentTabStopIdChange:I,onEntryFocus:(0,a.mK)(d,e=>{j.isUsingKeyboardRef.current||e.preventDefault()}),preventScrollOnEntryFocus:!0,children:(0,f.jsx)(M.UC,{role:"menu","aria-orientation":"vertical","data-state":eQ(x.open),"data-radix-menu-content":"",dir:j.dir,...k,...w,ref:K,style:{outline:"none",...w.style},onKeyDown:(0,a.mK)(w.onKeyDown,e=>{let t=e.target.closest("[data-radix-menu-content]")===e.currentTarget,r=e.ctrlKey||e.altKey||e.metaKey,n=1===e.key.length;if(t){var o;let t,i,l,a,s,u;"Tab"===e.key&&e.preventDefault(),!r&&n&&(o=e.key,t=S.current+o,i=_().filter(e=>!e.disabled),l=document.activeElement,a=i.find(e=>e.ref.current===l)?.textValue,s=function(e,t,r){var n;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,l=(n=Math.max(i,0),e.map((t,r)=>e[(n+r)%e.length]));1===o.length&&(l=l.filter(e=>e!==r));let a=l.find(e=>e.toLowerCase().startsWith(o.toLowerCase()));return a!==r?a:void 0}(i.map(e=>e.textValue),t,a),u=i.find(e=>e.textValue===s)?.ref.current,function e(t){S.current=t,window.clearTimeout(O.current),""!==t&&(O.current=window.setTimeout(()=>e(""),1e3))}(t),u&&setTimeout(()=>u.focus()))}let i=A.current;if(e.target!==i||!$.includes(e.key))return;e.preventDefault();let l=_().filter(e=>!e.disabled).map(e=>e.ref.current);Y.includes(e.key)&&l.reverse(),function(e){let t=document.activeElement;for(let r of e)if(r===t||(r.focus(),document.activeElement!==t))return}(l)}),onBlur:(0,a.mK)(e.onBlur,e=>{e.currentTarget.contains(e.target)||(window.clearTimeout(O.current),S.current="")}),onPointerMove:(0,a.mK)(e.onPointerMove,e5(e=>{let t=e.target,r=F.current!==e.clientX;e.currentTarget.contains(t)&&r&&(T.current=e.clientX>F.current?"right":"left",F.current=e.clientX)}))})})})})})})});eC.displayName=eg;var ek=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,f.jsx)(d.sG.div,{role:"group",...n,ref:t})});ek.displayName="MenuGroup";var eD=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,f.jsx)(d.sG.div,{...n,ref:t})});eD.displayName="MenuLabel";var e_="MenuItem",eE="menu.itemSelect",eI=l.forwardRef((e,t)=>{let{disabled:r=!1,onSelect:n,...o}=e,i=l.useRef(null),u=ed(e_,e.__scopeMenu),c=ex(e_,e.__scopeMenu),p=(0,s.s)(t,i),h=l.useRef(!1);return(0,f.jsx)(eA,{...o,ref:p,disabled:r,onClick:(0,a.mK)(e.onClick,()=>{let e=i.current;if(!r&&e){let t=new CustomEvent(eE,{bubbles:!0,cancelable:!0});e.addEventListener(eE,e=>n?.(e),{once:!0}),(0,d.hO)(e,t),t.defaultPrevented?h.current=!1:u.onClose()}}),onPointerDown:t=>{e.onPointerDown?.(t),h.current=!0},onPointerUp:(0,a.mK)(e.onPointerUp,e=>{h.current||e.currentTarget?.click()}),onKeyDown:(0,a.mK)(e.onKeyDown,e=>{let t=""!==c.searchRef.current;r||t&&" "===e.key||q.includes(e.key)&&(e.currentTarget.click(),e.preventDefault())})})});eI.displayName=e_;var eA=l.forwardRef((e,t)=>{let{__scopeMenu:r,disabled:n=!1,textValue:o,...i}=e,u=ex(e_,r),c=ea(r),p=l.useRef(null),h=(0,s.s)(t,p),[m,v]=l.useState(!1),[y,g]=l.useState("");return l.useEffect(()=>{let e=p.current;e&&g((e.textContent??"").trim())},[i.children]),(0,f.jsx)(et.ItemSlot,{scope:r,disabled:n,textValue:o??y,children:(0,f.jsx)(z,{asChild:!0,...c,focusable:!n,children:(0,f.jsx)(d.sG.div,{role:"menuitem","data-highlighted":m?"":void 0,"aria-disabled":n||void 0,"data-disabled":n?"":void 0,...i,ref:h,onPointerMove:(0,a.mK)(e.onPointerMove,e5(e=>{n?u.onItemLeave(e):(u.onItemEnter(e),e.defaultPrevented||e.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:(0,a.mK)(e.onPointerLeave,e5(e=>u.onItemLeave(e))),onFocus:(0,a.mK)(e.onFocus,()=>v(!0)),onBlur:(0,a.mK)(e.onBlur,()=>v(!1))})})})}),eK=l.forwardRef((e,t)=>{let{checked:r=!1,onCheckedChange:n,...o}=e;return(0,f.jsx)(eG,{scope:e.__scopeMenu,checked:r,children:(0,f.jsx)(eI,{role:"menuitemcheckbox","aria-checked":e0(r)?"mixed":r,...o,ref:t,"data-state":e1(r),onSelect:(0,a.mK)(o.onSelect,()=>n?.(!!e0(r)||!r),{checkForDefaultPrevented:!1})})})});eK.displayName="MenuCheckboxItem";var eO="MenuRadioGroup",[eS,eP]=eo(eO,{value:void 0,onValueChange:()=>{}}),eN=l.forwardRef((e,t)=>{let{value:r,onValueChange:n,...o}=e,i=(0,_.c)(n);return(0,f.jsx)(eS,{scope:e.__scopeMenu,value:r,onValueChange:i,children:(0,f.jsx)(ek,{...o,ref:t})})});eN.displayName=eO;var eT="MenuRadioItem",eF=l.forwardRef((e,t)=>{let{value:r,...n}=e,o=eP(eT,e.__scopeMenu),i=r===o.value;return(0,f.jsx)(eG,{scope:e.__scopeMenu,checked:i,children:(0,f.jsx)(eI,{role:"menuitemradio","aria-checked":i,...n,ref:t,"data-state":e1(i),onSelect:(0,a.mK)(n.onSelect,()=>o.onValueChange?.(r),{checkForDefaultPrevented:!1})})})});eF.displayName=eT;var eL="MenuItemIndicator",[eG,eB]=eo(eL,{checked:!1}),ez=l.forwardRef((e,t)=>{let{__scopeMenu:r,forceMount:n,...o}=e,i=eB(eL,r);return(0,f.jsx)(D.C,{present:n||e0(i.checked)||!0===i.checked,children:(0,f.jsx)(d.sG.span,{...o,ref:t,"data-state":e1(i.checked)})})});ez.displayName=eL;var eV=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e;return(0,f.jsx)(d.sG.div,{role:"separator","aria-orientation":"horizontal",...n,ref:t})});eV.displayName="MenuSeparator";var eU=l.forwardRef((e,t)=>{let{__scopeMenu:r,...n}=e,o=el(r);return(0,f.jsx)(M.i3,{...o,...n,ref:t})});eU.displayName="MenuArrow";var eW="MenuSub",[eH,eX]=eo(eW),eZ=e=>{let{__scopeMenu:t,children:r,open:n=!1,onOpenChange:o}=e,i=eu(eW,t),a=el(t),[s,u]=l.useState(null),[c,d]=l.useState(null),p=(0,_.c)(o);return l.useEffect(()=>(!1===i.open&&p(!1),()=>p(!1)),[i.open,p]),(0,f.jsx)(M.bL,{...a,children:(0,f.jsx)(es,{scope:t,open:n,onOpenChange:p,content:c,onContentChange:d,children:(0,f.jsx)(eH,{scope:t,contentId:(0,j.B)(),triggerId:(0,j.B)(),trigger:s,onTriggerChange:u,children:r})})})};eZ.displayName=eW;var eq="MenuSubTrigger",eY=l.forwardRef((e,t)=>{let r=eu(eq,e.__scopeMenu),n=ed(eq,e.__scopeMenu),o=eX(eq,e.__scopeMenu),i=ex(eq,e.__scopeMenu),u=l.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=i,p={__scopeMenu:e.__scopeMenu},h=l.useCallback(()=>{u.current&&window.clearTimeout(u.current),u.current=null},[]);return l.useEffect(()=>h,[h]),l.useEffect(()=>{let e=c.current;return()=>{window.clearTimeout(e),d(null)}},[c,d]),(0,f.jsx)(ep,{asChild:!0,...p,children:(0,f.jsx)(eA,{id:o.triggerId,"aria-haspopup":"menu","aria-expanded":r.open,"aria-controls":o.contentId,"data-state":eQ(r.open),...e,ref:(0,s.t)(t,o.onTriggerChange),onClick:t=>{e.onClick?.(t),e.disabled||t.defaultPrevented||(t.currentTarget.focus(),r.open||r.onOpenChange(!0))},onPointerMove:(0,a.mK)(e.onPointerMove,e5(t=>{i.onItemEnter(t),!t.defaultPrevented&&(e.disabled||r.open||u.current||(i.onPointerGraceIntentChange(null),u.current=window.setTimeout(()=>{r.onOpenChange(!0),h()},100)))})),onPointerLeave:(0,a.mK)(e.onPointerLeave,e5(e=>{h();let t=r.content?.getBoundingClientRect();if(t){let n=r.content?.dataset.side,o="right"===n,l=t[o?"left":"right"],a=t[o?"right":"left"];i.onPointerGraceIntentChange({area:[{x:e.clientX+(o?-5:5),y:e.clientY},{x:l,y:t.top},{x:a,y:t.top},{x:a,y:t.bottom},{x:l,y:t.bottom}],side:n}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(e),e.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:(0,a.mK)(e.onKeyDown,t=>{let o=""!==i.searchRef.current;e.disabled||o&&" "===t.key||J[n.dir].includes(t.key)&&(r.onOpenChange(!0),r.content?.focus(),t.preventDefault())})})})});eY.displayName=eq;var e$="MenuSubContent",eJ=l.forwardRef((e,t)=>{let r=ev(eg,e.__scopeMenu),{forceMount:n=r.forceMount,...o}=e,i=eu(eg,e.__scopeMenu),u=ed(eg,e.__scopeMenu),c=eX(e$,e.__scopeMenu),d=l.useRef(null),p=(0,s.s)(t,d);return(0,f.jsx)(et.Provider,{scope:e.__scopeMenu,children:(0,f.jsx)(D.C,{present:n||i.open,children:(0,f.jsx)(et.Slot,{scope:e.__scopeMenu,children:(0,f.jsx)(eM,{id:c.contentId,"aria-labelledby":c.triggerId,...o,ref:p,align:"start",side:"rtl"===u.dir?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:e=>{u.isUsingKeyboardRef.current&&d.current?.focus(),e.preventDefault()},onCloseAutoFocus:e=>e.preventDefault(),onFocusOutside:(0,a.mK)(e.onFocusOutside,e=>{e.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:(0,a.mK)(e.onEscapeKeyDown,e=>{u.onClose(),e.preventDefault()}),onKeyDown:(0,a.mK)(e.onKeyDown,e=>{let t=e.currentTarget.contains(e.target),r=Q[u.dir].includes(e.key);t&&r&&(i.onOpenChange(!1),c.trigger?.focus(),e.preventDefault())})})})})})});function eQ(e){return e?"open":"closed"}function e0(e){return"indeterminate"===e}function e1(e){return e0(e)?"indeterminate":e?"checked":"unchecked"}function e5(e){return t=>"mouse"===t.pointerType?e(t):void 0}eJ.displayName=e$;var e3="DropdownMenu",[e9,e7]=(0,u.A)(e3,[ei]),e2=ei(),[e4,e8]=e9(e3),e6=e=>{let{__scopeDropdownMenu:t,children:r,dir:n,open:o,defaultOpen:i,onOpenChange:a,modal:s=!0}=e,u=e2(t),d=l.useRef(null),[p,h]=(0,c.i)({prop:o,defaultProp:i??!1,onChange:a,caller:e3});return(0,f.jsx)(e4,{scope:t,triggerId:(0,j.B)(),triggerRef:d,contentId:(0,j.B)(),open:p,onOpenChange:h,onOpenToggle:l.useCallback(()=>h(e=>!e),[h]),modal:s,children:(0,f.jsx)(ef,{...u,open:p,onOpenChange:h,dir:n,modal:s,children:r})})};e6.displayName=e3;var te="DropdownMenuTrigger",tt=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,disabled:n=!1,...o}=e,i=e8(te,r),l=e2(r);return(0,f.jsx)(ep,{asChild:!0,...l,children:(0,f.jsx)(d.sG.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":n?"":void 0,disabled:n,...o,ref:(0,s.t)(t,i.triggerRef),onPointerDown:(0,a.mK)(e.onPointerDown,e=>{!n&&0===e.button&&!1===e.ctrlKey&&(i.onOpenToggle(),i.open||e.preventDefault())}),onKeyDown:(0,a.mK)(e.onKeyDown,e=>{!n&&(["Enter"," "].includes(e.key)&&i.onOpenToggle(),"ArrowDown"===e.key&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(e.key)&&e.preventDefault())})})})});tt.displayName=te;var tr=e=>{let{__scopeDropdownMenu:t,...r}=e,n=e2(t);return(0,f.jsx)(ey,{...n,...r})};tr.displayName="DropdownMenuPortal";var tn="DropdownMenuContent",to=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e8(tn,r),i=e2(r),s=l.useRef(!1);return(0,f.jsx)(eC,{id:o.contentId,"aria-labelledby":o.triggerId,...i,...n,ref:t,onCloseAutoFocus:(0,a.mK)(e.onCloseAutoFocus,e=>{s.current||o.triggerRef.current?.focus(),s.current=!1,e.preventDefault()}),onInteractOutside:(0,a.mK)(e.onInteractOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey,n=2===t.button||r;(!o.modal||n)&&(s.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});to.displayName=tn;var ti=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(ek,{...o,...n,ref:t})});ti.displayName="DropdownMenuGroup";var tl=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eD,{...o,...n,ref:t})});tl.displayName="DropdownMenuLabel";var ta=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eI,{...o,...n,ref:t})});ta.displayName="DropdownMenuItem",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eK,{...o,...n,ref:t})}).displayName="DropdownMenuCheckboxItem";var ts=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eN,{...o,...n,ref:t})});ts.displayName="DropdownMenuRadioGroup",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eF,{...o,...n,ref:t})}).displayName="DropdownMenuRadioItem",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(ez,{...o,...n,ref:t})}).displayName="DropdownMenuItemIndicator";var tu=l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eV,{...o,...n,ref:t})});tu.displayName="DropdownMenuSeparator",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eU,{...o,...n,ref:t})}).displayName="DropdownMenuArrow",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eY,{...o,...n,ref:t})}).displayName="DropdownMenuSubTrigger",l.forwardRef((e,t)=>{let{__scopeDropdownMenu:r,...n}=e,o=e2(r);return(0,f.jsx)(eJ,{...o,...n,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})}).displayName="DropdownMenuSubContent";var tc=e6,td=tt,tf=tr,tp=to,th=ti,tm=tl,tv=ta,ty=ts,tg=tu,tw=e=>{let{__scopeDropdownMenu:t,children:r,open:n,onOpenChange:o,defaultOpen:i}=e,l=e2(t),[a,s]=(0,c.i)({prop:n,defaultProp:i??!1,onChange:o,caller:"DropdownMenuSub"});return(0,f.jsx)(eZ,{...l,open:a,onOpenChange:s,children:r})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3920],{379:(e,t,n)=>{function r(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}n.d(t,{mK:()=>r}),"u">typeof window&&window.document&&window.document.createElement},3837:(e,t,n)=>{n.d(t,{A:()=>l,q:()=>o});var r=n(2115),i=n(5155);function o(e,t){let n=r.createContext(t),o=e=>{let{children:t,...o}=e,l=r.useMemo(()=>o,Object.values(o));return(0,i.jsx)(n.Provider,{value:l,children:t})};return o.displayName=e+"Provider",[o,function(i){let o=r.useContext(n);if(o)return o;if(void 0!==t)return t;throw Error(`\`${i}\` must be used within \`${e}\``)}]}function l(e,t=[]){let n=[],o=()=>{let t=n.map(e=>r.createContext(e));return function(n){let i=n?.[e]||t;return r.useMemo(()=>({[`__scope${e}`]:{...n,[e]:i}}),[n,i])}};return o.scopeName=e,[function(t,o){let l=r.createContext(o),a=n.length;n=[...n,o];let s=t=>{let{scope:n,children:o,...s}=t,u=n?.[e]?.[a]||l,c=r.useMemo(()=>s,Object.values(s));return(0,i.jsx)(u.Provider,{value:c,children:o})};return s.displayName=t+"Provider",[s,function(n,i){let s=i?.[e]?.[a]||l,u=r.useContext(s);if(u)return u;if(void 0!==o)return o;throw Error(`\`${n}\` must be used within \`${t}\``)}]},function(...e){let t=e[0];if(1===e.length)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return r.useMemo(()=>({[`__scope${t.scopeName}`]:i}),[i])}};return n.scopeName=t.scopeName,n}(o,...t)]}},3935:(e,t,n)=>{n.d(t,{C:()=>l});var r=n(2115),i=n(7527),o=n(6294),l=e=>{var t;let n,l,{present:s,children:u}=e,c=function(e){var t,n;let[i,l]=r.useState(),s=r.useRef(null),u=r.useRef(e),c=r.useRef("none"),[f,d]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>n[e][t]??e,t));return r.useEffect(()=>{let e=a(s.current);c.current="mounted"===f?e:"none"},[f]),(0,o.N)(()=>{let t=s.current,n=u.current;if(n!==e){let r=c.current,i=a(t);e?d("MOUNT"):"none"===i||t?.display==="none"?d("UNMOUNT"):n&&r!==i?d("ANIMATION_OUT"):d("UNMOUNT"),u.current=e}},[e,d]),(0,o.N)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,n=n=>{let r=a(s.current).includes(CSS.escape(n.animationName));if(n.target===i&&r&&(d("ANIMATION_END"),!u.current)){let n=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=n)})}},r=e=>{e.target===i&&(c.current=a(s.current))};return i.addEventListener("animationstart",r),i.addEventListener("animationcancel",n),i.addEventListener("animationend",n),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",r),i.removeEventListener("animationcancel",n),i.removeEventListener("animationend",n)}}d("ANIMATION_END")},[i,d]),{isPresent:["mounted","unmountSuspended"].includes(f),ref:r.useCallback(e=>{s.current=e?getComputedStyle(e):null,l(e)},[])}}(s),f="function"==typeof u?u({present:c.isPresent}):r.Children.only(u),d=(0,i.s)(c.ref,(t=f,(l=(n=Object.getOwnPropertyDescriptor(t.props,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.ref:(l=(n=Object.getOwnPropertyDescriptor(t,"ref")?.get)&&"isReactWarning"in n&&n.isReactWarning)?t.props.ref:t.props.ref||t.ref));return"function"==typeof u||c.isPresent?r.cloneElement(f,{ref:d}):null};function a(e){return e?.animationName||"none"}l.displayName="Presence"},6294:(e,t,n)=>{n.d(t,{N:()=>i});var r=n(2115),i=globalThis?.document?r.useLayoutEffect:()=>{}},7347:(e,t,n)=>{n.d(t,{c:()=>i});var r=n(2115);function i(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}},7527:(e,t,n)=>{n.d(t,{s:()=>l,t:()=>o});var r=n(2115);function i(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function o(...e){return t=>{let n=!1,r=e.map(e=>{let r=i(e,t);return n||"function"!=typeof r||(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];"function"==typeof n?n():i(e[t],null)}}}}function l(...e){return r.useCallback(o(...e),e)}},8142:(e,t,n)=>{n.d(t,{Mz:()=>e0,i3:()=>e5,UC:()=>e1,bL:()=>eQ,Bk:()=>e$});var r=n(2115);let i=["top","right","bottom","left"],o=Math.min,l=Math.max,a=Math.round,s=Math.floor,u=e=>({x:e,y:e}),c={left:"right",right:"left",bottom:"top",top:"bottom"},f={start:"end",end:"start"};function d(e,t){return"function"==typeof e?e(t):e}function p(e){return e.split("-")[0]}function m(e){return e.split("-")[1]}function h(e){return"x"===e?"y":"x"}function g(e){return"y"===e?"height":"width"}let y=new Set(["top","bottom"]);function v(e){return y.has(p(e))?"y":"x"}function w(e){return e.replace(/start|end/g,e=>f[e])}let x=["left","right"],b=["right","left"],E=["top","bottom"],R=["bottom","top"];function O(e){return e.replace(/left|right|bottom|top/g,e=>c[e])}function C(e){return"number"!=typeof e?{top:0,right:0,bottom:0,left:0,...e}:{top:e,right:e,bottom:e,left:e}}function A(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function S(e,t,n){let r,{reference:i,floating:o}=e,l=v(t),a=h(v(t)),s=g(a),u=p(t),c="y"===l,f=i.x+i.width/2-o.width/2,d=i.y+i.height/2-o.height/2,y=i[s]/2-o[s]/2;switch(u){case"top":r={x:f,y:i.y-o.height};break;case"bottom":r={x:f,y:i.y+i.height};break;case"right":r={x:i.x+i.width,y:d};break;case"left":r={x:i.x-o.width,y:d};break;default:r={x:i.x,y:i.y}}switch(m(t)){case"start":r[a]-=y*(n&&c?-1:1);break;case"end":r[a]+=y*(n&&c?-1:1)}return r}async function N(e,t){var n;void 0===t&&(t={});let{x:r,y:i,platform:o,rects:l,elements:a,strategy:s}=e,{boundary:u="clippingAncestors",rootBoundary:c="viewport",elementContext:f="floating",altBoundary:p=!1,padding:m=0}=d(t,e),h=C(m),g=a[p?"floating"===f?"reference":"floating":f],y=A(await o.getClippingRect({element:null==(n=await (null==o.isElement?void 0:o.isElement(g)))||n?g:g.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(a.floating)),boundary:u,rootBoundary:c,strategy:s})),v="floating"===f?{x:r,y:i,width:l.floating.width,height:l.floating.height}:l.reference,w=await (null==o.getOffsetParent?void 0:o.getOffsetParent(a.floating)),x=await (null==o.isElement?void 0:o.isElement(w))&&await (null==o.getScale?void 0:o.getScale(w))||{x:1,y:1},b=A(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:w,strategy:s}):v);return{top:(y.top-b.top+h.top)/x.y,bottom:(b.bottom-y.bottom+h.bottom)/x.y,left:(y.left-b.left+h.left)/x.x,right:(b.right-y.right+h.right)/x.x}}let L=async(e,t,n)=>{let{placement:r="bottom",strategy:i="absolute",middleware:o=[],platform:l}=n,a=o.filter(Boolean),s=await (null==l.isRTL?void 0:l.isRTL(t)),u=await l.getElementRects({reference:e,floating:t,strategy:i}),{x:c,y:f}=S(u,r,s),d=r,p={},m=0;for(let n=0;n<a.length;n++){var h;let{name:o,fn:g}=a[n],{x:y,y:v,data:w,reset:x}=await g({x:c,y:f,initialPlacement:r,placement:d,strategy:i,middlewareData:p,rects:u,platform:{...l,detectOverflow:null!=(h=l.detectOverflow)?h:N},elements:{reference:e,floating:t}});c=null!=y?y:c,f=null!=v?v:f,p={...p,[o]:{...p[o],...w}},x&&m<=50&&(m++,"object"==typeof x&&(x.placement&&(d=x.placement),x.rects&&(u=!0===x.rects?await l.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:c,y:f}=S(u,d,s)),n=-1)}return{x:c,y:f,placement:d,strategy:i,middlewareData:p}};function P(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function T(e){return i.some(t=>e[t]>=0)}let D=new Set(["left","top"]);async function M(e,t){let{placement:n,platform:r,elements:i}=e,o=await (null==r.isRTL?void 0:r.isRTL(i.floating)),l=p(n),a=m(n),s="y"===v(n),u=D.has(l)?-1:1,c=o&&s?-1:1,f=d(t,e),{mainAxis:h,crossAxis:g,alignmentAxis:y}="number"==typeof f?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return a&&"number"==typeof y&&(g="end"===a?-1*y:y),s?{x:g*c,y:h*u}:{x:h*u,y:g*c}}function k(){return"u">typeof window}function W(e){return F(e)?(e.nodeName||"").toLowerCase():"#document"}function j(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function $(e){var t;return null==(t=(F(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function F(e){return!!k()&&(e instanceof Node||e instanceof j(e).Node)}function _(e){return!!k()&&(e instanceof Element||e instanceof j(e).Element)}function H(e){return!!k()&&(e instanceof HTMLElement||e instanceof j(e).HTMLElement)}function B(e){return!(!k()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof j(e).ShadowRoot)}let I=new Set(["inline","contents"]);function z(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=ee(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&!I.has(i)}let V=new Set(["table","td","th"]),U=[":popover-open",":modal"];function G(e){return U.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let Y=["transform","translate","scale","rotate","perspective"],X=["transform","translate","scale","rotate","perspective","filter"],q=["paint","layout","strict","content"];function K(e){let t=Z(),n=_(e)?ee(e):e;return Y.some(e=>!!n[e]&&"none"!==n[e])||!!n.containerType&&"normal"!==n.containerType||!t&&!!n.backdropFilter&&"none"!==n.backdropFilter||!t&&!!n.filter&&"none"!==n.filter||X.some(e=>(n.willChange||"").includes(e))||q.some(e=>(n.contain||"").includes(e))}function Z(){return!("u"<typeof CSS)&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let J=new Set(["html","body","#document"]);function Q(e){return J.has(W(e))}function ee(e){return j(e).getComputedStyle(e)}function et(e){return _(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function en(e){if("html"===W(e))return e;let t=e.assignedSlot||e.parentNode||B(e)&&e.host||$(e);return B(t)?t.host:t}function er(e,t,n){var r;void 0===t&&(t=[]),void 0===n&&(n=!0);let i=function e(t){let n=en(t);return Q(n)?t.ownerDocument?t.ownerDocument.body:t.body:H(n)&&z(n)?n:e(n)}(e),o=i===(null==(r=e.ownerDocument)?void 0:r.body),l=j(i);if(o){let e=ei(l);return t.concat(l,l.visualViewport||[],z(i)?i:[],e&&n?er(e):[])}return t.concat(i,er(i,[],n))}function ei(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function eo(e){let t=ee(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=H(e),o=i?e.offsetWidth:n,l=i?e.offsetHeight:r,s=a(n)!==o||a(r)!==l;return s&&(n=o,r=l),{width:n,height:r,$:s}}function el(e){return _(e)?e:e.contextElement}function ea(e){let t=el(e);if(!H(t))return u(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:o}=eo(t),l=(o?a(n.width):n.width)/r,s=(o?a(n.height):n.height)/i;return l&&Number.isFinite(l)||(l=1),s&&Number.isFinite(s)||(s=1),{x:l,y:s}}let es=u(0);function eu(e){let t=j(e);return Z()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:es}function ec(e,t,n,r){var i;void 0===t&&(t=!1),void 0===n&&(n=!1);let o=e.getBoundingClientRect(),l=el(e),a=u(1);t&&(r?_(r)&&(a=ea(r)):a=ea(e));let s=(void 0===(i=n)&&(i=!1),r&&(!i||r===j(l))&&i)?eu(l):u(0),c=(o.left+s.x)/a.x,f=(o.top+s.y)/a.y,d=o.width/a.x,p=o.height/a.y;if(l){let e=j(l),t=r&&_(r)?j(r):r,n=e,i=ei(n);for(;i&&r&&t!==n;){let e=ea(i),t=i.getBoundingClientRect(),r=ee(i),o=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,l=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,f*=e.y,d*=e.x,p*=e.y,c+=o,f+=l,i=ei(n=j(i))}}return A({width:d,height:p,x:c,y:f})}function ef(e,t){let n=et(e).scrollLeft;return t?t.left+n:ec($(e)).left+n}function ed(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-ef(e,n),y:n.top+t.scrollTop}}let ep=new Set(["absolute","fixed"]);function em(e,t,n){var r;let i;if("viewport"===t)i=function(e,t){let n=j(e),r=$(e),i=n.visualViewport,o=r.clientWidth,l=r.clientHeight,a=0,s=0;if(i){o=i.width,l=i.height;let e=Z();(!e||e&&"fixed"===t)&&(a=i.offsetLeft,s=i.offsetTop)}let u=ef(r);if(u<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,l=Math.abs(r.clientWidth-t.clientWidth-i);l<=25&&(o-=l)}else u<=25&&(o+=u);return{width:o,height:l,x:a,y:s}}(e,n);else if("document"===t){let t,n,o,a,s,u,c;r=$(e),t=$(r),n=et(r),o=r.ownerDocument.body,a=l(t.scrollWidth,t.clientWidth,o.scrollWidth,o.clientWidth),s=l(t.scrollHeight,t.clientHeight,o.scrollHeight,o.clientHeight),u=-n.scrollLeft+ef(r),c=-n.scrollTop,"rtl"===ee(o).direction&&(u+=l(t.clientWidth,o.clientWidth)-a),i={width:a,height:s,x:u,y:c}}else if(_(t)){let e,r,o,l,a,s;r=(e=ec(t,!0,"fixed"===n)).top+t.clientTop,o=e.left+t.clientLeft,l=H(t)?ea(t):u(1),a=t.clientWidth*l.x,s=t.clientHeight*l.y,i={width:a,height:s,x:o*l.x,y:r*l.y}}else{let n=eu(e);i={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return A(i)}function eh(e){return"static"===ee(e).position}function eg(e,t){if(!H(e)||"fixed"===ee(e).position)return null;if(t)return t(e);let n=e.offsetParent;return $(e)===n&&(n=n.ownerDocument.body),n}function ey(e,t){var n;let r=j(e);if(G(e))return r;if(!H(e)){let t=en(e);for(;t&&!Q(t);){if(_(t)&&!eh(t))return t;t=en(t)}return r}let i=eg(e,t);for(;i&&(n=i,V.has(W(n)))&&eh(i);)i=eg(i,t);return i&&Q(i)&&eh(i)&&!K(i)?r:i||function(e){let t=en(e);for(;H(t)&&!Q(t);){if(K(t))return t;if(G(t))break;t=en(t)}return null}(e)||r}let ev=async function(e){let t=this.getOffsetParent||ey,n=this.getDimensions,r=await n(e.floating);return{reference:function(e,t,n){let r=H(t),i=$(t),o="fixed"===n,l=ec(e,!0,o,t),a={scrollLeft:0,scrollTop:0},s=u(0);if(r||!r&&!o)if(("body"!==W(t)||z(i))&&(a=et(t)),r){let e=ec(t,!0,o,t);s.x=e.x+t.clientLeft,s.y=e.y+t.clientTop}else i&&(s.x=ef(i));o&&!r&&i&&(s.x=ef(i));let c=!i||r||o?u(0):ed(i,a);return{x:l.left+a.scrollLeft-s.x-c.x,y:l.top+a.scrollTop-s.y-c.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}},ew={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,o="fixed"===i,l=$(r),a=!!t&&G(t.floating);if(r===l||a&&o)return n;let s={scrollLeft:0,scrollTop:0},c=u(1),f=u(0),d=H(r);if((d||!d&&!o)&&(("body"!==W(r)||z(l))&&(s=et(r)),H(r))){let e=ec(r);c=ea(r),f.x=e.x+r.clientLeft,f.y=e.y+r.clientTop}let p=!l||d||o?u(0):ed(l,s);return{width:n.width*c.x,height:n.height*c.y,x:n.x*c.x-s.scrollLeft*c.x+f.x+p.x,y:n.y*c.y-s.scrollTop*c.y+f.y+p.y}},getDocumentElement:$,getClippingRect:function(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[..."clippingAncestors"===n?G(t)?[]:function(e,t){let n=t.get(e);if(n)return n;let r=er(e,[],!1).filter(e=>_(e)&&"body"!==W(e)),i=null,o="fixed"===ee(e).position,l=o?en(e):e;for(;_(l)&&!Q(l);){let t=ee(l),n=K(l);n||"fixed"!==t.position||(i=null),(o?!n&&!i:!n&&"static"===t.position&&!!i&&ep.has(i.position)||z(l)&&!n&&function e(t,n){let r=en(t);return!(r===n||!_(r)||Q(r))&&("fixed"===ee(r).position||e(r,n))}(e,l))?r=r.filter(e=>e!==l):i=t,l=en(l)}return t.set(e,r),r}(t,this._c):[].concat(n),r],s=a[0],u=a.reduce((e,n)=>{let r=em(t,n,i);return e.top=l(r.top,e.top),e.right=o(r.right,e.right),e.bottom=o(r.bottom,e.bottom),e.left=l(r.left,e.left),e},em(t,s,i));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:ey,getElementRects:ev,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:n}=eo(e);return{width:t,height:n}},getScale:ea,isElement:_,isRTL:function(e){return"rtl"===ee(e).direction}};function ex(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let eb=e=>({name:"arrow",options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:s,elements:u,middlewareData:c}=t,{element:f,padding:p=0}=d(e,t)||{};if(null==f)return{};let y=C(p),w={x:n,y:r},x=h(v(i)),b=g(x),E=await s.getDimensions(f),R="y"===x,O=R?"clientHeight":"clientWidth",A=a.reference[b]+a.reference[x]-w[x]-a.floating[b],S=w[x]-a.reference[x],N=await (null==s.getOffsetParent?void 0:s.getOffsetParent(f)),L=N?N[O]:0;L&&await (null==s.isElement?void 0:s.isElement(N))||(L=u.floating[O]||a.floating[b]);let P=L/2-E[b]/2-1,T=o(y[R?"top":"left"],P),D=o(y[R?"bottom":"right"],P),M=L-E[b]-D,k=L/2-E[b]/2+(A/2-S/2),W=l(T,o(k,M)),j=!c.arrow&&null!=m(i)&&k!==W&&a.reference[b]/2-(k<T?T:D)-E[b]/2<0,$=j?k<T?k-T:k-M:0;return{[x]:w[x]+$,data:{[x]:W,centerOffset:k-W-$,...j&&{alignmentOffset:$}},reset:j}}});var eE=n(7650),eR="u">typeof document?r.useLayoutEffect:function(){};function eO(e,t){let n,r,i;if(e===t)return!0;if(typeof e!=typeof t)return!1;if("function"==typeof e&&e.toString()===t.toString())return!0;if(e&&t&&"object"==typeof e){if(Array.isArray(e)){if((n=e.length)!==t.length)return!1;for(r=n;0!=r--;)if(!eO(e[r],t[r]))return!1;return!0}if((n=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(r=n;0!=r--;)if(!({}).hasOwnProperty.call(t,i[r]))return!1;for(r=n;0!=r--;){let n=i[r];if(("_owner"!==n||!e.$$typeof)&&!eO(e[n],t[n]))return!1}return!0}return e!=e&&t!=t}function eC(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eA(e,t){let n=eC(e);return Math.round(t*n)/n}function eS(e){let t=r.useRef(e);return eR(()=>{t.current=e}),t}var eN=n(9354),eL=n(5155),eP=r.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...o}=e;return(0,eL.jsx)(eN.sG.svg,{...o,ref:t,width:r,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?n:(0,eL.jsx)("polygon",{points:"0,0 30,0 15,10"})})});eP.displayName="Arrow";var eT=n(7527),eD=n(3837),eM=n(7347),ek=n(6294),eW="Popper",[ej,e$]=(0,eD.A)(eW),[eF,e_]=ej(eW),eH=e=>{let{__scopePopper:t,children:n}=e,[i,o]=r.useState(null);return(0,eL.jsx)(eF,{scope:t,anchor:i,onAnchorChange:o,children:n})};eH.displayName=eW;var eB="PopperAnchor",eI=r.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:i,...o}=e,l=e_(eB,n),a=r.useRef(null),s=(0,eT.s)(t,a),u=r.useRef(null);return r.useEffect(()=>{let e=u.current;u.current=i?.current||a.current,e!==u.current&&l.onAnchorChange(u.current)}),i?null:(0,eL.jsx)(eN.sG.div,{...o,ref:s})});eI.displayName=eB;var ez="PopperContent",[eV,eU]=ej(ez),eG=r.forwardRef((e,t)=>{var n,i,a,u,c,f,y,C,A,S,N,k,W;let{__scopePopper:j,side:F="bottom",sideOffset:_=0,align:H="center",alignOffset:B=0,arrowPadding:I=0,avoidCollisions:z=!0,collisionBoundary:V=[],collisionPadding:U=0,sticky:G="partial",hideWhenDetached:Y=!1,updatePositionStrategy:X="optimized",onPlaced:q,...K}=e,Z=e_(ez,j),[J,Q]=r.useState(null),ee=(0,eT.s)(t,e=>Q(e)),[et,en]=r.useState(null),ei=function(e){let[t,n]=r.useState(void 0);return(0,ek.N)(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{let r,i;if(!Array.isArray(t)||!t.length)return;let o=t[0];if("borderBoxSize"in o){let e=o.borderBoxSize,t=Array.isArray(e)?e[0]:e;r=t.inlineSize,i=t.blockSize}else r=e.offsetWidth,i=e.offsetHeight;n({width:r,height:i})});return t.observe(e,{box:"border-box"}),()=>t.unobserve(e)}n(void 0)},[e]),t}(et),eo=ei?.width??0,ea=ei?.height??0,es="number"==typeof U?U:{top:0,right:0,bottom:0,left:0,...U},eu=Array.isArray(V)?V:[V],ef=eu.length>0,ed={padding:es,boundary:eu.filter(eK),altBoundary:ef},{refs:ep,floatingStyles:em,placement:eh,isPositioned:eg,middlewareData:ey}=function(e){void 0===e&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:o,elements:{reference:l,floating:a}={},transform:s=!0,whileElementsMounted:u,open:c}=e,[f,d]=r.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[p,m]=r.useState(i);eO(p,i)||m(i);let[h,g]=r.useState(null),[y,v]=r.useState(null),w=r.useCallback(e=>{e!==R.current&&(R.current=e,g(e))},[]),x=r.useCallback(e=>{e!==O.current&&(O.current=e,v(e))},[]),b=l||h,E=a||y,R=r.useRef(null),O=r.useRef(null),C=r.useRef(f),A=null!=u,S=eS(u),N=eS(o),P=eS(c),T=r.useCallback(()=>{var e,r;let i,o,l;if(!R.current||!O.current)return;let a={placement:t,strategy:n,middleware:p};N.current&&(a.platform=N.current),(e=R.current,r=O.current,i=new Map,l={...(o={platform:ew,...a}).platform,_c:i},L(e,r,{...o,platform:l})).then(e=>{let t={...e,isPositioned:!1!==P.current};D.current&&!eO(C.current,t)&&(C.current=t,eE.flushSync(()=>{d(t)}))})},[p,t,n,N,P]);eR(()=>{!1===c&&C.current.isPositioned&&(C.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let D=r.useRef(!1);eR(()=>(D.current=!0,()=>{D.current=!1}),[]),eR(()=>{if(b&&(R.current=b),E&&(O.current=E),b&&E){if(S.current)return S.current(b,E,T);T()}},[b,E,T,S,A]);let M=r.useMemo(()=>({reference:R,floating:O,setReference:w,setFloating:x}),[w,x]),k=r.useMemo(()=>({reference:b,floating:E}),[b,E]),W=r.useMemo(()=>{let e={position:n,left:0,top:0};if(!k.floating)return e;let t=eA(k.floating,f.x),r=eA(k.floating,f.y);return s?{...e,transform:"translate("+t+"px, "+r+"px)",...eC(k.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,s,k.floating,f.x,f.y]);return r.useMemo(()=>({...f,update:T,refs:M,elements:k,floatingStyles:W}),[f,T,M,k,W])}({strategy:"fixed",placement:F+("center"!==H?"-"+H:""),whileElementsMounted:(...e)=>(function(e,t,n,r){let i;void 0===r&&(r={});let{ancestorScroll:a=!0,ancestorResize:u=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:f="function"==typeof IntersectionObserver,animationFrame:d=!1}=r,p=el(e),m=a||u?[...p?er(p):[],...er(t)]:[];m.forEach(e=>{a&&e.addEventListener("scroll",n,{passive:!0}),u&&e.addEventListener("resize",n)});let h=p&&f?function(e,t){let n,r=null,i=$(e);function a(){var e;clearTimeout(n),null==(e=r)||e.disconnect(),r=null}return!function u(c,f){void 0===c&&(c=!1),void 0===f&&(f=1),a();let d=e.getBoundingClientRect(),{left:p,top:m,width:h,height:g}=d;if(c||t(),!h||!g)return;let y={rootMargin:-s(m)+"px "+-s(i.clientWidth-(p+h))+"px "+-s(i.clientHeight-(m+g))+"px "+-s(p)+"px",threshold:l(0,o(1,f))||1},v=!0;function w(t){let r=t[0].intersectionRatio;if(r!==f){if(!v)return u();r?u(!1,r):n=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==r||ex(d,e.getBoundingClientRect())||u(),v=!1}try{r=new IntersectionObserver(w,{...y,root:i.ownerDocument})}catch(e){r=new IntersectionObserver(w,y)}r.observe(e)}(!0),a}(p,n):null,g=-1,y=null;c&&(y=new ResizeObserver(e=>{let[r]=e;r&&r.target===p&&y&&(y.unobserve(t),cancelAnimationFrame(g),g=requestAnimationFrame(()=>{var e;null==(e=y)||e.observe(t)})),n()}),p&&!d&&y.observe(p),y.observe(t));let v=d?ec(e):null;return d&&function t(){let r=ec(e);v&&!ex(v,r)&&n(),v=r,i=requestAnimationFrame(t)}(),n(),()=>{var e;m.forEach(e=>{a&&e.removeEventListener("scroll",n),u&&e.removeEventListener("resize",n)}),null==h||h(),null==(e=y)||e.disconnect(),y=null,d&&cancelAnimationFrame(i)}})(...e,{animationFrame:"always"===X}),elements:{reference:Z.anchor},middleware:[{...{name:"offset",options:i=n={mainAxis:_+ea,alignmentAxis:B},async fn(e){var t,n;let{x:r,y:o,placement:l,middlewareData:a}=e,s=await M(e,i);return l===(null==(t=a.offset)?void 0:t.placement)&&null!=(n=a.arrow)&&n.alignmentOffset?{}:{x:r+s.x,y:o+s.y,data:{...s,placement:l}}}},options:[n,void 0]},z&&{...{name:"shift",options:c=u={mainAxis:!0,crossAxis:!1,limiter:"partial"===G?{...(a=void 0,{options:a={},fn(e){let{x:t,y:n,placement:r,rects:i,middlewareData:o}=e,{offset:l=0,mainAxis:s=!0,crossAxis:u=!0}=d(a,e),c={x:t,y:n},f=v(r),m=h(f),g=c[m],y=c[f],w=d(l,e),x="number"==typeof w?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(s){let e="y"===m?"height":"width",t=i.reference[m]-i.floating[e]+x.mainAxis,n=i.reference[m]+i.reference[e]-x.mainAxis;g<t?g=t:g>n&&(g=n)}if(u){var b,E;let e="y"===m?"width":"height",t=D.has(p(r)),n=i.reference[f]-i.floating[e]+(t&&(null==(b=o.offset)?void 0:b[f])||0)+(t?0:x.crossAxis),l=i.reference[f]+i.reference[e]+(t?0:(null==(E=o.offset)?void 0:E[f])||0)-(t?x.crossAxis:0);y<n?y=n:y>l&&(y=l)}return{[m]:g,[f]:y}}}),options:[void 0,void 0]}:void 0,...ed},async fn(e){let{x:t,y:n,placement:r,platform:i}=e,{mainAxis:a=!0,crossAxis:s=!1,limiter:u={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...f}=d(c,e),m={x:t,y:n},g=await i.detectOverflow(e,f),y=v(p(r)),w=h(y),x=m[w],b=m[y];if(a){let e="y"===w?"top":"left",t="y"===w?"bottom":"right",n=x+g[e],r=x-g[t];x=l(n,o(x,r))}if(s){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",n=b+g[e],r=b-g[t];b=l(n,o(b,r))}let E=u.fn({...e,[w]:x,[y]:b});return{...E,data:{x:E.x-t,y:E.y-n,enabled:{[w]:a,[y]:s}}}}},options:[u,void 0]},z&&{...{name:"flip",options:y=f={...ed},async fn(e){var t,n,r,i,o,l,a,s;let u,c,f,{placement:C,middlewareData:A,rects:S,initialPlacement:N,platform:L,elements:P}=e,{mainAxis:T=!0,crossAxis:D=!0,fallbackPlacements:M,fallbackStrategy:k="bestFit",fallbackAxisSideDirection:W="none",flipAlignment:j=!0,...$}=d(y,e);if(null!=(t=A.arrow)&&t.alignmentOffset)return{};let F=p(C),_=v(N),H=p(N)===N,B=await (null==L.isRTL?void 0:L.isRTL(P.floating)),I=M||(H||!j?[O(N)]:(u=O(N),[w(N),u,w(u)])),z="none"!==W;!M&&z&&I.push(...(c=m(N),f=function(e,t,n){switch(e){case"top":case"bottom":if(n)return t?b:x;return t?x:b;case"left":case"right":return t?E:R;default:return[]}}(p(N),"start"===W,B),c&&(f=f.map(e=>e+"-"+c),j&&(f=f.concat(f.map(w)))),f));let V=[N,...I],U=await L.detectOverflow(e,$),G=[],Y=(null==(n=A.flip)?void 0:n.overflows)||[];if(T&&G.push(U[F]),D){let e,t,n,r,i=(l=C,a=S,void 0===(s=B)&&(s=!1),e=m(l),n=g(t=h(v(l))),r="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",a.reference[n]>a.floating[n]&&(r=O(r)),[r,O(r)]);G.push(U[i[0]],U[i[1]])}if(Y=[...Y,{placement:C,overflows:G}],!G.every(e=>e<=0)){let e=((null==(r=A.flip)?void 0:r.index)||0)+1,t=V[e];if(t&&("alignment"!==D||_===v(t)||Y.every(e=>v(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:Y},reset:{placement:t}};let n=null==(i=Y.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!n)switch(k){case"bestFit":{let e=null==(o=Y.filter(e=>{if(z){let t=v(e.placement);return t===_||"y"===t}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0])?void 0:o[0];e&&(n=e);break}case"initialPlacement":n=N}if(C!==n)return{reset:{placement:n}}}return{}}},options:[f,void 0]},{...{name:"size",options:A=C={...ed,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:o}=t.reference,l=e.floating.style;l.setProperty("--radix-popper-available-width",`${n}px`),l.setProperty("--radix-popper-available-height",`${r}px`),l.setProperty("--radix-popper-anchor-width",`${i}px`),l.setProperty("--radix-popper-anchor-height",`${o}px`)}},async fn(e){var t,n;let r,i,{placement:a,rects:s,platform:u,elements:c}=e,{apply:f=()=>{},...h}=d(A,e),g=await u.detectOverflow(e,h),y=p(a),w=m(a),x="y"===v(a),{width:b,height:E}=s.floating;"top"===y||"bottom"===y?(r=y,i=w===(await (null==u.isRTL?void 0:u.isRTL(c.floating))?"start":"end")?"left":"right"):(i=y,r="end"===w?"top":"bottom");let R=E-g.top-g.bottom,O=b-g.left-g.right,C=o(E-g[r],R),S=o(b-g[i],O),N=!e.middlewareData.shift,L=C,P=S;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(P=O),null!=(n=e.middlewareData.shift)&&n.enabled.y&&(L=R),N&&!w){let e=l(g.left,0),t=l(g.right,0),n=l(g.top,0),r=l(g.bottom,0);x?P=b-2*(0!==e||0!==t?e+t:l(g.left,g.right)):L=E-2*(0!==n||0!==r?n+r:l(g.top,g.bottom))}await f({...e,availableWidth:P,availableHeight:L});let T=await u.getDimensions(c.floating);return b!==T.width||E!==T.height?{reset:{rects:!0}}:{}}},options:[C,void 0]},et&&{...{name:"arrow",options:N=S={element:et,padding:I},fn(e){let{element:t,padding:n}="function"==typeof N?N(e):N;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?eb({element:t.current,padding:n}).fn(e):{}:t?eb({element:t,padding:n}).fn(e):{}}},options:[S,void 0]},eZ({arrowWidth:eo,arrowHeight:ea}),Y&&{...{name:"hide",options:W=k={strategy:"referenceHidden",...ed},async fn(e){let{rects:t,platform:n}=e,{strategy:r="referenceHidden",...i}=d(W,e);switch(r){case"referenceHidden":{let r=P(await n.detectOverflow(e,{...i,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:T(r)}}}case"escaped":{let r=P(await n.detectOverflow(e,{...i,altBoundary:!0}),t.floating);return{data:{escapedOffsets:r,escaped:T(r)}}}default:return{}}}},options:[k,void 0]}]}),[ev,eP]=eJ(eh),eD=(0,eM.c)(q);(0,ek.N)(()=>{eg&&eD?.()},[eg,eD]);let eW=ey.arrow?.x,ej=ey.arrow?.y,e$=ey.arrow?.centerOffset!==0,[eF,eH]=r.useState();return(0,ek.N)(()=>{J&&eH(window.getComputedStyle(J).zIndex)},[J]),(0,eL.jsx)("div",{ref:ep.setFloating,"data-radix-popper-content-wrapper":"",style:{...em,transform:eg?em.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:eF,"--radix-popper-transform-origin":[ey.transformOrigin?.x,ey.transformOrigin?.y].join(" "),...ey.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,eL.jsx)(eV,{scope:j,placedSide:ev,onArrowChange:en,arrowX:eW,arrowY:ej,shouldHideArrow:e$,children:(0,eL.jsx)(eN.sG.div,{"data-side":ev,"data-align":eP,...K,ref:ee,style:{...K.style,animation:eg?void 0:"none"}})})})});eG.displayName=ez;var eY="PopperArrow",eX={top:"bottom",right:"left",bottom:"top",left:"right"},eq=r.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=eU(eY,n),o=eX[i.placedSide];return(0,eL.jsx)("span",{ref:i.onArrowChange,style:{position:"absolute",left:i.arrowX,top:i.arrowY,[o]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[i.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[i.placedSide],visibility:i.shouldHideArrow?"hidden":void 0},children:(0,eL.jsx)(eP,{...r,ref:t,style:{...r.style,display:"block"}})})});function eK(e){return null!==e}eq.displayName=eY;var eZ=e=>({name:"transformOrigin",options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,o=i.arrow?.centerOffset!==0,l=o?0:e.arrowWidth,a=o?0:e.arrowHeight,[s,u]=eJ(n),c={start:"0%",center:"50%",end:"100%"}[u],f=(i.arrow?.x??0)+l/2,d=(i.arrow?.y??0)+a/2,p="",m="";return"bottom"===s?(p=o?c:`${f}px`,m=`${-a}px`):"top"===s?(p=o?c:`${f}px`,m=`${r.floating.height+a}px`):"right"===s?(p=`${-a}px`,m=o?c:`${d}px`):"left"===s&&(p=`${r.floating.width+a}px`,m=o?c:`${d}px`),{data:{x:p,y:m}}}});function eJ(e){let[t,n="center"]=e.split("-");return[t,n]}var eQ=eH,e0=eI,e1=eG,e5=eq},8454:(e,t,n)=>{n.d(t,{qW:()=>d});var r,i=n(2115),o=n(379),l=n(9354),a=n(7527),s=n(7347),u=n(5155),c="dismissableLayer.update",f=i.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),d=i.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:d,onPointerDownOutside:h,onFocusOutside:g,onInteractOutside:y,onDismiss:v,...w}=e,x=i.useContext(f),[b,E]=i.useState(null),R=b?.ownerDocument??globalThis?.document,[,O]=i.useState({}),C=(0,a.s)(t,e=>E(e)),A=Array.from(x.layers),[S]=[...x.layersWithOutsidePointerEventsDisabled].slice(-1),N=A.indexOf(S),L=b?A.indexOf(b):-1,P=x.layersWithOutsidePointerEventsDisabled.size>0,T=L>=N,D=function(e,t=globalThis?.document){let n=(0,s.c)(e),r=i.useRef(!1),o=i.useRef(()=>{});return i.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){m("dismissableLayer.pointerDownOutside",n,i,{discrete:!0})},i={originalEvent:e};"touch"===e.pointerType?(t.removeEventListener("click",o.current),o.current=r,t.addEventListener("click",o.current,{once:!0})):r()}else t.removeEventListener("click",o.current);r.current=!1},i=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(i),t.removeEventListener("pointerdown",e),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}(e=>{let t=e.target,n=[...x.branches].some(e=>e.contains(t));T&&!n&&(h?.(e),y?.(e),e.defaultPrevented||v?.())},R),M=function(e,t=globalThis?.document){let n=(0,s.c)(e),r=i.useRef(!1);return i.useEffect(()=>{let e=e=>{e.target&&!r.current&&m("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}(e=>{let t=e.target;![...x.branches].some(e=>e.contains(t))&&(g?.(e),y?.(e),e.defaultPrevented||v?.())},R);return!function(e,t=globalThis?.document){let n=(0,s.c)(e);i.useEffect(()=>{let e=e=>{"Escape"===e.key&&n(e)};return t.addEventListener("keydown",e,{capture:!0}),()=>t.removeEventListener("keydown",e,{capture:!0})},[n,t])}(e=>{L===x.layers.size-1&&(d?.(e),!e.defaultPrevented&&v&&(e.preventDefault(),v()))},R),i.useEffect(()=>{if(b)return n&&(0===x.layersWithOutsidePointerEventsDisabled.size&&(r=R.body.style.pointerEvents,R.body.style.pointerEvents="none"),x.layersWithOutsidePointerEventsDisabled.add(b)),x.layers.add(b),p(),()=>{n&&1===x.layersWithOutsidePointerEventsDisabled.size&&(R.body.style.pointerEvents=r)}},[b,R,n,x]),i.useEffect(()=>()=>{b&&(x.layers.delete(b),x.layersWithOutsidePointerEventsDisabled.delete(b),p())},[b,x]),i.useEffect(()=>{let e=()=>O({});return document.addEventListener(c,e),()=>document.removeEventListener(c,e)},[]),(0,u.jsx)(l.sG.div,{...w,ref:C,style:{pointerEvents:P?T?"auto":"none":void 0,...e.style},onFocusCapture:(0,o.mK)(e.onFocusCapture,M.onFocusCapture),onBlurCapture:(0,o.mK)(e.onBlurCapture,M.onBlurCapture),onPointerDownCapture:(0,o.mK)(e.onPointerDownCapture,D.onPointerDownCapture)})});function p(){let e=new CustomEvent(c);document.dispatchEvent(e)}function m(e,t,n,{discrete:r}){let i=n.originalEvent.target,o=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?(0,l.hO)(i,o):i.dispatchEvent(o)}d.displayName="DismissableLayer",i.forwardRef((e,t)=>{let n=i.useContext(f),r=i.useRef(null),o=(0,a.s)(t,r);return i.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,u.jsx)(l.sG.div,{...e,ref:o})}).displayName="DismissableLayerBranch"},8979:(e,t,n)=>{n.d(t,{i:()=>a});var r,i=n(2115),o=n(6294),l=(r||(r=n.t(i,2)))[" useInsertionEffect ".trim().toString()]||o.N;function a({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[o,a,s]=function({defaultProp:e,onChange:t}){let[n,r]=i.useState(e),o=i.useRef(n),a=i.useRef(t);return l(()=>{a.current=t},[t]),i.useEffect(()=>{o.current!==n&&(a.current?.(n),o.current=n)},[n,o]),[n,r,a]}({defaultProp:t,onChange:n}),u=void 0!==e,c=u?e:o;{let t=i.useRef(void 0!==e);i.useEffect(()=>{let e=t.current;if(e!==u){let t=u?"controlled":"uncontrolled";console.warn(`${r} is changing from ${e?"controlled":"uncontrolled"} to ${t}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`)}t.current=u},[u,r])}return[c,i.useCallback(t=>{if(u){let n="function"==typeof t?t(e):t;n!==e&&s.current?.(n)}else a(t)},[u,e,a,s])]}Symbol("RADIX:SYNC_STATE")},9040:(e,t,n)=>{n.d(t,{Z:()=>s});var r=n(2115),i=n(7650),o=n(9354),l=n(6294),a=n(5155),s=r.forwardRef((e,t)=>{let{container:n,...s}=e,[u,c]=r.useState(!1);(0,l.N)(()=>c(!0),[]);let f=n||u&&globalThis?.document?.body;return f?i.createPortal((0,a.jsx)(o.sG.div,{...s,ref:t}),f):null});s.displayName="Portal"},9354:(e,t,n)=>{n.d(t,{sG:()=>u,hO:()=>c});var r=n(2115),i=n(7650),o=n(7527),l=n(5155),a=Symbol("radix.slottable");function s(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===a}var u=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,t)=>{var n,i;let a,u,c,f=(i=n=`Primitive.${t}`,(a=r.forwardRef((e,t)=>{let{children:n,...i}=e;if(r.isValidElement(n)){var l;let e,a,s=(l=n,(a=(e=Object.getOwnPropertyDescriptor(l.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.ref:(a=(e=Object.getOwnPropertyDescriptor(l,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?l.props.ref:l.props.ref||l.ref),u=function(e,t){let n={...t};for(let r in t){let i=e[r],o=t[r];/^on[A-Z]/.test(r)?i&&o?n[r]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(n[r]=i):"style"===r?n[r]={...i,...o}:"className"===r&&(n[r]=[i,o].filter(Boolean).join(" "))}return{...e,...n}}(i,n.props);return n.type!==r.Fragment&&(u.ref=t?(0,o.t)(t,s):s),r.cloneElement(n,u)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${i}.SlotClone`,u=a,(c=r.forwardRef((e,t)=>{let{children:n,...i}=e,o=r.Children.toArray(n),a=o.find(s);if(a){let e=a.props.children,n=o.map(t=>t!==a?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,l.jsx)(u,{...i,ref:t,children:r.isValidElement(e)?r.cloneElement(e,void 0,n):null})}return(0,l.jsx)(u,{...i,ref:t,children:n})})).displayName=`${n}.Slot`,c),d=r.forwardRef((e,n)=>{let{asChild:r,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,l.jsx)(r?f:t,{...i,ref:n})});return d.displayName=`Primitive.${t}`,{...e,[t]:d}},{});function c(e,t){e&&i.flushSync(()=>e.dispatchEvent(t))}},9971:(e,t,n)=>{n.d(t,{B:()=>s});var r,i=n(2115),o=n(6294),l=(r||(r=n.t(i,2)))[" useId ".trim().toString()]||(()=>void 0),a=0;function s(e){let[t,n]=i.useState(l());return(0,o.N)(()=>{e||n(e=>e??String(a++))},[e]),e||(t?`radix-${t}`:"")}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4044],{4:(e,t,a)=>{let n;a.d(t,{_:()=>d});var s=a(5155),o=a(8599);let i={sm:"size-2.5",md:"size-3.5",lg:"size-20"},r=Array.from({length:12},(e,t)=>{let a=t/12*Math.PI*2-Math.PI/2;return{cx:+(8+5.2*Math.cos(a)).toFixed(2),cy:+(8+5.2*Math.sin(a)).toFixed(2)}}),l=(n=r.map((e,t)=>{let a=(t/12*55).toFixed(1),n=(+a+4).toFixed(1);return`@keyframes bd${t}{0%,${a}%{opacity:.1}${n}%,75%{opacity:1}88%,to{opacity:.1}}`}).join(""),`${n}@media(prefers-reduced-motion:reduce){.bd{animation:none!important;opacity:.85!important}}`);function d({size:e="md",className:t}){return(0,s.jsxs)("svg",{viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:(0,o.cn)(i[e],"shrink-0",t),role:"status","aria-label":"Loading",children:[(0,s.jsx)("style",{children:l}),r.map((e,t)=>(0,s.jsx)("circle",{cx:e.cx,cy:e.cy,r:1,fill:"#f97316",className:"bd",style:{opacity:.1,animation:`bd${t} 2.4s ease-in-out infinite`}},t))]})}},2264:(e,t,a)=>{a.d(t,{SQ:()=>l,_2:()=>d,lp:()=>c,mB:()=>u,rI:()=>i,ty:()=>r});var n=a(5155);a(2115);var s=a(3562),o=a(8599);let i=s.bL,r=s.l9;function l({className:e,sideOffset:t=4,...a}){return(0,n.jsx)(s.ZL,{children:(0,n.jsx)(s.UC,{"data-slot":"dropdown-menu-content",sideOffset:t,className:(0,o.cn)("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...a})})}function d({className:e,inset:t,...a}){return(0,n.jsx)(s.q7,{"data-slot":"dropdown-menu-item",className:(0,o.cn)("relative flex cursor-pointer select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",t&&"pl-8",e),...a})}function c({className:e,inset:t,...a}){return(0,n.jsx)(s.JU,{"data-slot":"dropdown-menu-label",className:(0,o.cn)("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...a})}function u({className:e,...t}){return(0,n.jsx)(s.wv,{"data-slot":"dropdown-menu-separator",className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",e),...t})}s.YJ,s.ZL,s.Pb,s.z6},2763:(e,t,a)=>{a.d(t,{Cf:()=>c,Es:()=>f,L3:()=>p,c7:()=>u,lG:()=>r,rr:()=>m});var n=a(5155);a(2115);var s=a(9483),o=a(4268),i=a(8599);function r({...e}){return(0,n.jsx)(s.bL,{"data-slot":"dialog",...e})}function l({...e}){return(0,n.jsx)(s.ZL,{"data-slot":"dialog-portal",...e})}function d({className:e,...t}){return(0,n.jsx)(s.hJ,{"data-slot":"dialog-overlay",className:(0,i.cn)("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t})}function c({className:e,children:t,showCloseButton:a=!0,...r}){return(0,n.jsxs)(l,{"data-slot":"dialog-portal",children:[(0,n.jsx)(d,{}),(0,n.jsxs)(s.UC,{"data-slot":"dialog-content",className:(0,i.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 sm:max-w-lg",e),...r,children:[t,a&&(0,n.jsxs)(s.bm,{"data-slot":"dialog-close",className:"focus:outline-hidden absolute right-4 top-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0",children:[(0,n.jsx)(o.A,{}),(0,n.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})}function u({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-header",className:(0,i.cn)("flex flex-col gap-2 text-center sm:text-left",e),...t})}function f({className:e,...t}){return(0,n.jsx)("div",{"data-slot":"dialog-footer",className:(0,i.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function p({className:e,...t}){return(0,n.jsx)(s.hE,{"data-slot":"dialog-title",className:(0,i.cn)("text-lg font-semibold leading-none",e),...t})}function m({className:e,...t}){return(0,n.jsx)(s.VY,{"data-slot":"dialog-description",className:(0,i.cn)("text-sm text-muted-foreground",e),...t})}},4621:(e,t,a)=>{a.d(t,{S:()=>l,s:()=>r});var n=a(2115);let s=new Map,o=new Map;function i(e){return e?`/api/repos/${encodeURIComponent(e)}`:"/api"}function r(e){let t=i(e),a=e||"__default__",[r,l]=(0,n.useState)(s.get(a)??[]),[d,c]=(0,n.useState)(o.get(a)??0),[u,f]=(0,n.useState)(!s.has(a));(0,n.useEffect)(()=>{l(s.get(a)??[]),c(o.get(a)??0),f(!s.has(a))},[a]);let p=(0,n.useCallback)(async()=>{try{let e=await fetch(`${t}/tasks`);if(e.ok){let t=await e.json();s.set(a,t.tasks),o.set(a,t.servedTotal??0),l(t.tasks),c(t.servedTotal??0)}}finally{f(!1)}},[t,a]);(0,n.useEffect)(()=>{p()},[p]);let m=(0,n.useRef)(null),g=(0,n.useCallback)(()=>{m.current&&clearTimeout(m.current),m.current=setTimeout(()=>{p(),m.current=null},300)},[p]),x=(0,n.useCallback)(async(e,a)=>!!(await fetch(`${t}/tasks/${e}/move`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({targetColumn:a})})).ok&&(await p(),!0),[t,p]),h=(0,n.useCallback)(async(e,a,n,s)=>{let o=await fetch(`${t}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:e,column:a,context:n,priority:s})});return o.ok?(await p(),{ok:!0,slug:(await o.json()).slug}):409===o.status?{ok:!1,error:"A task with this name already exists. Try a different title."}:{ok:!1,error:"Failed to create task."}},[t,p]),v=(0,n.useCallback)(async e=>{(await fetch(`${t}/tasks/${e}`,{method:"DELETE"})).ok&&await p()},[t,p]);return{tasks:r,loading:u,servedTotal:d,fetchTasks:p,debouncedFetchTasks:g,moveTask:x,createTask:h,deleteTask:v}}function l(e,t){let a=i(t),[s,o]=(0,n.useState)(null),[r,l]=(0,n.useState)(!1),d=(0,n.useCallback)(async()=>{if(!e)return void o(null);try{let t=await fetch(`${a}/tasks/${e}`);t.ok&&o(await t.json())}finally{l(!1)}},[a,e]);return(0,n.useEffect)(()=>{d()},[d]),{task:s,loading:r,fetchTask:d,updateContent:(0,n.useCallback)(async t=>{if(!e)return;let n=await fetch(`${a}/tasks/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t})});n.ok&&o(await n.json())},[a,e]),updateBody:(0,n.useCallback)(async t=>{if(!e)return!1;let n=await fetch(`${a}/tasks/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({body:t})});return!!n.ok&&(o(await n.json()),!0)},[a,e])}}},6007:(e,t,a)=>{a.d(t,{w:()=>d});var n=a(5155),s=a(7939),o=a(8599);let i=Array.from({length:12},(e,t)=>{let a=t/12*Math.PI*2-Math.PI/2;return{cx:+(8+5.2*Math.cos(a)).toFixed(1),cy:+(8+5.2*Math.sin(a)).toFixed(1)}});function r({litCount:e,className:t}){return(0,n.jsx)("svg",{viewBox:"0 0 16 16",className:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:i.map((t,a)=>(0,n.jsx)("circle",{cx:t.cx,cy:t.cy,r:.9,fill:"currentColor",opacity:a<e?1:.15},a))})}function l({className:e}){return(0,n.jsxs)("svg",{viewBox:"0 0 16 16",className:e,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,n.jsx)("circle",{cx:"8",cy:"8",r:"7",fill:"currentColor"}),(0,n.jsx)("path",{d:"M8 4.2V8.9",stroke:"white",strokeWidth:"1.8",strokeLinecap:"round"}),(0,n.jsx)("circle",{cx:"8",cy:"11.7",r:"1",fill:"white"})]})}function d({priority:e,className:t}){let a=t??"size-4";switch(e){case"urgent":return(0,n.jsx)(l,{className:(0,o.cn)(a,"text-red-500")});case"high":return(0,n.jsx)(r,{litCount:12,className:(0,o.cn)(a,"text-muted-foreground")});case"medium":return(0,n.jsx)(r,{litCount:8,className:(0,o.cn)(a,"text-muted-foreground")});case"low":return(0,n.jsx)(r,{litCount:4,className:(0,o.cn)(a,"text-muted-foreground")});default:return(0,n.jsx)(s.A,{className:(0,o.cn)(a,"text-muted-foreground/25")})}}},8884:(e,t,a)=>{a.d(t,{AH:()=>u,G$:()=>l,OW:()=>h,bf:()=>c,cZ:()=>d,eE:()=>f,fz:()=>p,hZ:()=>g,r1:()=>w,uC:()=>m,xj:()=>x,xq:()=>y});var n=a(6518),s=a(1210),o=a(1251),i=a(5451),r=a(2515);let l={pantry:n.A,"mise-en-place":s.A,firing:o.A,review:i.A,served:r.A},d=[{id:"pantry",title:"Pantry",directory:"1-pantry"},{id:"mise-en-place",title:"To Prep",directory:"2-mise-en-place"},{id:"firing",title:"Firing",directory:"3-firing"},{id:"review",title:"Review",directory:"4-review"},{id:"served",title:"Served",directory:"5-served"}];function c(e){return d.find(t=>t.id===e)}let u=[{statuses:["running"],label:"Cooking",dotClass:"bg-orange-500",pillBgClass:"bg-orange-50",pillTextClass:"text-orange-700"},{statuses:["needs_tasting"],label:"Needs tasting",dotClass:"bg-blue-500",pillBgClass:"bg-blue-50",pillTextClass:"text-blue-700"},{statuses:["error"],label:"Burnt",dotClass:"bg-red-500",pillBgClass:"bg-red-50",pillTextClass:"text-red-700"},{statuses:["idle",void 0],label:"Resting",dotClass:"bg-steel-400",pillBgClass:"bg-muted",pillTextClass:"text-muted-foreground"}];function f(e){return u.find(t=>t.statuses.includes(e))??u[u.length-1]}let p=[{value:"none",label:"No priority",numeric:0},{value:"low",label:"Low",numeric:1},{value:"medium",label:"Medium",numeric:2},{value:"high",label:"High",numeric:3},{value:"urgent",label:"Urgent",numeric:4}];function m(e){return p.find(t=>t.value===e)?.numeric??0}function g(e){let t=d.findIndex(t=>t.id===e);return -1===t?0:t+1}let x="sonnet",h={anthropic:"Claude Code",openai:"Codex"},v=["anthropic","openai"],b=[{id:"opus",label:"Opus 4.6",cliModel:"opus",provider:"anthropic",meta:"Powerful"},{id:"sonnet",label:"Sonnet 4.6",cliModel:"sonnet",provider:"anthropic",meta:"Balanced"},{id:"haiku",label:"Haiku 4.5",cliModel:"haiku",provider:"anthropic",meta:"Fast"},{id:"codex-5.3",label:"GPT-5.3-Codex",cliModel:"gpt-5.3-codex",provider:"openai",meta:"Balanced"},{id:"codex-5.2",label:"GPT-5.2-Codex",cliModel:"gpt-5-codex",provider:"openai",meta:"Previous gen"}];function y(e){return e?b.find(t=>t.id===e)??b.find(e=>e.id===x):b.find(e=>e.id===x)}function w(){return v.map(e=>({provider:e,label:h[e],options:b.filter(t=>t.provider===e)})).filter(e=>e.options.length>0)}},9239:(e,t,a)=>{a.d(t,{$:()=>l,r:()=>r});var n=a(5155);a(2115);var s=a(2442),o=a(8460),i=a(8599);let r=(0,o.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all cursor-pointer disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l({className:e,variant:t,size:a,asChild:o=!1,type:l,...d}){let c=o?s.DX:"button";return(0,n.jsx)(c,{"data-slot":"button",className:(0,i.cn)(r({variant:t,size:a,className:e})),...!o?{type:l??"button"}:{},...d})}},9409:(e,t,a)=>{a.d(t,{x:()=>i});var n=a(5155),s=a(8599);let o={sm:"size-1.5",md:"size-2.5"};function i({size:e="md",className:t}){return(0,n.jsx)("span",{className:(0,s.cn)("shrink-0 rounded-full bg-orange-500 motion-safe:animate-pulse-dot motion-reduce:opacity-70",o[e],t),role:"status","aria-label":"Active"})}}}]);
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5828],{5828:(e,t,r)=>{let n;r.d(t,{UC:()=>Z,ZL:()=>Y,Kq:()=>U,bL:()=>W,l9:()=>X});var o=r(2115),i=r(379),l=r(7527),a=r(3837),s=r(8454),u=r(9971),c=r(8142),d=r(9040),p=r(3935),f=r(9354),x=r(5155),h=Symbol("radix.slottable"),g=r(8979),y=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),v=o.forwardRef((e,t)=>(0,x.jsx)(f.sG.span,{...e,ref:t,style:{...y,...e.style}}));v.displayName="VisuallyHidden";var[m,b]=(0,a.A)("Tooltip",[c.Bk]),w=(0,c.Bk)(),C="TooltipProvider",T="tooltip.open",[E,k]=m(C),j=e=>{let{__scopeTooltip:t,delayDuration:r=700,skipDelayDuration:n=300,disableHoverableContent:i=!1,children:l}=e,a=o.useRef(!0),s=o.useRef(!1),u=o.useRef(0);return o.useEffect(()=>{let e=u.current;return()=>window.clearTimeout(e)},[]),(0,x.jsx)(E,{scope:t,isOpenDelayedRef:a,delayDuration:r,onOpen:o.useCallback(()=>{window.clearTimeout(u.current),a.current=!1},[]),onClose:o.useCallback(()=>{window.clearTimeout(u.current),u.current=window.setTimeout(()=>a.current=!0,n)},[n]),isPointerInTransitRef:s,onPointerInTransitChange:o.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:l})};j.displayName=C;var R="Tooltip",[L,_]=m(R),P=e=>{let{__scopeTooltip:t,children:r,open:n,defaultOpen:i,onOpenChange:l,disableHoverableContent:a,delayDuration:s}=e,d=k(R,e.__scopeTooltip),p=w(t),[f,h]=o.useState(null),y=(0,u.B)(),v=o.useRef(0),m=a??d.disableHoverableContent,b=s??d.delayDuration,C=o.useRef(!1),[E,j]=(0,g.i)({prop:n,defaultProp:i??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(T))):d.onClose(),l?.(e)},caller:R}),_=o.useMemo(()=>E?C.current?"delayed-open":"instant-open":"closed",[E]),P=o.useCallback(()=>{window.clearTimeout(v.current),v.current=0,C.current=!1,j(!0)},[j]),M=o.useCallback(()=>{window.clearTimeout(v.current),v.current=0,j(!1)},[j]),N=o.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{C.current=!0,j(!0),v.current=0},b)},[b,j]);return o.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),(0,x.jsx)(c.bL,{...p,children:(0,x.jsx)(L,{scope:t,contentId:y,open:E,stateAttribute:_,trigger:f,onTriggerChange:h,onTriggerEnter:o.useCallback(()=>{d.isOpenDelayedRef.current?N():P()},[d.isOpenDelayedRef,N,P]),onTriggerLeave:o.useCallback(()=>{m?M():(window.clearTimeout(v.current),v.current=0)},[M,m]),onOpen:P,onClose:M,disableHoverableContent:m,children:r})})};P.displayName=R;var M="TooltipTrigger",N=o.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,a=_(M,r),s=k(M,r),u=w(r),d=o.useRef(null),p=(0,l.s)(t,d,a.onTriggerChange),h=o.useRef(!1),g=o.useRef(!1),y=o.useCallback(()=>h.current=!1,[]);return o.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,x.jsx)(c.Mz,{asChild:!0,...u,children:(0,x.jsx)(f.sG.button,{"aria-describedby":a.open?a.contentId:void 0,"data-state":a.stateAttribute,...n,ref:p,onPointerMove:(0,i.mK)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||s.isPointerInTransitRef.current||(a.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,i.mK)(e.onPointerLeave,()=>{a.onTriggerLeave(),g.current=!1}),onPointerDown:(0,i.mK)(e.onPointerDown,()=>{a.open&&a.onClose(),h.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,i.mK)(e.onFocus,()=>{h.current||a.onOpen()}),onBlur:(0,i.mK)(e.onBlur,a.onClose),onClick:(0,i.mK)(e.onClick,a.onClose)})})});N.displayName=M;var O="TooltipPortal",[D,I]=m(O,{forceMount:void 0}),B=e=>{let{__scopeTooltip:t,forceMount:r,children:n,container:o}=e,i=_(O,t);return(0,x.jsx)(D,{scope:t,forceMount:r,children:(0,x.jsx)(p.C,{present:r||i.open,children:(0,x.jsx)(d.Z,{asChild:!0,container:o,children:n})})})};B.displayName=O;var K="TooltipContent",S=o.forwardRef((e,t)=>{let r=I(K,e.__scopeTooltip),{forceMount:n=r.forceMount,side:o="top",...i}=e,l=_(K,e.__scopeTooltip);return(0,x.jsx)(p.C,{present:n||l.open,children:l.disableHoverableContent?(0,x.jsx)(z,{side:o,...i,ref:t}):(0,x.jsx)(A,{side:o,...i,ref:t})})}),A=o.forwardRef((e,t)=>{let r=_(K,e.__scopeTooltip),n=k(K,e.__scopeTooltip),i=o.useRef(null),a=(0,l.s)(t,i),[s,u]=o.useState(null),{trigger:c,onClose:d}=r,p=i.current,{onPointerInTransitChange:f}=n,h=o.useCallback(()=>{u(null),f(!1)},[f]),g=o.useCallback((e,t)=>{let r,n=e.currentTarget,o={x:e.clientX,y:e.clientY},i=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),o=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(r,n,o,i)){case i:return"left";case o:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(o,n.getBoundingClientRect());u(((r=[...function(e,t,r=5){let n=[];switch(t){case"top":n.push({x:e.x-r,y:e.y+r},{x:e.x+r,y:e.y+r});break;case"bottom":n.push({x:e.x-r,y:e.y-r},{x:e.x+r,y:e.y-r});break;case"left":n.push({x:e.x+r,y:e.y-r},{x:e.x+r,y:e.y+r});break;case"right":n.push({x:e.x-r,y:e.y-r},{x:e.x-r,y:e.y+r})}return n}(o,i),...function(e){let{top:t,right:r,bottom:n,left:o}=e;return[{x:o,y:t},{x:r,y:t},{x:r,y:n},{x:o,y:n}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let r=0;r<e.length;r++){let n=e[r];for(;t.length>=2;){let e=t[t.length-1],r=t[t.length-2];if((e.x-r.x)*(n.y-r.y)>=(e.y-r.y)*(n.x-r.x))t.pop();else break}t.push(n)}t.pop();let r=[];for(let t=e.length-1;t>=0;t--){let n=e[t];for(;r.length>=2;){let e=r[r.length-1],t=r[r.length-2];if((e.x-t.x)*(n.y-t.y)>=(e.y-t.y)*(n.x-t.x))r.pop();else break}r.push(n)}return(r.pop(),1===t.length&&1===r.length&&t[0].x===r[0].x&&t[0].y===r[0].y)?t:t.concat(r)}(r))),f(!0)},[f]);return o.useEffect(()=>()=>h(),[h]),o.useEffect(()=>{if(c&&p){let e=e=>g(e,p),t=e=>g(e,c);return c.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{c.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[c,p,g,h]),o.useEffect(()=>{if(s){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=c?.contains(t)||p?.contains(t),o=!function(e,t){let{x:r,y:n}=e,o=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let l=t[e],a=t[i],s=l.x,u=l.y,c=a.x,d=a.y;u>n!=d>n&&r<(c-s)*(n-u)/(d-u)+s&&(o=!o)}return o}(r,s);n?h():o&&(h(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[c,p,s,d,h]),(0,x.jsx)(z,{...e,ref:a})}),[F,H]=m(R,{isInside:!1}),q=((n=({children:e})=>(0,x.jsx)(x.Fragment,{children:e})).displayName="TooltipContent.Slottable",n.__radixId=h,n),z=o.forwardRef((e,t)=>{let{__scopeTooltip:r,children:n,"aria-label":i,onEscapeKeyDown:l,onPointerDownOutside:a,...u}=e,d=_(K,r),p=w(r),{onClose:f}=d;return o.useEffect(()=>(document.addEventListener(T,f),()=>document.removeEventListener(T,f)),[f]),o.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&f()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,f]),(0,x.jsx)(s.qW,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:l,onPointerDownOutside:a,onFocusOutside:e=>e.preventDefault(),onDismiss:f,children:(0,x.jsxs)(c.UC,{"data-state":d.stateAttribute,...p,...u,ref:t,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,x.jsx)(q,{children:n}),(0,x.jsx)(F,{scope:r,isInside:!0,children:(0,x.jsx)(v,{id:d.contentId,role:"tooltip",children:i||n})})]})})});S.displayName=K;var G="TooltipArrow";o.forwardRef((e,t)=>{let{__scopeTooltip:r,...n}=e,o=w(r);return H(G,r).isInside?null:(0,x.jsx)(c.i3,{...o,...n,ref:t})}).displayName=G;var U=j,W=P,X=N,Y=B,Z=S}}]);