switchboard-router 0.9.37 → 0.9.40

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 (457) hide show
  1. package/app/.next/static/chunks/{1321-e736c179ab757d66.js → 1321-65fa769b26801132.js} +1 -1
  2. package/app/{.next-cli-build/static/chunks/1330-86c9bc7148028421.js → .next/static/chunks/1330-e1ec0f07ea113880.js} +1 -1
  3. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-2050b8c10234b86e.js +1 -0
  4. package/app/.next/static/chunks/app/layout-26e1615874db4cd7.js +1 -0
  5. package/app/.next/static/chunks/{webpack-57b54315eb9fa808.js → webpack-0aaec50204921747.js} +1 -1
  6. package/app/.next/static/css/225b03fdf274c037.css +1 -0
  7. package/app/{.next-cli-build/static/css/0978fa117f5c78e3.css → .next/static/css/5c8909d9cd96e270.css} +1 -1
  8. package/app/.next/static/media/0202600ddc0c26b4-s.p.woff2 +0 -0
  9. package/app/.next/static/media/0332c089697ea3ad-s.p.woff2 +0 -0
  10. package/app/.next/static/media/124eba111847a60f-s.p.woff2 +0 -0
  11. package/app/.next/static/media/42c1e8b6f014576e-s.p.woff2 +0 -0
  12. package/app/.next/static/media/527eba3de31447ec-s.p.woff2 +0 -0
  13. package/app/.next/static/media/64bcbd4d7db4ef3a-s.p.woff2 +0 -0
  14. package/app/.next/static/media/a03e0948a34ab92a-s.p.woff2 +0 -0
  15. package/app/.next-cli-build/BUILD_ID +1 -1
  16. package/app/.next-cli-build/app-path-routes-manifest.json +12 -12
  17. package/app/.next-cli-build/build-manifest.json +3 -3
  18. package/app/.next-cli-build/prerender-manifest.json +9 -9
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  88. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  89. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  91. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  92. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  94. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  95. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  97. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  99. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  100. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  101. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  103. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  105. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  107. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  108. package/app/.next-cli-build/server/app/_not-found.rsc +12 -9
  109. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +12 -9
  110. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  111. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +10 -7
  112. package/app/.next-cli-build/server/app/api/agent-library/catalog/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/agent-library/doctor/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/agent-library/export/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/agent-library/mcp/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/agent-library/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/agent-library/skills/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/agent-library/sync/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/agent-library/updates/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  124. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  126. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/claude-full-catalog/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/claude-picker-labels/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  146. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +3 -3
  148. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/picker-labels/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/[id]/strategy/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/mgmt/v1/combos/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/mgmt/v1/health/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/mgmt/v1/metrics/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/mgmt/v1/providers/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/mgmt/v1/routing/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/mgmt/v1/usage/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/mgmt/v1/version/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/models/routable/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/pricing/defaults/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/batch/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/cache/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/prepare/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/remove-unavailable/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/cancel/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/start/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/providers/[id]/model-probes/verify/status/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/routing/feedback/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/routing/feedback/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/routing/insights/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/routing/learn/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/routing/stats/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/routing/versions/promote/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/routing/versions/rollback/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/skills/[id]/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/token-saver/vault-stats/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  278. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  284. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  296. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  302. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  314. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  316. package/app/.next-cli-build/server/app/callback.html +1 -1
  317. package/app/.next-cli-build/server/app/callback.rsc +12 -9
  318. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +12 -9
  319. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +10 -7
  320. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  321. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  325. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +12 -9
  326. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +12 -9
  327. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +10 -7
  328. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  329. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/index.html +1 -1
  331. package/app/.next-cli-build/server/app/index.rsc +12 -9
  332. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  333. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +12 -9
  334. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +10 -7
  335. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  336. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  338. package/app/.next-cli-build/server/app/landing.html +1 -1
  339. package/app/.next-cli-build/server/app/landing.rsc +12 -9
  340. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +12 -9
  341. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +10 -7
  342. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  343. package/app/.next-cli-build/server/app/login/page.js +1 -1
  344. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  346. package/app/.next-cli-build/server/app/login.html +1 -1
  347. package/app/.next-cli-build/server/app/login.rsc +13 -10
  348. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +13 -10
  349. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +10 -7
  350. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  351. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/page.js +1 -1
  353. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  355. package/app/.next-cli-build/server/app-paths-manifest.json +12 -12
  356. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  357. package/app/.next-cli-build/server/chunks/1351.js +1 -1
  358. package/app/.next-cli-build/server/chunks/{3423.js → 2847.js} +1 -1
  359. package/app/.next-cli-build/server/chunks/3735.js +2 -2
  360. package/app/.next-cli-build/server/chunks/403.js +1 -1
  361. package/app/.next-cli-build/server/chunks/{9995.js → 4160.js} +1 -1
  362. package/app/.next-cli-build/server/chunks/5139.js +1 -1
  363. package/app/.next-cli-build/server/chunks/5195.js +1 -1
  364. package/app/.next-cli-build/server/chunks/5350.js +1 -1
  365. package/app/.next-cli-build/server/chunks/5717.js +1 -1
  366. package/app/.next-cli-build/server/chunks/5781.js +2 -2
  367. package/app/.next-cli-build/server/chunks/7133.js +1 -1
  368. package/app/.next-cli-build/server/chunks/7201.js +1 -1
  369. package/app/.next-cli-build/server/chunks/869.js +1 -1
  370. package/app/.next-cli-build/server/chunks/8789.js +1 -1
  371. package/app/.next-cli-build/server/chunks/8915.js +1 -1
  372. package/app/.next-cli-build/server/chunks/8998.js +9 -9
  373. package/app/.next-cli-build/server/chunks/9261.js +5 -5
  374. package/app/.next-cli-build/server/chunks/9421.js +2 -2
  375. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  376. package/app/.next-cli-build/server/middleware.js +2 -2
  377. package/app/.next-cli-build/server/next-font-manifest.js +1 -1
  378. package/app/.next-cli-build/server/next-font-manifest.json +1 -1
  379. package/app/.next-cli-build/server/pages/404.html +1 -1
  380. package/app/.next-cli-build/server/pages/500.html +1 -1
  381. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  382. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  383. package/app/.next-cli-build/static/chunks/{1321-e736c179ab757d66.js → 1321-65fa769b26801132.js} +1 -1
  384. package/app/{.next/static/chunks/1330-86c9bc7148028421.js → .next-cli-build/static/chunks/1330-e1ec0f07ea113880.js} +1 -1
  385. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-2050b8c10234b86e.js +1 -0
  386. package/app/.next-cli-build/static/chunks/app/layout-26e1615874db4cd7.js +1 -0
  387. package/app/.next-cli-build/static/chunks/{webpack-57b54315eb9fa808.js → webpack-0aaec50204921747.js} +1 -1
  388. package/app/.next-cli-build/static/css/225b03fdf274c037.css +1 -0
  389. package/app/{.next/static/css/0978fa117f5c78e3.css → .next-cli-build/static/css/5c8909d9cd96e270.css} +1 -1
  390. package/app/.next-cli-build/static/media/0202600ddc0c26b4-s.p.woff2 +0 -0
  391. package/app/.next-cli-build/static/media/0332c089697ea3ad-s.p.woff2 +0 -0
  392. package/app/.next-cli-build/static/media/124eba111847a60f-s.p.woff2 +0 -0
  393. package/app/.next-cli-build/static/media/42c1e8b6f014576e-s.p.woff2 +0 -0
  394. package/app/.next-cli-build/static/media/527eba3de31447ec-s.p.woff2 +0 -0
  395. package/app/.next-cli-build/static/media/64bcbd4d7db4ef3a-s.p.woff2 +0 -0
  396. package/app/.next-cli-build/static/media/a03e0948a34ab92a-s.p.woff2 +0 -0
  397. package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
  398. package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
  399. package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
  400. package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
  401. package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
  402. package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
  403. package/app/package.json +1 -1
  404. package/app/public/fonts/IBM-Plex-LICENSE.txt +93 -0
  405. package/package.json +1 -1
  406. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-40db6db68022a0cc.js +0 -1
  407. package/app/.next/static/chunks/app/layout-1cdcf5d484625046.js +0 -1
  408. package/app/.next/static/css/5aec38c92e666771.css +0 -1
  409. package/app/.next/static/media/011e180705008d6f-s.woff2 +0 -0
  410. package/app/.next/static/media/20535187d867b7b9-s.woff2 +0 -0
  411. package/app/.next/static/media/26d4368bf94c0ec4-s.p.woff2 +0 -0
  412. package/app/.next/static/media/2801417b65625cf5-s.woff2 +0 -0
  413. package/app/.next/static/media/28793f5c5e3d822d-s.woff2 +0 -0
  414. package/app/.next/static/media/5356a6a4f2c8c8d8-s.woff2 +0 -0
  415. package/app/.next/static/media/58f386aa6b1a2a92-s.woff2 +0 -0
  416. package/app/.next/static/media/73cb51aac9c97f90-s.woff2 +0 -0
  417. package/app/.next/static/media/7b19b489dc6743ba-s.woff2 +0 -0
  418. package/app/.next/static/media/7ba5fb2a8c88521c-s.woff2 +0 -0
  419. package/app/.next/static/media/92eeb95d069020cc-s.woff2 +0 -0
  420. package/app/.next/static/media/98e207f02528a563-s.p.woff2 +0 -0
  421. package/app/.next/static/media/99dcf268bda04fe5-s.woff2 +0 -0
  422. package/app/.next/static/media/b3bf17a9041d9433-s.woff2 +0 -0
  423. package/app/.next/static/media/c9c3823090ec8b55-s.woff2 +0 -0
  424. package/app/.next/static/media/d26bbd13d6b70f89-s.woff2 +0 -0
  425. package/app/.next/static/media/d29838c109ef09b4-s.woff2 +0 -0
  426. package/app/.next/static/media/d3ebbfd689654d3a-s.p.woff2 +0 -0
  427. package/app/.next/static/media/db96af6b531dc71f-s.p.woff2 +0 -0
  428. package/app/.next/static/media/e40af3453d7c920a-s.woff2 +0 -0
  429. package/app/.next/static/media/ef4d5661765d0e49-s.woff2 +0 -0
  430. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-40db6db68022a0cc.js +0 -1
  431. package/app/.next-cli-build/static/chunks/app/layout-1cdcf5d484625046.js +0 -1
  432. package/app/.next-cli-build/static/css/5aec38c92e666771.css +0 -1
  433. package/app/.next-cli-build/static/media/011e180705008d6f-s.woff2 +0 -0
  434. package/app/.next-cli-build/static/media/20535187d867b7b9-s.woff2 +0 -0
  435. package/app/.next-cli-build/static/media/26d4368bf94c0ec4-s.p.woff2 +0 -0
  436. package/app/.next-cli-build/static/media/2801417b65625cf5-s.woff2 +0 -0
  437. package/app/.next-cli-build/static/media/28793f5c5e3d822d-s.woff2 +0 -0
  438. package/app/.next-cli-build/static/media/5356a6a4f2c8c8d8-s.woff2 +0 -0
  439. package/app/.next-cli-build/static/media/58f386aa6b1a2a92-s.woff2 +0 -0
  440. package/app/.next-cli-build/static/media/73cb51aac9c97f90-s.woff2 +0 -0
  441. package/app/.next-cli-build/static/media/7b19b489dc6743ba-s.woff2 +0 -0
  442. package/app/.next-cli-build/static/media/7ba5fb2a8c88521c-s.woff2 +0 -0
  443. package/app/.next-cli-build/static/media/92eeb95d069020cc-s.woff2 +0 -0
  444. package/app/.next-cli-build/static/media/98e207f02528a563-s.p.woff2 +0 -0
  445. package/app/.next-cli-build/static/media/99dcf268bda04fe5-s.woff2 +0 -0
  446. package/app/.next-cli-build/static/media/b3bf17a9041d9433-s.woff2 +0 -0
  447. package/app/.next-cli-build/static/media/c9c3823090ec8b55-s.woff2 +0 -0
  448. package/app/.next-cli-build/static/media/d26bbd13d6b70f89-s.woff2 +0 -0
  449. package/app/.next-cli-build/static/media/d29838c109ef09b4-s.woff2 +0 -0
  450. package/app/.next-cli-build/static/media/d3ebbfd689654d3a-s.p.woff2 +0 -0
  451. package/app/.next-cli-build/static/media/db96af6b531dc71f-s.p.woff2 +0 -0
  452. package/app/.next-cli-build/static/media/e40af3453d7c920a-s.woff2 +0 -0
  453. package/app/.next-cli-build/static/media/ef4d5661765d0e49-s.woff2 +0 -0
  454. /package/app/.next/static/{FRqKbMdZFJJUhaMdpLFMG → hrOBBbHpcMKJGPTNbGPQ-}/_buildManifest.js +0 -0
  455. /package/app/.next/static/{FRqKbMdZFJJUhaMdpLFMG → hrOBBbHpcMKJGPTNbGPQ-}/_ssgManifest.js +0 -0
  456. /package/app/.next-cli-build/static/{FRqKbMdZFJJUhaMdpLFMG → hrOBBbHpcMKJGPTNbGPQ-}/_buildManifest.js +0 -0
  457. /package/app/.next-cli-build/static/{FRqKbMdZFJJUhaMdpLFMG → hrOBBbHpcMKJGPTNbGPQ-}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=9421,exports.ids=[9421],exports.modules={9421:(a,b,c)=>{c.d(b,{checkAndRefreshToken:()=>H}),c(91922);var d=c(87886),e=c(77326),f=c(79748),g=c(21820),h=c(33873),i=c(79646);let j=(0,c(28354).promisify)(i.execFile),k=["cursorAuth/accessToken","cursorAuth/token"],l=["storage.serviceMachineId","storage.machineId","telemetry.machineId"];function m(a){if("string"!=typeof a)return a;try{let b=JSON.parse(a);return"string"==typeof b?b:a}catch{return a}}async function n(a){let{default:b}=await Promise.resolve().then(c.t.bind(c,87550,23)),d=new b(a,{readonly:!0,fileMustExist:!0});try{let a=[...k,...l],b=a.map(()=>"?").join(", "),c=d.prepare(`SELECT key, value FROM itemTable WHERE key IN (${b})`).all(...a),e=new Map(c.map(({key:a,value:b})=>[a,m(b)])),f=k.map(a=>e.get(a)).find(Boolean)||null,g=l.map(a=>e.get(a)).find(Boolean)||null;if(!f||!g)for(let{key:a,value:b}of d.prepare("SELECT key, value FROM itemTable WHERE key LIKE ? OR key LIKE ?").all("%accessToken%","%machineId%")){let c=m(b);!f&&/access.?token/i.test(a)&&(f=c),!g&&/machine.?id/i.test(a)&&(g=c)}return{accessToken:f,machineId:g}}finally{d.close()}}async function o(a){let b=async b=>{let{stdout:c}=await j("sqlite3",[a,b],{timeout:1e4});return c.trim()};try{await b("SELECT 1 FROM itemTable LIMIT 1")}catch{return{accessToken:null,machineId:null,opened:!1}}let c=null;for(let a of k)try{let d=await b(`SELECT value FROM itemTable WHERE key='${a}' LIMIT 1`);if(d){c=m(d.trim());break}}catch{}let d=null;for(let a of l)try{let c=await b(`SELECT value FROM itemTable WHERE key='${a}' LIMIT 1`);if(c){d=m(c.trim());break}}catch{}return{accessToken:c,machineId:d,opened:!0}}async function p(a={}){let b=a.platform||process.platform;if(!["darwin","win32","linux"].includes(b))return{found:!1,error:"Unsupported platform"};let c=function(a=process.platform){let b=(0,g.homedir)();if("darwin"===a)return[(0,h.join)(b,"Library/Application Support/Cursor/User/globalStorage/state.vscdb"),(0,h.join)(b,"Library/Application Support/Cursor - Insiders/User/globalStorage/state.vscdb")];if("win32"===a){let a=process.env.APPDATA||(0,h.join)(b,"AppData","Roaming"),c=process.env.LOCALAPPDATA||(0,h.join)(b,"AppData","Local");return[(0,h.join)(a,"Cursor","User","globalStorage","state.vscdb"),(0,h.join)(a,"Cursor - Insiders","User","globalStorage","state.vscdb"),(0,h.join)(c,"Cursor","User","globalStorage","state.vscdb"),(0,h.join)(c,"Programs","Cursor","User","globalStorage","state.vscdb")]}return[(0,h.join)(b,".config/Cursor/User/globalStorage/state.vscdb"),(0,h.join)(b,".config/cursor/User/globalStorage/state.vscdb")]}(b),d=null;for(let a of c)try{await (0,f.access)(a,f.constants.R_OK),d=a;break}catch{}if(!d){let a="darwin"===b?"known macOS locations":"known locations";return{found:!1,error:`Cursor database not found in ${a}:
1
+ "use strict";exports.id=9421,exports.ids=[9421],exports.modules={9421:(a,b,c)=>{c.d(b,{checkAndRefreshToken:()=>G}),c(91922);var d=c(87886),e=c(77326),f=c(79748),g=c(21820),h=c(33873),i=c(79646);let j=(0,c(28354).promisify)(i.execFile),k=["cursorAuth/accessToken","cursorAuth/token"],l=["storage.serviceMachineId","storage.machineId","telemetry.machineId"];function m(a){if("string"!=typeof a)return a;try{let b=JSON.parse(a);return"string"==typeof b?b:a}catch{return a}}async function n(a){let{default:b}=await Promise.resolve().then(c.t.bind(c,87550,23)),d=new b(a,{readonly:!0,fileMustExist:!0});try{let a=[...k,...l],b=a.map(()=>"?").join(", "),c=d.prepare(`SELECT key, value FROM itemTable WHERE key IN (${b})`).all(...a),e=new Map(c.map(({key:a,value:b})=>[a,m(b)])),f=k.map(a=>e.get(a)).find(Boolean)||null,g=l.map(a=>e.get(a)).find(Boolean)||null;if(!f||!g)for(let{key:a,value:b}of d.prepare("SELECT key, value FROM itemTable WHERE key LIKE ? OR key LIKE ?").all("%accessToken%","%machineId%")){let c=m(b);!f&&/access.?token/i.test(a)&&(f=c),!g&&/machine.?id/i.test(a)&&(g=c)}return{accessToken:f,machineId:g}}finally{d.close()}}async function o(a){let b=async b=>{let{stdout:c}=await j("sqlite3",[a,b],{timeout:1e4});return c.trim()};try{await b("SELECT 1 FROM itemTable LIMIT 1")}catch{return{accessToken:null,machineId:null,opened:!1}}let c=null;for(let a of k)try{let d=await b(`SELECT value FROM itemTable WHERE key='${a}' LIMIT 1`);if(d){c=m(d.trim());break}}catch{}let d=null;for(let a of l)try{let c=await b(`SELECT value FROM itemTable WHERE key='${a}' LIMIT 1`);if(c){d=m(c.trim());break}}catch{}return{accessToken:c,machineId:d,opened:!0}}async function p(a={}){let b=a.platform||process.platform;if(!["darwin","win32","linux"].includes(b))return{found:!1,error:"Unsupported platform"};let c=function(a=process.platform){let b=(0,g.homedir)();if("darwin"===a)return[(0,h.join)(b,"Library/Application Support/Cursor/User/globalStorage/state.vscdb"),(0,h.join)(b,"Library/Application Support/Cursor - Insiders/User/globalStorage/state.vscdb")];if("win32"===a){let a=process.env.APPDATA||(0,h.join)(b,"AppData","Roaming"),c=process.env.LOCALAPPDATA||(0,h.join)(b,"AppData","Local");return[(0,h.join)(a,"Cursor","User","globalStorage","state.vscdb"),(0,h.join)(a,"Cursor - Insiders","User","globalStorage","state.vscdb"),(0,h.join)(c,"Cursor","User","globalStorage","state.vscdb"),(0,h.join)(c,"Programs","Cursor","User","globalStorage","state.vscdb")]}return[(0,h.join)(b,".config/Cursor/User/globalStorage/state.vscdb"),(0,h.join)(b,".config/cursor/User/globalStorage/state.vscdb")]}(b),d=null;for(let a of c)try{await (0,f.access)(a,f.constants.R_OK),d=a;break}catch{}if(!d){let a="darwin"===b?"known macOS locations":"known locations";return{found:!1,error:`Cursor database not found in ${a}:
2
2
  ${c.join("\n")}
3
3
 
4
- Make sure Cursor IDE is installed and opened at least once.`}}if("linux"===b&&!1!==a.verifyLinuxInstall){let a=!1;try{await j("which",["cursor"],{timeout:5e3}),a=!0}catch{try{await (0,f.access)((0,h.join)((0,g.homedir)(),".local/share/applications/cursor.desktop"),f.constants.R_OK),a=!0}catch{}}if(!a)return{found:!1,error:"Cursor config files found but Cursor IDE does not appear to be installed. Skipping auto-import."}}let e=null;try{let a=await n(d);if(a.accessToken&&a.machineId)return{found:!0,...a,dbPath:d}}catch(a){e=a}let i=!1;try{let a=await o(d);if(i=a.opened,a.accessToken&&a.machineId)return{found:!0,accessToken:a.accessToken,machineId:a.machineId,dbPath:d}}catch{}return e&&!i?{found:!1,error:`Cursor database was found but could not open it: ${e.message}`}:{found:!1,windowsManual:"win32"===b,error:"Please login to Cursor IDE first, then restart Switchboard to import its credentials.",dbPath:d}}var q=c(10793),r=c(38421),s=c(50969);let t=new Map,u=new Map,v=null;async function w(a,b,c="gemini-cli",d=null){if(!a||!b)return null;let e=t.get(a);if(e&&Date.now()-e.fetchedAt<36e5)return e.projectId;if(u.has(a))return u.get(a).promise;let f=new AbortController,g=(async()=>{try{let e=await x(b,f.signal,c,d);if(e)return t.set(a,{projectId:e,fetchedAt:Date.now()}),e;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{u.delete(a)}})();return u.set(a,{promise:g,controller:f,startedAt:Date.now()}),g}async function x(a,b,c,d){let e=r.xq[c]||r.xq["gemini-cli"],f=await (0,s.Fm)(q.nZ.loadCodeAssist,{method:"POST",headers:{...q.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:q.zv}),signal:b,identity:e.identity,provider:c,format:e.format},d);if(!f.ok){let a=await f.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${f.status} ${a.slice(0,200)}`)}let g=await f.json(),h=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(g);if(h)return h;let i="legacy-tier";if(Array.isArray(g.allowedTiers)){for(let a of g.allowedTiers)if(a&&"object"==typeof a&&!0===a.isDefault&&a.id&&"string"==typeof a.id&&a.id.trim()){i=a.id.trim();break}}return y(a,i,b,c,d)}async function y(a,b,c,d,e){console.log(`[ProjectId] Onboarding user with tier: ${b}`);let f={tierId:b,metadata:q.zv};for(let b=1;b<=5&&!c?.aborted;b++){let g=new AbortController,h=setTimeout(()=>g.abort(),3e4),i=()=>g.abort();c?.addEventListener("abort",i);try{let c=r.xq[d]||r.xq["gemini-cli"],i=await (0,s.Fm)(q.nZ.onboardUser,{method:"POST",headers:{...q.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify(f),signal:g.signal,identity:c.identity,provider:d,format:c.format},e);if(clearTimeout(h),!i.ok){let a=await i.text().catch(()=>"");throw Error(`onboardUser HTTP ${i.status}: ${a.slice(0,200)}`)}let j=await i.json();if(!0===j.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(j);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;throw Error("onboardUser done but no project_id in response")}console.log(`[ProjectId] Onboard attempt ${b}/5: not done yet, waiting...`),await new Promise(a=>setTimeout(a,2e3))}catch(a){if(clearTimeout(h),"AbortError"===a.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(5===b)return console.warn(`[ProjectId] onboardUser failed after 5 attempts: ${a.message}`),null;console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${a.message}, retrying...`),await new Promise(a=>setTimeout(a,2e3))}finally{clearTimeout(h),c?.removeEventListener("abort",i)}}return null}v=setInterval(()=>{try{let a=Date.now();for(let[b,c]of t)(!c||a-c.fetchedAt>=36e5)&&t.delete(b);for(let[b,c]of u){if(!c||"number"!=typeof c.startedAt){u.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}u.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),v?.unref?.();var z=c(96997),A=c(98976),B=c(1654);let C=z.oD;async function D(a,b={}){if(a?.providerSpecificData?.authMethod!=="imported"||!b.force&&!(0,A.fp)("cursor",a))return a;try{let b=await p();if(!b.found||!b.accessToken||!b.machineId)return a;let c={...a.providerSpecificData||{},machineId:b.machineId,authMethod:"imported"},d=E(86400),e={...a,accessToken:b.accessToken,expiresIn:86400,expiresAt:d,providerSpecificData:c},f=b.accessToken!==a.accessToken||b.machineId!==a.providerSpecificData?.machineId||(0,A.fp)("cursor",a),g=a.connectionId||a.id;return f&&g&&await G(g,{accessToken:b.accessToken,expiresIn:86400,providerSpecificData:{machineId:b.machineId,authMethod:"imported"},existingProviderSpecificData:a.providerSpecificData||{}}),e}catch(b){return d.warn("TOKEN_REFRESH","Could not reload imported Cursor credentials",{connectionId:a.connectionId||a.id||null,error:b?.message||String(b)}),a}}function E(a){return new Date(Date.now()+1e3*a).toISOString()}function F(a){if(!a)return null;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():null}async function G(a,b){try{let c={};if(b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.idToken&&(c.idToken=b.idToken),b.lastRefreshAt&&(c.lastRefreshAt=b.lastRefreshAt),b.expiresAt&&(c.expiresAt=b.expiresAt),b.expiresIn)c.expiresAt=E(b.expiresIn),c.expiresIn=b.expiresIn;else if(b.expiresAt){let a=F(b.expiresAt);a&&(c.expiresAt=a,c.expiresIn=Math.max(1,Math.floor((new Date(a).getTime()-Date.now())/1e3)))}for(let a of(b.providerSpecificData&&(c.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),(b.copilotToken||b.copilotTokenExpiresAt)&&(c.providerSpecificData={...c.providerSpecificData||b.existingProviderSpecificData||{},...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),b.projectId&&(c.projectId=b.projectId),["testStatus","lastError","lastErrorAt"]))a in b&&(c[a]=b[a]);b.reauthRequired&&(c.testStatus=B.RU);let f=await (0,e.updateProviderConnection)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function H(a,b,c={}){let e={...b};!e.connectionId&&e.id&&(e.connectionId=e.id);let f=c?.force===!0;if("cursor"===a&&(e=await D(e)),f||(0,A.fp)(a,e)){let b=e.expiresAt?new Date(e.expiresAt).getTime():null,c=b?b-Date.now():null,f=(0,z.Og)(a);d.info("TOKEN_REFRESH","Refreshing provider credentials proactively",{provider:a,expiresIn:null===c?null:Math.round(c/1e3),refreshLeadMs:f,lastRefreshAt:e.lastRefreshAt||null});let g=null;try{g=await (0,A.Vq)(a,e,d)}catch(b){d.warn("TOKEN_REFRESH","Provider credential refresh failed; using existing credentials",{provider:a,error:b?.message||String(b)})}if(g?.accessToken||g?.apiKey||g?.copilotToken){let b={...g,existingProviderSpecificData:e.providerSpecificData};await G(e.connectionId,b),function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&(t.delete(b),w(b,c,a).then(a=>{a&&G(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,(e={...e,...g,expiresAt:g.expiresIn?E(g.expiresIn):F(g.expiresAt)||g.expiresAt||e.expiresAt,providerSpecificData:g.providerSpecificData?{...e.providerSpecificData,...g.providerSpecificData}:e.providerSpecificData}).connectionId,e.accessToken)}}if("github"===a){let b=e.providerSpecificData?.copilotToken,c=(e.providerSpecificData?.copilotTokenExpiresAt?1e3*e.providerSpecificData.copilotTokenExpiresAt:0)-Date.now();if(!b||c<C){let f;d.info("TOKEN_REFRESH","Copilot token expiring soon or missing, refreshing proactively",{provider:a,expiresIn:b?Math.round(c/1e3):"missing"});let g=await (f=e.accessToken,(0,z.jR)(f,d));if(g){let a={...e.providerSpecificData,copilotToken:g.token,copilotTokenExpiresAt:g.expiresAt};await G(e.connectionId,{providerSpecificData:a}),e.providerSpecificData=a,e.copilotToken=g.token}}}return e}}};
4
+ Make sure Cursor IDE is installed and opened at least once.`}}if("linux"===b&&!1!==a.verifyLinuxInstall){let a=!1;try{await j("which",["cursor"],{timeout:5e3}),a=!0}catch{try{await (0,f.access)((0,h.join)((0,g.homedir)(),".local/share/applications/cursor.desktop"),f.constants.R_OK),a=!0}catch{}}if(!a)return{found:!1,error:"Cursor config files found but Cursor IDE does not appear to be installed. Skipping auto-import."}}let e=null;try{let a=await n(d);if(a.accessToken&&a.machineId)return{found:!0,...a,dbPath:d}}catch(a){e=a}let i=!1;try{let a=await o(d);if(i=a.opened,a.accessToken&&a.machineId)return{found:!0,accessToken:a.accessToken,machineId:a.machineId,dbPath:d}}catch{}return e&&!i?{found:!1,error:`Cursor database was found but could not open it: ${e.message}`}:{found:!1,windowsManual:"win32"===b,error:"Please login to Cursor IDE first, then restart Switchboard to import its credentials.",dbPath:d}}var q=c(10793),r=c(38421),s=c(50969);let t=new Map,u=new Map,v=null;async function w(a,b,c="gemini-cli",d=null){if(!a||!b)return null;let e=t.get(a);if(e&&Date.now()-e.fetchedAt<36e5)return e.projectId;if(u.has(a))return u.get(a).promise;let f=new AbortController,g=(async()=>{try{let e=await x(b,f.signal,c,d);if(e)return t.set(a,{projectId:e,fetchedAt:Date.now()}),e;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{u.delete(a)}})();return u.set(a,{promise:g,controller:f,startedAt:Date.now()}),g}async function x(a,b,c,d){let e=r.xq[c]||r.xq["gemini-cli"],f=await (0,s.Fm)(q.nZ.loadCodeAssist,{method:"POST",headers:{...q.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:q.zv}),signal:b,identity:e.identity,provider:c,format:e.format},d);if(!f.ok){let a=await f.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${f.status} ${a.slice(0,200)}`)}let g=await f.json(),h=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(g);if(h)return h;let i="legacy-tier";if(Array.isArray(g.allowedTiers)){for(let a of g.allowedTiers)if(a&&"object"==typeof a&&!0===a.isDefault&&a.id&&"string"==typeof a.id&&a.id.trim()){i=a.id.trim();break}}return y(a,i,b,c,d)}async function y(a,b,c,d,e){console.log(`[ProjectId] Onboarding user with tier: ${b}`);let f={tierId:b,metadata:q.zv};for(let b=1;b<=5&&!c?.aborted;b++){let g=new AbortController,h=setTimeout(()=>g.abort(),3e4),i=()=>g.abort();c?.addEventListener("abort",i);try{let c=r.xq[d]||r.xq["gemini-cli"],i=await (0,s.Fm)(q.nZ.onboardUser,{method:"POST",headers:{...q.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify(f),signal:g.signal,identity:c.identity,provider:d,format:c.format},e);if(clearTimeout(h),!i.ok){let a=await i.text().catch(()=>"");throw Error(`onboardUser HTTP ${i.status}: ${a.slice(0,200)}`)}let j=await i.json();if(!0===j.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(j);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;throw Error("onboardUser done but no project_id in response")}console.log(`[ProjectId] Onboard attempt ${b}/5: not done yet, waiting...`),await new Promise(a=>setTimeout(a,2e3))}catch(a){if(clearTimeout(h),"AbortError"===a.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(5===b)return console.warn(`[ProjectId] onboardUser failed after 5 attempts: ${a.message}`),null;console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${a.message}, retrying...`),await new Promise(a=>setTimeout(a,2e3))}finally{clearTimeout(h),c?.removeEventListener("abort",i)}}return null}v=setInterval(()=>{try{let a=Date.now();for(let[b,c]of t)(!c||a-c.fetchedAt>=36e5)&&t.delete(b);for(let[b,c]of u){if(!c||"number"!=typeof c.startedAt){u.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}u.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),v?.unref?.();var z=c(96997),A=c(98976),B=c(1654);let C=z.oD;async function D(a,b={}){if(a?.providerSpecificData?.authMethod!=="imported"||!b.force&&!(0,A.fp)("cursor",a))return a;try{let b=await p();if(!b.found||!b.accessToken||!b.machineId)return a;let c={...a.providerSpecificData||{},machineId:b.machineId,authMethod:"imported"},d=E(86400),e={...a,accessToken:b.accessToken,expiresIn:86400,expiresAt:d,providerSpecificData:c},f=b.accessToken!==a.accessToken||b.machineId!==a.providerSpecificData?.machineId||(0,A.fp)("cursor",a),g=a.connectionId||a.id;return f&&g&&await F(g,{accessToken:b.accessToken,expiresIn:86400,providerSpecificData:{machineId:b.machineId,authMethod:"imported"},existingProviderSpecificData:a.providerSpecificData||{}}),e}catch(b){return d.warn("TOKEN_REFRESH","Could not reload imported Cursor credentials",{connectionId:a.connectionId||a.id||null,error:b?.message||String(b)}),a}}function E(a){return new Date(Date.now()+1e3*a).toISOString()}async function F(a,b){try{let c,f={},g=(0,A.Jj)(a,b);b.accessToken&&(f.accessToken=b.accessToken),b.refreshToken&&(f.refreshToken=b.refreshToken),b.idToken&&(f.idToken=b.idToken),b.lastRefreshAt&&(f.lastRefreshAt=b.lastRefreshAt),b.expiresAt&&(f.expiresAt=b.expiresAt);let h=g?.expiresAt??(b.expiresAt?new Date(b.expiresAt).getTime():null);for(let a of(Number.isFinite(h)?(f.expiresAt=new Date(h).toISOString(),f.expiresIn=Math.max(0,Math.ceil((h-Date.now())/1e3))):b.expiresIn&&(f.expiresAt=E(b.expiresIn),f.expiresIn=b.expiresIn),b.providerSpecificData&&(f.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),(b.copilotToken||b.copilotTokenExpiresAt)&&(f.providerSpecificData={...f.providerSpecificData||b.existingProviderSpecificData||{},...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),b.projectId&&(f.projectId=b.projectId),["testStatus","lastError","lastErrorAt"]))a in b&&(f[a]=b[a]);if(b.reauthRequired&&(f.testStatus=B.RU),g){let d={...f},h={};for(let a of["testStatus","lastError","lastErrorAt"])a in d&&(h[a]=d[a],delete d[a]);(b.providerSpecificData||b.copilotToken||b.copilotTokenExpiresAt)&&(d.providerSpecificData={...g.providerSpecificUpdates,...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),(c=await (0,e.rS)(a,g.source,d))&&Object.keys(h).length>0&&await (0,e.$v)(a,g.source,h)}else c=await (0,e.updateProviderConnection)(a,f);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!c}),!!c}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function G(a,b,c={}){let f={...b};!f.connectionId&&f.id&&(f.connectionId=f.id);let g=c?.force===!0;if("cursor"===a&&(f=await D(f)),g||(0,A.fp)(a,f)){let b=f.expiresAt?new Date(f.expiresAt).getTime():null,c=b?b-Date.now():null,g=(0,z.Og)(a);d.info("TOKEN_REFRESH","Refreshing provider credentials proactively",{provider:a,expiresIn:null===c?null:Math.round(c/1e3),refreshLeadMs:g,lastRefreshAt:f.lastRefreshAt||null});let h=null;try{h=await (0,A.Vq)(a,f,d)}catch(b){d.warn("TOKEN_REFRESH","Provider credential refresh failed; using existing credentials",{provider:a,error:b?.message||String(b)})}if(h?.accessToken||h?.apiKey||h?.copilotToken){let b={...h,existingProviderSpecificData:f.providerSpecificData};if(!await F(f.connectionId,b)){let a=await (0,e.Mc)(f.connectionId);if(a?.accessToken)return{...f,...a,connectionId:f.connectionId}}let c=(0,A.Jj)(f.connectionId,h),g=Number.isFinite(c?.expiresAt)?new Date(c.expiresAt).toISOString():function(a){if(!a)return null;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():null}(h.expiresAt);!function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&(t.delete(b),w(b,c,a).then(a=>{a&&F(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,(f={...f,...h,expiresAt:g||(h.expiresIn?E(h.expiresIn):f.expiresAt),providerSpecificData:h.providerSpecificData?{...f.providerSpecificData,...h.providerSpecificData}:f.providerSpecificData}).connectionId,f.accessToken)}}if("github"===a){let b=f.providerSpecificData?.copilotToken,c=(f.providerSpecificData?.copilotTokenExpiresAt?1e3*f.providerSpecificData.copilotTokenExpiresAt:0)-Date.now();if(!b||c<C){let e;d.info("TOKEN_REFRESH","Copilot token expiring soon or missing, refreshing proactively",{provider:a,expiresIn:b?Math.round(c/1e3):"missing"});let g=await (e=f.accessToken,(0,z.jR)(e,d));if(g){let a={...f.providerSpecificData,copilotToken:g.token,copilotTokenExpiresAt:g.expiresAt};await F(f.connectionId,{providerSpecificData:a}),f.providerSpecificData=a,f.copilotToken=g.token}}}return f}}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/FRqKbMdZFJJUhaMdpLFMG/_buildManifest.js","static/FRqKbMdZFJJUhaMdpLFMG/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-57b54315eb9fa808.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-83acfce05009cf38.js","static/chunks/main-app-83fef838b21a8d19.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/hrOBBbHpcMKJGPTNbGPQ-/_buildManifest.js","static/hrOBBbHpcMKJGPTNbGPQ-/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-0aaec50204921747.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-83acfce05009cf38.js","static/chunks/main-app-83fef838b21a8d19.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -18,12 +18,12 @@ Read more at https://nextjs.org/docs/messages/missing-root-layout-tags"
18
18
  data-next-error-digest="${l.MISSING_ROOT_TAGS_ERROR}"
19
19
  data-next-error-stack=""
20
20
  ></template>
21
- `))}})}function K(a,b){let c=a;for(let a of b)a&&(c=c.pipeThrough(a));return c}async function L(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,deploymentId:e,getServerInsertedHTML:f,getServerInsertedMetadata:g,validateRootLayout:h}){let j=b?b.split(G,1)[0]:null;return d?await a.allReady:await (0,i.waitAtLeastOneReactRenderTask)(),K(a,[z(),e?I(e):null,B(g),null!=j&&j.length>0?E(j):null,c?F(c,!0):null,h?J():null,H(),C(f)])}async function M(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c,deploymentId:d}){return K(a,[z(),new TransformStream({transform(a,b){(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.HTML)||(a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.BODY),a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}}),d?I(d):null,C(b),B(c)])}async function N(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return K(a,[z(),e?I(e):null,C(c),B(d),F(b,!0),H()])}async function O(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return K(a,[z(),e?I(e):null,C(c),await D(),B(d),F(b,!0),H()])}async function P(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e,deploymentId:f}){return K(a,[z(),f?I(f):null,C(d),B(e),F(c,b),H()])}function Q(){return r(G)}function R(a,b,c){let d=new TextEncoder,e=d.encode(`[${a}]`),f=e[0],g=d.encode(`[${b},${c}]`),h=e.length,i=null,j=!1;function k(a,b){if(j){b&&a.enqueue(b);return}if(i){let c=i.length-(h-1);if(b&&(c+=Math.min(b.length,h-1)),c<1){a.enqueue(i),i=b;return}let d=i.indexOf(f);a:for(;-1<d&&d<c;){let c=1;for(;c<h;){let a=d+c;if((a<i.length?i[a]:b[a-i.length])!==e[c]){d=i.indexOf(f,d+1);continue a}c++}if(j=!0,a.enqueue(i.subarray(0,d)),a.enqueue(g),d+h<i.length&&a.enqueue(i.slice(d+h)),b){let c=d+h-i.length,e=c>0?b.subarray(c):b;a.enqueue(e)}i=null;return}a.enqueue(i)}i=b}return new TransformStream({transform(a,b){k(b,a)},flush(a){k(a,null)}})}},27061:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(7841);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(a){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(698).then(c.bind(c,90698));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] bun:sqlite unavailable: ${b.message}`),null}}async function g(a){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(507).then(c.bind(c,90507));return a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] better-sqlite3 unavailable: ${b.message}`),null}}async function h(a){if(process.versions.bun)return null;let[b,e]=process.versions.node.split(".").map(Number);if(b<22||22===b&&e<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(7965).then(c.bind(c,57965));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] node:sqlite unavailable: ${b.message}`),null}}async function i(a){try{let{createSqlJsAdapter:a}=await c.e(4780).then(c.bind(c,34780));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] sql.js unavailable: ${b.message}`),null}}async function j(){if("phase-production-build"===process.env.NEXT_PHASE||"phase-export"===process.env.NEXT_PHASE||"phase-static"===process.env.NEXT_PHASE)throw Error(`[DB] refusing to open ${d.AL} during next build — mark the calling page 'force-dynamic'`);(0,d.Jh)();let a=[],b=await f(a);if(b||(b=await g(a)),b||(b=await h(a)),b||(b=await i(a)),!b){if(a.some(a=>a?.code==="SQLITE_CORRUPT"||/corrupt|malformed|not a database/i.test(a?.message||"")))throw Error(`[DB] Database appears corrupted: ${d.AL}. Restore one of the five automatic backups from ${d.KQ}.`);throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)")}if(!e.logged){let a="sql.js"===b.driver?"warn":"log";"sql.js"===b.driver?console.warn(`[DB] WARNING: using sql.js fallback (in-memory + full-file rewrite). Prefer Node ≥22.5 (node:sqlite) or install better-sqlite3. file: ${d.AL}`):console[a](`[DB] Driver: ${b.driver} | file: ${d.AL}`),e.logged=!0}let{runMigrationOnce:j}=await c.e(8942).then(c.bind(c,98942));try{await j(b)}catch(a){try{await b.close?.()}catch{}throw a}return b}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a),a=>{throw e.initPromise=null,a})),e.initPromise)}},28344:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(44001)._(c(68202)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},28516:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},28704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29299:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},30512:(a,b,c)=>{"use strict";c.d(b,{Bq:()=>j,Kd:()=>k});var d=c(72063);let e=["requests","promptTokens","completionTokens","cachedTokens"],f=new WeakMap;function g(a,b){let c=f.get(a);if(c||(c=new Map,f.set(a,c)),c.has(b))return c.get(b);let d=!!a.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[b]);return c.set(b,d),d}let h=new WeakMap;function i(a){h.delete(a),g(a,"prometheusMetricState")&&a.run("UPDATE prometheusMetricState SET available = 0 WHERE id = 1")}function j(a,b){if(!function(a){let b=Date.now(),c=h.get(a);if(c&&c.expiresAt>b)return c.value;let e=function(a){if(!g(a,"prometheusMetricState"))return!1;let b=a.get("SELECT available FROM prometheusMetricState WHERE id = 1");try{let a=(0,d.T)(b?.available,"metricState.available",{integer:!0});if(![0,1].includes(a))throw Error("invalid Prometheus metric state");return 1===a}catch{return i(a),!1}}(a);return h.set(a,{value:e,expiresAt:b+5e3}),e}(a))return!1;try{return a.transaction(b),!0}catch{return i(a),!1}}function k(a,b=a?.provider||"usage"){if(!a||"string"!=typeof a.provider||!a.provider)throw Error(`invalid Prometheus usage metric: ${b}.provider`);for(let c of e)(0,d.T)(a[c],`${b}.${c}`,{integer:!0});return(0,d.T)(a.cost,`${b}.cost`),a}},30585:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"resolveParamValue",{enumerable:!0,get:function(){return f}});let d=c(42776),e=c(58486);function f(a,b,c,f,g){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let h=[];for(let a=c;a<f.segments.length;a++){let d=f.segments[a];if("static"===d.type){let f=d.name,g=(0,e.interceptionPrefixFromParamType)(b);g&&a===c&&g===d.interceptionMarker&&(f=f.replace(d.interceptionMarker,"")),h.push(f)}else{if(!g.hasOwnProperty(d.param.paramName)){if("optional-catchall"===d.param.paramType)break;return}let a=g[d.param.paramName];Array.isArray(a)?h.push(...a):h.push(a)}}if(h.length>0)return h;if("optional-catchall"===b)return;throw Object.defineProperty(new d.InvariantError(`Unexpected empty path segments match for a route "${f.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<f.segments.length){let a=f.segments[c];if("dynamic"===a.type&&!g.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?g[a.param.paramName]:(0,e.interceptionPrefixFromParamType)(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}},31050:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},31147:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createLazyResult:function(){return e},isResolvedLazyResult:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b,c={then:(d,e)=>(b||(b=Promise.resolve(a())),b.then(a=>{c.value=a}).catch(()=>{}),b.then(d,e))};return c}function f(a){return a.hasOwnProperty("value")}},31245:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DEFAULT_QUOTA_FRESH_MS:()=>J,cleanupProviderConnections:()=>$,connToRow:()=>P,createProviderConnection:()=>V,deleteProviderConnection:()=>X,deleteProviderConnectionsByProvider:()=>Y,getProviderConnectionById:()=>S,getProviderConnections:()=>R,getProviderQuotaHeadroom:()=>T,redactSecrets:()=>N,reorderProviderConnections:()=>Z,updateProviderConnection:()=>W});var d=c(41298),e=c(27061),f=c(33323),g=c(36335),h=c(74033);let i="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(h.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:i}:b]}));let j=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],k=a=>Object.fromEntries(h.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),j))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=i),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.aliases?.length?{aliases:a.aliases}:{},...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),l=k("free"),m=k("freeTier"),n=k("oauth"),o=k("apikey"),p=k("webCookie"),q={...l,...m,...n,...o,...p};Object.values(q).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(q).reduce((a,b)=>(a[b.id]=b.alias,a),{}),h.A.filter(a=>a.features?.usage).map(a=>a.id),h.A.filter(a=>a.features?.usageApikey).map(a=>a.id);function r(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}r("STREAM_STALL_TIMEOUT_MS",45e3),r("STREAM_FIRST_CHUNK_TIMEOUT_MS",12e4),r("FETCH_CONNECT_TIMEOUT_MS",6e4),r("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);function s(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}let t=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${s(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${s(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${s(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${s(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${s(a[1])}`]];function u(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of t){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}let v={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},w=(...a)=>a.map(a=>({...v[a],type:"tts"})),x=w("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),y=w("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),z=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),A={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":y,"tts-1":x,"tts-1-hd":x},allVoices:y},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":y,"openai/tts-1":x,"openai/tts-1-hd":x},allVoices:y},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":z,"gemini-2.5-flash-preview-tts":z,"gemini-2.5-pro-preview-tts":z},allVoices:z}},B=["clientId","clientSecret","tokenUrl"],C=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"]),D={},E={},F={},G={};for(let a of h.A){a.transport&&(D[a.id]=function(a,b){let c={...a};if(c.format||(c.format="openai"),c.identity||(c.identity="claude"===c.format?"claude-cli":"openai-node"),b)for(let a of B)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(D[a.id].transports=a.transports)),void 0!==a.models&&(E[a.alias||a.id]=a.models.map(u)),a.oauth&&(F[a.id]=a.oauth);let b={};for(let c of C)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(G[a.id]=b)}Object.assign(E,function(){let a={};for(let[b,c]of Object.entries(A))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=A.openai.allVoices,a["openrouter-tts-voices"]=A.openrouter.allVoices,a}()),D["xiaomi-tokenplan"]?.regions,D["xiaomi-tokenplan"]?.defaultRegion;let H=Object.fromEntries(h.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));Object.fromEntries(Object.keys(D).map(a=>[a,H[a]||a])),Object.entries(q).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(E).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})));var I=c(18606);let J=12e4,K=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"],L=new Set(["accessToken","refreshToken","idToken","apiKey","copilotToken","cookies","clientSecret","secretAccessKey"]);function M(a,b,c=!1){return"string"==typeof a?c&&a?b(a):a:c&&null!==a&&"object"!=typeof a?void 0:Array.isArray(a)?a.map(a=>M(a,b,c)):a&&"object"==typeof a?Object.fromEntries(Object.entries(a).map(([a,d])=>[a,M(d,b,c||L.has(a))])):a}function N(a){return M(a,()=>void 0)}function O(a){return a?{...M((0,f.q)(a.data,{}),a=>(0,g.wu)(a)??a),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function P(a){let{id:b,provider:c,authType:d,name:e,email:h,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=a,n=M(m,g.MG);return{id:b,provider:c,authType:d,name:e??null,email:h??null,priority:i??null,isActive:+(!1!==j),data:(0,f.s)(n),createdAt:k,updatedAt:l}}function Q(a,b){let c=P(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
21
+ `))}})}function K(a,b){let c=a;for(let a of b)a&&(c=c.pipeThrough(a));return c}async function L(a,{suffix:b,inlinedDataStream:c,isStaticGeneration:d,deploymentId:e,getServerInsertedHTML:f,getServerInsertedMetadata:g,validateRootLayout:h}){let j=b?b.split(G,1)[0]:null;return d?await a.allReady:await (0,i.waitAtLeastOneReactRenderTask)(),K(a,[z(),e?I(e):null,B(g),null!=j&&j.length>0?E(j):null,c?F(c,!0):null,h?J():null,H(),C(f)])}async function M(a,{getServerInsertedHTML:b,getServerInsertedMetadata:c,deploymentId:d}){return K(a,[z(),new TransformStream({transform(a,b){(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY_AND_HTML)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.BODY)||(0,k.isEquivalentUint8Arrays)(a,j.ENCODED_TAGS.CLOSED.HTML)||(a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.BODY),a=(0,k.removeFromUint8Array)(a,j.ENCODED_TAGS.CLOSED.HTML),b.enqueue(a))}}),d?I(d):null,C(b),B(c)])}async function N(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return K(a,[z(),e?I(e):null,C(c),B(d),F(b,!0),H()])}async function O(a,{inlinedDataStream:b,getServerInsertedHTML:c,getServerInsertedMetadata:d,deploymentId:e}){return K(a,[z(),e?I(e):null,C(c),await D(),B(d),F(b,!0),H()])}async function P(a,{delayDataUntilFirstHtmlChunk:b,inlinedDataStream:c,getServerInsertedHTML:d,getServerInsertedMetadata:e,deploymentId:f}){return K(a,[z(),f?I(f):null,C(d),B(e),F(c,b),H()])}function Q(){return r(G)}function R(a,b,c){let d=new TextEncoder,e=d.encode(`[${a}]`),f=e[0],g=d.encode(`[${b},${c}]`),h=e.length,i=null,j=!1;function k(a,b){if(j){b&&a.enqueue(b);return}if(i){let c=i.length-(h-1);if(b&&(c+=Math.min(b.length,h-1)),c<1){a.enqueue(i),i=b;return}let d=i.indexOf(f);a:for(;-1<d&&d<c;){let c=1;for(;c<h;){let a=d+c;if((a<i.length?i[a]:b[a-i.length])!==e[c]){d=i.indexOf(f,d+1);continue a}c++}if(j=!0,a.enqueue(i.subarray(0,d)),a.enqueue(g),d+h<i.length&&a.enqueue(i.slice(d+h)),b){let c=d+h-i.length,e=c>0?b.subarray(c):b;a.enqueue(e)}i=null;return}a.enqueue(i)}i=b}return new TransformStream({transform(a,b){k(b,a)},flush(a){k(a,null)}})}},27061:(a,b,c)=>{"use strict";c.d(b,{c:()=>k});var d=c(7841);global._dbAdapter||(global._dbAdapter={instance:null,initPromise:null,logged:!1});let e=global._dbAdapter;async function f(a){if(!process.versions.bun)return null;try{let{createBunSqliteAdapter:a}=await c.e(698).then(c.bind(c,90698));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] bun:sqlite unavailable: ${b.message}`),null}}async function g(a){if(process.versions.bun)return null;try{let{createBetterSqliteAdapter:a}=await c.e(507).then(c.bind(c,90507));return a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] better-sqlite3 unavailable: ${b.message}`),null}}async function h(a){if(process.versions.bun)return null;let[b,e]=process.versions.node.split(".").map(Number);if(b<22||22===b&&e<5)return null;try{let{createNodeSqliteAdapter:a}=await c.e(7965).then(c.bind(c,57965));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] node:sqlite unavailable: ${b.message}`),null}}async function i(a){try{let{createSqlJsAdapter:a}=await c.e(4780).then(c.bind(c,34780));return await a(d.AL)}catch(b){return a.push(b),console.warn(`[DB] sql.js unavailable: ${b.message}`),null}}async function j(){if("phase-production-build"===process.env.NEXT_PHASE||"phase-export"===process.env.NEXT_PHASE||"phase-static"===process.env.NEXT_PHASE)throw Error(`[DB] refusing to open ${d.AL} during next build — mark the calling page 'force-dynamic'`);(0,d.Jh)();let a=[],b=await f(a);if(b||(b=await g(a)),b||(b=await h(a)),b||(b=await i(a)),!b){if(a.some(a=>a?.code==="SQLITE_CORRUPT"||/corrupt|malformed|not a database/i.test(a?.message||"")))throw Error(`[DB] Database appears corrupted: ${d.AL}. Restore one of the five automatic backups from ${d.KQ}.`);throw Error("[DB] No SQLite driver available (bun/better/node/sql.js all failed)")}if(!e.logged){let a="sql.js"===b.driver?"warn":"log";"sql.js"===b.driver?console.warn(`[DB] WARNING: using sql.js fallback (in-memory + full-file rewrite). Prefer Node ≥22.5 (node:sqlite) or install better-sqlite3. file: ${d.AL}`):console[a](`[DB] Driver: ${b.driver} | file: ${d.AL}`),e.logged=!0}let{runMigrationOnce:j}=await c.e(8942).then(c.bind(c,98942));try{await j(b)}catch(a){try{await b.close?.()}catch{}throw a}return b}async function k(){return e.instance?e.instance:(e.initPromise||(e.initPromise=j().then(a=>(e.instance=a,a),a=>{throw e.initPromise=null,a})),e.initPromise)}},28344:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(44001)._(c(68202)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}},28516:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},28704:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={atLeastOneTask:function(){return g},scheduleImmediate:function(){return f},scheduleOnNextTick:function(){return e},waitAtLeastOneReactRenderTask:function(){return h}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},f=a=>{setImmediate(a)};function g(){return new Promise(a=>f(a))}function h(){return new Promise(a=>setImmediate(a))}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},29299:(a,b)=>{"use strict";function c(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createPromiseWithResolvers",{enumerable:!0,get:function(){return c}})},30512:(a,b,c)=>{"use strict";c.d(b,{Bq:()=>j,Kd:()=>k});var d=c(72063);let e=["requests","promptTokens","completionTokens","cachedTokens"],f=new WeakMap;function g(a,b){let c=f.get(a);if(c||(c=new Map,f.set(a,c)),c.has(b))return c.get(b);let d=!!a.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",[b]);return c.set(b,d),d}let h=new WeakMap;function i(a){h.delete(a),g(a,"prometheusMetricState")&&a.run("UPDATE prometheusMetricState SET available = 0 WHERE id = 1")}function j(a,b){if(!function(a){let b=Date.now(),c=h.get(a);if(c&&c.expiresAt>b)return c.value;let e=function(a){if(!g(a,"prometheusMetricState"))return!1;let b=a.get("SELECT available FROM prometheusMetricState WHERE id = 1");try{let a=(0,d.T)(b?.available,"metricState.available",{integer:!0});if(![0,1].includes(a))throw Error("invalid Prometheus metric state");return 1===a}catch{return i(a),!1}}(a);return h.set(a,{value:e,expiresAt:b+5e3}),e}(a))return!1;try{return a.transaction(b),!0}catch{return i(a),!1}}function k(a,b=a?.provider||"usage"){if(!a||"string"!=typeof a.provider||!a.provider)throw Error(`invalid Prometheus usage metric: ${b}.provider`);for(let c of e)(0,d.T)(a[c],`${b}.${c}`,{integer:!0});return(0,d.T)(a.cost,`${b}.cost`),a}},30585:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"resolveParamValue",{enumerable:!0,get:function(){return f}});let d=c(42776),e=c(58486);function f(a,b,c,f,g){switch(b){case"catchall":case"optional-catchall":case"catchall-intercepted-(..)(..)":case"catchall-intercepted-(.)":case"catchall-intercepted-(..)":case"catchall-intercepted-(...)":let h=[];for(let a=c;a<f.segments.length;a++){let d=f.segments[a];if("static"===d.type){let f=d.name,g=(0,e.interceptionPrefixFromParamType)(b);g&&a===c&&g===d.interceptionMarker&&(f=f.replace(d.interceptionMarker,"")),h.push(f)}else{if(!g.hasOwnProperty(d.param.paramName)){if("optional-catchall"===d.param.paramType)break;return}let a=g[d.param.paramName];Array.isArray(a)?h.push(...a):h.push(a)}}if(h.length>0)return h;if("optional-catchall"===b)return;throw Object.defineProperty(new d.InvariantError(`Unexpected empty path segments match for a route "${f.pathname}" with param "${a}" of type "${b}"`),"__NEXT_ERROR_CODE",{value:"E931",enumerable:!1,configurable:!0});case"dynamic":case"dynamic-intercepted-(..)(..)":case"dynamic-intercepted-(.)":case"dynamic-intercepted-(..)":case"dynamic-intercepted-(...)":if(c<f.segments.length){let a=f.segments[c];if("dynamic"===a.type&&!g.hasOwnProperty(a.param.paramName))return;return"dynamic"===a.type?g[a.param.paramName]:(0,e.interceptionPrefixFromParamType)(b)===a.interceptionMarker?a.name.replace(a.interceptionMarker,""):a.name}return}}},31050:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"ReflectAdapter",{enumerable:!0,get:function(){return c}});class c{static get(a,b,c){let d=Reflect.get(a,b,c);return"function"==typeof d?d.bind(a):d}static set(a,b,c,d){return Reflect.set(a,b,c,d)}static has(a,b){return Reflect.has(a,b)}static deleteProperty(a,b){return Reflect.deleteProperty(a,b)}}},31147:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createLazyResult:function(){return e},isResolvedLazyResult:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){let b,c={then:(d,e)=>(b||(b=Promise.resolve(a())),b.then(a=>{c.value=a}).catch(()=>{}),b.then(d,e))};return c}function f(a){return a.hasOwnProperty("value")}},31245:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DEFAULT_QUOTA_FRESH_MS:()=>J,cleanupProviderConnections:()=>ad,connToRow:()=>P,createProviderConnection:()=>V,deleteProviderConnection:()=>aa,deleteProviderConnectionsByProvider:()=>ab,getProviderConnectionById:()=>S,getProviderConnections:()=>R,getProviderQuotaHeadroom:()=>T,redactSecrets:()=>N,reorderProviderConnections:()=>ac,updateProviderConnection:()=>W,updateProviderConnectionCredentialsIfCurrent:()=>_,updateProviderConnectionStatusIfCurrent:()=>Z});var d=c(41298);function e(a,b){let c=process.env[a];if(null==c||""===c)return b;let d=parseInt(c,10);return Number.isFinite(d)&&d>0?d:b}e("STREAM_STALL_TIMEOUT_MS",45e3),e("STREAM_FIRST_CHUNK_TIMEOUT_MS",12e4),e("FETCH_CONNECT_TIMEOUT_MS",6e4),e("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);var f=c(27061),g=c(33323),h=c(36335),i=c(74033);let j="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(i.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:j}:b]}));let k=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],l=a=>Object.fromEntries(i.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),k))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=j),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.aliases?.length?{aliases:a.aliases}:{},...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),m=l("free"),n=l("freeTier"),o=l("oauth"),p=l("apikey"),q=l("webCookie"),r={...m,...n,...o,...p,...q};Object.values(r).reduce((a,b)=>(a[b.alias]=b.id,a),{}),Object.values(r).reduce((a,b)=>(a[b.id]=b.alias,a),{}),i.A.filter(a=>a.features?.usage).map(a=>a.id),i.A.filter(a=>a.features?.usageApikey).map(a=>a.id);function s(a){return a.split(/[-_\s]+/).filter(Boolean).map(a=>/^\d/.test(a)?a:a.charAt(0).toUpperCase()+a.slice(1)).join(" ")}let t=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,a=>`Kimi K${a[1]}${a[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,a=>`GLM ${a[1]}${a[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,a=>`MiniMax M${a[1]}`],[/^gpt-(.+)$/i,a=>`GPT ${s(a[1])}`],[/^gemini-(.+)$/i,a=>`Gemini ${s(a[1])}`],[/^grok-(.+)$/i,a=>`Grok ${s(a[1])}`],[/^deepseek-(.+)$/i,a=>`DeepSeek ${s(a[1])}`],[/^qwen([\d.]+.*)$/i,a=>`Qwen ${s(a[1])}`]];function u(a){let b="string"==typeof a?{id:a}:a;return void 0!==b.name?b:{...b,name:function(a){if("string"!=typeof a)return a;for(let[b,c]of t){let d=a.match(b);if(d)return c(d)}return a}(b.id)}}let v={alloy:{id:"alloy",name:"Alloy"},ash:{id:"ash",name:"Ash"},ballad:{id:"ballad",name:"Ballad"},cedar:{id:"cedar",name:"Cedar"},coral:{id:"coral",name:"Coral"},echo:{id:"echo",name:"Echo"},fable:{id:"fable",name:"Fable"},marin:{id:"marin",name:"Marin"},nova:{id:"nova",name:"Nova"},onyx:{id:"onyx",name:"Onyx"},sage:{id:"sage",name:"Sage"},shimmer:{id:"shimmer",name:"Shimmer"},verse:{id:"verse",name:"Verse"}},w=(...a)=>a.map(a=>({...v[a],type:"tts"})),x=w("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),y=w("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),z=["Zephyr","Puck","Charon","Kore","Fenrir","Leda","Orus","Aoede","Callirrhoe","Autonoe","Enceladus","Iapetus","Umbriel","Algieba","Despina","Erinome","Algenib","Rasalgethi","Laomedeia","Achernar","Alnilam","Schedar","Gacrux","Pulcherrima","Achird","Zubenelgenubi","Vindemiatrix","Sadachbia","Sadaltager","Sulafat"].map(a=>({id:a,name:a,type:"tts"})),A={openai:{models:[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],voices:{"gpt-4o-mini-tts":y,"tts-1":x,"tts-1-hd":x},allVoices:y},openrouter:{models:[{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"openai/tts-1",name:"TTS-1",type:"tts"}],voices:{"openai/gpt-4o-mini-tts":y,"openai/tts-1":x,"openai/tts-1-hd":x},allVoices:y},elevenlabs:{models:[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}]},"edge-tts":{defaults:[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},"local-device":{defaults:[{id:"default",name:"System Default Voice",type:"tts"}]},"google-tts":{defaults:[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}]},gemini:{models:[{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",type:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",type:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",type:"tts"}],voices:{"gemini-3.1-flash-tts-preview":z,"gemini-2.5-flash-preview-tts":z,"gemini-2.5-pro-preview-tts":z},allVoices:z}},B=["clientId","clientSecret","tokenUrl"],C=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"]),D={},E={},F={},G={};for(let a of i.A){a.transport&&(D[a.id]=function(a,b){let c={...a};if(c.format||(c.format="openai"),c.identity||(c.identity="claude"===c.format?"claude-cli":"openai-node"),b)for(let a of B)void 0===c[a]&&void 0!==b[a]&&(c[a]=b[a]);return c}(a.transport,a.oauth),a.transports&&(D[a.id].transports=a.transports)),void 0!==a.models&&(E[a.alias||a.id]=a.models.map(u)),a.oauth&&(F[a.id]=a.oauth);let b={};for(let c of C)void 0!==a[c]&&(b[c]=a[c]);a.media&&Object.assign(b,a.media),Object.keys(b).length&&(G[a.id]=b)}Object.assign(E,function(){let a={};for(let[b,c]of Object.entries(A))c.models&&(a[`${b}-tts-models`]=c.models),c.allVoices&&(a[`${b}-tts-voices`]=c.allVoices),c.defaults&&(a[b]=c.defaults);return a["openai-tts-voices"]=A.openai.allVoices,a["openrouter-tts-voices"]=A.openrouter.allVoices,a}()),D["xiaomi-tokenplan"]?.regions,D["xiaomi-tokenplan"]?.defaultRegion;let H=Object.fromEntries(i.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias]));Object.fromEntries(Object.keys(D).map(a=>[a,H[a]||a])),Object.entries(r).filter(([,a])=>a.passthroughModels).map(([a])=>a),Object.entries(E).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})));var I=c(18606);let J=12e4,K=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","errorCode","consecutiveUseCount","idToken","lastRefreshAt"],L=new Set(["accessToken","refreshToken","idToken","apiKey","copilotToken","cookies","clientSecret","secretAccessKey"]);function M(a,b,c=!1){return"string"==typeof a?c&&a?b(a):a:c&&null!==a&&"object"!=typeof a?void 0:Array.isArray(a)?a.map(a=>M(a,b,c)):a&&"object"==typeof a?Object.fromEntries(Object.entries(a).map(([a,d])=>[a,M(d,b,c||L.has(a))])):a}function N(a){return M(a,()=>void 0)}function O(a){return a?{...M((0,g.q)(a.data,{}),a=>(0,h.wu)(a)??a),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive||!0===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt}:null}function P(a){let{id:b,provider:c,authType:d,name:e,email:f,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=a,n=M(m,h.MG);return{id:b,provider:c,authType:d,name:e??null,email:f??null,priority:i??null,isActive:+(!1!==j),data:(0,g.s)(n),createdAt:k,updatedAt:l}}function Q(a,b){let c=P(b);a.run(`INSERT INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt)
22
22
  VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
