@rsalmn/extremerouter 0.7.0 → 0.7.2

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 (1045) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +5 -2
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/routes-manifest.json +20 -0
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/alerts/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +12 -12
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +4 -4
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js +2 -2
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/overview/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js +2 -2
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/swarm/page_client-reference-manifest.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  86. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  87. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  98. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  100. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  101. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  102. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  103. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
  105. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  106. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  107. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  108. package/app/.next-cli-build/server/app/api/alerts/test/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/alerts/test/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cache/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cache/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/health/providers/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/health/providers/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/health/stream/route.js +2 -2
  175. package/app/.next-cli-build/server/app/api/health/stream/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  185. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  187. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  217. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/[id]/freebuff-profile/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/[id]/health-timeline/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js +1 -0
  251. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route.js.nft.json +1 -0
  252. package/app/.next-cli-build/server/app/api/providers/[id]/qwencloud-profile/route_client-reference-manifest.js +1 -0
  253. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/[id]/v0-profile/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/[id]/vault-pool/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/[id]/zenmux-plans/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  282. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  284. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  288. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -0
  290. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -0
  291. package/app/.next-cli-build/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -0
  292. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -0
  293. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -0
  294. package/app/.next-cli-build/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -0
  295. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/swarm/active/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/swarm/active/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/swarm/stream/route.js +2 -2
  308. package/app/.next-cli-build/server/app/api/swarm/stream/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  314. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/meta/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/usage/meta/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/usage/retry-stats/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  360. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  406. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  408. package/app/.next-cli-build/server/app/callback.html +1 -1
  409. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  410. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  411. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
  413. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  414. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  415. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  416. package/app/.next-cli-build/server/app/dashboard/alerts.html +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/alerts.rsc +7 -7
  418. package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk/dashboard/alerts/__PAGE__.segment.rsc +2 -2
  419. package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk/dashboard/alerts.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/alerts.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  422. package/app/.next-cli-build/server/app/dashboard/alerts.segments/_full.segment.rsc +7 -7
  423. package/app/.next-cli-build/server/app/dashboard/alerts.segments/_head.segment.rsc +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/alerts.segments/_index.segment.rsc +5 -5
  425. package/app/.next-cli-build/server/app/dashboard/alerts.segments/_tree.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  428. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  429. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  431. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  433. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  434. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  435. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  438. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  439. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  443. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  444. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  445. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  446. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  448. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  452. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  453. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  454. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  455. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  456. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  457. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  458. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  459. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  460. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  462. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  463. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  464. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  465. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  467. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  468. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  469. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  474. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  476. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  479. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  483. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  484. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  486. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  487. package/app/.next-cli-build/server/app/dashboard/overview.html +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/overview.rsc +7 -7
  489. package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk/dashboard/overview/__PAGE__.segment.rsc +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk/dashboard/overview.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  492. package/app/.next-cli-build/server/app/dashboard/overview.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  493. package/app/.next-cli-build/server/app/dashboard/overview.segments/_full.segment.rsc +7 -7
  494. package/app/.next-cli-build/server/app/dashboard/overview.segments/_head.segment.rsc +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/overview.segments/_index.segment.rsc +5 -5
  496. package/app/.next-cli-build/server/app/dashboard/overview.segments/_tree.segment.rsc +2 -2
  497. package/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/playground.rsc +7 -7
  499. package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  503. package/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +7 -7
  504. package/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +5 -5
  506. package/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  509. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  511. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  513. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  514. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  515. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  516. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  518. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  519. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  520. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  521. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  523. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  525. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  526. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  527. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  528. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  530. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  531. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  533. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  535. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  537. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  538. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  540. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  541. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  543. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  545. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  547. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  548. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  549. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  550. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  551. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  553. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  555. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  557. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  558. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  559. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  563. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  564. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  566. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  568. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  573. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  576. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  577. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  578. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  580. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  581. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  582. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  583. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  584. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  586. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  587. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  588. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  589. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
  590. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  591. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  592. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  593. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  594. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  595. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  596. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  597. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  598. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  600. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  601. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  602. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  603. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  605. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  606. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  607. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  608. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  609. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  610. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  611. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  612. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  613. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  614. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  615. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  616. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  617. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  618. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
  619. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  620. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  621. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  622. package/app/.next-cli-build/server/app/index.html +1 -1
  623. package/app/.next-cli-build/server/app/index.rsc +5 -5
  624. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  625. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  626. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  627. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
  628. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  629. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  630. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  631. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  632. package/app/.next-cli-build/server/app/landing.html +1 -1
  633. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  634. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  635. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  636. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
  637. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  638. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  640. package/app/.next-cli-build/server/app/login/page.js +2 -2
  641. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  642. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  643. package/app/.next-cli-build/server/app/login.html +1 -1
  644. package/app/.next-cli-build/server/app/login.rsc +6 -6
  645. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  646. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  647. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
  648. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  649. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  650. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  651. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  652. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  653. package/app/.next-cli-build/server/app/page.js +2 -2
  654. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  655. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  656. package/app/.next-cli-build/server/app-paths-manifest.json +5 -2
  657. package/app/.next-cli-build/server/chunks/1051.js +1 -1
  658. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  659. package/app/.next-cli-build/server/chunks/1477.js +1 -0
  660. package/app/.next-cli-build/server/chunks/1719.js +1 -1
  661. package/app/.next-cli-build/server/chunks/212.js +1 -1
  662. package/app/.next-cli-build/server/chunks/2231.js +1 -1
  663. package/app/.next-cli-build/server/chunks/2701.js +1 -1
  664. package/app/.next-cli-build/server/chunks/2722.js +1 -1
  665. package/app/.next-cli-build/server/chunks/318.js +13 -9
  666. package/app/.next-cli-build/server/chunks/3735.js +1 -0
  667. package/app/.next-cli-build/server/chunks/412.js +5 -5
  668. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  669. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  670. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  671. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  672. package/app/.next-cli-build/server/chunks/615.js +1 -1
  673. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  674. package/app/.next-cli-build/server/chunks/6316.js +2 -2
  675. package/app/.next-cli-build/server/chunks/6638.js +1 -0
  676. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  677. package/app/.next-cli-build/server/chunks/6777.js +1 -1
  678. package/app/.next-cli-build/server/chunks/788.js +1 -1
  679. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  680. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  681. package/app/.next-cli-build/server/chunks/8833.js +3 -3
  682. package/app/.next-cli-build/server/chunks/8881.js +1 -0
  683. package/app/.next-cli-build/server/chunks/8895.js +5 -5
  684. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  685. package/app/.next-cli-build/server/chunks/9422.js +1 -1
  686. package/app/.next-cli-build/server/chunks/9609.js +1 -1
  687. package/app/.next-cli-build/server/chunks/9630.js +1 -1
  688. package/app/.next-cli-build/server/chunks/9703.js +2 -2
  689. package/app/.next-cli-build/server/chunks/9903.js +1 -1
  690. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  691. package/app/.next-cli-build/server/middleware.js +1 -1
  692. package/app/.next-cli-build/server/pages/404.html +1 -1
  693. package/app/.next-cli-build/server/pages/500.html +1 -1
  694. package/app/.next-cli-build/static/chunks/1321-767de793890bdf8c.js +1 -0
  695. package/app/.next-cli-build/static/chunks/5497-09625960ec618fe0.js +7 -0
  696. package/app/.next-cli-build/static/chunks/{6069-a4cd5af243707b67.js → 6069-6b96289a846b5144.js} +6 -6
  697. package/app/.next-cli-build/static/chunks/705-197061b2f061280b.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/page-4a622e705e5c4efc.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-0858623d4e6bc8d9.js → page-70b66ef1b070a378.js} +1 -1
  700. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-6d0b92899909f933.js → page-e8d14560b2019a5f.js} +12 -12
  701. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-a27c538ea71ebf8a.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-5e3375dcb5344f35.js +4 -0
  703. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-e1875ca8be7183eb.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/page-4ffb884f6b54afb0.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-1e4e44e8b9d5d986.js +10 -0
  706. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-0fb5e4d7aabfb5d2.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-5fc4c9e1400d741e.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-73e504f021474182.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-6235a5ba123759b2.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/_global-error/page-ef8b722482bf88a8.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-ef8b722482bf88a8.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-ef8b722482bf88a8.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-ef8b722482bf88a8.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-ef8b722482bf88a8.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-ef8b722482bf88a8.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-ef8b722482bf88a8.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-ef8b722482bf88a8.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-ef8b722482bf88a8.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/cache/route-ef8b722482bf88a8.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-ef8b722482bf88a8.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-ef8b722482bf88a8.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-ef8b722482bf88a8.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-ef8b722482bf88a8.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-ef8b722482bf88a8.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-ef8b722482bf88a8.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-ef8b722482bf88a8.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-ef8b722482bf88a8.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-ef8b722482bf88a8.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-ef8b722482bf88a8.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-ef8b722482bf88a8.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-ef8b722482bf88a8.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-ef8b722482bf88a8.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-ef8b722482bf88a8.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-ef8b722482bf88a8.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-ef8b722482bf88a8.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-ef8b722482bf88a8.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-ef8b722482bf88a8.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/combos/route-ef8b722482bf88a8.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-ef8b722482bf88a8.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-ef8b722482bf88a8.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-ef8b722482bf88a8.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-ef8b722482bf88a8.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/health/route-ef8b722482bf88a8.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-ef8b722482bf88a8.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/init/route-ef8b722482bf88a8.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-ef8b722482bf88a8.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/keys/route-ef8b722482bf88a8.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/locale/route-ef8b722482bf88a8.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-ef8b722482bf88a8.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-ef8b722482bf88a8.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-ef8b722482bf88a8.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-ef8b722482bf88a8.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-ef8b722482bf88a8.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-ef8b722482bf88a8.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-ef8b722482bf88a8.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-ef8b722482bf88a8.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-ef8b722482bf88a8.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-ef8b722482bf88a8.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-ef8b722482bf88a8.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/models/route-ef8b722482bf88a8.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/models/test/route-ef8b722482bf88a8.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-ef8b722482bf88a8.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-ef8b722482bf88a8.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-ef8b722482bf88a8.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-ef8b722482bf88a8.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-ef8b722482bf88a8.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-ef8b722482bf88a8.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-ef8b722482bf88a8.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-ef8b722482bf88a8.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-ef8b722482bf88a8.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-ef8b722482bf88a8.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-ef8b722482bf88a8.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-ef8b722482bf88a8.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-ef8b722482bf88a8.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/pricing/route-ef8b722482bf88a8.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-ef8b722482bf88a8.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-ef8b722482bf88a8.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-ef8b722482bf88a8.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-ef8b722482bf88a8.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-ef8b722482bf88a8.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-ef8b722482bf88a8.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/qwencloud-profile/route-ef8b722482bf88a8.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-ef8b722482bf88a8.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-ef8b722482bf88a8.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-ef8b722482bf88a8.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-ef8b722482bf88a8.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-ef8b722482bf88a8.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-ef8b722482bf88a8.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-ef8b722482bf88a8.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-ef8b722482bf88a8.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/providers/route-ef8b722482bf88a8.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-ef8b722482bf88a8.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-ef8b722482bf88a8.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-ef8b722482bf88a8.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-ef8b722482bf88a8.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-ef8b722482bf88a8.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-ef8b722482bf88a8.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-ef8b722482bf88a8.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-ef8b722482bf88a8.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-ef8b722482bf88a8.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-ef8b722482bf88a8.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-ef8b722482bf88a8.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-ef8b722482bf88a8.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-ef8b722482bf88a8.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-ef8b722482bf88a8.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/settings/route-ef8b722482bf88a8.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-ef8b722482bf88a8.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-ef8b722482bf88a8.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-ef8b722482bf88a8.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/tags/route-ef8b722482bf88a8.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-ef8b722482bf88a8.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-ef8b722482bf88a8.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-ef8b722482bf88a8.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-ef8b722482bf88a8.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-ef8b722482bf88a8.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-ef8b722482bf88a8.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-ef8b722482bf88a8.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-ef8b722482bf88a8.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-ef8b722482bf88a8.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-ef8b722482bf88a8.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-ef8b722482bf88a8.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-ef8b722482bf88a8.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-ef8b722482bf88a8.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-ef8b722482bf88a8.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-ef8b722482bf88a8.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-ef8b722482bf88a8.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-ef8b722482bf88a8.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-ef8b722482bf88a8.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-ef8b722482bf88a8.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-ef8b722482bf88a8.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-ef8b722482bf88a8.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-ef8b722482bf88a8.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-ef8b722482bf88a8.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-ef8b722482bf88a8.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-ef8b722482bf88a8.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-ef8b722482bf88a8.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-ef8b722482bf88a8.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-ef8b722482bf88a8.js +1 -0
  839. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-ef8b722482bf88a8.js +1 -0
  840. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-ef8b722482bf88a8.js +1 -0
  841. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-ef8b722482bf88a8.js +1 -0
  842. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-ef8b722482bf88a8.js +1 -0
  843. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-ef8b722482bf88a8.js +1 -0
  844. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-ef8b722482bf88a8.js +1 -0
  845. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-ef8b722482bf88a8.js +1 -0
  846. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-ef8b722482bf88a8.js +1 -0
  847. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-ef8b722482bf88a8.js +1 -0
  848. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-ef8b722482bf88a8.js +1 -0
  849. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-ef8b722482bf88a8.js +1 -0
  850. package/app/.next-cli-build/static/chunks/app/api/v1/route-ef8b722482bf88a8.js +1 -0
  851. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-ef8b722482bf88a8.js +1 -0
  852. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-ef8b722482bf88a8.js +1 -0
  853. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-ef8b722482bf88a8.js +1 -0
  854. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-ef8b722482bf88a8.js +1 -0
  855. package/app/.next-cli-build/static/chunks/app/api/version/route-ef8b722482bf88a8.js +1 -0
  856. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-ef8b722482bf88a8.js +1 -0
  857. package/app/.next-cli-build/static/chunks/app/api/version/update/route-ef8b722482bf88a8.js +1 -0
  858. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-ef8b722482bf88a8.js +1 -0
  859. package/app/.next-cli-build/static/chunks/app/page-ef8b722482bf88a8.js +1 -0
  860. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-ef8b722482bf88a8.js +1 -0
  861. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-ef8b722482bf88a8.js +1 -0
  862. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-ef8b722482bf88a8.js +1 -0
  863. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-ef8b722482bf88a8.js +1 -0
  864. package/app/.next-cli-build/static/css/5dcaa119b622f73a.css +1 -0
  865. package/app/.next-cli-build/static/zG5Y3KIUIUTgefLUSHfaI/_buildManifest.js +1 -0
  866. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-shm +0 -0
  867. package/app/cli/.build-home/AppData/Roaming/extremerouter/db/data.sqlite-wal +0 -0
  868. package/app/package.json +80 -80
  869. package/app/public/providers/devin.svg +5 -0
  870. package/app/public/providers/featherless.svg +8 -0
  871. package/app/public/providers/moonshot.svg +8 -0
  872. package/app/public/providers/perplexity-agent.svg +13 -0
  873. package/app/public/providers/qwencloud.svg +6 -0
  874. package/app/src/lib/network/pickProxyPoolId.js +38 -0
  875. package/package.json +1 -1
  876. package/app/.next-cli-build/server/chunks/8142.js +0 -1
  877. package/app/.next-cli-build/static/chunks/1321-c2673b86ae099f7a.js +0 -1
  878. package/app/.next-cli-build/static/chunks/5497-4a46de726a80ec4c.js +0 -7
  879. package/app/.next-cli-build/static/chunks/705-88c44a85ef2fa706.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/alerts/page-9f05c495f92fb578.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-04df212b392a7049.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/page-6ff0b7ef268b9f96.js +0 -4
  883. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-a6ff642180bb6c33.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/overview/page-02c60e92de70e467.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-bc74cf85727e59c8.js +0 -10
  886. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-88b8c16ff41dc468.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-1b66539173748945.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-2ebb6e5a67759dda.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-f2b0f4a782580e21.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/_global-error/page-7321cb331506637b.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/alerts/test/route-7321cb331506637b.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-7321cb331506637b.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-7321cb331506637b.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-7321cb331506637b.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-7321cb331506637b.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-7321cb331506637b.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-7321cb331506637b.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-7321cb331506637b.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/cache/route-7321cb331506637b.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-7321cb331506637b.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-7321cb331506637b.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-7321cb331506637b.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-7321cb331506637b.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-7321cb331506637b.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-7321cb331506637b.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-7321cb331506637b.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-7321cb331506637b.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-7321cb331506637b.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-7321cb331506637b.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-7321cb331506637b.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-7321cb331506637b.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-7321cb331506637b.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-7321cb331506637b.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-7321cb331506637b.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-7321cb331506637b.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-7321cb331506637b.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-7321cb331506637b.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/combos/route-7321cb331506637b.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-7321cb331506637b.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-7321cb331506637b.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-7321cb331506637b.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/health/providers/route-7321cb331506637b.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/health/route-7321cb331506637b.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/health/stream/route-7321cb331506637b.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/init/route-7321cb331506637b.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-7321cb331506637b.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/keys/route-7321cb331506637b.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/locale/route-7321cb331506637b.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-7321cb331506637b.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-7321cb331506637b.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-7321cb331506637b.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-7321cb331506637b.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-7321cb331506637b.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-7321cb331506637b.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-7321cb331506637b.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-7321cb331506637b.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-7321cb331506637b.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-7321cb331506637b.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-7321cb331506637b.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/models/route-7321cb331506637b.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/models/test/route-7321cb331506637b.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-7321cb331506637b.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-7321cb331506637b.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-7321cb331506637b.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-7321cb331506637b.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-7321cb331506637b.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-7321cb331506637b.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-7321cb331506637b.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-7321cb331506637b.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-7321cb331506637b.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-7321cb331506637b.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-7321cb331506637b.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-7321cb331506637b.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-7321cb331506637b.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/pricing/route-7321cb331506637b.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-7321cb331506637b.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-7321cb331506637b.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-7321cb331506637b.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/freebuff-profile/route-7321cb331506637b.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/health-timeline/route-7321cb331506637b.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-7321cb331506637b.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-7321cb331506637b.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-7321cb331506637b.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-7321cb331506637b.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/v0-profile/route-7321cb331506637b.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/vault-pool/route-7321cb331506637b.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/zenmux-plans/route-7321cb331506637b.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-7321cb331506637b.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-7321cb331506637b.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/providers/route-7321cb331506637b.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-7321cb331506637b.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-7321cb331506637b.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-7321cb331506637b.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-7321cb331506637b.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-7321cb331506637b.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-7321cb331506637b.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-7321cb331506637b.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-7321cb331506637b.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-7321cb331506637b.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-7321cb331506637b.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-7321cb331506637b.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-7321cb331506637b.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/settings/route-7321cb331506637b.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-7321cb331506637b.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/swarm/active/route-7321cb331506637b.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/swarm/stream/route-7321cb331506637b.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/tags/route-7321cb331506637b.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-7321cb331506637b.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-7321cb331506637b.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-7321cb331506637b.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-7321cb331506637b.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-7321cb331506637b.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-7321cb331506637b.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-7321cb331506637b.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-7321cb331506637b.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-7321cb331506637b.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-7321cb331506637b.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-7321cb331506637b.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-7321cb331506637b.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-7321cb331506637b.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-7321cb331506637b.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-7321cb331506637b.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-7321cb331506637b.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-7321cb331506637b.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-7321cb331506637b.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/usage/meta/route-7321cb331506637b.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-7321cb331506637b.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-7321cb331506637b.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-7321cb331506637b.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/usage/retry-stats/route-7321cb331506637b.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-7321cb331506637b.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-7321cb331506637b.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-7321cb331506637b.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-7321cb331506637b.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-7321cb331506637b.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-7321cb331506637b.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-7321cb331506637b.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-7321cb331506637b.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-7321cb331506637b.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-7321cb331506637b.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-7321cb331506637b.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-7321cb331506637b.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-7321cb331506637b.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-7321cb331506637b.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-7321cb331506637b.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-7321cb331506637b.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/v1/route-7321cb331506637b.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-7321cb331506637b.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-7321cb331506637b.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-7321cb331506637b.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-7321cb331506637b.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/version/route-7321cb331506637b.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-7321cb331506637b.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/version/update/route-7321cb331506637b.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-7321cb331506637b.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/page-7321cb331506637b.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-7321cb331506637b.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-7321cb331506637b.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-7321cb331506637b.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-7321cb331506637b.js +0 -1
  1041. package/app/.next-cli-build/static/css/a024ae3118bec883.css +0 -1
  1042. package/app/.next-cli-build/static/p-3kW8XDeBLQg0sl_rzmI/_buildManifest.js +0 -1
  1043. /package/app/.next-cli-build/static/{p-3kW8XDeBLQg0sl_rzmI → zG5Y3KIUIUTgefLUSHfaI}/_ssgManifest.js +0 -0
  1044. /package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/{upgrade-0.6.5-to-0.6.6-0.6.6-20260707-011739 → upgrade-0.6.9-to-0.7.0-0.7.0-20260715-111110}/data.sqlite +0 -0
  1045. /package/app/cli/.build-home/AppData/Roaming/extremerouter/db/backups/{upgrade-0.6.6-to-0.6.7-0.6.7-20260708-103430 → upgrade-0.7.0-to-0.7.1-0.7.1-20260718-003406}/data.sqlite +0 -0
