sparkecoder 0.1.97 → 0.1.99

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 (363) hide show
  1. package/dist/agent/index.d.ts +3 -3
  2. package/dist/agent/index.js +1258 -59
  3. package/dist/agent/index.js.map +1 -1
  4. package/dist/cli.js +10657 -8949
  5. package/dist/cli.js.map +1 -1
  6. package/dist/db/index.d.ts +2 -2
  7. package/dist/{index-BvIissiB.d.ts → index-D5l-DMGC.d.ts} +390 -6
  8. package/dist/index.d.ts +5 -5
  9. package/dist/index.js +9985 -8069
  10. package/dist/index.js.map +1 -1
  11. package/dist/{schema-CohdIL13.d.ts → schema-ecQSnCMz.d.ts} +41 -0
  12. package/dist/server/index.js +8615 -6707
  13. package/dist/server/index.js.map +1 -1
  14. package/dist/skills/default/manage-mcp.md +94 -0
  15. package/dist/skills/default/search-conversations.md +100 -0
  16. package/dist/tools/index.d.ts +2 -2
  17. package/dist/tools/index.js +111 -2
  18. package/dist/tools/index.js.map +1 -1
  19. package/package.json +5 -1
  20. package/src/skills/default/manage-mcp.md +94 -0
  21. package/src/skills/default/search-conversations.md +100 -0
  22. package/web/.next/BUILD_ID +1 -1
  23. package/web/.next/standalone/web/.next/BUILD_ID +1 -1
  24. package/web/.next/standalone/web/.next/app-path-routes-manifest.json +2 -1
  25. package/web/.next/standalone/web/.next/build-manifest.json +5 -5
  26. package/web/.next/standalone/web/.next/prerender-manifest.json +51 -3
  27. package/web/.next/standalone/web/.next/routes-manifest.json +13 -24
  28. package/web/.next/standalone/web/.next/server/app/(main)/agents/page/app-paths-manifest.json +3 -0
  29. package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/build-manifest.json +3 -3
  30. package/web/.next/standalone/web/.next/server/app/(main)/agents/page/next-font-manifest.json +11 -0
  31. package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page.js +7 -6
  32. package/web/.next/standalone/web/.next/server/app/(main)/agents/page.js.nft.json +1 -0
  33. package/web/.next/standalone/web/.next/server/app/(main)/agents/page_client-reference-manifest.js +2 -0
  34. package/web/.next/standalone/web/.next/server/app/(main)/page/build-manifest.json +3 -3
  35. package/web/.next/standalone/web/.next/server/app/(main)/page/next-font-manifest.json +2 -2
  36. package/web/.next/standalone/web/.next/server/app/(main)/page.js.nft.json +1 -1
  37. package/web/.next/standalone/web/.next/server/app/(main)/page_client-reference-manifest.js +1 -1
  38. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page/build-manifest.json +3 -3
  39. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page/next-font-manifest.json +2 -2
  40. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page.js.nft.json +1 -1
  41. package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page_client-reference-manifest.js +1 -1
  42. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/app-paths-manifest.json +3 -0
  43. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/build-manifest.json +18 -0
  44. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/next-font-manifest.json +11 -0
  45. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/react-loadable-manifest.json +1 -0
  46. package/web/.next/standalone/web/.next/server/app/(main)/settings/page/server-reference-manifest.json +4 -0
  47. package/web/.next/standalone/web/.next/server/app/(main)/settings/page.js +21 -0
  48. package/web/.next/standalone/web/.next/server/app/(main)/settings/page.js.map +5 -0
  49. package/web/.next/standalone/web/.next/server/app/(main)/settings/page.js.nft.json +1 -0
  50. package/web/.next/standalone/web/.next/server/app/(main)/settings/page_client-reference-manifest.js +2 -0
  51. package/web/.next/standalone/web/.next/server/app/_global-error/page/build-manifest.json +3 -3
  52. package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
  53. package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
  54. package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  55. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  56. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  57. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  58. package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  59. package/web/.next/standalone/web/.next/server/app/_not-found/page/build-manifest.json +3 -3
  60. package/web/.next/standalone/web/.next/server/app/_not-found/page/next-font-manifest.json +2 -2
  61. package/web/.next/standalone/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  62. package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
  63. package/web/.next/standalone/web/.next/server/app/_not-found.rsc +3 -3
  64. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  65. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  66. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  67. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  68. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  69. package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  70. package/web/.next/standalone/web/.next/server/app/agents.html +1 -0
  71. package/web/.next/standalone/web/.next/server/app/agents.meta +16 -0
  72. package/web/.next/standalone/web/.next/server/app/agents.rsc +25 -0
  73. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p/agents/__PAGE__.segment.rsc +9 -0
  74. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p/agents.segment.rsc +4 -0
  75. package/web/.next/standalone/web/.next/server/app/agents.segments/!KG1haW4p.segment.rsc +7 -0
  76. package/web/.next/standalone/web/.next/server/app/agents.segments/_full.segment.rsc +25 -0
  77. package/web/.next/standalone/web/.next/server/app/agents.segments/_head.segment.rsc +6 -0
  78. package/web/.next/standalone/web/.next/server/app/agents.segments/_index.segment.rsc +7 -0
  79. package/web/.next/standalone/web/.next/server/app/agents.segments/_tree.segment.rsc +5 -0
  80. package/web/.next/standalone/web/.next/server/app/api/config/route.js.nft.json +1 -1
  81. package/web/.next/standalone/web/.next/server/app/api/health/route.js.nft.json +1 -1
  82. package/web/.next/standalone/web/.next/server/app/docs/installation/page/build-manifest.json +3 -3
  83. package/web/.next/standalone/web/.next/server/app/docs/installation/page/next-font-manifest.json +2 -2
  84. package/web/.next/standalone/web/.next/server/app/docs/installation/page_client-reference-manifest.js +1 -1
  85. package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
  86. package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +3 -3
  87. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +3 -3
  88. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
  89. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +3 -3
  90. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +3 -3
  91. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
  92. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
  93. package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
  94. package/web/.next/standalone/web/.next/server/app/docs/page/build-manifest.json +3 -3
  95. package/web/.next/standalone/web/.next/server/app/docs/page/next-font-manifest.json +2 -2
  96. package/web/.next/standalone/web/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  97. package/web/.next/standalone/web/.next/server/app/docs/skills/page/build-manifest.json +3 -3
  98. package/web/.next/standalone/web/.next/server/app/docs/skills/page/next-font-manifest.json +2 -2
  99. package/web/.next/standalone/web/.next/server/app/docs/skills/page_client-reference-manifest.js +1 -1
  100. package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
  101. package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +3 -3
  102. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +3 -3
  103. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
  104. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +3 -3
  105. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +3 -3
  106. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
  107. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
  108. package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
  109. package/web/.next/standalone/web/.next/server/app/docs/tools/page/build-manifest.json +3 -3
  110. package/web/.next/standalone/web/.next/server/app/docs/tools/page/next-font-manifest.json +2 -2
  111. package/web/.next/standalone/web/.next/server/app/docs/tools/page_client-reference-manifest.js +1 -1
  112. package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
  113. package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +3 -3
  114. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +3 -3
  115. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
  116. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +3 -3
  117. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +3 -3
  118. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
  119. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
  120. package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
  121. package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
  122. package/web/.next/standalone/web/.next/server/app/docs.rsc +3 -3
  123. package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  124. package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  125. package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +3 -3
  126. package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +3 -3
  127. package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
  128. package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  129. package/web/.next/standalone/web/.next/server/app/index.html +1 -1
  130. package/web/.next/standalone/web/.next/server/app/index.rsc +7 -7
  131. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +2 -2
  132. package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +2 -2
  133. package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +7 -7
  134. package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
  135. package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +3 -3
  136. package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +5 -5
  137. package/web/.next/standalone/web/.next/server/app/settings.html +1 -0
  138. package/web/.next/standalone/web/.next/server/app/settings.meta +16 -0
  139. package/web/.next/standalone/web/.next/server/app/settings.rsc +25 -0
  140. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p/settings/__PAGE__.segment.rsc +9 -0
  141. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p/settings.segment.rsc +4 -0
  142. package/web/.next/standalone/web/.next/server/app/settings.segments/!KG1haW4p.segment.rsc +7 -0
  143. package/web/.next/standalone/web/.next/server/app/settings.segments/_full.segment.rsc +25 -0
  144. package/web/.next/standalone/web/.next/server/app/settings.segments/_head.segment.rsc +6 -0
  145. package/web/.next/standalone/web/.next/server/app/settings.segments/_index.segment.rsc +7 -0
  146. package/web/.next/standalone/web/.next/server/app/settings.segments/_tree.segment.rsc +5 -0
  147. package/web/.next/standalone/web/.next/server/app-paths-manifest.json +2 -1
  148. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_60d8842c._.js → 2374f_3b04c7b5._.js} +1 -1
  149. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_2801b766._.js → 2374f_5ee1ee50._.js} +1 -1
  150. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_c13c8f4f._.js → 2374f_7b7dd4c7._.js} +1 -1
  151. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_b7f45fdf._.js → 2374f_9e444fb0._.js} +1 -1
  152. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_a383a4d9._.js → 2374f_b57914d2._.js} +1 -1
  153. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_c2c47039._.js +3 -0
  154. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_806bd012._.js → 2374f_db1d6704._.js} +1 -1
  155. package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_f363c084._.js → 2374f_e6dbbf5d._.js} +1 -1
  156. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_lucide-react_dist_esm_icons_50c2f239._.js +3 -0
  157. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__2ea52390._.js +3 -0
  158. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__6097da17._.js +15 -0
  159. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9f149e88._.js +3 -0
  160. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__b050bb8f._.js +1 -1
  161. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__c94db61a._.js +3 -0
  162. package/web/.next/standalone/web/.next/server/chunks/ssr/web_4fe3c244._.js +3 -0
  163. package/web/.next/standalone/web/.next/server/chunks/ssr/{web_3c2b112b._.js → web_7ca56356._.js} +3 -3
  164. package/web/.next/standalone/web/.next/server/chunks/ssr/web_8e76ee8b._.js +8 -0
  165. package/web/.next/standalone/web/.next/server/chunks/ssr/web_90d4125e._.js +7 -0
  166. package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_(main)_agents_page_actions_30f6e448.js +3 -0
  167. package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_(main)_settings_page_actions_7285839d.js +3 -0
  168. package/web/.next/standalone/web/.next/server/chunks/ssr/web_b38a47ee._.js +4 -0
  169. package/web/.next/standalone/web/.next/server/chunks/ssr/web_f7cf6b63._.js +3 -0
  170. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_app_(main)_layout_tsx_453f6492._.js +3 -0
  171. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_app_(main)_page_tsx_5ac4794b._.js +1 -1
  172. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_app_(main)_settings_page_tsx_eb320e07._.js +33 -0
  173. package/web/.next/standalone/web/.next/server/middleware-build-manifest.js +3 -3
  174. package/web/.next/standalone/web/.next/server/next-font-manifest.js +1 -1
  175. package/web/.next/standalone/web/.next/server/next-font-manifest.json +22 -18
  176. package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
  177. package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
  178. package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
  179. package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
  180. package/web/.next/standalone/web/.next/static/chunks/03b5edce6d5b809e.js +1 -0
  181. package/web/.next/standalone/web/.next/static/chunks/29dcecc3c2ca92b0.js +1 -0
  182. package/web/.next/standalone/web/.next/static/chunks/344be859c2c8600b.css +1 -0
  183. package/web/.next/standalone/web/.next/static/chunks/545725e4c1237026.js +7 -0
  184. package/web/.next/standalone/web/.next/static/chunks/60359bdd369c0c72.js +1 -0
  185. package/web/.next/standalone/web/.next/static/chunks/699803c4fb2dd3fc.js +5 -0
  186. package/web/.next/standalone/web/.next/static/chunks/735a2408c315b2f0.js +1 -0
  187. package/web/.next/standalone/web/.next/static/chunks/a7d5d0791c8c6223.css +2 -0
  188. package/web/.next/standalone/web/.next/static/chunks/d54077a2bb8314ed.js +31 -0
  189. package/web/.next/standalone/web/.next/static/chunks/dc34aa94e57fa28e.js +3 -0
  190. package/web/.next/standalone/web/.next/static/chunks/ea89ca7892d8c557.js +1 -0
  191. package/web/.next/standalone/web/.next/static/chunks/f0f19357f3fb7cf8.js +1 -0
  192. package/web/.next/standalone/web/.next/static/chunks/f50a66c24c564585.js +13 -0
  193. package/web/.next/standalone/web/.next/static/chunks/f5fe518b79d1bf41.js +1 -0
  194. package/web/.next/standalone/web/.next/static/{static/chunks/turbopack-597558bb7b6982f6.js → chunks/turbopack-2c0905c7bbebae3f.js} +1 -1
  195. package/web/.next/standalone/web/.next/static/media/4fa387ec64143e14-s.c36e1862.woff2 +0 -0
  196. package/web/.next/standalone/web/.next/static/media/53b9e256198e5412-s.853d50a3.woff2 +0 -0
  197. package/web/.next/standalone/web/.next/static/media/5ce348bf30bf5439-s.ebceb24d.woff2 +0 -0
  198. package/web/.next/standalone/web/.next/static/media/6306c77e7c8268e4-s.ff4a2084.woff2 +0 -0
  199. package/web/.next/standalone/web/.next/static/media/7178b3e590c64307-s.55554cd0.woff2 +0 -0
  200. package/web/.next/standalone/web/.next/static/media/797e433ab948586e-s.p.479bea2b.woff2 +0 -0
  201. package/web/.next/standalone/web/.next/static/media/7d817b4c03b0c5f1-s.f377b9c4.woff2 +0 -0
  202. package/web/.next/standalone/web/.next/static/media/8a480f0b521d4e75-s.ea323500.woff2 +0 -0
  203. package/web/.next/standalone/web/.next/static/media/bbc41e54d2fcbd21-s.d1207556.woff2 +0 -0
  204. package/web/.next/standalone/web/.next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2 +0 -0
  205. package/web/.next/standalone/web/.next/static/media/fef07dbb0973bf53-s.518e079e.woff2 +0 -0
  206. package/web/.next/standalone/web/.next/static/static/chunks/03b5edce6d5b809e.js +1 -0
  207. package/web/.next/standalone/web/.next/static/static/chunks/29dcecc3c2ca92b0.js +1 -0
  208. package/web/.next/standalone/web/.next/static/static/chunks/344be859c2c8600b.css +1 -0
  209. package/web/.next/standalone/web/.next/static/static/chunks/545725e4c1237026.js +7 -0
  210. package/web/.next/standalone/web/.next/static/static/chunks/60359bdd369c0c72.js +1 -0
  211. package/web/.next/standalone/web/.next/static/static/chunks/699803c4fb2dd3fc.js +5 -0
  212. package/web/.next/standalone/web/.next/static/static/chunks/735a2408c315b2f0.js +1 -0
  213. package/web/.next/standalone/web/.next/static/static/chunks/a7d5d0791c8c6223.css +2 -0
  214. package/web/.next/standalone/web/.next/static/static/chunks/d54077a2bb8314ed.js +31 -0
  215. package/web/.next/standalone/web/.next/static/static/chunks/dc34aa94e57fa28e.js +3 -0
  216. package/web/.next/standalone/web/.next/static/static/chunks/ea89ca7892d8c557.js +1 -0
  217. package/web/.next/standalone/web/.next/static/static/chunks/f0f19357f3fb7cf8.js +1 -0
  218. package/web/.next/standalone/web/.next/static/static/chunks/f50a66c24c564585.js +13 -0
  219. package/web/.next/standalone/web/.next/static/static/chunks/f5fe518b79d1bf41.js +1 -0
  220. package/web/.next/standalone/web/.next/static/{chunks/turbopack-597558bb7b6982f6.js → static/chunks/turbopack-2c0905c7bbebae3f.js} +1 -1
  221. package/web/.next/standalone/web/.next/static/static/media/4fa387ec64143e14-s.c36e1862.woff2 +0 -0
  222. package/web/.next/standalone/web/.next/static/static/media/53b9e256198e5412-s.853d50a3.woff2 +0 -0
  223. package/web/.next/standalone/web/.next/static/static/media/5ce348bf30bf5439-s.ebceb24d.woff2 +0 -0
  224. package/web/.next/standalone/web/.next/static/static/media/6306c77e7c8268e4-s.ff4a2084.woff2 +0 -0
  225. package/web/.next/standalone/web/.next/static/static/media/7178b3e590c64307-s.55554cd0.woff2 +0 -0
  226. package/web/.next/standalone/web/.next/static/static/media/797e433ab948586e-s.p.479bea2b.woff2 +0 -0
  227. package/web/.next/standalone/web/.next/static/static/media/7d817b4c03b0c5f1-s.f377b9c4.woff2 +0 -0
  228. package/web/.next/standalone/web/.next/static/static/media/8a480f0b521d4e75-s.ea323500.woff2 +0 -0
  229. package/web/.next/standalone/web/.next/static/static/media/bbc41e54d2fcbd21-s.d1207556.woff2 +0 -0
  230. package/web/.next/standalone/web/.next/static/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2 +0 -0
  231. package/web/.next/standalone/web/.next/static/static/media/fef07dbb0973bf53-s.518e079e.woff2 +0 -0
  232. package/web/.next/standalone/web/next.config.ts +0 -54
  233. package/web/.next/standalone/web/package-lock.json +7 -7
  234. package/web/.next/standalone/web/src/app/(main)/agents/page.tsx +222 -0
  235. package/web/.next/standalone/web/src/app/(main)/page.tsx +40 -1
  236. package/web/.next/standalone/web/src/app/(main)/session/[id]/page.tsx +9 -1
  237. package/web/.next/standalone/web/src/app/(main)/settings/page.tsx +1116 -0
  238. package/web/.next/standalone/web/src/components/chat-interface.tsx +222 -19
  239. package/web/.next/standalone/web/src/components/pending-question-banner.tsx +106 -0
  240. package/web/.next/standalone/web/src/components/sessions-sidebar.tsx +120 -50
  241. package/web/.next/standalone/web/src/lib/api.ts +61 -5
  242. package/web/.next/standalone/web/src/test/api.test.ts +17 -0
  243. package/web/.next/standalone/web/vitest.config.ts +13 -0
  244. package/web/.next/static/chunks/03b5edce6d5b809e.js +1 -0
  245. package/web/.next/static/chunks/29dcecc3c2ca92b0.js +1 -0
  246. package/web/.next/static/chunks/344be859c2c8600b.css +1 -0
  247. package/web/.next/static/chunks/545725e4c1237026.js +7 -0
  248. package/web/.next/static/chunks/60359bdd369c0c72.js +1 -0
  249. package/web/.next/static/chunks/699803c4fb2dd3fc.js +5 -0
  250. package/web/.next/static/chunks/735a2408c315b2f0.js +1 -0
  251. package/web/.next/static/chunks/a7d5d0791c8c6223.css +2 -0
  252. package/web/.next/static/chunks/d54077a2bb8314ed.js +31 -0
  253. package/web/.next/static/chunks/dc34aa94e57fa28e.js +3 -0
  254. package/web/.next/static/chunks/ea89ca7892d8c557.js +1 -0
  255. package/web/.next/static/chunks/f0f19357f3fb7cf8.js +1 -0
  256. package/web/.next/static/chunks/f50a66c24c564585.js +13 -0
  257. package/web/.next/static/chunks/f5fe518b79d1bf41.js +1 -0
  258. package/web/.next/static/chunks/{turbopack-597558bb7b6982f6.js → turbopack-2c0905c7bbebae3f.js} +1 -1
  259. package/web/.next/static/media/4fa387ec64143e14-s.c36e1862.woff2 +0 -0
  260. package/web/.next/static/media/53b9e256198e5412-s.853d50a3.woff2 +0 -0
  261. package/web/.next/static/media/5ce348bf30bf5439-s.ebceb24d.woff2 +0 -0
  262. package/web/.next/static/media/6306c77e7c8268e4-s.ff4a2084.woff2 +0 -0
  263. package/web/.next/static/media/7178b3e590c64307-s.55554cd0.woff2 +0 -0
  264. package/web/.next/static/media/797e433ab948586e-s.p.479bea2b.woff2 +0 -0
  265. package/web/.next/static/media/7d817b4c03b0c5f1-s.f377b9c4.woff2 +0 -0
  266. package/web/.next/static/media/8a480f0b521d4e75-s.ea323500.woff2 +0 -0
  267. package/web/.next/static/media/bbc41e54d2fcbd21-s.d1207556.woff2 +0 -0
  268. package/web/.next/static/media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2 +0 -0
  269. package/web/.next/static/media/fef07dbb0973bf53-s.518e079e.woff2 +0 -0
  270. package/web/.next/standalone/web/.next/server/app/embed/[id]/page/app-paths-manifest.json +0 -3
  271. package/web/.next/standalone/web/.next/server/app/embed/[id]/page/next-font-manifest.json +0 -11
  272. package/web/.next/standalone/web/.next/server/app/embed/[id]/page.js.nft.json +0 -1
  273. package/web/.next/standalone/web/.next/server/app/embed/[id]/page_client-reference-manifest.js +0 -2
  274. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_317b1fef._.js +0 -3
  275. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_37dd9702._.js +0 -45
  276. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_4d44e4ed._.js +0 -26
  277. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_54ac917f._.js +0 -3
  278. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_86585101._.js +0 -3
  279. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_c59a35bb._.js +0 -3
  280. package/web/.next/standalone/web/.next/server/chunks/ssr/2374f_fdfc7f3d._.js +0 -31
  281. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__234f92d8._.js +0 -3
  282. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9a826344._.js +0 -3
  283. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__9d3a7cbf._.js +0 -15
  284. package/web/.next/standalone/web/.next/server/chunks/ssr/[root-of-the-server]__de76483d._.js +0 -3
  285. package/web/.next/standalone/web/.next/server/chunks/ssr/web_08242997._.js +0 -3
  286. package/web/.next/standalone/web/.next/server/chunks/ssr/web_123ffe97._.js +0 -8
  287. package/web/.next/standalone/web/.next/server/chunks/ssr/web_5cca707f._.js +0 -7
  288. package/web/.next/standalone/web/.next/server/chunks/ssr/web_935e81f5._.js +0 -7
  289. package/web/.next/standalone/web/.next/server/chunks/ssr/web_99b01335._.js +0 -8
  290. package/web/.next/standalone/web/.next/server/chunks/ssr/web__next-internal_server_app_embed_[id]_page_actions_dd0b7fea.js +0 -3
  291. package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_components_sessions-sidebar_tsx_92510070._.js +0 -3
  292. package/web/.next/standalone/web/.next/static/chunks/1ebba7ac024244f9.js +0 -5
  293. package/web/.next/standalone/web/.next/static/chunks/2473c16c0c2f6b5f.css +0 -2
  294. package/web/.next/standalone/web/.next/static/chunks/2624c966c288fd41.js +0 -13
  295. package/web/.next/standalone/web/.next/static/chunks/275e8268daf318b2.js +0 -7
  296. package/web/.next/standalone/web/.next/static/chunks/58fd0aaa2746b444.js +0 -1
  297. package/web/.next/standalone/web/.next/static/chunks/74b64476a24dd71e.css +0 -1
  298. package/web/.next/standalone/web/.next/static/chunks/767bcdfbabf0703e.js +0 -7
  299. package/web/.next/standalone/web/.next/static/chunks/8af263bc97c0c9ee.js +0 -3
  300. package/web/.next/standalone/web/.next/static/chunks/a888d448ceab1abe.js +0 -1
  301. package/web/.next/standalone/web/.next/static/chunks/b9ad1584d4e11d12.js +0 -1
  302. package/web/.next/standalone/web/.next/static/chunks/c6f40df16a9396b9.js +0 -1
  303. package/web/.next/standalone/web/.next/static/chunks/cfadc93a98190e5a.js +0 -3
  304. package/web/.next/standalone/web/.next/static/chunks/ea29be392100ab0f.js +0 -5
  305. package/web/.next/standalone/web/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  306. package/web/.next/standalone/web/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  307. package/web/.next/standalone/web/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  308. package/web/.next/standalone/web/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  309. package/web/.next/standalone/web/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  310. package/web/.next/standalone/web/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  311. package/web/.next/standalone/web/.next/static/static/chunks/1ebba7ac024244f9.js +0 -5
  312. package/web/.next/standalone/web/.next/static/static/chunks/2473c16c0c2f6b5f.css +0 -2
  313. package/web/.next/standalone/web/.next/static/static/chunks/2624c966c288fd41.js +0 -13
  314. package/web/.next/standalone/web/.next/static/static/chunks/275e8268daf318b2.js +0 -7
  315. package/web/.next/standalone/web/.next/static/static/chunks/58fd0aaa2746b444.js +0 -1
  316. package/web/.next/standalone/web/.next/static/static/chunks/74b64476a24dd71e.css +0 -1
  317. package/web/.next/standalone/web/.next/static/static/chunks/767bcdfbabf0703e.js +0 -7
  318. package/web/.next/standalone/web/.next/static/static/chunks/8af263bc97c0c9ee.js +0 -3
  319. package/web/.next/standalone/web/.next/static/static/chunks/a888d448ceab1abe.js +0 -1
  320. package/web/.next/standalone/web/.next/static/static/chunks/b9ad1584d4e11d12.js +0 -1
  321. package/web/.next/standalone/web/.next/static/static/chunks/c6f40df16a9396b9.js +0 -1
  322. package/web/.next/standalone/web/.next/static/static/chunks/cfadc93a98190e5a.js +0 -3
  323. package/web/.next/standalone/web/.next/static/static/chunks/ea29be392100ab0f.js +0 -5
  324. package/web/.next/standalone/web/.next/static/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  325. package/web/.next/standalone/web/.next/static/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  326. package/web/.next/standalone/web/.next/static/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  327. package/web/.next/standalone/web/.next/static/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  328. package/web/.next/standalone/web/.next/static/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  329. package/web/.next/standalone/web/.next/static/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  330. package/web/.next/standalone/web/src/app/embed/[id]/page.tsx +0 -77
  331. package/web/.next/standalone/web/src/lib/embed-bootstrap.ts +0 -108
  332. package/web/.next/static/chunks/1ebba7ac024244f9.js +0 -5
  333. package/web/.next/static/chunks/2473c16c0c2f6b5f.css +0 -2
  334. package/web/.next/static/chunks/2624c966c288fd41.js +0 -13
  335. package/web/.next/static/chunks/275e8268daf318b2.js +0 -7
  336. package/web/.next/static/chunks/58fd0aaa2746b444.js +0 -1
  337. package/web/.next/static/chunks/74b64476a24dd71e.css +0 -1
  338. package/web/.next/static/chunks/767bcdfbabf0703e.js +0 -7
  339. package/web/.next/static/chunks/8af263bc97c0c9ee.js +0 -3
  340. package/web/.next/static/chunks/a888d448ceab1abe.js +0 -1
  341. package/web/.next/static/chunks/b9ad1584d4e11d12.js +0 -1
  342. package/web/.next/static/chunks/c6f40df16a9396b9.js +0 -1
  343. package/web/.next/static/chunks/cfadc93a98190e5a.js +0 -3
  344. package/web/.next/static/chunks/ea29be392100ab0f.js +0 -5
  345. package/web/.next/static/media/4fa387ec64143e14-s.c1fdd6c2.woff2 +0 -0
  346. package/web/.next/static/media/7178b3e590c64307-s.b97b3418.woff2 +0 -0
  347. package/web/.next/static/media/797e433ab948586e-s.p.dbea232f.woff2 +0 -0
  348. package/web/.next/static/media/8a480f0b521d4e75-s.8e0177b5.woff2 +0 -0
  349. package/web/.next/static/media/bbc41e54d2fcbd21-s.799d8ef8.woff2 +0 -0
  350. package/web/.next/static/media/caa3a2e1cccd8315-s.p.853070df.woff2 +0 -0
  351. package/dist/{search-CCffrVJE.d.ts → search-DOzC4ojH.d.ts} +1 -1
  352. /package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/react-loadable-manifest.json +0 -0
  353. /package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page/server-reference-manifest.json +0 -0
  354. /package/web/.next/standalone/web/.next/server/app/{embed/[id] → (main)/agents}/page.js.map +0 -0
  355. /package/web/.next/standalone/web/.next/static/{-npGTmVDA-oK8ZjRdKQf5 → static/yyzMTo2RYusiXE0e1_kdc}/_buildManifest.js +0 -0
  356. /package/web/.next/standalone/web/.next/static/{-npGTmVDA-oK8ZjRdKQf5 → static/yyzMTo2RYusiXE0e1_kdc}/_clientMiddlewareManifest.json +0 -0
  357. /package/web/.next/standalone/web/.next/static/{-npGTmVDA-oK8ZjRdKQf5 → static/yyzMTo2RYusiXE0e1_kdc}/_ssgManifest.js +0 -0
  358. /package/web/.next/standalone/web/.next/static/{static/-npGTmVDA-oK8ZjRdKQf5 → yyzMTo2RYusiXE0e1_kdc}/_buildManifest.js +0 -0
  359. /package/web/.next/standalone/web/.next/static/{static/-npGTmVDA-oK8ZjRdKQf5 → yyzMTo2RYusiXE0e1_kdc}/_clientMiddlewareManifest.json +0 -0
  360. /package/web/.next/standalone/web/.next/static/{static/-npGTmVDA-oK8ZjRdKQf5 → yyzMTo2RYusiXE0e1_kdc}/_ssgManifest.js +0 -0
  361. /package/web/.next/static/{-npGTmVDA-oK8ZjRdKQf5 → yyzMTo2RYusiXE0e1_kdc}/_buildManifest.js +0 -0
  362. /package/web/.next/static/{-npGTmVDA-oK8ZjRdKQf5 → yyzMTo2RYusiXE0e1_kdc}/_clientMiddlewareManifest.json +0 -0
  363. /package/web/.next/static/{-npGTmVDA-oK8ZjRdKQf5 → yyzMTo2RYusiXE0e1_kdc}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,999899,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return u}});let n=e.r(430878),o=e.r(865644);function u(){return!function(){if("u"<typeof window){let{workUnitAsyncStorage:t}=e.r(417085),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},365523,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return i},useNavFailureHandler:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});e.r(430878);let u=e.r(883628);function i(e){return!!(e&&"u">typeof window)&&!!window.next.__pendingUrl&&(0,u.createHrefFromUrl)(new URL(window.location.href))!==(0,u.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function c(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},64130,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return y},ErrorBoundaryHandler:function(){return p}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(963212),i=e.r(414294),c=u._(e.r(430878)),a=e.r(999899),s=e.r(691349);e.r(365523);let l=e.r(494410),f=e.r(890970),d="u">typeof window&&(0,f.isBot)(window.navigator.userAgent);class p extends c.default.Component{constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,s.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!d?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.HandleISRError,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,i.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function y({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let o=(0,a.useUntrackedPathname)();return e?(0,i.jsx)(p,{pathname:o,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,i.jsx)(i.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},581306,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return d}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(279510),i=e.r(414294),c=u._(e.r(430878)),a=e.r(387603),s=e.r(439724),l=e.r(286280);function f({redirect:e,reset:t,redirectType:r}){let n=(0,a.useRouter)();return(0,c.useEffect)(()=>{c.default.startTransition(()=>{r===l.RedirectType.push?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class d extends c.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,l.isRedirectError)(e)){let t=(0,s.getURLFromRedirectError)(e),r=(0,s.getRedirectTypeFromError)(e);return"handled"in e?{redirect:null,redirectType:null}:{redirect:t,redirectType:r}}throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,i.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,a.useRouter)();return(0,i.jsx)(d,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},556167,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},151858,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return c},OutletBoundary:function(){return s},RootLayoutBoundary:function(){return l},ViewportBoundary:function(){return a}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(338349),i={[u.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[u.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[u.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[u.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},c=i[u.METADATA_BOUNDARY_NAME.slice(0)],a=i[u.VIEWPORT_BOUNDARY_NAME.slice(0)],s=i[u.OUTLET_BOUNDARY_NAME.slice(0)],l=i[u.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},963212,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},245835,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return o}});var n,o=((n={})[n.SeeOther=303]="SeeOther",n[n.TemporaryRedirect=307]="TemporaryRedirect",n[n.PermanentRedirect=308]="PermanentRedirect",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},286280,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,o={REDIRECT_ERROR_CODE:function(){return c},RedirectType:function(){return a},isRedirectError:function(){return s}};for(var u in o)Object.defineProperty(r,u,{enumerable:!0,get:o[u]});let i=e.r(245835),c="NEXT_REDIRECT";var a=((n={}).push="push",n.replace="replace",n);function s(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,n]=t,o=t.slice(2,-2).join(";"),u=Number(t.at(-2));return r===c&&("replace"===n||"push"===n)&&"string"==typeof o&&!isNaN(u)&&u in i.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},994889,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ACTION_HEADER:function(){return i},FLIGHT_HEADERS:function(){return y},NEXT_ACTION_NOT_FOUND_HEADER:function(){return m},NEXT_ACTION_REVALIDATED_HEADER:function(){return T},NEXT_DID_POSTPONE_HEADER:function(){return g},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return f},NEXT_HMR_REFRESH_HEADER:function(){return l},NEXT_HTML_REQUEST_ID_HEADER:function(){return R},NEXT_IS_PRERENDER_HEADER:function(){return b},NEXT_REQUEST_ID_HEADER:function(){return O},NEXT_REWRITTEN_PATH_HEADER:function(){return v},NEXT_REWRITTEN_QUERY_HEADER:function(){return h},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return s},NEXT_ROUTER_STALE_TIME_HEADER:function(){return E},NEXT_ROUTER_STATE_TREE_HEADER:function(){return c},NEXT_RSC_UNION_QUERY:function(){return _},NEXT_URL:function(){return d},RSC_CONTENT_TYPE_HEADER:function(){return p},RSC_HEADER:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u="rsc",i="next-action",c="next-router-state-tree",a="next-router-prefetch",s="next-router-segment-prefetch",l="next-hmr-refresh",f="__next_hmr_refresh_hash__",d="next-url",p="text/x-component",y=[u,c,a,l,s],_="_rsc",E="x-nextjs-stale-time",g="x-nextjs-postponed",v="x-nextjs-rewritten-path",h="x-nextjs-rewritten-query",b="x-nextjs-prerender",m="x-nextjs-action-not-found",O="x-nextjs-request-id",R="x-nextjs-html-request-id",T="x-action-revalidated";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},279510,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var c=u?Object.getOwnPropertyDescriptor(e,i):null;c&&(c.get||c.set)?Object.defineProperty(o,i,c):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}},955761,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DEFAULT_SEGMENT_KEY:function(){return f},NOT_FOUND_SEGMENT_KEY:function(){return d},PAGE_SEGMENT_KEY:function(){return l},addSearchParamsIfPageSegment:function(){return a},computeSelectedLayoutSegment:function(){return s},getSegmentValue:function(){return u},getSelectedLayoutSegmentPath:function(){return function e(t,r,n=!0,o=[]){let i;if(n)i=t[1][r];else{let e=t[1];i=e.children??Object.values(e)[0]}if(!i)return o;let c=u(i[0]);return!c||c.startsWith(l)?o:(o.push(c),e(i,r,!1,o))}},isGroupSegment:function(){return i},isParallelRouteSegment:function(){return c}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function u(e){return Array.isArray(e)?e[1]:e}function i(e){return"("===e[0]&&e.endsWith(")")}function c(e){return e.startsWith("@")&&"@children"!==e}function a(e,t){if(e.includes(l)){let e=JSON.stringify(t);return"{}"!==e?l+"?"+e:l}return e}function s(e,t){if(!e||0===e.length)return null;let r="children"===t?e[0]:e[e.length-1];return r===f?null:r}let l="__PAGE__",f="__DEFAULT__",d="/_not-found"},596691,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getDeploymentId:function(){return u},getDeploymentIdQueryOrEmptyString:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function u(){return!1}function i(){return""}},31062,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={UnrecognizedActionError:function(){return u},unstable_isUnrecognizedActionError:function(){return i}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});class u extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function i(e){return!!(e&&"object"==typeof e&&e instanceof u)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},8018,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(446986).createAsyncLocalStorage)()},501755,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(8018)},439724,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getRedirectError:function(){return a},getRedirectStatusCodeFromError:function(){return p},getRedirectTypeFromError:function(){return d},getURLFromRedirectError:function(){return f},permanentRedirect:function(){return l},redirect:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(245835),i=e.r(286280),c="u"<typeof window?e.r(501755).actionAsyncStorage:void 0;function a(e,t,r=u.RedirectStatusCode.TemporaryRedirect){let n=Object.defineProperty(Error(i.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n.digest=`${i.REDIRECT_ERROR_CODE};${t};${e};${r};`,n}function s(e,t){throw a(e,t??=c?.getStore()?.isAction?i.RedirectType.push:i.RedirectType.replace,u.RedirectStatusCode.TemporaryRedirect)}function l(e,t=i.RedirectType.replace){throw a(e,t,u.RedirectStatusCode.PermanentRedirect)}function f(e){return(0,i.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function d(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function p(e){if(!(0,i.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},369168,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={AppRouterContext:function(){return i},GlobalLayoutRouterContext:function(){return a},LayoutRouterContext:function(){return c},MissingSlotContext:function(){return l},TemplateContext:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=e.r(963212)._(e.r(430878)),i=u.default.createContext(null),c=u.default.createContext(null),a=u.default.createContext(null),s=u.default.createContext(null),l=u.default.createContext(new Set)},446986,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={bindSnapshot:function(){return s},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return l}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let u=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class i{disable(){throw u}getStore(){}run(){throw u}exit(){throw u}enterWith(){throw u}static bind(e){return e}}let c="u">typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return c?new c:new i}function s(e){return c?c.bind(e):i.bind(e)}function l(){return c?c.snapshot():function(e,...t){return e(...t)}}},193301,(e,t,r)=>{var n={229:function(e){var t,r,n,o=e.exports={};function u(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}try{t="function"==typeof setTimeout?setTimeout:u}catch(e){t=u}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}function c(e){if(t===setTimeout)return setTimeout(e,0);if((t===u||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}var a=[],s=!1,l=-1;function f(){s&&n&&(s=!1,n.length?a=n.concat(a):l=-1,a.length&&d())}function d(){if(!s){var e=c(f);s=!0;for(var t=a.length;t;){for(n=a,a=[];++l<t;)n&&n[l].run();l=-1,t=a.length}n=null,s=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===i||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function p(e,t){this.fun=e,this.array=t}function y(){}o.nextTick=function(e){var t=Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];a.push(new p(e,t)),1!==a.length||s||c(d)},p.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=y,o.addListener=y,o.once=y,o.off=y,o.removeListener=y,o.removeAllListeners=y,o.emit=y,o.prependListener=y,o.prependOnceListener=y,o.listeners=function(e){return[]},o.binding=function(e){throw Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw Error("process.chdir is not supported")},o.umask=function(){return 0}}},o={};function u(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}},i=!0;try{n[e](r,r.exports,u),i=!1}finally{i&&delete o[e]}return r.exports}u.ab="/ROOT/web/node_modules/next/dist/compiled/process/",t.exports=u(229)},950382,(e,t,r)=>{"use strict";var n,o;t.exports=(null==(n=e.g.process)?void 0:n.env)&&"object"==typeof(null==(o=e.g.process)?void 0:o.env)?e.g.process:e.r(193301)},517077,(e,t,r)=>{"use strict";var n=Symbol.for("react.transitional.element");function o(e,t,r){var o=null;if(void 0!==r&&(o=""+r),void 0!==t.key&&(o=""+t.key),"key"in t)for(var u in r={},t)"key"!==u&&(r[u]=t[u]);else r=t;return{$$typeof:n,type:e,key:o,ref:void 0!==(t=r.ref)?t:null,props:r}}r.Fragment=Symbol.for("react.fragment"),r.jsx=o,r.jsxs=o},414294,(e,t,r)=>{"use strict";t.exports=e.r(517077)},715068,(e,t,r)=>{"use strict";var n=e.i(950382),o=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),l=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),_=Symbol.for("react.activity"),E=Symbol.for("react.view_transition"),g=Symbol.iterator,v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,b={};function m(e,t,r){this.props=e,this.context=t,this.refs=b,this.updater=r||v}function O(){}function R(e,t,r){this.props=e,this.context=t,this.refs=b,this.updater=r||v}m.prototype.isReactComponent={},m.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},m.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},O.prototype=m.prototype;var T=R.prototype=new O;T.constructor=R,h(T,m.prototype),T.isPureReactComponent=!0;var S=Array.isArray;function j(){}var P={H:null,A:null,T:null,S:null},A=Object.prototype.hasOwnProperty;function w(e,t,r){var n=r.ref;return{$$typeof:o,type:e,key:t,ref:void 0!==n?n:null,props:r}}function x(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var N=/\/+/g;function M(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function C(e,t,r){if(null==e)return e;var n=[],i=0;return!function e(t,r,n,i,c){var a,s,l,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case u:d=!0;break;case y:return e((d=t._init)(t._payload),r,n,i,c)}}if(d)return c=c(t),d=""===i?"."+M(t,0):i,S(c)?(n="",null!=d&&(n=d.replace(N,"$&/")+"/"),e(c,r,n,"",function(e){return e})):null!=c&&(x(c)&&(a=c,s=n+(null==c.key||t&&t.key===c.key?"":(""+c.key).replace(N,"$&/")+"/")+d,c=w(a.type,s,a.props)),r.push(c)),1;d=0;var p=""===i?".":i+":";if(S(t))for(var _=0;_<t.length;_++)f=p+M(i=t[_],_),d+=e(i,r,n,f,c);else if("function"==typeof(_=null===(l=t)||"object"!=typeof l?null:"function"==typeof(l=g&&l[g]||l["@@iterator"])?l:null))for(t=_.call(t),_=0;!(i=t.next()).done;)f=p+M(i=i.value,_++),d+=e(i,r,n,f,c);else if("object"===f){if("function"==typeof t.then)return e(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(j,j):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(t),r,n,i,c);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===(r=String(t))?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.")}return d}(e,n,"","",function(e){return t.call(r,e,i++)}),n}function D(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){(0===e._status||-1===e._status)&&(e._status=1,e._result=t)},function(t){(0===e._status||-1===e._status)&&(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var H="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof n.default&&"function"==typeof n.default.emit)return void n.default.emit("uncaughtException",e);console.error(e)};function U(e){var t=P.T,r={};r.types=null!==t?t.types:null,P.T=r;try{var n=e(),o=P.S;null!==o&&o(r,n),"object"==typeof n&&null!==n&&"function"==typeof n.then&&n.then(j,H)}catch(e){H(e)}finally{null!==t&&null!==r.types&&(t.types=r.types),P.T=t}}function L(e){var t=P.T;if(null!==t){var r=t.types;null===r?t.types=[e]:-1===r.indexOf(e)&&r.push(e)}else U(L.bind(null,e))}r.Activity=_,r.Children={map:C,forEach:function(e,t,r){C(e,function(){t.apply(this,arguments)},r)},count:function(e){var t=0;return C(e,function(){t++}),t},toArray:function(e){return C(e,function(e){return e})||[]},only:function(e){if(!x(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},r.Component=m,r.Fragment=i,r.Profiler=a,r.PureComponent=R,r.StrictMode=c,r.Suspense=d,r.ViewTransition=E,r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=P,r.__COMPILER_RUNTIME={__proto__:null,c:function(e){return P.H.useMemoCache(e)}},r.addTransitionType=L,r.cache=function(e){return function(){return e.apply(null,arguments)}},r.cacheSignal=function(){return null},r.cloneElement=function(e,t,r){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var n=h({},e.props),o=e.key;if(null!=t)for(u in void 0!==t.key&&(o=""+t.key),t)A.call(t,u)&&"key"!==u&&"__self"!==u&&"__source"!==u&&("ref"!==u||void 0!==t.ref)&&(n[u]=t[u]);var u=arguments.length-2;if(1===u)n.children=r;else if(1<u){for(var i=Array(u),c=0;c<u;c++)i[c]=arguments[c+2];n.children=i}return w(e.type,o,n)},r.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:s,_context:e},e},r.createElement=function(e,t,r){var n,o={},u=null;if(null!=t)for(n in void 0!==t.key&&(u=""+t.key),t)A.call(t,n)&&"key"!==n&&"__self"!==n&&"__source"!==n&&(o[n]=t[n]);var i=arguments.length-2;if(1===i)o.children=r;else if(1<i){for(var c=Array(i),a=0;a<i;a++)c[a]=arguments[a+2];o.children=c}if(e&&e.defaultProps)for(n in i=e.defaultProps)void 0===o[n]&&(o[n]=i[n]);return w(e,u,o)},r.createRef=function(){return{current:null}},r.forwardRef=function(e){return{$$typeof:f,render:e}},r.isValidElement=x,r.lazy=function(e){return{$$typeof:y,_payload:{_status:-1,_result:e},_init:D}},r.memo=function(e,t){return{$$typeof:p,type:e,compare:void 0===t?null:t}},r.startTransition=U,r.unstable_useCacheRefresh=function(){return P.H.useCacheRefresh()},r.use=function(e){return P.H.use(e)},r.useActionState=function(e,t,r){return P.H.useActionState(e,t,r)},r.useCallback=function(e,t){return P.H.useCallback(e,t)},r.useContext=function(e){return P.H.useContext(e)},r.useDebugValue=function(){},r.useDeferredValue=function(e,t){return P.H.useDeferredValue(e,t)},r.useEffect=function(e,t){return P.H.useEffect(e,t)},r.useEffectEvent=function(e){return P.H.useEffectEvent(e)},r.useId=function(){return P.H.useId()},r.useImperativeHandle=function(e,t,r){return P.H.useImperativeHandle(e,t,r)},r.useInsertionEffect=function(e,t){return P.H.useInsertionEffect(e,t)},r.useLayoutEffect=function(e,t){return P.H.useLayoutEffect(e,t)},r.useMemo=function(e,t){return P.H.useMemo(e,t)},r.useOptimistic=function(e,t){return P.H.useOptimistic(e,t)},r.useReducer=function(e,t,r){return P.H.useReducer(e,t,r)},r.useRef=function(e){return P.H.useRef(e)},r.useState=function(e){return P.H.useState(e)},r.useSyncExternalStore=function(e,t,r){return P.H.useSyncExternalStore(e,t,r)},r.useTransition=function(){return P.H.useTransition()},r.version="19.3.0-canary-f93b9fd4-20251217"},430878,(e,t,r)=>{"use strict";t.exports=e.r(715068)},358357,(e,t,r)=>{"use strict";var n=e.r(430878);function o(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var r=2;r<arguments.length;r++)t+="&args[]="+encodeURIComponent(arguments[r])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function u(){}var i={d:{f:u,r:function(){throw Error(o(522))},D:u,C:u,L:u,m:u,X:u,S:u,M:u},p:0,findDOMNode:null},c=Symbol.for("react.portal"),a=Symbol.for("react.optimistic_key"),s=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,r.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(o(299));return function(e,t,r){var n=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:c,key:null==n?null:n===a?a:""+n,children:e,containerInfo:t,implementation:r}}(e,t,null,r)},r.flushSync=function(e){var t=s.T,r=i.p;try{if(s.T=null,i.p=2,e)return e()}finally{s.T=t,i.p=r,i.d.f()}},r.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,i.d.C(e,t))},r.prefetchDNS=function(e){"string"==typeof e&&i.d.D(e)},r.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var r=t.as,n=l(r,t.crossOrigin),o="string"==typeof t.integrity?t.integrity:void 0,u="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===r?i.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:n,integrity:o,fetchPriority:u}):"script"===r&&i.d.X(e,{crossOrigin:n,integrity:o,fetchPriority:u,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},r.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var r=l(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0})}}else null==t&&i.d.M(e)},r.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var r=t.as,n=l(r,t.crossOrigin);i.d.L(e,r,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},r.preloadModule=function(e,t){if("string"==typeof e)if(t){var r=l(t.as,t.crossOrigin);i.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:r,integrity:"string"==typeof t.integrity?t.integrity:void 0})}else i.d.m(e)},r.requestFormReset=function(e){i.d.r(e)},r.unstable_batchedUpdates=function(e,t){return e(t)},r.useFormState=function(e,t,r){return s.H.useFormState(e,t,r)},r.useFormStatus=function(){return s.H.useHostTransitionStatus()},r.version="19.3.0-canary-f93b9fd4-20251217"},773340,(e,t,r)=>{"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(358357)},209156,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(446986).createAsyncLocalStorage)()},910643,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=e.r(209156)},494410,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HandleISRError",{enumerable:!0,get:function(){return o}});let n="u"<typeof window?e.r(910643).workAsyncStorage:void 0;function o({error:e}){if(n){let t=n.getStore();if(t?.isStaticGeneration)throw e&&console.error(e),e}return null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