23
23
  ON CONFLICT(id) DO UPDATE SET
24
24
  provider=excluded.provider, authType=excluded.authType, name=excluded.name,
25
25
  email=excluded.email, priority=excluded.priority, isActive=excluded.isActive,
26
- data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function R(a={}){let b=await (0,e.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let f=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,d).map(O);return g.sort((a,b)=>(a.priority??999)-(b.priority??999)),g}async function S(a){return O((await (0,e.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}async function T(a=J){try{let b=Object.create(null),c=Number.isFinite(a)?a:J,d=Date.now();for(let a of(await R())){let e=a.lastQuota,f=Number(e?.at),g=Number(e?.remainingPercentage);if(!Number.isFinite(f)||d-f>c||!Number.isFinite(g))continue;let h=b[a.provider];(!Number.isFinite(h)||g>h)&&(b[a.provider]=g)}return b}catch{return{}}}function U(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(O);c.sort((a,b)=>{let c=(a.priority??999)-(b.priority??999);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function V(a){let b,c=await (0,e.c)(),f=new Date().toISOString();return c.transaction(()=>{let e=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(O),g=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;g=e.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(g=e.find(b=>"apikey"===b.authType&&b.name===a.name));if(g){let d={...g,...a,updatedAt:f};Q(c,d),b=d;return}let h=a.name||null;h||"oauth"!==a.authType&&"access_token"!==a.authType||(h=a.email||`Account ${e.length+1}`);let i=a.priority;null==i&&(i=e.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let j={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:h,priority:i,isActive:void 0===a.isActive||a.isActive,createdAt:f,updatedAt:f};for(let b of K)void 0!==a[b]&&null!==a[b]&&(j[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(j.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(j.email=a.email),Q(c,j),U(c,a.provider),b=j}),b}async function W(a,b){let c,d=await (0,e.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=O(e),g={...f,...b,updatedAt:new Date().toISOString()};Q(d,g),f.provider!==g.provider&&(0,I.uQ)(d,f.provider),void 0!==b.priority&&U(d,f.provider),c=g}),c}async function X(a){let b=await (0,e.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),U(b,d.provider),(0,I.uQ)(b,d.provider),c=!0)}),c}async function Y(a){let b=await (0,e.c)(),c=0;return b.transaction(()=>{c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a])?.n||0,b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),(0,I.uQ)(b,a)}),c}async function Z(a){let b=await (0,e.c)();b.transaction(()=>U(b,a))}async function $(){let a=await (0,e.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=O(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&Q(a,e)}}),c}},31385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(71185),h=c(36081),i=c(30585);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseNormalizedAppRoute)(c);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},31574:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImplicitTags",{enumerable:!0,get:function(){return h}});let d=c(96100),e=c(57155),f=c(37809),g=c(31147);async function h(a,b,c){let h=new Set;for(let b of(a=>{let b=["/layout"];if(a.startsWith("/")){let c=a.indexOf("/",1);for(;;){-1===c&&(c=a.length);let d=a.slice(0,c);if(d&&(d.endsWith("/page")||d.endsWith("/route")||(d=`${d}${!d.endsWith("/")?"/":""}layout`),b.push(d)),c===a.length)break;c=a.indexOf("/",c+1)}}return b})(a))b=(0,f.encodeHeaderSafe)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`),h.add(b);if(b&&(!c||0===c.size)){let a=(0,f.encodeHeaderSafe)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`);h.add(a)}h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`),h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`);let i=Array.from(h);return{tags:i,expirationsByCacheKind:function(a){let b=new Map,c=(0,e.getCacheHandlerEntries)();if(c)for(let[d,e]of c)"getExpiration"in e&&b.set(d,(0,g.createLazyResult)(async()=>e.getExpiration(a)));return b}(i)}}},32053:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},32457:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDefaultCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(9913),e=c(36820);function f(a){if(0===a)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let b=new d.LRUCache(a,(a,b)=>a.size+b.length),c=new Map,f=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(a){let d=c.get(a);d&&(null==f||f("get",a,"pending"),await d);let g=b.get(a);if(!g){null==f||f("get",a,"not found");return}let h=g.entry;if(h.expire<0){null==f||f("get",a,"evicted");return}let i=h.revalidate;if(performance.timeOrigin+performance.now()>h.timestamp+1e3*i){null==f||f("get",a,"expired");return}let j=h.revalidate;if((0,e.areTagsExpired)(h.tags,h.timestamp)){null==f||f("get",a,"had expired tag");return}(0,e.areTagsStale)(h.tags,h.timestamp)&&(null==f||f("get",a,"had stale tag"),j=-1);let[k,l]=h.value.tee();return h.value=l,null==f||f("get",a,"found",{tags:h.tags,timestamp:h.timestamp,expire:h.expire,revalidate:j}),{...h,revalidate:j,value:k}},async set(a,d){null==f||f("set",a,"start");let e=()=>{},g=new Promise(a=>{e=a});c.set(a,g);let h=await d,i=0;try{if(0===h.expire){null==f||f("set",a,"skipped dynamic entry");return}let[c,d]=h.value.tee();h.value=c;let e=d.getReader();for(let a;!(a=await e.read()).done;)i+=Buffer.from(a.value).byteLength;b.set(a,{entry:h,isErrored:!1,errorRetryCount:0,size:i}),null==f||f("set",a,"done")}catch(b){null==f||f("set",a,"failed",b)}finally{e(),c.delete(a)}},async refreshTags(){},async getExpiration(a){let b=Math.max(...a.map(a=>{let b=e.tagsManifest.get(a);return b&&b.expired||0}),0);return null==f||f("getExpiration",{tags:a,expiration:b}),b},async updateTags(a,b){let c=Math.round(performance.timeOrigin+performance.now());for(let d of(null==f||f("updateTags",{tags:a,timestamp:c}),a)){let a=e.tagsManifest.get(d)||{};if(b){let f={...a};f.stale=c,void 0!==b.expire&&(f.expired=c+1e3*b.expire),e.tagsManifest.set(d,f)}else e.tagsManifest.set(d,{...a,expired:c})}}}}c(62965)},32648:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={edgeInstrumentationOnRequestError:function(){return h},ensureInstrumentationRegistered:function(){return j},getEdgeInstrumentationModule:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});async function e(){return"_ENTRIES"in globalThis&&_ENTRIES.middleware_instrumentation&&await _ENTRIES.middleware_instrumentation}let f=null;async function g(){if("phase-production-build"===process.env.NEXT_PHASE)return;f||(f=e());let a=await f;if(null==a?void 0:a.register)try{await a.register()}catch(a){throw a.message=`An error occurred while loading instrumentation hook: ${a.message}`,a}}async function h(...a){let b=await e();try{var c;await (null==b||null==(c=b.onRequestError)?void 0:c.call(b,...a))}catch(a){console.error("Error in instrumentation.onRequestError:",a)}}let i=null;function j(){return i||(i=g()),i}},32861:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={AppPathnameNormalizer:function(){return j},DevAppPathnameNormalizer:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=c(47866),h=c(50541),i=c(13462);class j extends g.Normalizers{constructor(){super([(0,h.wrapNormalizerFn)(f.normalizeAppPath),new i.UnderscoreNormalizer])}normalize(a){return super.normalize(a)}}class k extends g.Normalizers{constructor(a){super([a,new j])}normalize(a){return super.normalize(a)}}},33163:(a,b)=>{"use strict";function c(a){let[b,c]=a.value.tee();a.value=b;let d={value:c,timestamp:a.timestamp,revalidate:a.revalidate,expire:a.expire,stale:a.stale,tags:a.tags};return[a,d]}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"cloneCacheEntry",{enumerable:!0,get:function(){return c}})},33323:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},33803:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ROUTE_CACHE_DIRECTORY:function(){return k},getResponseCacheOwner:function(){return m},getRouteCacheKey:function(){return o},isRouteCacheOwner:function(){return n}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(26670),g=c(28516),h=c(42776),i=c(32861),j=c(62929),k="route-cache",l=new i.AppPathnameNormalizer;function m(a){return{kind:a.kind,sourceRoute:a.kind===j.RouteKind.PAGES?a.pathname:a.page}}function n(a,b,c,d){if(!c)return!1;let e=null===c.dataRoute?j.RouteKind.APP_ROUTE:c.dataRoute.endsWith(".json")?j.RouteKind.PAGES:c.dataRoute.endsWith(".rsc")?j.RouteKind.APP_PAGE:void 0;return e===b.kind&&(("srcRoute"in c?c.srcRoute:c.fallbackSourceRoute)??(e===j.RouteKind.PAGES?(0,g.normalizeLocalePath)(a,d).pathname:a))===(e===j.RouteKind.PAGES?b.sourceRoute:l.normalize(b.sourceRoute))}function o(a,b){let d;if(!b)throw new h.InvariantError("Response cache requires a source route");let{sourceRoute:e}=b;{let{createHash:a}=c(55511);d=a("sha256").update(e).digest("hex")}return`/${k}/${b.kind}/${d}/$${(0,f.normalizePagePath)(a)}`}},33873:a=>{"use strict";a.exports=require("path")},34196:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},34539:(a,b,c)=>{"use strict";a.exports=c(6796).vendored["react-rsc"].React},36023:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(31050);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1176",enumerable:!1,configurable:!0})}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a,b){let c,d=b&&b.size>0?a=>b.has(a.toLowerCase()):null,e=new Proxy(a,{get(a,b,d){switch(b){case"append":case"delete":case"set":return g.callable;case Symbol.iterator:return c[Symbol.iterator];case"get":case"has":case"getSetCookie":case"keys":case"values":case"entries":case"forEach":return c[b];default:return f.ReflectAdapter.get(a,b,d)}}});return c=d?function(a,b,c){function*d(){for(let b of a.entries())c(b[0])||(yield b)}return{entries:d,[Symbol.iterator]:d,get:b=>c(b)?null:a.get(b),has:b=>!c(b)&&a.has(b),getSetCookie:()=>c("set-cookie")?[]:a.getSetCookie(),*keys(){for(let b of a.keys())c(b)||(yield b)},*values(){for(let[,a]of d())yield a},forEach(a,c){for(let[e,f]of d())a.call(c,f,e,b)}}}(a,e,d):{get:a.get.bind(a),has:a.has.bind(a),getSetCookie:a.getSetCookie.bind(a),keys:a.keys.bind(a),values:a.values.bind(a),entries:a.entries.bind(a),[Symbol.iterator]:a[Symbol.iterator].bind(a),forEach(b,c){for(let[d,f]of a.entries())b.call(c,f,d,e)}},e}static fresh(a){return new Proxy(a,{get:(a,b,c)=>f.ReflectAdapter.get(a,b,c)})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},36066:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${c}${b}${e}${f}`}},36081:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isInterceptionAppRoute:function(){return k},isNormalizedAppRoute:function(){return j},parseAppRouteSegment:function(){return i},parseAppRouteWithSlots:function(){return n},parseNormalizedAppRoute:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(51597),h=c(11042);function i(a){if(""===a)return null;let b=h.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b)),c=(0,g.getSegmentParam)(a);return c?{type:"dynamic",name:a,param:c,interceptionMarker:b}:a.startsWith("(")&&a.endsWith(")")?{type:"route-group",name:a,interceptionMarker:b}:a.startsWith("@")?{type:"parallel-route",name:a,interceptionMarker:b}:{type:"static",name:a,interceptionMarker:b}}function j(a){return a.normalized}function k(a){return void 0!==a.interceptionMarker&&void 0!==a.interceptingRoute&&void 0!==a.interceptedRoute}function l(a,b){let c,d,e,h=a.split("/").filter(Boolean),j=[];for(let k of h){let h=i(function(a){if(!/%5b|%5d/i.test(a))return a;try{let b=decodeURIComponent(a);return(0,g.getSegmentParam)(b)?b:a}catch{return a}}(k));if(h){if("route-group"===h.type&&!(2&b))throw Object.defineProperty(new f.InvariantError(`${a} is being parsed as a normalized route, but it has a route group segment.`),"__NEXT_ERROR_CODE",{value:"E1151",enumerable:!1,configurable:!0});if("parallel-route"===h.type&&!(1&b))throw Object.defineProperty(new f.InvariantError(`${a} is being parsed as a normalized route, but it has a parallel route segment.`),"__NEXT_ERROR_CODE",{value:"E1152",enumerable:!1,configurable:!0});if(j.push(h),h.interceptionMarker){let f=a.split(h.interceptionMarker);if(2!==f.length)throw Object.defineProperty(Error(`Invalid interception route: ${a}`),"__NEXT_ERROR_CODE",{value:"E924",enumerable:!1,configurable:!0});d=l(f[0],b),e=l(f[1],b),c=h.interceptionMarker}}}let k=j.filter(a=>"dynamic"===a.type);return{normalized:0===b,pathname:a,segments:j,dynamicSegments:k,interceptionMarker:c,interceptingRoute:d,interceptedRoute:e}}function m(a){return l(a,0)}function n(a){return l(a,1)}},36241:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>h}),c(27061);let d=(0,c(71509).U)("pricing"),e={value:null,expiresAt:0};async function f(){return await d.getAll()}async function g(){let a=Date.now();if(e.value&&e.expiresAt>a)return e.value;let b=await f();return e={value:b,expiresAt:a+5e3},b}async function h(a,b){if(!b)return null;let d=await g();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:e}=await c.e(7662).then(c.bind(c,87662));return e(a,b)}},36299:(a,b)=>{"use strict";function c(a,b,c){if(a){for(let d of(c&&(c=c.toLowerCase()),a))if(b===d.domain?.split(":",1)[0].toLowerCase()||c===d.defaultLocale.toLowerCase()||d.locales?.some(a=>a.toLowerCase()===c))return d}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},36335:(a,b,c)=>{"use strict";c.d(b,{BA:()=>C,E8:()=>x,MG:()=>u,O0:()=>E,Yh:()=>B,cb:()=>z,lO:()=>D,ue:()=>F,ws:()=>A,wu:()=>v});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(72045);let k="aes-256-gcm",l="enc:v1:",m="enc:v2:",n=i().join(j.nJ,"auth","data-key"),o=i().join(j.nJ,"auth","cli-secret"),p="switchboard-at-rest-v1",q=null,r=null;function s(){if(q)return q;try{let a=g().readFileSync(n);if(32===a.length)return q=a}catch{}try{let a=i().join(j.nJ,"machine-id"),b=p;try{b=g().readFileSync(a,"utf8").trim()+p}catch{}q=b===p?e().randomBytes(32):e().createHash("sha256").update(b).digest()}catch{q=e().randomBytes(32)}try{g().mkdirSync(i().dirname(n),{recursive:!0,mode:448}),g().writeFileSync(n,q,{mode:384})}catch{}return q}function t(){let a=function(){if(r)return r;try{if(r=g().readFileSync(o,"utf8").trim()||null)return r}catch{}let a=e().randomBytes(32).toString("hex");try{g().mkdirSync(i().dirname(o),{recursive:!0,mode:448}),g().writeFileSync(o,a,{mode:384,flag:"wx"}),r=a}catch{try{r=g().readFileSync(o,"utf8").trim()||null}catch{r=null}}return r}();return a?e().createHash("sha256").update(s()).update(a,"utf8").digest():null}function u(a){if(null==a||""===a||"string"!=typeof a||a.startsWith(l)||a.startsWith(m))return a;let b=t(),c=b||s(),d=e().randomBytes(12),f=e().createCipheriv(k,c,d),g=Buffer.concat([f.update(a,"utf8"),f.final()]),h=f.getAuthTag();return`${b?m:l}${d.toString("hex")}:${h.toString("hex")}:${g.toString("hex")}`}function v(a){if(null==a||""===a||"string"!=typeof a)return a;let b=a.startsWith(m);if(!b&&!a.startsWith(l))return a;try{let[c,d,f]=a.slice(m.length).split(":");if(!c||!d||!f)return null;let g=b?t():s();if(!g)return null;let h=e().createDecipheriv(k,g,Buffer.from(c,"hex"));return h.setAuthTag(Buffer.from(d,"hex")),h.update(Buffer.from(f,"hex"),void 0,"utf8")+h.final("utf8")}catch{return null}}function w(a){return e().createHash("sha256").update(`sb-key:${a}`).digest("hex")}function x(a){return a&&"string"==typeof a?a.length<=12?a.slice(0,4)+"…":a.slice(0,10)+"…":""}function y(a){return"string"==typeof a&&/^[a-f0-9]{32}$/.test(a)?e().createHash("sha256").update(`sb-key-lookup:${a}`).digest("hex"):null}function z(a){if("string"!=typeof a)return null;let b=a.split("-");return 4===b.length&&"sk"===b[0]&&b[1]&&/^[a-f0-9]{8}$/.test(b[3])?y(b[2]):null}function A(a,b=z(a)){if(!b)return`v1:${x(a)}:${w(a)}`;let c=e().randomBytes(16),d=e().scryptSync(a,c,32,{N:16384,r:8,p:1,maxmem:0x4000000});return`v2:${b}:${x(a)}:${c.toString("hex")}:${d.toString("hex")}`}function B(a){if("string"!=typeof a||!a.startsWith("v2:"))return a;let b=a.split(":");if(5!==b.length||!/^[a-f0-9]{32}$/.test(b[1]))return a;let c=y(b[1]);return`v2:${c}:${b[2]}:${b[3]}:${b[4]}`}function C(a){if(!a||"string"!=typeof a)return{version:0,lookupDigest:null,prefix:"",hash:null,salt:null,legacy:!0,raw:a};let b=B(a),c=b.split(":");return b.startsWith("v2:")&&5===c.length?{version:2,lookupDigest:/^[a-f0-9]{64}$/.test(c[1])?c[1]:null,prefix:c[2],salt:c[3],hash:c[4],legacy:!1,raw:null}:b.startsWith("v2:")&&4===c.length?{version:2,lookupDigest:null,prefix:c[1],salt:c[2],hash:c[3],legacy:!1,raw:null}:b.startsWith("v1:")&&c.length>=3?{version:1,lookupDigest:null,prefix:c[1],salt:null,hash:c.slice(2).join(":"),legacy:!1,raw:null}:{version:0,lookupDigest:z(b),prefix:x(b),hash:null,salt:null,legacy:!0,raw:b}}function D(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=e().createHash("sha256").update(a).digest(),d=e().createHash("sha256").update(b).digest();return e().timingSafeEqual(c,d)}function E(a,b){if(!b||"string"!=typeof b)return!1;let c=C(a);if(c.legacy)return D(String(c.raw||""),b);if(1===c.version)return!!c.hash&&D(c.hash,w(b));if(!c.salt||!c.hash)return!1;try{let a=e().scryptSync(b,Buffer.from(c.salt,"hex"),32,{N:16384,r:8,p:1,maxmem:0x4000000});return D(a.toString("hex"),c.hash)}catch{return!1}}async function F(a,b){if(!b||"string"!=typeof b)return!1;let c=C(a);if(2!==c.version)return E(a,b);if(!c.salt||!c.hash)return!1;try{let a=await new Promise((a,d)=>{e().scrypt(b,Buffer.from(c.salt,"hex"),32,{N:16384,r:8,p:1,maxmem:0x4000000},(b,c)=>{b?d(b):a(c)})});return D(a.toString("hex"),c.hash)}catch{return!1}}},36820:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/tags-manifest.external.js")},37809:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeHeaderSafe",{enumerable:!0,get:function(){return e}});let c=/[^\t\x20-\x7e]/,d=/[^\t\x20-\x7e]+/g;function e(a){return c.test(a)?a.replace(d,a=>encodeURIComponent(a)):a}},38169:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DraftModeProvider",{enumerable:!0,get:function(){return e}});let d=c(97010);class e{constructor(a,b,c,e){var f;const g=a&&(0,d.checkIsOnDemandRevalidate)(b,a).isOnDemandRevalidate,h=null==(f=c.get(d.COOKIE_NAME_PRERENDER_BYPASS))?void 0:f.value;this._isEnabled=!!(!g&&h&&a&&h===a.previewModeId),this._previewModeId=null==a?void 0:a.previewModeId,this._mutableCookies=e}get isEnabled(){return this._isEnabled}enable(){if(!this._previewModeId)throw Object.defineProperty(Error("Invariant: previewProps missing previewModeId this should never happen"),"__NEXT_ERROR_CODE",{value:"E93",enumerable:!1,configurable:!0});this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"}),this._isEnabled=!0}disable(){this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)}),this._isEnabled=!1}}},38742:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createDynamicBodyError:function(){return f},createDynamicBodyErrorInNavigation:function(){return i},createDynamicMetadataError:function(){return m},createDynamicOrRuntimeBodyError:function(){return j},createDynamicOrRuntimeMetadataError:function(){return r},createDynamicOrRuntimeViewportError:function(){return q},createDynamicViewportError:function(){return p},createLinkBodyErrorInNavigation:function(){return h},createLinkMetadataError:function(){return k},createLinkViewportError:function(){return n},createRuntimeBodyError:function(){return e},createRuntimeBodyErrorInNavigation:function(){return g},createRuntimeMetadataError:function(){return l},createRuntimeViewportError:function(){return o},logBuildDebugHint:function(){return s}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered runtime data during prerendering.
26
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.provider,c.authType,c.name,c.email,c.priority,c.isActive,c.data,c.createdAt,c.updatedAt])}async function R(a={}){let b=await (0,f.c)(),c=[],d=[];a.provider&&(c.push("provider = ?"),d.push(a.provider)),void 0!==a.isActive&&(c.push("isActive = ?"),d.push(+!!a.isActive));let e=`SELECT * FROM providerConnections${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(e,d).map(O);return g.sort((a,b)=>(a.priority??999)-(b.priority??999)),g}async function S(a){return O((await (0,f.c)()).get("SELECT * FROM providerConnections WHERE id = ?",[a]))}async function T(a=J){try{let b=Object.create(null),c=Number.isFinite(a)?a:J,d=Date.now();for(let a of(await R())){let e=a.lastQuota,f=Number(e?.at),g=Number(e?.remainingPercentage);if(!Number.isFinite(f)||d-f>c||!Number.isFinite(g))continue;let h=b[a.provider];(!Number.isFinite(h)||g>h)&&(b[a.provider]=g)}return b}catch{return{}}}function U(a,b){let c=a.all("SELECT * FROM providerConnections WHERE provider = ?",[b]).map(O);c.sort((a,b)=>{let c=(a.priority??999)-(b.priority??999);return 0!==c?c:new Date(b.updatedAt||0)-new Date(a.updatedAt||0)}),c.forEach((b,c)=>{a.run("UPDATE providerConnections SET priority = ? WHERE id = ?",[c+1,b.id])})}async function V(a){let b,c=await (0,f.c)(),e=new Date().toISOString();return c.transaction(()=>{let f=c.all("SELECT * FROM providerConnections WHERE provider = ?",[a.provider]).map(O),g=null;if("oauth"===a.authType&&a.email){let b=a.providerSpecificData?.username,c=a.providerSpecificData?.chatgptAccountId;g=f.find(d=>{if("oauth"!==d.authType||d.email!==a.email)return!1;let e=d.providerSpecificData?.chatgptAccountId;if(c&&e)return c===e;if(c&&!e||!c&&e)return!1;let f=d.providerSpecificData?.username;return b&&f?b===f:!b&&!f})}else"apikey"===a.authType&&a.name&&(g=f.find(b=>"apikey"===b.authType&&b.name===a.name));if(g){let d={...g,...a,updatedAt:e};Q(c,d),b=d;return}let h=a.name||null;h||"oauth"!==a.authType&&"access_token"!==a.authType||(h=a.email||`Account ${f.length+1}`);let i=a.priority;null==i&&(i=f.reduce((a,b)=>Math.max(a,b.priority||0),0)+1);let j={id:(0,d.A)(),provider:a.provider,authType:a.authType||"oauth",name:h,priority:i,isActive:void 0===a.isActive||a.isActive,createdAt:e,updatedAt:e};for(let b of K)void 0!==a[b]&&null!==a[b]&&(j[b]=a[b]);a.providerSpecificData&&Object.keys(a.providerSpecificData).length>0&&(j.providerSpecificData=a.providerSpecificData),void 0!==a.email&&(j.email=a.email),Q(c,j),U(c,a.provider),b=j}),b}async function W(a,b){let c,d=await (0,f.c)();return d.transaction(()=>{let e=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!e){c=null;return}let f=O(e),g={...f,...b,updatedAt:new Date().toISOString()};Q(d,g),f.provider!==g.provider&&(0,I.uQ)(d,f.provider),void 0!==b.priority&&U(d,f.provider),c=g}),c}let X=["testStatus","lastError","lastErrorAt","errorCode","backoffLevel","rateLimitedUntil"],Y="modelLock_";async function Z(a,b,c){if(!b||"object"!=typeof b||!c||"object"!=typeof c)throw TypeError("An account status snapshot and patch are required");if(Object.keys(c).some(a=>!X.includes(a)&&!a.startsWith(Y)))throw TypeError("Only account status and model locks may be updated conditionally");let d=await (0,f.c)(),e=null;try{d.transaction(()=>{let f=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!f)return;let g=O(f);if([...new Set([...X,"provider","isActive",...Object.keys(b).filter(a=>a.startsWith(Y)),...Object.keys(g).filter(a=>a.startsWith(Y))])].some(a=>(g[a]??null)!==(b[a]??null)))return;let h={...g,...c,updatedAt:new Date().toISOString()},i=P(h);d.run("UPDATE providerConnections SET data = ?, updatedAt = ? WHERE id = ? AND data = ? AND updatedAt = ?",[i.data,i.updatedAt,a,f.data,f.updatedAt]).changes>0&&(e=h)})}catch(a){if(a?.code!=="SQLITE_BUSY_SNAPSHOT"&&a?.errcode!==517)throw a}return e}let $=["accessToken","refreshToken","idToken","expiresAt","expiresIn","lastRefreshAt","providerSpecificData","updatedAt","projectId"];async function _(a,b,c){if(!b||!c||Object.keys(c).some(a=>!$.includes(a)))throw TypeError("A credential snapshot and credential-only patch are required");let d=await (0,f.c)(),e=null;for(let f=0;f<2;f++){try{d.transaction(()=>{let f=d.get("SELECT * FROM providerConnections WHERE id = ?",[a]);if(!f)return;let g=O(f);if(["provider","authType","accessToken","refreshToken","idToken","expiresAt","lastRefreshAt"].some(a=>(g[a]??null)!==(b[a]??null))||["copilotToken","copilotTokenExpiresAt"].some(a=>(g.providerSpecificData?.[a]??null)!==(b.providerSpecificData?.[a]??null)))return;let h={...g,...c,updatedAt:new Date().toISOString(),...c.providerSpecificData?{providerSpecificData:{...g.providerSpecificData,...c.providerSpecificData}}:{}},i=P(h);d.run("UPDATE providerConnections SET data = ?, updatedAt = ? WHERE id = ? AND data = ? AND updatedAt = ?",[i.data,i.updatedAt,a,f.data,f.updatedAt]).changes>0&&(e=h)})}catch(a){if(a?.code!=="SQLITE_BUSY_SNAPSHOT"&&a?.errcode!==517)throw a;continue}return e}return null}async function aa(a){let b=await (0,f.c)(),c=!1;return b.transaction(()=>{let d=b.get("SELECT provider FROM providerConnections WHERE id = ?",[a]);d&&(b.run("DELETE FROM providerConnections WHERE id = ?",[a]),U(b,d.provider),(0,I.uQ)(b,d.provider),c=!0)}),c}async function ab(a){let b=await (0,f.c)(),c=0;return b.transaction(()=>{c=b.get("SELECT COUNT(*) AS n FROM providerConnections WHERE provider = ?",[a])?.n||0,b.run("DELETE FROM providerConnections WHERE provider = ?",[a]),(0,I.uQ)(b,a)}),c}async function ac(a){let b=await (0,f.c)();b.transaction(()=>U(b,a))}async function ad(){let a=await (0,f.c)(),b=["displayName","email","globalPriority","defaultModel","accessToken","refreshToken","expiresAt","tokenType","scope","projectId","apiKey","testStatus","lastTested","lastError","lastErrorAt","rateLimitedUntil","expiresIn","consecutiveUseCount"],c=0;return a.transaction(()=>{for(let d of a.all("SELECT * FROM providerConnections")){let e=O(d),f=!1;for(let a of b)(null===e[a]||void 0===e[a])&&a in e&&(delete e[a],c++,f=!0);e.providerSpecificData&&0===Object.keys(e.providerSpecificData).length&&(delete e.providerSpecificData,c++,f=!0),f&&Q(a,e)}}),c}},31385:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(71185),h=c(36081),i=c(30585);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseNormalizedAppRoute)(c);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},31574:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getImplicitTags",{enumerable:!0,get:function(){return h}});let d=c(96100),e=c(57155),f=c(37809),g=c(31147);async function h(a,b,c){let h=new Set;for(let b of(a=>{let b=["/layout"];if(a.startsWith("/")){let c=a.indexOf("/",1);for(;;){-1===c&&(c=a.length);let d=a.slice(0,c);if(d&&(d.endsWith("/page")||d.endsWith("/route")||(d=`${d}${!d.endsWith("/")?"/":""}layout`),b.push(d)),c===a.length)break;c=a.indexOf("/",c+1)}}return b})(a))b=(0,f.encodeHeaderSafe)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`),h.add(b);if(b&&(!c||0===c.size)){let a=(0,f.encodeHeaderSafe)(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}${b}`);h.add(a)}h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`),h.has(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/index`)&&h.add(`${d.NEXT_CACHE_IMPLICIT_TAG_ID}/`);let i=Array.from(h);return{tags:i,expirationsByCacheKind:function(a){let b=new Map,c=(0,e.getCacheHandlerEntries)();if(c)for(let[d,e]of c)"getExpiration"in e&&b.set(d,(0,g.createLazyResult)(async()=>e.getExpiration(a)));return b}(i)}}},32053:(a,b)=>{"use strict";function c(a){return null!==a&&"object"==typeof a&&"then"in a&&"function"==typeof a.then}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isThenable",{enumerable:!0,get:function(){return c}})},32457:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDefaultCacheHandler",{enumerable:!0,get:function(){return f}});let d=c(9913),e=c(36820);function f(a){if(0===a)return{get:()=>Promise.resolve(void 0),set:()=>Promise.resolve(),refreshTags:()=>Promise.resolve(),getExpiration:()=>Promise.resolve(0),updateTags:()=>Promise.resolve()};let b=new d.LRUCache(a,(a,b)=>a.size+b.length),c=new Map,f=process.env.NEXT_PRIVATE_DEBUG_CACHE?console.debug.bind(console,"DefaultCacheHandler:"):void 0;return{async get(a){let d=c.get(a);d&&(null==f||f("get",a,"pending"),await d);let g=b.get(a);if(!g){null==f||f("get",a,"not found");return}let h=g.entry;if(h.expire<0){null==f||f("get",a,"evicted");return}let i=h.revalidate;if(performance.timeOrigin+performance.now()>h.timestamp+1e3*i){null==f||f("get",a,"expired");return}let j=h.revalidate;if((0,e.areTagsExpired)(h.tags,h.timestamp)){null==f||f("get",a,"had expired tag");return}(0,e.areTagsStale)(h.tags,h.timestamp)&&(null==f||f("get",a,"had stale tag"),j=-1);let[k,l]=h.value.tee();return h.value=l,null==f||f("get",a,"found",{tags:h.tags,timestamp:h.timestamp,expire:h.expire,revalidate:j}),{...h,revalidate:j,value:k}},async set(a,d){null==f||f("set",a,"start");let e=()=>{},g=new Promise(a=>{e=a});c.set(a,g);let h=await d,i=0;try{if(0===h.expire){null==f||f("set",a,"skipped dynamic entry");return}let[c,d]=h.value.tee();h.value=c;let e=d.getReader();for(let a;!(a=await e.read()).done;)i+=Buffer.from(a.value).byteLength;b.set(a,{entry:h,isErrored:!1,errorRetryCount:0,size:i}),null==f||f("set",a,"done")}catch(b){null==f||f("set",a,"failed",b)}finally{e(),c.delete(a)}},async refreshTags(){},async getExpiration(a){let b=Math.max(...a.map(a=>{let b=e.tagsManifest.get(a);return b&&b.expired||0}),0);return null==f||f("getExpiration",{tags:a,expiration:b}),b},async updateTags(a,b){let c=Math.round(performance.timeOrigin+performance.now());for(let d of(null==f||f("updateTags",{tags:a,timestamp:c}),a)){let a=e.tagsManifest.get(d)||{};if(b){let f={...a};f.stale=c,void 0!==b.expire&&(f.expired=c+1e3*b.expire),e.tagsManifest.set(d,f)}else e.tagsManifest.set(d,{...a,expired:c})}}}}c(62965)},32648:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={edgeInstrumentationOnRequestError:function(){return h},ensureInstrumentationRegistered:function(){return j},getEdgeInstrumentationModule:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});async function e(){return"_ENTRIES"in globalThis&&_ENTRIES.middleware_instrumentation&&await _ENTRIES.middleware_instrumentation}let f=null;async function g(){if("phase-production-build"===process.env.NEXT_PHASE)return;f||(f=e());let a=await f;if(null==a?void 0:a.register)try{await a.register()}catch(a){throw a.message=`An error occurred while loading instrumentation hook: ${a.message}`,a}}async function h(...a){let b=await e();try{var c;await (null==b||null==(c=b.onRequestError)?void 0:c.call(b,...a))}catch(a){console.error("Error in instrumentation.onRequestError:",a)}}let i=null;function j(){return i||(i=g()),i}},32861:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={AppPathnameNormalizer:function(){return j},DevAppPathnameNormalizer:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(92539),g=c(47866),h=c(50541),i=c(13462);class j extends g.Normalizers{constructor(){super([(0,h.wrapNormalizerFn)(f.normalizeAppPath),new i.UnderscoreNormalizer])}normalize(a){return super.normalize(a)}}class k extends g.Normalizers{constructor(a){super([a,new j])}normalize(a){return super.normalize(a)}}},33163:(a,b)=>{"use strict";function c(a){let[b,c]=a.value.tee();a.value=b;let d={value:c,timestamp:a.timestamp,revalidate:a.revalidate,expire:a.expire,stale:a.stale,tags:a.tags};return[a,d]}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"cloneCacheEntry",{enumerable:!0,get:function(){return c}})},33323:(a,b,c)=>{"use strict";function d(a,b=null){if(null==a)return b;if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}function e(a){return JSON.stringify(a??null)}c.d(b,{q:()=>d,s:()=>e})},33803:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={ROUTE_CACHE_DIRECTORY:function(){return k},getResponseCacheOwner:function(){return m},getRouteCacheKey:function(){return o},isRouteCacheOwner:function(){return n}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(26670),g=c(28516),h=c(42776),i=c(32861),j=c(62929),k="route-cache",l=new i.AppPathnameNormalizer;function m(a){return{kind:a.kind,sourceRoute:a.kind===j.RouteKind.PAGES?a.pathname:a.page}}function n(a,b,c,d){if(!c)return!1;let e=null===c.dataRoute?j.RouteKind.APP_ROUTE:c.dataRoute.endsWith(".json")?j.RouteKind.PAGES:c.dataRoute.endsWith(".rsc")?j.RouteKind.APP_PAGE:void 0;return e===b.kind&&(("srcRoute"in c?c.srcRoute:c.fallbackSourceRoute)??(e===j.RouteKind.PAGES?(0,g.normalizeLocalePath)(a,d).pathname:a))===(e===j.RouteKind.PAGES?b.sourceRoute:l.normalize(b.sourceRoute))}function o(a,b){let d;if(!b)throw new h.InvariantError("Response cache requires a source route");let{sourceRoute:e}=b;{let{createHash:a}=c(55511);d=a("sha256").update(e).digest("hex")}return`/${k}/${b.kind}/${d}/$${(0,f.normalizePagePath)(a)}`}},33873:a=>{"use strict";a.exports=require("path")},34196:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"URLPattern",{enumerable:!0,get:function(){return c}});let c="u"<typeof URLPattern?void 0:URLPattern},34539:(a,b,c)=>{"use strict";a.exports=c(6796).vendored["react-rsc"].React},36023:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={HeadersAdapter:function(){return h},ReadonlyHeadersError:function(){return g}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(31050);class g extends Error{constructor(){super("Headers cannot be modified. Read more: https://nextjs.org/docs/app/api-reference/functions/headers"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1176",enumerable:!1,configurable:!0})}static callable(){throw new g}}class h extends Headers{constructor(a){super(),this.headers=new Proxy(a,{get(b,c,d){if("symbol"==typeof c)return f.ReflectAdapter.get(b,c,d);let e=c.toLowerCase(),g=Object.keys(a).find(a=>a.toLowerCase()===e);if(void 0!==g)return f.ReflectAdapter.get(b,g,d)},set(b,c,d,e){if("symbol"==typeof c)return f.ReflectAdapter.set(b,c,d,e);let g=c.toLowerCase(),h=Object.keys(a).find(a=>a.toLowerCase()===g);return f.ReflectAdapter.set(b,h??c,d,e)},has(b,c){if("symbol"==typeof c)return f.ReflectAdapter.has(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0!==e&&f.ReflectAdapter.has(b,e)},deleteProperty(b,c){if("symbol"==typeof c)return f.ReflectAdapter.deleteProperty(b,c);let d=c.toLowerCase(),e=Object.keys(a).find(a=>a.toLowerCase()===d);return void 0===e||f.ReflectAdapter.deleteProperty(b,e)}})}static seal(a,b){let c,d=b&&b.size>0?a=>b.has(a.toLowerCase()):null,e=new Proxy(a,{get(a,b,d){switch(b){case"append":case"delete":case"set":return g.callable;case Symbol.iterator:return c[Symbol.iterator];case"get":case"has":case"getSetCookie":case"keys":case"values":case"entries":case"forEach":return c[b];default:return f.ReflectAdapter.get(a,b,d)}}});return c=d?function(a,b,c){function*d(){for(let b of a.entries())c(b[0])||(yield b)}return{entries:d,[Symbol.iterator]:d,get:b=>c(b)?null:a.get(b),has:b=>!c(b)&&a.has(b),getSetCookie:()=>c("set-cookie")?[]:a.getSetCookie(),*keys(){for(let b of a.keys())c(b)||(yield b)},*values(){for(let[,a]of d())yield a},forEach(a,c){for(let[e,f]of d())a.call(c,f,e,b)}}}(a,e,d):{get:a.get.bind(a),has:a.has.bind(a),getSetCookie:a.getSetCookie.bind(a),keys:a.keys.bind(a),values:a.values.bind(a),entries:a.entries.bind(a),[Symbol.iterator]:a[Symbol.iterator].bind(a),forEach(b,c){for(let[d,f]of a.entries())b.call(c,f,d,e)}},e}static fresh(a){return new Proxy(a,{get:(a,b,c)=>f.ReflectAdapter.get(a,b,c)})}merge(a){return Array.isArray(a)?a.join(", "):a}static from(a){return a instanceof Headers?a:new h(a)}append(a,b){let c=this.headers[a];"string"==typeof c?this.headers[a]=[c,b]:Array.isArray(c)?c.push(b):this.headers[a]=b}delete(a){delete this.headers[a]}get(a){let b=this.headers[a];return void 0!==b?this.merge(b):null}has(a){return void 0!==this.headers[a]}set(a,b){this.headers[a]=b}forEach(a,b){for(let[c,d]of this.entries())a.call(b,d,c,this)}*entries(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase(),c=this.get(b);yield[b,c]}}*keys(){for(let a of Object.keys(this.headers)){let b=a.toLowerCase();yield b}}*values(){for(let a of Object.keys(this.headers)){let b=this.get(a);yield b}}[Symbol.iterator](){return this.entries()}}},36066:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(77890);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return`${c}${b}${e}${f}`}},36081:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={isInterceptionAppRoute:function(){return k},isNormalizedAppRoute:function(){return j},parseAppRouteSegment:function(){return i},parseAppRouteWithSlots:function(){return n},parseNormalizedAppRoute:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(42776),g=c(51597),h=c(11042);function i(a){if(""===a)return null;let b=h.INTERCEPTION_ROUTE_MARKERS.find(b=>a.startsWith(b)),c=(0,g.getSegmentParam)(a);return c?{type:"dynamic",name:a,param:c,interceptionMarker:b}:a.startsWith("(")&&a.endsWith(")")?{type:"route-group",name:a,interceptionMarker:b}:a.startsWith("@")?{type:"parallel-route",name:a,interceptionMarker:b}:{type:"static",name:a,interceptionMarker:b}}function j(a){return a.normalized}function k(a){return void 0!==a.interceptionMarker&&void 0!==a.interceptingRoute&&void 0!==a.interceptedRoute}function l(a,b){let c,d,e,h=a.split("/").filter(Boolean),j=[];for(let k of h){let h=i(function(a){if(!/%5b|%5d/i.test(a))return a;try{let b=decodeURIComponent(a);return(0,g.getSegmentParam)(b)?b:a}catch{return a}}(k));if(h){if("route-group"===h.type&&!(2&b))throw Object.defineProperty(new f.InvariantError(`${a} is being parsed as a normalized route, but it has a route group segment.`),"__NEXT_ERROR_CODE",{value:"E1151",enumerable:!1,configurable:!0});if("parallel-route"===h.type&&!(1&b))throw Object.defineProperty(new f.InvariantError(`${a} is being parsed as a normalized route, but it has a parallel route segment.`),"__NEXT_ERROR_CODE",{value:"E1152",enumerable:!1,configurable:!0});if(j.push(h),h.interceptionMarker){let f=a.split(h.interceptionMarker);if(2!==f.length)throw Object.defineProperty(Error(`Invalid interception route: ${a}`),"__NEXT_ERROR_CODE",{value:"E924",enumerable:!1,configurable:!0});d=l(f[0],b),e=l(f[1],b),c=h.interceptionMarker}}}let k=j.filter(a=>"dynamic"===a.type);return{normalized:0===b,pathname:a,segments:j,dynamicSegments:k,interceptionMarker:c,interceptingRoute:d,interceptedRoute:e}}function m(a){return l(a,0)}function n(a){return l(a,1)}},36241:(a,b,c)=>{"use strict";c.d(b,{getPricingForModel:()=>h}),c(27061);let d=(0,c(71509).U)("pricing"),e={value:null,expiresAt:0};async function f(){return await d.getAll()}async function g(){let a=Date.now();if(e.value&&e.expiresAt>a)return e.value;let b=await f();return e={value:b,expiresAt:a+5e3},b}async function h(a,b){if(!b)return null;let d=await g();if(a&&d[a]?.[b])return d[a][b];let{getPricingForModel:e}=await c.e(7662).then(c.bind(c,87662));return e(a,b)}},36299:(a,b)=>{"use strict";function c(a,b,c){if(a){for(let d of(c&&(c=c.toLowerCase()),a))if(b===d.domain?.split(":",1)[0].toLowerCase()||c===d.defaultLocale.toLowerCase()||d.locales?.some(a=>a.toLowerCase()===c))return d}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},36335:(a,b,c)=>{"use strict";c.d(b,{BA:()=>C,E8:()=>x,MG:()=>u,O0:()=>E,Yh:()=>B,cb:()=>z,lO:()=>D,ue:()=>F,ws:()=>A,wu:()=>v});var d=c(77598),e=c.n(d),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(72045);let k="aes-256-gcm",l="enc:v1:",m="enc:v2:",n=i().join(j.nJ,"auth","data-key"),o=i().join(j.nJ,"auth","cli-secret"),p="switchboard-at-rest-v1",q=null,r=null;function s(){if(q)return q;try{let a=g().readFileSync(n);if(32===a.length)return q=a}catch{}try{let a=i().join(j.nJ,"machine-id"),b=p;try{b=g().readFileSync(a,"utf8").trim()+p}catch{}q=b===p?e().randomBytes(32):e().createHash("sha256").update(b).digest()}catch{q=e().randomBytes(32)}try{g().mkdirSync(i().dirname(n),{recursive:!0,mode:448}),g().writeFileSync(n,q,{mode:384})}catch{}return q}function t(){let a=function(){if(r)return r;try{if(r=g().readFileSync(o,"utf8").trim()||null)return r}catch{}let a=e().randomBytes(32).toString("hex");try{g().mkdirSync(i().dirname(o),{recursive:!0,mode:448}),g().writeFileSync(o,a,{mode:384,flag:"wx"}),r=a}catch{try{r=g().readFileSync(o,"utf8").trim()||null}catch{r=null}}return r}();return a?e().createHash("sha256").update(s()).update(a,"utf8").digest():null}function u(a){if(null==a||""===a||"string"!=typeof a||a.startsWith(l)||a.startsWith(m))return a;let b=t(),c=b||s(),d=e().randomBytes(12),f=e().createCipheriv(k,c,d),g=Buffer.concat([f.update(a,"utf8"),f.final()]),h=f.getAuthTag();return`${b?m:l}${d.toString("hex")}:${h.toString("hex")}:${g.toString("hex")}`}function v(a){if(null==a||""===a||"string"!=typeof a)return a;let b=a.startsWith(m);if(!b&&!a.startsWith(l))return a;try{let[c,d,f]=a.slice(m.length).split(":");if(!c||!d||!f)return null;let g=b?t():s();if(!g)return null;let h=e().createDecipheriv(k,g,Buffer.from(c,"hex"));return h.setAuthTag(Buffer.from(d,"hex")),h.update(Buffer.from(f,"hex"),void 0,"utf8")+h.final("utf8")}catch{return null}}function w(a){return e().createHash("sha256").update(`sb-key:${a}`).digest("hex")}function x(a){return a&&"string"==typeof a?a.length<=12?a.slice(0,4)+"…":a.slice(0,10)+"…":""}function y(a){return"string"==typeof a&&/^[a-f0-9]{32}$/.test(a)?e().createHash("sha256").update(`sb-key-lookup:${a}`).digest("hex"):null}function z(a){if("string"!=typeof a)return null;let b=a.split("-");return 4===b.length&&"sk"===b[0]&&b[1]&&/^[a-f0-9]{8}$/.test(b[3])?y(b[2]):null}function A(a,b=z(a)){if(!b)return`v1:${x(a)}:${w(a)}`;let c=e().randomBytes(16),d=e().scryptSync(a,c,32,{N:16384,r:8,p:1,maxmem:0x4000000});return`v2:${b}:${x(a)}:${c.toString("hex")}:${d.toString("hex")}`}function B(a){if("string"!=typeof a||!a.startsWith("v2:"))return a;let b=a.split(":");if(5!==b.length||!/^[a-f0-9]{32}$/.test(b[1]))return a;let c=y(b[1]);return`v2:${c}:${b[2]}:${b[3]}:${b[4]}`}function C(a){if(!a||"string"!=typeof a)return{version:0,lookupDigest:null,prefix:"",hash:null,salt:null,legacy:!0,raw:a};let b=B(a),c=b.split(":");return b.startsWith("v2:")&&5===c.length?{version:2,lookupDigest:/^[a-f0-9]{64}$/.test(c[1])?c[1]:null,prefix:c[2],salt:c[3],hash:c[4],legacy:!1,raw:null}:b.startsWith("v2:")&&4===c.length?{version:2,lookupDigest:null,prefix:c[1],salt:c[2],hash:c[3],legacy:!1,raw:null}:b.startsWith("v1:")&&c.length>=3?{version:1,lookupDigest:null,prefix:c[1],salt:null,hash:c.slice(2).join(":"),legacy:!1,raw:null}:{version:0,lookupDigest:z(b),prefix:x(b),hash:null,salt:null,legacy:!0,raw:b}}function D(a,b){if("string"!=typeof a||"string"!=typeof b)return!1;let c=e().createHash("sha256").update(a).digest(),d=e().createHash("sha256").update(b).digest();return e().timingSafeEqual(c,d)}function E(a,b){if(!b||"string"!=typeof b)return!1;let c=C(a);if(c.legacy)return D(String(c.raw||""),b);if(1===c.version)return!!c.hash&&D(c.hash,w(b));if(!c.salt||!c.hash)return!1;try{let a=e().scryptSync(b,Buffer.from(c.salt,"hex"),32,{N:16384,r:8,p:1,maxmem:0x4000000});return D(a.toString("hex"),c.hash)}catch{return!1}}async function F(a,b){if(!b||"string"!=typeof b)return!1;let c=C(a);if(2!==c.version)return E(a,b);if(!c.salt||!c.hash)return!1;try{let a=await new Promise((a,d)=>{e().scrypt(b,Buffer.from(c.salt,"hex"),32,{N:16384,r:8,p:1,maxmem:0x4000000},(b,c)=>{b?d(b):a(c)})});return D(a.toString("hex"),c.hash)}catch{return!1}}},36820:a=>{"use strict";a.exports=require("next/dist/server/lib/incremental-cache/tags-manifest.external.js")},37809:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeHeaderSafe",{enumerable:!0,get:function(){return e}});let c=/[^\t\x20-\x7e]/,d=/[^\t\x20-\x7e]+/g;function e(a){return c.test(a)?a.replace(d,a=>encodeURIComponent(a)):a}},38169:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"DraftModeProvider",{enumerable:!0,get:function(){return e}});let d=c(97010);class e{constructor(a,b,c,e){var f;const g=a&&(0,d.checkIsOnDemandRevalidate)(b,a).isOnDemandRevalidate,h=null==(f=c.get(d.COOKIE_NAME_PRERENDER_BYPASS))?void 0:f.value;this._isEnabled=!!(!g&&h&&a&&h===a.previewModeId),this._previewModeId=null==a?void 0:a.previewModeId,this._mutableCookies=e}get isEnabled(){return this._isEnabled}enable(){if(!this._previewModeId)throw Object.defineProperty(Error("Invariant: previewProps missing previewModeId this should never happen"),"__NEXT_ERROR_CODE",{value:"E93",enumerable:!1,configurable:!0});this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:this._previewModeId,httpOnly:!0,sameSite:"none",secure:!0,path:"/"}),this._isEnabled=!0}disable(){this._mutableCookies.set({name:d.COOKIE_NAME_PRERENDER_BYPASS,value:"",httpOnly:!0,sameSite:"none",secure:!0,path:"/",expires:new Date(0)}),this._isEnabled=!1}}},38742:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={createDynamicBodyError:function(){return f},createDynamicBodyErrorInNavigation:function(){return i},createDynamicMetadataError:function(){return m},createDynamicOrRuntimeBodyError:function(){return j},createDynamicOrRuntimeMetadataError:function(){return r},createDynamicOrRuntimeViewportError:function(){return q},createDynamicViewportError:function(){return p},createLinkBodyErrorInNavigation:function(){return h},createLinkMetadataError:function(){return k},createLinkViewportError:function(){return n},createRuntimeBodyError:function(){return e},createRuntimeBodyErrorInNavigation:function(){return g},createRuntimeMetadataError:function(){return l},createRuntimeViewportError:function(){return o},logBuildDebugHint:function(){return s}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});function e(a){return Object.defineProperty(Error(`Route "${a}": Next.js encountered runtime data during prerendering.
27
27
 