@@ -1,2 +1,2 @@
1
- (()=>{var a={};a.id=3649,a.ids=[3649],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3725:a=>{"use strict";a.exports=require("wreq-js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},11658:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["(dashboard)",{children:["dashboard",{children:["combos",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,35447)),"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\combos\\page.js"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,30508)),"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,50385)),"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(dashboard)/dashboard/combos/page",pathname:"/dashboard/combos",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next-cli-build",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/(dashboard)/dashboard/combos/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30714:a=>{"use strict";a.exports=require("node:vm")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},35447:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\Projects\\\\ExtremeRouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\combos\\\\page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\combos\\page.js","default")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67003:(a,b,c)=>{Promise.resolve().then(c.bind(c,35447))},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},77619:(a,b,c)=>{Promise.resolve().then(c.bind(c,81681))},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81681:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>bV});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w=c(48249),x=c(67484),y=c.n(x),z=c(19099),A=c(50412),B=c(50377);let C=/^[a-zA-Z0-9_.\-]+$/,D=[{value:"fallback",label:"Fallback",desc:"Try models in order, next on failure",icon:"layers"},{value:"round-robin",label:"Round Robin",desc:"Rotate models across requests",icon:"cached"},{value:"fusion",label:"Fusion",desc:"Parallel panel + judge synthesis",icon:"hub"},{value:"swarm",label:"Swarm",desc:"Hierarchical Manager→Staff→Workers",icon:"account_tree"}],E={fallback:{icon:"layers",color:"#3B82F6",badge:"info"},"round-robin":{icon:"cached",color:"#10B981",badge:"success"},fusion:{icon:"hub",color:"#8B5CF6",badge:"primary"},swarm:{icon:"account_tree",color:"#F59E0B",badge:"warning"}};function F(a){return E[a]||E.fallback}function G(a){let b=D.find(b=>b.value===a);return b?.label||"Fallback"}let H=[{value:"all",label:"All"},{value:"fallback",label:"Fallback"},{value:"round-robin",label:"Round Robin"},{value:"fusion",label:"Fusion"},{value:"swarm",label:"Swarm"}],I=[{value:"name",label:"Name"},{value:"models-desc",label:"Most Models"},{value:"models-asc",label:"Fewest Models"}];function J({combos:a,comboStrategies:b,activeProviders:c,onViewCombos:d,onCreate:e}){let f=a.length,g=function(a){let b=new Set;for(let c of a)for(let a of c.models||[])b.add(a);return b.size}(a),h=function(a,b){let c={fallback:0,"round-robin":0,fusion:0,swarm:0};for(let d of a){let a=b[d.name]?.fallbackStrategy||"fallback";c[a]=(c[a]||0)+1}return c}(a,b),i=Object.values(h).filter(a=>a>0).length,j=f>0?Math.round(a.reduce((a,b)=>a+(b.models?.length||0),0)/f*10)/10:0,k=Math.max(...Object.values(h),1);return(0,w.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,w.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[{label:"Total Combos",value:f,icon:"layers",color:"#3B82F6"},{label:"Unique Models",value:g,icon:"model_training",color:"#10B981"},{label:"Strategies Used",value:i,icon:"account_tree",color:"#8B5CF6"},{label:"Avg Models/Combo",value:j,icon:"analytics",color:"#F59E0B"}].map(a=>(0,w.jsx)(A.Zp,{padding:"sm",children:(0,w.jsxs)("div",{className:"flex items-center gap-3",children:[(0,w.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${a.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:a.color},children:a.icon})}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"font-mono text-lg font-bold text-text-main",children:a.value}),(0,w.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted",children:a.label})]})]})},a.label))}),(0,w.jsxs)(A.Zp,{children:[(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:"Strategy Distribution"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"How combos are distributed across routing strategies"})]}),(0,w.jsx)("div",{className:"flex flex-col gap-2.5",children:Object.entries(h).map(([a,b])=>{let c=F(a),d=f>0?Math.round(b/f*100):0;return(0,w.jsxs)("div",{className:"flex items-center gap-3",children:[(0,w.jsxs)("div",{className:"flex w-28 items-center gap-1.5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:{color:c.color},children:c.icon}),(0,w.jsx)("span",{className:"text-xs font-medium text-text-main",children:G(a)})]}),(0,w.jsx)("div",{className:"flex-1 overflow-hidden rounded-full bg-surface-2",children:(0,w.jsx)("div",{className:"h-2.5 rounded-full transition-all",style:{width:`${b/k*100}%`,backgroundColor:c.color}})}),(0,w.jsxs)("span",{className:"w-16 text-right font-mono text-xs text-text-muted",children:[b," (",d,"%)"]})]},a)})})]}),(0,w.jsxs)(A.Zp,{children:[(0,w.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:"Combo Health"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"Overview of each combo's status"})]}),(0,w.jsx)(A.$n,{size:"sm",variant:"ghost",icon:"list_alt",onClick:d,children:"View All"})]}),0===a.length?(0,w.jsxs)("div",{className:"py-6 text-center text-sm text-text-muted",children:["No combos yet. ",(0,w.jsx)("button",{onClick:e,className:"text-primary hover:underline",children:"Create one →"})]}):(0,w.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>{let d=b[a.name]?.fallbackStrategy||"fallback",e=F(d),f=(a.models||[]).filter(a=>{let b=a.split("/")[0];return c.some(a=>a.provider===b&&!1!==a.isActive)}).length,g=(a.models||[]).length,h=g>0?Math.round(f/g*100):0;return(0,w.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle px-3 py-2 hover:bg-sidebar/30",children:[(0,w.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded",style:{backgroundColor:`${e.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[15px]",style:{color:e.color},children:e.icon})}),(0,w.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,w.jsx)("code",{className:"truncate font-mono text-xs font-medium",children:a.name}),(0,w.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,w.jsx)(A.Ex,{variant:e.badge,size:"sm",children:G(d)}),(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:[g," models"]})]})]}),(0,w.jsxs)("div",{className:"hidden sm:flex items-center gap-2 shrink-0",children:[(0,w.jsx)("div",{className:"w-20 overflow-hidden rounded-full bg-surface-2",children:(0,w.jsx)("div",{className:`h-1.5 rounded-full ${h>=80?"bg-success":h>=50?"bg-warning":"bg-danger"}`,style:{width:`${h}%`}})}),(0,w.jsxs)("span",{className:"w-8 text-right font-mono text-[10px] text-text-muted",children:[f,"/",g]})]})]},a.id)})})]})]})}function K({combo:a,modelCaps:b={},activeProviders:c=[],copied:d,onCopy:e,onEdit:f,onDelete:g,strategy:h={},onSetStrategy:i}){let[j,k]=(0,x.useState)(!1),[l,m]=(0,x.useState)(!1),[n,o]=(0,x.useState)(null),p=h.fallbackStrategy||"fallback",q=h.judgeModel||"",r="fusion"===p,s="swarm"===p,t=h.managerModel||"",u=h.staffModel||"",v=h.auditModel||"",y=F(p);return(0,w.jsxs)(A.Zp,{padding:"sm",className:"group transition-all hover:border-primary/20",children:[(0,w.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,w.jsxs)("button",{className:"flex min-w-0 flex-1 items-start gap-3 text-left sm:items-center",onClick:()=>k(!j),children:[(0,w.jsx)("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${y.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:y.color},children:y.icon})}),(0,w.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("code",{className:"truncate font-mono text-sm font-medium",children:a.name}),(0,w.jsx)(A.Ex,{variant:y.badge,size:"sm",children:G(p)}),(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:[a.models.length," models"]})]}),(0,w.jsxs)("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-1",children:[0===a.models.length?(0,w.jsx)("span",{className:"text-xs text-text-muted italic",children:"No models"}):a.models.slice(0,3).map((a,c)=>(0,w.jsxs)("code",{className:"inline-flex items-center gap-1 rounded bg-black/5 px-1.5 py-0.5 font-mono text-xs text-text-muted dark:bg-white/5",children:[(0,w.jsx)("span",{className:"truncate max-w-[120px]",children:a}),b[a]&&(0,w.jsx)(A.nh,{caps:b[a],size:11})]},c)),a.models.length>3&&(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",a.models.length-3," more"]})]})]}),(0,w.jsx)("span",{className:`shrink-0 text-text-muted transition-transform ${j?"rotate-180":""}`,children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"expand_more"})})]}),(0,w.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center sm:gap-3 sm:shrink-0",children:[(0,w.jsx)("div",{className:"w-full sm:w-[180px]",children:(0,w.jsx)(A.l6,{options:D,value:p,onChange:a=>i({fallbackStrategy:a.target.value}),selectClassName:"py-1.5 text-xs"})}),(0,w.jsxs)("div",{className:"grid grid-cols-3 gap-1 sm:flex",children:[(0,w.jsxs)("button",{onClick:b=>{b.stopPropagation(),e(a.name,`combo-${a.id}`)},className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Copy combo name",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:d===`combo-${a.id}`?"check":"content_copy"}),(0,w.jsx)("span",{className:"text-[10px] leading-tight",children:"Copy"})]}),(0,w.jsxs)("button",{onClick:f,className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Edit",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"}),(0,w.jsx)("span",{className:"text-[10px] leading-tight",children:"Edit"})]}),(0,w.jsxs)("button",{onClick:g,className:"flex flex-col items-center rounded px-2 py-1 text-red-500 transition-colors hover:bg-red-500/10",title:"Delete",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"}),(0,w.jsx)("span",{className:"text-[10px] leading-tight",children:"Delete"})]})]})]})]}),j&&(0,w.jsxs)("div",{className:"mt-3 border-t border-border-subtle pt-3",children:[(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsxs)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:["Models (",a.models.length,")"]}),(0,w.jsx)("div",{className:"flex flex-col gap-1",children:a.models.map((a,c)=>(0,w.jsxs)("div",{className:"flex items-center gap-2 rounded px-2 py-1 bg-black/[0.02] dark:bg-white/[0.02]",children:[(0,w.jsx)("span",{className:"text-[10px] font-medium text-text-muted w-4 text-center",children:c+1}),(0,w.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-main",children:a}),b[a]&&(0,w.jsx)(A.nh,{caps:b[a],size:11})]},c))})]}),r&&(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:"Fusion Judge"}),(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsxs)("button",{onClick:()=>m(!0),className:"inline-flex max-w-full items-center gap-1 rounded border border-dashed border-primary/40 px-2 py-1 font-mono text-xs text-primary hover:border-primary hover:bg-primary/5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"gavel"}),(0,w.jsx)("span",{className:"truncate",children:q||`Auto — ${a.models[0]||"first model"}`})]}),q&&(0,w.jsx)("button",{onClick:()=>i({judgeModel:""}),className:"p-1 rounded text-text-muted hover:text-red-500 hover:bg-red-500/10",title:"Reset to Auto",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})]}),s&&(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:"Swarm Roles"}),(0,w.jsxs)("div",{className:"flex flex-col gap-1.5",children:[[{key:"manager",label:"Manager",icon:"psychology",value:t,placeholder:`Auto — ${a.models[0]||"first"}`},{key:"staff",label:"Staff",icon:"badge",value:u,placeholder:"Same as Manager"},{key:"audit",label:"Audit",icon:"fact_check",value:v,placeholder:"Same as Staff"}].map(a=>(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("span",{className:"text-xs font-medium text-text-muted w-16",children:a.label}),(0,w.jsxs)("button",{onClick:()=>o(a.key),className:"inline-flex max-w-full items-center gap-1 rounded border border-dashed border-primary/40 px-2 py-0.5 font-mono text-[11px] text-primary hover:border-primary hover:bg-primary/5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:a.icon}),(0,w.jsx)("span",{className:"truncate",children:a.value||a.placeholder})]}),a.value&&(0,w.jsx)("button",{onClick:()=>i({[`${a.key}Model`]:""}),className:"p-0.5 rounded text-text-muted hover:text-red-500 hover:bg-red-500/10",title:`Reset ${a.label}`,children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"close"})})]},a.key)),(0,w.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-text-muted",children:[(0,w.jsx)("span",{className:"font-medium",children:"Workers"}),(0,w.jsxs)("span",{children:["= combo models (",a.models.length,")"]}),(0,w.jsx)("span",{className:"text-text-subtle",children:"\xb7"}),(0,w.jsx)("a",{href:"/dashboard/swarm",className:"text-primary hover:underline",children:"Telemetry →"})]})]})]}),(0,w.jsxs)("div",{className:"text-xs text-text-muted bg-black/[0.02] dark:bg-white/[0.02] rounded px-2 py-1.5",children:[(0,w.jsxs)("span",{className:"font-medium",children:[G(p),":"]})," ",D.find(a=>a.value===p)?.desc]})]}),(0,w.jsx)(A.rq,{isOpen:l,onClose:()=>m(!1),onSelect:a=>{i({judgeModel:a?.value||""}),m(!1)},activeProviders:c,title:"Select Judge Model",addedModelValues:q?[q]:[],closeOnSelect:!0}),n&&(0,w.jsx)(A.rq,{isOpen:!0,onClose:()=>o(null),onSelect:a=>{i({[`${n}Model`]:a?.value||""}),o(null)},activeProviders:c,title:`Select ${"manager"===n?"Manager":"staff"===n?"Staff":"Audit"} Model`,addedModelValues:[],closeOnSelect:!0})]})}function L({combos:a,modelCaps:b,activeProviders:c,comboStrategies:d,copied:e,copy:f,onEdit:g,onDelete:h,onSetStrategy:i,onCreate:j}){let[k,l]=(0,x.useState)(""),[m,n]=(0,x.useState)("all"),[o,p]=(0,x.useState)("name"),q=(0,x.useMemo)(()=>{var b;let c;return b=function(a,b,c,d){let e=a;if("all"!==c&&(e=e.filter(a=>(d[a.name]?.fallbackStrategy||"fallback")===c)),b.trim()){let a=b.trim().toLowerCase();e=e.filter(b=>b.name.toLowerCase().includes(a)||(b.models||[]).some(b=>b.toLowerCase().includes(a)))}return e}(a,k,m,d),c=[...b],"models-desc"===o?c.sort((a,b)=>(b.models?.length||0)-(a.models?.length||0)):"models-asc"===o?c.sort((a,b)=>(a.models?.length||0)-(b.models?.length||0)):c.sort((a,b)=>a.name.localeCompare(b.name)),c},[a,k,m,o,d]);return 0===a.length?(0,w.jsx)(A.pp,{icon:"layers",title:"No combos yet",description:"Create model combos with fallback, round-robin, fusion, or swarm strategies",actionText:"Create Combo",onAction:j}):(0,w.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,w.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,w.jsx)(A.pd,{placeholder:"Search combos or models...",value:k,onChange:a=>l(a.target.value),className:"sm:max-w-xs"}),(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("div",{className:"flex flex-wrap gap-1",children:H.map(a=>(0,w.jsx)("button",{onClick:()=>n(a.value),className:`rounded-full px-2.5 py-1 text-xs font-medium transition-colors ${m===a.value?"bg-primary/15 text-primary ring-1 ring-primary/20":"bg-surface-2 text-text-muted hover:text-text-main"}`,children:a.label},a.value))}),(0,w.jsx)("select",{value:o,onChange:a=>p(a.target.value),className:"appearance-none rounded-lg border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-main [-webkit-appearance:none] [-moz-appearance:none] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30",children:I.map(a=>(0,w.jsx)("option",{value:a.value,children:a.label},a.value))})]})]}),(0,w.jsx)("p",{className:"text-xs text-text-muted",children:q.length===a.length?`${a.length} combo${1!==a.length?"s":""}`:`${q.length} of ${a.length} combos`}),0===q.length?(0,w.jsx)(A.Zp,{children:(0,w.jsxs)("div",{className:"py-8 text-center text-sm text-text-muted",children:['No combos match "',k,'" ',"all"!==m&&`with ${m} strategy`]})}):(0,w.jsx)("div",{className:"flex flex-col gap-3",children:q.map(a=>(0,w.jsx)(K,{combo:a,modelCaps:b,activeProviders:c,copied:e,onCopy:f,onEdit:()=>g(a),onDelete:()=>h(a.id),strategy:d[a.name]||{},onSetStrategy:b=>i(a.name,b)},a.id))})]})}let M=[{id:"always-on",name:"Always-On (5-Layer Fallback)",description:"Zero-downtime coding with 5 layers of fallback. Mix of subscription, cheap, and free tiers — if any model fails, the next picks up automatically.",icon:"shield",category:"reliability",strategy:"fallback",models:["cc/claude-opus-4-7","cx/gpt-5.4","glm/glm-5.1","minimax/MiniMax-M2.7","kr/claude-sonnet-4.5"],requiredProviders:["claude","codex","glm","minimax","kiro"]}];function N({combos:a,connections:b,onApply:c}){let[d,e]=(0,x.useState)(null),f=new Set(b?.filter(a=>!1!==a.isActive).map(a=>a.provider)||[]),g=new Set((a||[]).map(a=>a.name)),h=async a=>{e(a.id);try{let b=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a.name,models:a.models,kind:null})});if(!b.ok){let a=await b.json();alert(a.error||"Failed to create combo from template");return}await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:{[a.name]:{fallbackStrategy:a.strategy}}})}),c&&c()}catch(a){alert("Failed to apply template: "+(a?.message||String(a)))}finally{e(null)}};return 0===M.length?(0,w.jsx)(A.pp,{icon:"dashboard_customize",title:"No templates available",description:"Combo templates will appear here when added."}):(0,w.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,w.jsxs)("div",{className:"mb-1",children:[(0,w.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"Combo Templates"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"One-click prebuilt combos. Provider availability is checked automatically."})]}),(0,w.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:M.map(a=>{let b=(a.requiredProviders||[]).filter(a=>f.has(a)).length,c=(a.requiredProviders||[]).length,e=g.has(a.name),i=F(a.strategy);return(0,w.jsxs)(A.Zp,{padding:"sm",className:"flex flex-col gap-3 hover:border-primary/20 transition-all",children:[(0,w.jsxs)("div",{className:"flex items-start justify-between",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,w.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${i.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:i.color},children:a.icon||i.icon})}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-sm font-semibold text-text-main",children:a.name}),(0,w.jsx)(A.Ex,{variant:i.badge,size:"sm",children:G(a.strategy)})]})]}),e&&(0,w.jsx)(A.Ex,{variant:"success",size:"sm",dot:!0,children:"Created"})]}),(0,w.jsx)("p",{className:"text-xs text-text-muted leading-relaxed",children:a.description}),(0,w.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(a.models||[]).slice(0,4).map((a,b)=>(0,w.jsx)("code",{className:"inline-flex items-center rounded bg-black/5 px-1.5 py-0.5 font-mono text-[10px] text-text-muted dark:bg-white/5",children:a},b)),(a.models||[]).length>4&&(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",(a.models||[]).length-4," more"]})]}),(0,w.jsx)("div",{className:"flex flex-wrap gap-1",children:(a.requiredProviders||[]).map(a=>{let b=f.has(a);return(0,w.jsxs)("span",{className:`inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[10px] font-medium ${b?"bg-success/10 text-success":"bg-surface-2 text-text-muted"}`,children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[10px]",children:b?"check_circle":"radio_button_unchecked"}),a]},a)})}),(0,w.jsx)("div",{className:"mt-auto pt-1",children:(0,w.jsx)(A.$n,{size:"sm",fullWidth:!0,variant:e?"secondary":"primary",icon:d===a.id?"progress_activity":"add",disabled:e||d===a.id,onClick:()=>h(a),children:d===a.id?"Creating...":e?"Already Created":b===c?"Apply Template":`Apply (${b}/${c} ready)`})})]},a.id)})})]})}var O=c(74429);let P="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function Q(a){let b=Object.prototype.toString.call(a);return"[object Window]"===b||"[object global]"===b}function R(a){return"nodeType"in a}function S(a){var b,c;return a?Q(a)?a:R(a)&&null!=(b=null==(c=a.ownerDocument)?void 0:c.defaultView)?b:window:window}function T(a){let{Document:b}=S(a);return a instanceof b}function U(a){return!Q(a)&&a instanceof S(a).HTMLElement}function V(a){return a instanceof S(a).SVGElement}function W(a){return a?Q(a)?a.document:R(a)?T(a)?a:U(a)||V(a)?a.ownerDocument:document:document:document}let X=P?x.useLayoutEffect:x.useEffect;function Y(a){let b=(0,x.useRef)(a);return X(()=>{b.current=a}),(0,x.useCallback)(function(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return null==b.current?void 0:b.current(...c)},[])}function Z(a,b){void 0===b&&(b=[a]);let c=(0,x.useRef)(a);return X(()=>{c.current!==a&&(c.current=a)},b),c}function $(a,b){let c=(0,x.useRef)();return(0,x.useMemo)(()=>{let b=a(c.current);return c.current=b,b},[...b])}function _(a){let b=Y(a),c=(0,x.useRef)(null),d=(0,x.useCallback)(a=>{a!==c.current&&(null==b||b(a,c.current)),c.current=a},[]);return[c,d]}function aa(a){let b=(0,x.useRef)();return(0,x.useEffect)(()=>{b.current=a},[a]),b.current}let ab={};function ac(a,b){return(0,x.useMemo)(()=>{if(b)return b;let c=null==ab[a]?0:ab[a]+1;return ab[a]=c,a+"-"+c},[a,b])}function ad(a){return function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return d.reduce((b,c)=>{for(let[d,e]of Object.entries(c)){let c=b[d];null!=c&&(b[d]=c+a*e)}return b},{...b})}}let ae=ad(1),af=ad(-1);function ag(a){if(!a)return!1;let{KeyboardEvent:b}=S(a.target);return b&&a instanceof b}function ah(a){if(function(a){if(!a)return!1;let{TouchEvent:b}=S(a.target);return b&&a instanceof b}(a)){if(a.touches&&a.touches.length){let{clientX:b,clientY:c}=a.touches[0];return{x:b,y:c}}else if(a.changedTouches&&a.changedTouches.length){let{clientX:b,clientY:c}=a.changedTouches[0];return{x:b,y:c}}}return"clientX"in a&&"clientY"in a?{x:a.clientX,y:a.clientY}:null}let ai=Object.freeze({Translate:{toString(a){if(!a)return;let{x:b,y:c}=a;return"translate3d("+(b?Math.round(b):0)+"px, "+(c?Math.round(c):0)+"px, 0)"}},Scale:{toString(a){if(!a)return;let{scaleX:b,scaleY:c}=a;return"scaleX("+b+") scaleY("+c+")"}},Transform:{toString(a){if(a)return[ai.Translate.toString(a),ai.Scale.toString(a)].join(" ")}},Transition:{toString(a){let{property:b,duration:c,easing:d}=a;return b+" "+c+"ms "+d}}}),aj="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",ak={display:"none"};function al(a){let{id:b,value:c}=a;return y().createElement("div",{id:b,style:ak},c)}function am(a){let{id:b,announcement:c,ariaLiveType:d="assertive"}=a;return y().createElement("div",{id:b,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":d,"aria-atomic":!0},c)}let an=(0,x.createContext)(null),ao={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},ap={onDragStart(a){let{active:b}=a;return"Picked up draggable item "+b.id+"."},onDragOver(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was moved over droppable area "+c.id+".":"Draggable item "+b.id+" is no longer over a droppable area."},onDragEnd(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was dropped over droppable area "+c.id:"Draggable item "+b.id+" was dropped."},onDragCancel(a){let{active:b}=a;return"Dragging was cancelled. Draggable item "+b.id+" was dropped."}};function aq(a){var b;let c,{announcements:d=ap,container:e,hiddenTextDescribedById:f,screenReaderInstructions:g=ao}=a,{announce:h,announcement:i}=function(){let[a,b]=(0,x.useState)("");return{announce:(0,x.useCallback)(a=>{null!=a&&b(a)},[]),announcement:a}}(),j=ac("DndLiveRegion"),[k,l]=(0,x.useState)(!1);if((0,x.useEffect)(()=>{l(!0)},[]),b=(0,x.useMemo)(()=>({onDragStart(a){let{active:b}=a;h(d.onDragStart({active:b}))},onDragMove(a){let{active:b,over:c}=a;d.onDragMove&&h(d.onDragMove({active:b,over:c}))},onDragOver(a){let{active:b,over:c}=a;h(d.onDragOver({active:b,over:c}))},onDragEnd(a){let{active:b,over:c}=a;h(d.onDragEnd({active:b,over:c}))},onDragCancel(a){let{active:b,over:c}=a;h(d.onDragCancel({active:b,over:c}))}}),[h,d]),c=(0,x.useContext)(an),(0,x.useEffect)(()=>{if(!c)throw Error("useDndMonitor must be used within a children of <DndContext>");return c(b)},[b,c]),!k)return null;let m=y().createElement(y().Fragment,null,y().createElement(al,{id:f,value:g.draggable}),y().createElement(am,{id:j,announcement:i}));return e?(0,O.createPortal)(m,e):m}function ar(){}function as(a,b){return(0,x.useMemo)(()=>({sensor:a,options:null!=b?b:{}}),[a,b])}(d=m||(m={})).DragStart="dragStart",d.DragMove="dragMove",d.DragEnd="dragEnd",d.DragCancel="dragCancel",d.DragOver="dragOver",d.RegisterDroppable="registerDroppable",d.SetDroppableDisabled="setDroppableDisabled",d.UnregisterDroppable="unregisterDroppable";let at=Object.freeze({x:0,y:0});function au(a,b){return Math.sqrt(Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2))}function av(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return c-d}function aw(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return d-c}function ax(a){let{left:b,top:c,height:d,width:e}=a;return[{x:b,y:c},{x:b+e,y:c},{x:b,y:c+d},{x:b+e,y:c+d}]}function ay(a,b){if(!a||0===a.length)return null;let[c]=a;return b?c[b]:c}function az(a,b,c){return void 0===b&&(b=a.left),void 0===c&&(c=a.top),{x:b+.5*a.width,y:c+.5*a.height}}let aA=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=az(b,b.left,b.top),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=au(az(d),e);f.push({id:b,data:{droppableContainer:a,value:c}})}}return f.sort(av)},aB=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=[];for(let a of d){let{id:d}=a,f=c.get(d);if(f){let c=function(a,b){let c=Math.max(b.top,a.top),d=Math.max(b.left,a.left),e=Math.min(b.left+b.width,a.left+a.width),f=Math.min(b.top+b.height,a.top+a.height);if(d<e&&c<f){let g=b.width*b.height,h=a.width*a.height,i=(e-d)*(f-c);return Number((i/(g+h-i)).toFixed(4))}return 0}(f,b);c>0&&e.push({id:d,data:{droppableContainer:a,value:c}})}}return e.sort(aw)};function aC(a,b){return a&&b?{x:a.left-b.left,y:a.top-b.top}:at}let aD=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.reduce((a,b)=>({...a,top:a.top+ +b.y,bottom:a.bottom+ +b.y,left:a.left+ +b.x,right:a.right+ +b.x}),{...a})},aE={ignoreTransform:!1};function aF(a,b){void 0===b&&(b=aE);let c=a.getBoundingClientRect();if(b.ignoreTransform){let{transform:b,transformOrigin:d}=S(a).getComputedStyle(a);b&&(c=function(a,b,c){let d=function(a){if(a.startsWith("matrix3d(")){let b=a.slice(9,-1).split(/, /);return{x:+b[12],y:+b[13],scaleX:+b[0],scaleY:+b[5]}}if(a.startsWith("matrix(")){let b=a.slice(7,-1).split(/, /);return{x:+b[4],y:+b[5],scaleX:+b[0],scaleY:+b[3]}}return null}(b);if(!d)return a;let{scaleX:e,scaleY:f,x:g,y:h}=d,i=a.left-g-(1-e)*parseFloat(c),j=a.top-h-(1-f)*parseFloat(c.slice(c.indexOf(" ")+1)),k=e?a.width/e:a.width,l=f?a.height/f:a.height;return{width:k,height:l,top:j,right:i+k,bottom:j+l,left:i}}(c,b,d))}let{top:d,left:e,width:f,height:g,bottom:h,right:i}=c;return{top:d,left:e,width:f,height:g,bottom:h,right:i}}function aG(a){return aF(a,{ignoreTransform:!0})}function aH(a,b){let c=[];return a?function d(e){var f,g;let h;if(null!=b&&c.length>=b||!e)return c;if(T(e)&&null!=e.scrollingElement&&!c.includes(e.scrollingElement))return c.push(e.scrollingElement),c;if(!U(e)||V(e)||c.includes(e))return c;let i=S(a).getComputedStyle(e);return(e!==a&&(void 0===(f=i)&&(f=S(e).getComputedStyle(e)),h=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(a=>{let b=f[a];return"string"==typeof b&&h.test(b)}))&&c.push(e),void 0===(g=i)&&(g=S(e).getComputedStyle(e)),"fixed"===g.position)?c:d(e.parentNode)}(a):c}function aI(a){let[b]=aH(a,1);return null!=b?b:null}function aJ(a){return P&&a?Q(a)?a:R(a)?T(a)||a===W(a).scrollingElement?window:U(a)?a:null:null:null}function aK(a){return Q(a)?a.scrollX:a.scrollLeft}function aL(a){return Q(a)?a.scrollY:a.scrollTop}function aM(a){return{x:aK(a),y:aL(a)}}function aN(a){return!!P&&!!a&&a===document.scrollingElement}function aO(a){let b={x:0,y:0},c=aN(a)?{height:window.innerHeight,width:window.innerWidth}:{height:a.clientHeight,width:a.clientWidth},d={x:a.scrollWidth-c.width,y:a.scrollHeight-c.height},e=a.scrollTop<=b.y,f=a.scrollLeft<=b.x;return{isTop:e,isLeft:f,isBottom:a.scrollTop>=d.y,isRight:a.scrollLeft>=d.x,maxScroll:d,minScroll:b}}(e=n||(n={}))[e.Forward=1]="Forward",e[e.Backward=-1]="Backward";let aP={x:.2,y:.2};function aQ(a){return a.reduce((a,b)=>ae(a,aM(b)),at)}let aR=[["x",["left","right"],function(a){return a.reduce((a,b)=>a+aK(b),0)}],["y",["top","bottom"],function(a){return a.reduce((a,b)=>a+aL(b),0)}]];class aS{constructor(a,b){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const c=aH(b),d=aQ(c);for(const[b,e,f]of(this.rect={...a},this.width=a.width,this.height=a.height,aR))for(const a of e)Object.defineProperty(this,a,{get:()=>{let e=f(c),g=d[b]-e;return this.rect[a]+g},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class aT{constructor(a){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var b;return null==(b=this.target)?void 0:b.removeEventListener(...a)})},this.target=a}add(a,b,c){var d;null==(d=this.target)||d.addEventListener(a,b,c),this.listeners.push([a,b,c])}}function aU(a,b){let c=Math.abs(a.x),d=Math.abs(a.y);return"number"==typeof b?Math.sqrt(c**2+d**2)>b:"x"in b&&"y"in b?c>b.x&&d>b.y:"x"in b?c>b.x:"y"in b&&d>b.y}function aV(a){a.preventDefault()}function aW(a){a.stopPropagation()}(f=o||(o={})).Click="click",f.DragStart="dragstart",f.Keydown="keydown",f.ContextMenu="contextmenu",f.Resize="resize",f.SelectionChange="selectionchange",f.VisibilityChange="visibilitychange",(g=p||(p={})).Space="Space",g.Down="ArrowDown",g.Right="ArrowRight",g.Left="ArrowLeft",g.Up="ArrowUp",g.Esc="Escape",g.Enter="Enter",g.Tab="Tab";let aX={start:[p.Space,p.Enter],cancel:[p.Esc],end:[p.Space,p.Enter,p.Tab]},aY=(a,b)=>{let{currentCoordinates:c}=b;switch(a.code){case p.Right:return{...c,x:c.x+25};case p.Left:return{...c,x:c.x-25};case p.Down:return{...c,y:c.y+25};case p.Up:return{...c,y:c.y-25}}};class aZ{constructor(a){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=a;const{event:{target:b}}=a;this.props=a,this.listeners=new aT(W(b)),this.windowListeners=new aT(S(b)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(o.Resize,this.handleCancel),this.windowListeners.add(o.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(o.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:a,onStart:b}=this.props,c=a.node.current;c&&function(a,b){if(void 0===b&&(b=aF),!a)return;let{top:c,left:d,bottom:e,right:f}=b(a);aI(a)&&(e<=0||f<=0||c>=window.innerHeight||d>=window.innerWidth)&&a.scrollIntoView({block:"center",inline:"center"})}(c),b(at)}handleKeyDown(a){if(ag(a)){let{active:b,context:c,options:d}=this.props,{keyboardCodes:e=aX,coordinateGetter:f=aY,scrollBehavior:g="smooth"}=d,{code:h}=a;if(e.end.includes(h))return void this.handleEnd(a);if(e.cancel.includes(h))return void this.handleCancel(a);let{collisionRect:i}=c.current,j=i?{x:i.left,y:i.top}:at;this.referenceCoordinates||(this.referenceCoordinates=j);let k=f(a,{active:b,context:c.current,currentCoordinates:j});if(k){let b=af(k,j),d={x:0,y:0},{scrollableAncestors:e}=c.current;for(let c of e){let e=a.code,{isTop:f,isRight:h,isLeft:i,isBottom:j,maxScroll:l,minScroll:m}=aO(c),n=function(a){if(a===document.scrollingElement){let{innerWidth:a,innerHeight:b}=window;return{top:0,left:0,right:a,bottom:b,width:a,height:b}}let{top:b,left:c,right:d,bottom:e}=a.getBoundingClientRect();return{top:b,left:c,right:d,bottom:e,width:a.clientWidth,height:a.clientHeight}}(c),o={x:Math.min(e===p.Right?n.right-n.width/2:n.right,Math.max(e===p.Right?n.left:n.left+n.width/2,k.x)),y:Math.min(e===p.Down?n.bottom-n.height/2:n.bottom,Math.max(e===p.Down?n.top:n.top+n.height/2,k.y))},q=e===p.Right&&!h||e===p.Left&&!i,r=e===p.Down&&!j||e===p.Up&&!f;if(q&&o.x!==k.x){let a=c.scrollLeft+b.x,f=e===p.Right&&a<=l.x||e===p.Left&&a>=m.x;if(f&&!b.y)return void c.scrollTo({left:a,behavior:g});f?d.x=c.scrollLeft-a:d.x=e===p.Right?c.scrollLeft-l.x:c.scrollLeft-m.x,d.x&&c.scrollBy({left:-d.x,behavior:g});break}if(r&&o.y!==k.y){let a=c.scrollTop+b.y,f=e===p.Down&&a<=l.y||e===p.Up&&a>=m.y;if(f&&!b.x)return void c.scrollTo({top:a,behavior:g});f?d.y=c.scrollTop-a:d.y=e===p.Down?c.scrollTop-l.y:c.scrollTop-m.y,d.y&&c.scrollBy({top:-d.y,behavior:g});break}}this.handleMove(a,ae(af(k,this.referenceCoordinates),d))}}}handleMove(a,b){let{onMove:c}=this.props;a.preventDefault(),c(b)}handleEnd(a){let{onEnd:b}=this.props;a.preventDefault(),this.detach(),b()}handleCancel(a){let{onCancel:b}=this.props;a.preventDefault(),this.detach(),b()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function a$(a){return!!(a&&"distance"in a)}function a_(a){return!!(a&&"delay"in a)}aZ.activators=[{eventName:"onKeyDown",handler:(a,b,c)=>{let{keyboardCodes:d=aX,onActivation:e}=b,{active:f}=c,{code:g}=a.nativeEvent;if(d.start.includes(g)){let b=f.activatorNode.current;return(!b||a.target===b)&&(a.preventDefault(),null==e||e({event:a.nativeEvent}),!0)}return!1}}];class a0{constructor(a,b,c){var d;void 0===c&&(c=function(a){let{EventTarget:b}=S(a);return a instanceof b?a:W(a)}(a.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=a,this.events=b;const{event:e}=a,{target:f}=e;this.props=a,this.events=b,this.document=W(f),this.documentListeners=new aT(this.document),this.listeners=new aT(c),this.windowListeners=new aT(S(f)),this.initialCoordinates=null!=(d=ah(e))?d:at,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:a,props:{options:{activationConstraint:b,bypassActivationConstraint:c}}}=this;if(this.listeners.add(a.move.name,this.handleMove,{passive:!1}),this.listeners.add(a.end.name,this.handleEnd),a.cancel&&this.listeners.add(a.cancel.name,this.handleCancel),this.windowListeners.add(o.Resize,this.handleCancel),this.windowListeners.add(o.DragStart,aV),this.windowListeners.add(o.VisibilityChange,this.handleCancel),this.windowListeners.add(o.ContextMenu,aV),this.documentListeners.add(o.Keydown,this.handleKeydown),b){if(null!=c&&c({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(a_(b)){this.timeoutId=setTimeout(this.handleStart,b.delay),this.handlePending(b);return}if(a$(b))return void this.handlePending(b)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(a,b){let{active:c,onPending:d}=this.props;d(c,a,this.initialCoordinates,b)}handleStart(){let{initialCoordinates:a}=this,{onStart:b}=this.props;a&&(this.activated=!0,this.documentListeners.add(o.Click,aW,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(o.SelectionChange,this.removeTextSelection),b(a))}handleMove(a){var b;let{activated:c,initialCoordinates:d,props:e}=this,{onMove:f,options:{activationConstraint:g}}=e;if(!d)return;let h=null!=(b=ah(a))?b:at,i=af(d,h);if(!c&&g){if(a$(g)){if(null!=g.tolerance&&aU(i,g.tolerance))return this.handleCancel();if(aU(i,g.distance))return this.handleStart()}return a_(g)&&aU(i,g.tolerance)?this.handleCancel():void this.handlePending(g,i)}a.cancelable&&a.preventDefault(),f(h)}handleEnd(){let{onAbort:a,onEnd:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleCancel(){let{onAbort:a,onCancel:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleKeydown(a){a.code===p.Esc&&this.handleCancel()}removeTextSelection(){var a;null==(a=this.document.getSelection())||a.removeAllRanges()}}let a1={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class a2 extends a0{constructor(a){const{event:b}=a;super(a,a1,W(b.target))}}a2.activators=[{eventName:"onPointerDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return!!c.isPrimary&&0===c.button&&(null==d||d({event:c}),!0)}}];let a3={move:{name:"mousemove"},end:{name:"mouseup"}};(h=q||(q={}))[h.RightClick=2]="RightClick";class a4 extends a0{constructor(a){super(a,a3,W(a.event.target))}}a4.activators=[{eventName:"onMouseDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return c.button!==q.RightClick&&(null==d||d({event:c}),!0)}}];let a5={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class a6 extends a0{constructor(a){super(a,a5)}static setup(){return window.addEventListener(a5.move.name,a,{capture:!1,passive:!1}),function(){window.removeEventListener(a5.move.name,a)};function a(){}}}a6.activators=[{eventName:"onTouchStart",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b,{touches:e}=c;return!(e.length>1)&&(null==d||d({event:c}),!0)}}],(i=r||(r={}))[i.Pointer=0]="Pointer",i[i.DraggableRect=1]="DraggableRect",(j=s||(s={}))[j.TreeOrder=0]="TreeOrder",j[j.ReversedTreeOrder=1]="ReversedTreeOrder";let a7={x:{[n.Backward]:!1,[n.Forward]:!1},y:{[n.Backward]:!1,[n.Forward]:!1}};(k=t||(t={}))[k.Always=0]="Always",k[k.BeforeDragging=1]="BeforeDragging",k[k.WhileDragging=2]="WhileDragging",(u||(u={})).Optimized="optimized";let a8=new Map;function a9(a,b){return $(c=>a?c||("function"==typeof b?b(a):a):null,[b,a])}function ba(a){let{callback:b,disabled:c}=a,d=Y(b),e=(0,x.useMemo)(()=>{if(c||"u"<typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:a}=window;return new a(d)},[c]);return(0,x.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}function bb(a){return new aS(aF(a),a)}function bc(a,b,c){void 0===b&&(b=bb);let[d,e]=(0,x.useState)(null);function f(){e(d=>{if(!a)return null;if(!1===a.isConnected){var e;return null!=(e=null!=d?d:c)?e:null}let f=b(a);return JSON.stringify(d)===JSON.stringify(f)?d:f})}let g=function(a){let{callback:b,disabled:c}=a,d=Y(b),e=(0,x.useMemo)(()=>{if(c||"u"<typeof window||void 0===window.MutationObserver)return;let{MutationObserver:a}=window;return new a(d)},[d,c]);return(0,x.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}({callback(b){if(a)for(let c of b){let{type:b,target:d}=c;if("childList"===b&&d instanceof HTMLElement&&d.contains(a)){f();break}}}}),h=ba({callback:f});return X(()=>{f(),a?(null==h||h.observe(a),null==g||g.observe(document.body,{childList:!0,subtree:!0})):(null==h||h.disconnect(),null==g||g.disconnect())},[a]),d}let bd=[];function be(a,b){void 0===b&&(b=[]);let c=(0,x.useRef)(null);return(0,x.useEffect)(()=>{c.current=null},b),(0,x.useEffect)(()=>{let b=a!==at;b&&!c.current&&(c.current=a),!b&&c.current&&(c.current=null)},[a]),c.current?af(a,c.current):at}function bf(a){return(0,x.useMemo)(()=>{let b,c;return a?(b=a.innerWidth,{top:0,left:0,right:b,bottom:c=a.innerHeight,width:b,height:c}):null},[a])}let bg=[],bh=[{sensor:a2,options:{}},{sensor:aZ,options:{}}],bi={current:{}},bj={draggable:{measure:aG},droppable:{measure:aG,strategy:t.WhileDragging,frequency:u.Optimized},dragOverlay:{measure:aF}};class bk extends Map{get(a){var b;return null!=a&&null!=(b=super.get(a))?b:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(a=>{let{disabled:b}=a;return!b})}getNodeFor(a){var b,c;return null!=(b=null==(c=this.get(a))?void 0:c.node.current)?b:void 0}}let bl={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new bk,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ar},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:bj,measureDroppableContainers:ar,windowRect:null,measuringScheduled:!1},bm={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:ar,draggableNodes:new Map,over:null,measureDroppableContainers:ar},bn=(0,x.createContext)(bm),bo=(0,x.createContext)(bl);function bp(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new bk}}}function bq(a,b){switch(b.type){case m.DragStart:return{...a,draggable:{...a.draggable,initialCoordinates:b.initialCoordinates,active:b.active}};case m.DragMove:if(null==a.draggable.active)return a;return{...a,draggable:{...a.draggable,translate:{x:b.coordinates.x-a.draggable.initialCoordinates.x,y:b.coordinates.y-a.draggable.initialCoordinates.y}}};case m.DragEnd:case m.DragCancel:return{...a,draggable:{...a.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case m.RegisterDroppable:{let{element:c}=b,{id:d}=c,e=new bk(a.droppable.containers);return e.set(d,c),{...a,droppable:{...a.droppable,containers:e}}}case m.SetDroppableDisabled:{let{id:c,key:d,disabled:e}=b,f=a.droppable.containers.get(c);if(!f||d!==f.key)return a;let g=new bk(a.droppable.containers);return g.set(c,{...f,disabled:e}),{...a,droppable:{...a.droppable,containers:g}}}case m.UnregisterDroppable:{let{id:c,key:d}=b,e=a.droppable.containers.get(c);if(!e||d!==e.key)return a;let f=new bk(a.droppable.containers);return f.delete(c),{...a,droppable:{...a.droppable,containers:f}}}default:return a}}function br(a){let{disabled:b}=a,{active:c,activatorEvent:d,draggableNodes:e}=(0,x.useContext)(bn),f=aa(d),g=aa(null==c?void 0:c.id);return(0,x.useEffect)(()=>{if(!b&&!d&&f&&null!=g){if(!ag(f)||document.activeElement===f.target)return;let a=e.get(g);if(!a)return;let{activatorNode:b,node:c}=a;(b.current||c.current)&&requestAnimationFrame(()=>{for(let a of[b.current,c.current]){if(!a)continue;let b=a.matches(aj)?a:a.querySelector(aj);if(b){b.focus();break}}})}},[d,b,e,g,f]),null}let bs=(0,x.createContext)({...at,scaleX:1,scaleY:1});(l=v||(v={}))[l.Uninitialized=0]="Uninitialized",l[l.Initializing=1]="Initializing",l[l.Initialized=2]="Initialized";let bt=(0,x.memo)(function(a){var b,c,d,e,f,g,h,i;let j,k,l,o,p,q,u,w,{id:z,accessibility:A,autoScroll:B=!0,children:C,sensors:D=bh,collisionDetection:E=aB,measuring:F,modifiers:G,...H}=a,[I,J]=(0,x.useReducer)(bq,void 0,bp),[K,L]=function(){let[a]=(0,x.useState)(()=>new Set),b=(0,x.useCallback)(b=>(a.add(b),()=>a.delete(b)),[a]);return[(0,x.useCallback)(b=>{let{type:c,event:d}=b;a.forEach(a=>{var b;return null==(b=a[c])?void 0:b.call(a,d)})},[a]),b]}(),[M,N]=(0,x.useState)(v.Uninitialized),Q=M===v.Initialized,{draggable:{active:R,nodes:T,translate:V},droppable:{containers:W}}=I,Y=null!=R?T.get(R):null,ab=(0,x.useRef)({initial:null,translated:null}),ad=(0,x.useMemo)(()=>{var a;return null!=R?{id:R,data:null!=(a=null==Y?void 0:Y.data)?a:bi,rect:ab}:null},[R,Y]),af=(0,x.useRef)(null),[ag,ai]=(0,x.useState)(null),[aj,ak]=(0,x.useState)(null),al=Z(H,Object.values(H)),am=ac("DndDescribedBy",z),ao=(0,x.useMemo)(()=>W.getEnabled(),[W]),ap=(0,x.useMemo)(()=>({draggable:{...bj.draggable,...null==F?void 0:F.draggable},droppable:{...bj.droppable,...null==F?void 0:F.droppable},dragOverlay:{...bj.dragOverlay,...null==F?void 0:F.dragOverlay}}),[null==F?void 0:F.draggable,null==F?void 0:F.droppable,null==F?void 0:F.dragOverlay]),{droppableRects:ar,measureDroppableContainers:as,measuringScheduled:au}=function(a,b){let{dragging:c,dependencies:d,config:e}=b,[f,g]=(0,x.useState)(null),{frequency:h,measure:i,strategy:j}=e,k=(0,x.useRef)(a),l=function(){switch(j){case t.Always:return!1;case t.BeforeDragging:return c;default:return!c}}(),m=Z(l),n=(0,x.useCallback)(function(a){void 0===a&&(a=[]),m.current||g(b=>null===b?a:b.concat(a.filter(a=>!b.includes(a))))},[m]),o=(0,x.useRef)(null),p=$(b=>{if(l&&!c)return a8;if(!b||b===a8||k.current!==a||null!=f){let b=new Map;for(let c of a){if(!c)continue;if(f&&f.length>0&&!f.includes(c.id)&&c.rect.current){b.set(c.id,c.rect.current);continue}let a=c.node.current,d=a?new aS(i(a),a):null;c.rect.current=d,d&&b.set(c.id,d)}return b}return b},[a,f,c,l,i]);return(0,x.useEffect)(()=>{k.current=a},[a]),(0,x.useEffect)(()=>{l||n()},[c,l]),(0,x.useEffect)(()=>{f&&f.length>0&&g(null)},[JSON.stringify(f)]),(0,x.useEffect)(()=>{l||"number"!=typeof h||null!==o.current||(o.current=setTimeout(()=>{n(),o.current=null},h))},[h,l,n,...d]),{droppableRects:p,measureDroppableContainers:n,measuringScheduled:null!=f}}(ao,{dragging:Q,dependencies:[V.x,V.y],config:ap.droppable}),av=$(a=>{var b;return null==R?null:null!=(b=null!=p?p:a)?b:null},[p=(o=null!=R?T.get(R):void 0)?o.node.current:null,R]),aw=(0,x.useMemo)(()=>aj?ah(aj):null,[aj]),ax=(j=(null==ag?void 0:ag.autoScrollEnabled)===!1,k="object"==typeof B?!1===B.enabled:!1===B,l=Q&&!j&&!k,"object"==typeof B?{...B,enabled:l}:{enabled:l}),az=a9(av,ap.draggable.measure);!function(a){let{activeNode:b,measure:c,initialRect:d,config:e=!0}=a,f=(0,x.useRef)(!1),{x:g,y:h}="boolean"==typeof e?{x:e,y:e}:e;X(()=>{if(!g&&!h||!b){f.current=!1;return}if(f.current||!d)return;let a=null==b?void 0:b.node.current;if(!a||!1===a.isConnected)return;let e=aC(c(a),d);if(g||(e.x=0),h||(e.y=0),f.current=!0,Math.abs(e.x)>0||Math.abs(e.y)>0){let b=aI(a);b&&b.scrollBy({top:e.y,left:e.x})}},[b,g,h,d,c])}({activeNode:null!=R?T.get(R):null,config:ax.layoutShiftCompensation,initialRect:az,measure:ap.draggable.measure});let aA=bc(av,ap.draggable.measure,az),aE=bc(av?av.parentElement:null),aG=(0,x.useRef)({activatorEvent:null,active:null,activeNode:av,collisionRect:null,collisions:null,droppableRects:ar,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:W,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),aK=W.getNodeFor(null==(b=aG.current.over)?void 0:b.id),aL=function(a){let{measure:b}=a,[c,d]=(0,x.useState)(null),e=ba({callback:(0,x.useCallback)(a=>{for(let{target:c}of a)if(U(c)){d(a=>{let d=b(c);return a?{...a,width:d.width,height:d.height}:d});break}},[b])}),[f,g]=_((0,x.useCallback)(a=>{let c=function(a){if(!a)return null;if(a.children.length>1)return a;let b=a.children[0];return U(b)?b:a}(a);null==e||e.disconnect(),c&&(null==e||e.observe(c)),d(c?b(c):null)},[b,e]));return(0,x.useMemo)(()=>({nodeRef:f,rect:c,setRef:g}),[c,f,g])}({measure:ap.dragOverlay.measure}),aR=null!=(c=aL.nodeRef.current)?c:av,aT=Q?null!=(d=aL.rect)?d:aA:null,aU=!!(aL.nodeRef.current&&aL.rect),aV=(q=a9(f=aU?null:aA),aC(f,q)),aW=bf(aR?S(aR):null),aX=(g=Q?null!=aK?aK:av:null,u=(0,x.useRef)(g),w=$(a=>g?a&&a!==bd&&g&&u.current&&g.parentNode===u.current.parentNode?a:aH(g):bd,[g]),(0,x.useEffect)(()=>{u.current=g},[g]),w),aY=function(a,b){void 0===b&&(b=aF);let[c]=a,d=bf(c?S(c):null),[e,f]=(0,x.useState)(bg);function g(){f(()=>a.length?a.map(a=>aN(a)?d:new aS(b(a),a)):bg)}let h=ba({callback:g});return X(()=>{null==h||h.disconnect(),g(),a.forEach(a=>null==h?void 0:h.observe(a))},[a]),e}(aX),aZ=function(a,b){let{transform:c,...d}=b;return null!=a&&a.length?a.reduce((a,b)=>b({transform:a,...d}),c):c}(G,{transform:{x:V.x-aV.x,y:V.y-aV.y,scaleX:1,scaleY:1},activatorEvent:aj,active:ad,activeNodeRect:aA,containerNodeRect:aE,draggingNodeRect:aT,over:aG.current.over,overlayNodeRect:aL.rect,scrollableAncestors:aX,scrollableAncestorRects:aY,windowRect:aW}),a$=aw?ae(aw,V):null,a_=function(a){let[b,c]=(0,x.useState)(null),d=(0,x.useRef)(a),e=(0,x.useCallback)(a=>{let b=aJ(a.target);b&&c(a=>a?(a.set(b,aM(b)),new Map(a)):null)},[]);return(0,x.useEffect)(()=>{let b=d.current;if(a!==b){f(b);let g=a.map(a=>{let b=aJ(a);return b?(b.addEventListener("scroll",e,{passive:!0}),[b,aM(b)]):null}).filter(a=>null!=a);c(g.length?new Map(g):null),d.current=a}return()=>{f(a),f(b)};function f(a){a.forEach(a=>{let b=aJ(a);null==b||b.removeEventListener("scroll",e)})}},[e,a]),(0,x.useMemo)(()=>a.length?b?Array.from(b.values()).reduce((a,b)=>ae(a,b),at):aQ(a):at,[a,b])}(aX),a0=be(a_),a1=be(a_,[aA]),a2=ae(aZ,a0),a3=aT?aD(aT,aZ):null,a4=ad&&a3?E({active:ad,collisionRect:a3,droppableRects:ar,droppableContainers:ao,pointerCoordinates:a$}):null,a5=ay(a4,"id"),[a6,bb]=(0,x.useState)(null),bk=(h=aU?aZ:ae(aZ,a1),i=null!=(e=null==a6?void 0:a6.rect)?e:null,{...h,scaleX:i&&aA?i.width/aA.width:1,scaleY:i&&aA?i.height/aA.height:1}),bl=(0,x.useRef)(null),bm=(0,x.useCallback)((a,b)=>{let{sensor:c,options:d}=b;if(null==af.current)return;let e=T.get(af.current);if(!e)return;let f=a.nativeEvent,g=new c({active:af.current,activeNode:e,event:f,options:d,context:aG,onAbort(a){if(!T.get(a))return;let{onDragAbort:b}=al.current,c={id:a};null==b||b(c),K({type:"onDragAbort",event:c})},onPending(a,b,c,d){if(!T.get(a))return;let{onDragPending:e}=al.current,f={id:a,constraint:b,initialCoordinates:c,offset:d};null==e||e(f),K({type:"onDragPending",event:f})},onStart(a){let b=af.current;if(null==b)return;let c=T.get(b);if(!c)return;let{onDragStart:d}=al.current,e={activatorEvent:f,active:{id:b,data:c.data,rect:ab}};(0,O.unstable_batchedUpdates)(()=>{null==d||d(e),N(v.Initializing),J({type:m.DragStart,initialCoordinates:a,active:b}),K({type:"onDragStart",event:e}),ai(bl.current),ak(f)})},onMove(a){J({type:m.DragMove,coordinates:a})},onEnd:h(m.DragEnd),onCancel:h(m.DragCancel)});function h(a){return async function(){let{active:b,collisions:c,over:d,scrollAdjustedTranslate:e}=aG.current,g=null;if(b&&e){let{cancelDrop:h}=al.current;g={activatorEvent:f,active:b,collisions:c,delta:e,over:d},a===m.DragEnd&&"function"==typeof h&&await Promise.resolve(h(g))&&(a=m.DragCancel)}af.current=null,(0,O.unstable_batchedUpdates)(()=>{J({type:a}),N(v.Uninitialized),bb(null),ai(null),ak(null),bl.current=null;let b=a===m.DragEnd?"onDragEnd":"onDragCancel";if(g){let a=al.current[b];null==a||a(g),K({type:b,event:g})}})}}bl.current=g},[T]),bt=(0,x.useCallback)((a,b)=>(c,d)=>{let e=c.nativeEvent,f=T.get(d);null!==af.current||!f||e.dndKit||e.defaultPrevented||!0===a(c,b.options,{active:f})&&(e.dndKit={capturedBy:b.sensor},af.current=d,bm(c,b))},[T,bm]),bu=(0,x.useMemo)(()=>D.reduce((a,b)=>{let{sensor:c}=b;return[...a,...c.activators.map(a=>({eventName:a.eventName,handler:bt(a.handler,b)}))]},[]),[D,bt]);(0,x.useEffect)(()=>{if(!P)return;let a=D.map(a=>{let{sensor:b}=a;return null==b.setup?void 0:b.setup()});return()=>{for(let b of a)null==b||b()}},D.map(a=>{let{sensor:b}=a;return b})),X(()=>{aA&&M===v.Initializing&&N(v.Initialized)},[aA,M]),(0,x.useEffect)(()=>{let{onDragMove:a}=al.current,{active:b,activatorEvent:c,collisions:d,over:e}=aG.current;if(!b||!c)return;let f={active:b,activatorEvent:c,collisions:d,delta:{x:a2.x,y:a2.y},over:e};(0,O.unstable_batchedUpdates)(()=>{null==a||a(f),K({type:"onDragMove",event:f})})},[a2.x,a2.y]),(0,x.useEffect)(()=>{let{active:a,activatorEvent:b,collisions:c,droppableContainers:d,scrollAdjustedTranslate:e}=aG.current;if(!a||null==af.current||!b||!e)return;let{onDragOver:f}=al.current,g=d.get(a5),h=g&&g.rect.current?{id:g.id,rect:g.rect.current,data:g.data,disabled:g.disabled}:null,i={active:a,activatorEvent:b,collisions:c,delta:{x:e.x,y:e.y},over:h};(0,O.unstable_batchedUpdates)(()=>{bb(h),null==f||f(i),K({type:"onDragOver",event:i})})},[a5]),X(()=>{aG.current={activatorEvent:aj,active:ad,activeNode:av,collisionRect:a3,collisions:a4,droppableRects:ar,draggableNodes:T,draggingNode:aR,draggingNodeRect:aT,droppableContainers:W,over:a6,scrollableAncestors:aX,scrollAdjustedTranslate:a2},ab.current={initial:aT,translated:a3}},[ad,av,a4,a3,T,aR,aT,ar,W,a6,aX,a2]),function(a){let b,{acceleration:c,activator:d=r.Pointer,canScroll:e,draggingRect:f,enabled:g,interval:h=5,order:i=s.TreeOrder,pointerCoordinates:j,scrollableAncestors:k,scrollableAncestorRects:l,delta:m,threshold:o}=a,p=function(a){let{delta:b,disabled:c}=a,d=aa(b);return $(a=>{if(c||!d||!a)return a7;let e={x:Math.sign(b.x-d.x),y:Math.sign(b.y-d.y)};return{x:{[n.Backward]:a.x[n.Backward]||-1===e.x,[n.Forward]:a.x[n.Forward]||1===e.x},y:{[n.Backward]:a.y[n.Backward]||-1===e.y,[n.Forward]:a.y[n.Forward]||1===e.y}}},[c,b,d])}({delta:m,disabled:!g}),[q,t]=(b=(0,x.useRef)(null),[(0,x.useCallback)((a,c)=>{b.current=setInterval(a,c)},[]),(0,x.useCallback)(()=>{null!==b.current&&(clearInterval(b.current),b.current=null)},[])]),u=(0,x.useRef)({x:0,y:0}),v=(0,x.useRef)({x:0,y:0}),w=(0,x.useMemo)(()=>{switch(d){case r.Pointer:return j?{top:j.y,bottom:j.y,left:j.x,right:j.x}:null;case r.DraggableRect:return f}},[d,f,j]),y=(0,x.useRef)(null),z=(0,x.useCallback)(()=>{let a=y.current;if(!a)return;let b=u.current.x*v.current.x,c=u.current.y*v.current.y;a.scrollBy(b,c)},[]),A=(0,x.useMemo)(()=>i===s.TreeOrder?[...k].reverse():k,[i,k]);(0,x.useEffect)(()=>{if(!g||!k.length||!w)return void t();for(let a of A){if((null==e?void 0:e(a))===!1)continue;let b=l[k.indexOf(a)];if(!b)continue;let{direction:d,speed:f}=function(a,b,c,d,e){let{top:f,left:g,right:h,bottom:i}=c;void 0===d&&(d=10),void 0===e&&(e=aP);let{isTop:j,isBottom:k,isLeft:l,isRight:m}=aO(a),o={x:0,y:0},p={x:0,y:0},q={height:b.height*e.y,width:b.width*e.x};return!j&&f<=b.top+q.height?(o.y=n.Backward,p.y=d*Math.abs((b.top+q.height-f)/q.height)):!k&&i>=b.bottom-q.height&&(o.y=n.Forward,p.y=d*Math.abs((b.bottom-q.height-i)/q.height)),!m&&h>=b.right-q.width?(o.x=n.Forward,p.x=d*Math.abs((b.right-q.width-h)/q.width)):!l&&g<=b.left+q.width&&(o.x=n.Backward,p.x=d*Math.abs((b.left+q.width-g)/q.width)),{direction:o,speed:p}}(a,b,w,c,o);for(let a of["x","y"])p[a][d[a]]||(f[a]=0,d[a]=0);if(f.x>0||f.y>0){t(),y.current=a,q(z,h),u.current=f,v.current=d;return}}u.current={x:0,y:0},v.current={x:0,y:0},t()},[c,z,e,t,g,h,JSON.stringify(w),JSON.stringify(p),q,k,A,l,JSON.stringify(o)])}({...ax,delta:V,draggingRect:a3,pointerCoordinates:a$,scrollableAncestors:aX,scrollableAncestorRects:aY});let bv=(0,x.useMemo)(()=>({active:ad,activeNode:av,activeNodeRect:aA,activatorEvent:aj,collisions:a4,containerNodeRect:aE,dragOverlay:aL,draggableNodes:T,droppableContainers:W,droppableRects:ar,over:a6,measureDroppableContainers:as,scrollableAncestors:aX,scrollableAncestorRects:aY,measuringConfiguration:ap,measuringScheduled:au,windowRect:aW}),[ad,av,aA,aj,a4,aE,aL,T,W,ar,a6,as,aX,aY,ap,au,aW]),bw=(0,x.useMemo)(()=>({activatorEvent:aj,activators:bu,active:ad,activeNodeRect:aA,ariaDescribedById:{draggable:am},dispatch:J,draggableNodes:T,over:a6,measureDroppableContainers:as}),[aj,bu,ad,aA,J,am,T,a6,as]);return y().createElement(an.Provider,{value:L},y().createElement(bn.Provider,{value:bw},y().createElement(bo.Provider,{value:bv},y().createElement(bs.Provider,{value:bk},C)),y().createElement(br,{disabled:(null==A?void 0:A.restoreFocus)===!1})),y().createElement(aq,{...A,hiddenTextDescribedById:am}))}),bu=(0,x.createContext)(null),bv="button",bw={timeout:25};function bx(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function by(a){return null!==a&&a>=0}let bz=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=bx(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},bA={scaleX:1,scaleY:1},bB=a=>{var b,c,d,e;let f,g,h,{activeIndex:i,activeNodeRect:j,index:k,rects:l,overIndex:m}=a,n=null!=(b=l[i])?b:j;if(!n)return null;if(k===i){let a=l[m];return a?{x:0,y:i<m?a.top+a.height-(n.top+n.height):a.top-n.top,...bA}:null}let o=(c=l,d=k,e=i,f=c[d],g=c[d-1],h=c[d+1],f?e<d?g?f.top-(g.top+g.height):h?h.top-(f.top+f.height):0:h?h.top-(f.top+f.height):g?f.top-(g.top+g.height):0:0);return k>i&&k<=m?{x:0,y:-n.height-o,...bA}:k<i&&k>=m?{x:0,y:n.height+o,...bA}:{x:0,y:0,...bA}},bC="Sortable",bD=y().createContext({activeIndex:-1,containerId:bC,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:bz,disabled:{draggable:!1,droppable:!1}});function bE(a){let{children:b,id:c,items:d,strategy:e=bz,disabled:f=!1}=a,{active:g,dragOverlay:h,droppableRects:i,over:j,measureDroppableContainers:k}=(0,x.useContext)(bo),l=ac(bC,c),m=null!==h.rect,n=(0,x.useMemo)(()=>d.map(a=>"object"==typeof a&&"id"in a?a.id:a),[d]),o=null!=g,p=g?n.indexOf(g.id):-1,q=j?n.indexOf(j.id):-1,r=(0,x.useRef)(n),s=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(n,r.current),t=-1!==q&&-1===p||s,u="boolean"==typeof f?{draggable:f,droppable:f}:f;X(()=>{s&&o&&k(n)},[s,n,o,k]),(0,x.useEffect)(()=>{r.current=n},[n]);let v=(0,x.useMemo)(()=>({activeIndex:p,containerId:l,disabled:u,disableTransforms:t,items:n,overIndex:q,useDragOverlay:m,sortedRects:n.reduce((a,b,c)=>{let d=i.get(b);return d&&(a[c]=d),a},Array(n.length)),strategy:e}),[p,l,u.draggable,u.droppable,t,n,q,i,m,e]);return y().createElement(bD.Provider,{value:v},b)}let bF=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return bx(c,d,e).indexOf(b)},bG=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},bH={duration:200,easing:"ease"},bI="transform",bJ=ai.Transition.toString({property:bI,duration:0,easing:"linear"}),bK={roleDescription:"sortable"};function bL(a){if(!a)return!1;let b=a.data.current;return!!b&&"sortable"in b&&"object"==typeof b.sortable&&"containerId"in b.sortable&&"items"in b.sortable&&"index"in b.sortable}let bM=[p.Down,p.Right,p.Up,p.Left],bN=(a,b)=>{let{context:{active:c,collisionRect:d,droppableRects:e,droppableContainers:f,over:g,scrollableAncestors:h}}=b;if(bM.includes(a.code)){if(a.preventDefault(),!c||!d)return;let b=[];f.getEnabled().forEach(c=>{if(!c||null!=c&&c.disabled)return;let f=e.get(c.id);if(f)switch(a.code){case p.Down:d.top<f.top&&b.push(c);break;case p.Up:d.top>f.top&&b.push(c);break;case p.Left:d.left>f.left&&b.push(c);break;case p.Right:d.left<f.left&&b.push(c)}});let k=(a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=ax(b),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=ax(d),g=Number((e.reduce((a,b,d)=>a+au(c[d],b),0)/4).toFixed(4));f.push({id:b,data:{droppableContainer:a,value:g}})}}return f.sort(av)})({active:c,collisionRect:d,droppableRects:e,droppableContainers:b,pointerCoordinates:null}),l=ay(k,"id");if(l===(null==g?void 0:g.id)&&k.length>1&&(l=k[1].id),null!=l){let a=f.get(c.id),b=f.get(l),g=b?e.get(b.id):null,k=null==b?void 0:b.node.current;if(k&&g&&a&&b){var i,j;let c=aH(k).some((a,b)=>h[b]!==a),e=bO(a,b),f=(i=a,j=b,!!bL(i)&&!!bL(j)&&!!bO(i,j)&&i.data.current.sortable.index<j.data.current.sortable.index),l=c||!e?{x:0,y:0}:{x:f?d.width-g.width:0,y:f?d.height-g.height:0},m={x:g.left,y:g.top};return l.x&&l.y?m:af(m,l)}}}};function bO(a,b){return!!bL(a)&&!!bL(b)&&a.data.current.sortable.containerId===b.data.current.sortable.containerId}let bP=a=>{let b,{containerNodeRect:c,draggingNodeRect:d,transform:e}=a;return d&&c?(b={...e},d.top+e.y<=c.top?b.y=c.top-d.top:d.bottom+e.y>=c.top+c.height&&(b.y=c.top+c.height-d.bottom),d.left+e.x<=c.left?b.x=c.left-d.left:d.right+e.x>=c.left+c.width&&(b.x=c.left+c.width-d.right),b):e},bQ=a=>{let{transform:b}=a;return{...b,x:0}};function bR({id:a,index:b,model:c,isFirst:d,isLast:e,modelCaps:f,onEdit:g,onMoveUp:h,onMoveDown:i,onRemove:j}){let{attributes:k,listeners:l,setNodeRef:n,transform:o,isDragging:p}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bG,attributes:g,disabled:h,data:i,getNewIndex:j=bF,id:k,strategy:l,resizeObserverConfig:n,transition:o=bH}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:w,strategy:y}=(0,x.useContext)(bD),z=(b=h,c=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),A=p.indexOf(k),B=(0,x.useMemo)(()=>({sortable:{containerId:q,index:A,items:p},...i}),[q,i,A,p]),C=(0,x.useMemo)(()=>p.slice(p.indexOf(k)),[p,k]),{rect:D,node:E,isOver:F,setNodeRef:G}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=ac("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,x.useContext)(bn),k=(0,x.useRef)({disabled:c}),l=(0,x.useRef)(!1),n=(0,x.useRef)(null),o=(0,x.useRef)(null),{disabled:p,updateMeasurementsFor:q,timeout:r}={...bw,...e},s=Z(null!=q?q:d),t=ba({callback:(0,x.useCallback)(()=>{if(!l.current){l.current=!0;return}null!=o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(Array.isArray(s.current)?s.current:[s.current]),o.current=null},r)},[r]),disabled:p||!g}),[u,v]=_((0,x.useCallback)((a,b)=>{t&&(b&&(t.unobserve(b),l.current=!1),a&&t.observe(a))},[t])),w=Z(b);return(0,x.useEffect)(()=>{t&&u.current&&(t.disconnect(),l.current=!1,t.observe(u.current))},[u,t]),(0,x.useEffect)(()=>(h({type:m.RegisterDroppable,element:{id:d,key:f,disabled:c,node:u,rect:n,data:w}}),()=>h({type:m.UnregisterDroppable,key:f,id:d})),[d]),(0,x.useEffect)(()=>{c!==k.current.disabled&&(h({type:m.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:n,isOver:(null==i?void 0:i.id)===d,node:u,over:i,setNodeRef:v}}({id:k,data:B,disabled:z.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...n}}),{active:H,activatorEvent:I,activeNodeRect:J,attributes:K,setNodeRef:L,listeners:M,isDragging:N,over:O,setActivatorNodeRef:P,transform:Q}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=ac("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,x.useContext)(bn),{role:n=bv,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,x.useContext)(q?bs:bu),[s,t]=_(),[u,v]=_(),w=(0,x.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),y=Z(c);return X(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:y}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,x.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===bv||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:B,attributes:{...bK,...g},disabled:z.draggable}),R=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,x.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(G,L),S=!!H,T=S&&!t&&by(r)&&by(v),U=!w&&N,V=U&&T?Q:null,W=T?null!=V?V:(null!=l?l:y)({rects:u,activeNodeRect:J,activeIndex:r,overIndex:v,index:A}):null,Y=by(r)&&by(v)?j({id:k,items:p,activeIndex:r,overIndex:v}):A,$=null==H?void 0:H.id,aa=(0,x.useRef)({activeId:$,items:p,newIndex:Y,containerId:q}),ab=p!==aa.current.items,ad=f({active:H,containerId:q,isDragging:N,isSorting:S,id:k,index:A,items:p,newIndex:aa.current.newIndex,previousItems:aa.current.items,previousContainerId:aa.current.containerId,transition:o,wasDragging:null!=aa.current.activeId}),ae=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,x.useState)(null),h=(0,x.useRef)(c);return X(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=aF(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,x.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!ad,index:A,node:E,rect:D});return(0,x.useEffect)(()=>{S&&aa.current.newIndex!==Y&&(aa.current.newIndex=Y),q!==aa.current.containerId&&(aa.current.containerId=q),p!==aa.current.items&&(aa.current.items=p)},[S,Y,q,p]),(0,x.useEffect)(()=>{if($===aa.current.activeId)return;if(null!=$&&null==aa.current.activeId){aa.current.activeId=$;return}let a=setTimeout(()=>{aa.current.activeId=$},50);return()=>clearTimeout(a)},[$]),{active:H,activeIndex:r,attributes:K,data:B,rect:D,index:A,newIndex:Y,items:p,isOver:F,isSorting:S,isDragging:N,listeners:M,node:E,overIndex:v,over:O,setNodeRef:R,setActivatorNodeRef:P,setDroppableNodeRef:G,setDraggableNodeRef:L,transform:null!=ae?ae:W,transition:ae||ab&&aa.current.newIndex===A?bJ:(!U||ag(I))&&o&&(S||ad)?ai.Transition.toString({...o,property:bI}):void 0}}({id:a}),q={transform:ai.Transform.toString(o),opacity:p?.5:1,zIndex:p?999:void 0},[r,s]=(0,x.useState)(!1),[t,u]=(0,x.useState)(c),v=()=>{let a=t.trim();a&&a!==c?g(a):u(c),s(!1)};return(0,w.jsxs)("div",{ref:n,style:q,className:`group flex min-w-0 items-center gap-2 rounded-lg border px-2.5 py-1.5 transition-all ${p?"border-primary/40 bg-panel shadow-md ring-1 ring-primary/20":"border-transparent bg-panel hover:border-border-subtle"}`,children:[(0,w.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded bg-primary/10 text-[10px] font-bold text-primary",children:b+1}),(0,w.jsx)("button",{...k,...l,type:"button",className:"cursor-grab touch-none shrink-0 p-0.5 rounded text-text-muted/50 hover:text-text-main active:cursor-grabbing",title:"Drag to reorder",children:(0,w.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,w.jsx)("circle",{cx:"9",cy:"4",r:"1.5"}),(0,w.jsx)("circle",{cx:"15",cy:"4",r:"1.5"}),(0,w.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,w.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,w.jsx)("circle",{cx:"9",cy:"20",r:"1.5"}),(0,w.jsx)("circle",{cx:"15",cy:"20",r:"1.5"})]})}),r?(0,w.jsx)("input",{autoFocus:!0,value:t,onChange:a=>u(a.target.value),onBlur:v,onKeyDown:a=>{"Enter"===a.key&&v(),"Escape"===a.key&&(u(c),s(!1))},className:"min-w-0 flex-1 rounded border border-primary/40 bg-panel px-1.5 py-0.5 font-mono text-xs text-text-main outline-none"}):(0,w.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 cursor-text rounded px-1 py-0.5 hover:bg-black/[0.03] dark:hover:bg-white/[0.03]",onClick:()=>s(!0),title:"Click to edit",children:[(0,w.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-main",children:c}),f?.[c]&&(0,w.jsx)(A.nh,{caps:f[c],size:11})]}),(0,w.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,w.jsx)("button",{onClick:h,disabled:d,className:`rounded p-1 transition-colors ${d?"cursor-not-allowed text-text-muted/20":"text-text-muted hover:bg-black/5 hover:text-primary dark:hover:bg-white/5"}`,title:"Move up",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"arrow_upward"})}),(0,w.jsx)("button",{onClick:i,disabled:e,className:`rounded p-1 transition-colors ${e?"cursor-not-allowed text-text-muted/20":"text-text-muted hover:bg-black/5 hover:text-primary dark:hover:bg-white/5"}`,title:"Move down",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"arrow_downward"})})]}),(0,w.jsx)("button",{onClick:j,className:"shrink-0 rounded p-1 text-text-muted opacity-0 transition-all hover:bg-danger/10 hover:text-danger group-hover:opacity-100",title:"Remove model",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}function bS({isOpen:a,combo:b,onClose:c,onSave:d,activeProviders:e,modelCaps:f={},kindFilter:g=null}){let[h,i]=(0,x.useState)(b?.name||""),[j,k]=(0,x.useState)(b?.models||[]),[l,m]=(0,x.useState)(!1),[n,o]=(0,x.useState)(!1),[p,q]=(0,x.useState)(""),[r,s]=(0,x.useState)({}),t=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,x.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}(as(a2,{activationConstraint:{distance:5}}),as(aZ,{coordinateGetter:bN})),u=j.map((a,b)=>({uid:`item-${b}`,model:a})),v=a=>a.trim()?C.test(a)?(q(""),!0):(q("Only letters, numbers, -, _ and . allowed"),!1):(q("Name is required"),!1),y=async()=>{v(h)&&(o(!0),await d({name:h.trim(),models:j}),o(!1))},z=!!b;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(A.aF,{isOpen:a,onClose:c,title:z?"Edit Combo":"Create Combo",size:"lg",children:(0,w.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)(A.pd,{label:"Combo Name",value:h,onChange:a=>{let b=a.target.value;i(b),b?v(b):q("")},placeholder:"my-combo",error:p}),(0,w.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,w.jsx)("p",{className:"text-[10px] text-text-muted",children:"Use this name as the model in your client:"}),h.trim()&&(0,w.jsx)("code",{className:"rounded bg-primary/10 px-1.5 py-0.5 font-mono text-[10px] text-primary",children:h.trim()})]})]}),(0,w.jsxs)("div",{children:[(0,w.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("label",{className:"text-sm font-medium text-text-main",children:"Models"}),j.length>0&&(0,w.jsxs)(A.Ex,{variant:"info",size:"sm",children:[j.length," model",1!==j.length?"s":""]})]}),(0,w.jsx)("span",{className:"text-[10px] text-text-muted",children:"Drag to reorder priority"})]}),0===j.length?(0,w.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 border border-dashed border-border rounded-lg bg-surface-2/50",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-text-muted text-2xl mb-2",children:"layers"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mb-3",children:"Add models to build your combo"}),(0,w.jsx)(A.$n,{size:"sm",variant:"secondary",icon:"add",onClick:()=>m(!0),children:"Add First Model"})]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(bt,{sensors:t,collisionDetection:aA,onDragEnd:a=>{let{active:b,over:c}=a;if(c&&b.id!==c.id){let a=u.findIndex(a=>a.uid===b.id),d=u.findIndex(a=>a.uid===c.id);-1!==a&&-1!==d&&k(b=>bx(b,a,d))}},modifiers:[bQ,bP],children:(0,w.jsx)(bE,{items:u.map(a=>a.uid),strategy:bB,children:(0,w.jsx)("div",{className:"flex max-h-[45vh] min-w-0 flex-col gap-1 overflow-y-auto rounded-lg bg-surface-2/30 p-1.5",children:u.map(({uid:a,model:b},c)=>(0,w.jsx)(bR,{id:a,index:c,model:b,modelCaps:f,isFirst:0===c,isLast:c===u.length-1,onEdit:a=>{let b=[...j];b[c]=a,k(b)},onMoveUp:()=>(a=>{if(0===a)return;let b=[...j];[b[a-1],b[a]]=[b[a],b[a-1]],k(b)})(c),onMoveDown:()=>(a=>{if(a===j.length-1)return;let b=[...j];[b[a],b[a+1]]=[b[a+1],b[a]],k(b)})(c),onRemove:()=>{k(j.filter((a,b)=>b!==c))}},a))})})}),(0,w.jsxs)("button",{onClick:()=>m(!0),className:"w-full mt-2 py-2 border border-dashed border-primary/30 rounded-lg text-xs text-primary font-medium hover:border-primary hover:bg-primary/5 transition-colors flex items-center justify-center gap-1.5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"Add Model"]})]})]}),j.length>=2&&(0,w.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"lightbulb"}),(0,w.jsx)("span",{className:"text-xs font-medium text-text-main",children:"Strategy Tips"})]}),(0,w.jsx)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2",children:D.map(a=>(0,w.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] text-text-muted",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[12px] mt-0.5 text-primary/60",children:a.icon}),(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"font-medium text-text-main",children:a.label})," — ",a.desc]})]},a.value))}),(0,w.jsx)("p",{className:"mt-1.5 text-[10px] text-text-muted",children:"Set strategy after creating the combo from the Combos tab."})]}),(0,w.jsxs)("div",{className:"flex flex-col gap-2 pt-1 sm:flex-row",children:[(0,w.jsx)(A.$n,{onClick:c,variant:"ghost",fullWidth:!0,size:"sm",children:"Cancel"}),(0,w.jsx)(A.$n,{onClick:y,fullWidth:!0,size:"sm",icon:z?"save":"add",disabled:!h.trim()||!!p||n,children:n?"Saving...":z?"Save Changes":"Create Combo"})]})]})}),(0,w.jsx)(A.rq,{isOpen:l,onClose:()=>m(!1),onSelect:a=>{j.includes(a.value)||k([...j,a.value])},onDeselect:a=>{k(j.filter(b=>b!==a.value))},activeProviders:e,modelAliases:r,title:"Add Model to Combo",kindFilter:g,addedModelValues:j,closeOnSelect:!1})]})}let bT=[{value:"overview",label:"Overview"},{value:"combos",label:"Combos"},{value:"templates",label:"Templates"}];function bU(){let a=(0,z.useRouter)(),b=(0,z.useSearchParams)().get("tab")||"overview",[c,d]=(0,x.useState)([]),[e,f]=(0,x.useState)(!0),[g,h]=(0,x.useState)(!1),[i,j]=(0,x.useState)(null),[k,l]=(0,x.useState)([]),[m,n]=(0,x.useState)({}),[o,p]=(0,x.useState)({}),[q,r]=(0,x.useState)(null),{copied:s,copy:t}=(0,B.C)(),u=(0,x.useCallback)(async()=>{try{let[a,b,c,e]=await Promise.all([fetch("/api/combos"),fetch("/api/providers"),fetch("/api/settings"),fetch("/api/models")]),f=await a.json(),g=await b.json(),h=c.ok?await c.json():{};if(a.ok&&d((f.combos||[]).filter(a=>!a.kind||"llm"===a.kind)),b.ok&&l(g.connections||[]),e.ok){let a=await e.json(),b={};for(let c of a.models||[])c.caps&&(b[c.fullModel]=c.caps);p(b)}n(h.comboStrategies||{})}catch(a){console.log("Error fetching data:",a)}finally{f(!1)}},[]),v=b=>a.push(`/dashboard/combos?tab=${b}`),y=async a=>{try{let b=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok)await u(),h(!1);else{let a=await b.json();alert(a.error||"Failed to create combo")}}catch(a){console.log("Error creating combo:",a)}},C=async(a,b)=>{try{let c=await fetch(`/api/combos/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(c.ok)await u(),j(null);else{let a=await c.json();alert(a.error||"Failed to update combo")}}catch(a){console.log("Error updating combo:",a)}},D=async(a,b)=>{try{let c={...m},d={...c[a]||{},...b};d.fallbackStrategy&&"fallback"!==d.fallbackStrategy?c[a]=d:delete c[a],await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:c})}),n(c)}catch(a){console.log("Error updating combo strategy:",a)}};return e?(0,w.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,w.jsx)(A.Qv,{}),(0,w.jsx)(A.Qv,{})]}):(0,w.jsxs)("div",{className:"flex min-w-0 flex-col gap-5",children:[(0,w.jsx)(A.zY,{title:"Combos",description:"Group models under one name, then pick a strategy per combo",icon:"layers",actions:(0,w.jsx)(A.$n,{size:"sm",icon:"add",onClick:()=>h(!0),className:"whitespace-nowrap",children:"Create Combo"})}),(0,w.jsx)(A.Iz,{options:bT,value:b,onChange:v}),"overview"===b&&(0,w.jsx)(J,{combos:c,comboStrategies:m,activeProviders:k,onViewCombos:()=>v("combos"),onCreate:()=>h(!0)}),"combos"===b&&(0,w.jsx)(L,{combos:c,modelCaps:o,activeProviders:k,comboStrategies:m,copied:s,copy:t,onEdit:j,onDelete:a=>{r({title:"Delete Combo",message:"Delete this combo?",onConfirm:async()=>{r(null);try{(await fetch(`/api/combos/${a}`,{method:"DELETE"})).ok&&d(c.filter(b=>b.id!==a))}catch(a){console.log("Error deleting combo:",a)}}})},onSetStrategy:D,onCreate:()=>h(!0)}),"templates"===b&&(0,w.jsx)(N,{combos:c,connections:k,onApply:u}),(0,w.jsx)(bS,{isOpen:g,onClose:()=>h(!1),onSave:y,activeProviders:k,modelCaps:o},"create"),(0,w.jsx)(bS,{isOpen:!!i,combo:i,onClose:()=>j(null),onSave:a=>C(i.id,a),activeProviders:k,modelCaps:o},i?.id||"new"),(0,w.jsx)(A.uo,{isOpen:!!q,onClose:()=>r(null),onConfirm:q?.onConfirm,title:q?.title||"Confirm",message:q?.message,variant:"danger"})]})}function bV(){return(0,w.jsx)(x.Suspense,{fallback:(0,w.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,w.jsx)("div",{className:"h-32 animate-pulse rounded-lg bg-sidebar"}),(0,w.jsx)("div",{className:"h-32 animate-pulse rounded-lg bg-sidebar"})]}),children:(0,w.jsx)(bU,{})})}},81787:a=>{"use strict";a.exports=require("bun:sqlite")},83997:a=>{"use strict";a.exports=require("tty")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,1260,319,7152,8e3,9703,9422,8142,6070,8920,6306,212,2701,8833,318,8895,6182,6457,8271,6316,6777,412,788],()=>b(b.s=11658));module.exports=c})();
1
+ (()=>{var a={};a.id=3649,a.ids=[3649],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3725:a=>{"use strict";a.exports=require("wreq-js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30714:a=>{"use strict";a.exports=require("node:vm")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},35447:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Administrator\\\\Desktop\\\\Projects\\\\ExtremeRouter\\\\src\\\\app\\\\(dashboard)\\\\dashboard\\\\combos\\\\page.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\combos\\page.js","default")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},43262:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["(dashboard)",{children:["dashboard",{children:["combos",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,35447)),"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\dashboard\\combos\\page.js"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,30508)),"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\(dashboard)\\layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,50385)),"C:\\Users\\Administrator\\Desktop\\Projects\\ExtremeRouter\\src\\app\\layout.js"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await Promise.resolve().then(c.bind(c,70440))).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/(dashboard)/dashboard/combos/page",pathname:"/dashboard/combos",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next-cli-build",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/(dashboard)/dashboard/combos/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
2
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67003:(a,b,c)=>{Promise.resolve().then(c.bind(c,35447))},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},77598:a=>{"use strict";a.exports=require("node:crypto")},77619:(a,b,c)=>{Promise.resolve().then(c.bind(c,81681))},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81681:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>bV});var d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w=c(48249),x=c(67484),y=c.n(x),z=c(19099),A=c(50412),B=c(50377);let C=/^[a-zA-Z0-9_.\-]+$/,D=[{value:"fallback",label:"Fallback",desc:"Try models in order, next on failure",icon:"layers"},{value:"round-robin",label:"Round Robin",desc:"Rotate models across requests",icon:"cached"},{value:"fusion",label:"Fusion",desc:"Parallel panel + judge synthesis",icon:"hub"},{value:"swarm",label:"Swarm",desc:"Hierarchical Manager→Staff→Workers",icon:"account_tree"}],E={fallback:{icon:"layers",color:"#3B82F6",badge:"info"},"round-robin":{icon:"cached",color:"#10B981",badge:"success"},fusion:{icon:"hub",color:"#8B5CF6",badge:"primary"},swarm:{icon:"account_tree",color:"#F59E0B",badge:"warning"}};function F(a){return E[a]||E.fallback}function G(a){let b=D.find(b=>b.value===a);return b?.label||"Fallback"}let H=[{value:"all",label:"All"},{value:"fallback",label:"Fallback"},{value:"round-robin",label:"Round Robin"},{value:"fusion",label:"Fusion"},{value:"swarm",label:"Swarm"}],I=[{value:"name",label:"Name"},{value:"models-desc",label:"Most Models"},{value:"models-asc",label:"Fewest Models"}];function J({combos:a,comboStrategies:b,activeProviders:c,onViewCombos:d,onCreate:e}){let f=a.length,g=function(a){let b=new Set;for(let c of a)for(let a of c.models||[])b.add(a);return b.size}(a),h=function(a,b){let c={fallback:0,"round-robin":0,fusion:0,swarm:0};for(let d of a){let a=b[d.name]?.fallbackStrategy||"fallback";c[a]=(c[a]||0)+1}return c}(a,b),i=Object.values(h).filter(a=>a>0).length,j=f>0?Math.round(a.reduce((a,b)=>a+(b.models?.length||0),0)/f*10)/10:0,k=Math.max(...Object.values(h),1);return(0,w.jsxs)("div",{className:"flex flex-col gap-5",children:[(0,w.jsx)("div",{className:"grid grid-cols-2 gap-3 lg:grid-cols-4",children:[{label:"Total Combos",value:f,icon:"layers",color:"#3B82F6"},{label:"Unique Models",value:g,icon:"model_training",color:"#10B981"},{label:"Strategies Used",value:i,icon:"account_tree",color:"#8B5CF6"},{label:"Avg Models/Combo",value:j,icon:"analytics",color:"#F59E0B"}].map(a=>(0,w.jsx)(A.Zp,{padding:"sm",children:(0,w.jsxs)("div",{className:"flex items-center gap-3",children:[(0,w.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${a.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:a.color},children:a.icon})}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"font-mono text-lg font-bold text-text-main",children:a.value}),(0,w.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted",children:a.label})]})]})},a.label))}),(0,w.jsxs)(A.Zp,{children:[(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:"Strategy Distribution"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"How combos are distributed across routing strategies"})]}),(0,w.jsx)("div",{className:"flex flex-col gap-2.5",children:Object.entries(h).map(([a,b])=>{let c=F(a),d=f>0?Math.round(b/f*100):0;return(0,w.jsxs)("div",{className:"flex items-center gap-3",children:[(0,w.jsxs)("div",{className:"flex w-28 items-center gap-1.5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",style:{color:c.color},children:c.icon}),(0,w.jsx)("span",{className:"text-xs font-medium text-text-main",children:G(a)})]}),(0,w.jsx)("div",{className:"flex-1 overflow-hidden rounded-full bg-surface-2",children:(0,w.jsx)("div",{className:"h-2.5 rounded-full transition-all",style:{width:`${b/k*100}%`,backgroundColor:c.color}})}),(0,w.jsxs)("span",{className:"w-16 text-right font-mono text-xs text-text-muted",children:[b," (",d,"%)"]})]},a)})})]}),(0,w.jsxs)(A.Zp,{children:[(0,w.jsxs)("div",{className:"mb-3 flex items-center justify-between",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)("h3",{className:"text-sm font-semibold text-text-main",children:"Combo Health"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"Overview of each combo's status"})]}),(0,w.jsx)(A.$n,{size:"sm",variant:"ghost",icon:"list_alt",onClick:d,children:"View All"})]}),0===a.length?(0,w.jsxs)("div",{className:"py-6 text-center text-sm text-text-muted",children:["No combos yet. ",(0,w.jsx)("button",{onClick:e,className:"text-primary hover:underline",children:"Create one →"})]}):(0,w.jsx)("div",{className:"flex flex-col gap-2",children:a.map(a=>{let d=b[a.name]?.fallbackStrategy||"fallback",e=F(d),f=(a.models||[]).filter(a=>{let b=a.split("/")[0];return c.some(a=>a.provider===b&&!1!==a.isActive)}).length,g=(a.models||[]).length,h=g>0?Math.round(f/g*100):0;return(0,w.jsxs)("div",{className:"flex items-center gap-3 rounded-lg border border-border-subtle px-3 py-2 hover:bg-sidebar/30",children:[(0,w.jsx)("div",{className:"flex size-7 shrink-0 items-center justify-center rounded",style:{backgroundColor:`${e.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[15px]",style:{color:e.color},children:e.icon})}),(0,w.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,w.jsx)("code",{className:"truncate font-mono text-xs font-medium",children:a.name}),(0,w.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",children:[(0,w.jsx)(A.Ex,{variant:e.badge,size:"sm",children:G(d)}),(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:[g," models"]})]})]}),(0,w.jsxs)("div",{className:"hidden sm:flex items-center gap-2 shrink-0",children:[(0,w.jsx)("div",{className:"w-20 overflow-hidden rounded-full bg-surface-2",children:(0,w.jsx)("div",{className:`h-1.5 rounded-full ${h>=80?"bg-success":h>=50?"bg-warning":"bg-danger"}`,style:{width:`${h}%`}})}),(0,w.jsxs)("span",{className:"w-8 text-right font-mono text-[10px] text-text-muted",children:[f,"/",g]})]})]},a.id)})})]})]})}function K({combo:a,modelCaps:b={},activeProviders:c=[],copied:d,onCopy:e,onEdit:f,onDelete:g,strategy:h={},onSetStrategy:i}){let[j,k]=(0,x.useState)(!1),[l,m]=(0,x.useState)(!1),[n,o]=(0,x.useState)(null),p=h.fallbackStrategy||"fallback",q=h.judgeModel||"",r="fusion"===p,s="swarm"===p,t=h.managerModel||"",u=h.staffModel||"",v=h.auditModel||"",y=F(p);return(0,w.jsxs)(A.Zp,{padding:"sm",className:"group transition-all hover:border-primary/20",children:[(0,w.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,w.jsxs)("button",{className:"flex min-w-0 flex-1 items-start gap-3 text-left sm:items-center",onClick:()=>k(!j),children:[(0,w.jsx)("div",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${y.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:y.color},children:y.icon})}),(0,w.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("code",{className:"truncate font-mono text-sm font-medium",children:a.name}),(0,w.jsx)(A.Ex,{variant:y.badge,size:"sm",children:G(p)}),(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:[a.models.length," models"]})]}),(0,w.jsxs)("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-1",children:[0===a.models.length?(0,w.jsx)("span",{className:"text-xs text-text-muted italic",children:"No models"}):a.models.slice(0,3).map((a,c)=>(0,w.jsxs)("code",{className:"inline-flex items-center gap-1 rounded bg-black/5 px-1.5 py-0.5 font-mono text-xs text-text-muted dark:bg-white/5",children:[(0,w.jsx)("span",{className:"truncate max-w-[120px]",children:a}),b[a]&&(0,w.jsx)(A.nh,{caps:b[a],size:11})]},c)),a.models.length>3&&(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",a.models.length-3," more"]})]})]}),(0,w.jsx)("span",{className:`shrink-0 text-text-muted transition-transform ${j?"rotate-180":""}`,children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"expand_more"})})]}),(0,w.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center sm:gap-3 sm:shrink-0",children:[(0,w.jsx)("div",{className:"w-full sm:w-[180px]",children:(0,w.jsx)(A.l6,{options:D,value:p,onChange:a=>i({fallbackStrategy:a.target.value}),selectClassName:"py-1.5 text-xs"})}),(0,w.jsxs)("div",{className:"grid grid-cols-3 gap-1 sm:flex",children:[(0,w.jsxs)("button",{onClick:b=>{b.stopPropagation(),e(a.name,`combo-${a.id}`)},className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Copy combo name",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:d===`combo-${a.id}`?"check":"content_copy"}),(0,w.jsx)("span",{className:"text-[10px] leading-tight",children:"Copy"})]}),(0,w.jsxs)("button",{onClick:f,className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Edit",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"}),(0,w.jsx)("span",{className:"text-[10px] leading-tight",children:"Edit"})]}),(0,w.jsxs)("button",{onClick:g,className:"flex flex-col items-center rounded px-2 py-1 text-red-500 transition-colors hover:bg-red-500/10",title:"Delete",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"}),(0,w.jsx)("span",{className:"text-[10px] leading-tight",children:"Delete"})]})]})]})]}),j&&(0,w.jsxs)("div",{className:"mt-3 border-t border-border-subtle pt-3",children:[(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsxs)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:["Models (",a.models.length,")"]}),(0,w.jsx)("div",{className:"flex flex-col gap-1",children:a.models.map((a,c)=>(0,w.jsxs)("div",{className:"flex items-center gap-2 rounded px-2 py-1 bg-black/[0.02] dark:bg-white/[0.02]",children:[(0,w.jsx)("span",{className:"text-[10px] font-medium text-text-muted w-4 text-center",children:c+1}),(0,w.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-main",children:a}),b[a]&&(0,w.jsx)(A.nh,{caps:b[a],size:11})]},c))})]}),r&&(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:"Fusion Judge"}),(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsxs)("button",{onClick:()=>m(!0),className:"inline-flex max-w-full items-center gap-1 rounded border border-dashed border-primary/40 px-2 py-1 font-mono text-xs text-primary hover:border-primary hover:bg-primary/5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"gavel"}),(0,w.jsx)("span",{className:"truncate",children:q||`Auto — ${a.models[0]||"first model"}`})]}),q&&(0,w.jsx)("button",{onClick:()=>i({judgeModel:""}),className:"p-1 rounded text-text-muted hover:text-red-500 hover:bg-red-500/10",title:"Reset to Auto",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})]}),s&&(0,w.jsxs)("div",{className:"mb-3",children:[(0,w.jsx)("p",{className:"text-[10px] uppercase tracking-wide text-text-muted mb-1.5",children:"Swarm Roles"}),(0,w.jsxs)("div",{className:"flex flex-col gap-1.5",children:[[{key:"manager",label:"Manager",icon:"psychology",value:t,placeholder:`Auto — ${a.models[0]||"first"}`},{key:"staff",label:"Staff",icon:"badge",value:u,placeholder:"Same as Manager"},{key:"audit",label:"Audit",icon:"fact_check",value:v,placeholder:"Same as Staff"}].map(a=>(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("span",{className:"text-xs font-medium text-text-muted w-16",children:a.label}),(0,w.jsxs)("button",{onClick:()=>o(a.key),className:"inline-flex max-w-full items-center gap-1 rounded border border-dashed border-primary/40 px-2 py-0.5 font-mono text-[11px] text-primary hover:border-primary hover:bg-primary/5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:a.icon}),(0,w.jsx)("span",{className:"truncate",children:a.value||a.placeholder})]}),a.value&&(0,w.jsx)("button",{onClick:()=>i({[`${a.key}Model`]:""}),className:"p-0.5 rounded text-text-muted hover:text-red-500 hover:bg-red-500/10",title:`Reset ${a.label}`,children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[13px]",children:"close"})})]},a.key)),(0,w.jsxs)("div",{className:"flex items-center gap-2 text-[11px] text-text-muted",children:[(0,w.jsx)("span",{className:"font-medium",children:"Workers"}),(0,w.jsxs)("span",{children:["= combo models (",a.models.length,")"]}),(0,w.jsx)("span",{className:"text-text-subtle",children:"\xb7"}),(0,w.jsx)("a",{href:"/dashboard/swarm",className:"text-primary hover:underline",children:"Telemetry →"})]})]})]}),(0,w.jsxs)("div",{className:"text-xs text-text-muted bg-black/[0.02] dark:bg-white/[0.02] rounded px-2 py-1.5",children:[(0,w.jsxs)("span",{className:"font-medium",children:[G(p),":"]})," ",D.find(a=>a.value===p)?.desc]})]}),(0,w.jsx)(A.rq,{isOpen:l,onClose:()=>m(!1),onSelect:a=>{i({judgeModel:a?.value||""}),m(!1)},activeProviders:c,title:"Select Judge Model",addedModelValues:q?[q]:[],closeOnSelect:!0}),n&&(0,w.jsx)(A.rq,{isOpen:!0,onClose:()=>o(null),onSelect:a=>{i({[`${n}Model`]:a?.value||""}),o(null)},activeProviders:c,title:`Select ${"manager"===n?"Manager":"staff"===n?"Staff":"Audit"} Model`,addedModelValues:[],closeOnSelect:!0})]})}function L({combos:a,modelCaps:b,activeProviders:c,comboStrategies:d,copied:e,copy:f,onEdit:g,onDelete:h,onSetStrategy:i,onCreate:j}){let[k,l]=(0,x.useState)(""),[m,n]=(0,x.useState)("all"),[o,p]=(0,x.useState)("name"),q=(0,x.useMemo)(()=>{var b;let c;return b=function(a,b,c,d){let e=a;if("all"!==c&&(e=e.filter(a=>(d[a.name]?.fallbackStrategy||"fallback")===c)),b.trim()){let a=b.trim().toLowerCase();e=e.filter(b=>b.name.toLowerCase().includes(a)||(b.models||[]).some(b=>b.toLowerCase().includes(a)))}return e}(a,k,m,d),c=[...b],"models-desc"===o?c.sort((a,b)=>(b.models?.length||0)-(a.models?.length||0)):"models-asc"===o?c.sort((a,b)=>(a.models?.length||0)-(b.models?.length||0)):c.sort((a,b)=>a.name.localeCompare(b.name)),c},[a,k,m,o,d]);return 0===a.length?(0,w.jsx)(A.pp,{icon:"layers",title:"No combos yet",description:"Create model combos with fallback, round-robin, fusion, or swarm strategies",actionText:"Create Combo",onAction:j}):(0,w.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,w.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,w.jsx)(A.pd,{placeholder:"Search combos or models...",value:k,onChange:a=>l(a.target.value),className:"sm:max-w-xs"}),(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("div",{className:"flex flex-wrap gap-1",children:H.map(a=>(0,w.jsx)("button",{onClick:()=>n(a.value),className:`rounded-full px-2.5 py-1 text-xs font-medium transition-colors ${m===a.value?"bg-primary/15 text-primary ring-1 ring-primary/20":"bg-surface-2 text-text-muted hover:text-text-main"}`,children:a.label},a.value))}),(0,w.jsx)("select",{value:o,onChange:a=>p(a.target.value),className:"appearance-none rounded-lg border border-border bg-surface-2 py-1.5 pl-3 pr-8 text-xs text-text-main [-webkit-appearance:none] [-moz-appearance:none] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30",children:I.map(a=>(0,w.jsx)("option",{value:a.value,children:a.label},a.value))})]})]}),(0,w.jsx)("p",{className:"text-xs text-text-muted",children:q.length===a.length?`${a.length} combo${1!==a.length?"s":""}`:`${q.length} of ${a.length} combos`}),0===q.length?(0,w.jsx)(A.Zp,{children:(0,w.jsxs)("div",{className:"py-8 text-center text-sm text-text-muted",children:['No combos match "',k,'" ',"all"!==m&&`with ${m} strategy`]})}):(0,w.jsx)("div",{className:"flex flex-col gap-3",children:q.map(a=>(0,w.jsx)(K,{combo:a,modelCaps:b,activeProviders:c,copied:e,onCopy:f,onEdit:()=>g(a),onDelete:()=>h(a.id),strategy:d[a.name]||{},onSetStrategy:b=>i(a.name,b)},a.id))})]})}let M=[{id:"always-on",name:"Always-On (5-Layer Fallback)",description:"Zero-downtime coding with 5 layers of fallback. Mix of subscription, cheap, and free tiers — if any model fails, the next picks up automatically.",icon:"shield",category:"reliability",strategy:"fallback",models:["cc/claude-opus-4-7","cx/gpt-5.4","glm/glm-5.1","minimax/MiniMax-M2.7","kr/claude-sonnet-4.5"],requiredProviders:["claude","codex","glm","minimax","kiro"]}];function N({combos:a,connections:b,onApply:c}){let[d,e]=(0,x.useState)(null),f=new Set(b?.filter(a=>!1!==a.isActive).map(a=>a.provider)||[]),g=new Set((a||[]).map(a=>a.name)),h=async a=>{e(a.id);try{let b=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:a.name,models:a.models,kind:null})});if(!b.ok){let a=await b.json();alert(a.error||"Failed to create combo from template");return}let d=await fetch("/api/settings").then(a=>a.json()).catch(()=>({})),e={...d?.comboStrategies||{},[a.name]:{fallbackStrategy:a.strategy}};await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:e})}),c&&c()}catch(a){alert("Failed to apply template: "+(a?.message||String(a)))}finally{e(null)}};return 0===M.length?(0,w.jsx)(A.pp,{icon:"dashboard_customize",title:"No templates available",description:"Combo templates will appear here when added."}):(0,w.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,w.jsxs)("div",{className:"mb-1",children:[(0,w.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"Combo Templates"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mt-0.5",children:"One-click prebuilt combos. Provider availability is checked automatically."})]}),(0,w.jsx)("div",{className:"grid grid-cols-1 gap-4 sm:grid-cols-2 lg:grid-cols-3",children:M.map(a=>{let b=(a.requiredProviders||[]).filter(a=>f.has(a)).length,c=(a.requiredProviders||[]).length,e=g.has(a.name),i=F(a.strategy);return(0,w.jsxs)(A.Zp,{padding:"sm",className:"flex flex-col gap-3 hover:border-primary/20 transition-all",children:[(0,w.jsxs)("div",{className:"flex items-start justify-between",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,w.jsx)("div",{className:"flex size-9 shrink-0 items-center justify-center rounded-lg",style:{backgroundColor:`${i.color}15`},children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[18px]",style:{color:i.color},children:a.icon||i.icon})}),(0,w.jsxs)("div",{children:[(0,w.jsx)("p",{className:"text-sm font-semibold text-text-main",children:a.name}),(0,w.jsx)(A.Ex,{variant:i.badge,size:"sm",children:G(a.strategy)})]})]}),e&&(0,w.jsx)(A.Ex,{variant:"success",size:"sm",dot:!0,children:"Created"})]}),(0,w.jsx)("p",{className:"text-xs text-text-muted leading-relaxed",children:a.description}),(0,w.jsxs)("div",{className:"flex flex-wrap gap-1",children:[(a.models||[]).slice(0,4).map((a,b)=>(0,w.jsx)("code",{className:"inline-flex items-center rounded bg-black/5 px-1.5 py-0.5 font-mono text-[10px] text-text-muted dark:bg-white/5",children:a},b)),(a.models||[]).length>4&&(0,w.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",(a.models||[]).length-4," more"]})]}),(0,w.jsx)("div",{className:"flex flex-wrap gap-1",children:(a.requiredProviders||[]).map(a=>{let b=f.has(a);return(0,w.jsxs)("span",{className:`inline-flex items-center gap-0.5 rounded-full px-1.5 py-0.5 text-[10px] font-medium ${b?"bg-success/10 text-success":"bg-surface-2 text-text-muted"}`,children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[10px]",children:b?"check_circle":"radio_button_unchecked"}),a]},a)})}),(0,w.jsx)("div",{className:"mt-auto pt-1",children:(0,w.jsx)(A.$n,{size:"sm",fullWidth:!0,variant:e?"secondary":"primary",icon:d===a.id?"progress_activity":"add",disabled:e||d===a.id,onClick:()=>h(a),children:d===a.id?"Creating...":e?"Already Created":b===c?"Apply Template":`Apply (${b}/${c} ready)`})})]},a.id)})})]})}var O=c(74429);let P="u">typeof window&&void 0!==window.document&&void 0!==window.document.createElement;function Q(a){let b=Object.prototype.toString.call(a);return"[object Window]"===b||"[object global]"===b}function R(a){return"nodeType"in a}function S(a){var b,c;return a?Q(a)?a:R(a)&&null!=(b=null==(c=a.ownerDocument)?void 0:c.defaultView)?b:window:window}function T(a){let{Document:b}=S(a);return a instanceof b}function U(a){return!Q(a)&&a instanceof S(a).HTMLElement}function V(a){return a instanceof S(a).SVGElement}function W(a){return a?Q(a)?a.document:R(a)?T(a)?a:U(a)||V(a)?a.ownerDocument:document:document:document}let X=P?x.useLayoutEffect:x.useEffect;function Y(a){let b=(0,x.useRef)(a);return X(()=>{b.current=a}),(0,x.useCallback)(function(){for(var a=arguments.length,c=Array(a),d=0;d<a;d++)c[d]=arguments[d];return null==b.current?void 0:b.current(...c)},[])}function Z(a,b){void 0===b&&(b=[a]);let c=(0,x.useRef)(a);return X(()=>{c.current!==a&&(c.current=a)},b),c}function $(a,b){let c=(0,x.useRef)();return(0,x.useMemo)(()=>{let b=a(c.current);return c.current=b,b},[...b])}function _(a){let b=Y(a),c=(0,x.useRef)(null),d=(0,x.useCallback)(a=>{a!==c.current&&(null==b||b(a,c.current)),c.current=a},[]);return[c,d]}function aa(a){let b=(0,x.useRef)();return(0,x.useEffect)(()=>{b.current=a},[a]),b.current}let ab={};function ac(a,b){return(0,x.useMemo)(()=>{if(b)return b;let c=null==ab[a]?0:ab[a]+1;return ab[a]=c,a+"-"+c},[a,b])}function ad(a){return function(b){for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return d.reduce((b,c)=>{for(let[d,e]of Object.entries(c)){let c=b[d];null!=c&&(b[d]=c+a*e)}return b},{...b})}}let ae=ad(1),af=ad(-1);function ag(a){if(!a)return!1;let{KeyboardEvent:b}=S(a.target);return b&&a instanceof b}function ah(a){if(function(a){if(!a)return!1;let{TouchEvent:b}=S(a.target);return b&&a instanceof b}(a)){if(a.touches&&a.touches.length){let{clientX:b,clientY:c}=a.touches[0];return{x:b,y:c}}else if(a.changedTouches&&a.changedTouches.length){let{clientX:b,clientY:c}=a.changedTouches[0];return{x:b,y:c}}}return"clientX"in a&&"clientY"in a?{x:a.clientX,y:a.clientY}:null}let ai=Object.freeze({Translate:{toString(a){if(!a)return;let{x:b,y:c}=a;return"translate3d("+(b?Math.round(b):0)+"px, "+(c?Math.round(c):0)+"px, 0)"}},Scale:{toString(a){if(!a)return;let{scaleX:b,scaleY:c}=a;return"scaleX("+b+") scaleY("+c+")"}},Transform:{toString(a){if(a)return[ai.Translate.toString(a),ai.Scale.toString(a)].join(" ")}},Transition:{toString(a){let{property:b,duration:c,easing:d}=a;return b+" "+c+"ms "+d}}}),aj="a,frame,iframe,input:not([type=hidden]):not(:disabled),select:not(:disabled),textarea:not(:disabled),button:not(:disabled),*[tabindex]",ak={display:"none"};function al(a){let{id:b,value:c}=a;return y().createElement("div",{id:b,style:ak},c)}function am(a){let{id:b,announcement:c,ariaLiveType:d="assertive"}=a;return y().createElement("div",{id:b,style:{position:"fixed",top:0,left:0,width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0 0 0 0)",clipPath:"inset(100%)",whiteSpace:"nowrap"},role:"status","aria-live":d,"aria-atomic":!0},c)}let an=(0,x.createContext)(null),ao={draggable:"\n To pick up a draggable item, press the space bar.\n While dragging, use the arrow keys to move the item.\n Press space again to drop the item in its new position, or press escape to cancel.\n "},ap={onDragStart(a){let{active:b}=a;return"Picked up draggable item "+b.id+"."},onDragOver(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was moved over droppable area "+c.id+".":"Draggable item "+b.id+" is no longer over a droppable area."},onDragEnd(a){let{active:b,over:c}=a;return c?"Draggable item "+b.id+" was dropped over droppable area "+c.id:"Draggable item "+b.id+" was dropped."},onDragCancel(a){let{active:b}=a;return"Dragging was cancelled. Draggable item "+b.id+" was dropped."}};function aq(a){var b;let c,{announcements:d=ap,container:e,hiddenTextDescribedById:f,screenReaderInstructions:g=ao}=a,{announce:h,announcement:i}=function(){let[a,b]=(0,x.useState)("");return{announce:(0,x.useCallback)(a=>{null!=a&&b(a)},[]),announcement:a}}(),j=ac("DndLiveRegion"),[k,l]=(0,x.useState)(!1);if((0,x.useEffect)(()=>{l(!0)},[]),b=(0,x.useMemo)(()=>({onDragStart(a){let{active:b}=a;h(d.onDragStart({active:b}))},onDragMove(a){let{active:b,over:c}=a;d.onDragMove&&h(d.onDragMove({active:b,over:c}))},onDragOver(a){let{active:b,over:c}=a;h(d.onDragOver({active:b,over:c}))},onDragEnd(a){let{active:b,over:c}=a;h(d.onDragEnd({active:b,over:c}))},onDragCancel(a){let{active:b,over:c}=a;h(d.onDragCancel({active:b,over:c}))}}),[h,d]),c=(0,x.useContext)(an),(0,x.useEffect)(()=>{if(!c)throw Error("useDndMonitor must be used within a children of <DndContext>");return c(b)},[b,c]),!k)return null;let m=y().createElement(y().Fragment,null,y().createElement(al,{id:f,value:g.draggable}),y().createElement(am,{id:j,announcement:i}));return e?(0,O.createPortal)(m,e):m}function ar(){}function as(a,b){return(0,x.useMemo)(()=>({sensor:a,options:null!=b?b:{}}),[a,b])}(d=m||(m={})).DragStart="dragStart",d.DragMove="dragMove",d.DragEnd="dragEnd",d.DragCancel="dragCancel",d.DragOver="dragOver",d.RegisterDroppable="registerDroppable",d.SetDroppableDisabled="setDroppableDisabled",d.UnregisterDroppable="unregisterDroppable";let at=Object.freeze({x:0,y:0});function au(a,b){return Math.sqrt(Math.pow(a.x-b.x,2)+Math.pow(a.y-b.y,2))}function av(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return c-d}function aw(a,b){let{data:{value:c}}=a,{data:{value:d}}=b;return d-c}function ax(a){let{left:b,top:c,height:d,width:e}=a;return[{x:b,y:c},{x:b+e,y:c},{x:b,y:c+d},{x:b+e,y:c+d}]}function ay(a,b){if(!a||0===a.length)return null;let[c]=a;return b?c[b]:c}function az(a,b,c){return void 0===b&&(b=a.left),void 0===c&&(c=a.top),{x:b+.5*a.width,y:c+.5*a.height}}let aA=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=az(b,b.left,b.top),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=au(az(d),e);f.push({id:b,data:{droppableContainer:a,value:c}})}}return f.sort(av)},aB=a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=[];for(let a of d){let{id:d}=a,f=c.get(d);if(f){let c=function(a,b){let c=Math.max(b.top,a.top),d=Math.max(b.left,a.left),e=Math.min(b.left+b.width,a.left+a.width),f=Math.min(b.top+b.height,a.top+a.height);if(d<e&&c<f){let g=b.width*b.height,h=a.width*a.height,i=(e-d)*(f-c);return Number((i/(g+h-i)).toFixed(4))}return 0}(f,b);c>0&&e.push({id:d,data:{droppableContainer:a,value:c}})}}return e.sort(aw)};function aC(a,b){return a&&b?{x:a.left-b.left,y:a.top-b.top}:at}let aD=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return c.reduce((a,b)=>({...a,top:a.top+ +b.y,bottom:a.bottom+ +b.y,left:a.left+ +b.x,right:a.right+ +b.x}),{...a})},aE={ignoreTransform:!1};function aF(a,b){void 0===b&&(b=aE);let c=a.getBoundingClientRect();if(b.ignoreTransform){let{transform:b,transformOrigin:d}=S(a).getComputedStyle(a);b&&(c=function(a,b,c){let d=function(a){if(a.startsWith("matrix3d(")){let b=a.slice(9,-1).split(/, /);return{x:+b[12],y:+b[13],scaleX:+b[0],scaleY:+b[5]}}if(a.startsWith("matrix(")){let b=a.slice(7,-1).split(/, /);return{x:+b[4],y:+b[5],scaleX:+b[0],scaleY:+b[3]}}return null}(b);if(!d)return a;let{scaleX:e,scaleY:f,x:g,y:h}=d,i=a.left-g-(1-e)*parseFloat(c),j=a.top-h-(1-f)*parseFloat(c.slice(c.indexOf(" ")+1)),k=e?a.width/e:a.width,l=f?a.height/f:a.height;return{width:k,height:l,top:j,right:i+k,bottom:j+l,left:i}}(c,b,d))}let{top:d,left:e,width:f,height:g,bottom:h,right:i}=c;return{top:d,left:e,width:f,height:g,bottom:h,right:i}}function aG(a){return aF(a,{ignoreTransform:!0})}function aH(a,b){let c=[];return a?function d(e){var f,g;let h;if(null!=b&&c.length>=b||!e)return c;if(T(e)&&null!=e.scrollingElement&&!c.includes(e.scrollingElement))return c.push(e.scrollingElement),c;if(!U(e)||V(e)||c.includes(e))return c;let i=S(a).getComputedStyle(e);return(e!==a&&(void 0===(f=i)&&(f=S(e).getComputedStyle(e)),h=/(auto|scroll|overlay)/,["overflow","overflowX","overflowY"].some(a=>{let b=f[a];return"string"==typeof b&&h.test(b)}))&&c.push(e),void 0===(g=i)&&(g=S(e).getComputedStyle(e)),"fixed"===g.position)?c:d(e.parentNode)}(a):c}function aI(a){let[b]=aH(a,1);return null!=b?b:null}function aJ(a){return P&&a?Q(a)?a:R(a)?T(a)||a===W(a).scrollingElement?window:U(a)?a:null:null:null}function aK(a){return Q(a)?a.scrollX:a.scrollLeft}function aL(a){return Q(a)?a.scrollY:a.scrollTop}function aM(a){return{x:aK(a),y:aL(a)}}function aN(a){return!!P&&!!a&&a===document.scrollingElement}function aO(a){let b={x:0,y:0},c=aN(a)?{height:window.innerHeight,width:window.innerWidth}:{height:a.clientHeight,width:a.clientWidth},d={x:a.scrollWidth-c.width,y:a.scrollHeight-c.height},e=a.scrollTop<=b.y,f=a.scrollLeft<=b.x;return{isTop:e,isLeft:f,isBottom:a.scrollTop>=d.y,isRight:a.scrollLeft>=d.x,maxScroll:d,minScroll:b}}(e=n||(n={}))[e.Forward=1]="Forward",e[e.Backward=-1]="Backward";let aP={x:.2,y:.2};function aQ(a){return a.reduce((a,b)=>ae(a,aM(b)),at)}let aR=[["x",["left","right"],function(a){return a.reduce((a,b)=>a+aK(b),0)}],["y",["top","bottom"],function(a){return a.reduce((a,b)=>a+aL(b),0)}]];class aS{constructor(a,b){this.rect=void 0,this.width=void 0,this.height=void 0,this.top=void 0,this.bottom=void 0,this.right=void 0,this.left=void 0;const c=aH(b),d=aQ(c);for(const[b,e,f]of(this.rect={...a},this.width=a.width,this.height=a.height,aR))for(const a of e)Object.defineProperty(this,a,{get:()=>{let e=f(c),g=d[b]-e;return this.rect[a]+g},enumerable:!0});Object.defineProperty(this,"rect",{enumerable:!1})}}class aT{constructor(a){this.target=void 0,this.listeners=[],this.removeAll=()=>{this.listeners.forEach(a=>{var b;return null==(b=this.target)?void 0:b.removeEventListener(...a)})},this.target=a}add(a,b,c){var d;null==(d=this.target)||d.addEventListener(a,b,c),this.listeners.push([a,b,c])}}function aU(a,b){let c=Math.abs(a.x),d=Math.abs(a.y);return"number"==typeof b?Math.sqrt(c**2+d**2)>b:"x"in b&&"y"in b?c>b.x&&d>b.y:"x"in b?c>b.x:"y"in b&&d>b.y}function aV(a){a.preventDefault()}function aW(a){a.stopPropagation()}(f=o||(o={})).Click="click",f.DragStart="dragstart",f.Keydown="keydown",f.ContextMenu="contextmenu",f.Resize="resize",f.SelectionChange="selectionchange",f.VisibilityChange="visibilitychange",(g=p||(p={})).Space="Space",g.Down="ArrowDown",g.Right="ArrowRight",g.Left="ArrowLeft",g.Up="ArrowUp",g.Esc="Escape",g.Enter="Enter",g.Tab="Tab";let aX={start:[p.Space,p.Enter],cancel:[p.Esc],end:[p.Space,p.Enter,p.Tab]},aY=(a,b)=>{let{currentCoordinates:c}=b;switch(a.code){case p.Right:return{...c,x:c.x+25};case p.Left:return{...c,x:c.x-25};case p.Down:return{...c,y:c.y+25};case p.Up:return{...c,y:c.y-25}}};class aZ{constructor(a){this.props=void 0,this.autoScrollEnabled=!1,this.referenceCoordinates=void 0,this.listeners=void 0,this.windowListeners=void 0,this.props=a;const{event:{target:b}}=a;this.props=a,this.listeners=new aT(W(b)),this.windowListeners=new aT(S(b)),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleCancel=this.handleCancel.bind(this),this.attach()}attach(){this.handleStart(),this.windowListeners.add(o.Resize,this.handleCancel),this.windowListeners.add(o.VisibilityChange,this.handleCancel),setTimeout(()=>this.listeners.add(o.Keydown,this.handleKeyDown))}handleStart(){let{activeNode:a,onStart:b}=this.props,c=a.node.current;c&&function(a,b){if(void 0===b&&(b=aF),!a)return;let{top:c,left:d,bottom:e,right:f}=b(a);aI(a)&&(e<=0||f<=0||c>=window.innerHeight||d>=window.innerWidth)&&a.scrollIntoView({block:"center",inline:"center"})}(c),b(at)}handleKeyDown(a){if(ag(a)){let{active:b,context:c,options:d}=this.props,{keyboardCodes:e=aX,coordinateGetter:f=aY,scrollBehavior:g="smooth"}=d,{code:h}=a;if(e.end.includes(h))return void this.handleEnd(a);if(e.cancel.includes(h))return void this.handleCancel(a);let{collisionRect:i}=c.current,j=i?{x:i.left,y:i.top}:at;this.referenceCoordinates||(this.referenceCoordinates=j);let k=f(a,{active:b,context:c.current,currentCoordinates:j});if(k){let b=af(k,j),d={x:0,y:0},{scrollableAncestors:e}=c.current;for(let c of e){let e=a.code,{isTop:f,isRight:h,isLeft:i,isBottom:j,maxScroll:l,minScroll:m}=aO(c),n=function(a){if(a===document.scrollingElement){let{innerWidth:a,innerHeight:b}=window;return{top:0,left:0,right:a,bottom:b,width:a,height:b}}let{top:b,left:c,right:d,bottom:e}=a.getBoundingClientRect();return{top:b,left:c,right:d,bottom:e,width:a.clientWidth,height:a.clientHeight}}(c),o={x:Math.min(e===p.Right?n.right-n.width/2:n.right,Math.max(e===p.Right?n.left:n.left+n.width/2,k.x)),y:Math.min(e===p.Down?n.bottom-n.height/2:n.bottom,Math.max(e===p.Down?n.top:n.top+n.height/2,k.y))},q=e===p.Right&&!h||e===p.Left&&!i,r=e===p.Down&&!j||e===p.Up&&!f;if(q&&o.x!==k.x){let a=c.scrollLeft+b.x,f=e===p.Right&&a<=l.x||e===p.Left&&a>=m.x;if(f&&!b.y)return void c.scrollTo({left:a,behavior:g});f?d.x=c.scrollLeft-a:d.x=e===p.Right?c.scrollLeft-l.x:c.scrollLeft-m.x,d.x&&c.scrollBy({left:-d.x,behavior:g});break}if(r&&o.y!==k.y){let a=c.scrollTop+b.y,f=e===p.Down&&a<=l.y||e===p.Up&&a>=m.y;if(f&&!b.x)return void c.scrollTo({top:a,behavior:g});f?d.y=c.scrollTop-a:d.y=e===p.Down?c.scrollTop-l.y:c.scrollTop-m.y,d.y&&c.scrollBy({top:-d.y,behavior:g});break}}this.handleMove(a,ae(af(k,this.referenceCoordinates),d))}}}handleMove(a,b){let{onMove:c}=this.props;a.preventDefault(),c(b)}handleEnd(a){let{onEnd:b}=this.props;a.preventDefault(),this.detach(),b()}handleCancel(a){let{onCancel:b}=this.props;a.preventDefault(),this.detach(),b()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll()}}function a$(a){return!!(a&&"distance"in a)}function a_(a){return!!(a&&"delay"in a)}aZ.activators=[{eventName:"onKeyDown",handler:(a,b,c)=>{let{keyboardCodes:d=aX,onActivation:e}=b,{active:f}=c,{code:g}=a.nativeEvent;if(d.start.includes(g)){let b=f.activatorNode.current;return(!b||a.target===b)&&(a.preventDefault(),null==e||e({event:a.nativeEvent}),!0)}return!1}}];class a0{constructor(a,b,c){var d;void 0===c&&(c=function(a){let{EventTarget:b}=S(a);return a instanceof b?a:W(a)}(a.event.target)),this.props=void 0,this.events=void 0,this.autoScrollEnabled=!0,this.document=void 0,this.activated=!1,this.initialCoordinates=void 0,this.timeoutId=null,this.listeners=void 0,this.documentListeners=void 0,this.windowListeners=void 0,this.props=a,this.events=b;const{event:e}=a,{target:f}=e;this.props=a,this.events=b,this.document=W(f),this.documentListeners=new aT(this.document),this.listeners=new aT(c),this.windowListeners=new aT(S(f)),this.initialCoordinates=null!=(d=ah(e))?d:at,this.handleStart=this.handleStart.bind(this),this.handleMove=this.handleMove.bind(this),this.handleEnd=this.handleEnd.bind(this),this.handleCancel=this.handleCancel.bind(this),this.handleKeydown=this.handleKeydown.bind(this),this.removeTextSelection=this.removeTextSelection.bind(this),this.attach()}attach(){let{events:a,props:{options:{activationConstraint:b,bypassActivationConstraint:c}}}=this;if(this.listeners.add(a.move.name,this.handleMove,{passive:!1}),this.listeners.add(a.end.name,this.handleEnd),a.cancel&&this.listeners.add(a.cancel.name,this.handleCancel),this.windowListeners.add(o.Resize,this.handleCancel),this.windowListeners.add(o.DragStart,aV),this.windowListeners.add(o.VisibilityChange,this.handleCancel),this.windowListeners.add(o.ContextMenu,aV),this.documentListeners.add(o.Keydown,this.handleKeydown),b){if(null!=c&&c({event:this.props.event,activeNode:this.props.activeNode,options:this.props.options}))return this.handleStart();if(a_(b)){this.timeoutId=setTimeout(this.handleStart,b.delay),this.handlePending(b);return}if(a$(b))return void this.handlePending(b)}this.handleStart()}detach(){this.listeners.removeAll(),this.windowListeners.removeAll(),setTimeout(this.documentListeners.removeAll,50),null!==this.timeoutId&&(clearTimeout(this.timeoutId),this.timeoutId=null)}handlePending(a,b){let{active:c,onPending:d}=this.props;d(c,a,this.initialCoordinates,b)}handleStart(){let{initialCoordinates:a}=this,{onStart:b}=this.props;a&&(this.activated=!0,this.documentListeners.add(o.Click,aW,{capture:!0}),this.removeTextSelection(),this.documentListeners.add(o.SelectionChange,this.removeTextSelection),b(a))}handleMove(a){var b;let{activated:c,initialCoordinates:d,props:e}=this,{onMove:f,options:{activationConstraint:g}}=e;if(!d)return;let h=null!=(b=ah(a))?b:at,i=af(d,h);if(!c&&g){if(a$(g)){if(null!=g.tolerance&&aU(i,g.tolerance))return this.handleCancel();if(aU(i,g.distance))return this.handleStart()}return a_(g)&&aU(i,g.tolerance)?this.handleCancel():void this.handlePending(g,i)}a.cancelable&&a.preventDefault(),f(h)}handleEnd(){let{onAbort:a,onEnd:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleCancel(){let{onAbort:a,onCancel:b}=this.props;this.detach(),this.activated||a(this.props.active),b()}handleKeydown(a){a.code===p.Esc&&this.handleCancel()}removeTextSelection(){var a;null==(a=this.document.getSelection())||a.removeAllRanges()}}let a1={cancel:{name:"pointercancel"},move:{name:"pointermove"},end:{name:"pointerup"}};class a2 extends a0{constructor(a){const{event:b}=a;super(a,a1,W(b.target))}}a2.activators=[{eventName:"onPointerDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return!!c.isPrimary&&0===c.button&&(null==d||d({event:c}),!0)}}];let a3={move:{name:"mousemove"},end:{name:"mouseup"}};(h=q||(q={}))[h.RightClick=2]="RightClick";class a4 extends a0{constructor(a){super(a,a3,W(a.event.target))}}a4.activators=[{eventName:"onMouseDown",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b;return c.button!==q.RightClick&&(null==d||d({event:c}),!0)}}];let a5={cancel:{name:"touchcancel"},move:{name:"touchmove"},end:{name:"touchend"}};class a6 extends a0{constructor(a){super(a,a5)}static setup(){return window.addEventListener(a5.move.name,a,{capture:!1,passive:!1}),function(){window.removeEventListener(a5.move.name,a)};function a(){}}}a6.activators=[{eventName:"onTouchStart",handler:(a,b)=>{let{nativeEvent:c}=a,{onActivation:d}=b,{touches:e}=c;return!(e.length>1)&&(null==d||d({event:c}),!0)}}],(i=r||(r={}))[i.Pointer=0]="Pointer",i[i.DraggableRect=1]="DraggableRect",(j=s||(s={}))[j.TreeOrder=0]="TreeOrder",j[j.ReversedTreeOrder=1]="ReversedTreeOrder";let a7={x:{[n.Backward]:!1,[n.Forward]:!1},y:{[n.Backward]:!1,[n.Forward]:!1}};(k=t||(t={}))[k.Always=0]="Always",k[k.BeforeDragging=1]="BeforeDragging",k[k.WhileDragging=2]="WhileDragging",(u||(u={})).Optimized="optimized";let a8=new Map;function a9(a,b){return $(c=>a?c||("function"==typeof b?b(a):a):null,[b,a])}function ba(a){let{callback:b,disabled:c}=a,d=Y(b),e=(0,x.useMemo)(()=>{if(c||"u"<typeof window||void 0===window.ResizeObserver)return;let{ResizeObserver:a}=window;return new a(d)},[c]);return(0,x.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}function bb(a){return new aS(aF(a),a)}function bc(a,b,c){void 0===b&&(b=bb);let[d,e]=(0,x.useState)(null);function f(){e(d=>{if(!a)return null;if(!1===a.isConnected){var e;return null!=(e=null!=d?d:c)?e:null}let f=b(a);return JSON.stringify(d)===JSON.stringify(f)?d:f})}let g=function(a){let{callback:b,disabled:c}=a,d=Y(b),e=(0,x.useMemo)(()=>{if(c||"u"<typeof window||void 0===window.MutationObserver)return;let{MutationObserver:a}=window;return new a(d)},[d,c]);return(0,x.useEffect)(()=>()=>null==e?void 0:e.disconnect(),[e]),e}({callback(b){if(a)for(let c of b){let{type:b,target:d}=c;if("childList"===b&&d instanceof HTMLElement&&d.contains(a)){f();break}}}}),h=ba({callback:f});return X(()=>{f(),a?(null==h||h.observe(a),null==g||g.observe(document.body,{childList:!0,subtree:!0})):(null==h||h.disconnect(),null==g||g.disconnect())},[a]),d}let bd=[];function be(a,b){void 0===b&&(b=[]);let c=(0,x.useRef)(null);return(0,x.useEffect)(()=>{c.current=null},b),(0,x.useEffect)(()=>{let b=a!==at;b&&!c.current&&(c.current=a),!b&&c.current&&(c.current=null)},[a]),c.current?af(a,c.current):at}function bf(a){return(0,x.useMemo)(()=>{let b,c;return a?(b=a.innerWidth,{top:0,left:0,right:b,bottom:c=a.innerHeight,width:b,height:c}):null},[a])}let bg=[],bh=[{sensor:a2,options:{}},{sensor:aZ,options:{}}],bi={current:{}},bj={draggable:{measure:aG},droppable:{measure:aG,strategy:t.WhileDragging,frequency:u.Optimized},dragOverlay:{measure:aF}};class bk extends Map{get(a){var b;return null!=a&&null!=(b=super.get(a))?b:void 0}toArray(){return Array.from(this.values())}getEnabled(){return this.toArray().filter(a=>{let{disabled:b}=a;return!b})}getNodeFor(a){var b,c;return null!=(b=null==(c=this.get(a))?void 0:c.node.current)?b:void 0}}let bl={activatorEvent:null,active:null,activeNode:null,activeNodeRect:null,collisions:null,containerNodeRect:null,draggableNodes:new Map,droppableRects:new Map,droppableContainers:new bk,over:null,dragOverlay:{nodeRef:{current:null},rect:null,setRef:ar},scrollableAncestors:[],scrollableAncestorRects:[],measuringConfiguration:bj,measureDroppableContainers:ar,windowRect:null,measuringScheduled:!1},bm={activatorEvent:null,activators:[],active:null,activeNodeRect:null,ariaDescribedById:{draggable:""},dispatch:ar,draggableNodes:new Map,over:null,measureDroppableContainers:ar},bn=(0,x.createContext)(bm),bo=(0,x.createContext)(bl);function bp(){return{draggable:{active:null,initialCoordinates:{x:0,y:0},nodes:new Map,translate:{x:0,y:0}},droppable:{containers:new bk}}}function bq(a,b){switch(b.type){case m.DragStart:return{...a,draggable:{...a.draggable,initialCoordinates:b.initialCoordinates,active:b.active}};case m.DragMove:if(null==a.draggable.active)return a;return{...a,draggable:{...a.draggable,translate:{x:b.coordinates.x-a.draggable.initialCoordinates.x,y:b.coordinates.y-a.draggable.initialCoordinates.y}}};case m.DragEnd:case m.DragCancel:return{...a,draggable:{...a.draggable,active:null,initialCoordinates:{x:0,y:0},translate:{x:0,y:0}}};case m.RegisterDroppable:{let{element:c}=b,{id:d}=c,e=new bk(a.droppable.containers);return e.set(d,c),{...a,droppable:{...a.droppable,containers:e}}}case m.SetDroppableDisabled:{let{id:c,key:d,disabled:e}=b,f=a.droppable.containers.get(c);if(!f||d!==f.key)return a;let g=new bk(a.droppable.containers);return g.set(c,{...f,disabled:e}),{...a,droppable:{...a.droppable,containers:g}}}case m.UnregisterDroppable:{let{id:c,key:d}=b,e=a.droppable.containers.get(c);if(!e||d!==e.key)return a;let f=new bk(a.droppable.containers);return f.delete(c),{...a,droppable:{...a.droppable,containers:f}}}default:return a}}function br(a){let{disabled:b}=a,{active:c,activatorEvent:d,draggableNodes:e}=(0,x.useContext)(bn),f=aa(d),g=aa(null==c?void 0:c.id);return(0,x.useEffect)(()=>{if(!b&&!d&&f&&null!=g){if(!ag(f)||document.activeElement===f.target)return;let a=e.get(g);if(!a)return;let{activatorNode:b,node:c}=a;(b.current||c.current)&&requestAnimationFrame(()=>{for(let a of[b.current,c.current]){if(!a)continue;let b=a.matches(aj)?a:a.querySelector(aj);if(b){b.focus();break}}})}},[d,b,e,g,f]),null}let bs=(0,x.createContext)({...at,scaleX:1,scaleY:1});(l=v||(v={}))[l.Uninitialized=0]="Uninitialized",l[l.Initializing=1]="Initializing",l[l.Initialized=2]="Initialized";let bt=(0,x.memo)(function(a){var b,c,d,e,f,g,h,i;let j,k,l,o,p,q,u,w,{id:z,accessibility:A,autoScroll:B=!0,children:C,sensors:D=bh,collisionDetection:E=aB,measuring:F,modifiers:G,...H}=a,[I,J]=(0,x.useReducer)(bq,void 0,bp),[K,L]=function(){let[a]=(0,x.useState)(()=>new Set),b=(0,x.useCallback)(b=>(a.add(b),()=>a.delete(b)),[a]);return[(0,x.useCallback)(b=>{let{type:c,event:d}=b;a.forEach(a=>{var b;return null==(b=a[c])?void 0:b.call(a,d)})},[a]),b]}(),[M,N]=(0,x.useState)(v.Uninitialized),Q=M===v.Initialized,{draggable:{active:R,nodes:T,translate:V},droppable:{containers:W}}=I,Y=null!=R?T.get(R):null,ab=(0,x.useRef)({initial:null,translated:null}),ad=(0,x.useMemo)(()=>{var a;return null!=R?{id:R,data:null!=(a=null==Y?void 0:Y.data)?a:bi,rect:ab}:null},[R,Y]),af=(0,x.useRef)(null),[ag,ai]=(0,x.useState)(null),[aj,ak]=(0,x.useState)(null),al=Z(H,Object.values(H)),am=ac("DndDescribedBy",z),ao=(0,x.useMemo)(()=>W.getEnabled(),[W]),ap=(0,x.useMemo)(()=>({draggable:{...bj.draggable,...null==F?void 0:F.draggable},droppable:{...bj.droppable,...null==F?void 0:F.droppable},dragOverlay:{...bj.dragOverlay,...null==F?void 0:F.dragOverlay}}),[null==F?void 0:F.draggable,null==F?void 0:F.droppable,null==F?void 0:F.dragOverlay]),{droppableRects:ar,measureDroppableContainers:as,measuringScheduled:au}=function(a,b){let{dragging:c,dependencies:d,config:e}=b,[f,g]=(0,x.useState)(null),{frequency:h,measure:i,strategy:j}=e,k=(0,x.useRef)(a),l=function(){switch(j){case t.Always:return!1;case t.BeforeDragging:return c;default:return!c}}(),m=Z(l),n=(0,x.useCallback)(function(a){void 0===a&&(a=[]),m.current||g(b=>null===b?a:b.concat(a.filter(a=>!b.includes(a))))},[m]),o=(0,x.useRef)(null),p=$(b=>{if(l&&!c)return a8;if(!b||b===a8||k.current!==a||null!=f){let b=new Map;for(let c of a){if(!c)continue;if(f&&f.length>0&&!f.includes(c.id)&&c.rect.current){b.set(c.id,c.rect.current);continue}let a=c.node.current,d=a?new aS(i(a),a):null;c.rect.current=d,d&&b.set(c.id,d)}return b}return b},[a,f,c,l,i]);return(0,x.useEffect)(()=>{k.current=a},[a]),(0,x.useEffect)(()=>{l||n()},[c,l]),(0,x.useEffect)(()=>{f&&f.length>0&&g(null)},[JSON.stringify(f)]),(0,x.useEffect)(()=>{l||"number"!=typeof h||null!==o.current||(o.current=setTimeout(()=>{n(),o.current=null},h))},[h,l,n,...d]),{droppableRects:p,measureDroppableContainers:n,measuringScheduled:null!=f}}(ao,{dragging:Q,dependencies:[V.x,V.y],config:ap.droppable}),av=$(a=>{var b;return null==R?null:null!=(b=null!=p?p:a)?b:null},[p=(o=null!=R?T.get(R):void 0)?o.node.current:null,R]),aw=(0,x.useMemo)(()=>aj?ah(aj):null,[aj]),ax=(j=(null==ag?void 0:ag.autoScrollEnabled)===!1,k="object"==typeof B?!1===B.enabled:!1===B,l=Q&&!j&&!k,"object"==typeof B?{...B,enabled:l}:{enabled:l}),az=a9(av,ap.draggable.measure);!function(a){let{activeNode:b,measure:c,initialRect:d,config:e=!0}=a,f=(0,x.useRef)(!1),{x:g,y:h}="boolean"==typeof e?{x:e,y:e}:e;X(()=>{if(!g&&!h||!b){f.current=!1;return}if(f.current||!d)return;let a=null==b?void 0:b.node.current;if(!a||!1===a.isConnected)return;let e=aC(c(a),d);if(g||(e.x=0),h||(e.y=0),f.current=!0,Math.abs(e.x)>0||Math.abs(e.y)>0){let b=aI(a);b&&b.scrollBy({top:e.y,left:e.x})}},[b,g,h,d,c])}({activeNode:null!=R?T.get(R):null,config:ax.layoutShiftCompensation,initialRect:az,measure:ap.draggable.measure});let aA=bc(av,ap.draggable.measure,az),aE=bc(av?av.parentElement:null),aG=(0,x.useRef)({activatorEvent:null,active:null,activeNode:av,collisionRect:null,collisions:null,droppableRects:ar,draggableNodes:T,draggingNode:null,draggingNodeRect:null,droppableContainers:W,over:null,scrollableAncestors:[],scrollAdjustedTranslate:null}),aK=W.getNodeFor(null==(b=aG.current.over)?void 0:b.id),aL=function(a){let{measure:b}=a,[c,d]=(0,x.useState)(null),e=ba({callback:(0,x.useCallback)(a=>{for(let{target:c}of a)if(U(c)){d(a=>{let d=b(c);return a?{...a,width:d.width,height:d.height}:d});break}},[b])}),[f,g]=_((0,x.useCallback)(a=>{let c=function(a){if(!a)return null;if(a.children.length>1)return a;let b=a.children[0];return U(b)?b:a}(a);null==e||e.disconnect(),c&&(null==e||e.observe(c)),d(c?b(c):null)},[b,e]));return(0,x.useMemo)(()=>({nodeRef:f,rect:c,setRef:g}),[c,f,g])}({measure:ap.dragOverlay.measure}),aR=null!=(c=aL.nodeRef.current)?c:av,aT=Q?null!=(d=aL.rect)?d:aA:null,aU=!!(aL.nodeRef.current&&aL.rect),aV=(q=a9(f=aU?null:aA),aC(f,q)),aW=bf(aR?S(aR):null),aX=(g=Q?null!=aK?aK:av:null,u=(0,x.useRef)(g),w=$(a=>g?a&&a!==bd&&g&&u.current&&g.parentNode===u.current.parentNode?a:aH(g):bd,[g]),(0,x.useEffect)(()=>{u.current=g},[g]),w),aY=function(a,b){void 0===b&&(b=aF);let[c]=a,d=bf(c?S(c):null),[e,f]=(0,x.useState)(bg);function g(){f(()=>a.length?a.map(a=>aN(a)?d:new aS(b(a),a)):bg)}let h=ba({callback:g});return X(()=>{null==h||h.disconnect(),g(),a.forEach(a=>null==h?void 0:h.observe(a))},[a]),e}(aX),aZ=function(a,b){let{transform:c,...d}=b;return null!=a&&a.length?a.reduce((a,b)=>b({transform:a,...d}),c):c}(G,{transform:{x:V.x-aV.x,y:V.y-aV.y,scaleX:1,scaleY:1},activatorEvent:aj,active:ad,activeNodeRect:aA,containerNodeRect:aE,draggingNodeRect:aT,over:aG.current.over,overlayNodeRect:aL.rect,scrollableAncestors:aX,scrollableAncestorRects:aY,windowRect:aW}),a$=aw?ae(aw,V):null,a_=function(a){let[b,c]=(0,x.useState)(null),d=(0,x.useRef)(a),e=(0,x.useCallback)(a=>{let b=aJ(a.target);b&&c(a=>a?(a.set(b,aM(b)),new Map(a)):null)},[]);return(0,x.useEffect)(()=>{let b=d.current;if(a!==b){f(b);let g=a.map(a=>{let b=aJ(a);return b?(b.addEventListener("scroll",e,{passive:!0}),[b,aM(b)]):null}).filter(a=>null!=a);c(g.length?new Map(g):null),d.current=a}return()=>{f(a),f(b)};function f(a){a.forEach(a=>{let b=aJ(a);null==b||b.removeEventListener("scroll",e)})}},[e,a]),(0,x.useMemo)(()=>a.length?b?Array.from(b.values()).reduce((a,b)=>ae(a,b),at):aQ(a):at,[a,b])}(aX),a0=be(a_),a1=be(a_,[aA]),a2=ae(aZ,a0),a3=aT?aD(aT,aZ):null,a4=ad&&a3?E({active:ad,collisionRect:a3,droppableRects:ar,droppableContainers:ao,pointerCoordinates:a$}):null,a5=ay(a4,"id"),[a6,bb]=(0,x.useState)(null),bk=(h=aU?aZ:ae(aZ,a1),i=null!=(e=null==a6?void 0:a6.rect)?e:null,{...h,scaleX:i&&aA?i.width/aA.width:1,scaleY:i&&aA?i.height/aA.height:1}),bl=(0,x.useRef)(null),bm=(0,x.useCallback)((a,b)=>{let{sensor:c,options:d}=b;if(null==af.current)return;let e=T.get(af.current);if(!e)return;let f=a.nativeEvent,g=new c({active:af.current,activeNode:e,event:f,options:d,context:aG,onAbort(a){if(!T.get(a))return;let{onDragAbort:b}=al.current,c={id:a};null==b||b(c),K({type:"onDragAbort",event:c})},onPending(a,b,c,d){if(!T.get(a))return;let{onDragPending:e}=al.current,f={id:a,constraint:b,initialCoordinates:c,offset:d};null==e||e(f),K({type:"onDragPending",event:f})},onStart(a){let b=af.current;if(null==b)return;let c=T.get(b);if(!c)return;let{onDragStart:d}=al.current,e={activatorEvent:f,active:{id:b,data:c.data,rect:ab}};(0,O.unstable_batchedUpdates)(()=>{null==d||d(e),N(v.Initializing),J({type:m.DragStart,initialCoordinates:a,active:b}),K({type:"onDragStart",event:e}),ai(bl.current),ak(f)})},onMove(a){J({type:m.DragMove,coordinates:a})},onEnd:h(m.DragEnd),onCancel:h(m.DragCancel)});function h(a){return async function(){let{active:b,collisions:c,over:d,scrollAdjustedTranslate:e}=aG.current,g=null;if(b&&e){let{cancelDrop:h}=al.current;g={activatorEvent:f,active:b,collisions:c,delta:e,over:d},a===m.DragEnd&&"function"==typeof h&&await Promise.resolve(h(g))&&(a=m.DragCancel)}af.current=null,(0,O.unstable_batchedUpdates)(()=>{J({type:a}),N(v.Uninitialized),bb(null),ai(null),ak(null),bl.current=null;let b=a===m.DragEnd?"onDragEnd":"onDragCancel";if(g){let a=al.current[b];null==a||a(g),K({type:b,event:g})}})}}bl.current=g},[T]),bt=(0,x.useCallback)((a,b)=>(c,d)=>{let e=c.nativeEvent,f=T.get(d);null!==af.current||!f||e.dndKit||e.defaultPrevented||!0===a(c,b.options,{active:f})&&(e.dndKit={capturedBy:b.sensor},af.current=d,bm(c,b))},[T,bm]),bu=(0,x.useMemo)(()=>D.reduce((a,b)=>{let{sensor:c}=b;return[...a,...c.activators.map(a=>({eventName:a.eventName,handler:bt(a.handler,b)}))]},[]),[D,bt]);(0,x.useEffect)(()=>{if(!P)return;let a=D.map(a=>{let{sensor:b}=a;return null==b.setup?void 0:b.setup()});return()=>{for(let b of a)null==b||b()}},D.map(a=>{let{sensor:b}=a;return b})),X(()=>{aA&&M===v.Initializing&&N(v.Initialized)},[aA,M]),(0,x.useEffect)(()=>{let{onDragMove:a}=al.current,{active:b,activatorEvent:c,collisions:d,over:e}=aG.current;if(!b||!c)return;let f={active:b,activatorEvent:c,collisions:d,delta:{x:a2.x,y:a2.y},over:e};(0,O.unstable_batchedUpdates)(()=>{null==a||a(f),K({type:"onDragMove",event:f})})},[a2.x,a2.y]),(0,x.useEffect)(()=>{let{active:a,activatorEvent:b,collisions:c,droppableContainers:d,scrollAdjustedTranslate:e}=aG.current;if(!a||null==af.current||!b||!e)return;let{onDragOver:f}=al.current,g=d.get(a5),h=g&&g.rect.current?{id:g.id,rect:g.rect.current,data:g.data,disabled:g.disabled}:null,i={active:a,activatorEvent:b,collisions:c,delta:{x:e.x,y:e.y},over:h};(0,O.unstable_batchedUpdates)(()=>{bb(h),null==f||f(i),K({type:"onDragOver",event:i})})},[a5]),X(()=>{aG.current={activatorEvent:aj,active:ad,activeNode:av,collisionRect:a3,collisions:a4,droppableRects:ar,draggableNodes:T,draggingNode:aR,draggingNodeRect:aT,droppableContainers:W,over:a6,scrollableAncestors:aX,scrollAdjustedTranslate:a2},ab.current={initial:aT,translated:a3}},[ad,av,a4,a3,T,aR,aT,ar,W,a6,aX,a2]),function(a){let b,{acceleration:c,activator:d=r.Pointer,canScroll:e,draggingRect:f,enabled:g,interval:h=5,order:i=s.TreeOrder,pointerCoordinates:j,scrollableAncestors:k,scrollableAncestorRects:l,delta:m,threshold:o}=a,p=function(a){let{delta:b,disabled:c}=a,d=aa(b);return $(a=>{if(c||!d||!a)return a7;let e={x:Math.sign(b.x-d.x),y:Math.sign(b.y-d.y)};return{x:{[n.Backward]:a.x[n.Backward]||-1===e.x,[n.Forward]:a.x[n.Forward]||1===e.x},y:{[n.Backward]:a.y[n.Backward]||-1===e.y,[n.Forward]:a.y[n.Forward]||1===e.y}}},[c,b,d])}({delta:m,disabled:!g}),[q,t]=(b=(0,x.useRef)(null),[(0,x.useCallback)((a,c)=>{b.current=setInterval(a,c)},[]),(0,x.useCallback)(()=>{null!==b.current&&(clearInterval(b.current),b.current=null)},[])]),u=(0,x.useRef)({x:0,y:0}),v=(0,x.useRef)({x:0,y:0}),w=(0,x.useMemo)(()=>{switch(d){case r.Pointer:return j?{top:j.y,bottom:j.y,left:j.x,right:j.x}:null;case r.DraggableRect:return f}},[d,f,j]),y=(0,x.useRef)(null),z=(0,x.useCallback)(()=>{let a=y.current;if(!a)return;let b=u.current.x*v.current.x,c=u.current.y*v.current.y;a.scrollBy(b,c)},[]),A=(0,x.useMemo)(()=>i===s.TreeOrder?[...k].reverse():k,[i,k]);(0,x.useEffect)(()=>{if(!g||!k.length||!w)return void t();for(let a of A){if((null==e?void 0:e(a))===!1)continue;let b=l[k.indexOf(a)];if(!b)continue;let{direction:d,speed:f}=function(a,b,c,d,e){let{top:f,left:g,right:h,bottom:i}=c;void 0===d&&(d=10),void 0===e&&(e=aP);let{isTop:j,isBottom:k,isLeft:l,isRight:m}=aO(a),o={x:0,y:0},p={x:0,y:0},q={height:b.height*e.y,width:b.width*e.x};return!j&&f<=b.top+q.height?(o.y=n.Backward,p.y=d*Math.abs((b.top+q.height-f)/q.height)):!k&&i>=b.bottom-q.height&&(o.y=n.Forward,p.y=d*Math.abs((b.bottom-q.height-i)/q.height)),!m&&h>=b.right-q.width?(o.x=n.Forward,p.x=d*Math.abs((b.right-q.width-h)/q.width)):!l&&g<=b.left+q.width&&(o.x=n.Backward,p.x=d*Math.abs((b.left+q.width-g)/q.width)),{direction:o,speed:p}}(a,b,w,c,o);for(let a of["x","y"])p[a][d[a]]||(f[a]=0,d[a]=0);if(f.x>0||f.y>0){t(),y.current=a,q(z,h),u.current=f,v.current=d;return}}u.current={x:0,y:0},v.current={x:0,y:0},t()},[c,z,e,t,g,h,JSON.stringify(w),JSON.stringify(p),q,k,A,l,JSON.stringify(o)])}({...ax,delta:V,draggingRect:a3,pointerCoordinates:a$,scrollableAncestors:aX,scrollableAncestorRects:aY});let bv=(0,x.useMemo)(()=>({active:ad,activeNode:av,activeNodeRect:aA,activatorEvent:aj,collisions:a4,containerNodeRect:aE,dragOverlay:aL,draggableNodes:T,droppableContainers:W,droppableRects:ar,over:a6,measureDroppableContainers:as,scrollableAncestors:aX,scrollableAncestorRects:aY,measuringConfiguration:ap,measuringScheduled:au,windowRect:aW}),[ad,av,aA,aj,a4,aE,aL,T,W,ar,a6,as,aX,aY,ap,au,aW]),bw=(0,x.useMemo)(()=>({activatorEvent:aj,activators:bu,active:ad,activeNodeRect:aA,ariaDescribedById:{draggable:am},dispatch:J,draggableNodes:T,over:a6,measureDroppableContainers:as}),[aj,bu,ad,aA,J,am,T,a6,as]);return y().createElement(an.Provider,{value:L},y().createElement(bn.Provider,{value:bw},y().createElement(bo.Provider,{value:bv},y().createElement(bs.Provider,{value:bk},C)),y().createElement(br,{disabled:(null==A?void 0:A.restoreFocus)===!1})),y().createElement(aq,{...A,hiddenTextDescribedById:am}))}),bu=(0,x.createContext)(null),bv="button",bw={timeout:25};function bx(a,b,c){let d=a.slice();return d.splice(c<0?d.length+c:c,0,d.splice(b,1)[0]),d}function by(a){return null!==a&&a>=0}let bz=a=>{let{rects:b,activeIndex:c,overIndex:d,index:e}=a,f=bx(b,d,c),g=b[e],h=f[e];return h&&g?{x:h.left-g.left,y:h.top-g.top,scaleX:h.width/g.width,scaleY:h.height/g.height}:null},bA={scaleX:1,scaleY:1},bB=a=>{var b,c,d,e;let f,g,h,{activeIndex:i,activeNodeRect:j,index:k,rects:l,overIndex:m}=a,n=null!=(b=l[i])?b:j;if(!n)return null;if(k===i){let a=l[m];return a?{x:0,y:i<m?a.top+a.height-(n.top+n.height):a.top-n.top,...bA}:null}let o=(c=l,d=k,e=i,f=c[d],g=c[d-1],h=c[d+1],f?e<d?g?f.top-(g.top+g.height):h?h.top-(f.top+f.height):0:h?h.top-(f.top+f.height):g?f.top-(g.top+g.height):0:0);return k>i&&k<=m?{x:0,y:-n.height-o,...bA}:k<i&&k>=m?{x:0,y:n.height+o,...bA}:{x:0,y:0,...bA}},bC="Sortable",bD=y().createContext({activeIndex:-1,containerId:bC,disableTransforms:!1,items:[],overIndex:-1,useDragOverlay:!1,sortedRects:[],strategy:bz,disabled:{draggable:!1,droppable:!1}});function bE(a){let{children:b,id:c,items:d,strategy:e=bz,disabled:f=!1}=a,{active:g,dragOverlay:h,droppableRects:i,over:j,measureDroppableContainers:k}=(0,x.useContext)(bo),l=ac(bC,c),m=null!==h.rect,n=(0,x.useMemo)(()=>d.map(a=>"object"==typeof a&&"id"in a?a.id:a),[d]),o=null!=g,p=g?n.indexOf(g.id):-1,q=j?n.indexOf(j.id):-1,r=(0,x.useRef)(n),s=!function(a,b){if(a===b)return!0;if(a.length!==b.length)return!1;for(let c=0;c<a.length;c++)if(a[c]!==b[c])return!1;return!0}(n,r.current),t=-1!==q&&-1===p||s,u="boolean"==typeof f?{draggable:f,droppable:f}:f;X(()=>{s&&o&&k(n)},[s,n,o,k]),(0,x.useEffect)(()=>{r.current=n},[n]);let v=(0,x.useMemo)(()=>({activeIndex:p,containerId:l,disabled:u,disableTransforms:t,items:n,overIndex:q,useDragOverlay:m,sortedRects:n.reduce((a,b,c)=>{let d=i.get(b);return d&&(a[c]=d),a},Array(n.length)),strategy:e}),[p,l,u.draggable,u.droppable,t,n,q,i,m,e]);return y().createElement(bD.Provider,{value:v},b)}let bF=a=>{let{id:b,items:c,activeIndex:d,overIndex:e}=a;return bx(c,d,e).indexOf(b)},bG=a=>{let{containerId:b,isSorting:c,wasDragging:d,index:e,items:f,newIndex:g,previousItems:h,previousContainerId:i,transition:j}=a;return!!j&&!!d&&(h===f||e!==g)&&(!!c||g!==e&&b===i)},bH={duration:200,easing:"ease"},bI="transform",bJ=ai.Transition.toString({property:bI,duration:0,easing:"linear"}),bK={roleDescription:"sortable"};function bL(a){if(!a)return!1;let b=a.data.current;return!!b&&"sortable"in b&&"object"==typeof b.sortable&&"containerId"in b.sortable&&"items"in b.sortable&&"index"in b.sortable}let bM=[p.Down,p.Right,p.Up,p.Left],bN=(a,b)=>{let{context:{active:c,collisionRect:d,droppableRects:e,droppableContainers:f,over:g,scrollableAncestors:h}}=b;if(bM.includes(a.code)){if(a.preventDefault(),!c||!d)return;let b=[];f.getEnabled().forEach(c=>{if(!c||null!=c&&c.disabled)return;let f=e.get(c.id);if(f)switch(a.code){case p.Down:d.top<f.top&&b.push(c);break;case p.Up:d.top>f.top&&b.push(c);break;case p.Left:d.left>f.left&&b.push(c);break;case p.Right:d.left<f.left&&b.push(c)}});let k=(a=>{let{collisionRect:b,droppableRects:c,droppableContainers:d}=a,e=ax(b),f=[];for(let a of d){let{id:b}=a,d=c.get(b);if(d){let c=ax(d),g=Number((e.reduce((a,b,d)=>a+au(c[d],b),0)/4).toFixed(4));f.push({id:b,data:{droppableContainer:a,value:g}})}}return f.sort(av)})({active:c,collisionRect:d,droppableRects:e,droppableContainers:b,pointerCoordinates:null}),l=ay(k,"id");if(l===(null==g?void 0:g.id)&&k.length>1&&(l=k[1].id),null!=l){let a=f.get(c.id),b=f.get(l),g=b?e.get(b.id):null,k=null==b?void 0:b.node.current;if(k&&g&&a&&b){var i,j;let c=aH(k).some((a,b)=>h[b]!==a),e=bO(a,b),f=(i=a,j=b,!!bL(i)&&!!bL(j)&&!!bO(i,j)&&i.data.current.sortable.index<j.data.current.sortable.index),l=c||!e?{x:0,y:0}:{x:f?d.width-g.width:0,y:f?d.height-g.height:0},m={x:g.left,y:g.top};return l.x&&l.y?m:af(m,l)}}}};function bO(a,b){return!!bL(a)&&!!bL(b)&&a.data.current.sortable.containerId===b.data.current.sortable.containerId}let bP=a=>{let b,{containerNodeRect:c,draggingNodeRect:d,transform:e}=a;return d&&c?(b={...e},d.top+e.y<=c.top?b.y=c.top-d.top:d.bottom+e.y>=c.top+c.height&&(b.y=c.top+c.height-d.bottom),d.left+e.x<=c.left?b.x=c.left-d.left:d.right+e.x>=c.left+c.width&&(b.x=c.left+c.width-d.right),b):e},bQ=a=>{let{transform:b}=a;return{...b,x:0}};function bR({id:a,index:b,model:c,isFirst:d,isLast:e,modelCaps:f,onEdit:g,onMoveUp:h,onMoveDown:i,onRemove:j}){let{attributes:k,listeners:l,setNodeRef:n,transform:o,isDragging:p}=function(a){var b,c,d,e;let{animateLayoutChanges:f=bG,attributes:g,disabled:h,data:i,getNewIndex:j=bF,id:k,strategy:l,resizeObserverConfig:n,transition:o=bH}=a,{items:p,containerId:q,activeIndex:r,disabled:s,disableTransforms:t,sortedRects:u,overIndex:v,useDragOverlay:w,strategy:y}=(0,x.useContext)(bD),z=(b=h,c=s,"boolean"==typeof b?{draggable:b,droppable:!1}:{draggable:null!=(d=null==b?void 0:b.draggable)?d:c.draggable,droppable:null!=(e=null==b?void 0:b.droppable)?e:c.droppable}),A=p.indexOf(k),B=(0,x.useMemo)(()=>({sortable:{containerId:q,index:A,items:p},...i}),[q,i,A,p]),C=(0,x.useMemo)(()=>p.slice(p.indexOf(k)),[p,k]),{rect:D,node:E,isOver:F,setNodeRef:G}=function(a){let{data:b,disabled:c=!1,id:d,resizeObserverConfig:e}=a,f=ac("Droppable"),{active:g,dispatch:h,over:i,measureDroppableContainers:j}=(0,x.useContext)(bn),k=(0,x.useRef)({disabled:c}),l=(0,x.useRef)(!1),n=(0,x.useRef)(null),o=(0,x.useRef)(null),{disabled:p,updateMeasurementsFor:q,timeout:r}={...bw,...e},s=Z(null!=q?q:d),t=ba({callback:(0,x.useCallback)(()=>{if(!l.current){l.current=!0;return}null!=o.current&&clearTimeout(o.current),o.current=setTimeout(()=>{j(Array.isArray(s.current)?s.current:[s.current]),o.current=null},r)},[r]),disabled:p||!g}),[u,v]=_((0,x.useCallback)((a,b)=>{t&&(b&&(t.unobserve(b),l.current=!1),a&&t.observe(a))},[t])),w=Z(b);return(0,x.useEffect)(()=>{t&&u.current&&(t.disconnect(),l.current=!1,t.observe(u.current))},[u,t]),(0,x.useEffect)(()=>(h({type:m.RegisterDroppable,element:{id:d,key:f,disabled:c,node:u,rect:n,data:w}}),()=>h({type:m.UnregisterDroppable,key:f,id:d})),[d]),(0,x.useEffect)(()=>{c!==k.current.disabled&&(h({type:m.SetDroppableDisabled,id:d,key:f,disabled:c}),k.current.disabled=c)},[d,f,c,h]),{active:g,rect:n,isOver:(null==i?void 0:i.id)===d,node:u,over:i,setNodeRef:v}}({id:k,data:B,disabled:z.droppable,resizeObserverConfig:{updateMeasurementsFor:C,...n}}),{active:H,activatorEvent:I,activeNodeRect:J,attributes:K,setNodeRef:L,listeners:M,isDragging:N,over:O,setActivatorNodeRef:P,transform:Q}=function(a){let{id:b,data:c,disabled:d=!1,attributes:e}=a,f=ac("Draggable"),{activators:g,activatorEvent:h,active:i,activeNodeRect:j,ariaDescribedById:k,draggableNodes:l,over:m}=(0,x.useContext)(bn),{role:n=bv,roleDescription:o="draggable",tabIndex:p=0}=null!=e?e:{},q=(null==i?void 0:i.id)===b,r=(0,x.useContext)(q?bs:bu),[s,t]=_(),[u,v]=_(),w=(0,x.useMemo)(()=>g.reduce((a,c)=>{let{eventName:d,handler:e}=c;return a[d]=a=>{e(a,b)},a},{}),[g,b]),y=Z(c);return X(()=>(l.set(b,{id:b,key:f,node:s,activatorNode:u,data:y}),()=>{let a=l.get(b);a&&a.key===f&&l.delete(b)}),[l,b]),{active:i,activatorEvent:h,activeNodeRect:j,attributes:(0,x.useMemo)(()=>({role:n,tabIndex:p,"aria-disabled":d,"aria-pressed":!!q&&n===bv||void 0,"aria-roledescription":o,"aria-describedby":k.draggable}),[d,n,p,q,o,k.draggable]),isDragging:q,listeners:d?void 0:w,node:s,over:m,setNodeRef:t,setActivatorNodeRef:v,transform:r}}({id:k,data:B,attributes:{...bK,...g},disabled:z.draggable}),R=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,x.useMemo)(()=>a=>{b.forEach(b=>b(a))},b)}(G,L),S=!!H,T=S&&!t&&by(r)&&by(v),U=!w&&N,V=U&&T?Q:null,W=T?null!=V?V:(null!=l?l:y)({rects:u,activeNodeRect:J,activeIndex:r,overIndex:v,index:A}):null,Y=by(r)&&by(v)?j({id:k,items:p,activeIndex:r,overIndex:v}):A,$=null==H?void 0:H.id,aa=(0,x.useRef)({activeId:$,items:p,newIndex:Y,containerId:q}),ab=p!==aa.current.items,ad=f({active:H,containerId:q,isDragging:N,isSorting:S,id:k,index:A,items:p,newIndex:aa.current.newIndex,previousItems:aa.current.items,previousContainerId:aa.current.containerId,transition:o,wasDragging:null!=aa.current.activeId}),ae=function(a){let{disabled:b,index:c,node:d,rect:e}=a,[f,g]=(0,x.useState)(null),h=(0,x.useRef)(c);return X(()=>{if(!b&&c!==h.current&&d.current){let a=e.current;if(a){let b=aF(d.current,{ignoreTransform:!0}),c={x:a.left-b.left,y:a.top-b.top,scaleX:a.width/b.width,scaleY:a.height/b.height};(c.x||c.y)&&g(c)}}c!==h.current&&(h.current=c)},[b,c,d,e]),(0,x.useEffect)(()=>{f&&g(null)},[f]),f}({disabled:!ad,index:A,node:E,rect:D});return(0,x.useEffect)(()=>{S&&aa.current.newIndex!==Y&&(aa.current.newIndex=Y),q!==aa.current.containerId&&(aa.current.containerId=q),p!==aa.current.items&&(aa.current.items=p)},[S,Y,q,p]),(0,x.useEffect)(()=>{if($===aa.current.activeId)return;if(null!=$&&null==aa.current.activeId){aa.current.activeId=$;return}let a=setTimeout(()=>{aa.current.activeId=$},50);return()=>clearTimeout(a)},[$]),{active:H,activeIndex:r,attributes:K,data:B,rect:D,index:A,newIndex:Y,items:p,isOver:F,isSorting:S,isDragging:N,listeners:M,node:E,overIndex:v,over:O,setNodeRef:R,setActivatorNodeRef:P,setDroppableNodeRef:G,setDraggableNodeRef:L,transform:null!=ae?ae:W,transition:ae||ab&&aa.current.newIndex===A?bJ:(!U||ag(I))&&o&&(S||ad)?ai.Transition.toString({...o,property:bI}):void 0}}({id:a}),q={transform:ai.Transform.toString(o),opacity:p?.5:1,zIndex:p?999:void 0},[r,s]=(0,x.useState)(!1),[t,u]=(0,x.useState)(c),v=()=>{let a=t.trim();a&&a!==c?g(a):u(c),s(!1)};return(0,w.jsxs)("div",{ref:n,style:q,className:`group flex min-w-0 items-center gap-2 rounded-lg border px-2.5 py-1.5 transition-all ${p?"border-primary/40 bg-panel shadow-md ring-1 ring-primary/20":"border-transparent bg-panel hover:border-border-subtle"}`,children:[(0,w.jsx)("span",{className:"flex size-5 shrink-0 items-center justify-center rounded bg-primary/10 text-[10px] font-bold text-primary",children:b+1}),(0,w.jsx)("button",{...k,...l,type:"button",className:"cursor-grab touch-none shrink-0 p-0.5 rounded text-text-muted/50 hover:text-text-main active:cursor-grabbing",title:"Drag to reorder",children:(0,w.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,w.jsx)("circle",{cx:"9",cy:"4",r:"1.5"}),(0,w.jsx)("circle",{cx:"15",cy:"4",r:"1.5"}),(0,w.jsx)("circle",{cx:"9",cy:"12",r:"1.5"}),(0,w.jsx)("circle",{cx:"15",cy:"12",r:"1.5"}),(0,w.jsx)("circle",{cx:"9",cy:"20",r:"1.5"}),(0,w.jsx)("circle",{cx:"15",cy:"20",r:"1.5"})]})}),r?(0,w.jsx)("input",{autoFocus:!0,value:t,onChange:a=>u(a.target.value),onBlur:v,onKeyDown:a=>{"Enter"===a.key&&v(),"Escape"===a.key&&(u(c),s(!1))},className:"min-w-0 flex-1 rounded border border-primary/40 bg-panel px-1.5 py-0.5 font-mono text-xs text-text-main outline-none"}):(0,w.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1.5 cursor-text rounded px-1 py-0.5 hover:bg-black/[0.03] dark:hover:bg-white/[0.03]",onClick:()=>s(!0),title:"Click to edit",children:[(0,w.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-xs text-text-main",children:c}),f?.[c]&&(0,w.jsx)(A.nh,{caps:f[c],size:11})]}),(0,w.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity group-hover:opacity-100",children:[(0,w.jsx)("button",{onClick:h,disabled:d,className:`rounded p-1 transition-colors ${d?"cursor-not-allowed text-text-muted/20":"text-text-muted hover:bg-black/5 hover:text-primary dark:hover:bg-white/5"}`,title:"Move up",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"arrow_upward"})}),(0,w.jsx)("button",{onClick:i,disabled:e,className:`rounded p-1 transition-colors ${e?"cursor-not-allowed text-text-muted/20":"text-text-muted hover:bg-black/5 hover:text-primary dark:hover:bg-white/5"}`,title:"Move down",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"arrow_downward"})})]}),(0,w.jsx)("button",{onClick:j,className:"shrink-0 rounded p-1 text-text-muted opacity-0 transition-all hover:bg-danger/10 hover:text-danger group-hover:opacity-100",title:"Remove model",children:(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"close"})})]})}function bS({isOpen:a,combo:b,onClose:c,onSave:d,activeProviders:e,modelCaps:f={},kindFilter:g=null}){let[h,i]=(0,x.useState)(b?.name||""),[j,k]=(0,x.useState)(b?.models||[]),[l,m]=(0,x.useState)(!1),[n,o]=(0,x.useState)(!1),[p,q]=(0,x.useState)(""),[r,s]=(0,x.useState)({}),t=function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return(0,x.useMemo)(()=>[...b].filter(a=>null!=a),[...b])}(as(a2,{activationConstraint:{distance:5}}),as(aZ,{coordinateGetter:bN})),u=j.map((a,b)=>({uid:`item-${b}`,model:a})),v=a=>a.trim()?C.test(a)?(q(""),!0):(q("Only letters, numbers, -, _ and . allowed"),!1):(q("Name is required"),!1),y=async()=>{v(h)&&(o(!0),await d({name:h.trim(),models:j}),o(!1))},z=!!b;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(A.aF,{isOpen:a,onClose:c,title:z?"Edit Combo":"Create Combo",size:"lg",children:(0,w.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,w.jsxs)("div",{children:[(0,w.jsx)(A.pd,{label:"Combo Name",value:h,onChange:a=>{let b=a.target.value;i(b),b?v(b):q("")},placeholder:"my-combo",error:p}),(0,w.jsxs)("div",{className:"mt-1.5 flex items-center gap-2",children:[(0,w.jsx)("p",{className:"text-[10px] text-text-muted",children:"Use this name as the model in your client:"}),h.trim()&&(0,w.jsx)("code",{className:"rounded bg-primary/10 px-1.5 py-0.5 font-mono text-[10px] text-primary",children:h.trim()})]})]}),(0,w.jsxs)("div",{children:[(0,w.jsxs)("div",{className:"mb-2 flex items-center justify-between",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2",children:[(0,w.jsx)("label",{className:"text-sm font-medium text-text-main",children:"Models"}),j.length>0&&(0,w.jsxs)(A.Ex,{variant:"info",size:"sm",children:[j.length," model",1!==j.length?"s":""]})]}),(0,w.jsx)("span",{className:"text-[10px] text-text-muted",children:"Drag to reorder priority"})]}),0===j.length?(0,w.jsxs)("div",{className:"flex flex-col items-center justify-center py-8 border border-dashed border-border rounded-lg bg-surface-2/50",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-text-muted text-2xl mb-2",children:"layers"}),(0,w.jsx)("p",{className:"text-xs text-text-muted mb-3",children:"Add models to build your combo"}),(0,w.jsx)(A.$n,{size:"sm",variant:"secondary",icon:"add",onClick:()=>m(!0),children:"Add First Model"})]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(bt,{sensors:t,collisionDetection:aA,onDragEnd:a=>{let{active:b,over:c}=a;if(c&&b.id!==c.id){let a=u.findIndex(a=>a.uid===b.id),d=u.findIndex(a=>a.uid===c.id);-1!==a&&-1!==d&&k(b=>bx(b,a,d))}},modifiers:[bQ,bP],children:(0,w.jsx)(bE,{items:u.map(a=>a.uid),strategy:bB,children:(0,w.jsx)("div",{className:"flex max-h-[45vh] min-w-0 flex-col gap-1 overflow-y-auto rounded-lg bg-surface-2/30 p-1.5",children:u.map(({uid:a,model:b},c)=>(0,w.jsx)(bR,{id:a,index:c,model:b,modelCaps:f,isFirst:0===c,isLast:c===u.length-1,onEdit:a=>{let b=[...j];b[c]=a,k(b)},onMoveUp:()=>(a=>{if(0===a)return;let b=[...j];[b[a-1],b[a]]=[b[a],b[a-1]],k(b)})(c),onMoveDown:()=>(a=>{if(a===j.length-1)return;let b=[...j];[b[a],b[a+1]]=[b[a+1],b[a]],k(b)})(c),onRemove:()=>{k(j.filter((a,b)=>b!==c))}},a))})})}),(0,w.jsxs)("button",{onClick:()=>m(!0),className:"w-full mt-2 py-2 border border-dashed border-primary/30 rounded-lg text-xs text-primary font-medium hover:border-primary hover:bg-primary/5 transition-colors flex items-center justify-center gap-1.5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"Add Model"]})]})]}),j.length>=2&&(0,w.jsxs)("div",{className:"rounded-lg border border-border-subtle bg-surface-2/50 px-3 py-2",children:[(0,w.jsxs)("div",{className:"flex items-center gap-2 mb-1.5",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted",children:"lightbulb"}),(0,w.jsx)("span",{className:"text-xs font-medium text-text-main",children:"Strategy Tips"})]}),(0,w.jsx)("div",{className:"grid grid-cols-1 gap-1.5 sm:grid-cols-2",children:D.map(a=>(0,w.jsxs)("div",{className:"flex items-start gap-1.5 text-[11px] text-text-muted",children:[(0,w.jsx)("span",{className:"material-symbols-outlined text-[12px] mt-0.5 text-primary/60",children:a.icon}),(0,w.jsxs)("span",{children:[(0,w.jsx)("span",{className:"font-medium text-text-main",children:a.label})," — ",a.desc]})]},a.value))}),(0,w.jsx)("p",{className:"mt-1.5 text-[10px] text-text-muted",children:"Set strategy after creating the combo from the Combos tab."})]}),(0,w.jsxs)("div",{className:"flex flex-col gap-2 pt-1 sm:flex-row",children:[(0,w.jsx)(A.$n,{onClick:c,variant:"ghost",fullWidth:!0,size:"sm",children:"Cancel"}),(0,w.jsx)(A.$n,{onClick:y,fullWidth:!0,size:"sm",icon:z?"save":"add",disabled:!h.trim()||!!p||n,children:n?"Saving...":z?"Save Changes":"Create Combo"})]})]})}),(0,w.jsx)(A.rq,{isOpen:l,onClose:()=>m(!1),onSelect:a=>{j.includes(a.value)||k([...j,a.value])},onDeselect:a=>{k(j.filter(b=>b!==a.value))},activeProviders:e,modelAliases:r,title:"Add Model to Combo",kindFilter:g,addedModelValues:j,closeOnSelect:!1})]})}let bT=[{value:"overview",label:"Overview"},{value:"combos",label:"Combos"},{value:"templates",label:"Templates"}];function bU(){let a=(0,z.useRouter)(),b=(0,z.useSearchParams)().get("tab")||"overview",[c,d]=(0,x.useState)([]),[e,f]=(0,x.useState)(!0),[g,h]=(0,x.useState)(!1),[i,j]=(0,x.useState)(null),[k,l]=(0,x.useState)([]),[m,n]=(0,x.useState)({}),[o,p]=(0,x.useState)({}),[q,r]=(0,x.useState)(null),{copied:s,copy:t}=(0,B.C)(),u=(0,x.useCallback)(async()=>{try{let[a,b,c,e]=await Promise.all([fetch("/api/combos"),fetch("/api/providers"),fetch("/api/settings"),fetch("/api/models")]),f=await a.json(),g=await b.json(),h=c.ok?await c.json():{};if(a.ok&&d((f.combos||[]).filter(a=>!a.kind||"llm"===a.kind)),b.ok&&l(g.connections||[]),e.ok){let a=await e.json(),b={};for(let c of a.models||[])c.caps&&(b[c.fullModel]=c.caps);p(b)}n(h.comboStrategies||{})}catch(a){console.log("Error fetching data:",a)}finally{f(!1)}},[]),v=b=>a.push(`/dashboard/combos?tab=${b}`),y=async a=>{try{let b=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(b.ok)await u(),h(!1);else{let a=await b.json();alert(a.error||"Failed to create combo")}}catch(a){console.log("Error creating combo:",a)}},C=async(a,b)=>{try{let c=await fetch(`/api/combos/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)});if(c.ok)await u(),j(null);else{let a=await c.json();alert(a.error||"Failed to update combo")}}catch(a){console.log("Error updating combo:",a)}},D=async(a,b)=>{try{let c={...m},d={...c[a]||{},...b};d.fallbackStrategy&&"fallback"!==d.fallbackStrategy?c[a]=d:delete c[a],await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:c})}),n(c)}catch(a){console.log("Error updating combo strategy:",a)}};return e?(0,w.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,w.jsx)(A.Qv,{}),(0,w.jsx)(A.Qv,{})]}):(0,w.jsxs)("div",{className:"flex min-w-0 flex-col gap-5",children:[(0,w.jsx)(A.zY,{title:"Combos",description:"Group models under one name, then pick a strategy per combo",icon:"layers",actions:(0,w.jsx)(A.$n,{size:"sm",icon:"add",onClick:()=>h(!0),className:"whitespace-nowrap",children:"Create Combo"})}),(0,w.jsx)(A.Iz,{options:bT,value:b,onChange:v}),"overview"===b&&(0,w.jsx)(J,{combos:c,comboStrategies:m,activeProviders:k,onViewCombos:()=>v("combos"),onCreate:()=>h(!0)}),"combos"===b&&(0,w.jsx)(L,{combos:c,modelCaps:o,activeProviders:k,comboStrategies:m,copied:s,copy:t,onEdit:j,onDelete:a=>{r({title:"Delete Combo",message:"Delete this combo?",onConfirm:async()=>{r(null);try{(await fetch(`/api/combos/${a}`,{method:"DELETE"})).ok&&d(b=>b.filter(b=>b.id!==a))}catch(a){console.log("Error deleting combo:",a)}}})},onSetStrategy:D,onCreate:()=>h(!0)}),"templates"===b&&(0,w.jsx)(N,{combos:c,connections:k,onApply:u}),(0,w.jsx)(bS,{isOpen:g,onClose:()=>h(!1),onSave:y,activeProviders:k,modelCaps:o},"create"),(0,w.jsx)(bS,{isOpen:!!i,combo:i,onClose:()=>j(null),onSave:a=>C(i.id,a),activeProviders:k,modelCaps:o},i?.id||"new"),(0,w.jsx)(A.uo,{isOpen:!!q,onClose:()=>r(null),onConfirm:q?.onConfirm,title:q?.title||"Confirm",message:q?.message,variant:"danger"})]})}function bV(){return(0,w.jsx)(x.Suspense,{fallback:(0,w.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,w.jsx)("div",{className:"h-32 animate-pulse rounded-lg bg-sidebar"}),(0,w.jsx)("div",{className:"h-32 animate-pulse rounded-lg bg-sidebar"})]}),children:(0,w.jsx)(bU,{})})}},81787:a=>{"use strict";a.exports=require("bun:sqlite")},83997:a=>{"use strict";a.exports=require("tty")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,1260,319,7152,8e3,9703,9422,8881,6070,8920,6306,212,2701,8833,318,8895,6182,6457,8271,6316,6777,412,788],()=>b(b.s=43262));module.exports=c})();