@@ -0,0 +1,2 @@
1
+ @font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
2
+ @font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.ebceb24d.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c36e1862.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.ff4a2084.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.f377b9c4.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.d1207556.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.479bea2b.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
@@ -0,0 +1,31 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,412490,e=>{"use strict";var s=e.i(414294),t=e.i(430878),a=e.i(461957),n=e.i(292511);let r=(0,n.default)("slack",[["rect",{width:"3",height:"8",x:"13",y:"2",rx:"1.5",key:"diqz80"}],["path",{d:"M19 8.5V10h1.5A1.5 1.5 0 1 0 19 8.5",key:"183iwg"}],["rect",{width:"3",height:"8",x:"8",y:"14",rx:"1.5",key:"hqg7r1"}],["path",{d:"M5 15.5V14H3.5A1.5 1.5 0 1 0 5 15.5",key:"76g71w"}],["rect",{width:"8",height:"3",x:"14",y:"13",rx:"1.5",key:"1kmz0a"}],["path",{d:"M15.5 19H14v1.5a1.5 1.5 0 1 0 1.5-1.5",key:"jc4sz0"}],["rect",{width:"8",height:"3",x:"2",y:"8",rx:"1.5",key:"1omvl4"}],["path",{d:"M8.5 5H10V3.5A1.5 1.5 0 1 0 8.5 5",key:"16f3cl"}]]),l=(0,n.default)("cloud",[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]]),i=(0,n.default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]),o=(0,n.default)("webhook",[["path",{d:"M18 16.98h-5.99c-1.1 0-1.95.94-2.48 1.9A4 4 0 0 1 2 17c.01-.7.2-1.4.57-2",key:"q3hayz"}],["path",{d:"m6 17 3.13-5.78c.53-.97.1-2.18-.5-3.1a4 4 0 1 1 6.89-4.06",key:"1go1hn"}],["path",{d:"m12 6 3.13 5.73C15.66 12.7 16.9 13 18 13a4 4 0 0 1 0 8",key:"qlwsc0"}]]);var d=e.i(367887);let c=(0,n.default)("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]);var x=e.i(904781),m=e.i(996720),h=e.i(719583),u=e.i(991234),p=e.i(775377),j=e.i(266514);let g=(0,n.default)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]);var f=e.i(846193),b=e.i(978964),b=b,y=e.i(707387);let v=(0,n.default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),N=(0,n.default)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z",key:"1xoxul"}],["path",{d:"M9 8V2",key:"14iosj"}]]);var k=e.i(666904),w=e.i(77982),C=e.i(634066),S=e.i(739963),z=e.i(555552);let L=e=>`${(0,S.getApiUrl)()}${e}`;async function M(e,s){return(await fetch(L(e),{...s,headers:{"Content-Type":"application/json",...s?.headers||{}}})).json()}let T=[{id:"general",label:"General",icon:j.Bot},{id:"integrations",label:"Integrations",icon:r},{id:"mcp",label:"MCP",icon:N},{id:"schedules",label:"Schedules",icon:i},{id:"webhooks",label:"Webhooks",icon:o},{id:"models",label:"Models",icon:g},{id:"apikeys",label:"API Keys",icon:f.Key}];function A(){let[e,a]=(0,t.useState)("general");return(0,s.jsxs)("div",{className:"h-full flex bg-background",children:[(0,s.jsxs)("nav",{className:"w-56 shrink-0 border-r border-border/60 p-3 overflow-y-auto",children:[(0,s.jsxs)("div",{className:"px-2 py-2 mb-2",children:[(0,s.jsx)("h1",{className:"text-base font-semibold",children:"Settings"}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground mt-0.5",children:"Configure your orchestrator and channels."})]}),(0,s.jsx)("ul",{className:"space-y-0.5",children:T.map(t=>{let n=t.icon,r=e===t.id;return(0,s.jsx)("li",{children:(0,s.jsxs)("button",{type:"button",onClick:()=>a(t.id),className:(0,z.cn)("w-full flex items-center gap-2 px-2 py-1.5 rounded-md text-sm transition-colors",r?"bg-accent text-foreground":"hover:bg-accent/60 text-foreground/80"),children:[(0,s.jsx)(n,{className:(0,z.cn)("size-4 shrink-0",r?"text-primary":"text-muted-foreground")}),(0,s.jsx)("span",{children:t.label})]})},t.id)})})]}),(0,s.jsx)("div",{className:"flex-1 min-w-0 overflow-y-auto",children:(0,s.jsxs)("div",{className:"max-w-3xl mx-auto p-6",children:["general"===e&&(0,s.jsx)(P,{}),"integrations"===e&&(0,s.jsx)(O,{}),"mcp"===e&&(0,s.jsx)(G,{}),"schedules"===e&&(0,s.jsx)($,{}),"webhooks"===e&&(0,s.jsx)(H,{}),"models"===e&&(0,s.jsx)(K,{}),"apikeys"===e&&(0,s.jsx)(W,{})]})})]})}function B({title:e,description:t}){return(0,s.jsxs)("div",{className:"mb-4",children:[(0,s.jsx)("h2",{className:"text-lg font-semibold",children:e}),t&&(0,s.jsx)("p",{className:"text-sm text-muted-foreground mt-0.5",children:t})]})}function P(){let[e,n]=(0,t.useState)(null),[r,l]=(0,t.useState)(""),[i,o]=(0,t.useState)(""),[d,c]=(0,t.useState)(!1),[x,m]=(0,t.useState)(!1),h=(0,t.useCallback)(async()=>{let e=await M("/api/orchestrator");n(e),l(e.name||""),o(e.personality||"")},[]);(0,t.useEffect)(()=>{h()},[h]);let u=async()=>{c(!0),m(!1);try{await M("/api/orchestrator",{method:"PATCH",body:JSON.stringify({name:r||void 0,personality:i})}),m(!0),setTimeout(()=>m(!1),1500)}finally{c(!1)}};if(!e)return(0,s.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,s.jsx)(a.Loader2,{className:"size-5 animate-spin text-muted-foreground"})});let p=r!==e.name||i!==(e.personality||"");return(0,s.jsxs)("section",{children:[(0,s.jsx)(B,{title:"Orchestrator",description:"Your supervisor agent's name and personality. The personality is appended to its system prompt."}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-sm font-medium",children:"Agent name"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mb-1.5",children:"Shown in the sidebar and chat header."}),(0,s.jsx)(w.Input,{value:r,onChange:e=>l(e.target.value),placeholder:"Orchestrator",className:"max-w-md"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-sm font-medium",children:"Personality / persona"}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mb-1.5",children:["Optional. Free-form instructions appended to your orchestrator's system prompt every turn. Examples: ",(0,s.jsx)("em",{children:'"speak in haiku"'}),", ",(0,s.jsx)("em",{children:'"be terse and professional"'}),", ",(0,s.jsx)("em",{children:'"respond in Korean"'}),",",(0,s.jsx)("em",{children:'"you are a senior engineer who values shipping over perfection"'}),"."]}),(0,s.jsx)("textarea",{value:i,onChange:e=>o(e.target.value),rows:6,placeholder:"(blank = default tone)",className:"w-full rounded-md border border-input bg-background px-3 py-2 text-sm font-mono focus:outline-none focus:ring-2 focus:ring-primary/40"})]}),(0,s.jsxs)("div",{className:"flex items-center gap-3 pt-1",children:[(0,s.jsxs)(k.Button,{onClick:u,disabled:!p||d,children:[d?(0,s.jsx)(a.Loader2,{className:"size-4 animate-spin mr-2"}):null,"Save"]}),x&&(0,s.jsx)("span",{className:"text-xs text-emerald-500",children:"Saved ✓"})]}),(0,s.jsxs)("div",{className:"rounded-md border border-border/40 bg-muted/30 p-3 text-xs space-y-1",children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Session id:"})," ",(0,s.jsx)("code",{children:e.id})]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Model:"})," ",(0,s.jsx)("code",{children:e.model})]}),(0,s.jsxs)("p",{children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Working directory:"})," ",(0,s.jsx)("code",{className:"break-all",children:e.workingDirectory})]})]})]})]})}function O(){let[e,n]=(0,t.useState)(null),r=(0,t.useCallback)(async()=>{n(await M("/api/integrations"))},[]);return((0,t.useEffect)(()=>{r()},[r]),e)?(0,s.jsxs)("section",{className:"space-y-4",children:[(0,s.jsx)(B,{title:"Integrations",description:"External channels the orchestrator can send and receive messages on."}),(0,s.jsx)(E,{data:e,onChange:r}),(0,s.jsx)(R,{data:e})]}):(0,s.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,s.jsx)(a.Loader2,{className:"size-5 animate-spin text-muted-foreground"})})}function E({data:e,onChange:n}){var l;let i,[o,d]=(0,t.useState)(""),[c,x]=(0,t.useState)(""),[m,h]=(0,t.useState)(!1),[j,g]=(0,t.useState)(!1),[f,y]=(0,t.useState)(""),[N,S]=(0,t.useState)(null),[z,L]=(0,t.useState)(!1),T=async()=>{g(!0);try{await M("/api/integrations/slack",{method:"POST",body:JSON.stringify({botToken:o||void 0,signingSecret:c||void 0})}),d(""),x(""),n()}finally{g(!1)}},A=async()=>{confirm("Remove Slack credentials?")&&(await M("/api/integrations/slack",{method:"DELETE"}),n())},B=async()=>{if(!f)return;S("Sending…");let e=await M("/api/integrations/slack/test",{method:"POST",body:JSON.stringify({channel:f})});S(e.ok?"Sent.":`Failed: ${e.error}`)};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(Q,{children:[(0,s.jsx)(ee,{icon:(0,s.jsx)(r,{className:"size-4 text-[#4A154B] dark:text-pink-300"}),title:"Slack",status:e.slack.configured?"Configured":"Not configured",statusTone:e.slack.configured?"text-emerald-500":"text-muted-foreground"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mb-3",children:"Lets the orchestrator receive @mentions and DMs in Slack and reply in-thread via the messenger tool."}),(0,s.jsx)("div",{className:"flex gap-2 mb-3",children:(0,s.jsxs)(k.Button,{size:"sm",variant:"outline",onClick:()=>L(!0),children:[(0,s.jsx)(b.default,{className:"size-3.5 mr-1.5"}),"Setup instructions"]})}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Bot token (xoxb-...)"}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsx)(w.Input,{type:m?"text":"password",value:o,onChange:e=>d(e.target.value),placeholder:e.slack.botTokenSet?"(set)":"xoxb-...",className:"text-xs"}),(0,s.jsx)(k.Button,{variant:"outline",size:"icon",onClick:()=>h(e=>!e),children:m?(0,s.jsx)(p.EyeOff,{className:"size-3.5"}):(0,s.jsx)(u.Eye,{className:"size-3.5"})})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Signing secret"}),(0,s.jsx)(w.Input,{type:"password",value:c,onChange:e=>x(e.target.value),placeholder:e.slack.signingSecretSet?"(set)":"...",className:"text-xs"})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(k.Button,{size:"sm",onClick:T,disabled:j||!o&&!c,children:j?(0,s.jsx)(a.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),e.slack.configured&&(0,s.jsx)(k.Button,{size:"sm",variant:"outline",onClick:A,children:"Disconnect"})]})]}),(0,s.jsxs)("div",{className:"mt-3 rounded border border-border/40 bg-background/50 p-2 text-xs space-y-1",children:[(0,s.jsxs)("p",{children:[(0,s.jsx)("strong",{children:"Events URL"})," (paste into Slack → Event Subscriptions):"]}),(0,s.jsx)("code",{className:"block px-2 py-1 rounded bg-muted text-[11px] break-all",children:e.slack.eventsUrl}),(0,s.jsxs)("p",{className:"text-muted-foreground",children:["Subscribe to bot events: ",(0,s.jsx)("code",{children:"app_mention"}),", ",(0,s.jsx)("code",{children:"message.im"}),"."]})]}),e.slack.configured&&(0,s.jsxs)("div",{className:"mt-3 flex gap-2 items-end",children:[(0,s.jsxs)("div",{className:"flex-1",children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Test post (channel id or #channel)"}),(0,s.jsx)(w.Input,{value:f,onChange:e=>y(e.target.value),placeholder:"C0123 or #general",className:"text-xs"})]}),(0,s.jsx)(k.Button,{size:"sm",variant:"outline",onClick:B,disabled:!f,children:"Send test"}),N&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:N})]})]}),(0,s.jsxs)(Q,{children:[(0,s.jsx)(ee,{icon:(0,s.jsx)(v,{className:"size-4 text-amber-500"}),title:"Slack access control",status:(l=e.slack,i=[],l.allowedUsers.length>0&&i.push(`${l.allowedUsers.length} user(s)`),l.allowedChannels.length>0&&i.push(`${l.allowedChannels.length} channel(s)`),l.allowDmsFromAnyone||i.push("DMs locked"),0===i.length?"Open to anyone":i.join(" · ")),statusTone:"text-muted-foreground"}),(0,s.jsx)(I,{data:e,onChange:n})]}),z&&(0,s.jsx)(D,{eventsUrl:e.slack.eventsUrl,onClose:()=>L(!1)})]})}function I({data:e,onChange:n}){let[r,l]=(0,t.useState)(e.slack.allowedUsers.join(", ")),[i,o]=(0,t.useState)(e.slack.allowedChannels.join(", ")),[d,c]=(0,t.useState)(e.slack.allowDmsFromAnyone),[x,m]=(0,t.useState)(e.slack.deniedReplyEnabled),[h,u]=(0,t.useState)(e.slack.deniedReplyTemplate),[p,j]=(0,t.useState)(!1),[g,f]=(0,t.useState)(!1),b=r.trim()!==e.slack.allowedUsers.join(", ").trim()||i.trim()!==e.slack.allowedChannels.join(", ").trim()||d!==e.slack.allowDmsFromAnyone||x!==e.slack.deniedReplyEnabled||h!==e.slack.deniedReplyTemplate,y=async()=>{j(!0),f(!1);try{let e=e=>e.split(/[\s,]+/).map(e=>e.trim()).filter(Boolean);await M("/api/integrations/slack",{method:"POST",body:JSON.stringify({allowedUsers:e(r),allowedChannels:e(i),allowDmsFromAnyone:d,deniedReplyEnabled:x,deniedReplyTemplate:h})}),n(),f(!0),setTimeout(()=>f(!1),1500)}finally{j(!1)}};return(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Empty lists = no allowlist (accept anyone Slack delivers an event for). When a list is set, only matching users / channels can talk to the orchestrator."}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Allowed users (Slack user IDs)"}),(0,s.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-1",children:["Comma or space separated. e.g. ",(0,s.jsx)("code",{children:"U01ABCD"}),", ",(0,s.jsx)("code",{children:"U09XYZ"}),". Leave blank to allow anyone."]}),(0,s.jsx)(w.Input,{value:r,onChange:e=>l(e.target.value),placeholder:"U01..., U02...",className:"text-xs font-mono"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Allowed channels (Slack channel IDs)"}),(0,s.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-1",children:["Channel IDs only (not ",(0,s.jsx)("code",{children:"#name"}),"). e.g. ",(0,s.jsx)("code",{children:"C012345"}),". Affects @mentions; DMs use the toggle below."]}),(0,s.jsx)(w.Input,{value:i,onChange:e=>o(e.target.value),placeholder:"C012345, C098765",className:"text-xs font-mono"})]}),(0,s.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,s.jsx)("input",{type:"checkbox",checked:d,onChange:e=>c(e.target.checked),className:"mt-1"}),(0,s.jsxs)("div",{className:"text-xs",children:[(0,s.jsx)("span",{className:"font-medium",children:"Allow DMs from anyone"}),(0,s.jsx)("p",{className:"text-muted-foreground",children:"On: anyone who DMs your bot can talk to it. Off: only users in the allowlist above can DM."})]})]}),(0,s.jsxs)("div",{className:"border-t border-border/40 pt-3",children:[(0,s.jsxs)("label",{className:"flex items-start gap-2 cursor-pointer",children:[(0,s.jsx)("input",{type:"checkbox",checked:x,onChange:e=>m(e.target.checked),className:"mt-1"}),(0,s.jsxs)("div",{className:"text-xs",children:[(0,s.jsx)("span",{className:"font-medium",children:"Auto-reply to denied users"}),(0,s.jsx)("p",{className:"text-muted-foreground",children:"When someone is blocked by the rules above, post a canned reply (no AI) so they know why nothing happened. Posted in-thread for @mentions; in the DM for DMs."})]})]}),(0,s.jsxs)("div",{className:"mt-2 pl-6",children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Reply template"}),(0,s.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-1",children:["Placeholders: ",(0,s.jsx)("code",{className:"px-1 rounded bg-muted",children:"{user}"})," → mentions the requester, ",(0,s.jsx)("code",{className:"px-1 rounded bg-muted",children:"{channel}"})," → mentions the channel."]}),(0,s.jsx)("textarea",{value:h,onChange:e=>u(e.target.value),rows:3,disabled:!x,className:"w-full rounded-md border border-input bg-background px-2 py-1.5 text-xs disabled:opacity-50"})]})]}),(0,s.jsxs)("div",{className:"flex items-center gap-2 pt-1",children:[(0,s.jsx)(k.Button,{size:"sm",onClick:y,disabled:!b||p,children:p?(0,s.jsx)(a.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),g&&(0,s.jsx)("span",{className:"text-xs text-emerald-500",children:"Saved ✓"})]})]})}function D({eventsUrl:e,onClose:a}){var n;let[l,i]=(0,t.useState)(null),o=(n=e,`display_information:
2
+ name: sparkecoder
3
+ description: Your orchestrator agent. Spawns worker agents, posts updates, answers questions.
4
+ background_color: "#1f1f24"
5
+ features:
6
+ bot_user:
7
+ display_name: sparkecoder
8
+ always_online: true
9
+ oauth_config:
10
+ scopes:
11
+ bot:
12
+ - app_mentions:read
13
+ - channels:history
14
+ - chat:write
15
+ - groups:history
16
+ - im:history
17
+ - im:read
18
+ - im:write
19
+ - users:read
20
+ settings:
21
+ event_subscriptions:
22
+ request_url: ${n}
23
+ bot_events:
24
+ - app_mention
25
+ - message.im
26
+ interactivity:
27
+ is_enabled: false
28
+ org_deploy_enabled: false
29
+ socket_mode_enabled: false
30
+ token_rotation_enabled: false
31
+ `),d=async(e,s)=>{await navigator.clipboard.writeText(s),i(e),setTimeout(()=>i(null),1500)};return(0,s.jsx)("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4",onClick:a,children:(0,s.jsxs)("div",{className:"bg-card rounded-lg border border-border max-w-2xl w-full max-h-[85vh] overflow-y-auto shadow-2xl",onClick:e=>e.stopPropagation(),children:[(0,s.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-b border-border/60 sticky top-0 bg-card",children:[(0,s.jsxs)("h2",{className:"text-base font-semibold flex items-center gap-2",children:[(0,s.jsx)(r,{className:"size-4 text-[#4A154B] dark:text-pink-300"}),"Slack setup"]}),(0,s.jsx)(k.Button,{size:"icon",variant:"ghost",onClick:a,children:(0,s.jsx)(y.X,{className:"size-4"})})]}),(0,s.jsxs)("div",{className:"p-5 space-y-5 text-sm",children:[(0,s.jsxs)(U,{n:1,title:"Create a Slack app from manifest",children:[(0,s.jsxs)("p",{children:["Go to ",(0,s.jsx)("a",{href:"https://api.slack.com/apps?new_app=1",target:"_blank",rel:"noreferrer",className:"text-primary underline",children:"api.slack.com/apps"}),", click ",(0,s.jsx)("strong",{children:"Create New App"})," → ",(0,s.jsx)("strong",{children:"From a manifest"}),", pick your workspace, paste the YAML below, then create."]}),(0,s.jsx)(_,{label:"Slack manifest",value:o,onCopy:()=>d("manifest",o),copied:"manifest"===l})]}),(0,s.jsxs)(U,{n:2,title:"Grab credentials",children:[(0,s.jsxs)("p",{children:["In your new app's ",(0,s.jsx)("strong",{children:"Basic Information"})," page, copy the ",(0,s.jsx)("strong",{children:"Signing Secret"}),". Then under ",(0,s.jsx)("strong",{children:"OAuth & Permissions"}),", install the app to your workspace and copy the ",(0,s.jsx)("strong",{children:"Bot User OAuth Token"})," (starts with ",(0,s.jsx)("code",{children:"xoxb-"}),")."]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"Paste both into the Slack card above, then click Save."})]}),(0,s.jsxs)(U,{n:3,title:"Verify the Events URL",children:[(0,s.jsxs)("p",{children:["Slack will challenge the URL automatically when you create the app from the manifest (it's pre-filled with your URL below). If it shows ",(0,s.jsx)("strong",{children:"Verified"})," you're done."]}),(0,s.jsx)(_,{label:"Events URL (already in the manifest)",value:e,onCopy:()=>d("eventsUrl",e),copied:"eventsUrl"===l,mono:!0}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"If verification fails, your sparkecoder isn't reachable from the public internet. Set up a cloudflared tunnel — see the Cloudflared card."})]}),(0,s.jsx)(U,{n:4,title:"Invite the bot to channels",children:(0,s.jsxs)("p",{children:["In Slack: ",(0,s.jsx)("code",{children:"/invite @your-bot-name"})," in any channel you want it to respond in. (DMs work without an invite.)"]})}),(0,s.jsxs)(U,{n:5,title:"Lock it down (optional but recommended)",children:[(0,s.jsxs)("p",{children:["By default ",(0,s.jsx)("strong",{children:"anyone"})," in your workspace can DM the bot or mention it in any channel it's in. Use the ",(0,s.jsx)("strong",{children:"Slack access control"})," section to limit access to specific Slack user IDs and channel IDs."]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Find a user ID: click their name in Slack → ⋮ → Copy member ID. Find a channel ID: click the channel name → About → bottom of the panel."})]})]})]})})}function U({n:e,title:t,children:a}){return(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("h3",{className:"font-medium flex items-center gap-2",children:[(0,s.jsx)("span",{className:"inline-flex items-center justify-center size-5 rounded-full bg-primary/15 text-primary text-[11px] font-semibold",children:e}),t]}),(0,s.jsx)("div",{className:"pl-7 space-y-2 text-sm text-foreground/90",children:a})]})}function _({label:e,value:t,onCopy:a,copied:n,mono:r}){return(0,s.jsxs)("div",{className:"rounded border border-border/60 bg-background/60 overflow-hidden",children:[(0,s.jsxs)("div",{className:"px-3 py-1.5 flex items-center justify-between border-b border-border/40 bg-muted/40",children:[(0,s.jsx)("span",{className:"text-[11px] text-muted-foreground",children:e}),(0,s.jsxs)(k.Button,{size:"sm",variant:"ghost",onClick:a,className:"h-6 text-[11px]",children:[n?(0,s.jsx)(h.Check,{className:"size-3 mr-1"}):(0,s.jsx)(d.Copy,{className:"size-3 mr-1"}),n?"Copied":"Copy"]})]}),(0,s.jsx)("pre",{className:(0,z.cn)("px-3 py-2 text-[11px] overflow-x-auto whitespace-pre-wrap break-all",r&&"font-mono"),children:t})]})}function R({data:e}){return(0,s.jsxs)(Q,{children:[(0,s.jsx)(ee,{icon:(0,s.jsx)(l,{className:"size-4 text-orange-500"}),title:"Cloudflared tunnel",status:e.cloudflared.publicBaseUrl?"Hostname set":"Local-only",statusTone:e.cloudflared.publicBaseUrl?"text-emerald-500":"text-muted-foreground"}),(0,s.jsxs)("p",{className:"text-xs text-muted-foreground mb-2",children:["Required to receive Slack events and webhook hits from the public internet. Run"," ",(0,s.jsx)("code",{className:"px-1 rounded bg-muted text-[11px]",children:"sparkecoder cloudflared-setup"})," for a copy-paste recipe."]}),e.cloudflared.publicBaseUrl&&(0,s.jsxs)("div",{className:"text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"Public base: "}),(0,s.jsx)("code",{className:"px-1 rounded bg-muted",children:e.cloudflared.publicBaseUrl})]}),e.cfAccess.enabled&&(0,s.jsxs)("div",{className:"mt-2 text-xs",children:[(0,s.jsx)("span",{className:"text-muted-foreground",children:"CF Access: "}),(0,s.jsx)("span",{className:"text-emerald-500",children:"enabled"}),e.cfAccess.allowedEmails.length>0&&(0,s.jsxs)("span",{className:"text-muted-foreground",children:[" · ",e.cfAccess.allowedEmails.length," allowed email(s)"]})]})]})}function $(){let[e,a]=(0,t.useState)([]),[n,r]=(0,t.useState)(!1),l=(0,t.useCallback)(async()=>{a((await M("/api/schedules")).schedules||[])},[]);return(0,t.useEffect)(()=>{l()},[l]),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)(B,{title:"Schedules",description:"Recurring prompts that wake the orchestrator on a cron."}),(0,s.jsxs)(k.Button,{size:"sm",variant:"outline",onClick:()=>r(e=>!e),children:[(0,s.jsx)(m.Plus,{className:"size-3.5 mr-1"}),"New"]})]}),n&&(0,s.jsx)(F,{onCancel:()=>r(!1),onSaved:()=>{r(!1),l()}}),0===e.length?(0,s.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No schedules yet."}):(0,s.jsx)("div",{className:"space-y-2",children:e.map(e=>(0,s.jsx)(J,{row:e,onChange:l},e.id))})]})}function F({initial:e,onCancel:n,onSaved:r}){let[l,i]=(0,t.useState)(e?.name||""),[o,d]=(0,t.useState)(e?.cron||"0 9 * * 1-5"),[c,x]=(0,t.useState)(e?.prompt||""),[m,h]=(0,t.useState)(e?.replyChannel||""),[u,p]=(0,t.useState)(!1),j=async()=>{if(l&&o&&c){p(!0);try{e?.id?await M(`/api/schedules/${e.id}`,{method:"PATCH",body:JSON.stringify({name:l,cron:o,prompt:c,replyChannel:m||void 0})}):await M("/api/schedules",{method:"POST",body:JSON.stringify({name:l,cron:o,prompt:c,replyChannel:m||void 0})}),r()}finally{p(!1)}}};return(0,s.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 mb-2 space-y-2",children:[(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Name"}),(0,s.jsx)(w.Input,{value:l,onChange:e=>i(e.target.value),placeholder:"standup-9am",className:"text-xs"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Cron (5 fields)"}),(0,s.jsx)(w.Input,{value:o,onChange:e=>d(e.target.value),placeholder:"0 9 * * 1-5",className:"text-xs font-mono"})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Prompt"}),(0,s.jsx)(w.Input,{value:c,onChange:e=>x(e.target.value),placeholder:"Summarize yesterday's git activity",className:"text-xs"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Default reply channel (optional)"}),(0,s.jsx)(w.Input,{value:m,onChange:e=>h(e.target.value),placeholder:"slack:#standup",className:"text-xs"})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(k.Button,{size:"sm",onClick:j,disabled:u||!l||!o||!c,children:u?(0,s.jsx)(a.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:n,children:"Cancel"})]})]})}function J({row:e,onChange:t}){let a=async()=>{await M(`/api/schedules/${e.id}`,{method:"PATCH",body:JSON.stringify({enabled:!e.enabled})}),t()},n=async()=>{confirm(`Delete schedule "${e.name}"?`)&&(await M(`/api/schedules/${e.id}`,{method:"DELETE"}),t())};return(0,s.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3 flex items-start gap-3",children:[(0,s.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),!e.enabled&&(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"paused"})]}),(0,s.jsx)("code",{className:"text-[11px] text-muted-foreground font-mono",children:e.cron}),(0,s.jsx)("p",{className:"text-xs mt-1 line-clamp-2 text-foreground/80",children:e.prompt}),e.replyChannel&&(0,s.jsxs)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["replyChannel: ",e.replyChannel]}),e.lastFiredAt&&(0,s.jsxs)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["last fired ",new Date(e.lastFiredAt).toLocaleString()]})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)(k.Button,{size:"sm",variant:"outline",onClick:a,children:e.enabled?"Pause":"Resume"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:n,className:"text-rose-500 hover:text-rose-600",children:(0,s.jsx)(x.Trash2,{className:"size-3.5"})})]})]})}function H(){let[e,a]=(0,t.useState)([]),[n,r]=(0,t.useState)(!1),l=(0,t.useCallback)(async()=>{a((await M("/api/webhooks")).webhooks||[])},[]);return(0,t.useEffect)(()=>{l()},[l]),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)(B,{title:"Webhooks",description:"Custom token-protected URLs. POST any JSON to ping the orchestrator."}),(0,s.jsxs)(k.Button,{size:"sm",variant:"outline",onClick:()=>r(e=>!e),children:[(0,s.jsx)(m.Plus,{className:"size-3.5 mr-1"}),"New"]})]}),n&&(0,s.jsx)(q,{onCancel:()=>r(!1),onSaved:()=>{r(!1),l()}}),0===e.length?(0,s.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No webhooks yet."}):(0,s.jsx)("div",{className:"space-y-2",children:e.map(e=>(0,s.jsx)(V,{row:e,onChange:l},e.id))})]})}function q({onCancel:e,onSaved:n}){let[r,l]=(0,t.useState)(""),[i,o]=(0,t.useState)("now"),[d,c]=(0,t.useState)(""),[x,m]=(0,t.useState)(!1),h=async()=>{if(r){m(!0);try{await M("/api/webhooks",{method:"POST",body:JSON.stringify({name:r,wake:i,template:d||void 0})}),n()}finally{m(!1)}}};return(0,s.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 mb-2 space-y-2",children:[(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-2",children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Name"}),(0,s.jsx)(w.Input,{value:r,onChange:e=>l(e.target.value),placeholder:"github-prs",className:"text-xs"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Wake"}),(0,s.jsxs)("select",{value:i,onChange:e=>o(e.target.value),className:"w-full text-xs h-9 rounded-md border border-input bg-background px-2",children:[(0,s.jsx)("option",{value:"now",children:"now — ping orchestrator immediately"}),(0,s.jsx)("option",{value:"next",children:"next — add as context, fire later"})]})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Template (optional)"}),(0,s.jsx)(w.Input,{value:d,onChange:e=>c(e.target.value),placeholder:"PR {{pull_request.title}} by {{sender.login}}",className:"text-xs font-mono"})]}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(k.Button,{size:"sm",onClick:h,disabled:x||!r,children:x?(0,s.jsx)(a.Loader2,{className:"size-3.5 animate-spin"}):"Create"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:e,children:"Cancel"})]})]})}function V({row:e,onChange:a}){let[n,r]=(0,t.useState)(!1),l=async()=>{await navigator.clipboard.writeText(e.url),r(!0),setTimeout(()=>r(!1),1500)},i=async()=>{confirm("Rotate the token?")&&(await M(`/api/webhooks/${e.id}`,{method:"PATCH",body:JSON.stringify({rotateToken:!0})}),a())},o=async()=>{confirm(`Delete webhook "${e.name}"?`)&&(await M(`/api/webhooks/${e.id}`,{method:"DELETE"}),a())};return(0,s.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3 space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,s.jsxs)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:["wake=",e.wake]}),(0,s.jsxs)("span",{className:"ml-auto text-[11px] text-muted-foreground",children:[e.hitCount," hit",1===e.hitCount?"":"s"]})]}),(0,s.jsxs)("div",{className:"flex gap-1 items-center",children:[(0,s.jsx)("code",{className:"flex-1 text-[11px] px-2 py-1 rounded bg-muted break-all",children:e.url}),(0,s.jsx)(k.Button,{size:"icon",variant:"outline",onClick:l,children:n?(0,s.jsx)(h.Check,{className:"size-3.5"}):(0,s.jsx)(d.Copy,{className:"size-3.5"})}),(0,s.jsx)(k.Button,{size:"icon",variant:"outline",onClick:i,title:"Rotate token",children:(0,s.jsx)(c,{className:"size-3.5"})}),(0,s.jsx)(k.Button,{size:"icon",variant:"ghost",onClick:o,className:"text-rose-500 hover:text-rose-600",children:(0,s.jsx)(x.Trash2,{className:"size-3.5"})})]}),e.template&&(0,s.jsxs)("p",{className:"text-[10px] text-muted-foreground font-mono",children:["template: ",e.template]}),e.lastHitAt&&(0,s.jsxs)("p",{className:"text-[10px] text-muted-foreground",children:["last hit ",new Date(e.lastHitAt).toLocaleString()]})]})}function K(){let[e,n]=(0,t.useState)(null);if((0,t.useEffect)(()=>{(async()=>{n(await (0,S.getConfig)())})()},[]),!e)return(0,s.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,s.jsx)(a.Loader2,{className:"size-5 animate-spin text-muted-foreground"})});let r=e.availableModels.find(s=>s.id===e.defaultModel);return(0,s.jsxs)("section",{children:[(0,s.jsx)(B,{title:"Models",description:"Default model used for new sessions (orchestrator + workers). You can override per-session from the chat header."}),(0,s.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 max-w-lg",children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Current default"}),(0,s.jsxs)("p",{className:"text-sm mt-1",children:[(0,s.jsx)("strong",{children:r?.name||e.defaultModel}),r?.provider&&(0,s.jsxs)("span",{className:"text-muted-foreground",children:[" — ",r.provider]})]}),(0,s.jsxs)("p",{className:"text-[11px] text-muted-foreground mt-2",children:["To change the default, set ",(0,s.jsx)("code",{className:"px-1 rounded bg-muted",children:"defaultModel"})," in your"," ",(0,s.jsx)("code",{className:"px-1 rounded bg-muted",children:"sparkecoder.config.json"})," and restart the server."]})]}),(0,s.jsxs)("div",{className:"mt-4",children:[(0,s.jsx)(C.Label,{className:"text-xs uppercase tracking-wide text-muted-foreground",children:"Available models"}),(0,s.jsx)("div",{className:"mt-2 rounded-lg border border-border/60 divide-y divide-border/40",children:e.availableModels.map(t=>(0,s.jsxs)("div",{className:(0,z.cn)("flex items-center justify-between px-3 py-2 text-sm",t.id===e.defaultModel&&"bg-primary/5"),children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("span",{className:"font-medium",children:t.name}),(0,s.jsxs)("span",{className:"text-muted-foreground",children:[" — ",t.provider]}),t.id===e.defaultModel&&(0,s.jsx)("span",{className:"ml-2 text-[10px] uppercase tracking-wide text-primary",children:"default"})]}),(0,s.jsx)("code",{className:"text-[10px] text-muted-foreground font-mono",children:t.id})]},t.id))})]})]})}function W(){let[e,a]=(0,t.useState)([]),n=(0,t.useCallback)(async()=>{a((await M("/health/api-keys")).providers||[])},[]);return(0,t.useEffect)(()=>{n()},[n]),(0,s.jsxs)("section",{children:[(0,s.jsx)(B,{title:"API Keys",description:"Provider credentials used for AI inference (Vercel AI Gateway etc.). Keys are stored locally."}),(0,s.jsxs)("div",{className:"space-y-2",children:[e.map(e=>(0,s.jsx)(Y,{keyStatus:e,onChange:n},e.provider)),0===e.length&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No providers configured."})]})]})}function Y({keyStatus:e,onChange:n}){let[r,l]=(0,t.useState)(!1),[i,o]=(0,t.useState)(""),[d,c]=(0,t.useState)(!1),[m,h]=(0,t.useState)(!1),j=async()=>{if(i.trim()){h(!0);try{await M("/health/api-keys",{method:"POST",body:JSON.stringify({provider:e.provider,apiKey:i.trim()})}),o(""),l(!1),n()}finally{h(!1)}}},g=async()=>{confirm(`Remove ${e.provider} API key?`)&&(await fetch(L(`/health/api-keys/${e.provider}`),{method:"DELETE"}),n())};return(0,s.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium capitalize",children:e.provider}),e.configured&&(0,s.jsx)("span",{className:(0,z.cn)("text-[10px] px-1.5 py-0.5 rounded font-medium","env"===e.source?"bg-blue-500/20 text-blue-600 dark:text-blue-300":"bg-emerald-500/20 text-emerald-600 dark:text-emerald-300"),children:"env"===e.source?"from env":"saved"}),(0,s.jsx)("span",{className:"ml-auto text-[10px] text-muted-foreground font-mono",children:e.envVar})]}),r?(0,s.jsxs)("div",{className:"flex gap-2 mt-2",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(w.Input,{type:d?"text":"password",value:i,onChange:e=>o(e.target.value),placeholder:"Paste your API key…",className:"pr-8 text-xs font-mono",autoFocus:!0}),(0,s.jsx)(k.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-2 hover:bg-transparent",onClick:()=>c(e=>!e),children:d?(0,s.jsx)(p.EyeOff,{className:"size-3.5"}):(0,s.jsx)(u.Eye,{className:"size-3.5"})})]}),(0,s.jsx)(k.Button,{size:"sm",onClick:j,disabled:m||!i.trim(),children:m?(0,s.jsx)(a.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:()=>{l(!1),o("")},children:"Cancel"})]}):(0,s.jsxs)("div",{className:"flex items-center mt-1",children:[(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground font-mono flex-1",children:e.configured?e.maskedKey:"Not configured"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:()=>l(!0),className:"h-7 text-xs",children:e.configured?"Update":"Add"}),e.configured&&"storage"===e.source&&(0,s.jsx)(k.Button,{size:"icon",variant:"ghost",onClick:g,className:"text-rose-500 hover:text-rose-600",children:(0,s.jsx)(x.Trash2,{className:"size-3.5"})})]})]})}function G(){let[e,n]=(0,t.useState)([]),[r,l]=(0,t.useState)(!1),[i,o]=(0,t.useState)(!0),d=(0,t.useCallback)(async()=>{o(!0);try{let e=await M("/api/mcp");n(e.servers||[])}finally{o(!1)}},[]);return(0,t.useEffect)(()=>{d()},[d]),(0,s.jsxs)("section",{children:[(0,s.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,s.jsx)(B,{title:"MCP integrations",description:'Model Context Protocol servers. Each adds tools to every agent under "mcp_<name>_<tool>" on the next turn.'}),(0,s.jsxs)(k.Button,{size:"sm",variant:"outline",onClick:()=>l(e=>!e),children:[(0,s.jsx)(m.Plus,{className:"size-3.5 mr-1"}),"New"]})]}),(0,s.jsxs)("p",{className:"text-[11px] text-muted-foreground mb-3 max-w-2xl",children:["For OAuth-protected MCP servers, paste the access token as a header here:",(0,s.jsx)("code",{className:"px-1 rounded bg-muted ml-1",children:"{ Authorization: 'Bearer <your-token>' }"}),". For unauthed servers, leave headers empty. Use ",(0,s.jsx)("strong",{children:"Test"})," to confirm the server is reachable."]}),r&&(0,s.jsx)(X,{onCancel:()=>l(!1),onSaved:()=>{l(!1),d()}}),i?(0,s.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,s.jsx)(a.Loader2,{className:"size-4 animate-spin text-muted-foreground"})}):0===e.length?(0,s.jsx)("p",{className:"text-xs text-muted-foreground italic px-1",children:"No MCP servers configured."}):(0,s.jsx)("div",{className:"space-y-2",children:e.map(e=>(0,s.jsx)(Z,{row:e,onChange:d},e.id))})]})}function X({initial:e,onCancel:n,onSaved:r}){let[l,i]=(0,t.useState)(e?.name||""),[o,d]=(0,t.useState)(e?.transport||"http"),[c,x]=(0,t.useState)(e?.url||""),[m,h]=(0,t.useState)(e?.headers?JSON.stringify(e.headers,null,2):""),[u,p]=(0,t.useState)(e?.command||""),[j,g]=(0,t.useState)(e?.args?.join(" ")||""),[f,b]=(0,t.useState)(!1),[y,v]=(0,t.useState)(null),N=async()=>{let s;if(v(null),m.trim())try{let e=JSON.parse(m);e&&"object"==typeof e&&(s=e)}catch{v('Headers must be valid JSON, e.g. {"Authorization":"Bearer xxx"}');return}b(!0);try{let t={name:l,transport:o,enabled:!0};("http"===o||"sse"===o)&&(t.url=c,s&&(t.headers=s)),"stdio"===o&&(t.command=u,t.args=j.split(/\s+/).filter(Boolean)),e?.id?await M(`/api/mcp/${e.id}`,{method:"PATCH",body:JSON.stringify(t)}):await M("/api/mcp",{method:"POST",body:JSON.stringify(t)}),r()}catch(e){v(e?.message||"Save failed")}finally{b(!1)}};return(0,s.jsxs)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-3 mb-3 space-y-2",children:[(0,s.jsxs)("div",{className:"grid grid-cols-3 gap-2",children:[(0,s.jsxs)("div",{className:"col-span-2",children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Name"}),(0,s.jsx)(w.Input,{value:l,onChange:e=>i(e.target.value),placeholder:"github",className:"text-xs"}),(0,s.jsxs)("p",{className:"text-[10px] text-muted-foreground mt-0.5",children:["Used as a tool prefix (e.g. ",(0,s.jsx)("code",{children:"mcp_github_search"}),")."]})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Transport"}),(0,s.jsxs)("select",{value:o,onChange:e=>d(e.target.value),className:"w-full text-xs h-9 rounded-md border border-input bg-background px-2",children:[(0,s.jsx)("option",{value:"http",children:"HTTP (recommended)"}),(0,s.jsx)("option",{value:"sse",children:"SSE"}),(0,s.jsx)("option",{value:"stdio",children:"stdio (local)"})]})]})]}),"stdio"!==o?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"URL"}),(0,s.jsx)(w.Input,{value:c,onChange:e=>x(e.target.value),placeholder:"https://your-server.com/mcp",className:"text-xs font-mono"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Headers (JSON, optional)"}),(0,s.jsx)("textarea",{value:m,onChange:e=>h(e.target.value),rows:3,placeholder:'{ "Authorization": "Bearer xxx" }',className:"w-full rounded-md border border-input bg-background px-2 py-1.5 text-xs font-mono"})]})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Command"}),(0,s.jsx)(w.Input,{value:u,onChange:e=>p(e.target.value),placeholder:"node",className:"text-xs font-mono"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)(C.Label,{className:"text-xs",children:"Args (space separated)"}),(0,s.jsx)(w.Input,{value:j,onChange:e=>g(e.target.value),placeholder:"src/stdio/dist/server.js",className:"text-xs font-mono"})]})]}),y&&(0,s.jsx)("p",{className:"text-[11px] text-rose-500",children:y}),(0,s.jsxs)("div",{className:"flex gap-2 pt-1",children:[(0,s.jsx)(k.Button,{size:"sm",onClick:N,disabled:f||!l||("stdio"!==o?!c:!u),children:f?(0,s.jsx)(a.Loader2,{className:"size-3.5 animate-spin"}):"Save"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:n,children:"Cancel"})]})]})}function Z({row:e,onChange:n}){let[r,l]=(0,t.useState)(null),[i,o]=(0,t.useState)(!1),[d,c]=(0,t.useState)(!1),m=async()=>{await M(`/api/mcp/${e.id}`,{method:"PATCH",body:JSON.stringify({enabled:!e.enabled})}),n()},h=async()=>{confirm(`Delete MCP server "${e.name}"?`)&&(await M(`/api/mcp/${e.id}`,{method:"DELETE"}),n())},u=async()=>{o(!0),l(null);try{let s=await M(`/api/mcp/${e.id}/test`,{method:"POST"});l(s)}finally{o(!1)}};return d?(0,s.jsx)(X,{initial:e,onCancel:()=>c(!1),onSaved:()=>{c(!1),n()}}):(0,s.jsxs)("div",{className:"rounded-md border border-border/60 bg-background/50 p-3",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)(N,{className:(0,z.cn)("size-4",e.enabled?"text-emerald-500":"text-muted-foreground")}),(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:e.transport}),!e.enabled&&(0,s.jsx)("span",{className:"text-[10px] uppercase tracking-wide text-muted-foreground",children:"disabled"}),(0,s.jsxs)("span",{className:"ml-auto text-[11px] text-muted-foreground font-mono break-all",children:["tool prefix: ",(0,s.jsxs)("code",{children:["mcp_",e.name,"_*"]})]})]}),(0,s.jsxs)("p",{className:"text-[11px] text-muted-foreground mt-1 break-all",children:["stdio"===e.transport?(0,s.jsxs)(s.Fragment,{children:["cmd: ",(0,s.jsxs)("code",{children:[e.command," ",e.args?.join(" ")]})]}):(0,s.jsxs)(s.Fragment,{children:["url: ",(0,s.jsx)("code",{children:e.url})]}),e.headers&&Object.keys(e.headers).length>0&&(0,s.jsxs)("span",{className:"ml-2",children:["headers: ",Object.entries(e.headers).map(([e,s])=>`${e}: ${s}`).join(", ")]})]}),(0,s.jsxs)("div",{className:"flex gap-1 mt-2",children:[(0,s.jsxs)(k.Button,{size:"sm",variant:"outline",onClick:u,disabled:i,children:[i?(0,s.jsx)(a.Loader2,{className:"size-3 animate-spin mr-1"}):null,"Test"]}),(0,s.jsx)(k.Button,{size:"sm",variant:"outline",onClick:m,children:e.enabled?"Disable":"Enable"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:()=>c(!0),children:"Edit"}),(0,s.jsx)(k.Button,{size:"sm",variant:"ghost",onClick:h,className:"text-rose-500 hover:text-rose-600 ml-auto",children:(0,s.jsx)(x.Trash2,{className:"size-3.5"})})]}),r&&(0,s.jsx)("div",{className:(0,z.cn)("mt-2 rounded border p-2 text-[11px]",r.ok?"border-emerald-500/40 bg-emerald-500/5":"border-rose-500/40 bg-rose-500/5"),children:r.ok?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("p",{className:"text-emerald-500",children:["✓ Connected — ",r.toolCount," tool(s) discovered"]}),r.toolNames&&r.toolNames.length>0&&(0,s.jsx)("p",{className:"text-muted-foreground font-mono mt-0.5 break-all",children:r.toolNames.join(", ")})]}):(0,s.jsxs)("p",{className:"text-rose-500",children:["✗ ",r.error]})})]})}function Q({children:e}){return(0,s.jsx)("div",{className:"rounded-lg border border-border/60 bg-card/40 p-4",children:e})}function ee({icon:e,title:t,status:a,statusTone:n}){return(0,s.jsxs)("div",{className:"flex items-center gap-2 mb-3",children:[e,(0,s.jsx)("h3",{className:"font-medium",children:t}),(0,s.jsx)("span",{className:(0,z.cn)("ml-auto text-xs",n),children:a})]})}e.s(["default",()=>A],412490)}]);
@@ -0,0 +1,3 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,241416,e=>{"use strict";function t(e,r,{checkForDefaultPrevented:n=!0}={}){return function(t){if(e?.(t),!1===n||!t.defaultPrevented)return r?.(t)}}"u">typeof window&&window.document&&window.document.createElement,e.s(["composeEventHandlers",()=>t])},610559,995945,e=>{"use strict";var t=e.i(430878),r=globalThis?.document?t.useLayoutEffect:()=>{};e.s(["useLayoutEffect",()=>r],995945);var n=t[" useId ".trim().toString()]||(()=>void 0),i=0;function o(e){let[o,l]=t.useState(n());return r(()=>{e||l(e=>e??String(i++))},[e]),e||(o?`radix-${o}`:"")}e.s(["useId",()=>o],610559)},465488,e=>{"use strict";var t=e.i(430878),r=e.i(995945);t[" useEffectEvent ".trim().toString()],t[" useInsertionEffect ".trim().toString()];var n=t[" useInsertionEffect ".trim().toString()]||r.useLayoutEffect;function i({prop:e,defaultProp:r,onChange:i=()=>{},caller:o}){let[l,a,s]=function({defaultProp:e,onChange:r}){let[i,o]=t.useState(e),l=t.useRef(i),a=t.useRef(r);return n(()=>{a.current=r},[r]),t.useEffect(()=>{l.current!==i&&(a.current?.(i),l.current=i)},[i,l]),[i,o,a]}({defaultProp:r,onChange:i}),u=void 0!==e,c=u?e:l;{let r=t.useRef(void 0!==e);t.useEffect(()=>{let e=r.current;if(e!==u){let t=u?"controlled":"uncontrolled";console.warn(`${o} 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.`)}r.current=u},[u,o])}return[c,t.useCallback(t=>{if(u){let r="function"==typeof t?t(e):t;r!==e&&s.current?.(r)}else a(t)},[u,e,a,s])]}Symbol("RADIX:SYNC_STATE"),e.s(["useControllableState",()=>i],465488)},272741,897462,e=>{"use strict";var t,r=e.i(430878),n=e.i(241416),i=e.i(773340),o=e.i(309945),l=e.i(414294),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 r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(i,n.props);return n.type!==r.Fragment&&(u.ref=t?(0,o.composeRefs)(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,r)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,l.jsx)(n?f:t,{...i,ref:r})});return d.displayName=`Primitive.${t}`,{...e,[t]:d}},{});function c(e){let t=r.useRef(e);return r.useEffect(()=>{t.current=e}),r.useMemo(()=>(...e)=>t.current?.(...e),[])}e.s(["useCallbackRef",()=>c],897462);var f="dismissableLayer.update",d=r.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),p=r.forwardRef((e,i)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:s,onPointerDownOutside:p,onFocusOutside:h,onInteractOutside:y,onDismiss:v,...w}=e,b=r.useContext(d),[x,E]=r.useState(null),C=x?.ownerDocument??globalThis?.document,[,R]=r.useState({}),P=(0,o.useComposedRefs)(i,e=>E(e)),S=Array.from(b.layers),[O]=[...b.layersWithOutsidePointerEventsDisabled].slice(-1),_=S.indexOf(O),j=x?S.indexOf(x):-1,T=b.layersWithOutsidePointerEventsDisabled.size>0,A=j>=_,N=function(e,t=globalThis?.document){let n=c(e),i=r.useRef(!1),o=r.useRef(()=>{});return r.useEffect(()=>{let e=e=>{if(e.target&&!i.current){let r=function(){g("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);i.current=!1},r=window.setTimeout(()=>{t.addEventListener("pointerdown",e)},0);return()=>{window.clearTimeout(r),t.removeEventListener("pointerdown",e),t.removeEventListener("click",o.current)}},[t,n]),{onPointerDownCapture:()=>i.current=!0}}(e=>{let t=e.target,r=[...b.branches].some(e=>e.contains(t));A&&!r&&(p?.(e),y?.(e),e.defaultPrevented||v?.())},C),L=function(e,t=globalThis?.document){let n=c(e),i=r.useRef(!1);return r.useEffect(()=>{let e=e=>{e.target&&!i.current&&g("dismissableLayer.focusOutside",n,{originalEvent:e},{discrete:!1})};return t.addEventListener("focusin",e),()=>t.removeEventListener("focusin",e)},[t,n]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}(e=>{let t=e.target;![...b.branches].some(e=>e.contains(t))&&(h?.(e),y?.(e),e.defaultPrevented||v?.())},C);return!function(e,t=globalThis?.document){let n=c(e);r.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=>{j===b.layers.size-1&&(s?.(e),!e.defaultPrevented&&v&&(e.preventDefault(),v()))},C),r.useEffect(()=>{if(x)return a&&(0===b.layersWithOutsidePointerEventsDisabled.size&&(t=C.body.style.pointerEvents,C.body.style.pointerEvents="none"),b.layersWithOutsidePointerEventsDisabled.add(x)),b.layers.add(x),m(),()=>{a&&1===b.layersWithOutsidePointerEventsDisabled.size&&(C.body.style.pointerEvents=t)}},[x,C,a,b]),r.useEffect(()=>()=>{x&&(b.layers.delete(x),b.layersWithOutsidePointerEventsDisabled.delete(x),m())},[x,b]),r.useEffect(()=>{let e=()=>R({});return document.addEventListener(f,e),()=>document.removeEventListener(f,e)},[]),(0,l.jsx)(u.div,{...w,ref:P,style:{pointerEvents:T?A?"auto":"none":void 0,...e.style},onFocusCapture:(0,n.composeEventHandlers)(e.onFocusCapture,L.onFocusCapture),onBlurCapture:(0,n.composeEventHandlers)(e.onBlurCapture,L.onBlurCapture),onPointerDownCapture:(0,n.composeEventHandlers)(e.onPointerDownCapture,N.onPointerDownCapture)})});function m(){let e=new CustomEvent(f);document.dispatchEvent(e)}function g(e,t,r,{discrete:n}){let o=r.originalEvent.target,l=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});if(t&&o.addEventListener(e,t,{once:!0}),n)o&&i.flushSync(()=>o.dispatchEvent(l));else o.dispatchEvent(l)}p.displayName="DismissableLayer",r.forwardRef((e,t)=>{let n=r.useContext(d),i=r.useRef(null),a=(0,o.useComposedRefs)(t,i);return r.useEffect(()=>{let e=i.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,l.jsx)(u.div,{...e,ref:a})}).displayName="DismissableLayerBranch",e.s(["DismissableLayer",()=>p],272741)},383044,395509,e=>{"use strict";var t=e.i(430878),r=e.i(773340),n=e.i(309945),i=e.i(414294),o=Symbol("radix.slottable");function l(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===o}var a=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{var o,a;let s,u,c,f=(a=o=`Primitive.${r}`,(s=t.forwardRef((e,r)=>{let{children:i,...o}=e;if(t.isValidElement(i)){var l;let e,a,s=(l=i,(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 r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(o,i.props);return i.type!==t.Fragment&&(u.ref=r?(0,n.composeRefs)(r,s):s),t.cloneElement(i,u)}return t.Children.count(i)>1?t.Children.only(null):null})).displayName=`${a}.SlotClone`,u=s,(c=t.forwardRef((e,r)=>{let{children:n,...o}=e,a=t.Children.toArray(n),s=a.find(l);if(s){let e=s.props.children,n=a.map(r=>r!==s?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,i.jsx)(u,{...o,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,i.jsx)(u,{...o,ref:r,children:n})})).displayName=`${o}.Slot`,c),d=t.forwardRef((e,t)=>{let{asChild:n,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,i.jsx)(n?f:r,{...o,ref:t})});return d.displayName=`Primitive.${r}`,{...e,[r]:d}},{}),s=e.i(995945),u=t.forwardRef((e,n)=>{let{container:o,...l}=e,[u,c]=t.useState(!1);(0,s.useLayoutEffect)(()=>c(!0),[]);let f=o||u&&globalThis?.document?.body;return f?r.default.createPortal((0,i.jsx)(a.div,{...l,ref:n}),f):null});u.displayName="Portal",e.s(["Portal",()=>u],383044);var c=e=>{var r;let i,o,{present:l,children:a}=e,u=function(e){var r,n;let[i,o]=t.useState(),l=t.useRef(null),a=t.useRef(e),u=t.useRef("none"),[c,d]=(r=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},t.useReducer((e,t)=>n[e][t]??e,r));return t.useEffect(()=>{let e=f(l.current);u.current="mounted"===c?e:"none"},[c]),(0,s.useLayoutEffect)(()=>{let t=l.current,r=a.current;if(r!==e){let n=u.current,i=f(t);e?d("MOUNT"):"none"===i||t?.display==="none"?d("UNMOUNT"):r&&n!==i?d("ANIMATION_OUT"):d("UNMOUNT"),a.current=e}},[e,d]),(0,s.useLayoutEffect)(()=>{if(i){let e,t=i.ownerDocument.defaultView??window,r=r=>{let n=f(l.current).includes(CSS.escape(r.animationName));if(r.target===i&&n&&(d("ANIMATION_END"),!a.current)){let r=i.style.animationFillMode;i.style.animationFillMode="forwards",e=t.setTimeout(()=>{"forwards"===i.style.animationFillMode&&(i.style.animationFillMode=r)})}},n=e=>{e.target===i&&(u.current=f(l.current))};return i.addEventListener("animationstart",n),i.addEventListener("animationcancel",r),i.addEventListener("animationend",r),()=>{t.clearTimeout(e),i.removeEventListener("animationstart",n),i.removeEventListener("animationcancel",r),i.removeEventListener("animationend",r)}}d("ANIMATION_END")},[i,d]),{isPresent:["mounted","unmountSuspended"].includes(c),ref:t.useCallback(e=>{l.current=e?getComputedStyle(e):null,o(e)},[])}}(l),c="function"==typeof a?a({present:u.isPresent}):t.Children.only(a),d=(0,n.useComposedRefs)(u.ref,(r=c,(o=(i=Object.getOwnPropertyDescriptor(r.props,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?r.ref:(o=(i=Object.getOwnPropertyDescriptor(r,"ref")?.get)&&"isReactWarning"in i&&i.isReactWarning)?r.props.ref:r.props.ref||r.ref));return"function"==typeof a||u.isPresent?t.cloneElement(c,{ref:d}):null};function f(e){return e?.animationName||"none"}c.displayName="Presence",e.s(["Presence",()=>c],395509)},369605,e=>{"use strict";var t=e.i(430878),r=e.i(414294);function n(e,i=[]){let o=[],l=()=>{let r=o.map(e=>t.createContext(e));return function(n){let i=n?.[e]||r;return t.useMemo(()=>({[`__scope${e}`]:{...n,[e]:i}}),[n,i])}};return l.scopeName=e,[function(n,i){let l=t.createContext(i),a=o.length;o=[...o,i];let s=n=>{let{scope:i,children:o,...s}=n,u=i?.[e]?.[a]||l,c=t.useMemo(()=>s,Object.values(s));return(0,r.jsx)(u.Provider,{value:c,children:o})};return s.displayName=n+"Provider",[s,function(r,o){let s=o?.[e]?.[a]||l,u=t.useContext(s);if(u)return u;if(void 0!==i)return i;throw Error(`\`${r}\` must be used within \`${n}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=n.reduce((t,{useScope:r,scopeName:n})=>{let i=r(e)[`__scope${n}`];return{...t,...i}},{});return t.useMemo(()=>({[`__scope${r.scopeName}`]:i}),[i])}};return n.scopeName=r.scopeName,n}(l,...i)]}e.s(["createContextScope",()=>n])},874057,626168,e=>{"use strict";var t=e.i(430878);let r=["top","right","bottom","left"],n=Math.min,i=Math.max,o=Math.round,l=Math.floor,a=e=>({x:e,y:e}),s={left:"right",right:"left",bottom:"top",top:"bottom"},u={start:"end",end:"start"};function c(e,t){return"function"==typeof e?e(t):e}function f(e){return e.split("-")[0]}function d(e){return e.split("-")[1]}function p(e){return"x"===e?"y":"x"}function m(e){return"y"===e?"height":"width"}let g=new Set(["top","bottom"]);function h(e){return g.has(f(e))?"y":"x"}function y(e){return e.replace(/start|end/g,e=>u[e])}let v=["left","right"],w=["right","left"],b=["top","bottom"],x=["bottom","top"];function E(e){return e.replace(/left|right|bottom|top/g,e=>s[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 R(e){let{x:t,y:r,width:n,height:i}=e;return{width:n,height:i,top:r,left:t,right:t+n,bottom:r+i,x:t,y:r}}function P(e,t,r){let n,{reference:i,floating:o}=e,l=h(t),a=p(h(t)),s=m(a),u=f(t),c="y"===l,g=i.x+i.width/2-o.width/2,y=i.y+i.height/2-o.height/2,v=i[s]/2-o[s]/2;switch(u){case"top":n={x:g,y:i.y-o.height};break;case"bottom":n={x:g,y:i.y+i.height};break;case"right":n={x:i.x+i.width,y:y};break;case"left":n={x:i.x-o.width,y:y};break;default:n={x:i.x,y:i.y}}switch(d(t)){case"start":n[a]-=v*(r&&c?-1:1);break;case"end":n[a]+=v*(r&&c?-1:1)}return n}let S=async(e,t,r)=>{let{placement:n="bottom",strategy:i="absolute",middleware:o=[],platform:l}=r,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}=P(u,n,s),d=n,p={},m=0;for(let r=0;r<a.length;r++){let{name:o,fn:g}=a[r],{x:h,y:y,data:v,reset:w}=await g({x:c,y:f,initialPlacement:n,placement:d,strategy:i,middlewareData:p,rects:u,platform:l,elements:{reference:e,floating:t}});c=null!=h?h:c,f=null!=y?y:f,p={...p,[o]:{...p[o],...v}},w&&m<=50&&(m++,"object"==typeof w&&(w.placement&&(d=w.placement),w.rects&&(u=!0===w.rects?await l.getElementRects({reference:e,floating:t,strategy:i}):w.rects),{x:c,y:f}=P(u,d,s)),r=-1)}return{x:c,y:f,placement:d,strategy:i,middlewareData:p}};async function O(e,t){var r;void 0===t&&(t={});let{x:n,y:i,platform:o,rects:l,elements:a,strategy:s}=e,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:d="floating",altBoundary:p=!1,padding:m=0}=c(t,e),g=C(m),h=a[p?"floating"===d?"reference":"floating":d],y=R(await o.getClippingRect({element:null==(r=await (null==o.isElement?void 0:o.isElement(h)))||r?h:h.contextElement||await (null==o.getDocumentElement?void 0:o.getDocumentElement(a.floating)),boundary:u,rootBoundary:f,strategy:s})),v="floating"===d?{x:n,y:i,width:l.floating.width,height:l.floating.height}:l.reference,w=await (null==o.getOffsetParent?void 0:o.getOffsetParent(a.floating)),b=await (null==o.isElement?void 0:o.isElement(w))&&await (null==o.getScale?void 0:o.getScale(w))||{x:1,y:1},x=R(o.convertOffsetParentRelativeRectToViewportRelativeRect?await o.convertOffsetParentRelativeRectToViewportRelativeRect({elements:a,rect:v,offsetParent:w,strategy:s}):v);return{top:(y.top-x.top+g.top)/b.y,bottom:(x.bottom-y.bottom+g.bottom)/b.y,left:(y.left-x.left+g.left)/b.x,right:(x.right-y.right+g.right)/b.x}}function _(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function j(e){return r.some(t=>e[t]>=0)}let T=new Set(["left","top"]);async function A(e,t){let{placement:r,platform:n,elements:i}=e,o=await (null==n.isRTL?void 0:n.isRTL(i.floating)),l=f(r),a=d(r),s="y"===h(r),u=T.has(l)?-1:1,p=o&&s?-1:1,m=c(t,e),{mainAxis:g,crossAxis:y,alignmentAxis:v}="number"==typeof m?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return a&&"number"==typeof v&&(y="end"===a?-1*v:v),s?{x:y*p,y:g*u}:{x:g*u,y:y*p}}function N(){return"u">typeof window}function L(e){return $(e)?(e.nodeName||"").toLowerCase():"#document"}function D(e){var t;return(null==e||null==(t=e.ownerDocument)?void 0:t.defaultView)||window}function M(e){var t;return null==(t=($(e)?e.ownerDocument:e.document)||window.document)?void 0:t.documentElement}function $(e){return!!N()&&(e instanceof Node||e instanceof D(e).Node)}function I(e){return!!N()&&(e instanceof Element||e instanceof D(e).Element)}function k(e){return!!N()&&(e instanceof HTMLElement||e instanceof D(e).HTMLElement)}function W(e){return!(!N()||"u"<typeof ShadowRoot)&&(e instanceof ShadowRoot||e instanceof D(e).ShadowRoot)}let z=new Set(["inline","contents"]);function F(e){let{overflow:t,overflowX:r,overflowY:n,display:i}=K(e);return/auto|scroll|overlay|hidden|clip/.test(t+n+r)&&!z.has(i)}let V=new Set(["table","td","th"]),H=[":popover-open",":modal"];function B(e){return H.some(t=>{try{return e.matches(t)}catch(e){return!1}})}let U=["transform","translate","scale","rotate","perspective"],q=["transform","translate","scale","rotate","perspective","filter"],X=["paint","layout","strict","content"];function Y(e){let t=G(),r=I(e)?K(e):e;return U.some(e=>!!r[e]&&"none"!==r[e])||!!r.containerType&&"normal"!==r.containerType||!t&&!!r.backdropFilter&&"none"!==r.backdropFilter||!t&&!!r.filter&&"none"!==r.filter||q.some(e=>(r.willChange||"").includes(e))||X.some(e=>(r.contain||"").includes(e))}function G(){return!("u"<typeof CSS)&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let Z=new Set(["html","body","#document"]);function J(e){return Z.has(L(e))}function K(e){return D(e).getComputedStyle(e)}function Q(e){return I(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function ee(e){if("html"===L(e))return e;let t=e.assignedSlot||e.parentNode||W(e)&&e.host||M(e);return W(t)?t.host:t}function et(e,t,r){var n;void 0===t&&(t=[]),void 0===r&&(r=!0);let i=function e(t){let r=ee(t);return J(r)?t.ownerDocument?t.ownerDocument.body:t.body:k(r)&&F(r)?r:e(r)}(e),o=i===(null==(n=e.ownerDocument)?void 0:n.body),l=D(i);if(o){let e=er(l);return t.concat(l,l.visualViewport||[],F(i)?i:[],e&&r?et(e):[])}return t.concat(i,et(i,[],r))}function er(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function en(e){let t=K(e),r=parseFloat(t.width)||0,n=parseFloat(t.height)||0,i=k(e),l=i?e.offsetWidth:r,a=i?e.offsetHeight:n,s=o(r)!==l||o(n)!==a;return s&&(r=l,n=a),{width:r,height:n,$:s}}function ei(e){return I(e)?e:e.contextElement}function eo(e){let t=ei(e);if(!k(t))return a(1);let r=t.getBoundingClientRect(),{width:n,height:i,$:l}=en(t),s=(l?o(r.width):r.width)/n,u=(l?o(r.height):r.height)/i;return s&&Number.isFinite(s)||(s=1),u&&Number.isFinite(u)||(u=1),{x:s,y:u}}let el=a(0);function ea(e){let t=D(e);return G()&&t.visualViewport?{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}:el}function es(e,t,r,n){var i;void 0===t&&(t=!1),void 0===r&&(r=!1);let o=e.getBoundingClientRect(),l=ei(e),s=a(1);t&&(n?I(n)&&(s=eo(n)):s=eo(e));let u=(void 0===(i=r)&&(i=!1),n&&(!i||n===D(l))&&i)?ea(l):a(0),c=(o.left+u.x)/s.x,f=(o.top+u.y)/s.y,d=o.width/s.x,p=o.height/s.y;if(l){let e=D(l),t=n&&I(n)?D(n):n,r=e,i=er(r);for(;i&&n&&t!==r;){let e=eo(i),t=i.getBoundingClientRect(),n=K(i),o=t.left+(i.clientLeft+parseFloat(n.paddingLeft))*e.x,l=t.top+(i.clientTop+parseFloat(n.paddingTop))*e.y;c*=e.x,f*=e.y,d*=e.x,p*=e.y,c+=o,f+=l,i=er(r=D(i))}}return R({width:d,height:p,x:c,y:f})}function eu(e,t){let r=Q(e).scrollLeft;return t?t.left+r:es(M(e)).left+r}function ec(e,t){let r=e.getBoundingClientRect();return{x:r.left+t.scrollLeft-eu(e,r),y:r.top+t.scrollTop}}let ef=new Set(["absolute","fixed"]);function ed(e,t,r){var n;let o;if("viewport"===t)o=function(e,t){let r=D(e),n=M(e),i=r.visualViewport,o=n.clientWidth,l=n.clientHeight,a=0,s=0;if(i){o=i.width,l=i.height;let e=G();(!e||e&&"fixed"===t)&&(a=i.offsetLeft,s=i.offsetTop)}let u=eu(n);if(u<=0){let e=n.ownerDocument,t=e.body,r=getComputedStyle(t),i="CSS1Compat"===e.compatMode&&parseFloat(r.marginLeft)+parseFloat(r.marginRight)||0,l=Math.abs(n.clientWidth-t.clientWidth-i);l<=25&&(o-=l)}else u<=25&&(o+=u);return{width:o,height:l,x:a,y:s}}(e,r);else if("document"===t){let t,r,l,a,s,u,c;n=M(e),t=M(n),r=Q(n),l=n.ownerDocument.body,a=i(t.scrollWidth,t.clientWidth,l.scrollWidth,l.clientWidth),s=i(t.scrollHeight,t.clientHeight,l.scrollHeight,l.clientHeight),u=-r.scrollLeft+eu(n),c=-r.scrollTop,"rtl"===K(l).direction&&(u+=i(t.clientWidth,l.clientWidth)-a),o={width:a,height:s,x:u,y:c}}else if(I(t)){let e,n,i,l,s,u;n=(e=es(t,!0,"fixed"===r)).top+t.clientTop,i=e.left+t.clientLeft,l=k(t)?eo(t):a(1),s=t.clientWidth*l.x,u=t.clientHeight*l.y,o={width:s,height:u,x:i*l.x,y:n*l.y}}else{let r=ea(e);o={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return R(o)}function ep(e){return"static"===K(e).position}function em(e,t){if(!k(e)||"fixed"===K(e).position)return null;if(t)return t(e);let r=e.offsetParent;return M(e)===r&&(r=r.ownerDocument.body),r}function eg(e,t){var r;let n=D(e);if(B(e))return n;if(!k(e)){let t=ee(e);for(;t&&!J(t);){if(I(t)&&!ep(t))return t;t=ee(t)}return n}let i=em(e,t);for(;i&&(r=i,V.has(L(r)))&&ep(i);)i=em(i,t);return i&&J(i)&&ep(i)&&!Y(i)?n:i||function(e){let t=ee(e);for(;k(t)&&!J(t);){if(Y(t))return t;if(B(t))break;t=ee(t)}return null}(e)||n}let eh=async function(e){let t=this.getOffsetParent||eg,r=this.getDimensions,n=await r(e.floating);return{reference:function(e,t,r){let n=k(t),i=M(t),o="fixed"===r,l=es(e,!0,o,t),s={scrollLeft:0,scrollTop:0},u=a(0);if(n||!n&&!o)if(("body"!==L(t)||F(i))&&(s=Q(t)),n){let e=es(t,!0,o,t);u.x=e.x+t.clientLeft,u.y=e.y+t.clientTop}else i&&(u.x=eu(i));o&&!n&&i&&(u.x=eu(i));let c=!i||n||o?a(0):ec(i,s);return{x:l.left+s.scrollLeft-u.x-c.x,y:l.top+s.scrollTop-u.y-c.y,width:l.width,height:l.height}}(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:n.width,height:n.height}}},ey={convertOffsetParentRelativeRectToViewportRelativeRect:function(e){let{elements:t,rect:r,offsetParent:n,strategy:i}=e,o="fixed"===i,l=M(n),s=!!t&&B(t.floating);if(n===l||s&&o)return r;let u={scrollLeft:0,scrollTop:0},c=a(1),f=a(0),d=k(n);if((d||!d&&!o)&&(("body"!==L(n)||F(l))&&(u=Q(n)),k(n))){let e=es(n);c=eo(n),f.x=e.x+n.clientLeft,f.y=e.y+n.clientTop}let p=!l||d||o?a(0):ec(l,u);return{width:r.width*c.x,height:r.height*c.y,x:r.x*c.x-u.scrollLeft*c.x+f.x+p.x,y:r.y*c.y-u.scrollTop*c.y+f.y+p.y}},getDocumentElement:M,getClippingRect:function(e){let{element:t,boundary:r,rootBoundary:o,strategy:l}=e,a=[..."clippingAncestors"===r?B(t)?[]:function(e,t){let r=t.get(e);if(r)return r;let n=et(e,[],!1).filter(e=>I(e)&&"body"!==L(e)),i=null,o="fixed"===K(e).position,l=o?ee(e):e;for(;I(l)&&!J(l);){let t=K(l),r=Y(l);r||"fixed"!==t.position||(i=null),(o?!r&&!i:!r&&"static"===t.position&&!!i&&ef.has(i.position)||F(l)&&!r&&function e(t,r){let n=ee(t);return!(n===r||!I(n)||J(n))&&("fixed"===K(n).position||e(n,r))}(e,l))?n=n.filter(e=>e!==l):i=t,l=ee(l)}return t.set(e,n),n}(t,this._c):[].concat(r),o],s=a[0],u=a.reduce((e,r)=>{let o=ed(t,r,l);return e.top=i(o.top,e.top),e.right=n(o.right,e.right),e.bottom=n(o.bottom,e.bottom),e.left=i(o.left,e.left),e},ed(t,s,l));return{width:u.right-u.left,height:u.bottom-u.top,x:u.left,y:u.top}},getOffsetParent:eg,getElementRects:eh,getClientRects:function(e){return Array.from(e.getClientRects())},getDimensions:function(e){let{width:t,height:r}=en(e);return{width:t,height:r}},getScale:eo,isElement:I,isRTL:function(e){return"rtl"===K(e).direction}};function ev(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}let ew=e=>({name:"arrow",options:e,async fn(t){let{x:r,y:o,placement:l,rects:a,platform:s,elements:u,middlewareData:f}=t,{element:g,padding:y=0}=c(e,t)||{};if(null==g)return{};let v=C(y),w={x:r,y:o},b=p(h(l)),x=m(b),E=await s.getDimensions(g),R="y"===b,P=R?"clientHeight":"clientWidth",S=a.reference[x]+a.reference[b]-w[b]-a.floating[x],O=w[b]-a.reference[b],_=await (null==s.getOffsetParent?void 0:s.getOffsetParent(g)),j=_?_[P]:0;j&&await (null==s.isElement?void 0:s.isElement(_))||(j=u.floating[P]||a.floating[x]);let T=j/2-E[x]/2-1,A=n(v[R?"top":"left"],T),N=n(v[R?"bottom":"right"],T),L=j-E[x]-N,D=j/2-E[x]/2+(S/2-O/2),M=i(A,n(D,L)),$=!f.arrow&&null!=d(l)&&D!==M&&a.reference[x]/2-(D<A?A:N)-E[x]/2<0,I=$?D<A?D-A:D-L:0;return{[b]:w[b]+I,data:{[b]:M,centerOffset:D-M-I,...$&&{alignmentOffset:I}},reset:$}}});var eb=e.i(773340),ex="u">typeof document?t.useLayoutEffect:function(){};function eE(e,t){let r,n,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((r=e.length)!==t.length)return!1;for(n=r;0!=n--;)if(!eE(e[n],t[n]))return!1;return!0}if((r=(i=Object.keys(e)).length)!==Object.keys(t).length)return!1;for(n=r;0!=n--;)if(!({}).hasOwnProperty.call(t,i[n]))return!1;for(n=r;0!=n--;){let r=i[n];if(("_owner"!==r||!e.$$typeof)&&!eE(e[r],t[r]))return!1}return!0}return e!=e&&t!=t}function eC(e){return"u"<typeof window?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function eR(e,t){let r=eC(e);return Math.round(t*r)/r}function eP(e){let r=t.useRef(e);return ex(()=>{r.current=e}),r}var eS=e.i(309945),eO=e.i(414294),e_=Symbol("radix.slottable");function ej(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===e_}var eT=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{var n,i;let o,l,a,s=(i=n=`Primitive.${r}`,(o=t.forwardRef((e,r)=>{let{children:n,...i}=e;if(t.isValidElement(n)){var o;let e,l,a=(o=n,(l=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(l=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),s=function(e,t){let r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(i,n.props);return n.type!==t.Fragment&&(s.ref=r?(0,eS.composeRefs)(r,a):a),t.cloneElement(n,s)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${i}.SlotClone`,l=o,(a=t.forwardRef((e,r)=>{let{children:n,...i}=e,o=t.Children.toArray(n),a=o.find(ej);if(a){let e=a.props.children,n=o.map(r=>r!==a?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,eO.jsx)(l,{...i,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,eO.jsx)(l,{...i,ref:r,children:n})})).displayName=`${n}.Slot`,a),u=t.forwardRef((e,t)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,eO.jsx)(n?s:r,{...i,ref:t})});return u.displayName=`Primitive.${r}`,{...e,[r]:u}},{}),eA=t.forwardRef((e,t)=>{let{children:r,width:n=10,height:i=5,...o}=e;return(0,eO.jsx)(eT.svg,{...o,ref:t,width:n,height:i,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:e.asChild?r:(0,eO.jsx)("polygon",{points:"0,0 30,0 15,10"})})});eA.displayName="Arrow";var eN=Symbol("radix.slottable");function eL(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===eN}var eD=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{var n,i;let o,l,a,s=(i=n=`Primitive.${r}`,(o=t.forwardRef((e,r)=>{let{children:n,...i}=e;if(t.isValidElement(n)){var o;let e,l,a=(o=n,(l=(e=Object.getOwnPropertyDescriptor(o.props,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.ref:(l=(e=Object.getOwnPropertyDescriptor(o,"ref")?.get)&&"isReactWarning"in e&&e.isReactWarning)?o.props.ref:o.props.ref||o.ref),s=function(e,t){let r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(i,n.props);return n.type!==t.Fragment&&(s.ref=r?(0,eS.composeRefs)(r,a):a),t.cloneElement(n,s)}return t.Children.count(n)>1?t.Children.only(null):null})).displayName=`${i}.SlotClone`,l=o,(a=t.forwardRef((e,r)=>{let{children:n,...i}=e,o=t.Children.toArray(n),a=o.find(eL);if(a){let e=a.props.children,n=o.map(r=>r!==a?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,eO.jsx)(l,{...i,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,n):null})}return(0,eO.jsx)(l,{...i,ref:r,children:n})})).displayName=`${n}.Slot`,a),u=t.forwardRef((e,t)=>{let{asChild:n,...i}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,eO.jsx)(n?s:r,{...i,ref:t})});return u.displayName=`Primitive.${r}`,{...e,[r]:u}},{}),eM=e.i(897462),e$=e.i(995945);function eI(e){let[r,n]=t.useState(void 0);return(0,e$.useLayoutEffect)(()=>{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]),r}e.s(["useSize",()=>eI],626168);var ek="Popper",[eW,ez]=function(e,r=[]){let n=[],i=()=>{let r=n.map(e=>t.createContext(e));return function(n){let i=n?.[e]||r;return t.useMemo(()=>({[`__scope${e}`]:{...n,[e]:i}}),[n,i])}};return i.scopeName=e,[function(r,i){let o=t.createContext(i),l=n.length;n=[...n,i];let a=r=>{let{scope:n,children:i,...a}=r,s=n?.[e]?.[l]||o,u=t.useMemo(()=>a,Object.values(a));return(0,eO.jsx)(s.Provider,{value:u,children:i})};return a.displayName=r+"Provider",[a,function(n,a){let s=a?.[e]?.[l]||o,u=t.useContext(s);if(u)return u;if(void 0!==i)return i;throw Error(`\`${n}\` must be used within \`${r}\``)}]},function(...e){let r=e[0];if(1===e.length)return r;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let i=n.reduce((t,{useScope:r,scopeName:n})=>{let i=r(e)[`__scope${n}`];return{...t,...i}},{});return t.useMemo(()=>({[`__scope${r.scopeName}`]:i}),[i])}};return n.scopeName=r.scopeName,n}(i,...r)]}(ek),[eF,eV]=eW(ek),eH=e=>{let{__scopePopper:r,children:n}=e,[i,o]=t.useState(null);return(0,eO.jsx)(eF,{scope:r,anchor:i,onAnchorChange:o,children:n})};eH.displayName=ek;var eB="PopperAnchor",eU=t.forwardRef((e,r)=>{let{__scopePopper:n,virtualRef:i,...o}=e,l=eV(eB,n),a=t.useRef(null),s=(0,eS.useComposedRefs)(r,a),u=t.useRef(null);return t.useEffect(()=>{let e=u.current;u.current=i?.current||a.current,e!==u.current&&l.onAnchorChange(u.current)}),i?null:(0,eO.jsx)(eD.div,{...o,ref:s})});eU.displayName=eB;var eq="PopperContent",[eX,eY]=eW(eq),eG=t.forwardRef((e,r)=>{var o,a,s,u,g,C,R,P,N,L,D,$,I;let{__scopePopper:k,side:W="bottom",sideOffset:z=0,align:F="center",alignOffset:V=0,arrowPadding:H=0,avoidCollisions:B=!0,collisionBoundary:U=[],collisionPadding:q=0,sticky:X="partial",hideWhenDetached:Y=!1,updatePositionStrategy:G="optimized",onPlaced:Z,...J}=e,K=eV(eq,k),[Q,ee]=t.useState(null),er=(0,eS.useComposedRefs)(r,e=>ee(e)),[en,eo]=t.useState(null),el=eI(en),ea=el?.width??0,eu=el?.height??0,ec="number"==typeof q?q:{top:0,right:0,bottom:0,left:0,...q},ef=Array.isArray(U)?U:[U],ed=ef.length>0,ep={padding:ec,boundary:ef.filter(eQ),altBoundary:ed},{refs:em,floatingStyles:eg,placement:eh,isPositioned:e_,middlewareData:ej}=function(e){void 0===e&&(e={});let{placement:r="bottom",strategy:n="absolute",middleware:i=[],platform:o,elements:{reference:l,floating:a}={},transform:s=!0,whileElementsMounted:u,open:c}=e,[f,d]=t.useState({x:0,y:0,strategy:n,placement:r,middlewareData:{},isPositioned:!1}),[p,m]=t.useState(i);eE(p,i)||m(i);let[g,h]=t.useState(null),[y,v]=t.useState(null),w=t.useCallback(e=>{e!==C.current&&(C.current=e,h(e))},[]),b=t.useCallback(e=>{e!==R.current&&(R.current=e,v(e))},[]),x=l||g,E=a||y,C=t.useRef(null),R=t.useRef(null),P=t.useRef(f),O=null!=u,_=eP(u),j=eP(o),T=eP(c),A=t.useCallback(()=>{var e,t;let i,o,l;if(!C.current||!R.current)return;let a={placement:r,strategy:n,middleware:p};j.current&&(a.platform=j.current),(e=C.current,t=R.current,i=new Map,l={...(o={platform:ey,...a}).platform,_c:i},S(e,t,{...o,platform:l})).then(e=>{let t={...e,isPositioned:!1!==T.current};N.current&&!eE(P.current,t)&&(P.current=t,eb.flushSync(()=>{d(t)}))})},[p,r,n,j,T]);ex(()=>{!1===c&&P.current.isPositioned&&(P.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[c]);let N=t.useRef(!1);ex(()=>(N.current=!0,()=>{N.current=!1}),[]),ex(()=>{if(x&&(C.current=x),E&&(R.current=E),x&&E){if(_.current)return _.current(x,E,A);A()}},[x,E,A,_,O]);let L=t.useMemo(()=>({reference:C,floating:R,setReference:w,setFloating:b}),[w,b]),D=t.useMemo(()=>({reference:x,floating:E}),[x,E]),M=t.useMemo(()=>{let e={position:n,left:0,top:0};if(!D.floating)return e;let t=eR(D.floating,f.x),r=eR(D.floating,f.y);return s?{...e,transform:"translate("+t+"px, "+r+"px)",...eC(D.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:t,top:r}},[n,s,D.floating,f.x,f.y]);return t.useMemo(()=>({...f,update:A,refs:L,elements:D,floatingStyles:M}),[f,A,L,D,M])}({strategy:"fixed",placement:W+("center"!==F?"-"+F:""),whileElementsMounted:(...e)=>(function(e,t,r,o){let a;void 0===o&&(o={});let{ancestorScroll:s=!0,ancestorResize:u=!0,elementResize:c="function"==typeof ResizeObserver,layoutShift:f="function"==typeof IntersectionObserver,animationFrame:d=!1}=o,p=ei(e),m=s||u?[...p?et(p):[],...et(t)]:[];m.forEach(e=>{s&&e.addEventListener("scroll",r,{passive:!0}),u&&e.addEventListener("resize",r)});let g=p&&f?function(e,t){let r,o=null,a=M(e);function s(){var e;clearTimeout(r),null==(e=o)||e.disconnect(),o=null}return!function u(c,f){void 0===c&&(c=!1),void 0===f&&(f=1),s();let d=e.getBoundingClientRect(),{left:p,top:m,width:g,height:h}=d;if(c||t(),!g||!h)return;let y={rootMargin:-l(m)+"px "+-l(a.clientWidth-(p+g))+"px "+-l(a.clientHeight-(m+h))+"px "+-l(p)+"px",threshold:i(0,n(1,f))||1},v=!0;function w(t){let n=t[0].intersectionRatio;if(n!==f){if(!v)return u();n?u(!1,n):r=setTimeout(()=>{u(!1,1e-7)},1e3)}1!==n||ev(d,e.getBoundingClientRect())||u(),v=!1}try{o=new IntersectionObserver(w,{...y,root:a.ownerDocument})}catch(e){o=new IntersectionObserver(w,y)}o.observe(e)}(!0),s}(p,r):null,h=-1,y=null;c&&(y=new ResizeObserver(e=>{let[n]=e;n&&n.target===p&&y&&(y.unobserve(t),cancelAnimationFrame(h),h=requestAnimationFrame(()=>{var e;null==(e=y)||e.observe(t)})),r()}),p&&!d&&y.observe(p),y.observe(t));let v=d?es(e):null;return d&&function t(){let n=es(e);v&&!ev(v,n)&&r(),v=n,a=requestAnimationFrame(t)}(),r(),()=>{var e;m.forEach(e=>{s&&e.removeEventListener("scroll",r),u&&e.removeEventListener("resize",r)}),null==g||g(),null==(e=y)||e.disconnect(),y=null,d&&cancelAnimationFrame(a)}})(...e,{animationFrame:"always"===G}),elements:{reference:K.anchor},middleware:[{...{name:"offset",options:a=o={mainAxis:z+eu,alignmentAxis:V},async fn(e){var t,r;let{x:n,y:i,placement:o,middlewareData:l}=e,s=await A(e,a);return o===(null==(t=l.offset)?void 0:t.placement)&&null!=(r=l.arrow)&&r.alignmentOffset?{}:{x:n+s.x,y:i+s.y,data:{...s,placement:o}}}},options:[o,void 0]},B&&{...{name:"shift",options:g=u={mainAxis:!0,crossAxis:!1,limiter:"partial"===X?{...(s=void 0,{options:s={},fn(e){let{x:t,y:r,placement:n,rects:i,middlewareData:o}=e,{offset:l=0,mainAxis:a=!0,crossAxis:u=!0}=c(s,e),d={x:t,y:r},m=h(n),g=p(m),y=d[g],v=d[m],w=c(l,e),b="number"==typeof w?{mainAxis:w,crossAxis:0}:{mainAxis:0,crossAxis:0,...w};if(a){let e="y"===g?"height":"width",t=i.reference[g]-i.floating[e]+b.mainAxis,r=i.reference[g]+i.reference[e]-b.mainAxis;y<t?y=t:y>r&&(y=r)}if(u){var x,E;let e="y"===g?"width":"height",t=T.has(f(n)),r=i.reference[m]-i.floating[e]+(t&&(null==(x=o.offset)?void 0:x[m])||0)+(t?0:b.crossAxis),l=i.reference[m]+i.reference[e]+(t?0:(null==(E=o.offset)?void 0:E[m])||0)-(t?b.crossAxis:0);v<r?v=r:v>l&&(v=l)}return{[g]:y,[m]:v}}}),options:[void 0,void 0]}:void 0,...ep},async fn(e){let{x:t,y:r,placement:o}=e,{mainAxis:l=!0,crossAxis:a=!1,limiter:s={fn:e=>{let{x:t,y:r}=e;return{x:t,y:r}}},...u}=c(g,e),d={x:t,y:r},m=await O(e,u),y=h(f(o)),v=p(y),w=d[v],b=d[y];if(l){let e="y"===v?"top":"left",t="y"===v?"bottom":"right",r=w+m[e],o=w-m[t];w=i(r,n(w,o))}if(a){let e="y"===y?"top":"left",t="y"===y?"bottom":"right",r=b+m[e],o=b-m[t];b=i(r,n(b,o))}let x=s.fn({...e,[v]:w,[y]:b});return{...x,data:{x:x.x-t,y:x.y-r,enabled:{[v]:l,[y]:a}}}}},options:[u,void 0]},B&&{...{name:"flip",options:R=C={...ep},async fn(e){var t,r,n,i,o,l,a,s;let u,g,C,{placement:P,middlewareData:S,rects:_,initialPlacement:j,platform:T,elements:A}=e,{mainAxis:N=!0,crossAxis:L=!0,fallbackPlacements:D,fallbackStrategy:M="bestFit",fallbackAxisSideDirection:$="none",flipAlignment:I=!0,...k}=c(R,e);if(null!=(t=S.arrow)&&t.alignmentOffset)return{};let W=f(P),z=h(j),F=f(j)===j,V=await (null==T.isRTL?void 0:T.isRTL(A.floating)),H=D||(F||!I?[E(j)]:(u=E(j),[y(j),u,y(u)])),B="none"!==$;!D&&B&&H.push(...(g=d(j),C=function(e,t,r){switch(e){case"top":case"bottom":if(r)return t?w:v;return t?v:w;case"left":case"right":return t?b:x;default:return[]}}(f(j),"start"===$,V),g&&(C=C.map(e=>e+"-"+g),I&&(C=C.concat(C.map(y)))),C));let U=[j,...H],q=await O(e,k),X=[],Y=(null==(r=S.flip)?void 0:r.overflows)||[];if(N&&X.push(q[W]),L){let e,t,r,n,i=(l=P,a=_,void 0===(s=V)&&(s=!1),e=d(l),r=m(t=p(h(l))),n="x"===t?e===(s?"end":"start")?"right":"left":"start"===e?"bottom":"top",a.reference[r]>a.floating[r]&&(n=E(n)),[n,E(n)]);X.push(q[i[0]],q[i[1]])}if(Y=[...Y,{placement:P,overflows:X}],!X.every(e=>e<=0)){let e=((null==(n=S.flip)?void 0:n.index)||0)+1,t=U[e];if(t&&("alignment"!==L||z===h(t)||Y.every(e=>h(e.placement)!==z||e.overflows[0]>0)))return{data:{index:e,overflows:Y},reset:{placement:t}};let r=null==(i=Y.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0])?void 0:i.placement;if(!r)switch(M){case"bestFit":{let e=null==(o=Y.filter(e=>{if(B){let t=h(e.placement);return t===z||"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&&(r=e);break}case"initialPlacement":r=j}if(P!==r)return{reset:{placement:r}}}return{}}},options:[C,void 0]},{...{name:"size",options:N=P={...ep,apply:({elements:e,rects:t,availableWidth:r,availableHeight:n})=>{let{width:i,height:o}=t.reference,l=e.floating.style;l.setProperty("--radix-popper-available-width",`${r}px`),l.setProperty("--radix-popper-available-height",`${n}px`),l.setProperty("--radix-popper-anchor-width",`${i}px`),l.setProperty("--radix-popper-anchor-height",`${o}px`)}},async fn(e){var t,r;let o,l,{placement:a,rects:s,platform:u,elements:p}=e,{apply:m=()=>{},...g}=c(N,e),y=await O(e,g),v=f(a),w=d(a),b="y"===h(a),{width:x,height:E}=s.floating;"top"===v||"bottom"===v?(o=v,l=w===(await (null==u.isRTL?void 0:u.isRTL(p.floating))?"start":"end")?"left":"right"):(l=v,o="end"===w?"top":"bottom");let C=E-y.top-y.bottom,R=x-y.left-y.right,P=n(E-y[o],C),S=n(x-y[l],R),_=!e.middlewareData.shift,j=P,T=S;if(null!=(t=e.middlewareData.shift)&&t.enabled.x&&(T=R),null!=(r=e.middlewareData.shift)&&r.enabled.y&&(j=C),_&&!w){let e=i(y.left,0),t=i(y.right,0),r=i(y.top,0),n=i(y.bottom,0);b?T=x-2*(0!==e||0!==t?e+t:i(y.left,y.right)):j=E-2*(0!==r||0!==n?r+n:i(y.top,y.bottom))}await m({...e,availableWidth:T,availableHeight:j});let A=await u.getDimensions(p.floating);return x!==A.width||E!==A.height?{reset:{rects:!0}}:{}}},options:[P,void 0]},en&&{...{name:"arrow",options:D=L={element:en,padding:H},fn(e){let{element:t,padding:r}="function"==typeof D?D(e):D;return t&&({}).hasOwnProperty.call(t,"current")?null!=t.current?ew({element:t.current,padding:r}).fn(e):{}:t?ew({element:t,padding:r}).fn(e):{}}},options:[L,void 0]},e0({arrowWidth:ea,arrowHeight:eu}),Y&&{...{name:"hide",options:I=$={strategy:"referenceHidden",...ep},async fn(e){let{rects:t}=e,{strategy:r="referenceHidden",...n}=c(I,e);switch(r){case"referenceHidden":{let r=_(await O(e,{...n,elementContext:"reference"}),t.reference);return{data:{referenceHiddenOffsets:r,referenceHidden:j(r)}}}case"escaped":{let r=_(await O(e,{...n,altBoundary:!0}),t.floating);return{data:{escapedOffsets:r,escaped:j(r)}}}default:return{}}}},options:[$,void 0]}]}),[eT,eA]=e1(eh),eN=(0,eM.useCallbackRef)(Z);(0,e$.useLayoutEffect)(()=>{e_&&eN?.()},[e_,eN]);let eL=ej.arrow?.x,ek=ej.arrow?.y,eW=ej.arrow?.centerOffset!==0,[ez,eF]=t.useState();return(0,e$.useLayoutEffect)(()=>{Q&&eF(window.getComputedStyle(Q).zIndex)},[Q]),(0,eO.jsx)("div",{ref:em.setFloating,"data-radix-popper-content-wrapper":"",style:{...eg,transform:e_?eg.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:ez,"--radix-popper-transform-origin":[ej.transformOrigin?.x,ej.transformOrigin?.y].join(" "),...ej.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:e.dir,children:(0,eO.jsx)(eX,{scope:k,placedSide:eT,onArrowChange:eo,arrowX:eL,arrowY:ek,shouldHideArrow:eW,children:(0,eO.jsx)(eD.div,{"data-side":eT,"data-align":eA,...J,ref:er,style:{...J.style,animation:e_?void 0:"none"}})})})});eG.displayName=eq;var eZ="PopperArrow",eJ={top:"bottom",right:"left",bottom:"top",left:"right"},eK=t.forwardRef(function(e,t){let{__scopePopper:r,...n}=e,i=eY(eZ,r),o=eJ[i.placedSide];return(0,eO.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,eO.jsx)(eA,{...n,ref:t,style:{...n.style,display:"block"}})})});function eQ(e){return null!==e}eK.displayName=eZ;var e0=e=>({name:"transformOrigin",options:e,fn(t){let{placement:r,rects:n,middlewareData:i}=t,o=i.arrow?.centerOffset!==0,l=o?0:e.arrowWidth,a=o?0:e.arrowHeight,[s,u]=e1(r),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=`${n.floating.height+a}px`):"right"===s?(p=`${-a}px`,m=o?c:`${d}px`):"left"===s&&(p=`${n.floating.width+a}px`,m=o?c:`${d}px`),{data:{x:p,y:m}}}});function e1(e){let[t,r="center"]=e.split("-");return[t,r]}e.s(["Anchor",()=>eU,"Arrow",()=>eK,"Content",()=>eG,"Root",()=>eH,"createPopperScope",()=>ez],874057)},139369,708148,e=>{"use strict";var t=e.i(430878);e.i(773340);var r=e.i(309945),n=e.i(414294);function i(e){var i;let o,l=(i=e,(o=t.forwardRef((e,n)=>{let{children:i,...o}=e;if(t.isValidElement(i)){var l;let e,a,s=(l=i,(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 r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(o,i.props);return i.type!==t.Fragment&&(u.ref=n?(0,r.composeRefs)(n,s):s),t.cloneElement(i,u)}return t.Children.count(i)>1?t.Children.only(null):null})).displayName=`${i}.SlotClone`,o),s=t.forwardRef((e,r)=>{let{children:i,...o}=e,s=t.Children.toArray(i),u=s.find(a);if(u){let e=u.props.children,i=s.map(r=>r!==u?r:t.Children.count(e)>1?t.Children.only(null):t.isValidElement(e)?e.props.children:null);return(0,n.jsx)(l,{...o,ref:r,children:t.isValidElement(e)?t.cloneElement(e,void 0,i):null})}return(0,n.jsx)(l,{...o,ref:r,children:i})});return s.displayName=`${e}.Slot`,s}var o=Symbol("radix.slottable");function l(e){let t=({children:e})=>(0,n.jsx)(n.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=o,t}function a(e){return t.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===o}e.s(["createSlot",()=>i,"createSlottable",()=>l],708148);var s=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,r)=>{let o=i(`Primitive.${r}`),l=t.forwardRef((e,t)=>{let{asChild:i,...l}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,n.jsx)(i?o:r,{...l,ref:t})});return l.displayName=`Primitive.${r}`,{...e,[r]:l}},{});e.s(["Primitive",()=>s],139369)},87614,41164,e=>{"use strict";var t=e.i(414294),r=e.i(430878),n=e.i(241416),i=e.i(309945),o=e.i(369605),l=e.i(272741),a=e.i(610559),s=e.i(874057),u=e.i(383044),c=e.i(395509),f=e.i(139369),d=e.i(708148),p=e.i(465488);e.i(773340);var m=Symbol("radix.slottable");function g(e){return r.isValidElement(e)&&"function"==typeof e.type&&"__radixId"in e.type&&e.type.__radixId===m}var h=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((e,n)=>{var o,l;let a,s,u,c=(l=o=`Primitive.${n}`,(a=r.forwardRef((e,t)=>{let{children:n,...o}=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 r={...t};for(let n in t){let i=e[n],o=t[n];/^on[A-Z]/.test(n)?i&&o?r[n]=(...e)=>{let t=o(...e);return i(...e),t}:i&&(r[n]=i):"style"===n?r[n]={...i,...o}:"className"===n&&(r[n]=[i,o].filter(Boolean).join(" "))}return{...e,...r}}(o,n.props);return n.type!==r.Fragment&&(u.ref=t?(0,i.composeRefs)(t,s):s),r.cloneElement(n,u)}return r.Children.count(n)>1?r.Children.only(null):null})).displayName=`${l}.SlotClone`,s=a,(u=r.forwardRef((e,n)=>{let{children:i,...o}=e,l=r.Children.toArray(i),a=l.find(g);if(a){let e=a.props.children,i=l.map(t=>t!==a?t:r.Children.count(e)>1?r.Children.only(null):r.isValidElement(e)?e.props.children:null);return(0,t.jsx)(s,{...o,ref:n,children:r.isValidElement(e)?r.cloneElement(e,void 0,i):null})}return(0,t.jsx)(s,{...o,ref:n,children:i})})).displayName=`${o}.Slot`,u),f=r.forwardRef((e,r)=>{let{asChild:i,...o}=e;return"u">typeof window&&(window[Symbol.for("radix-ui")]=!0),(0,t.jsx)(i?c:n,{...o,ref:r})});return f.displayName=`Primitive.${n}`,{...e,[n]:f}},{}),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=r.forwardRef((e,r)=>(0,t.jsx)(h.span,{...e,ref:r,style:{...y,...e.style}}));v.displayName="VisuallyHidden",e.s(["Root",()=>v,"VISUALLY_HIDDEN_STYLES",()=>y],41164);var[w,b]=(0,o.createContextScope)("Tooltip",[s.createPopperScope]),x=(0,s.createPopperScope)(),E="TooltipProvider",C="tooltip.open",[R,P]=w(E),S=e=>{let{__scopeTooltip:n,delayDuration:i=700,skipDelayDuration:o=300,disableHoverableContent:l=!1,children:a}=e,s=r.useRef(!0),u=r.useRef(!1),c=r.useRef(0);return r.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(R,{scope:n,isOpenDelayedRef:s,delayDuration:i,onOpen:r.useCallback(()=>{window.clearTimeout(c.current),s.current=!1},[]),onClose:r.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>s.current=!0,o)},[o]),isPointerInTransitRef:u,onPointerInTransitChange:r.useCallback(e=>{u.current=e},[]),disableHoverableContent:l,children:a})};S.displayName=E;var O="Tooltip",[_,j]=w(O),T=e=>{let{__scopeTooltip:n,children:i,open:o,defaultOpen:l,onOpenChange:u,disableHoverableContent:c,delayDuration:f}=e,d=P(O,e.__scopeTooltip),m=x(n),[g,h]=r.useState(null),y=(0,a.useId)(),v=r.useRef(0),w=c??d.disableHoverableContent,b=f??d.delayDuration,E=r.useRef(!1),[R,S]=(0,p.useControllableState)({prop:o,defaultProp:l??!1,onChange:e=>{e?(d.onOpen(),document.dispatchEvent(new CustomEvent(C))):d.onClose(),u?.(e)},caller:O}),j=r.useMemo(()=>R?E.current?"delayed-open":"instant-open":"closed",[R]),T=r.useCallback(()=>{window.clearTimeout(v.current),v.current=0,E.current=!1,S(!0)},[S]),A=r.useCallback(()=>{window.clearTimeout(v.current),v.current=0,S(!1)},[S]),N=r.useCallback(()=>{window.clearTimeout(v.current),v.current=window.setTimeout(()=>{E.current=!0,S(!0),v.current=0},b)},[b,S]);return r.useEffect(()=>()=>{v.current&&(window.clearTimeout(v.current),v.current=0)},[]),(0,t.jsx)(s.Root,{...m,children:(0,t.jsx)(_,{scope:n,contentId:y,open:R,stateAttribute:j,trigger:g,onTriggerChange:h,onTriggerEnter:r.useCallback(()=>{d.isOpenDelayedRef.current?N():T()},[d.isOpenDelayedRef,N,T]),onTriggerLeave:r.useCallback(()=>{w?A():(window.clearTimeout(v.current),v.current=0)},[A,w]),onOpen:T,onClose:A,disableHoverableContent:w,children:i})})};T.displayName=O;var A="TooltipTrigger",N=r.forwardRef((e,o)=>{let{__scopeTooltip:l,...a}=e,u=j(A,l),c=P(A,l),d=x(l),p=r.useRef(null),m=(0,i.useComposedRefs)(o,p,u.onTriggerChange),g=r.useRef(!1),h=r.useRef(!1),y=r.useCallback(()=>g.current=!1,[]);return r.useEffect(()=>()=>document.removeEventListener("pointerup",y),[y]),(0,t.jsx)(s.Anchor,{asChild:!0,...d,children:(0,t.jsx)(f.Primitive.button,{"aria-describedby":u.open?u.contentId:void 0,"data-state":u.stateAttribute,...a,ref:m,onPointerMove:(0,n.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(h.current||c.isPointerInTransitRef.current||(u.onTriggerEnter(),h.current=!0))}),onPointerLeave:(0,n.composeEventHandlers)(e.onPointerLeave,()=>{u.onTriggerLeave(),h.current=!1}),onPointerDown:(0,n.composeEventHandlers)(e.onPointerDown,()=>{u.open&&u.onClose(),g.current=!0,document.addEventListener("pointerup",y,{once:!0})}),onFocus:(0,n.composeEventHandlers)(e.onFocus,()=>{g.current||u.onOpen()}),onBlur:(0,n.composeEventHandlers)(e.onBlur,u.onClose),onClick:(0,n.composeEventHandlers)(e.onClick,u.onClose)})})});N.displayName=A;var L="TooltipPortal",[D,M]=w(L,{forceMount:void 0}),$=e=>{let{__scopeTooltip:r,forceMount:n,children:i,container:o}=e,l=j(L,r);return(0,t.jsx)(D,{scope:r,forceMount:n,children:(0,t.jsx)(c.Presence,{present:n||l.open,children:(0,t.jsx)(u.Portal,{asChild:!0,container:o,children:i})})})};$.displayName=L;var I="TooltipContent",k=r.forwardRef((e,r)=>{let n=M(I,e.__scopeTooltip),{forceMount:i=n.forceMount,side:o="top",...l}=e,a=j(I,e.__scopeTooltip);return(0,t.jsx)(c.Presence,{present:i||a.open,children:a.disableHoverableContent?(0,t.jsx)(H,{side:o,...l,ref:r}):(0,t.jsx)(W,{side:o,...l,ref:r})})}),W=r.forwardRef((e,n)=>{let o=j(I,e.__scopeTooltip),l=P(I,e.__scopeTooltip),a=r.useRef(null),s=(0,i.useComposedRefs)(n,a),[u,c]=r.useState(null),{trigger:f,onClose:d}=o,p=a.current,{onPointerInTransitChange:m}=l,g=r.useCallback(()=>{c(null),m(!1)},[m]),h=r.useCallback((e,t)=>{let r,n=e.currentTarget,i={x:e.clientX,y:e.clientY},o=function(e,t){let r=Math.abs(t.top-e.y),n=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),o=Math.abs(t.left-e.x);switch(Math.min(r,n,i,o)){case o:return"left";case i:return"right";case r:return"top";case n:return"bottom";default:throw Error("unreachable")}}(i,n.getBoundingClientRect());c(((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}(i,o),...function(e){let{top:t,right:r,bottom:n,left:i}=e;return[{x:i,y:t},{x:r,y:t},{x:r,y:n},{x:i,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))),m(!0)},[m]);return r.useEffect(()=>()=>g(),[g]),r.useEffect(()=>{if(f&&p){let e=e=>h(e,p),t=e=>h(e,f);return f.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{f.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[f,p,h,g]),r.useEffect(()=>{if(u){let e=e=>{let t=e.target,r={x:e.clientX,y:e.clientY},n=f?.contains(t)||p?.contains(t),i=!function(e,t){let{x:r,y:n}=e,i=!1;for(let e=0,o=t.length-1;e<t.length;o=e++){let l=t[e],a=t[o],s=l.x,u=l.y,c=a.x,f=a.y;u>n!=f>n&&r<(c-s)*(n-u)/(f-u)+s&&(i=!i)}return i}(r,u);n?g():i&&(g(),d())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[f,p,u,d,g]),(0,t.jsx)(H,{...e,ref:s})}),[z,F]=w(O,{isInside:!1}),V=(0,d.createSlottable)("TooltipContent"),H=r.forwardRef((e,n)=>{let{__scopeTooltip:i,children:o,"aria-label":a,onEscapeKeyDown:u,onPointerDownOutside:c,...f}=e,d=j(I,i),p=x(i),{onClose:m}=d;return r.useEffect(()=>(document.addEventListener(C,m),()=>document.removeEventListener(C,m)),[m]),r.useEffect(()=>{if(d.trigger){let e=e=>{let t=e.target;t?.contains(d.trigger)&&m()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[d.trigger,m]),(0,t.jsx)(l.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:u,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:m,children:(0,t.jsxs)(s.Content,{"data-state":d.stateAttribute,...p,...f,ref:n,style:{...f.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,t.jsx)(V,{children:o}),(0,t.jsx)(z,{scope:i,isInside:!0,children:(0,t.jsx)(v,{id:d.contentId,role:"tooltip",children:a||o})})]})})});k.displayName=I;var B="TooltipArrow",U=r.forwardRef((e,r)=>{let{__scopeTooltip:n,...i}=e,o=x(n);return F(B,n).isInside?null:(0,t.jsx)(s.Arrow,{...o,...i,ref:r})});U.displayName=B;var q=e.i(555552);function X({delayDuration:e=0,...r}){return(0,t.jsx)(S,{"data-slot":"tooltip-provider",delayDuration:e,...r})}function Y({...e}){return(0,t.jsx)(X,{children:(0,t.jsx)(T,{"data-slot":"tooltip",...e})})}function G({...e}){return(0,t.jsx)(N,{"data-slot":"tooltip-trigger",...e})}function Z({className:e,sideOffset:r=0,children:n,...i}){return(0,t.jsx)($,{children:(0,t.jsxs)(k,{"data-slot":"tooltip-content",sideOffset:r,className:(0,q.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",e),...i,children:[n,(0,t.jsx)(U,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}e.s(["Tooltip",()=>Y,"TooltipContent",()=>Z,"TooltipProvider",()=>X,"TooltipTrigger",()=>G],87614)},353913,(e,t,r)=>{t.exports=e.r(387603)},475069,(e,t,r)=>{"use strict";function n({widthInt:e,heightInt:t,blurWidth:r,blurHeight:n,blurDataURL:i,objectFit:o}){let l=r?40*r:e,a=n?40*n:t,s=l&&a?`viewBox='0 0 ${l} ${a}'`:"";return`%3Csvg xmlns='http://www.w3.org/2000/svg' ${s}%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='20'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='${s?"none":"contain"===o?"xMidYMid":"cover"===o?"xMidYMid slice":"none"}' style='filter: url(%23b);' href='${i}'/%3E%3C/svg%3E`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImageBlurSvg",{enumerable:!0,get:function(){return n}})},652652,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={VALID_LOADERS:function(){return o},imageConfigDefault:function(){return l}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["default","imgix","cloudinary","akamai","custom"],l={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:14400,formats:["image/webp"],maximumRedirects:3,dangerouslyAllowLocalIP:!1,dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:[75],unoptimized:!1}},272420,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getImgProps",{enumerable:!0,get:function(){return u}}),e.r(819609);let n=e.r(596691),i=e.r(475069),o=e.r(652652),l=["-moz-initial","fill","none","scale-down",void 0];function a(e){return void 0!==e.default}function s(e){return void 0===e?e:"number"==typeof e?Number.isFinite(e)?e:NaN:"string"==typeof e&&/^[0-9]+$/.test(e)?parseInt(e,10):NaN}function u({src:e,sizes:t,unoptimized:r=!1,priority:u=!1,preload:c=!1,loading:f,className:d,quality:p,width:m,height:g,fill:h=!1,style:y,overrideSrc:v,onLoad:w,onLoadingComplete:b,placeholder:x="empty",blurDataURL:E,fetchPriority:C,decoding:R="async",layout:P,objectFit:S,objectPosition:O,lazyBoundary:_,lazyRoot:j,...T},A){var N;let L,D,M,{imgConf:$,showAltText:I,blurComplete:k,defaultLoader:W}=A,z=$||o.imageConfigDefault;if("allSizes"in z)L=z;else{let e=[...z.deviceSizes,...z.imageSizes].sort((e,t)=>e-t),t=z.deviceSizes.sort((e,t)=>e-t),r=z.qualities?.sort((e,t)=>e-t);L={...z,allSizes:e,deviceSizes:t,qualities:r}}if(void 0===W)throw Object.defineProperty(Error("images.loaderFile detected but the file is missing default export.\nRead more: https://nextjs.org/docs/messages/invalid-images-config"),"__NEXT_ERROR_CODE",{value:"E163",enumerable:!1,configurable:!0});let F=T.loader||W;delete T.loader,delete T.srcSet;let V="__next_img_default"in F;if(V){if("custom"===L.loader)throw Object.defineProperty(Error(`Image with src "${e}" is missing "loader" prop.
2
+ Read more: https://nextjs.org/docs/messages/next-image-missing-loader`),"__NEXT_ERROR_CODE",{value:"E252",enumerable:!1,configurable:!0})}else{let e=F;F=t=>{let{config:r,...n}=t;return e(n)}}if(P){"fill"===P&&(h=!0);let e={intrinsic:{maxWidth:"100%",height:"auto"},responsive:{width:"100%",height:"auto"}}[P];e&&(y={...y,...e});let r={responsive:"100vw",fill:"100vw"}[P];r&&!t&&(t=r)}let H="",B=s(m),U=s(g);if((N=e)&&"object"==typeof N&&(a(N)||void 0!==N.src)){let t=a(e)?e.default:e;if(!t.src)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E460",enumerable:!1,configurable:!0});if(!t.height||!t.width)throw Object.defineProperty(Error(`An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received ${JSON.stringify(t)}`),"__NEXT_ERROR_CODE",{value:"E48",enumerable:!1,configurable:!0});if(D=t.blurWidth,M=t.blurHeight,E=E||t.blurDataURL,H=t.src,!h)if(B||U){if(B&&!U){let e=B/t.width;U=Math.round(t.height*e)}else if(!B&&U){let e=U/t.height;B=Math.round(t.width*e)}}else B=t.width,U=t.height}let q=!u&&!c&&("lazy"===f||void 0===f);(!(e="string"==typeof e?e:H)||e.startsWith("data:")||e.startsWith("blob:"))&&(r=!0,q=!1),L.unoptimized&&(r=!0),V&&!L.dangerouslyAllowSVG&&e.split("?",1)[0].endsWith(".svg")&&(r=!0);let X=s(p),Y=Object.assign(h?{position:"absolute",height:"100%",width:"100%",left:0,top:0,right:0,bottom:0,objectFit:S,objectPosition:O}:{},I?{}:{color:"transparent"},y),G=k||"empty"===x?null:"blur"===x?`url("data:image/svg+xml;charset=utf-8,${(0,i.getImageBlurSvg)({widthInt:B,heightInt:U,blurWidth:D,blurHeight:M,blurDataURL:E||"",objectFit:Y.objectFit})}")`:`url("${x}")`,Z=l.includes(Y.objectFit)?"fill"===Y.objectFit?"100% 100%":"cover":Y.objectFit,J=G?{backgroundSize:Z,backgroundPosition:Y.objectPosition||"50% 50%",backgroundRepeat:"no-repeat",backgroundImage:G}:{},K=function({config:e,src:t,unoptimized:r,width:i,quality:o,sizes:l,loader:a}){if(r){let e=(0,n.getDeploymentId)();if(t.startsWith("/")&&!t.startsWith("//")&&e){let r=t.includes("?")?"&":"?";t=`${t}${r}dpl=${e}`}return{src:t,srcSet:void 0,sizes:void 0}}let{widths:s,kind:u}=function({deviceSizes:e,allSizes:t},r,n){if(n){let r=/(^|\s)(1?\d?\d)vw/g,i=[];for(let e;e=r.exec(n);)i.push(parseInt(e[2]));if(i.length){let r=.01*Math.min(...i);return{widths:t.filter(t=>t>=e[0]*r),kind:"w"}}return{widths:t,kind:"w"}}return"number"!=typeof r?{widths:e,kind:"w"}:{widths:[...new Set([r,2*r].map(e=>t.find(t=>t>=e)||t[t.length-1]))],kind:"x"}}(e,i,l),c=s.length-1;return{sizes:l||"w"!==u?l:"100vw",srcSet:s.map((r,n)=>`${a({config:e,src:t,quality:o,width:r})} ${"w"===u?r:n+1}${u}`).join(", "),src:a({config:e,src:t,quality:o,width:s[c]})}}({config:L,src:e,unoptimized:r,width:B,quality:X,sizes:t,loader:F}),Q=q?"lazy":f;return{props:{...T,loading:Q,fetchPriority:C,width:B,height:U,decoding:R,className:d,style:{...Y,...J},sizes:K.sizes,srcSet:K.srcSet,src:v||K.src},meta:{unoptimized:r,preload:c||u,placeholder:x,fill:h}}}},516648,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return a}});let n=e.r(430878),i="u"<typeof window,o=i?()=>{}:n.useLayoutEffect,l=i?()=>{}:n.useEffect;function a(e){let{headManager:t,reduceComponentsToState:r}=e;function a(){if(t&&t.mountedInstances){let e=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(e))}}return i&&(t?.mountedInstances?.add(e.children),a()),o(()=>(t?.mountedInstances?.add(e.children),()=>{t?.mountedInstances?.delete(e.children)})),o(()=>(t&&(t._pendingUpdate=a),()=>{t&&(t._pendingUpdate=a)})),l(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},513484,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},defaultHead:function(){return f}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(963212),l=e.r(279510),a=e.r(414294),s=l._(e.r(430878)),u=o._(e.r(516648)),c=e.r(456890);function f(){return[(0,a.jsx)("meta",{charSet:"utf-8"},"charset"),(0,a.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")]}function d(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}e.r(819609);let p=["name","httpEquiv","charSet","itemProp"];function m(e){let t,r,n,i;return e.reduce(d,[]).reverse().concat(f().reverse()).filter((t=new Set,r=new Set,n=new Set,i={},e=>{let o=!0,l=!1;if(e.key&&"number"!=typeof e.key&&e.key.indexOf("$")>0){l=!0;let r=e.key.slice(e.key.indexOf("$")+1);t.has(r)?o=!1:t.add(r)}switch(e.type){case"title":case"base":r.has(e.type)?o=!1:r.add(e.type);break;case"meta":for(let t=0,r=p.length;t<r;t++){let r=p[t];if(e.props.hasOwnProperty(r))if("charSet"===r)n.has(r)?o=!1:n.add(r);else{let t=e.props[r],n=i[r]||new Set;("name"!==r||!l)&&n.has(t)?o=!1:(n.add(t),i[r]=n)}}}return o})).reverse().map((e,t)=>{let r=e.key||t;return s.default.cloneElement(e,{key:r})})}let g=function({children:e}){let t=(0,s.useContext)(c.HeadManagerContext);return(0,a.jsx)(u.default,{reduceComponentsToState:m,headManager:t,children:e})};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},961273,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ImageConfigContext",{enumerable:!0,get:function(){return o}});let n=e.r(963212)._(e.r(430878)),i=e.r(652652),o=n.default.createContext(i.imageConfigDefault)},689832,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RouterContext",{enumerable:!0,get:function(){return n}});let n=e.r(963212)._(e.r(430878)).default.createContext(null)},485952,(e,t,r)=>{"use strict";function n(e,t){let r=e||75;return t?.qualities?.length?t.qualities.reduce((e,t)=>Math.abs(t-r)<Math.abs(e-r)?t:e,0):r}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findClosestQuality",{enumerable:!0,get:function(){return n}})},51393,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return l}});let n=e.r(485952),i=e.r(596691);function o({config:e,src:t,width:r,quality:o}){if(t.startsWith("/")&&t.includes("?")&&e.localPatterns?.length===1&&"**"===e.localPatterns[0].pathname&&""===e.localPatterns[0].search)throw Object.defineProperty(Error(`Image with src "${t}" is using a query string which is not configured in images.localPatterns.
3
+ Read more: https://nextjs.org/docs/messages/next-image-unconfigured-localpatterns`),"__NEXT_ERROR_CODE",{value:"E871",enumerable:!1,configurable:!0});let l=(0,n.findClosestQuality)(o,e),a=(0,i.getDeploymentId)();return`${e.path}?url=${encodeURIComponent(t)}&w=${r}&q=${l}${t.startsWith("/")&&a?`&dpl=${a}`:""}`}o.__next_img_default=!0;let l=o},169537,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"Image",{enumerable:!0,get:function(){return b}});let n=e.r(963212),i=e.r(279510),o=e.r(414294),l=i._(e.r(430878)),a=n._(e.r(773340)),s=n._(e.r(513484)),u=e.r(272420),c=e.r(652652),f=e.r(961273);e.r(819609);let d=e.r(689832),p=n._(e.r(51393)),m=e.r(215232),g={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1};function h(e,t,r,n,i,o,l){let a=e?.src;e&&e["data-loaded-src"]!==a&&(e["data-loaded-src"]=a,("decode"in e?e.decode():Promise.resolve()).catch(()=>{}).then(()=>{if(e.parentElement&&e.isConnected){if("empty"!==t&&i(!0),r?.current){let t=new Event("load");Object.defineProperty(t,"target",{writable:!1,value:e});let n=!1,i=!1;r.current({...t,nativeEvent:t,currentTarget:e,target:e,isDefaultPrevented:()=>n,isPropagationStopped:()=>i,persist:()=>{},preventDefault:()=>{n=!0,t.preventDefault()},stopPropagation:()=>{i=!0,t.stopPropagation()}})}n?.current&&n.current(e)}}))}function y(e){return l.use?{fetchPriority:e}:{fetchpriority:e}}"u"<typeof window&&(globalThis.__NEXT_IMAGE_IMPORTED=!0);let v=(0,l.forwardRef)(({src:e,srcSet:t,sizes:r,height:n,width:i,decoding:a,className:s,style:u,fetchPriority:c,placeholder:f,loading:d,unoptimized:p,fill:g,onLoadRef:v,onLoadingCompleteRef:w,setBlurComplete:b,setShowAltText:x,sizesInput:E,onLoad:C,onError:R,...P},S)=>{let O=(0,l.useCallback)(e=>{e&&(R&&(e.src=e.src),e.complete&&h(e,f,v,w,b,p,E))},[e,f,v,w,b,R,p,E]),_=(0,m.useMergedRef)(S,O);return(0,o.jsx)("img",{...P,...y(c),loading:d,width:i,height:n,decoding:a,"data-nimg":g?"fill":"1",className:s,style:u,sizes:r,srcSet:t,src:e,ref:_,onLoad:e=>{h(e.currentTarget,f,v,w,b,p,E)},onError:e=>{x(!0),"empty"!==f&&b(!0),R&&R(e)}})});function w({isAppRouter:e,imgAttributes:t}){let r={as:"image",imageSrcSet:t.srcSet,imageSizes:t.sizes,crossOrigin:t.crossOrigin,referrerPolicy:t.referrerPolicy,...y(t.fetchPriority)};return e&&a.default.preload?(a.default.preload(t.src,r),null):(0,o.jsx)(s.default,{children:(0,o.jsx)("link",{rel:"preload",href:t.srcSet?void 0:t.src,...r},"__nimg-"+t.src+t.srcSet+t.sizes)})}let b=(0,l.forwardRef)((e,t)=>{let r=(0,l.useContext)(d.RouterContext),n=(0,l.useContext)(f.ImageConfigContext),i=(0,l.useMemo)(()=>{let e=g||n||c.imageConfigDefault,t=[...e.deviceSizes,...e.imageSizes].sort((e,t)=>e-t),r=e.deviceSizes.sort((e,t)=>e-t),i=e.qualities?.sort((e,t)=>e-t);return{...e,allSizes:t,deviceSizes:r,qualities:i,localPatterns:"u"<typeof window?n?.localPatterns:e.localPatterns}},[n]),{onLoad:a,onLoadingComplete:s}=e,m=(0,l.useRef)(a);(0,l.useEffect)(()=>{m.current=a},[a]);let h=(0,l.useRef)(s);(0,l.useEffect)(()=>{h.current=s},[s]);let[y,b]=(0,l.useState)(!1),[x,E]=(0,l.useState)(!1),{props:C,meta:R}=(0,u.getImgProps)(e,{defaultLoader:p.default,imgConf:i,blurComplete:y,showAltText:x});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(v,{...C,unoptimized:R.unoptimized,placeholder:R.placeholder,fill:R.fill,onLoadRef:m,onLoadingCompleteRef:h,setBlurComplete:b,setShowAltText:E,sizesInput:e.sizes,ref:t}),R.preload?(0,o.jsx)(w,{isAppRouter:!r,imgAttributes:C}):null]})});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},141628,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return c},getImageProps:function(){return u}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(963212),l=e.r(272420),a=e.r(169537),s=o._(e.r(51393));function u(e){let{props:t}=(0,l.getImgProps)(e,{defaultLoader:s.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[32,48,64,96,128,256,384],qualities:[75],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(t))void 0===r&&delete t[e];return{props:t}}let c=a.Image},292623,(e,t,r)=>{t.exports=e.r(141628)},992421,e=>{"use strict";function t(e,[t,r]){return Math.min(r,Math.max(t,e))}e.s(["clamp",()=>t])},542899,e=>{"use strict";var t=e.i(430878);e.i(414294);var r=t.createContext(void 0);function n(e){let n=t.useContext(r);return e||n||"ltr"}e.s(["useDirection",()=>n])}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,138134,e=>{"use strict";var s=e.i(414294),t=e.i(529757),a=e.i(430878),i=e.i(353913),r=e.i(504561),l=e.i(292623),n=e.i(996720),d=e.i(667249),c=e.i(904781),o=e.i(461957),x=e.i(816187),m=e.i(292511);let h=(0,m.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var u=e.i(220563),p=e.i(846193),j=e.i(719583),g=e.i(707387),f=e.i(991234),N=e.i(775377);let v=(0,m.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]);var b=e.i(79092),y=e.i(372379),k=e.i(266514);let S=(0,m.default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]),T=(0,m.default)("sliders-vertical",[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]]);var C=e.i(928574),w=e.i(666904),z=e.i(836191),M=e.i(77982),P=e.i(634066),L=e.i(865259),A=e.i(553880),D=e.i(87614),B=e.i(524741),I=e.i(455706),$=e.i(743053),F=e.i(739963),E=e.i(555552),q=e.i(300739),O=e.i(335130);function V(){let e,m,V,K,R,U=(0,i.useRouter)(),W=(0,i.usePathname)(),{state:H,toggleSidebar:J}=(0,t.useSidebar)(),{sessions:G,isLoading:X}=(0,q.useSessions)(),[Y,_]=(0,a.useState)(!1),[Q,Z]=(0,a.useState)(!1),[ee,es]=(0,a.useState)(!1),[et,ea]=(0,a.useState)(null),[ei,er]=(0,a.useState)(null),el=(0,a.useRef)(null),[en,ed]=(0,a.useState)(""),[ec,eo]=(0,a.useState)(""),[ex,em]=(0,a.useState)({}),[eh,eu]=(0,a.useState)(!1),[ep,ej]=(0,a.useState)(""),eg={type:"object",properties:{},required:[]},[ef,eN]=(0,a.useState)(eg),[ev,eb]=(0,a.useState)(""),[ey,ek]=(0,a.useState)(""),[eS,eT]=(0,a.useState)(""),[eC,ew]=(0,a.useState)(""),[ez,eM]=(0,a.useState)("50"),[eP,eL]=(0,a.useState)(!1),[eA,eD]=(0,a.useState)([]),[eB,eI]=(0,a.useState)(null),[e$,eF]=(0,a.useState)(""),[eE,eq]=(0,a.useState)(!1),[eO,eV]=(0,a.useState)(!1),{enabled:eK,setEnabled:eR}=(0,O.useNotificationSound)(),eU=W.startsWith("/session/")?W.split("/session/")[1]:null,eW="/session",eH=G.some(e=>e.isStreaming),eJ=async()=>{let e=await (0,F.getConfig)();ea(e),eo(e.defaultModel),em(e.defaultToolApprovals)},eG=async()=>{try{let e=await (0,B.getApiKeys)();eD(e.providers)}catch(e){console.error("Failed to load API keys:",e)}};(0,a.useEffect)(()=>{eJ(),eG()},[]),(0,a.useEffect)(()=>{ee&&eG()},[ee]);let eX=async e=>{if(e$.trim()){eV(!0);try{await (0,B.setApiKey)(e,e$),await eG(),eI(null),eF(""),eq(!1)}catch(e){console.error("Failed to save API key:",e)}finally{eV(!1)}}},eY=()=>{eI(null),eF(""),eq(!1)};(0,a.useEffect)(()=>{el.current&&(eH?el.current.play().catch(()=>{}):(el.current.pause(),el.current.currentTime=0))},[eH]);let e_=async()=>{if(!Y){_(!0);try{let e=await (0,B.createSession)({name:`Session ${G.length+1}`,model:et?.defaultModel||"anthropic/claude-opus-4.7",toolApprovals:ex});(0,q.mutateSessions)(),U.push(`${eW}/${e.id}`)}catch(e){console.error("Failed to create session:",e)}finally{_(!1)}}},eQ=async()=>{_(!0);try{let e=await (0,B.createSession)({name:en||`Session ${G.length+1}`,model:ec,toolApprovals:ex});(0,q.mutateSessions)(),eZ(),Z(!1),U.push(`${eW}/${e.id}`)}catch(e){console.error("Failed to create session:",e)}finally{_(!1)}},eZ=()=>{ed(""),et&&(eo(et.defaultModel),em(et.defaultToolApprovals))},e0=()=>{ej(""),eN(eg),eb(""),ek(""),eT(""),ew(et?.defaultModel||""),eM("50")},e1=async()=>{if(ep.trim()){if(eb(""),!ef||"object"!=typeof ef)return void eb("Schema must be a JSON object");eL(!0);try{let e=await (0,B.createTask)({prompt:ep,outputSchema:ef,webhookUrl:ey||void 0,model:eC||et?.defaultModel,name:eS||void 0,maxIterations:parseInt(ez)||50});(0,q.mutateSessions)(),eu(!1),e0(),U.push(`${eW}/${e.taskId}`)}catch(e){console.error("Failed to create task:",e)}finally{eL(!1)}}},e5=async(e,s)=>{e.preventDefault(),e.stopPropagation();try{await (0,B.deleteSession)(s),(0,q.mutateSessions)(),eU===s&&U.push("/")}catch(e){console.error("Failed to delete session:",e)}},e2=e=>{em(s=>({...s,[e]:!s[e]}))},e4="collapsed"===H;return(0,s.jsxs)(t.Sidebar,{collapsible:"icon",className:"border-r border-border/50",children:[(0,s.jsxs)(t.SidebarHeader,{className:(0,E.cn)(e4?"p-2 space-y-2":"p-3 space-y-3"),children:[!e4&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsxs)("div",{className:"relative shrink-0 overflow-hidden rounded-xl size-10 shadow-md ring-1 ring-white/10",children:[(0,s.jsx)(l.default,{src:"/sparke-coder.png",alt:"Sparke",width:40,height:40,className:"absolute inset-0 size-full object-cover",priority:!0}),(0,s.jsx)("video",{ref:el,src:"/sparkecode.mp4",muted:!0,loop:!0,playsInline:!0,className:(0,E.cn)("absolute inset-0 size-full object-cover transition-opacity duration-300",eH?"opacity-100":"opacity-0")})]}),(0,s.jsxs)("div",{className:"flex flex-1 items-center justify-between min-w-0",children:[(0,s.jsx)("h1",{className:"text-lg font-bold text-foreground",children:"SparkECoder"}),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(w.Button,{size:"icon",variant:"ghost",className:"size-7 hover:bg-accent transition-colors",onClick:J,children:(0,s.jsx)(h,{className:"size-4"})})}),(0,s.jsxs)(D.TooltipContent,{side:"bottom",children:["Collapse ",(0,s.jsx)("kbd",{className:"ml-1 text-[10px] opacity-60",children:"⌘B"})]})]})})]})]}),(e=G.find(e=>"orchestrator"===e.role),V=(m=G.filter(e=>"worker"===e.role)).filter(e=>"needs_attention"===e.agentStatus).length,K=m.filter(e=>"running"===e.agentStatus).length,(0,s.jsxs)("div",{className:"flex flex-col gap-1 w-full",children:[(0,s.jsxs)(r.default,{href:e?`/session/${e.id}`:"#",className:(0,E.cn)("flex items-center gap-2 px-2 py-1.5 rounded-md text-sm transition-colors",W.startsWith("/session/")&&e&&W.includes(e.id)?"bg-accent text-foreground":"hover:bg-accent/60 text-foreground/80"),children:[(0,s.jsx)(k.Bot,{className:"size-4 text-primary shrink-0"}),(0,s.jsx)("span",{className:"flex-1 truncate",children:"Orchestrator"}),e?.isStreaming&&(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500 animate-pulse"})]}),(0,s.jsxs)(r.default,{href:"/agents",className:(0,E.cn)("flex items-center gap-2 px-2 py-1.5 rounded-md text-sm transition-colors","/agents"===W?"bg-accent text-foreground":"hover:bg-accent/60 text-foreground/80"),children:[(0,s.jsx)(S,{className:"size-4 text-muted-foreground shrink-0"}),(0,s.jsx)("span",{className:"flex-1 truncate",children:"Agents"}),(0,s.jsx)("span",{className:"text-[10px] text-muted-foreground tabular-nums",children:m.length}),V>0&&(0,s.jsxs)("span",{className:"text-[10px] px-1 rounded bg-amber-500/20 text-amber-600 dark:text-amber-300 tabular-nums",children:[V,"!"]}),K>0&&0===V&&(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-emerald-500 animate-pulse"})]}),(0,s.jsxs)(r.default,{href:"/settings",className:(0,E.cn)("flex items-center gap-2 px-2 py-1.5 rounded-md text-sm transition-colors","/settings"===W?"bg-accent text-foreground":"hover:bg-accent/60 text-foreground/80"),children:[(0,s.jsx)(T,{className:"size-4 text-muted-foreground shrink-0"}),(0,s.jsx)("span",{className:"flex-1 truncate",children:"Settings"})]})]})),(0,s.jsxs)("div",{className:"flex gap-2 w-full",children:[(0,s.jsxs)(w.Button,{onClick:e_,disabled:Y,className:"flex-1 justify-center gap-2 h-9",children:[Y?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin"}):(0,s.jsx)(n.Plus,{className:"size-4"}),"New Agent"]}),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(w.Button,{variant:"outline",onClick:()=>{et||eJ(),eu(!0)},className:"h-9 px-2.5",children:(0,s.jsx)(b.ListChecks,{className:"size-4"})})}),(0,s.jsx)(D.TooltipContent,{side:"bottom",children:"New Task"})]})})]})]}),e4&&(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 w-full",children:[(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(w.Button,{size:"icon",variant:"ghost",onClick:J,className:"size-8 mx-auto",children:(0,s.jsx)(u.PanelLeft,{className:"size-4"})})}),(0,s.jsxs)(D.TooltipContent,{side:"right",children:["Expand ",(0,s.jsx)("kbd",{className:"ml-1 text-[10px] opacity-60",children:"⌘B"})]})]})}),(0,s.jsxs)("div",{className:"relative overflow-hidden rounded-xl size-8 shadow-md ring-1 ring-white/10 mx-auto",children:[(0,s.jsx)(l.default,{src:"/sparke-coder.png",alt:"SparkECoder",width:32,height:32,className:"absolute inset-0 size-full object-cover",priority:!0}),(0,s.jsx)("video",{ref:el,src:"/sparkecode.mp4",muted:!0,loop:!0,playsInline:!0,className:(0,E.cn)("absolute inset-0 size-full object-cover transition-opacity duration-300",eH?"opacity-100":"opacity-0")})]}),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(w.Button,{size:"icon",onClick:e_,disabled:Y,className:"size-8 mx-auto",children:Y?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin"}):(0,s.jsx)(n.Plus,{className:"size-4"})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:"New Agent"})]})}),(R=G.find(e=>"orchestrator"===e.role),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(r.default,{href:R?`/session/${R.id}`:"#",className:"size-8 mx-auto inline-flex items-center justify-center rounded-md hover:bg-accent",children:(0,s.jsx)(k.Bot,{className:"size-4 text-primary"})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:"Orchestrator"})]})})),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(r.default,{href:"/agents",className:"size-8 mx-auto inline-flex items-center justify-center rounded-md hover:bg-accent",children:(0,s.jsx)(S,{className:"size-4"})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:"Agents board"})]})}),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(r.default,{href:"/settings",className:"size-8 mx-auto inline-flex items-center justify-center rounded-md hover:bg-accent",children:(0,s.jsx)(T,{className:"size-4"})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:"Settings"})]})}),(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(w.Button,{size:"icon",variant:"outline",onClick:()=>{et||eJ(),eu(!0)},className:"size-8 mx-auto",children:(0,s.jsx)(b.ListChecks,{className:"size-4"})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:"New Task"})]})})]})]}),(0,s.jsx)(z.Dialog,{open:Q,onOpenChange:e=>{Z(e),e&&eZ()},children:(0,s.jsxs)(z.DialogContent,{className:"sm:max-w-md",children:[(0,s.jsx)(z.DialogHeader,{children:(0,s.jsxs)(z.DialogTitle,{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"size-8 rounded-lg bg-primary flex items-center justify-center",children:(0,s.jsx)(x.Settings,{className:"size-4 text-primary-foreground"})}),"New Agent"]})}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{htmlFor:"name",className:"text-sm font-medium",children:"Session Name"}),(0,s.jsx)(M.Input,{id:"name",placeholder:"My Coding Project (optional)",value:en,onChange:e=>ed(e.target.value),className:"transition-all focus:ring-2 focus:ring-primary/20"})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{className:"text-sm font-medium",children:"Model"}),(0,s.jsxs)(A.Select,{value:ec,onValueChange:eo,children:[(0,s.jsx)(A.SelectTrigger,{className:"transition-all hover:border-primary/50",children:(0,s.jsx)(A.SelectValue,{placeholder:"Select a model"})}),(0,s.jsx)(A.SelectContent,{children:et?.availableModels.map(e=>(0,s.jsx)(A.SelectItem,{value:e.id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.provider})]})},e.id))})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(P.Label,{className:"flex items-center gap-2 text-sm font-medium",children:"Tool Approvals"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground -mt-0.5",children:"Toggle on to require approval before tool executes"}),(0,s.jsx)("div",{className:"space-y-1 rounded-lg border p-2.5 bg-muted/30",children:et?.availableTools.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between py-1.5 hover:bg-muted/50 rounded px-2 -mx-1 transition-colors",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),e.dangerous&&(0,s.jsx)("span",{className:"text-[10px] bg-amber-500/20 text-amber-600 dark:text-amber-400 px-1.5 py-0.5 rounded font-medium",children:"risky"})]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:e.description})]}),(0,s.jsx)(L.Switch,{checked:ex[e.id]??!1,onCheckedChange:()=>e2(e.id)})]},e.id))})]}),(0,s.jsxs)(w.Button,{onClick:eQ,disabled:Y,className:"w-full",children:[Y?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin mr-2"}):(0,s.jsx)(n.Plus,{className:"size-4 mr-2"}),"Create Session"]})]})]})}),(0,s.jsx)(z.Dialog,{open:eh,onOpenChange:e=>{eu(e),e&&e0()},children:(0,s.jsxs)(z.DialogContent,{className:"sm:max-w-lg",children:[(0,s.jsx)(z.DialogHeader,{children:(0,s.jsxs)(z.DialogTitle,{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"size-8 rounded-lg bg-blue-600 flex items-center justify-center",children:(0,s.jsx)(b.ListChecks,{className:"size-4 text-white"})}),"New Task"]})}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{htmlFor:"task-prompt",className:"text-sm font-medium",children:"What should the agent do?"}),(0,s.jsx)(I.Textarea,{id:"task-prompt",placeholder:"e.g. Refactor the auth module to use JWT tokens...",value:ep,onChange:e=>ej(e.target.value),rows:3,autoFocus:!0})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{className:"text-sm font-medium",children:"Expected output shape"}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground -mt-0.5",children:"Define the JSON structure the agent must return"}),(0,s.jsx)("div",{className:(0,E.cn)("rounded-md border bg-muted/30 overflow-hidden transition-colors",ev&&"border-red-500"),children:(0,s.jsx)($.VisualJson,{value:ef,onChange:e=>{eN(e),eb("")},children:(0,s.jsx)($.TreeView,{className:"h-44 text-sm"})})}),ev&&(0,s.jsx)("p",{className:"text-xs text-red-500 mt-1",children:ev})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{className:"text-xs text-muted-foreground",children:"Model"}),(0,s.jsxs)(A.Select,{value:eC,onValueChange:ew,children:[(0,s.jsx)(A.SelectTrigger,{className:"h-9",children:(0,s.jsx)(A.SelectValue,{placeholder:"Select a model"})}),(0,s.jsx)(A.SelectContent,{children:et?.availableModels.map(e=>(0,s.jsx)(A.SelectItem,{value:e.id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.provider})]})},e.id))})]})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{htmlFor:"task-name",className:"text-xs text-muted-foreground",children:"Name"}),(0,s.jsx)(M.Input,{id:"task-name",placeholder:"Optional",value:eS,onChange:e=>eT(e.target.value),className:"h-9"})]})]}),(0,s.jsxs)("details",{className:"group",children:[(0,s.jsxs)("summary",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer select-none hover:text-foreground transition-colors",children:[(0,s.jsx)(y.ChevronDown,{className:"size-3 transition-transform group-open:rotate-180"}),"Advanced"]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3 pt-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{htmlFor:"task-webhook",className:"text-xs text-muted-foreground",children:"Webhook URL"}),(0,s.jsx)(M.Input,{id:"task-webhook",placeholder:"https://...",value:ey,onChange:e=>ek(e.target.value),className:"h-9"})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{htmlFor:"task-iterations",className:"text-xs text-muted-foreground",children:"Max iterations"}),(0,s.jsx)(M.Input,{id:"task-iterations",type:"number",min:1,max:500,value:ez,onChange:e=>eM(e.target.value),className:"h-9"})]})]})]}),(0,s.jsx)(w.Button,{onClick:e1,disabled:eP||!ep.trim(),className:"w-full",children:eP?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin mr-2"}),"Creating..."]}):"Start Task"})]})]})}),(0,s.jsx)(t.SidebarContent,{className:"px-2",children:(0,s.jsx)(t.SidebarGroup,{className:"p-0",children:(0,s.jsx)(t.SidebarGroupContent,{children:(0,s.jsx)(t.SidebarMenu,{className:"gap-1",children:X?(0,s.jsx)("div",{className:"flex justify-center py-8",children:(0,s.jsx)(o.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):0===G.filter(e=>"orchestrator"!==e.role).length?!e4&&(0,s.jsxs)("div",{className:"text-center py-8 px-4",children:[(0,s.jsxs)("div",{className:"relative overflow-hidden rounded-xl size-12 mx-auto mb-3 shadow-md ring-1 ring-white/10",children:[(0,s.jsx)(l.default,{src:"/sparke-coder.png",alt:"SparkECoder",width:48,height:48,className:"absolute inset-0 size-full object-cover"}),eH&&(0,s.jsx)("video",{src:"/sparkecode.mp4",autoPlay:!0,muted:!0,loop:!0,playsInline:!0,className:"absolute inset-0 size-full object-cover"})]}),(0,s.jsx)("p",{className:"text-sm text-foreground",children:"No sessions yet"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Click New Agent above"})]}):G.filter(e=>"orchestrator"!==e.role).map(e=>{let a,i,l,n,o=e.id===eU,x=ei===e.id,m=!0===e.isStreaming,h=!e4&&(x||o);return(0,s.jsx)(t.SidebarMenuItem,{onMouseEnter:()=>er(e.id),onMouseLeave:()=>er(null),children:e4?(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(r.default,{href:`${eW}/${e.id}`,className:(0,E.cn)("flex items-center justify-center size-8 rounded-lg transition-colors mx-auto",o?"bg-accent":"hover:bg-accent/60",m&&!o&&"bg-emerald-500/10"),children:m?(0,s.jsx)("span",{className:"size-2 rounded-full bg-emerald-500 animate-pulse"}):(0,s.jsx)(d.MessageSquare,{className:(0,E.cn)("size-4",o?"text-primary":"text-muted-foreground")})})}),(0,s.jsxs)(D.TooltipContent,{side:"right",children:[e.name||"Untitled",m&&" (Running)"]})]})}):(0,s.jsx)(t.SidebarMenuButton,{asChild:!0,isActive:o,className:(0,E.cn)("h-9 transition-all duration-150","hover:bg-accent/60",o&&"bg-accent",m&&!o&&"bg-emerald-500/5"),children:(0,s.jsxs)(r.default,{href:`${eW}/${e.id}`,className:"flex items-center gap-2.5 px-2",children:[m?(0,s.jsx)("span",{className:"size-2 rounded-full bg-emerald-500 animate-pulse shrink-0"}):(0,s.jsx)(d.MessageSquare,{className:(0,E.cn)("size-4 shrink-0",o?"text-primary":"text-muted-foreground")}),(0,s.jsx)("span",{className:(0,E.cn)("truncate flex-1 text-sm",m&&"text-emerald-600 dark:text-emerald-400"),children:e.name||"Untitled"}),e.config?.task?.enabled&&(0,s.jsxs)(C.Badge,{variant:"outline",className:(0,E.cn)("shrink-0 text-[10px] px-1.5 py-0 h-4 font-medium gap-1","completed"===e.config.task.status&&"border-emerald-500/30 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400","failed"===e.config.task.status&&"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400","running"===e.config.task.status&&"border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400"),children:[(0,s.jsx)(b.ListChecks,{className:"size-2.5"}),"Task"]}),h?(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(w.Button,{size:"icon",variant:"ghost",className:"size-6 shrink-0 hover:bg-destructive/10 hover:text-destructive transition-colors",onClick:s=>e5(s,e.id),children:(0,s.jsx)(c.Trash2,{className:"size-3.5"})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:"Delete session"})]})}):m&&!e.config?.task?.enabled?(0,s.jsx)("span",{className:"inline-flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400 shrink-0 font-medium",children:"Active"}):"waiting"===e.status?(0,s.jsx)("span",{className:"text-[10px] text-amber-600 dark:text-amber-400 shrink-0 font-medium",children:"Waiting"}):"error"===e.status?(0,s.jsx)("span",{className:"text-[10px] text-red-600 dark:text-red-400 shrink-0 font-medium",children:"Error"}):(0,s.jsx)("span",{className:"text-[11px] text-muted-foreground shrink-0 tabular-nums",children:(a=new Date(e.createdAt),n=Math.floor((l=Math.floor((i=Math.floor(Math.floor((new Date().getTime()-a.getTime())/1e3)/60))/60))/24),i<1?"now":i<60?`${i}m`:l<24?`${l}h`:n<7?`${n}d`:`${Math.floor(n/7)}w`)})]})})},e.id)})})})})}),(0,s.jsx)(t.SidebarFooter,{className:(0,E.cn)("border-t border-border/50",e4?"p-2":"p-3"),children:(0,s.jsx)("div",{className:"flex items-center justify-between",children:e4?(0,s.jsx)("div",{className:"flex flex-col items-center gap-2 w-full",children:(0,s.jsx)(D.TooltipProvider,{children:(0,s.jsxs)(D.Tooltip,{children:[(0,s.jsx)(D.TooltipTrigger,{asChild:!0,children:(0,s.jsx)("div",{className:"flex items-center justify-center",children:(0,s.jsx)("span",{className:(0,E.cn)("size-2 rounded-full",et?.serverConnected?"bg-emerald-500 animate-pulse":"bg-red-500")})})}),(0,s.jsx)(D.TooltipContent,{side:"right",children:et?.serverConnected?"Connected":"Disconnected"})]})})}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[et?.serverConnected?(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-emerald-600 dark:text-emerald-400",children:[(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-current animate-pulse"}),(0,s.jsx)("span",{children:"Connected"})]}):(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-red-500",children:[(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-current"}),(0,s.jsx)("span",{children:"Disconnected"})]}),(0,s.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,s.jsx)("span",{className:"text-muted-foreground",children:G.length})]}),(0,s.jsx)(z.Dialog,{open:!1,onOpenChange:es,children:(0,s.jsxs)(z.DialogContent,{className:"sm:max-w-md",children:[(0,s.jsx)(z.DialogHeader,{children:(0,s.jsxs)(z.DialogTitle,{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"size-8 rounded-lg bg-muted flex items-center justify-center",children:(0,s.jsx)(x.Settings,{className:"size-4"})}),"Settings"]})}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(P.Label,{className:"text-sm font-medium",children:"Default Model"}),(0,s.jsxs)(A.Select,{value:ec,onValueChange:eo,children:[(0,s.jsx)(A.SelectTrigger,{className:"transition-all hover:border-primary/50",children:(0,s.jsx)(A.SelectValue,{placeholder:"Select a model"})}),(0,s.jsx)(A.SelectContent,{children:et?.availableModels.map(e=>(0,s.jsx)(A.SelectItem,{value:e.id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.provider})]})},e.id))})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(P.Label,{className:"flex items-center gap-2 text-sm font-medium",children:"Tool Approvals"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground -mt-0.5",children:"Toggle on to require approval before tool executes"}),(0,s.jsx)("div",{className:"space-y-1 rounded-lg border p-2.5 bg-muted/30",children:et?.availableTools.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between py-1.5 hover:bg-muted/50 rounded px-2 -mx-1 transition-colors",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),e.dangerous&&(0,s.jsx)("span",{className:"text-[10px] bg-amber-500/20 text-amber-600 dark:text-amber-400 px-1.5 py-0.5 rounded font-medium",children:"risky"})]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:e.description})]}),(0,s.jsx)(L.Switch,{checked:ex[e.id]??!1,onCheckedChange:()=>e2(e.id)})]},e.id))})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(P.Label,{className:"flex items-center gap-2 text-sm font-medium",children:[(0,s.jsx)(p.Key,{className:"size-4"}),"API Keys"]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground -mt-0.5",children:"Configure API keys for different providers. Keys are stored securely on your machine."}),(0,s.jsx)("div",{className:"space-y-1 rounded-lg border p-2.5 bg-muted/30",children:eA.map(e=>(0,s.jsx)("div",{className:"py-1.5 hover:bg-muted/50 rounded px-2 -mx-1 transition-colors",children:eB===e.provider?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-sm font-medium capitalize",children:e.provider}),(0,s.jsx)("span",{className:"text-[10px] text-muted-foreground font-mono",children:e.envVar})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(M.Input,{type:eE?"text":"password",value:e$,onChange:e=>eF(e.target.value),placeholder:"Paste your API key...",className:"pr-8 text-sm font-mono",autoFocus:!0}),(0,s.jsx)(w.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-2 hover:bg-transparent",onClick:()=>eq(!eE),children:eE?(0,s.jsx)(N.EyeOff,{className:"size-4"}):(0,s.jsx)(f.Eye,{className:"size-4"})})]}),(0,s.jsx)(w.Button,{size:"icon",variant:"ghost",className:"shrink-0",onClick:()=>eX(e.provider),disabled:eO||!e$.trim(),children:eO?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin"}):(0,s.jsx)(j.Check,{className:"size-4 text-green-500"})}),(0,s.jsx)(w.Button,{size:"icon",variant:"ghost",className:"shrink-0",onClick:eY,children:(0,s.jsx)(g.X,{className:"size-4 text-muted-foreground"})})]})]}):(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium capitalize",children:e.provider}),e.configured&&(0,s.jsx)("span",{className:(0,E.cn)("text-[10px] px-1.5 py-0.5 rounded font-medium","env"===e.source?"bg-blue-500/20 text-blue-600 dark:text-blue-400":"bg-green-500/20 text-green-600 dark:text-green-400"),children:"env"===e.source?"from env":"saved"})]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground font-mono",children:e.configured?e.maskedKey:"Not configured"})]}),(0,s.jsx)(w.Button,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>eI(e.provider),children:e.configured?"Update":"Add"})]})},e.provider))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)(P.Label,{className:"flex items-center gap-2 text-sm font-medium",children:[(0,s.jsx)(v,{className:"size-4"}),"Notification Sound"]}),(0,s.jsxs)("div",{className:"flex items-center justify-between rounded-lg border p-2.5 bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Play sound when done"}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Ding when the assistant finishes responding"})]}),(0,s.jsx)(L.Switch,{checked:eK,onCheckedChange:eR})]})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"These settings apply to new sessions. You can also change the model per-session in the chat header."})]})]})})]})})})]})}function K({children:e}){return(0,s.jsxs)(t.SidebarProvider,{defaultOpen:!0,children:[(0,s.jsx)(V,{}),(0,s.jsx)(t.SidebarInset,{className:"h-screen flex flex-col bg-background min-w-0",children:(0,s.jsx)("div",{className:"flex-1 overflow-hidden min-w-0",children:e})})]})}e.s(["default",()=>K],138134)}]);
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,524741,e=>{"use strict";var t=e.i(739963);function r(){return(0,t.getApiUrl)()}async function n(e){let t=e?.role?`?role=${e.role}`:"",n=await fetch(`${r()}/sessions${t}`);return n.ok&&(await n.json().catch(()=>({}))).sessions||[]}async function o(e,t,n){await fetch(`${r()}/tasks/${e}/questions/${t}/answer`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({answer:n,answeredBy:"user"})})}async function s(e){if(!e||"undefined"===e||"null"===e)return null;let t=await fetch(`${r()}/sessions/${e}`);if(!t.ok)return null;let n=await t.json().catch(()=>null);return n&&"string"==typeof n.id?n:null}async function a(e){return(await fetch(`${r()}/sessions`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async function i(e){await fetch(`${r()}/sessions/${e}`,{method:"DELETE"})}async function c(e){return(await fetch(`${r()}/tasks`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})).json()}async function l(e){return(await fetch(`${r()}/sessions/${e}/todos`)).json()}async function u(e){return(await fetch(`${r()}/sessions/${e}/plans`)).json()}async function d(e){return(await fetch(`${r()}/sessions/${e}/pending-input`)).json()}async function f(e,t){return(await fetch(`${r()}/sessions/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})).json()}async function g(e,t,r,n){return f(e,{toolApprovals:{[t]:r}})}async function h(e){let t=await fetch(`${r()}/sessions/${e}/messages`);return(await t.json()).messages||[]}async function p(e){let t=await fetch(`${r()}/agents/${e}/approvals`);return(await t.json()).pendingApprovals||[]}async function y(e,t){await fetch(`${r()}/agents/${e}/approve/${t}`,{method:"POST"})}async function S(e,t,n){await fetch(`${r()}/agents/${e}/reject/${t}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({reason:n})})}async function w(e){return(await fetch(`${r()}/agents/${e}/stream`)).json()}async function m(e){return(await fetch(`${r()}/agents/${e}/abort`,{method:"POST"})).json()}function E(e,t,r){return new Promise(async(n,o)=>{let s=e.body?.getReader();if(!s){console.error("[SSE] No response body — cannot read stream"),o(Error("No response body"));return}let a=new TextDecoder,i="",c=0,l=0,u=0,d=0,f=0,g=Date.now(),h=!0===window.__sparkeSseDebug;console.log("[SSE] Stream reader started, status:",e.status);try{for(;;){let{done:e,value:n}=await s.read();if(e){console.log(`[SSE] Stream ended. Total events: ${c}, browser frames: ${l}, browser status: ${u}, parse errors: ${d}, bytes: ${f}`);break}f+=n?.byteLength??0;let o=(i+=a.decode(n,{stream:!0})).split("\n");for(let e of(i=o.pop()||"",o))if(e.startsWith("data: ")){let n=e.slice(6);if("[DONE]"===n){console.log("[SSE] Received [DONE] marker");continue}try{let e=JSON.parse(n);c++,"browser-frame"===e.type?(l++,1===l?console.log(`[SSE] First browser-frame received! dataSize=${e.data?.length??0}`):l%50==0&&console.log(`[SSE] Browser frame #${l}`)):"browser-status"===e.type&&(u++,console.log(`[SSE] Browser status event: connected=${e.connected} screencasting=${e.screencasting}`));let o=Date.now();o-g>1e4&&(console.log(`[SSE] Stats: events=${c} browserFrames=${l} bytes=${f} parseErrors=${d}`),g=o),"data-stream-id"===e.type&&r&&(console.log(`[SSE] Stream ID received: ${e.streamId}`),r(e.streamId)),h&&window.dispatchEvent(new CustomEvent("sparke:sse-event",{detail:{type:e.type,size:n.length,label:"string"==typeof e.label?e.label:void 0,toolName:"string"==typeof e.toolName?e.toolName:void 0}})),t(e)}catch(e){d++,console.warn("[SSE] Failed to parse event JSON",{error:e instanceof Error?e.message:String(e),dataLength:n.length,preview:n.slice(0,200),parseErrors:d}),h&&window.dispatchEvent(new CustomEvent("sparke:sse-parse-error",{detail:{error:e instanceof Error?e.message:String(e),size:n.length,preview:n.slice(0,200)}}))}}}n()}catch(e){console.error(`[SSE] Stream read error after ${c} events, ${f} bytes:`,e),o(e)}})}function $(e,t,n,o){let s=new AbortController;console.log(`[STREAM] runAgent: starting stream for session ${e}`);let a={prompt:t};return o?.attachments&&o.attachments.length>0&&(a.attachments=o.attachments),fetch(`${r()}/agents/${e}/run`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a),signal:s.signal}).then(async t=>{console.log(`[STREAM] runAgent: response status=${t.status}, content-type=${t.headers.get("content-type")}`);let r=t.headers.get("x-stream-id");r&&(console.log(`[STREAM] runAgent: received stream ID ${r}`),o?.onStreamId&&o.onStreamId(r)),await E(t,n,o?.onStreamId),console.log(`[STREAM] runAgent: stream completed for session ${e}`)}).catch(t=>{"AbortError"!==t.name?console.error(`[STREAM] runAgent error for session ${e}:`,t):console.log(`[STREAM] runAgent: aborted for session ${e}`)}),()=>{console.log(`[STREAM] runAgent: abort called for session ${e}`),s.abort()}}function v(e,t,n){let o=new AbortController,s=new URLSearchParams;n?.streamId&&s.set("streamId",n.streamId),n?.resumeAt!==void 0&&s.set("resumeAt",String(n.resumeAt));let a=`${r()}/agents/${e}/watch${s.toString()?"?"+s.toString():""}`;return console.log(`[STREAM] watchStream: connecting to ${a}`),fetch(a,{signal:o.signal}).then(async r=>{if(console.log(`[STREAM] watchStream: response status=${r.status}, content-type=${r.headers.get("content-type")}`),!r.ok){let e=await r.json().catch(()=>({error:"Unknown error"}));console.error(`[STREAM] watchStream error: status=${r.status}`,e),t({type:"error",errorText:e.error||"Failed to watch stream"});return}let o=r.headers.get("x-stream-id");o&&(console.log(`[STREAM] watchStream: received stream ID ${o}`),n?.onStreamId&&n.onStreamId(o)),await E(r,t,n?.onStreamId),console.log(`[STREAM] watchStream: completed for session ${e}`)}).catch(t=>{"AbortError"!==t.name?console.error(`[STREAM] watchStream error for session ${e}:`,t):console.log(`[STREAM] watchStream: aborted for session ${e}`)}),()=>{console.log(`[STREAM] watchStream: abort called for session ${e}`),o.abort()}}function T(e,t,n){let o=new AbortController;return console.log(`[TERMINAL] Connecting to terminal stream: ${e}`),(async()=>{try{let s=await fetch(`${r()}/terminals/stream/${e}`,{signal:o.signal});if(!s.ok||!s.body)return void console.error(`[TERMINAL] Failed to connect to terminal stream ${e}: status=${s.status}`);console.log(`[TERMINAL] Connected to terminal stream ${e}`);let a=s.body.getReader(),i=new TextDecoder,c="",l=0;for(;;){let{done:r,value:o}=await a.read();if(r){console.log(`[TERMINAL] Stream ended for ${e} after ${l} output chunks`);break}let s=(c+=i.decode(o,{stream:!0})).split("\n\n");for(let r of(c=s.pop()||"",s)){if(!r.trim())continue;let o=r.match(/event:\s*(\w+)/),s=r.match(/data:\s*(.+)/);if(o&&s){let r=o[1];try{let o=JSON.parse(s[1]);"stdout"===r&&o.data?(l++,t(o.data)):"exit"===r&&(console.log(`[TERMINAL] Exit event for ${e}`),n?.())}catch{}}}}}catch(t){t instanceof Error&&"AbortError"!==t.name&&console.error(`[TERMINAL] Stream error for ${e}:`,t)}})(),()=>{console.log(`[TERMINAL] Aborting terminal stream ${e}`),o.abort()}}async function b(){return(await fetch(`${r()}/health/version`)).json()}async function R(){return(await fetch(`${r()}/health/api-keys`)).json()}async function O(e,t){return(await fetch(`${r()}/health/api-keys`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:e,apiKey:t})})).json()}async function A(e){let t=await fetch(`${r()}/sessions/${e}/checkpoints`);if(!t.ok)throw Error(`Failed to get checkpoints: ${t.statusText}`);return t.json()}async function k(e,t){let n=await fetch(`${r()}/sessions/${e}/revert/${t}`,{method:"POST"});if(!n.ok)throw Error((await n.json()).error||`Failed to revert: ${n.statusText}`);return n.json()}async function j(e,t,n){let o=new URLSearchParams;t&&o.set("query",t),n&&o.set("limit",String(n));let s=`${r()}/sessions/${e}/files${o.toString()?"?"+o.toString():""}`,a=await fetch(s);if(!a.ok)throw Error(`Failed to get workspace files: ${a.statusText}`);return a.json()}async function _(e,t){await fetch(`${r()}/agents/${e}/browser-input`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)})}async function N(e){let t=await fetch(`${r()}/sessions/${e}/session-files`);if(!t.ok){if(404===t.status)return[];throw Error(`Failed to get session files: ${t.statusText}`)}return(await t.json()).files||[]}async function C(e){let t=await fetch(`${r()}/sessions/${e}/browser-recording`);return t.ok&&(await t.json()).recordings||[]}async function I(e){try{let t=await fetch(`${r()}/agents/${e}/browser-stream`);if(!t.ok)return null;return t.json()}catch{return null}}e.s(["abortStream",()=>m,"answerAgentQuestion",()=>o,"approveExecution",()=>y,"checkVersion",()=>b,"createSession",()=>a,"createTask",()=>c,"deleteSession",()=>i,"getActiveStream",()=>w,"getApiKeys",()=>R,"getBrowserRecordings",()=>C,"getBrowserStreamStatus",()=>I,"getPendingApprovals",()=>p,"getPendingInput",()=>d,"getSession",()=>s,"getSessionCheckpoints",()=>A,"getSessionFiles",()=>N,"getSessionMessages",()=>h,"getSessionPlans",()=>u,"getSessionTodos",()=>l,"getSessions",()=>n,"getWorkspaceFiles",()=>j,"rejectExecution",()=>S,"revertToCheckpoint",()=>k,"runAgent",()=>$,"sendBrowserInput",()=>_,"setApiKey",()=>O,"streamTerminal",()=>T,"updateSession",()=>f,"updateToolApproval",()=>g,"watchStream",()=>v])},310711,(e,t,r)=>{"use strict";var n=e.r(430878),o="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,a=n.useEffect,i=n.useLayoutEffect,c=n.useDebugValue;function l(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!o(e,r)}catch(e){return!0}}var u="u"<typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),o=n[0].inst,u=n[1];return i(function(){o.value=r,o.getSnapshot=t,l(o)&&u({inst:o})},[e,r,t]),a(function(){return l(o)&&u({inst:o}),e(function(){l(o)&&u({inst:o})})},[e]),c(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},753257,(e,t,r)=>{"use strict";t.exports=e.r(310711)},262189,103393,e=>{"use strict";let t;var r=e.i(430878),n=e.i(753257);e.s(["ERROR_REVALIDATE_EVENT",()=>3,"FOCUS_EVENT",()=>0,"MUTATE_EVENT",()=>2,"RECONNECT_EVENT",()=>1],786254);var o=Object.prototype.hasOwnProperty;let s=new WeakMap,a=()=>{},i=a(),c=Object,l=e=>e===i,u=(e,t)=>({...e,...t}),d={},f={},g="undefined",h=typeof window!=g,p=typeof document!=g,y=h&&"Deno"in window,S=(e,t)=>{let r=s.get(e);return[()=>!l(t)&&e.get(t)||d,n=>{if(!l(t)){let o=e.get(t);t in f||(f[t]=o),r[5](t,u(o,n),o||d)}},r[6],()=>!l(t)&&t in f?f[t]:!l(t)&&e.get(t)||d]},w=!0,[m,E]=h&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[a,a],$={initFocus:e=>(p&&document.addEventListener("visibilitychange",e),m("focus",e),()=>{p&&document.removeEventListener("visibilitychange",e),E("focus",e)}),initReconnect:e=>{let t=()=>{w=!0,e()},r=()=>{w=!1};return m("online",t),m("offline",r),()=>{E("online",t),E("offline",r)}}},v=!r.default.useId,T=!h||y,b=T?r.useEffect:r.useLayoutEffect,R="u">typeof navigator&&navigator.connection,O=!T&&R&&(["slow-2g","2g"].includes(R.effectiveType)||R.saveData),A=new WeakMap,k=(e,t)=>e===`[object ${t}]`,j=0,_=e=>{let t,r,n=typeof e,o=c.prototype.toString.call(e),s=k(o,"Date"),a=k(o,"RegExp"),i=k(o,"Object");if(c(e)!==e||s||a)t=s?e.toJSON():"symbol"==n?e.toString():"string"==n?JSON.stringify(e):""+e;else{if(t=A.get(e))return t;if(t=++j+"~",A.set(e,t),Array.isArray(e)){for(r=0,t="@";r<e.length;r++)t+=_(e[r])+",";A.set(e,t)}if(i){t="#";let n=c.keys(e).sort();for(;!l(r=n.pop());)l(e[r])||(t+=r+":"+_(e[r])+",");A.set(e,t)}}return t},N=e=>{if("function"==typeof e)try{e=e()}catch(t){e=""}let t=e;return[e="string"==typeof e?e:(Array.isArray(e)?e.length:e)?_(e):"",t]},C=0,I=()=>++C;async function L(...e){let[t,r,n,o]=e,a=u({populateCache:!0,throwOnError:!0},"boolean"==typeof o?{revalidate:o}:o||{}),c=a.populateCache,d=a.rollbackOnError,f=a.optimisticData,g=a.throwOnError;if("function"==typeof r){let e=[];for(let n of t.keys())!/^\$(inf|sub)\$/.test(n)&&r(t.get(n)._k)&&e.push(n);return Promise.all(e.map(h))}return h(r);async function h(r){let o,[u]=N(r);if(!u)return;let[h,p]=S(t,u),[y,w,m,E]=s.get(t),$=()=>{let e=y[u];return("function"==typeof a.revalidate?a.revalidate(h().data,r):!1!==a.revalidate)&&(delete m[u],delete E[u],e&&e[0])?e[0](2).then(()=>h().data):h().data};if(e.length<3)return $();let v=n,T=!1,b=I();w[u]=[b,0];let R=!l(f),O=h(),A=O.data,k=O._c,j=l(k)?A:k;if(R&&p({data:f="function"==typeof f?f(j,A):f,_c:j}),"function"==typeof v)try{v=v(j)}catch(e){o=e,T=!0}if(v&&"function"==typeof v.then){let e;if(v=await v.catch(e=>{o=e,T=!0}),b!==w[u][0]){if(T)throw o;return v}T&&R&&(e=o,"function"==typeof d?d(e):!1!==d)&&(c=!0,p({data:j,_c:i}))}if(c&&!T&&("function"==typeof c?p({data:c(v,j),error:i,_c:i}):p({data:v,error:i,_c:i})),w[u][1]=I(),Promise.resolve($()).then(()=>{p({_c:i})}),T){if(g)throw o;return}return v}}let M=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},P=(e,t)=>{if(!s.has(e)){let r=u($,t),n=Object.create(null),o=L.bind(i,e),c=a,l=Object.create(null),d=(e,t)=>{let r=l[e]||[];return l[e]=r,r.push(t),()=>r.splice(r.indexOf(t),1)},f=(t,r,n)=>{e.set(t,r);let o=l[t];if(o)for(let e of o)e(r,n)},g=()=>{if(!s.has(e)&&(s.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,f,d]),!T)){let t=r.initFocus(setTimeout.bind(i,M.bind(i,n,0))),o=r.initReconnect(setTimeout.bind(i,M.bind(i,n,1)));c=()=>{t&&t(),o&&o(),s.delete(e)}}};return g(),[e,o,g,c]}return[e,s.get(e)[4]]},[V,D]=P(new Map),x=u({onLoadingSlow:a,onSuccess:a,onError:a,onErrorRetry:(e,t,r,n,o)=>{let s=r.errorRetryCount,a=o.retryCount,i=~~((Math.random()+.5)*(1<<(a<8?a:8)))*r.errorRetryInterval;(l(s)||!(a>s))&&setTimeout(n,i,o)},onDiscarded:a,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:O?1e4:5e3,focusThrottleInterval:5e3,dedupingInterval:2e3,loadingTimeout:O?5e3:3e3,compare:function e(t,r){var n,s;if(t===r)return!0;if(t&&r&&(n=t.constructor)===r.constructor){if(n===Date)return t.getTime()===r.getTime();if(n===RegExp)return t.toString()===r.toString();if(n===Array){if((s=t.length)===r.length)for(;s--&&e(t[s],r[s]););return -1===s}if(!n||"object"==typeof t){for(n in s=0,t)if(o.call(t,n)&&++s&&!o.call(r,n)||!(n in r)||!e(t[n],r[n]))return!1;return Object.keys(r).length===s}}return t!=t&&r!=r},isPaused:()=>!1,cache:V,mutate:D,fallback:{}},{isOnline:()=>w,isVisible:()=>{let e=p&&document.visibilityState;return l(e)||"hidden"!==e}}),F=(e,t)=>{let r=u(e,t);if(t){let{use:n,fallback:o}=e,{use:s,fallback:a}=t;n&&s&&(r.use=n.concat(s)),o&&a&&(r.fallback=u(o,a))}return r},J=(0,r.createContext)({});var U=e.i(786254);let W=h&&window.__SWR_DEVTOOLS_USE__,B=(W?window.__SWR_DEVTOOLS_USE__:[]).concat(e=>(t,r,n)=>{let o=r&&((...e)=>{let[n]=N(t),[,,,o]=s.get(V);if(n.startsWith("$inf$"))return r(...e);let a=o[n];return l(a)?r(...e):(delete o[n],a)});return e(t,o,n)});W&&(window.__SWR_DEVTOOLS_REACT__=r.default);let q=()=>{},z=q(),K=(new WeakMap,r.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}})),H={dedupe:!0},Q=Promise.resolve(i);c.defineProperty(e=>{let{value:t}=e,n=(0,r.useContext)(J),o="function"==typeof t,s=(0,r.useMemo)(()=>o?t(n):t,[o,n,t]),a=(0,r.useMemo)(()=>o?s:F(n,s),[o,n,s]),c=s&&s.provider,l=(0,r.useRef)(i);c&&!l.current&&(l.current=P(c(a.cache||V),s));let d=l.current;return d&&(a.cache=d[0],a.mutate=d[1]),b(()=>{if(d)return d[2]&&d[2](),d[3]},[]),(0,r.createElement)(J.Provider,u(e,{value:a}))},"defaultValue",{value:x});let Y=(t=(e,t,o)=>{let{cache:c,compare:d,suspense:f,fallbackData:p,revalidateOnMount:y,revalidateIfStale:w,refreshInterval:m,refreshWhenHidden:E,refreshWhenOffline:$,keepPreviousData:R,strictServerPrefetchWarning:O}=o,[A,k,j,_]=s.get(c),[C,M]=N(e),P=(0,r.useRef)(!1),V=(0,r.useRef)(!1),D=(0,r.useRef)(C),x=(0,r.useRef)(t),F=(0,r.useRef)(o),J=()=>F.current.isVisible()&&F.current.isOnline(),[W,B,q,z]=S(c,C),Y=(0,r.useRef)({}).current,G=l(p)?l(o.fallback)?i:o.fallback[C]:p,X=(e,t)=>{for(let r in Y)if("data"===r){if(!d(e[r],t[r])&&(!l(e[r])||!d(ei,t[r])))return!1}else if(t[r]!==e[r])return!1;return!0},Z=(0,r.useMemo)(()=>{let e=!!C&&!!t&&(l(y)?!F.current.isPaused()&&!f&&!1!==w:y),r=t=>{let r=u(t);return(delete r._k,e)?{isValidating:!0,isLoading:!0,...r}:r},n=W(),o=z(),s=r(n),a=n===o?s:r(o),i=s;return[()=>{let e=r(W());return X(e,i)?(i.data=e.data,i.isLoading=e.isLoading,i.isValidating=e.isValidating,i.error=e.error,i):(i=e,e)},()=>a]},[c,C]),ee=(0,n.useSyncExternalStore)((0,r.useCallback)(e=>q(C,(t,r)=>{X(r,t)||e()}),[c,C]),Z[0],Z[1]),et=!P.current,er=A[C]&&A[C].length>0,en=ee.data,eo=l(en)?G&&"function"==typeof G.then?K(G):G:en,es=ee.error,ea=(0,r.useRef)(eo),ei=R?l(en)?l(ea.current)?eo:ea.current:en:eo,ec=C&&l(eo),el=!T&&(0,n.useSyncExternalStore)(()=>a,()=>!1,()=>!0);O&&el&&!f&&ec&&console.warn(`Missing pre-initiated data for serialized key "${C}" during server-side rendering. Data fethcing should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let eu=(!er||!!l(es))&&(et&&!l(y)?y:!F.current.isPaused()&&(f?!l(eo)&&w:l(eo)||w)),ed=!!(C&&t&&et&&eu),ef=l(ee.isValidating)?ed:ee.isValidating,eg=l(ee.isLoading)?ed:ee.isLoading,eh=(0,r.useCallback)(async e=>{let t,r,n=x.current;if(!C||!n||V.current||F.current.isPaused())return!1;let s=!0,a=e||{},c=!j[C]||!a.dedupe,u=()=>v?!V.current&&C===D.current&&P.current:C===D.current,f={isValidating:!1,isLoading:!1},g=()=>{B(f)},h=()=>{let e=j[C];e&&e[1]===r&&delete j[C]},p={isValidating:!0};l(W().data)&&(p.isLoading=!0);try{if(c&&(B(p),o.loadingTimeout&&l(W().data)&&setTimeout(()=>{s&&u()&&F.current.onLoadingSlow(C,o)},o.loadingTimeout),j[C]=[n(M),I()]),[t,r]=j[C],t=await t,c&&setTimeout(h,o.dedupingInterval),!j[C]||j[C][1]!==r)return c&&u()&&F.current.onDiscarded(C),!1;f.error=i;let e=k[C];if(!l(e)&&(r<=e[0]||r<=e[1]||0===e[1]))return g(),c&&u()&&F.current.onDiscarded(C),!1;let a=W().data;f.data=d(a,t)?a:t,c&&u()&&F.current.onSuccess(t,C,o)}catch(r){h();let e=F.current,{shouldRetryOnError:t}=e;!e.isPaused()&&(f.error=r,c&&u())&&(e.onError(r,C,e),(!0===t||"function"==typeof t&&t(r))&&(!F.current.revalidateOnFocus||!F.current.revalidateOnReconnect||J())&&e.onErrorRetry(r,C,e,e=>{let t=A[C];t&&t[0]&&t[0](U.ERROR_REVALIDATE_EVENT,e)},{retryCount:(a.retryCount||0)+1,dedupe:!0}))}return s=!1,g(),!0},[C,c]),ep=(0,r.useCallback)((...e)=>L(c,D.current,...e),[]);if(b(()=>{x.current=t,F.current=o,l(en)||(ea.current=en)}),b(()=>{var e;let t;if(!C)return;let r=eh.bind(i,H),n=0;F.current.revalidateOnFocus&&(n=Date.now()+F.current.focusThrottleInterval);let o=(e=(e,t={})=>{if(e==U.FOCUS_EVENT){let e=Date.now();F.current.revalidateOnFocus&&e>n&&J()&&(n=e+F.current.focusThrottleInterval,r())}else if(e==U.RECONNECT_EVENT)F.current.revalidateOnReconnect&&J()&&r();else if(e==U.MUTATE_EVENT)return eh();else if(e==U.ERROR_REVALIDATE_EVENT)return eh(t)},(t=A[C]||(A[C]=[])).push(e),()=>{let r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.pop())});if(V.current=!1,D.current=C,P.current=!0,B({_k:M}),eu&&!j[C])if(l(eo)||T)r();else h&&typeof window.requestAnimationFrame!=g?window.requestAnimationFrame(r):setTimeout(r,1);return()=>{V.current=!0,o()}},[C]),b(()=>{let e;function t(){let t="function"==typeof m?m(W().data):m;t&&-1!==e&&(e=setTimeout(r,t))}function r(){!W().error&&(E||F.current.isVisible())&&($||F.current.isOnline())?eh(H).then(t):t()}return t(),()=>{e&&(clearTimeout(e),e=-1)}},[m,E,$,C]),(0,r.useDebugValue)(ei),f){if(!v&&T&&ec)throw Error("Fallback data is required when using Suspense in SSR.");ec&&(x.current=t,F.current=o,V.current=!1);let e=_[C];if(K(!l(e)&&ec?ep(e):Q),!l(es)&&ec)throw es;let r=ec?eh(H):Q;!l(ei)&&ec&&(r.status="fulfilled",r.value=!0),K(r)}return{mutate:ep,get data(){return Y.data=!0,ei},get error(){return Y.error=!0,es},get isValidating(){return Y.isValidating=!0,ef},get isLoading(){return Y.isLoading=!0,eg}}},function(...e){let n,o=(n=(0,r.useContext)(J),(0,r.useMemo)(()=>u(x,n),[n])),[s,a,i]="function"==typeof e[1]?[e[0],e[1],e[2]||{}]:[e[0],null,(null===e[1]?e[2]:e[1])||{}],c=F(o,i),l=t,{use:d}=c,f=(d||[]).concat(B);for(let e=f.length;e--;)l=f[e](l);return l(s,a||c.fetcher||null,c)});e.s(["default",()=>Y],262189),e.s(["mutate",()=>D],103393)},300739,e=>{"use strict";var t=e.i(262189),r=e.i(103393),n=e.i(524741);let o="/api/sessions";function s(){let{data:e=[],error:r,isLoading:s}=(0,t.default)(o,n.getSessions,{refreshInterval:2e3,revalidateOnFocus:!0});return{sessions:e,isLoading:s,error:r}}function a(){return(0,r.mutate)(o)}e.s(["mutateSessions",()=>a,"useSessions",()=>s])}]);