28
28
  \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` accessed outside of \`<Suspense>\` prevents the route from being prerendered, blocking the page load and leading to a slower user experience.
29
29
 
@@ -1 +1 @@
1
- self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/switchboard-router/switchboard-router/src/app/layout":["static/media/d3ebbfd689654d3a-s.p.woff2","static/media/98e207f02528a563-s.p.woff2","static/media/db96af6b531dc71f-s.p.woff2","static/media/26d4368bf94c0ec4-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
1
+ self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/switchboard-router/switchboard-router/src/app/layout":["static/media/0332c089697ea3ad-s.p.woff2","static/media/124eba111847a60f-s.p.woff2","static/media/a03e0948a34ab92a-s.p.woff2","static/media/64bcbd4d7db4ef3a-s.p.woff2","static/media/42c1e8b6f014576e-s.p.woff2","static/media/0202600ddc0c26b4-s.p.woff2","static/media/527eba3de31447ec-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
@@ -1 +1 @@
1
- {"pages":{},"app":{"/home/runner/work/switchboard-router/switchboard-router/src/app/layout":["static/media/d3ebbfd689654d3a-s.p.woff2","static/media/98e207f02528a563-s.p.woff2","static/media/db96af6b531dc71f-s.p.woff2","static/media/26d4368bf94c0ec4-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
1
+ {"pages":{},"app":{"/home/runner/work/switchboard-router/switchboard-router/src/app/layout":["static/media/0332c089697ea3ad-s.p.woff2","static/media/124eba111847a60f-s.p.woff2","static/media/a03e0948a34ab92a-s.p.woff2","static/media/64bcbd4d7db4ef3a-s.p.woff2","static/media/42c1e8b6f014576e-s.p.woff2","static/media/0202600ddc0c26b4-s.p.woff2","static/media/527eba3de31447ec-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="dark fonts-loaded"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/26d4368bf94c0ec4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/98e207f02528a563-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/d3ebbfd689654d3a-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/db96af6b531dc71f-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/5aec38c92e666771.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/0978fa117f5c78e3.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-57b54315eb9fa808.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-83acfce05009cf38.js" async=""></script><script src="/_next/static/chunks/main-app-83fef838b21a8d19.js" async=""></script><script src="/_next/static/chunks/1a258343-33aee1e7d9aa500f.js" async=""></script><script src="/_next/static/chunks/782-3a03a779968fa7a2.js" async=""></script><script src="/_next/static/chunks/8500-74c368e06d70378e.js" async=""></script><script src="/_next/static/chunks/594-5a5c7b405aa92038.js" async=""></script><script src="/_next/static/chunks/6430-4c528cfc35666c11.js" async=""></script><script src="/_next/static/chunks/1321-e736c179ab757d66.js" async=""></script><script src="/_next/static/chunks/4707-8ea6ba647d0a40c9.js" async=""></script><script src="/_next/static/chunks/1330-86c9bc7148028421.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-6dfa9d7deb27d461.js" async=""></script><script src="/_next/static/chunks/app/layout-1cdcf5d484625046.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#16130E"/><title>Switchboard — Intelligent Model Routing</title><meta name="description" content="Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?ff60cffdbfc079d0" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_4eeef7 __variable_aa62b7 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-57b54315eb9fa808.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-33aee1e7d9aa500f.js\",\"782\",\"static/chunks/782-3a03a779968fa7a2.js\",\"8500\",\"static/chunks/8500-74c368e06d70378e.js\",\"594\",\"static/chunks/594-5a5c7b405aa92038.js\",\"6430\",\"static/chunks/6430-4c528cfc35666c11.js\",\"1321\",\"static/chunks/1321-e736c179ab757d66.js\",\"4707\",\"static/chunks/4707-8ea6ba647d0a40c9.js\",\"1330\",\"static/chunks/1330-86c9bc7148028421.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-6dfa9d7deb27d461.js\"],\"ThemeProvider\"]\n3:I[94635,[\"1321\",\"static/chunks/1321-e736c179ab757d66.js\",\"7177\",\"static/chunks/app/layout-1cdcf5d484625046.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/26d4368bf94c0ec4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/98e207f02528a563-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/d3ebbfd689654d3a-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/db96af6b531dc71f-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/5aec38c92e666771.css\",\"style\"]\n:HL[\"/_next/static/css/0978fa117f5c78e3.css\",\"style\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5aec38c92e666771.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/0978fa117f5c78e3.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark fonts-loaded\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_4eeef7 __variable_aa62b7 font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"FRqKbMdZFJJUhaMdpLFMG\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#16130E\"}]]\nf:I[86869,[],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Switchboard — Intelligent Model Routing\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?ff60cffdbfc079d0\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$Lf\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="dark fonts-loaded"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0202600ddc0c26b4-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/0332c089697ea3ad-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/124eba111847a60f-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/42c1e8b6f014576e-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/527eba3de31447ec-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/64bcbd4d7db4ef3a-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a03e0948a34ab92a-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/225b03fdf274c037.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/5c8909d9cd96e270.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0aaec50204921747.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-83acfce05009cf38.js" async=""></script><script src="/_next/static/chunks/main-app-83fef838b21a8d19.js" async=""></script><script src="/_next/static/chunks/1a258343-33aee1e7d9aa500f.js" async=""></script><script src="/_next/static/chunks/782-3a03a779968fa7a2.js" async=""></script><script src="/_next/static/chunks/8500-74c368e06d70378e.js" async=""></script><script src="/_next/static/chunks/594-5a5c7b405aa92038.js" async=""></script><script src="/_next/static/chunks/6430-4c528cfc35666c11.js" async=""></script><script src="/_next/static/chunks/1321-65fa769b26801132.js" async=""></script><script src="/_next/static/chunks/4707-8ea6ba647d0a40c9.js" async=""></script><script src="/_next/static/chunks/1330-e1ec0f07ea113880.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-6dfa9d7deb27d461.js" async=""></script><script src="/_next/static/chunks/app/layout-26e1615874db4cd7.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#16130E"/><title>Switchboard — Intelligent Model Routing</title><meta name="description" content="Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?ff60cffdbfc079d0" type="image/x-icon" sizes="16x16"/><link rel="icon" href="/favicon.svg"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_939b73 __variable_409bfd font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0aaec50204921747.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[21110,[\"3862\",\"static/chunks/1a258343-33aee1e7d9aa500f.js\",\"782\",\"static/chunks/782-3a03a779968fa7a2.js\",\"8500\",\"static/chunks/8500-74c368e06d70378e.js\",\"594\",\"static/chunks/594-5a5c7b405aa92038.js\",\"6430\",\"static/chunks/6430-4c528cfc35666c11.js\",\"1321\",\"static/chunks/1321-65fa769b26801132.js\",\"4707\",\"static/chunks/4707-8ea6ba647d0a40c9.js\",\"1330\",\"static/chunks/1330-e1ec0f07ea113880.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-6dfa9d7deb27d461.js\"],\"ThemeProvider\"]\n3:I[94635,[\"1321\",\"static/chunks/1321-65fa769b26801132.js\",\"7177\",\"static/chunks/app/layout-26e1615874db4cd7.js\"],\"RuntimeI18nProvider\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[90484,[],\"OutletBoundary\"]\n7:\"$Sreact.suspense\"\na:I[90484,[],\"ViewportBoundary\"]\nc:I[90484,[],\"MetadataBoundary\"]\ne:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/0202600ddc0c26b4-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/0332c089697ea3ad-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/124eba111847a60f-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/42c1e8b6f014576e-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/527eba3de31447ec-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/64bcbd4d7db4ef3a-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a03e0948a34ab92a-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/225b03fdf274c037.css\",\"style\"]\n:HL[\"/_next/static/css/5c8909d9cd96e270.css\",\"style\"]\n9:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/225b03fdf274c037.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/5c8909d9cd96e270.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"dark fonts-loaded\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"__variable_939b73 __variable_409bfd font-sans antialiased\",\"children\":[\"$\",\"$L2\",null,{\"children\":[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@8\"}]}]]}],{},null,false,null]},null,false,\"$9\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$La\",null,{\"children\":\"$Lb\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Lc\",null,{\"children\":[\"$\",\"$7\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Ld\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$e\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"hrOBBbHpcMKJGPTNbGPQ-\"}\n9:C\nb:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#16130E\"}]]\nf:I[86869,[],\"IconMark\"]\n8:null\nd:[[\"$\",\"title\",\"0\",{\"children\":\"Switchboard — Intelligent Model Routing\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Route every request to the right model. One OpenAI-compatible endpoint, visible routing decisions, and self-improving combos.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?ff60cffdbfc079d0\",\"type\":\"image/x-icon\",\"sizes\":\"16x16\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$Lf\",\"5\",{}]]\n"])</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-57b54315eb9fa808.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-83acfce05009cf38.js" async=""></script><script src="/_next/static/chunks/main-app-83fef838b21a8d19.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-57b54315eb9fa808.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"FRqKbMdZFJJUhaMdpLFMG\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>
1
+ <!DOCTYPE html><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-0aaec50204921747.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-83acfce05009cf38.js" async=""></script><script src="/_next/static/chunks/main-app-83fef838b21a8d19.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: This page couldn’t load</title><style>:root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }</style><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;display:flex;align-items:center;justify-content:center"><div style="margin-top:-32px;max-width:325px;padding:32px 28px;text-align:left"><svg width="32" height="32" viewBox="-0.2 -1.5 32 32" fill="none" style="margin-bottom:24px"><path d="M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z" fill="var(--next-error-title)"></path></svg><h1 style="font-size:24px;font-weight:500;letter-spacing:-0.02em;line-height:32px;margin:0 0 12px 0;color:var(--next-error-title)">This page couldn’t load</h1><p style="font-size:14px;font-weight:400;line-height:21px;margin:0 0 20px 0;color:var(--next-error-message)">A server error occurred. Reload to try again.</p><form style="margin:0"><button type="submit" style="display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0 12px;font-size:14px;font-weight:500;line-height:20px;border-radius:6px;cursor:pointer;color:var(--next-error-btn-text);background:var(--next-error-btn-bg);border:var(--next-error-btn-border)">Reload</button></form></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-0aaec50204921747.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:I[90484,[],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n7:X\n0:{\"P\":null,\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_global-error\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"500: This page couldn’t load\"}],[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\":root {--next-error-bg: #fff;--next-error-text: #171717;--next-error-title: #171717;--next-error-message: #171717;--next-error-digest: #666666;--next-error-btn-text: #fff;--next-error-btn-bg: #171717;--next-error-btn-border: none;--next-error-btn-secondary-text: #171717;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(0,0,0,0.08);}@media (prefers-color-scheme: dark) {:root {--next-error-bg: #0a0a0a;--next-error-text: #ededed;--next-error-title: #ededed;--next-error-message: #ededed;--next-error-digest: #a0a0a0;--next-error-btn-text: #0a0a0a;--next-error-btn-bg: #ededed;--next-error-btn-border: none;--next-error-btn-secondary-text: #ededed;--next-error-btn-secondary-bg: transparent;--next-error-btn-secondary-border: 1px solid rgba(255,255,255,0.14);}}body { margin: 0; color: var(--next-error-text); background: var(--next-error-bg); }\"}}]]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"display\":\"flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"marginTop\":\"-32px\",\"maxWidth\":\"325px\",\"padding\":\"32px 28px\",\"textAlign\":\"left\"},\"children\":[[\"$\",\"svg\",null,{\"width\":\"32\",\"height\":\"32\",\"viewBox\":\"-0.2 -1.5 32 32\",\"fill\":\"none\",\"style\":{\"marginBottom\":\"24px\"},\"children\":[\"$\",\"path\",null,{\"d\":\"M16.9328 0C18.0839 0.000116771 19.1334 0.658832 19.634 1.69531L31.4299 26.1309C32.0708 27.4588 31.1036 28.9999 29.6291 29H2.00215C0.527541 29 -0.439628 27.4588 0.201371 26.1309L11.9973 1.69531C12.4979 0.658823 13.5474 7.75066e-05 14.6984 0H16.9328ZM3.59493 26H28.0363L16.9328 3H14.6984L3.59493 26ZM15.8156 19C16.9202 19.0001 17.8156 19.8955 17.8156 21C17.8156 22.1045 16.9202 22.9999 15.8156 23C14.7111 23 13.8156 22.1046 13.8156 21C13.8156 19.8954 14.7111 19 15.8156 19ZM17.3156 16.5H14.3156V8.5H17.3156V16.5Z\",\"fill\":\"var(--next-error-title)\"}]}],[\"$\",\"h1\",null,{\"style\":{\"fontSize\":\"24px\",\"fontWeight\":500,\"letterSpacing\":\"-0.02em\",\"lineHeight\":\"32px\",\"margin\":\"0 0 12px 0\",\"color\":\"var(--next-error-title)\"},\"children\":\"This page couldn’t load\"}],[\"$\",\"p\",null,{\"style\":{\"fontSize\":\"14px\",\"fontWeight\":400,\"lineHeight\":\"21px\",\"margin\":\"0 0 20px 0\",\"color\":\"var(--next-error-message)\"},\"children\":\"A server error occurred. Reload to try again.\"}],[\"$\",\"form\",null,{\"style\":{\"margin\":0},\"children\":[\"$\",\"button\",null,{\"type\":\"submit\",\"style\":{\"display\":\"inline-flex\",\"alignItems\":\"center\",\"justifyContent\":\"center\",\"height\":\"32px\",\"padding\":\"0 12px\",\"fontSize\":\"14px\",\"fontWeight\":500,\"lineHeight\":\"20px\",\"borderRadius\":\"6px\",\"cursor\":\"pointer\",\"color\":\"var(--next-error-btn-text)\",\"background\":\"var(--next-error-btn-bg)\",\"border\":\"var(--next-error-btn-border)\"},\"children\":\"Reload\"}]}]]}]}]}]]}],null,[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,null]},null,false,\"$7\"]},null,false,\"$7\"],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"hrOBBbHpcMKJGPTNbGPQ-\"}\n7:C\n9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n6:null\nb:[]\n"])</script></body></html>