@amir83nasr/10router 0.1.10 → 0.1.12

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 (681) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +6 -5
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +23 -23
  5. package/.next/routes-manifest.json +6 -0
  6. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  7. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  9. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  10. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  11. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  13. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  14. package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  15. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  16. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  17. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  18. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +2 -2
  19. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
  20. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -1
  21. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
  22. package/.next/server/app/(dashboard)/dashboard/page.js +1 -1
  23. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  24. package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  25. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  27. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  29. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  31. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  33. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  34. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  35. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  37. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  39. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  41. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app/_global-error/page.js +2 -2
  43. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/_global-error.html +1 -1
  45. package/.next/server/app/_global-error.rsc +1 -1
  46. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  47. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  48. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  49. package/.next/server/app/_not-found/page.js +1 -1
  50. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  51. package/.next/server/app/_not-found.html +1 -1
  52. package/.next/server/app/_not-found.rsc +6 -6
  53. package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  54. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  55. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  56. package/.next/server/app/api/auth/login/route.js +1 -1
  57. package/.next/server/app/api/auth/logout/route.js +1 -1
  58. package/.next/server/app/api/auth/oidc/callback/route.js +1 -1
  59. package/.next/server/app/api/auth/oidc/start/route.js +1 -1
  60. package/.next/server/app/api/auth/oidc/test/route.js +1 -1
  61. package/.next/server/app/api/auth/reset-password/route.js +1 -1
  62. package/.next/server/app/api/auth/saml/acs/route.js +1 -1
  63. package/.next/server/app/api/auth/saml/metadata/route.js +1 -1
  64. package/.next/server/app/api/auth/saml/start/route.js +2 -2
  65. package/.next/server/app/api/auth/saml/test/route.js +1 -1
  66. package/.next/server/app/api/auth/status/route.js +1 -1
  67. package/.next/server/app/api/changelog/route.js +1 -1
  68. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
  69. package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
  70. package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  71. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  72. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  73. package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  74. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
  75. package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  76. package/.next/server/app/api/combos/[id]/route.js +1 -1
  77. package/.next/server/app/api/combos/route.js +1 -1
  78. package/.next/server/app/api/dashboard/chat/completions/route.js +1 -0
  79. package/.next/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -0
  80. package/.next/server/app/api/dashboard/chat/completions/route_client-reference-manifest.js +1 -0
  81. package/.next/server/app/api/headroom/extras/route.js +1 -1
  82. package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  83. package/.next/server/app/api/headroom/restart/route.js +1 -1
  84. package/.next/server/app/api/headroom/start/route.js +1 -1
  85. package/.next/server/app/api/headroom/status/route.js +1 -1
  86. package/.next/server/app/api/headroom/stop/route.js +1 -1
  87. package/.next/server/app/api/health/route.js +1 -1
  88. package/.next/server/app/api/init/route.js +1 -1
  89. package/.next/server/app/api/keys/[id]/route.js +1 -1
  90. package/.next/server/app/api/keys/route.js +1 -1
  91. package/.next/server/app/api/locale/route.js +1 -1
  92. package/.next/server/app/api/mcp/[plugin]/message/route.js +1 -1
  93. package/.next/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  94. package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  95. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  96. package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  97. package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  98. package/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  99. package/.next/server/app/api/models/alias/route.js +1 -1
  100. package/.next/server/app/api/models/availability/route.js +1 -1
  101. package/.next/server/app/api/models/catalog-sync/route.js +1 -1
  102. package/.next/server/app/api/models/custom/route.js +1 -1
  103. package/.next/server/app/api/models/disabled/route.js +1 -1
  104. package/.next/server/app/api/models/route.js +1 -1
  105. package/.next/server/app/api/models/test/route.js +1 -1
  106. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  107. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  108. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  109. package/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  110. package/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  111. package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  112. package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  113. package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  114. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  115. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  116. package/.next/server/app/api/pricing/route.js +1 -1
  117. package/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  118. package/.next/server/app/api/provider-nodes/route.js +1 -1
  119. package/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  120. package/.next/server/app/api/providers/[id]/models/route.js +1 -1
  121. package/.next/server/app/api/providers/[id]/route.js +1 -1
  122. package/.next/server/app/api/providers/[id]/test/route.js +1 -1
  123. package/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  124. package/.next/server/app/api/providers/client/route.js +1 -1
  125. package/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  126. package/.next/server/app/api/providers/route.js +1 -1
  127. package/.next/server/app/api/providers/suggested-models/route.js +1 -1
  128. package/.next/server/app/api/providers/test-batch/route.js +1 -1
  129. package/.next/server/app/api/providers/validate/route.js +1 -1
  130. package/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  131. package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  132. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  133. package/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  134. package/.next/server/app/api/proxy-pools/route.js +1 -1
  135. package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  136. package/.next/server/app/api/pxpipe/health/route.js +1 -1
  137. package/.next/server/app/api/pxpipe/install/route.js +1 -1
  138. package/.next/server/app/api/pxpipe/logs/route.js +1 -1
  139. package/.next/server/app/api/pxpipe/restart/route.js +1 -1
  140. package/.next/server/app/api/pxpipe/start/route.js +1 -1
  141. package/.next/server/app/api/pxpipe/stats/route.js +1 -1
  142. package/.next/server/app/api/pxpipe/status/route.js +1 -1
  143. package/.next/server/app/api/pxpipe/stop/route.js +1 -1
  144. package/.next/server/app/api/settings/database/route.js +1 -1
  145. package/.next/server/app/api/settings/proxy-test/route.js +1 -1
  146. package/.next/server/app/api/settings/require-login/route.js +1 -1
  147. package/.next/server/app/api/settings/route.js +1 -1
  148. package/.next/server/app/api/shutdown/route.js +1 -1
  149. package/.next/server/app/api/tags/route.js +1 -1
  150. package/.next/server/app/api/translator/console-logs/route.js +1 -1
  151. package/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  152. package/.next/server/app/api/translator/load/route.js +1 -1
  153. package/.next/server/app/api/translator/save/route.js +1 -1
  154. package/.next/server/app/api/translator/send/route.js +1 -1
  155. package/.next/server/app/api/translator/translate/route.js +1 -1
  156. package/.next/server/app/api/tunnel/disable/route.js +1 -1
  157. package/.next/server/app/api/tunnel/enable/route.js +1 -1
  158. package/.next/server/app/api/tunnel/status/route.js +1 -1
  159. package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  160. package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  161. package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  162. package/.next/server/app/api/tunnel/tailscale-install/route.js +3 -3
  163. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  164. package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  165. package/.next/server/app/api/usage/chart/route.js +1 -1
  166. package/.next/server/app/api/usage/health/route.js +1 -1
  167. package/.next/server/app/api/usage/history/route.js +1 -1
  168. package/.next/server/app/api/usage/logs/route.js +1 -1
  169. package/.next/server/app/api/usage/providers/route.js +1 -1
  170. package/.next/server/app/api/usage/request-details/route.js +1 -1
  171. package/.next/server/app/api/usage/request-logs/route.js +1 -1
  172. package/.next/server/app/api/usage/stats/route.js +1 -1
  173. package/.next/server/app/api/usage/stream/route.js +2 -2
  174. package/.next/server/app/api/v1/api/chat/route.js +1 -1
  175. package/.next/server/app/api/v1/audio/speech/route.js +1 -1
  176. package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  177. package/.next/server/app/api/v1/audio/voices/route.js +1 -1
  178. package/.next/server/app/api/v1/chat/completions/route.js +1 -1
  179. package/.next/server/app/api/v1/embeddings/route.js +1 -1
  180. package/.next/server/app/api/v1/images/generations/route.js +2 -2
  181. package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  182. package/.next/server/app/api/v1/messages/route.js +1 -1
  183. package/.next/server/app/api/v1/models/[...model]/route.js +1 -1
  184. package/.next/server/app/api/v1/models/info/route.js +1 -1
  185. package/.next/server/app/api/v1/models/route.js +1 -1
  186. package/.next/server/app/api/v1/responses/compact/route.js +1 -1
  187. package/.next/server/app/api/v1/responses/route.js +1 -1
  188. package/.next/server/app/api/v1/route.js +1 -1
  189. package/.next/server/app/api/v1/search/route.js +1 -1
  190. package/.next/server/app/api/v1/systemone/route.js +1 -1
  191. package/.next/server/app/api/v1/videos/[id]/route.js +1 -1
  192. package/.next/server/app/api/v1/videos/edits/route.js +1 -1
  193. package/.next/server/app/api/v1/videos/extensions/route.js +1 -1
  194. package/.next/server/app/api/v1/videos/generations/route.js +1 -1
  195. package/.next/server/app/api/v1/web/fetch/route.js +1 -1
  196. package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  197. package/.next/server/app/api/v1beta/models/route.js +1 -1
  198. package/.next/server/app/api/version/route.js +1 -1
  199. package/.next/server/app/api/version/shutdown/route.js +1 -1
  200. package/.next/server/app/api/version/update/route.js +1 -1
  201. package/.next/server/app/callback/page.js +1 -1
  202. package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  203. package/.next/server/app/callback.html +1 -1
  204. package/.next/server/app/callback.rsc +6 -6
  205. package/.next/server/app/callback.segments/_full.segment.rsc +6 -6
  206. package/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  207. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  208. package/.next/server/app/dashboard/basic-chat.html +1 -1
  209. package/.next/server/app/dashboard/basic-chat.rsc +8 -8
  210. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  211. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  212. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  213. package/.next/server/app/dashboard/cli-tools.html +1 -1
  214. package/.next/server/app/dashboard/cli-tools.rsc +9 -9
  215. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  216. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
  217. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  218. package/.next/server/app/dashboard/combos.html +1 -1
  219. package/.next/server/app/dashboard/combos.rsc +8 -8
  220. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  221. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  222. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  223. package/.next/server/app/dashboard/endpoint.html +1 -1
  224. package/.next/server/app/dashboard/endpoint.rsc +9 -9
  225. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  226. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  227. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  228. package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
  229. package/.next/server/app/dashboard/media-providers/systemone.rsc +8 -8
  230. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +8 -8
  231. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +8 -8
  232. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +2 -2
  233. package/.next/server/app/dashboard/profile.html +1 -1
  234. package/.next/server/app/dashboard/profile.rsc +8 -8
  235. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  236. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  237. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  238. package/.next/server/app/dashboard/providers/new.html +1 -1
  239. package/.next/server/app/dashboard/providers/new.rsc +8 -8
  240. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  241. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  242. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  243. package/.next/server/app/dashboard/providers.html +1 -1
  244. package/.next/server/app/dashboard/providers.rsc +8 -8
  245. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  246. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  247. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  248. package/.next/server/app/dashboard/proxy-pools.html +1 -1
  249. package/.next/server/app/dashboard/proxy-pools.rsc +8 -8
  250. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  251. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  252. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  253. package/.next/server/app/dashboard/pxpipe.html +1 -1
  254. package/.next/server/app/dashboard/pxpipe.rsc +7 -7
  255. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
  256. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  257. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  258. package/.next/server/app/dashboard/quota.html +2 -2
  259. package/.next/server/app/dashboard/quota.rsc +9 -9
  260. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  261. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  262. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  263. package/.next/server/app/dashboard/settings/pricing/page.js +1 -1
  264. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  265. package/.next/server/app/dashboard/settings/pricing.html +1 -1
  266. package/.next/server/app/dashboard/settings/pricing.rsc +6 -6
  267. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  268. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  269. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  270. package/.next/server/app/dashboard/token-saver.html +1 -1
  271. package/.next/server/app/dashboard/token-saver.rsc +7 -7
  272. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
  273. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  274. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  275. package/.next/server/app/dashboard/usage.html +2 -2
  276. package/.next/server/app/dashboard/usage.rsc +8 -8
  277. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  278. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  279. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  280. package/.next/server/app/dashboard.html +1 -1
  281. package/.next/server/app/dashboard.rsc +9 -9
  282. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  283. package/.next/server/app/dashboard.segments/_full.segment.rsc +9 -9
  284. package/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  285. package/.next/server/app/index.html +1 -1
  286. package/.next/server/app/index.rsc +6 -6
  287. package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  288. package/.next/server/app/index.segments/_full.segment.rsc +6 -6
  289. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  290. package/.next/server/app/landing/page.js +1 -1
  291. package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  292. package/.next/server/app/landing.html +1 -1
  293. package/.next/server/app/landing.rsc +6 -6
  294. package/.next/server/app/landing.segments/_full.segment.rsc +6 -6
  295. package/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  296. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  297. package/.next/server/app/login/page.js +1 -1
  298. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  299. package/.next/server/app/login.html +1 -1
  300. package/.next/server/app/login.rsc +6 -6
  301. package/.next/server/app/login.segments/_full.segment.rsc +6 -6
  302. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  303. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
  304. package/.next/server/app/manifest.webmanifest/route.js +2 -2
  305. package/.next/server/app/page.js +1 -1
  306. package/.next/server/app/page_client-reference-manifest.js +1 -1
  307. package/.next/server/app-paths-manifest.json +6 -5
  308. package/.next/server/chunks/1011.js +1 -1
  309. package/.next/server/chunks/1194.js +1 -1
  310. package/.next/server/chunks/1289.js +1 -1
  311. package/.next/server/chunks/1633.js +1 -1
  312. package/.next/server/chunks/1985.js +1 -1
  313. package/.next/server/chunks/2282.js +6 -6
  314. package/.next/server/chunks/2339.js +1 -1
  315. package/.next/server/chunks/2706.js +1 -1
  316. package/.next/server/chunks/2801.js +1 -1
  317. package/.next/server/chunks/3034.js +1 -1
  318. package/.next/server/chunks/3425.js +1 -1
  319. package/.next/server/chunks/4129.js +1 -1
  320. package/.next/server/chunks/6056.js +1 -1
  321. package/.next/server/chunks/7348.js +1 -1
  322. package/.next/server/chunks/7816.js +1 -1
  323. package/.next/server/chunks/9429.js +1 -1
  324. package/.next/server/middleware-build-manifest.js +1 -1
  325. package/.next/server/middleware.js +3 -3
  326. package/.next/server/pages/404.html +1 -1
  327. package/.next/server/pages/500.html +1 -1
  328. package/.next/server/server-reference-manifest.js +1 -1
  329. package/.next/server/server-reference-manifest.json +1 -1
  330. package/.next/static/C423Aljus-j0GJlKCHgC1/_buildManifest.js +1 -0
  331. package/.next/static/chunks/1278-3b5ed69340ddb23f.js +1 -0
  332. package/.next/static/chunks/159-89c77cec422bd76f.js +1 -0
  333. package/.next/static/chunks/2392-b07fcae4714087ef.js +65 -0
  334. package/.next/static/chunks/2441-96064c4ee1216099.js +1 -0
  335. package/.next/static/chunks/{2836-d97f0aa2718945d5.js → 2836-4781ea7374870f4a.js} +1 -1
  336. package/.next/static/chunks/9320-ae7eb68edeb92e89.js +3 -0
  337. package/.next/static/chunks/{9369-0d43b295968c2168.js → 9369-07e432041bb48a39.js} +1 -1
  338. package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-34f4d77aa3df67a8.js +1 -0
  339. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-e8bceccb95695755.js → page-36ad70a4f906c64b.js} +2 -2
  340. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-adee408d9de02423.js → page-aae6be7f75fcd819.js} +1 -1
  341. package/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-d4c1e29e8d038f09.js → page-18212c87b17b33cf.js} +1 -1
  342. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/{page-36c9e8748d6f3f0c.js → page-52b5a6dc2c2d2d93.js} +1 -1
  343. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-9287a3cbd098b9c4.js +1 -0
  344. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/{page-b751d9603cb82e62.js → page-610d962dd8bd1744.js} +1 -1
  345. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/{page-49b3b4867d06cbe0.js → page-9dbf4cd6901b6042.js} +1 -1
  346. package/.next/static/chunks/app/(dashboard)/dashboard/page-1d6e969653676c7d.js +1 -0
  347. package/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-65b2c7989dbe2663.js → page-2ab30b6e1baf1efd.js} +1 -1
  348. package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-d5d480e209fdc55a.js → page-b17607bc2ed06d50.js} +1 -1
  349. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-7977a61350d874d2.js → page-0e649a78a041306a.js} +1 -1
  350. package/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-2396571281d02804.js → page-b10c05192c664e8d.js} +1 -1
  351. package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-cfd6bcb7e55d7d18.js → page-b33051a3fc600082.js} +2 -2
  352. package/.next/static/chunks/app/(dashboard)/dashboard/quota/{page-fef6edb7aafd8bd0.js → page-ee2a0fa91d9bea9c.js} +1 -1
  353. package/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-697f46461825d7fc.js → page-2457f236bc58e590.js} +1 -1
  354. package/.next/static/chunks/app/(dashboard)/{layout-5039502fc12707c9.js → layout-7ef1d599b3c4c6d2.js} +1 -1
  355. package/.next/static/chunks/app/_global-error/page-a826a2eb5dc30149.js +1 -0
  356. package/.next/static/chunks/app/api/auth/login/route-a826a2eb5dc30149.js +1 -0
  357. package/.next/static/chunks/app/api/auth/logout/route-a826a2eb5dc30149.js +1 -0
  358. package/.next/static/chunks/app/api/auth/oidc/callback/route-a826a2eb5dc30149.js +1 -0
  359. package/.next/static/chunks/app/api/auth/oidc/start/route-a826a2eb5dc30149.js +1 -0
  360. package/.next/static/chunks/app/api/auth/oidc/test/route-a826a2eb5dc30149.js +1 -0
  361. package/.next/static/chunks/app/api/auth/reset-password/route-a826a2eb5dc30149.js +1 -0
  362. package/.next/static/chunks/app/api/auth/saml/acs/route-a826a2eb5dc30149.js +1 -0
  363. package/.next/static/chunks/app/api/auth/saml/metadata/route-a826a2eb5dc30149.js +1 -0
  364. package/.next/static/chunks/app/api/auth/saml/start/route-a826a2eb5dc30149.js +1 -0
  365. package/.next/static/chunks/app/api/auth/saml/test/route-a826a2eb5dc30149.js +1 -0
  366. package/.next/static/chunks/app/api/auth/status/route-a826a2eb5dc30149.js +1 -0
  367. package/.next/static/chunks/app/api/changelog/route-a826a2eb5dc30149.js +1 -0
  368. package/.next/static/chunks/app/api/cli-tools/all-statuses/route-a826a2eb5dc30149.js +1 -0
  369. package/.next/static/chunks/app/api/cli-tools/claude-settings/route-a826a2eb5dc30149.js +1 -0
  370. package/.next/static/chunks/app/api/cli-tools/codex-settings/route-a826a2eb5dc30149.js +1 -0
  371. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a826a2eb5dc30149.js +1 -0
  372. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a826a2eb5dc30149.js +1 -0
  373. package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-a826a2eb5dc30149.js +1 -0
  374. package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-a826a2eb5dc30149.js +1 -0
  375. package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-a826a2eb5dc30149.js +1 -0
  376. package/.next/static/chunks/app/api/combos/[id]/route-a826a2eb5dc30149.js +1 -0
  377. package/.next/static/chunks/app/api/combos/route-a826a2eb5dc30149.js +1 -0
  378. package/.next/static/chunks/app/api/dashboard/chat/completions/route-a826a2eb5dc30149.js +1 -0
  379. package/.next/static/chunks/app/api/headroom/extras/route-a826a2eb5dc30149.js +1 -0
  380. package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-a826a2eb5dc30149.js +1 -0
  381. package/.next/static/chunks/app/api/headroom/restart/route-a826a2eb5dc30149.js +1 -0
  382. package/.next/static/chunks/app/api/headroom/start/route-a826a2eb5dc30149.js +1 -0
  383. package/.next/static/chunks/app/api/headroom/status/route-a826a2eb5dc30149.js +1 -0
  384. package/.next/static/chunks/app/api/headroom/stop/route-a826a2eb5dc30149.js +1 -0
  385. package/.next/static/chunks/app/api/health/route-a826a2eb5dc30149.js +1 -0
  386. package/.next/static/chunks/app/api/init/route-a826a2eb5dc30149.js +1 -0
  387. package/.next/static/chunks/app/api/keys/[id]/route-a826a2eb5dc30149.js +1 -0
  388. package/.next/static/chunks/app/api/keys/route-a826a2eb5dc30149.js +1 -0
  389. package/.next/static/chunks/app/api/locale/route-a826a2eb5dc30149.js +1 -0
  390. package/.next/static/chunks/app/api/mcp/[plugin]/message/route-a826a2eb5dc30149.js +1 -0
  391. package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-a826a2eb5dc30149.js +1 -0
  392. package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a826a2eb5dc30149.js +1 -0
  393. package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a826a2eb5dc30149.js +1 -0
  394. package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-a826a2eb5dc30149.js +1 -0
  395. package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-a826a2eb5dc30149.js +1 -0
  396. package/.next/static/chunks/app/api/media-providers/tts/voices/route-a826a2eb5dc30149.js +1 -0
  397. package/.next/static/chunks/app/api/models/alias/route-a826a2eb5dc30149.js +1 -0
  398. package/.next/static/chunks/app/api/models/availability/route-a826a2eb5dc30149.js +1 -0
  399. package/.next/static/chunks/app/api/models/catalog-sync/route-a826a2eb5dc30149.js +1 -0
  400. package/.next/static/chunks/app/api/models/custom/route-a826a2eb5dc30149.js +1 -0
  401. package/.next/static/chunks/app/api/models/disabled/route-a826a2eb5dc30149.js +1 -0
  402. package/.next/static/chunks/app/api/models/route-a826a2eb5dc30149.js +1 -0
  403. package/.next/static/chunks/app/api/models/test/route-a826a2eb5dc30149.js +1 -0
  404. package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-a826a2eb5dc30149.js +1 -0
  405. package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-a826a2eb5dc30149.js +1 -0
  406. package/.next/static/chunks/app/api/oauth/codex/import-token/route-a826a2eb5dc30149.js +1 -0
  407. package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-a826a2eb5dc30149.js +1 -0
  408. package/.next/static/chunks/app/api/oauth/cursor/import/route-a826a2eb5dc30149.js +1 -0
  409. package/.next/static/chunks/app/api/oauth/gitlab/pat/route-a826a2eb5dc30149.js +1 -0
  410. package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-a826a2eb5dc30149.js +1 -0
  411. package/.next/static/chunks/app/api/oauth/iflow/cookie/route-a826a2eb5dc30149.js +1 -0
  412. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-a826a2eb5dc30149.js +1 -0
  413. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-a826a2eb5dc30149.js +1 -0
  414. package/.next/static/chunks/app/api/pricing/route-a826a2eb5dc30149.js +1 -0
  415. package/.next/static/chunks/app/api/provider-nodes/[id]/route-a826a2eb5dc30149.js +1 -0
  416. package/.next/static/chunks/app/api/provider-nodes/route-a826a2eb5dc30149.js +1 -0
  417. package/.next/static/chunks/app/api/provider-nodes/validate/route-a826a2eb5dc30149.js +1 -0
  418. package/.next/static/chunks/app/api/providers/[id]/models/route-a826a2eb5dc30149.js +1 -0
  419. package/.next/static/chunks/app/api/providers/[id]/route-a826a2eb5dc30149.js +1 -0
  420. package/.next/static/chunks/app/api/providers/[id]/test/route-a826a2eb5dc30149.js +1 -0
  421. package/.next/static/chunks/app/api/providers/[id]/test-models/route-a826a2eb5dc30149.js +1 -0
  422. package/.next/static/chunks/app/api/providers/client/route-a826a2eb5dc30149.js +1 -0
  423. package/.next/static/chunks/app/api/providers/kilo/free-models/route-a826a2eb5dc30149.js +1 -0
  424. package/.next/static/chunks/app/api/providers/route-a826a2eb5dc30149.js +1 -0
  425. package/.next/static/chunks/app/api/providers/suggested-models/route-a826a2eb5dc30149.js +1 -0
  426. package/.next/static/chunks/app/api/providers/test-batch/route-a826a2eb5dc30149.js +1 -0
  427. package/.next/static/chunks/app/api/providers/validate/route-a826a2eb5dc30149.js +1 -0
  428. package/.next/static/chunks/app/api/proxy-pools/[id]/route-a826a2eb5dc30149.js +1 -0
  429. package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-a826a2eb5dc30149.js +1 -0
  430. package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a826a2eb5dc30149.js +1 -0
  431. package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-a826a2eb5dc30149.js +1 -0
  432. package/.next/static/chunks/app/api/proxy-pools/route-a826a2eb5dc30149.js +1 -0
  433. package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-a826a2eb5dc30149.js +1 -0
  434. package/.next/static/chunks/app/api/pxpipe/health/route-a826a2eb5dc30149.js +1 -0
  435. package/.next/static/chunks/app/api/pxpipe/install/route-a826a2eb5dc30149.js +1 -0
  436. package/.next/static/chunks/app/api/pxpipe/logs/route-a826a2eb5dc30149.js +1 -0
  437. package/.next/static/chunks/app/api/pxpipe/restart/route-a826a2eb5dc30149.js +1 -0
  438. package/.next/static/chunks/app/api/pxpipe/start/route-a826a2eb5dc30149.js +1 -0
  439. package/.next/static/chunks/app/api/pxpipe/stats/route-a826a2eb5dc30149.js +1 -0
  440. package/.next/static/chunks/app/api/pxpipe/status/route-a826a2eb5dc30149.js +1 -0
  441. package/.next/static/chunks/app/api/pxpipe/stop/route-a826a2eb5dc30149.js +1 -0
  442. package/.next/static/chunks/app/api/settings/database/route-a826a2eb5dc30149.js +1 -0
  443. package/.next/static/chunks/app/api/settings/proxy-test/route-a826a2eb5dc30149.js +1 -0
  444. package/.next/static/chunks/app/api/settings/require-login/route-a826a2eb5dc30149.js +1 -0
  445. package/.next/static/chunks/app/api/settings/route-a826a2eb5dc30149.js +1 -0
  446. package/.next/static/chunks/app/api/shutdown/route-a826a2eb5dc30149.js +1 -0
  447. package/.next/static/chunks/app/api/tags/route-a826a2eb5dc30149.js +1 -0
  448. package/.next/static/chunks/app/api/translator/console-logs/route-a826a2eb5dc30149.js +1 -0
  449. package/.next/static/chunks/app/api/translator/console-logs/stream/route-a826a2eb5dc30149.js +1 -0
  450. package/.next/static/chunks/app/api/translator/load/route-a826a2eb5dc30149.js +1 -0
  451. package/.next/static/chunks/app/api/translator/save/route-a826a2eb5dc30149.js +1 -0
  452. package/.next/static/chunks/app/api/translator/send/route-a826a2eb5dc30149.js +1 -0
  453. package/.next/static/chunks/app/api/translator/translate/route-a826a2eb5dc30149.js +1 -0
  454. package/.next/static/chunks/app/api/tunnel/disable/route-a826a2eb5dc30149.js +1 -0
  455. package/.next/static/chunks/app/api/tunnel/enable/route-a826a2eb5dc30149.js +1 -0
  456. package/.next/static/chunks/app/api/tunnel/status/route-a826a2eb5dc30149.js +1 -0
  457. package/.next/static/chunks/app/api/tunnel/tailscale-check/route-a826a2eb5dc30149.js +1 -0
  458. package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-a826a2eb5dc30149.js +1 -0
  459. package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-a826a2eb5dc30149.js +1 -0
  460. package/.next/static/chunks/app/api/tunnel/tailscale-install/route-a826a2eb5dc30149.js +1 -0
  461. package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-a826a2eb5dc30149.js +1 -0
  462. package/.next/static/chunks/app/api/usage/[connectionId]/route-a826a2eb5dc30149.js +1 -0
  463. package/.next/static/chunks/app/api/usage/chart/route-a826a2eb5dc30149.js +1 -0
  464. package/.next/static/chunks/app/api/usage/health/route-a826a2eb5dc30149.js +1 -0
  465. package/.next/static/chunks/app/api/usage/history/route-a826a2eb5dc30149.js +1 -0
  466. package/.next/static/chunks/app/api/usage/logs/route-a826a2eb5dc30149.js +1 -0
  467. package/.next/static/chunks/app/api/usage/providers/route-a826a2eb5dc30149.js +1 -0
  468. package/.next/static/chunks/app/api/usage/request-details/route-a826a2eb5dc30149.js +1 -0
  469. package/.next/static/chunks/app/api/usage/request-logs/route-a826a2eb5dc30149.js +1 -0
  470. package/.next/static/chunks/app/api/usage/stats/route-a826a2eb5dc30149.js +1 -0
  471. package/.next/static/chunks/app/api/usage/stream/route-a826a2eb5dc30149.js +1 -0
  472. package/.next/static/chunks/app/api/v1/api/chat/route-a826a2eb5dc30149.js +1 -0
  473. package/.next/static/chunks/app/api/v1/audio/speech/route-a826a2eb5dc30149.js +1 -0
  474. package/.next/static/chunks/app/api/v1/audio/transcriptions/route-a826a2eb5dc30149.js +1 -0
  475. package/.next/static/chunks/app/api/v1/audio/voices/route-a826a2eb5dc30149.js +1 -0
  476. package/.next/static/chunks/app/api/v1/chat/completions/route-a826a2eb5dc30149.js +1 -0
  477. package/.next/static/chunks/app/api/v1/embeddings/route-a826a2eb5dc30149.js +1 -0
  478. package/.next/static/chunks/app/api/v1/images/generations/route-a826a2eb5dc30149.js +1 -0
  479. package/.next/static/chunks/app/api/v1/messages/count_tokens/route-a826a2eb5dc30149.js +1 -0
  480. package/.next/static/chunks/app/api/v1/messages/route-a826a2eb5dc30149.js +1 -0
  481. package/.next/static/chunks/app/api/v1/models/[...model]/route-a826a2eb5dc30149.js +1 -0
  482. package/.next/static/chunks/app/api/v1/models/info/route-a826a2eb5dc30149.js +1 -0
  483. package/.next/static/chunks/app/api/v1/models/route-a826a2eb5dc30149.js +1 -0
  484. package/.next/static/chunks/app/api/v1/responses/compact/route-a826a2eb5dc30149.js +1 -0
  485. package/.next/static/chunks/app/api/v1/responses/route-a826a2eb5dc30149.js +1 -0
  486. package/.next/static/chunks/app/api/v1/route-a826a2eb5dc30149.js +1 -0
  487. package/.next/static/chunks/app/api/v1/search/route-a826a2eb5dc30149.js +1 -0
  488. package/.next/static/chunks/app/api/v1/systemone/route-a826a2eb5dc30149.js +1 -0
  489. package/.next/static/chunks/app/api/v1/videos/[id]/route-a826a2eb5dc30149.js +1 -0
  490. package/.next/static/chunks/app/api/v1/videos/edits/route-a826a2eb5dc30149.js +1 -0
  491. package/.next/static/chunks/app/api/v1/videos/extensions/route-a826a2eb5dc30149.js +1 -0
  492. package/.next/static/chunks/app/api/v1/videos/generations/route-a826a2eb5dc30149.js +1 -0
  493. package/.next/static/chunks/app/api/v1/web/fetch/route-a826a2eb5dc30149.js +1 -0
  494. package/.next/static/chunks/app/api/v1beta/models/[...path]/route-a826a2eb5dc30149.js +1 -0
  495. package/.next/static/chunks/app/api/v1beta/models/route-a826a2eb5dc30149.js +1 -0
  496. package/.next/static/chunks/app/api/version/route-a826a2eb5dc30149.js +1 -0
  497. package/.next/static/chunks/app/api/version/shutdown/route-a826a2eb5dc30149.js +1 -0
  498. package/.next/static/chunks/app/api/version/update/route-a826a2eb5dc30149.js +1 -0
  499. package/.next/static/chunks/app/{layout-8de830cad461f2bd.js → layout-f34e075b1872747e.js} +1 -1
  500. package/.next/static/chunks/app/manifest.webmanifest/route-a826a2eb5dc30149.js +1 -0
  501. package/.next/static/chunks/app/page-a826a2eb5dc30149.js +1 -0
  502. package/.next/static/chunks/next/dist/client/components/builtin/app-error-a826a2eb5dc30149.js +1 -0
  503. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-a826a2eb5dc30149.js +1 -0
  504. package/.next/static/chunks/next/dist/client/components/builtin/not-found-a826a2eb5dc30149.js +1 -0
  505. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a826a2eb5dc30149.js +1 -0
  506. package/.next/static/css/{c66cbd684164cacf.css → a2628e64fa8ac12e.css} +1 -1
  507. package/CHANGELOG.md +14 -0
  508. package/bin/update-check.mjs +28 -5
  509. package/open-sse/providers/registry/opencode-go.js +4 -0
  510. package/open-sse/providers/registry/opencode-zen.js +4 -0
  511. package/open-sse/providers/registry/opencode.js +3 -0
  512. package/open-sse/translator/concerns/thinkingUnified.js +16 -1
  513. package/open-sse/translator/concerns/toolCall.js +2 -1
  514. package/open-sse/translator/formats/openai.js +10 -2
  515. package/open-sse/translator/request/claude-to-openai.js +9 -5
  516. package/open-sse/translator/response/openai-to-claude.js +66 -32
  517. package/open-sse/translator/schema/defaults.js +6 -0
  518. package/open-sse/translator/schema/index.js +1 -1
  519. package/package.json +2 -1
  520. package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx +45 -7
  521. package/src/app/api/dashboard/chat/completions/route.ts +45 -0
  522. package/src/app/globals.css +54 -13
  523. package/src/components/app-sidebar.tsx +1 -0
  524. package/src/shared/components/Header.tsx +8 -0
  525. package/.next/static/DaBuw8hGFuPycdhSV3GrJ/_buildManifest.js +0 -1
  526. package/.next/static/chunks/1278-233a1472e792bb65.js +0 -1
  527. package/.next/static/chunks/159-ec207a220d7d5c16.js +0 -1
  528. package/.next/static/chunks/1699-49be310981e2759e.js +0 -67
  529. package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-ce1364b2b9589785.js +0 -1
  530. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-67516b120adbc4d7.js +0 -1
  531. package/.next/static/chunks/app/(dashboard)/dashboard/page-315c9f52c472a700.js +0 -1
  532. package/.next/static/chunks/app/_global-error/page-9a2a13ac6b89ba91.js +0 -1
  533. package/.next/static/chunks/app/api/auth/login/route-9a2a13ac6b89ba91.js +0 -1
  534. package/.next/static/chunks/app/api/auth/logout/route-9a2a13ac6b89ba91.js +0 -1
  535. package/.next/static/chunks/app/api/auth/oidc/callback/route-9a2a13ac6b89ba91.js +0 -1
  536. package/.next/static/chunks/app/api/auth/oidc/start/route-9a2a13ac6b89ba91.js +0 -1
  537. package/.next/static/chunks/app/api/auth/oidc/test/route-9a2a13ac6b89ba91.js +0 -1
  538. package/.next/static/chunks/app/api/auth/reset-password/route-9a2a13ac6b89ba91.js +0 -1
  539. package/.next/static/chunks/app/api/auth/saml/acs/route-9a2a13ac6b89ba91.js +0 -1
  540. package/.next/static/chunks/app/api/auth/saml/metadata/route-9a2a13ac6b89ba91.js +0 -1
  541. package/.next/static/chunks/app/api/auth/saml/start/route-9a2a13ac6b89ba91.js +0 -1
  542. package/.next/static/chunks/app/api/auth/saml/test/route-9a2a13ac6b89ba91.js +0 -1
  543. package/.next/static/chunks/app/api/auth/status/route-9a2a13ac6b89ba91.js +0 -1
  544. package/.next/static/chunks/app/api/changelog/route-9a2a13ac6b89ba91.js +0 -1
  545. package/.next/static/chunks/app/api/cli-tools/all-statuses/route-9a2a13ac6b89ba91.js +0 -1
  546. package/.next/static/chunks/app/api/cli-tools/claude-settings/route-9a2a13ac6b89ba91.js +0 -1
  547. package/.next/static/chunks/app/api/cli-tools/codex-settings/route-9a2a13ac6b89ba91.js +0 -1
  548. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9a2a13ac6b89ba91.js +0 -1
  549. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9a2a13ac6b89ba91.js +0 -1
  550. package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-9a2a13ac6b89ba91.js +0 -1
  551. package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-9a2a13ac6b89ba91.js +0 -1
  552. package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-9a2a13ac6b89ba91.js +0 -1
  553. package/.next/static/chunks/app/api/combos/[id]/route-9a2a13ac6b89ba91.js +0 -1
  554. package/.next/static/chunks/app/api/combos/route-9a2a13ac6b89ba91.js +0 -1
  555. package/.next/static/chunks/app/api/headroom/extras/route-9a2a13ac6b89ba91.js +0 -1
  556. package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-9a2a13ac6b89ba91.js +0 -1
  557. package/.next/static/chunks/app/api/headroom/restart/route-9a2a13ac6b89ba91.js +0 -1
  558. package/.next/static/chunks/app/api/headroom/start/route-9a2a13ac6b89ba91.js +0 -1
  559. package/.next/static/chunks/app/api/headroom/status/route-9a2a13ac6b89ba91.js +0 -1
  560. package/.next/static/chunks/app/api/headroom/stop/route-9a2a13ac6b89ba91.js +0 -1
  561. package/.next/static/chunks/app/api/health/route-9a2a13ac6b89ba91.js +0 -1
  562. package/.next/static/chunks/app/api/init/route-9a2a13ac6b89ba91.js +0 -1
  563. package/.next/static/chunks/app/api/keys/[id]/route-9a2a13ac6b89ba91.js +0 -1
  564. package/.next/static/chunks/app/api/keys/route-9a2a13ac6b89ba91.js +0 -1
  565. package/.next/static/chunks/app/api/locale/route-9a2a13ac6b89ba91.js +0 -1
  566. package/.next/static/chunks/app/api/mcp/[plugin]/message/route-9a2a13ac6b89ba91.js +0 -1
  567. package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-9a2a13ac6b89ba91.js +0 -1
  568. package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9a2a13ac6b89ba91.js +0 -1
  569. package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9a2a13ac6b89ba91.js +0 -1
  570. package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-9a2a13ac6b89ba91.js +0 -1
  571. package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-9a2a13ac6b89ba91.js +0 -1
  572. package/.next/static/chunks/app/api/media-providers/tts/voices/route-9a2a13ac6b89ba91.js +0 -1
  573. package/.next/static/chunks/app/api/models/alias/route-9a2a13ac6b89ba91.js +0 -1
  574. package/.next/static/chunks/app/api/models/availability/route-9a2a13ac6b89ba91.js +0 -1
  575. package/.next/static/chunks/app/api/models/catalog-sync/route-9a2a13ac6b89ba91.js +0 -1
  576. package/.next/static/chunks/app/api/models/custom/route-9a2a13ac6b89ba91.js +0 -1
  577. package/.next/static/chunks/app/api/models/disabled/route-9a2a13ac6b89ba91.js +0 -1
  578. package/.next/static/chunks/app/api/models/route-9a2a13ac6b89ba91.js +0 -1
  579. package/.next/static/chunks/app/api/models/test/route-9a2a13ac6b89ba91.js +0 -1
  580. package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9a2a13ac6b89ba91.js +0 -1
  581. package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-9a2a13ac6b89ba91.js +0 -1
  582. package/.next/static/chunks/app/api/oauth/codex/import-token/route-9a2a13ac6b89ba91.js +0 -1
  583. package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9a2a13ac6b89ba91.js +0 -1
  584. package/.next/static/chunks/app/api/oauth/cursor/import/route-9a2a13ac6b89ba91.js +0 -1
  585. package/.next/static/chunks/app/api/oauth/gitlab/pat/route-9a2a13ac6b89ba91.js +0 -1
  586. package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-9a2a13ac6b89ba91.js +0 -1
  587. package/.next/static/chunks/app/api/oauth/iflow/cookie/route-9a2a13ac6b89ba91.js +0 -1
  588. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-9a2a13ac6b89ba91.js +0 -1
  589. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-9a2a13ac6b89ba91.js +0 -1
  590. package/.next/static/chunks/app/api/pricing/route-9a2a13ac6b89ba91.js +0 -1
  591. package/.next/static/chunks/app/api/provider-nodes/[id]/route-9a2a13ac6b89ba91.js +0 -1
  592. package/.next/static/chunks/app/api/provider-nodes/route-9a2a13ac6b89ba91.js +0 -1
  593. package/.next/static/chunks/app/api/provider-nodes/validate/route-9a2a13ac6b89ba91.js +0 -1
  594. package/.next/static/chunks/app/api/providers/[id]/models/route-9a2a13ac6b89ba91.js +0 -1
  595. package/.next/static/chunks/app/api/providers/[id]/route-9a2a13ac6b89ba91.js +0 -1
  596. package/.next/static/chunks/app/api/providers/[id]/test/route-9a2a13ac6b89ba91.js +0 -1
  597. package/.next/static/chunks/app/api/providers/[id]/test-models/route-9a2a13ac6b89ba91.js +0 -1
  598. package/.next/static/chunks/app/api/providers/client/route-9a2a13ac6b89ba91.js +0 -1
  599. package/.next/static/chunks/app/api/providers/kilo/free-models/route-9a2a13ac6b89ba91.js +0 -1
  600. package/.next/static/chunks/app/api/providers/route-9a2a13ac6b89ba91.js +0 -1
  601. package/.next/static/chunks/app/api/providers/suggested-models/route-9a2a13ac6b89ba91.js +0 -1
  602. package/.next/static/chunks/app/api/providers/test-batch/route-9a2a13ac6b89ba91.js +0 -1
  603. package/.next/static/chunks/app/api/providers/validate/route-9a2a13ac6b89ba91.js +0 -1
  604. package/.next/static/chunks/app/api/proxy-pools/[id]/route-9a2a13ac6b89ba91.js +0 -1
  605. package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-9a2a13ac6b89ba91.js +0 -1
  606. package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9a2a13ac6b89ba91.js +0 -1
  607. package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-9a2a13ac6b89ba91.js +0 -1
  608. package/.next/static/chunks/app/api/proxy-pools/route-9a2a13ac6b89ba91.js +0 -1
  609. package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-9a2a13ac6b89ba91.js +0 -1
  610. package/.next/static/chunks/app/api/pxpipe/health/route-9a2a13ac6b89ba91.js +0 -1
  611. package/.next/static/chunks/app/api/pxpipe/install/route-9a2a13ac6b89ba91.js +0 -1
  612. package/.next/static/chunks/app/api/pxpipe/logs/route-9a2a13ac6b89ba91.js +0 -1
  613. package/.next/static/chunks/app/api/pxpipe/restart/route-9a2a13ac6b89ba91.js +0 -1
  614. package/.next/static/chunks/app/api/pxpipe/start/route-9a2a13ac6b89ba91.js +0 -1
  615. package/.next/static/chunks/app/api/pxpipe/stats/route-9a2a13ac6b89ba91.js +0 -1
  616. package/.next/static/chunks/app/api/pxpipe/status/route-9a2a13ac6b89ba91.js +0 -1
  617. package/.next/static/chunks/app/api/pxpipe/stop/route-9a2a13ac6b89ba91.js +0 -1
  618. package/.next/static/chunks/app/api/settings/database/route-9a2a13ac6b89ba91.js +0 -1
  619. package/.next/static/chunks/app/api/settings/proxy-test/route-9a2a13ac6b89ba91.js +0 -1
  620. package/.next/static/chunks/app/api/settings/require-login/route-9a2a13ac6b89ba91.js +0 -1
  621. package/.next/static/chunks/app/api/settings/route-9a2a13ac6b89ba91.js +0 -1
  622. package/.next/static/chunks/app/api/shutdown/route-9a2a13ac6b89ba91.js +0 -1
  623. package/.next/static/chunks/app/api/tags/route-9a2a13ac6b89ba91.js +0 -1
  624. package/.next/static/chunks/app/api/translator/console-logs/route-9a2a13ac6b89ba91.js +0 -1
  625. package/.next/static/chunks/app/api/translator/console-logs/stream/route-9a2a13ac6b89ba91.js +0 -1
  626. package/.next/static/chunks/app/api/translator/load/route-9a2a13ac6b89ba91.js +0 -1
  627. package/.next/static/chunks/app/api/translator/save/route-9a2a13ac6b89ba91.js +0 -1
  628. package/.next/static/chunks/app/api/translator/send/route-9a2a13ac6b89ba91.js +0 -1
  629. package/.next/static/chunks/app/api/translator/translate/route-9a2a13ac6b89ba91.js +0 -1
  630. package/.next/static/chunks/app/api/tunnel/disable/route-9a2a13ac6b89ba91.js +0 -1
  631. package/.next/static/chunks/app/api/tunnel/enable/route-9a2a13ac6b89ba91.js +0 -1
  632. package/.next/static/chunks/app/api/tunnel/status/route-9a2a13ac6b89ba91.js +0 -1
  633. package/.next/static/chunks/app/api/tunnel/tailscale-check/route-9a2a13ac6b89ba91.js +0 -1
  634. package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-9a2a13ac6b89ba91.js +0 -1
  635. package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-9a2a13ac6b89ba91.js +0 -1
  636. package/.next/static/chunks/app/api/tunnel/tailscale-install/route-9a2a13ac6b89ba91.js +0 -1
  637. package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-9a2a13ac6b89ba91.js +0 -1
  638. package/.next/static/chunks/app/api/usage/[connectionId]/route-9a2a13ac6b89ba91.js +0 -1
  639. package/.next/static/chunks/app/api/usage/chart/route-9a2a13ac6b89ba91.js +0 -1
  640. package/.next/static/chunks/app/api/usage/health/route-9a2a13ac6b89ba91.js +0 -1
  641. package/.next/static/chunks/app/api/usage/history/route-9a2a13ac6b89ba91.js +0 -1
  642. package/.next/static/chunks/app/api/usage/logs/route-9a2a13ac6b89ba91.js +0 -1
  643. package/.next/static/chunks/app/api/usage/providers/route-9a2a13ac6b89ba91.js +0 -1
  644. package/.next/static/chunks/app/api/usage/request-details/route-9a2a13ac6b89ba91.js +0 -1
  645. package/.next/static/chunks/app/api/usage/request-logs/route-9a2a13ac6b89ba91.js +0 -1
  646. package/.next/static/chunks/app/api/usage/stats/route-9a2a13ac6b89ba91.js +0 -1
  647. package/.next/static/chunks/app/api/usage/stream/route-9a2a13ac6b89ba91.js +0 -1
  648. package/.next/static/chunks/app/api/v1/api/chat/route-9a2a13ac6b89ba91.js +0 -1
  649. package/.next/static/chunks/app/api/v1/audio/speech/route-9a2a13ac6b89ba91.js +0 -1
  650. package/.next/static/chunks/app/api/v1/audio/transcriptions/route-9a2a13ac6b89ba91.js +0 -1
  651. package/.next/static/chunks/app/api/v1/audio/voices/route-9a2a13ac6b89ba91.js +0 -1
  652. package/.next/static/chunks/app/api/v1/chat/completions/route-9a2a13ac6b89ba91.js +0 -1
  653. package/.next/static/chunks/app/api/v1/embeddings/route-9a2a13ac6b89ba91.js +0 -1
  654. package/.next/static/chunks/app/api/v1/images/generations/route-9a2a13ac6b89ba91.js +0 -1
  655. package/.next/static/chunks/app/api/v1/messages/count_tokens/route-9a2a13ac6b89ba91.js +0 -1
  656. package/.next/static/chunks/app/api/v1/messages/route-9a2a13ac6b89ba91.js +0 -1
  657. package/.next/static/chunks/app/api/v1/models/[...model]/route-9a2a13ac6b89ba91.js +0 -1
  658. package/.next/static/chunks/app/api/v1/models/info/route-9a2a13ac6b89ba91.js +0 -1
  659. package/.next/static/chunks/app/api/v1/models/route-9a2a13ac6b89ba91.js +0 -1
  660. package/.next/static/chunks/app/api/v1/responses/compact/route-9a2a13ac6b89ba91.js +0 -1
  661. package/.next/static/chunks/app/api/v1/responses/route-9a2a13ac6b89ba91.js +0 -1
  662. package/.next/static/chunks/app/api/v1/route-9a2a13ac6b89ba91.js +0 -1
  663. package/.next/static/chunks/app/api/v1/search/route-9a2a13ac6b89ba91.js +0 -1
  664. package/.next/static/chunks/app/api/v1/systemone/route-9a2a13ac6b89ba91.js +0 -1
  665. package/.next/static/chunks/app/api/v1/videos/[id]/route-9a2a13ac6b89ba91.js +0 -1
  666. package/.next/static/chunks/app/api/v1/videos/edits/route-9a2a13ac6b89ba91.js +0 -1
  667. package/.next/static/chunks/app/api/v1/videos/extensions/route-9a2a13ac6b89ba91.js +0 -1
  668. package/.next/static/chunks/app/api/v1/videos/generations/route-9a2a13ac6b89ba91.js +0 -1
  669. package/.next/static/chunks/app/api/v1/web/fetch/route-9a2a13ac6b89ba91.js +0 -1
  670. package/.next/static/chunks/app/api/v1beta/models/[...path]/route-9a2a13ac6b89ba91.js +0 -1
  671. package/.next/static/chunks/app/api/v1beta/models/route-9a2a13ac6b89ba91.js +0 -1
  672. package/.next/static/chunks/app/api/version/route-9a2a13ac6b89ba91.js +0 -1
  673. package/.next/static/chunks/app/api/version/shutdown/route-9a2a13ac6b89ba91.js +0 -1
  674. package/.next/static/chunks/app/api/version/update/route-9a2a13ac6b89ba91.js +0 -1
  675. package/.next/static/chunks/app/manifest.webmanifest/route-9a2a13ac6b89ba91.js +0 -1
  676. package/.next/static/chunks/app/page-9a2a13ac6b89ba91.js +0 -1
  677. package/.next/static/chunks/next/dist/client/components/builtin/app-error-9a2a13ac6b89ba91.js +0 -1
  678. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-9a2a13ac6b89ba91.js +0 -1
  679. package/.next/static/chunks/next/dist/client/components/builtin/not-found-9a2a13ac6b89ba91.js +0 -1
  680. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9a2a13ac6b89ba91.js +0 -1
  681. /package/.next/static/{DaBuw8hGFuPycdhSV3GrJ → C423Aljus-j0GJlKCHgC1}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[159],{13794:(e,i,a)=>{a.d(i,{Q2:()=>k,DI:()=>h,fg:()=>d,MA:()=>y,IS:()=>r,nJ:()=>m,rj:()=>c,zN:()=>p,JH:()=>u,wb:()=>F,br:()=>l,wG:()=>v,zt:()=>b,o5:()=>M,gb:()=>f,mq:()=>g});var t=a(38891);let o="⚠️ 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(t.A.filter(e=>e.display).map(e=>{let i;return[e.id,"RISK_NOTICE"===(i=e.display).deprecationNotice?{...i,deprecationNotice:o}:i]}));let n=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","credentialFallback","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"],s=e=>Object.fromEntries(t.A.filter(i=>i.category===e).map(e=>[e.id,function(e){let i={};for(let a of(e.media&&Object.assign(i,e.media),n))void 0!==e[a]&&(i[a]=e[a]);let a={...e.display||{}};return"RISK_NOTICE"===a.deprecationNotice&&(a.deprecationNotice=o),{...a,id:e.id,alias:e.uiAlias||e.alias,...e.hidden?{hidden:!0}:{},...i,...void 0!==e.priority?{priority:e.priority}:{},...e.hasFree?{hasFree:!0}:{},...e.thinkingConfig?{thinkingConfig:e.thinkingConfig}:{},...e.regions?{regions:e.regions,defaultRegion:e.defaultRegion}:{},...e.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...e.noAuth?{noAuth:!0}:{},...e.passthroughModels?{passthroughModels:!0}:{},...e.hasOAuth?{hasOAuth:!0}:{},...e.authModes?{authModes:e.authModes}:{},...e.authType?{authType:e.authType}:{},...e.authHint?{authHint:e.authHint}:{}}}(e)])),r=s("free"),m=s("freeTier"),p=s("oauth"),d=s("apikey"),l=s("webCookie"),c=[{id:"embedding",label:"Embedding",icon:"data_array",endpoint:{method:"POST",path:"/v1/embeddings"}},{id:"image",label:"Text to Image",icon:"brush",endpoint:{method:"POST",path:"/v1/images/generations"}},{id:"imageToText",label:"Image to Text",icon:"image_search",endpoint:{method:"POST",path:"/v1/images/understanding"}},{id:"tts",label:"Text To Speech",icon:"record_voice_over",endpoint:{method:"POST",path:"/v1/audio/speech"}},{id:"stt",label:"Speech To Text",icon:"mic",endpoint:{method:"POST",path:"/v1/audio/transcriptions"}},{id:"webSearch",label:"Web Search",icon:"travel_explore",endpoint:{method:"POST",path:"/v1/search"}},{id:"webFetch",label:"Web Fetch",icon:"language",endpoint:{method:"POST",path:"/v1/web/fetch"}},{id:"video",label:"Video",icon:"movie",endpoint:{method:"POST",path:"/v1/videos/generations"}},{id:"music",label:"Music",icon:"music_note",endpoint:{method:"POST",path:"/v1/audio/music"}},{id:"systemone",label:"System One",icon:"bolt",endpoint:{method:"POST",path:"/v1/systemone"},isNew:!0}],u="openai-compatible-",h="anthropic-compatible-";function g(e){return"string"==typeof e&&e.startsWith(u)}function f(e){return"string"==typeof e&&e.startsWith(h)}let k={...r,...m,...p,...d,...l},y={oauth:{id:"oauth"},apikey:{id:"apikey"},cookie:{id:"cookie"}};function b(e){for(let i of Object.values(k))if(i.alias===e||i.id===e)return i;return null}function v(e){let i=k[e];return i?.alias||e}function M(e){return Object.values(k).filter(i=>!(!(i.serviceKinds??["llm"]).includes(e)||i.hidden||i.hiddenKinds?.includes(e))).sort((e,i)=>(e.priority??e.mediaPriority??999)-(i.priority??i.mediaPriority??999))}Object.values(k).reduce((e,i)=>(e[i.alias]=i.id,e),{}),Object.values(k).reduce((e,i)=>(e[i.id]=i.alias,e),{});let F=t.A.filter(e=>e.features?.usage).map(e=>e.id);t.A.filter(e=>e.features?.usageApikey).map(e=>e.id)},38891:(e,i,a)=>{a.d(i,{A:()=>m});var t=a(11461);let o={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"};(function(){switch((0,t.arch)()){case"x64":case"arm64":case"ia32":return;default:return(0,t.arch)()}})(),function(){switch((0,t.platform)()){case"darwin":case"win32":case"linux":case"freebsd":return;default:return(0,t.platform)()}}();let n="https://daily-cloudcode-pa.googleapis.com",s="antigravity/ide/2.11.0 darwin/arm64",r="0.154.0",m=[{id:"antigravity",priority:20,alias:"ag",uiAlias:"ag",display:{name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",website:"https://antigravity.google",notice:{signupUrl:"https://antigravity.google"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",serviceKinds:["llm","image","webSearch"],transport:{baseUrls:[n],format:"antigravity",headers:{"User-Agent":s},retry:{429:{attempts:3},500:{attempts:3},503:{attempts:3}},usage:{quotaApiUrl:`${n}/v1internal:fetchAvailableModels`,quotaSummaryApiUrl:`${n}/v1internal:retrieveUserQuotaSummary`,loadProjectApiUrl:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",tokenUrl:"https://oauth2.googleapis.com/token"},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},models:[{id:"gemini-3.8-flash-high",name:"Gemini 3.8 Flash (High)",upstreamModelId:"gemini-3.8-flash-high(high)"},{id:"gemini-3.8-flash-medium",name:"Gemini 3.8 Flash (Medium)",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.8-flash-low",name:"Gemini 3.8 Flash (Low)",upstreamModelId:"gemini-3.8-flash-low(low)"},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",upstreamModelId:"gemini-3.8-flash-medium(medium)"},{id:"gemini-3.7-flash-high",name:"Gemini 3.7 Flash (High)",upstreamModelId:"gemini-3.7-flash-tiered(high)"},{id:"gemini-3.7-flash-medium",name:"Gemini 3.7 Flash (Medium)",upstreamModelId:"gemini-3.7-flash-tiered(medium)"},{id:"gemini-3.7-flash-low",name:"Gemini 3.7 Flash (Low)",upstreamModelId:"gemini-3.7-flash-tiered(low)"},{id:"gemini-3.6-flash-high",name:"Gemini 3.6 Flash (High)",upstreamModelId:"gemini-3.6-flash-tiered(high)"},{id:"gemini-3.6-flash-medium",name:"Gemini 3.6 Flash (Medium)",upstreamModelId:"gemini-3.6-flash-tiered(medium)"},{id:"gemini-3.6-flash-low",name:"Gemini 3.6 Flash (Low)",upstreamModelId:"gemini-3.6-flash-tiered(low)"},{id:"gemini-3.5-flash-high",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3-flash-agent",name:"Gemini 3.5 Flash (High)"},{id:"gemini-3.5-flash-low",name:"Gemini 3.5 Flash (Medium)"},{id:"gemini-3.5-flash-extra-low",name:"Gemini 3.5 Flash (Low)"},{id:"gemini-pro-agent",name:"Gemini 3.1 Pro (High)"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro (Low)"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6 (Thinking)"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 (Thinking)"},{id:"gpt-oss-120b-medium",name:"GPT-OSS 120B (Medium)"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"gemini-3.1-flash-image",name:"Gemini 3.1 Flash (Image)",kind:"image",imageGen:!0,capabilities:["textToImage"]}],oauth:{authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://daily-cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:s,refreshLeadMs:3e5},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:`${n}/v1internal:generateContent`,freeTier:"Free — Google Search grounding through an Antigravity OAuth account."},features:{usage:!0}},{id:"claude",priority:10,alias:"cc",uiAlias:"cc",display:{name:"Claude Code",icon:"smart_toy",color:"#D97757",website:"https://claude.ai",notice:{signupUrl:"https://claude.ai"},deprecated:!0,deprecationNotice:"RISK_NOTICE"},category:"oauth",transport:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.258 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":"arm64","X-Stainless-Os":"MacOS","X-Stainless-Timeout":"600"},quirks:{cloakToolsOnOAuth:!0},auth:{apiKey:{header:"x-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}},usage:{oauthUrl:"https://api.anthropic.com/api/oauth/usage",orgUrl:"https://api.anthropic.com/v1/organizations/{org_id}/usage",settingsUrl:"https://api.anthropic.com/v1/settings"}},models:[{id:"claude-opus-5",name:"Claude Opus 5"},{id:"claude-fable-5-1",name:"Claude Fable 5.1"},{id:"claude-fable-5",name:"Claude Fable 5"},{id:"claude-sonnet-5",name:"Claude Sonnet 5"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],oauth:{clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256",refreshLeadMs:144e5,refresh:{encoding:"json"}},features:{usage:!0}},{id:"codex",priority:30,alias:"cx",uiAlias:"cx",display:{name:"OpenAI Codex",icon:"code",color:"#3B82F6",website:"https://chatgpt.com/codex",notice:{signupUrl:"https://chatgpt.com/codex"},deprecated:!0,deprecationNotice:"RISK_NOTICE",kindNotice:{image:"Requires a ChatGPT Plus (or higher) account. Free accounts are not supported for image generation."}},category:"oauth",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",forceStream:!0,cliVersion:r,headers:{originator:"codex_cli_rs","User-Agent":`codex_cli_rs/${r}`},usage:{url:"https://chatgpt.com/backend-api/wham/usage",resetCreditsUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits",resetCreditsConsumeUrl:"https://chatgpt.com/backend-api/wham/rate-limit-reset-credits/consume"}},models:[{id:"gpt-6-astra",name:"GPT 6.0 Astra"},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol"},{id:"gpt-5.6-sol-review",name:"GPT 5.6 Sol Review",upstreamModelId:"gpt-5.6-sol",quotaFamily:"review"},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra"},{id:"gpt-5.6-terra-review",name:"GPT 5.6 Terra Review",upstreamModelId:"gpt-5.6-terra",quotaFamily:"review"},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna"},{id:"gpt-5.6-luna-review",name:"GPT 5.6 Luna Review",upstreamModelId:"gpt-5.6-luna",quotaFamily:"review"},{id:"gpt-5.5",name:"GPT 5.5"},{id:"gpt-5.5-review",name:"GPT 5.5 Review",upstreamModelId:"gpt-5.5",quotaFamily:"review"},{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.4-review",name:"GPT 5.4 Review",upstreamModelId:"gpt-5.4",quotaFamily:"review"},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini"},{id:"gpt-5.4-mini-review",name:"GPT 5.4 Mini Review",upstreamModelId:"gpt-5.4-mini",quotaFamily:"review"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.3-codex-spark-review",name:"GPT 5.3 Codex Spark Review",upstreamModelId:"gpt-5.3-codex-spark",quotaFamily:"review"},{id:"codex-auto-review",name:"Codex Auto Review",upstreamModelId:"codex-auto-review",quotaFamily:"review"},{id:"gpt-image-2.5",name:"GPT Image 2.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-2",name:"GPT Image 2",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-image-1.5",name:"GPT Image 1.5",capabilities:["text2img","edit","multiImage"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-sol-image",name:"GPT 5.6 Sol Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-terra-image",name:"GPT 5.6 Terra Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.6-luna-image",name:"GPT 5.6 Luna Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.5-image",name:"GPT 5.5 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.4-image",name:"GPT 5.4 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"},{id:"gpt-5.3-image",name:"GPT 5.3 Image",capabilities:["text2img","edit"],params:["size","quality","background","image_detail","output_format"],kind:"image"}],serviceKinds:["llm","image"],oauth:{clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",fixedPort:1455,callbackPath:"/auth/callback",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"},refreshLeadMs:432e6,refresh:{encoding:"form",scope:"openid profile email offline_access"},maxRefreshAgeMs:6912e5,trackRefreshAt:!0},features:{usage:!0}},{id:"cursor",priority:50,alias:"cu",uiAlias:"cu",display:{name:"Cursor IDE",icon:"edit_note",color:"#00D4AA",website:"https://cursor.com",notice:{signupUrl:"https://cursor.com"}},category:"oauth",transport:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.12.17"},models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],oauth:{apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/agent.v1.AgentService/GetUsableModels",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.12.17",clientType:"ide",dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}}},{id:"deepseek",priority:110,alias:"deepseek",aliases:["ds"],uiAlias:"ds",display:{name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com",notice:{apiKeyUrl:"https://platform.deepseek.com/api_keys"}},category:"apikey",transport:{baseUrl:"https://api.deepseek.com/chat/completions",validateUrl:"https://api.deepseek.com/models",reasoningInject:{scope:"all"},quirks:{claudeSupportedToolTypes:["web_search_20250305","web_search_20260209"]}},transports:[{format:"openai",baseUrl:"https://api.deepseek.com/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.deepseek.com/anthropic/v1/messages",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro"},{id:"deepseek-v4-pro-max",name:"DeepSeek V4 Pro Max",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4-pro-none",name:"DeepSeek V4 Pro No Thinking",upstreamModelId:"deepseek-v4-pro"},{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash"},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash"},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)"},{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],features:{usage:!0,usageApikey:!0}},{id:"fish-audio",alias:"fish",display:{name:"Fish Audio",icon:"record_voice_over",color:"#1E9BF0",textIcon:"FA",website:"https://fish.audio",notice:{apiKeyUrl:"https://fish.audio/app/api-keys/"}},category:"apikey",authType:"apikey",serviceKinds:["tts"],ttsConfig:{baseUrl:"https://api.fish.audio/v1/tts",authType:"apikey",authHeader:"bearer",format:"fish-audio",models:[{id:"s2.1-pro-free",name:"S2.1 Pro Free"},{id:"s2.1-pro",name:"S2.1 Pro"},{id:"s2-pro",name:"S2 Pro"},{id:"s1",name:"S1"}]}},{id:"gemini",priority:50,hasFree:!0,alias:"gemini",display:{name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",notice:{apiKeyUrl:"https://aistudio.google.com/app/apikey"}},category:"freeTier",authType:"apikey",authModes:["apikey"],mediaPriority:1,transport:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",auth:{apiKey:{header:"x-goog-api-key",scheme:"raw"},oauth:{header:"Authorization",scheme:"bearer"}}},models:[{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash"},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash"},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash"},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",kind:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",kind:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",kind:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",kind:"embedding"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image (Nano Banana 2)",params:[],kind:"image"},{id:"gemini-3-pro-image-preview",name:"Gemini 3 Pro Image (Nano Banana Pro)",params:[],kind:"image"},{id:"gemini-2.5-flash-image",name:"Gemini 2.5 Flash Image (Nano Banana)",params:[],kind:"image"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Best)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite (Cheapest)",params:["language","prompt"],kind:"stt"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",params:["language","prompt"],kind:"stt"},{id:"gemini-3.1-flash-tts-preview",name:"Gemini 3.1 Flash TTS",kind:"tts"},{id:"gemini-2.5-flash-preview-tts",name:"Gemini 2.5 Flash TTS",kind:"tts"},{id:"gemini-2.5-pro-preview-tts",name:"Gemini 2.5 Pro TTS",kind:"tts"},{id:"embedding-001",name:"Embedding 001",dimensions:768,kind:"embedding"}],serviceKinds:["llm","embedding","image","imageToText","webSearch","tts","stt"],ttsConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-tts"},sttConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key",format:"gemini-stt"},embeddingConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",authType:"apikey",authHeader:"key"},imageConfig:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models"},searchViaChat:{defaultModel:"gemini-2.5-flash",endpoint:"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent",pricingUrl:"https://ai.google.dev/pricing",freeTier:"Free tier: 15 RPM, 1M tokens/day on gemini-2.5-flash via AI Studio."}},{id:"glm-cn",priority:130,alias:"glm-cn",display:{name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",headers:{},usage:{url:"https://open.bigmodel.cn/api/monitor/usage/quota/limit"}},models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],features:{usage:!0,usageApikey:!0}},{id:"glm",priority:140,alias:"glm",display:{name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn",notice:{apiKeyUrl:"https://open.bigmodel.cn/usercenter/apikeys"}},category:"apikey",transport:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{url:"https://api.z.ai/api/monitor/usage/quota/limit"}},transports:[{format:"openai",baseUrl:"https://api.z.ai/api/coding/paas/v4/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"glm-5.3",name:"GLM 5.3"},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)"},{id:"glm-5.2",name:"GLM 5.2"},{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],serviceKinds:["llm","webSearch"],searchConfig:{baseUrl:"https://api.z.ai/api/mcp/web_search_prime/mcp",method:"POST",authType:"apikey",authHeader:"bearer",costPerQuery:0,searchTypes:["web"],defaultMaxResults:5,maxMaxResults:50,timeoutMs:1e4,cacheTTLMs:3e5},features:{usage:!0,usageApikey:!0}},{id:"groq",priority:60,hasFree:!0,alias:"groq",display:{name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com",notice:{apiKeyUrl:"https://console.groq.com/keys"}},category:"apikey",transport:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",validateUrl:"https://api.groq.com/openai/v1/models",usage:{url:"https://api.groq.com/openai/v1/models"}},models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"},{id:"whisper-large-v3",name:"Whisper Large v3",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"whisper-large-v3-turbo",name:"Whisper Large v3 Turbo",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"distil-whisper-large-v3-en",name:"Distil Whisper Large v3 EN",params:["language","response_format","temperature","prompt"],kind:"stt"}],serviceKinds:["llm","imageToText","stt"],sttConfig:{baseUrl:"https://api.groq.com/openai/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},features:{usage:!0,usageApikey:!0}},{id:"huggingface",priority:70,hasFree:!0,alias:"huggingface",aliases:["hf"],uiAlias:"hf",display:{name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",notice:{apiKeyUrl:"https://huggingface.co/settings/tokens"}},category:"apikey",authType:"apikey",hiddenKinds:["tts"],transport:null,models:[{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell",params:[],kind:"image"},{id:"stabilityai/stable-diffusion-xl-base-1.0",name:"SDXL Base 1.0",params:[],kind:"image"},{id:"openai/whisper-large-v3",name:"Whisper Large v3 (HF)",params:["language"],kind:"stt"},{id:"openai/whisper-small",name:"Whisper Small (HF)",params:["language"],kind:"stt"}],serviceKinds:["image","stt"],imageConfig:{baseUrl:"https://router.huggingface.co/models"}},{id:"iflow",hidden:!0,priority:110,alias:"if",display:{name:"iFlow AI",icon:"water_drop",color:"#6366F1",website:"https://iflow.cn",notice:{signupUrl:"https://iflow.cn"}},category:"oauth",transport:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",thinkingFormat:"openai",headers:{"User-Agent":"iFlow-Cli"}},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],oauth:{clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"},refreshLeadMs:864e5}},{id:"minimax-cn",priority:190,alias:"minimax-cn",display:{name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...o},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains","https://api.minimaxi.com/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimaxi.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","tts"],ttsConfig:{baseUrl:"https://api.minimaxi.com/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},features:{usage:!0,usageApikey:!0}},{id:"minimax",priority:90,alias:"minimax",display:{name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com",notice:{apiKeyUrl:"https://platform.minimaxi.com/user-center/basic-information/interface-key"}},category:"apikey",transport:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",urlSuffix:"?beta=true",headers:{...o},quirks:{dropOutputConfig:!0,requireClaudeToolType:!0},reasoningInject:{scope:"all"},auth:{combined:!0,header:"x-api-key",scheme:"raw"},usage:{urls:["https://www.minimax.io/v1/token_plan/remains","https://api.minimax.io/v1/api/openplatform/coding_plan/remains"]}},transports:[{format:"openai",baseUrl:"https://api.minimax.io/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"MiniMax-M3",name:"MiniMax M3",targetFormat:"claude"},{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"},{id:"minimax-image-01",name:"MiniMax Image 01",params:["n","size","response_format"],kind:"image"},{id:"speech-2.8-hd",name:"Speech 2.8 HD",kind:"tts"},{id:"speech-2.8-turbo",name:"Speech 2.8 Turbo",kind:"tts"},{id:"speech-2.6-hd",name:"Speech 2.6 HD",kind:"tts"},{id:"speech-2.6-turbo",name:"Speech 2.6 Turbo",kind:"tts"},{id:"speech-02-hd",name:"Speech 02 HD",kind:"tts"},{id:"speech-02-turbo",name:"Speech 02 Turbo",kind:"tts"},{id:"speech-01-hd",name:"Speech 01 HD",kind:"tts"},{id:"speech-01-turbo",name:"Speech 01 Turbo",kind:"tts"}],serviceKinds:["llm","image","imageToText","webSearch","tts"],ttsConfig:{baseUrl:"https://api.minimax.io/v1/t2a_v2",authType:"apikey",authHeader:"bearer",format:"minimax-tts"},imageConfig:{baseUrl:"https://api.minimaxi.com/v1/images/generations"},searchViaChat:{defaultModel:"MiniMax-M2.7",endpoint:"https://api.minimaxi.com/v1/text/chatcompletion_v2",pricingUrl:"https://www.minimaxi.com/document/price"},features:{usage:!0,usageApikey:!0}},{id:"openai",priority:30,alias:"openai",display:{name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",notice:{apiKeyUrl:"https://platform.openai.com/api-keys"}},category:"apikey",thinkingConfig:{options:["auto","none","low","medium","high"],defaultMode:"auto"},transport:{baseUrl:"https://api.openai.com/v1/chat/completions",forceStream:!0},models:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",kind:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",kind:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",kind:"embedding"},{id:"tts-1",name:"TTS-1",kind:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"whisper-1",name:"Whisper 1",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-transcribe",name:"GPT-4o Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-4o-mini-transcribe",name:"GPT-4o Mini Transcribe",params:["language","response_format","temperature","prompt"],kind:"stt"},{id:"gpt-image-2.5",name:"GPT Image 2.5",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",params:["n","size","quality","response_format"],kind:"image"},{id:"gpt-image-1",name:"GPT Image 1",params:["n","size","quality","response_format"],kind:"image"},{id:"dall-e-3",name:"DALL-E 3",params:["size","quality","style","response_format"],kind:"image"},{id:"dall-e-2",name:"DALL-E 2",params:["n","size","response_format"],kind:"image"}],serviceKinds:["llm","embedding","tts","stt","image","imageToText","webSearch"],ttsConfig:{baseUrl:"https://api.openai.com/v1/audio/speech",authType:"apikey",authHeader:"bearer",format:"openai",defaultModel:"gpt-4o-mini-tts"},sttConfig:{baseUrl:"https://api.openai.com/v1/audio/transcriptions",authType:"apikey",authHeader:"bearer",format:"openai"},embeddingConfig:{baseUrl:"https://api.openai.com/v1/embeddings",authType:"apikey",authHeader:"bearer"},imageConfig:{baseUrl:"https://api.openai.com/v1/images/generations"},searchViaChat:{defaultModel:"gpt-4o-mini",pricingUrl:"https://openai.com/api/pricing"}},{id:"opencode-go",priority:210,alias:"opencode-go",aliases:["ocg"],uiAlias:"ocg",display:{name:"OpenCode Go",icon:"terminal",color:"#E87040",textIcon:"OC",website:"https://opencode.ai/auth",notice:{text:"OpenCode Go: $10/mo, Go Plus $40/mo. Access to Kimi, GLM, Qwen, MiMo, MiniMax models.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/inference/go/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/inference/go/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/inference/go/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"},{format:"claude",baseUrl:"https://opencode.ai/inference/go/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/inference/go/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"}],models:[{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai","claude","openai-responses"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision (Exp)",supportedFormats:["openai","claude","openai-responses"]},{id:"longcat-2.0",name:"LongCat 2.0",supportedFormats:["openai"]},{id:"mimo-v2.6-flash",name:"MiMo V2.6 Flash",supportedFormats:["openai"]},{id:"mimo-v2.6-pro",name:"MiMo V2.6 Pro",supportedFormats:["openai"]},{id:"mimo-v2.5",name:"MiMo V2.5",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai","claude"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai","claude"]},{id:"qwen3.8-max",name:"Qwen 3.8 Max",supportedFormats:["openai","claude"]},{id:"qwen3.8-flash",name:"Qwen 3.8 Flash",supportedFormats:["openai","claude"]},{id:"qwen3.7-plus",name:"Qwen 3.7 Plus",supportedFormats:["openai","claude"]},{id:"hy4-preview",name:"Hy4 Preview",supportedFormats:["openai"]},{id:"hy3",name:"Hy3",supportedFormats:["openai"]},{id:"space-bunny-free",name:"Space Bunny Free",supportedFormats:["openai"]},{id:"longcat-2.5-preview-free",name:"LongCat 2.5 Preview Free",supportedFormats:["openai"]},{id:"grok-4.7",name:"Grok 4.7",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-6-luna",name:"GPT 6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor",name:"Muse Spark 1.2 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3-contributor",name:"Muse Spark 1.3 Contributor",targetFormat:"openai-responses",supportedFormats:["openai-responses"]}],features:{usage:!0,usageApikey:!0}},{id:"opencode",priority:40,hasFree:!0,alias:"oc",uiAlias:"oc",display:{name:"OpenCode Free",icon:"terminal",color:"#E87040",textIcon:"OC"},category:"free",noAuth:!0,transport:{baseUrl:"https://opencode.ai",headers:{"x-opencode-client":"cli"},forceStream:!0,noAuth:!0,thinkingFormat:"openai",quirks:{forceAutoToolChoiceModels:["muse-spark-1.2-contributor-free","muse-spark-1.3-contributor-free"]}},models:[{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses"},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses"},{id:"union-alpha",name:"Union Alpha Free",targetFormat:"claude"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/inference/v1/systemone",headers:{"x-opencode-client":"cli","User-Agent":"opencode/latest/2.0.26/cli"}},modelsFetcher:{url:"https://opencode.ai/inference/v1/models",type:"opencode-free"},passthroughModels:!0},{id:"openrouter",priority:10,hasFree:!0,alias:"openrouter",display:{name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After 0 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"}},category:"freeTier",authType:"apikey",authModes:["apikey"],transport:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",thinkingFormat:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},models:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",kind:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",kind:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",kind:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",kind:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",kind:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",kind:"embedding"},{id:"openai/gpt-4o-mini-tts",name:"GPT-4o Mini TTS",kind:"tts"},{id:"openai/tts-1-hd",name:"TTS-1 HD",kind:"tts"},{id:"openai/tts-1",name:"TTS-1",kind:"tts"},{id:"openai/dall-e-3",name:"DALL-E 3 (via OpenRouter)",params:["size","quality","style","response_format"],kind:"image"},{id:"openai/gpt-image-1",name:"GPT Image 1 (via OpenRouter)",params:["n","size","quality","response_format"],kind:"image"},{id:"google/imagen-3.0-generate-002",name:"Imagen 3 (via OpenRouter)",params:["n","size"],kind:"image"},{id:"black-forest-labs/FLUX.1-schnell",name:"FLUX.1 Schnell (via OpenRouter)",params:["n","size"],kind:"image"},{id:"google/veo-3.1",name:"Veo 3.1 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"openai/sora-2-pro",name:"Sora 2 Pro (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"bytedance/seedance-2.0",name:"Seedance 2.0 (via OpenRouter)",params:["duration","aspect_ratio","resolution"],kind:"video"},{id:"typesafe/jev-1.13",name:"Jev 1.13",kind:"systemone"}],serviceKinds:["llm","embedding","tts","imageToText","video","systemone"],systemoneConfig:{baseUrl:"https://openrouter.ai/api/v1/systemone",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},ttsConfig:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",defaultModel:"openai/gpt-4o-mini-tts",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},embeddingConfig:{baseUrl:"https://openrouter.ai/api/v1/embeddings",authType:"apikey",authHeader:"bearer",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},imageConfig:{baseUrl:"https://openrouter.ai/api/v1/images/generations",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},videoConfig:{baseUrl:"https://openrouter.ai/api/v1/videos",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0},{id:"siliconflow",priority:250,alias:"siliconflow",display:{name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com",notice:{apiKeyUrl:"https://cloud.siliconflow.com/account/ak"}},category:"apikey",transport:{baseUrl:"https://api.siliconflow.com/v1/chat/completions",validateUrl:"https://api.siliconflow.com/v1/models",thinkingFormat:"openai"},models:[{id:"deepseek-ai/DeepSeek-V4-Pro",name:"DeepSeek V4 Pro"},{id:"deepseek-ai/DeepSeek-V4-Flash",name:"DeepSeek V4 Flash"},{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.2-Exp",name:"DeepSeek V3.2 Exp"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-V3.1-Terminus",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3.5-397B-A17B",name:"Qwen 3.5 397B A17B"},{id:"Qwen/Qwen3.5-122B-A10B",name:"Qwen 3.5 122B A10B"},{id:"zai-org/GLM-5.1",name:"GLM 5.1"},{id:"zai-org/GLM-5",name:"GLM 5"},{id:"moonshotai/Kimi-K2.6",name:"Kimi K2.6"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"inclusionAI/Ling-flash-2.0",name:"Ling Flash 2.0"}]},{id:"vercel-ai-gateway",priority:160,alias:"vercel-ai-gateway",aliases:["vercel"],uiAlias:"vercel",display:{name:"Vercel AI Gateway",icon:"deployed_code",color:"#111827",textIcon:"VG",website:"https://vercel.com/ai-gateway",notice:{text:"Unified OpenAI-compatible endpoint from Vercel. Use your AI Gateway API key, then pick models with provider/model IDs like anthropic/claude-sonnet-4.6 or openai/gpt-5.4.",apiKeyUrl:"https://vercel.com/dashboard/~/ai-gateway"}},category:"apikey",transport:{baseUrl:"https://ai-gateway.vercel.sh/v1/chat/completions",thinkingFormat:"openai",retry:{429:2},usage:{url:"https://ai-gateway.vercel.sh/v1/credits"}},serviceKinds:["llm","embedding","image","imageToText","webSearch"],embeddingConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/embeddings"},imageConfig:{baseUrl:"https://ai-gateway.vercel.sh/v1/images/generations"},searchViaChat:{defaultModel:"openai/gpt-4o-mini",pricingUrl:"https://vercel.com/docs/ai-gateway/pricing"},modelsFetcher:{url:"https://ai-gateway.vercel.sh/v1/models",type:"openai"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"xai",priority:280,alias:"xai",display:{name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai",notice:{apiKeyUrl:"https://console.x.ai"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,transport:{baseUrl:"https://api.x.ai/v1/chat/completions",validateUrl:"https://api.x.ai/v1/models",responsesUrl:"https://api.x.ai/v1/responses",clientId:"b1a00492-073a-47ea-816f-4c329264a828",tokenUrl:"https://auth.x.ai/oauth2/token",refreshUrl:"https://auth.x.ai/oauth2/token"},models:[{id:"grok-4.6",name:"Grok 4.6"},{id:"grok-4.5",name:"Grok 4.5"},{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"},{id:"grok-2-image-1212",name:"Grok 2 Image",params:["n","response_format"],kind:"image"},{id:"grok-imagine-video",name:"Grok Imagine Video",params:["duration","aspect_ratio","resolution"],kind:"video"}],serviceKinds:["llm","imageToText","webSearch","image","video"],imageConfig:{baseUrl:"https://api.x.ai/v1/images/generations",bodyFields:["model","prompt","n","response_format"]},videoConfig:{baseUrl:"https://api.x.ai/v1/videos"},searchViaChat:{defaultModel:"grok-4.20-reasoning",endpoint:"https://api.x.ai/v1/responses",pricingUrl:"https://x.ai/api#pricing"}},{id:"xquik",alias:"xquik",display:{name:"Xquik",icon:"tag",color:"#5C3327",textIcon:"XQ",website:"https://docs.xquik.com/api-reference/x/search-tweets",notice:{apiKeyUrl:"https://xquik.com",text:"Searches public X posts. Billing uses 1 Xquik credit per returned post."}},category:"apikey",authType:"apikey",serviceKinds:["webSearch"],searchConfig:{baseUrl:"https://xquik.com/api/v1/x/tweets/search",validateUrl:"https://xquik.com/api/v1/credits",method:"GET",authType:"apikey",authHeader:"x-api-key",searchTypes:["x"],defaultMaxResults:5,maxMaxResults:100,timeoutMs:1e4,cacheTTLMs:6e4,creditsPerResult:1}},{id:"xiaomi-mimo",priority:290,alias:"xiaomi-mimo",aliases:["mimo","mimo-desktop","xmd"],uiAlias:"mimo",display:{name:"Xiaomi MiMo",icon:"smart_toy",color:"#FF6900",textIcon:"XM",website:"https://xiaomimimo.com",notice:{apiKeyUrl:"https://platform.xiaomimimo.com/console/api-keys",signupUrl:"https://mimo.xiaomimimo.com/desktop/invite/"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,serviceKinds:["llm","tts"],transport:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",validateUrl:"https://api.xiaomimimo.com/v1/models"},transports:[{format:"openai",baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",baseUrl:"https://api.xiaomimimo.com/anthropic/v1/messages",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-x-pro-preview",name:"MiMo-X-Pro-Preview",upstreamModelId:"xiaomi/mimo-x-pro-preview",supportedFormats:["openai"]},{id:"mimo-x-flash-preview",name:"MiMo-X-Flash-Preview",upstreamModelId:"xiaomi/mimo-x-flash-preview",supportedFormats:["openai"]},{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-flash",name:"MiMo V2 Flash"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",kind:"tts"}],ttsConfig:{baseUrl:"https://api.xiaomimimo.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",format:"xiaomi-mimo-tts"},features:{usage:!0,usageApikey:!0},oauth:{custom:!0,authorizeUrl:"https://platform.xiaomimimo.com/authorize",callbackParam:"u",kn:"mimocode"}},{id:"xiaomi-tokenplan",priority:300,alias:"xiaomi-tokenplan",aliases:["xmtp"],uiAlias:"xmtp",display:{name:"Xiaomi MiMo (Token Plan)",icon:"smart_toy",color:"#FF6700",textIcon:"XT",website:"https://mimo.xiaomi.com",notice:{text:"Xiaomi MiMo Token Plan subscription (API key starts with tp-). Token Plan keys are cluster-specific — select the region matching your subscription.",apiKeyUrl:"https://mimo.xiaomi.com"}},category:"apikey",hasProviderSpecificData:!0,regions:[{id:"sgp",label:"Singapore (新加坡)"},{id:"cn",label:"China (中国大陆)"},{id:"ams",label:"Amsterdam (阿姆斯特丹)"}],defaultRegion:"sgp",transport:{baseUrl:"https://token-plan-sgp.xiaomimimo.com/v1/chat/completions",regions:{sgp:"https://token-plan-sgp.xiaomimimo.com/v1",cn:"https://token-plan-cn.xiaomimimo.com/v1",ams:"https://token-plan-ams.xiaomimimo.com/v1"},defaultRegion:"sgp"},transports:[{format:"openai",auth:{combined:!0,header:"Authorization",scheme:"bearer"}},{format:"claude",headers:{...o},auth:{combined:!0,header:"x-api-key",scheme:"raw"}}],models:[{id:"mimo-v2.5-pro",name:"MiMo V2.5 Pro"},{id:"mimo-v2.5-pro-claude",name:"MiMo V2.5 Pro (Claude Native)",targetFormat:"claude",upstreamModelId:"mimo-v2.5-pro"},{id:"mimo-v2.5",name:"MiMo V2.5"},{id:"mimo-v2-pro",name:"MiMo V2 Pro"},{id:"mimo-v2-omni",name:"MiMo V2 Omni"},{id:"mimo-v2-tts",name:"MiMo V2 TTS"},{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS"},{id:"mimo-v2.5-tts-voiceclone",name:"MiMo V2.5 TTS Voice Clone"},{id:"mimo-v2.5-tts-voicedesign",name:"MiMo V2.5 TTS Voice Design"}]},{id:"zed",priority:999,alias:"zd",uiAlias:"zd",display:{name:"Zed",icon:"code",color:"#A855F7",website:"https://zed.dev",notice:{signupUrl:"https://zed.dev/native_app_signin"}},category:"oauth",authType:"oauth",hasOAuth:!0,transport:{baseUrl:"https://cloud.zed.dev/completions",format:"openai",forceStream:!0,headers:{"content-type":"application/json"},auth:{combined:!0,header:"Authorization",scheme:"<user_id> <access_token>"},usage:{url:"https://cloud.zed.dev/client/users/me"},modelsUrl:"https://cloud.zed.dev/models"},models:[],passthroughModels:!0,oauth:{authorizeUrl:"https://zed.dev/native_app_signin",platform:"zed",rsaKeyExchange:!0},features:{usage:!0}},{id:"mimo-free",hidden:!0,priority:50,hasFree:!0,alias:"mmf",uiAlias:"mmf",display:{name:"MiMo Code Free",icon:"smart_toy",color:"#FF6900",textIcon:"MF"},category:"free",noAuth:!0,transport:{baseUrl:"https://api.xiaomimimo.com/api/free-ai/openai/chat",noAuth:!0},models:[{id:"mimo-auto",name:"MiMo Auto"}],modelsFetcher:{url:"https://models.dev/api.json",type:"mimo-free"},passthroughModels:!0},{id:"opencode-zen",priority:205,alias:"ocz",aliases:["opencode-zen"],uiAlias:"ocz",display:{name:"OpenCode Zen",icon:"terminal",color:"#E87040",textIcon:"OZ",website:"https://opencode.ai/auth",notice:{text:"OpenCode Zen PAYG: pay-as-you-go, key from https://opencode.ai/auth. Same models as Zen: paid + free tiers on the fast lane.",apiKeyUrl:"https://opencode.ai/auth"}},category:"apikey",transport:{baseUrl:"https://opencode.ai/inference/openai/v1/chat/completions",headers:{},usage:{url:"https://opencode.ai/zen/v1/usage"}},transports:[{format:"openai",baseUrl:"https://opencode.ai/inference/openai/v1/chat/completions",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"},{format:"claude",baseUrl:"https://opencode.ai/inference/anthropic/v1/messages",auth:{combined:!0,header:"x-api-key",scheme:"raw",anthropicVersion:!0}},{format:"openai-responses",baseUrl:"https://opencode.ai/inference/openai/v1/responses",auth:{combined:!0,header:"Authorization",scheme:"bearer"},thinkingFormat:"openai"}],models:[{id:"claude-fable-5",name:"Claude Fable 5",supportedFormats:["claude"]},{id:"claude-fable-5-1",name:"Claude Fable 5.1",supportedFormats:["claude"]},{id:"claude-opus-5",name:"Claude Opus 5",supportedFormats:["claude"]},{id:"claude-opus-4-8",name:"Claude Opus 4.8",supportedFormats:["claude"]},{id:"claude-opus-4-7",name:"Claude Opus 4.7",supportedFormats:["claude"]},{id:"claude-opus-4-6",name:"Claude Opus 4.6",supportedFormats:["claude"]},{id:"claude-opus-4-5",name:"Claude Opus 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-5",name:"Claude Sonnet 5",supportedFormats:["claude"]},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6",supportedFormats:["claude"]},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",supportedFormats:["claude"]},{id:"claude-sonnet-4",name:"Claude Sonnet 4",supportedFormats:["claude"]},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5",supportedFormats:["claude"]},{id:"gemini-3.6-flash",name:"Gemini 3.6 Flash",supportedFormats:["openai"]},{id:"gemini-3.8-flash",name:"Gemini 3.8 Flash",supportedFormats:["openai"]},{id:"gemini-3.7-flash",name:"Gemini 3.7 Flash",supportedFormats:["openai"]},{id:"gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",supportedFormats:["openai"]},{id:"gemini-3.5-flash",name:"Gemini 3.5 Flash",supportedFormats:["openai"]},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro",supportedFormats:["openai"]},{id:"gemini-3-flash",name:"Gemini 3 Flash",supportedFormats:["openai"]},{id:"gpt-6-astra",name:"GPT 6 Astra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-sol",name:"GPT 5.6 Sol",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-terra",name:"GPT 5.6 Terra",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.6-luna",name:"GPT 5.6 Luna",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5",name:"GPT 5.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.5-pro",name:"GPT 5.5 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4",name:"GPT 5.4",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-pro",name:"GPT 5.4 Pro",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-mini",name:"GPT 5.4 Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.4-nano",name:"GPT 5.4 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2",name:"GPT 5.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1",name:"GPT 5.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5",name:"GPT 5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-codex",name:"GPT 5 Codex",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"gpt-5-nano",name:"GPT 5 Nano",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-build-0.1",name:"Grok Build 0.1",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.6",name:"Grok 4.6",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"grok-4.5",name:"Grok 4.5",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.3",name:"Muse Spark 1.3",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2",name:"Muse Spark 1.2",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"qwen3.6-plus",name:"Qwen 3.6 Plus",supportedFormats:["claude"]},{id:"qwen3.5-plus",name:"Qwen 3.5 Plus",supportedFormats:["claude"]},{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",supportedFormats:["openai"]},{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",supportedFormats:["openai"]},{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",supportedFormats:["openai"]},{id:"glm-5.3-flash",name:"GLM 5.3 Flash (Vision)",supportedFormats:["openai"]},{id:"glm-5.3",name:"GLM 5.3",supportedFormats:["openai"]},{id:"glm-5.2",name:"GLM 5.2",supportedFormats:["openai"]},{id:"glm-5.1",name:"GLM 5.1",supportedFormats:["openai"]},{id:"glm-5",name:"GLM 5",supportedFormats:["openai"]},{id:"minimax-m3",name:"MiniMax M3",supportedFormats:["openai"]},{id:"minimax-m2.7",name:"MiniMax M2.7",supportedFormats:["openai"]},{id:"minimax-m2.5",name:"MiniMax M2.5",supportedFormats:["openai"]},{id:"kimi-k3",name:"Kimi K3",supportedFormats:["openai"]},{id:"kimi-k2.7-code",name:"Kimi K2.7 Code",supportedFormats:["openai"]},{id:"kimi-k2.6",name:"Kimi K2.6",supportedFormats:["openai"]},{id:"kimi-k2.5",name:"Kimi K2.5",supportedFormats:["openai"]},{id:"big-pickle",name:"Big Pickle",supportedFormats:["openai"]},{id:"union-alpha",name:"Union Alpha",supportedFormats:["claude"]},{id:"deepseek-v4-flash-free",name:"DeepSeek V4 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.6-flash-free",name:"MiMo V2.6 Flash Free",supportedFormats:["openai"]},{id:"mimo-v2.5-free",name:"MiMo V2.5 Free",supportedFormats:["openai"]},{id:"ling-3.0-flash-fin-free",name:"Ling 3.0 Flash Fin Free",supportedFormats:["openai"]},{id:"nemotron-3-ultra-free",name:"Nemotron 3 Ultra Free",supportedFormats:["openai"]},{id:"nemotron-3.5-lightning-free",name:"Nemotron 3.5 Lightning Free",supportedFormats:["openai"]},{id:"muse-spark-1.3-contributor-free",name:"Muse Spark 1.3 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"muse-spark-1.2-contributor-free",name:"Muse Spark 1.2 Contributor Free",targetFormat:"openai-responses",supportedFormats:["openai-responses"]},{id:"jev-1.13",name:"Jev 1.13",kind:"systemone"},{id:"jev-1.13-free",name:"Jev 1.13 Free",kind:"systemone"}],serviceKinds:["llm","systemone"],systemoneConfig:{baseUrl:"https://opencode.ai/inference/v1/systemone",headers:{"x-opencode-client":"cli","User-Agent":"opencode/latest/2.0.26/cli"}},modelsFetcher:{url:"https://opencode.ai/inference/v1/models",type:"opencode-free"},passthroughModels:!0,features:{usage:!0,usageApikey:!0}},{id:"qoder",priority:30,alias:"qd",uiAlias:"qd",display:{name:"Qoder",icon:"water_drop",color:"#EC4899",website:"https://qoder.com",notice:{signupUrl:"https://qoder.com"}},category:"oauth",authModes:["oauth","apikey"],hasOAuth:!0,authHint:"Personal Access Token (pt-...) from https://qoder.com/account/integrations",transport:{baseUrl:"https://api3.qoder.sh/algo/api/v2/service/pro/sse/agent_chat_generation",headers:{},timeoutMs:12e4,stallTimeoutMs:12e4,usage:{url:"https://openapi.qoder.sh/api/v2/quota/usage"}},models:[{id:"ultimate",name:"Ultimate"},{id:"auto",name:"Auto"},{id:"performance",name:"Performance"},{id:"efficient",name:"Efficient"},{id:"lite",name:"Lite"},{id:"qmodel_38max",name:"Qwen3.8-Max"},{id:"qmodel_latest",name:"Qwen3.7-Max"},{id:"qmodel",name:"Qwen3.7-Plus"},{id:"qfmodel",name:"Qwen3.8-Flash"},{id:"kmodel_latest",name:"Kimi-K3"},{id:"kmodel",name:"Kimi-K2.7-Code"},{id:"gmodel",name:"GLM-5.3"},{id:"gfmodel",name:"GLM-5.3-Flash"},{id:"dmodel",name:"DeepSeek-V4-Pro"},{id:"dfmodel",name:"DeepSeek-V4-Flash"},{id:"mmodel",name:"MiniMax-M3"}],oauth:{openApiBaseUrl:"https://openapi.qoder.sh",centerBaseUrl:"https://center.qoder.sh",chatBaseUrl:"https://api3.qoder.sh",deviceTokenUrl:"https://openapi.qoder.sh/api/v1/deviceToken/poll",refreshUrl:"https://center.qoder.sh/algo/api/v3/user/refresh_token",userInfoUrl:"https://openapi.qoder.sh/api/v1/userinfo",quotaUsageUrl:"https://openapi.qoder.sh/api/v2/quota/usage",loginUrl:"https://qoder.com/device/selectAccounts"},features:{usage:!0,usageApikey:!0}}]},58014:(e,i,a)=>{a.d(i,{Xg:()=>F,vq:()=>y,KC:()=>x});var t=a(38891),o=a(65746);function n(e,i){let a=o.env[e];if(null==a||""===a)return i;let t=parseInt(a,10);return Number.isFinite(t)&&t>0?t:i}o.env.SEARXNG_URL?.trim(),n("STREAM_STALL_TIMEOUT_MS",36e4),n("STREAM_FIRST_CHUNK_TIMEOUT_MS",2e5),n("FETCH_CONNECT_TIMEOUT_MS",6e4),n("GEMINI_NATIVE_TTS_FETCH_TIMEOUT_MS",45e3);function s(e){return e.split(/[-_\s]+/).filter(Boolean).map(e=>/^\d/.test(e)?e:e.charAt(0).toUpperCase()+e.slice(1)).join(" ")}let r=[[/^kimi-k(\d+(?:\.\d+)?)(-thinking)?$/i,e=>`Kimi K${e[1]}${e[2]?" Thinking":""}`],[/^glm-(\d+(?:\.\d+)?)(v)?$/i,e=>`GLM ${e[1]}${e[2]?"V (Vision)":""}`],[/^minimax-m(\d+(?:\.\d+)?)$/i,e=>`MiniMax M${e[1]}`],[/^gpt-(.+)$/i,e=>`GPT ${s(e[1])}`],[/^gemini-(.+)$/i,e=>`Gemini ${s(e[1])}`],[/^grok-(.+)$/i,e=>`Grok ${s(e[1])}`],[/^deepseek-(.+)$/i,e=>`DeepSeek ${s(e[1])}`],[/^qwen([\d.]+.*)$/i,e=>`Qwen ${s(e[1])}`]];function m(e){let i="string"==typeof e?{id:e}:e;return void 0!==i.name?i:{...i,name:function(e){if("string"!=typeof e)return e;for(let[i,a]of r){let t=e.match(i);if(t)return a(t)}return e}(i.id)}}let p={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"}},d=(...e)=>e.map(e=>({...p[e],type:"tts"})),l=d("alloy","ash","coral","echo","fable","nova","onyx","sage","shimmer"),c=d("alloy","ash","ballad","cedar","coral","echo","fable","marin","nova","onyx","sage","shimmer","verse"),u=["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(e=>({id:e,name:e,type:"tts"})),h={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":c,"tts-1":l,"tts-1-hd":l},allVoices:c},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":c,"openai/tts-1":l,"openai/tts-1-hd":l},allVoices:c},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":u,"gemini-2.5-flash-preview-tts":u,"gemini-2.5-pro-preview-tts":u},allVoices:u},"xiaomi-mimo":{models:[{id:"mimo-v2.5-tts",name:"MiMo V2.5 TTS",type:"tts"}],voices:{"mimo-v2.5-tts":[{id:"mimo_default",name:"mimo_default"},{id:"冰糖",name:"冰糖"},{id:"茉莉",name:"茉莉"},{id:"苏打",name:"苏打"},{id:"白桦",name:"白桦"},{id:"Mia",name:"Mia"},{id:"Chloe",name:"Chloe"},{id:"Milo",name:"Milo"},{id:"Dean",name:"Dean"}].map(e=>({type:"tts",...e}))}}},g=["clientId","clientSecret","tokenUrl","refreshUrl"],f=new Set(["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","systemoneConfig","modelsFetcher","mediaPriority","hiddenKinds"]),k={},y={},b={},v={};for(let e of t.A){e.transport&&(k[e.id]=function(e,i){let a={...e};if(a.format||(a.format="openai"),i)for(let e of g)void 0===a[e]&&void 0!==i[e]&&(a[e]=i[e]);return a}(e.transport,e.oauth),e.transports&&(k[e.id].transports=e.transports)),void 0!==e.models&&(y[e.alias||e.id]=e.models.map(m)),e.oauth&&(b[e.id]=e.oauth);let i={};for(let a of f)void 0!==e[a]&&(i[a]=e[a]);e.media&&Object.assign(i,e.media),Object.keys(i).length&&(v[e.id]=i)}Object.assign(y,function(){let e={};for(let[i,a]of Object.entries(h))a.models&&(e[`${i}-tts-models`]=a.models),a.allVoices&&(e[`${i}-tts-voices`]=a.allVoices),a.defaults&&(e[i]=a.defaults);return e["openai-tts-voices"]=h.openai.allVoices,e["openrouter-tts-voices"]=h.openrouter.allVoices,e}()),k["xiaomi-tokenplan"]?.regions,k["xiaomi-tokenplan"]?.defaultRegion;let M=Object.fromEntries(t.A.filter(e=>e.alias&&e.alias!==e.id).map(e=>[e.id,e.alias])),F=Object.fromEntries(Object.keys(k).map(e=>[e,M[e]||e]));function x(e){return y[F[e]||e]||[]}},80159:(e,i,a)=>{a.d(i,{CP:()=>o,KC:()=>t.KC,Xg:()=>t.Xg,bs:()=>n});var t=a(58014);Object.entries(a(13794).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,i])=>i.map(i=>({provider:e,model:i.id,name:i.name})));let o=(e,i=null)=>e?.kind||e?.type||i,n={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}}}}]);
@@ -0,0 +1,65 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2392],{62392:(e,t,r)=>{function n(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}r.d(t,{xI:()=>eE});var s=n(),l={exec:()=>null};function i(e){let t=[];return r=>{let n=Math.max(0,Math.min(3,r-1)),s=t[n];return s||(s=e(n),t[n]=s),s}}function a(e,t=""){let r="string"==typeof e?e:e.source,n={replace:(e,t)=>{let s="string"==typeof t?t:t.source;return s=s.replace(c.caret,"$1"),r=r.replace(e,s),n},getRegex:()=>new RegExp(r,t)};return n}var o=((e="")=>{try{return!!RegExp("(?<=1)(?<!1)"+e)}catch{return!1}})(),c={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:i(e=>RegExp(`^ {0,${e}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:i(e=>RegExp(`^ {0,${e}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:i(e=>RegExp(`^ {0,${e}}(?:\`\`\`|~~~)`)),headingBeginRegex:i(e=>RegExp(`^ {0,${e}}#`)),htmlBeginRegex:i(e=>RegExp(`^ {0,${e}}(?:</?(?:${m})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,"i")),blockquoteBeginRegex:i(e=>RegExp(`^ {0,${e}}>`))},p=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,h=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,u=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,k=a(u).replace(/bull/g,h).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),g=a(u).replace(/bull/g,h).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),d=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,f=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,x=a(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",f).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),b=a(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,h).getRegex(),m="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",w=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,S=a("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",w).replace("tag",m).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),$=e=>a(d).replace("hr",p).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",e).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),y=$(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),R=$(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),T={blockquote:a(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",R).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:x,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:p,html:S,lheading:k,list:b,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:y,table:l,text:/^[^\n]+/},_=a("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",p).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex(),z={...T,lheading:g,table:_,paragraph:a(d).replace("hr",p).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",_).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",m).getRegex()},A={...T,html:a("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",w).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:l,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:a(d).replace("hr",p).replace("heading",` *#{1,6} *[^
2
+ ]`).replace("lheading",k).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},P=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,E=/[\p{P}\p{S}]/u,L=/[\s\p{P}\p{S}]/u,I=/[^\s\p{P}\p{S}]/u,C=a(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,L).getRegex(),B=/(?!~)[\p{P}\p{S}]/u,q=a(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",o?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),Z=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,v=a(Z,"u").replace(/punct/g,E).getRegex(),D=a(Z,"u").replace(/punct/g,B).getRegex(),Q=a(/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,"u").replace(/openQuote/g,/[\p{Pi}\p{Ps}"']/u).replace(/punct/g,E).getRegex(),O="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",M=a(O,"gu").replace(/notPunctSpace/g,I).replace(/punctSpace/g,L).replace(/punct/g,E).getRegex(),N=a(O,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,B).getRegex(),j=a("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,I).replace(/punctSpace/g,L).replace(/punct/g,E).getRegex(),H=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,I).replace(/punctSpace/g,L).replace(/punct/g,E).getRegex(),G=a("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,I).replace(/punctSpace/g,L).replace(/punct/g,E).getRegex(),U=a(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,E).getRegex(),X=a("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,I).replace(/punctSpace/g,L).replace(/punct/g,E).getRegex(),W=a(/\\(punct)/,"gu").replace(/punct/g,E).getRegex(),F=a(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),J=a(w).replace("(?:--\x3e|$)","--\x3e").getRegex(),K=a("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",J).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),V=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,Y=a(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",V).getRegex(),ee=a(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",Y).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),et=a(/^!?\[(label)\]\[(ref)\]/).replace("label",Y).replace("ref",f).getRegex(),er=a(/^!?\[(ref)\](?:\[\])?/).replace("ref",f).getRegex(),en=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,es=a(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",V).getRegex(),el=a("reflink|nolink(?!\\()","g").replace("reflink",a(/^!?\[(label)\]\[(ref)\]/).replace("label",es).replace("ref",en).getRegex()).replace("nolink",a(/^!?\[(ref)\](?:\[\])?/).replace("ref",en).getRegex()).getRegex(),ei=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,ea={_backpedal:l,anyPunctuation:W,autolink:F,blockSkip:q,br:P,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:l,delLDelim:l,delRDelim:l,emStrongLDelim:v,emStrongRDelimAst:M,emStrongRDelimUnd:H,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:ee,nolink:er,punctuation:C,reflink:et,reflinkSearch:el,tag:K,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:l},eo={...ea,emStrongLDelim:Q,emStrongRDelimAst:j,emStrongRDelimUnd:G,link:a(/^!?\[(label)\]\((.*?)\)/).replace("label",Y).getRegex(),reflink:a(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Y).getRegex()},ec={...ea,emStrongRDelimAst:N,emStrongLDelim:D,delLDelim:U,delRDelim:X,url:a(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",ei).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:a(/^(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",ei).getRegex()},ep={...ec,br:a(P).replace("{2,}","*").getRegex(),text:a(ec.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},eh={normal:T,gfm:z,pedantic:A},eu={normal:ea,gfm:ec,breaks:ep,pedantic:eo},ek={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},eg=e=>ek[e];function ed(e,t){if(t){if(c.escapeTest.test(e))return e.replace(c.escapeReplace,eg)}else if(c.escapeTestNoEncode.test(e))return e.replace(c.escapeReplaceNoEncode,eg);return e}function ef(e){try{e=encodeURI(e).replace(c.percentDecode,"%")}catch{return null}return e}function ex(e,t){let r=e.replace(c.findPipe,(e,t,r)=>{let n=!1,s=t;for(;--s>=0&&"\\"===r[s];)n=!n;return n?"|":" |"}).split(c.splitPipe),n=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length<t;)r.push("");for(;n<r.length;n++)r[n]=r[n].trim().replace(c.slashPipe,"|");return r}function eb(e,t,r){let n=e.length;if(0===n)return"";let s=0;for(;s<n;){let l=e.charAt(n-s-1);if(l!==t||r)if(l!==t&&r)s++;else break;else s++}return e.slice(0,n-s)}function em(e){let t=e.split(`
3
+ `),r=t.length-1;for(;r>=0&&c.blankLine.test(t[r]);)r--;return t.length-r<=2?e:t.slice(0,r+1).join(`
4
+ `)}function ew(e){return e.toLowerCase().toUpperCase().toLowerCase()}function eS(e,t,r,n,s){let l=t.href,i=t.title||null,a=e[1].replace(s.other.outputLinkReplace,"$1"),o="!"===e[0].charAt(0);n.state.inLink=!0;let c=n.state.linkEmitted,p=n.state.inRawBlock;n.state.linkEmitted=!1;let h=n.inlineTokens(a),u=n.state.linkEmitted;if(n.state.linkEmitted=c,n.state.inLink=!1,!o){if(u){n.state.inRawBlock=p;return}n.state.linkEmitted=!0}return{type:o?"image":"link",raw:r,href:l,title:i,text:a,tokens:h}}function e$(e,t,r,n){if(!t.includes("<"))return!1;for(let s=0;s<t.length;s++){if("\\"===t[s]){s++;continue}if("`"===t[s]){let e=n.inline.code.exec(t.slice(s));if(e){s+=e[0].length-1;continue}}if("<"!==t[s])continue;let l=e.slice(r+s),i=n.inline.tag.exec(l)||n.inline.autolink.exec(l);if(i){if(i[0].length>t.length-s)return!0;s+=i[0].length-1}}return!1}var ey=class{options;rules;lexer;constructor(e){this.options=e||s}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:em(t[0]),r=e.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e,codeBlockStyle:"indented",text:r}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],r=function(e,t,r){let n=e.match(r.other.indentCodeCompensation);if(null===n)return t;let s=n[1];return t.split(`
5
+ `).map(e=>{let t=e.match(r.other.beginningSpace);if(null===t)return e;let[n]=t;return e.slice(Math.min(n.length,s.length))}).join(`
6
+ `)}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=eb(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceTabChar.test(t))&&(e=t.trim())}return{type:"heading",raw:eb(t[0],`
7
+ `),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:eb(t[0],`
8
+ `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=eb(t[0],`
9
+ `).split(`
10
+ `),r="",n="",s=[];for(;e.length>0;){let t=!1,l=[],i;for(i=0;i<e.length;i++)if(this.rules.other.blockquoteStart.test(e[i]))l.push(e[i]),t=!0;else if(t)break;else l.push(e[i]);e=e.slice(i);let a=l.join(`
11
+ `),o=a.replace(this.rules.other.blockquoteSetextReplace,`
12
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");r=r?`${r}
13
+ ${a}`:a,n=n?`${n}
14
+ ${o}`:o;let c=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(o,s,!0),this.lexer.state.top=c,0===e.length)break;let p=s.at(-1);if(p?.type==="code")break;if(p?.type==="blockquote"){let t=e.join(`
15
+ `),l=p.raw+`
16
+ `+t.replace(this.rules.other.blockquoteSetextReplace2,""),i=this.blockquote(l);s[s.length-1]=i,r=`${r}
17
+ ${t}`,n=n.substring(0,n.length-p.text.length)+i.text;break}if(p?.type==="list"){let t=p.raw+`
18
+ `+e.join(`
19
+ `),l=this.list(t);s[s.length-1]=l,r=r.substring(0,r.length-p.raw.length)+l.raw,n=n.substring(0,n.length-p.raw.length)+l.raw,e=t.substring(s.at(-1).raw.length).split(`
20
+ `);continue}}return{type:"blockquote",raw:r,tokens:s,text:n}}}list(e){let t=this.rules.block.list.exec(e);if(t){let r=t[1].trim(),n=r.length>1,s={type:"list",raw:"",ordered:n,start:n?+r.slice(0,-1):"",loose:!1,items:[]};r=n?`\\d{1,9}\\${r.slice(-1)}`:`\\${r}`,this.options.pedantic&&(r=n?r:"[*+-]");let l=this.rules.other.listItemRegex(r),i=!1;for(;e;){let r=!1,n="",a="";if(!(t=l.exec(e))||this.rules.block.hr.test(e))break;n=t[0],e=e.substring(n.length);let o=function(e,t=0){let r=t,n="";for(let t of e)if(" "===t){let e=4-r%4;n+=" ".repeat(e),r+=e}else n+=t,r++;return n}(t[2].split(`
21
+ `,1)[0],t[1].length),c=e.split(`
22
+ `,1)[0],p=!o.trim(),h=0;if(this.options.pedantic?(h=2,a=o.trimStart()):p?h=t[1].length+1:(h=(h=o.search(this.rules.other.nonSpaceChar))>4?1:h,a=o.slice(h),h+=t[1].length),p&&this.rules.other.blankLine.test(c)&&(n+=c+`
23
+ `,e=e.substring(c.length+1),r=!0),!r){let t=this.rules.other.nextBulletRegex(h),r=this.rules.other.hrRegex(h),s=this.rules.other.fencesBeginRegex(h),l=this.rules.other.headingBeginRegex(h),i=this.rules.other.htmlBeginRegex(h),u=this.rules.other.blockquoteBeginRegex(h);for(;e;){let k=e.split(`
24
+ `,1)[0],g;if(c=k,g=this.options.pedantic?c=c.replace(this.rules.other.listReplaceNesting," "):c.replace(this.rules.other.tabCharGlobal," "),s.test(c)||l.test(c)||i.test(c)||u.test(c)||t.test(c)||r.test(c))break;if(g.search(this.rules.other.nonSpaceChar)>=h||!c.trim())a+=`
25
+ `+g.slice(h);else{if(p||o.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||s.test(o)||l.test(o)||r.test(o))break;a+=`
26
+ `+c}p=!c.trim(),n+=k+`
27
+ `,e=e.substring(k.length+1),o=g.slice(h)}}s.loose||(i?s.loose=!0:this.rules.other.doubleBlankLine.test(n)&&(i=!0)),s.items.push({type:"list_item",raw:n,task:!!this.options.gfm&&this.rules.other.listIsTask.test(a),loose:!1,text:a,tokens:[]}),s.raw+=n}let a=s.items.at(-1);if(!a)return;for(let e of(a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd(),s.raw=s.raw.trimEnd(),s.items))if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),!s.loose){let t=e.tokens.filter(e=>"space"===e.type);s.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}for(let e of s.items){let t=e.tokens[0];if(e.task&&(t?.type==="text"||t?.type==="paragraph")){e.text=e.text.replace(this.rules.other.listReplaceTask,""),t.raw=t.raw.replace(this.rules.other.listReplaceTask,""),t.text=t.text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}let r=this.rules.other.listTaskCheckbox.exec(e.raw);if(r){let t={type:"checkbox",raw:r[0]+" ",checked:"[ ]"!==r[0]};e.checked=t.checked,s.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:"paragraph",raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&(e.task=!1)}if(s.loose)for(let e of s.items)for(let t of(e.loose=!0,e.tokens))"text"===t.type&&(t.type="paragraph");return s}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=em(t[0]);return{type:"html",block:!0,raw:e,pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=ew(t[1]).replace(this.rules.other.multipleSpaceGlobal," "),r=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:eb(t[0],`
28
+ `),href:r,title:n}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let r=ex(t[1]),n=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),s=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
29
+ `):[],l={type:"table",raw:eb(t[0],`
30
+ `),header:[],align:[],rows:[]};if(r.length===n.length){for(let e of n)this.rules.other.tableAlignRight.test(e)?l.align.push("right"):this.rules.other.tableAlignCenter.test(e)?l.align.push("center"):this.rules.other.tableAlignLeft.test(e)?l.align.push("left"):l.align.push(null);for(let e=0;e<r.length;e++)l.header.push({text:r[e],tokens:this.lexer.inline(r[e]),header:!0,align:l.align[e]});for(let e of s)l.rows.push(ex(e,l.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:l.align[t]})));return l}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:"heading",raw:eb(t[0],`
31
+ `),depth:"="===t[2].charAt(0)?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
32
+ `?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let r="!"===t[0].charAt(0)?2:1;if(!this.options.pedantic&&e$(e,t[1],r,this.rules))return;let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let e=eb(n.slice(0,-1),"\\");if((n.length-e.length)%2==0)return}else{let e=function(e){if(-1===e.indexOf(")"))return -1;let t=0;for(let r=0;r<e.length;r++)if("\\"===e[r])r++;else if("("===e[r])t++;else if(")"===e[r]&&--t<0)return r;return t>0?-2:-1}(t[2]);if(-2===e)return;if(e>-1){let r=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,r).trim(),t[3]=""}}let s=t[2],l="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(s);e&&(s=e[1],l=e[3])}else l=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(s=this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s.slice(1):s.slice(1,-1)),eS(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:l&&l.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let r;if((r=this.rules.inline.reflink.exec(e))||(r=this.rules.inline.nolink.exec(e))){let n="!"===r[0].charAt(0)?2:1;if(!this.options.pedantic&&e$(e,r[1],n,this.rules))return;let s=t[ew((r[2]||r[1]).replace(this.rules.other.multipleSpaceGlobal," "))];if(!s){let e=r[0].charAt(0);return{type:"text",raw:e,text:e}}return eS(r,s,r[0],this.lexer,this.rules)}}emStrong(e,t,r=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(!(!n||!n[1]&&!n[2]&&!n[3]&&!n[4]||n[4]&&r.match(this.rules.other.unicodeAlphaNumeric))&&(!(n[1]||n[3])||!r||this.rules.inline.punctuation.exec(r))){let s=[...n[0]].length-1,l,i,a=s,o=0,c=n[0][0],p=r===c,h="*"===c?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,t=t.slice(-1*e.length+s);null!==(n=h.exec(t));){if(!(l=n[1]||n[2]||n[3]||n[4]||n[5]||n[6]))continue;if(i=[...l].length,n[3]||n[4]){a+=i;continue}if(n[5]||n[6]){if(s%3&&!((s+i)%3)){o+=i;continue}if(p)break}if((a-=i)>0)continue;i=Math.min(i,i+a+o);let t=[...n[0]][0].length,r=e.slice(0,s+n.index+t+i);if(Math.min(s,i)%2){let e=r.slice(1,-1);return{type:"em",raw:r,text:e,tokens:this.lexer.inlineTokens(e)}}let c=r.slice(2,-2);return{type:"strong",raw:r,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(e),n=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return r&&n&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e,t,r=""){let n=this.rules.inline.delLDelim.exec(e);if(n&&(!n[1]||!r||this.rules.inline.punctuation.exec(r))){let r=[...n[0]].length-1,s,l,i=r,a=this.rules.inline.delRDelim;for(a.lastIndex=0,t=t.slice(-1*e.length+r);null!==(n=a.exec(t));){if(!(s=n[1]||n[2]||n[3]||n[4]||n[5]||n[6])||(l=[...s].length)!==r)continue;if(n[3]||n[4]){i+=l;continue}if((i-=l)>0)continue;l=Math.min(l,l+i);let t=[...n[0]][0].length,a=e.slice(0,r+n.index+t+l),o=a.slice(r,-r);return{type:"del",raw:a,text:o,tokens:this.lexer.inlineTokens(o)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,r;return r="@"===t[2]?"mailto:"+(e=t[1]):e=t[1],{type:"link",raw:t[0],text:e,href:r,autolink:!0,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,r;if("@"===t[2])r="mailto:"+(e=t[0]);else{let n;do n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(n!==t[0]);e=t[0],r="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:r,autolink:!0,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},eR=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||s,this.options.tokenizer=this.options.tokenizer||new ey,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:c,block:eh.normal,inline:eu.normal};this.options.pedantic?(t.block=eh.pedantic,t.inline=eu.pedantic):this.options.gfm&&(t.block=eh.gfm,this.options.breaks?t.inline=eu.breaks:t.inline=eu.gfm),this.tokenizer.rules=t}static get rules(){return{block:eh,inline:eu}}static lex(t,r){return new e(r).lex(t)}static lexInline(t,r){return new e(r).inlineTokens(t)}lex(e){e=e.replace(c.carriageReturn,`
33
+ `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],r=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(c.tabCharGlobal," ").replace(c.spaceLine,""));let n=1/0;for(;e;){let s;if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(this.options.extensions?.block?.some(r=>!!(s=r.call({lexer:this},e,t))&&(e=e.substring(s.raw.length),t.push(s),!0)))continue;if(s=this.tokenizer.space(e)){e=e.substring(s.raw.length);let r=t.at(-1);1===s.raw.length&&void 0!==r?r.raw+=`
34
+ `:t.push(s);continue}if(s=this.tokenizer.code(e)){e=e.substring(s.raw.length);let r=t.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=(r.raw.endsWith(`
35
+ `)?"":`
36
+ `)+s.raw,r.text+=`
37
+ `+s.text,this.inlineQueue.at(-1).src=r.text):t.push(s);continue}if((s=this.tokenizer.fences(e))||(s=this.tokenizer.heading(e))||(s=this.tokenizer.hr(e))||(s=this.tokenizer.blockquote(e))||(s=this.tokenizer.list(e))||(s=this.tokenizer.html(e))){e=e.substring(s.raw.length),t.push(s);continue}if(s=this.tokenizer.def(e)){e=e.substring(s.raw.length);let r=t.at(-1);r?.type==="paragraph"||r?.type==="text"?(r.raw+=(r.raw.endsWith(`
38
+ `)?"":`
39
+ `)+s.raw,r.text+=`
40
+ `+s.raw,this.inlineQueue.at(-1).src=r.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title},t.push(s));continue}if((s=this.tokenizer.table(e))||(s=this.tokenizer.lheading(e))){e=e.substring(s.raw.length),t.push(s);continue}let l=e;if(this.options.extensions?.startBlock){let t=1/0,r=e.slice(1),n;this.options.extensions.startBlock.forEach(e=>{"number"==typeof(n=e.call({lexer:this},r))&&n>=0&&(t=Math.min(t,n))}),t<1/0&&t>=0&&(l=e.substring(0,t+1))}if(this.state.top&&(s=this.tokenizer.paragraph(l))){let n=t.at(-1);r&&n?.type==="paragraph"?(n.raw+=(n.raw.endsWith(`
41
+ `)?"":`
42
+ `)+s.raw,n.text+=`
43
+ `+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(s),r=l.length!==e.length,e=e.substring(s.raw.length);continue}if(s=this.tokenizer.text(e)){e=e.substring(s.raw.length);let r=t.at(-1);r?.type==="text"?(r.raw+=(r.raw.endsWith(`
44
+ `)?"":`
45
+ `)+s.raw,r.text+=`
46
+ `+s.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(s);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes("["))return!1;let t=this.tokenizer.rules.inline.link;for(let r of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(r[0])&&"!"!==e.charAt(r.index-1))return!0;for(let t of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let e=t[0],r=e.lastIndexOf("[");if(!("!"===e.charAt(0)||!Object.hasOwn(this.tokens.links,ew(e.slice(r+1,-1))))&&!(r>1&&this.linkInText(e.slice(1,r-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let r=e;if(this.tokens.links&&e.includes("[")){let e=this.tokenizer.rules.inline.reflinkSearch,t=r=>{let n=r.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,ew(r.slice(n+1,-1))))return r;if(n>1&&"!"!==r.charAt(0)){let s=r.slice(1,n-1);if(this.linkInText(s))return"["+s.replace(e,t)+"]["+"a".repeat(r.length-n-2)+"]"}return"["+"a".repeat(r.length-2)+"]"};r=r.replace(e,t)}r=(r=r.replace(this.tokenizer.rules.inline.anyPunctuation,e=>"+".repeat(e.length))).replace(this.tokenizer.rules.inline.blockSkip,(e,t,r)=>{let n=r?r.length:0;return e.slice(0,n)+"["+"a".repeat(e.length-n-2)+"]"}),r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let n=!1,s="",l=1/0;for(;e;){let i;if(e.length<l)l=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}if(n||(s=""),n=!1,this.options.extensions?.inline?.some(r=>!!(i=r.call({lexer:this},e,t))&&(e=e.substring(i.raw.length),t.push(i),!0)))continue;if((i=this.tokenizer.escape(e))||(i=this.tokenizer.tag(e))||(i=this.tokenizer.link(e))){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(i.raw.length);let r=t.at(-1);"text"===i.type&&r?.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if((i=this.tokenizer.emStrong(e,r,s))||(i=this.tokenizer.codespan(e))||(i=this.tokenizer.br(e))||(i=this.tokenizer.del(e,r,s))||(i=this.tokenizer.autolink(e))||!this.state.inLink&&(i=this.tokenizer.url(e))){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startInline){let t=1/0,r=e.slice(1),n;this.options.extensions.startInline.forEach(e=>{"number"==typeof(n=e.call({lexer:this},r))&&n>=0&&(t=Math.min(t,n))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(i=this.tokenizer.inlineText(a)){e=e.substring(i.raw.length),"_"!==i.raw.slice(-1)&&(s=i.raw.slice(-1)),n=!0;let r=t.at(-1);r?.type==="text"?(r.raw+=i.raw,r.text+=i.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw Error(t)}},eT=class{options;parser;constructor(e){this.options=e||s}space(e){return""}code({text:e,lang:t,escaped:r}){let n=(t||"").match(c.notSpaceStart)?.[0],s=e?e.replace(c.endingNewline,"")+`
47
+ `:"";return n?'<pre><code class="language-'+ed(n)+'">'+(r?s:ed(s,!0))+`</code></pre>
48
+ `:"<pre><code>"+(r?s:ed(s,!0))+`</code></pre>
49
+ `}blockquote({tokens:e}){return`<blockquote>
50
+ ${this.parser.parse(e)}</blockquote>
51
+ `}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
52
+ `}hr(e){return`<hr>
53
+ `}list(e){let t=e.ordered,r=e.start,n="";for(let t=0;t<e.items.length;t++){let r=e.items[t];n+=this.listitem(r)}let s=t?"ol":"ul";return"<"+s+(t&&1!==r?' start="'+r+'"':"")+`>
54
+ `+n+"</"+s+`>
55
+ `}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
56
+ `}checkbox({checked:e}){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
57
+ `}table(e){let t="",r="";for(let t=0;t<e.header.length;t++)r+=this.tablecell(e.header[t]);t+=this.tablerow({text:r});let n="";for(let t=0;t<e.rows.length;t++){let s=e.rows[t];r="";for(let e=0;e<s.length;e++)r+=this.tablecell(s[e]);n+=this.tablerow({text:r})}return n&&(n=`<tbody>${n}</tbody>`),`<table>
58
+ <thead>
59
+ `+t+`</thead>
60
+ `+n+`</table>
61
+ `}tablerow({text:e}){return`<tr>
62
+ ${e}</tr>
63
+ `}tablecell(e){let t=this.parser.parseInline(e.tokens),r=e.header?"th":"td";return(e.align?`<${r} align="${e.align}">`:`<${r}>`)+t+`</${r}>
64
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${ed(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,text:r,tokens:n,autolink:s}){let l=s?ed(r,!0):this.parser.parseInline(n),i=ef(e);if(null===i)return l;let a='<a href="'+(e=ed(i,s))+'"';return t&&(a+=' title="'+ed(t)+'"'),a+=">"+l+"</a>"}image({href:e,title:t,text:r,tokens:n}){n&&(r=this.parser.parseInline(n,this.parser.textRenderer));let s=ef(e);if(null===s)return ed(r);e=s;let l=`<img src="${ed(e)}" alt="${ed(r)}"`;return t&&(l+=` title="${ed(t)}"`),l+=">"}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ed(e.text)}},e_=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}checkbox({raw:e}){return e}},ez=class e{options;renderer;textRenderer;constructor(e){this.options=e||s,this.options.renderer=this.options.renderer||new eT,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new e_}static parse(t,r){return new e(r).parse(t)}static parseInline(t,r){return new e(r).parseInline(t)}parse(e){this.renderer.parser=this;let t="";for(let r=0;r<e.length;r++){let n=e[r];if(this.options.extensions?.renderers?.[n.type]){let e=this.options.extensions.renderers[n.type].call({parser:this},n);if(!1!==e||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(n.type)){t+=e||"";continue}}switch(n.type){case"space":t+=this.renderer.space(n);break;case"hr":t+=this.renderer.hr(n);break;case"heading":t+=this.renderer.heading(n);break;case"code":t+=this.renderer.code(n);break;case"table":t+=this.renderer.table(n);break;case"blockquote":t+=this.renderer.blockquote(n);break;case"list":t+=this.renderer.list(n);break;case"checkbox":t+=this.renderer.checkbox(n);break;case"html":t+=this.renderer.html(n);break;case"def":t+=this.renderer.def(n);break;case"paragraph":t+=this.renderer.paragraph(n);break;case"text":t+=this.renderer.text(n);break;default:{let e='Token with "'+n.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let r="";for(let n=0;n<e.length;n++){let s=e[n];if(this.options.extensions?.renderers?.[s.type]){let e=this.options.extensions.renderers[s.type].call({parser:this},s);if(!1!==e||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(s.type)){r+=e||"";continue}}switch(s.type){case"escape":case"text":r+=t.text(s);break;case"html":r+=t.html(s);break;case"link":r+=t.link(s);break;case"image":r+=t.image(s);break;case"checkbox":r+=t.checkbox(s);break;case"strong":r+=t.strong(s);break;case"em":r+=t.em(s);break;case"codespan":r+=t.codespan(s);break;case"br":r+=t.br(s);break;case"del":r+=t.del(s);break;default:{let e='Token with "'+s.type+'" type was not found.';if(this.options.silent)return console.error(e),"";throw Error(e)}}}return r}},eA=class{options;block;constructor(e){this.options=e||s}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?eR.lex:eR.lexInline}provideParser(e=this.block){return e?ez.parse:ez.parseInline}},eP=new class{defaults=n();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=ez;Renderer=eT;TextRenderer=e_;Lexer=eR;Tokenizer=ey;Hooks=eA;constructor(...e){this.use(...e)}walkTokens(e,t){let r=[];for(let n of e)switch(r=r.concat(t.call(this,n)),n.type){case"table":for(let e of n.header)r=r.concat(this.walkTokens(e.tokens,t));for(let e of n.rows)for(let n of e)r=r.concat(this.walkTokens(n.tokens,t));break;case"list":r=r.concat(this.walkTokens(n.items,t));break;default:{let e=n;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(n=>{let s=e[n].flat(1/0);r=r.concat(this.walkTokens(s,t))}):e.tokens&&(r=r.concat(this.walkTokens(e.tokens,t)))}}return r}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let r={...e};if(r.async=this.defaults.async||r.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error("extension name required");if("renderer"in e){let r=t.renderers[e.name];r?t.renderers[e.name]=function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=r.apply(this,t)),n}:t.renderers[e.name]=e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw Error("extension level must be 'block' or 'inline'");let r=t[e.level];r?r.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),r.extensions=t),e.renderer){let t=this.defaults.renderer||new eT(this.defaults);for(let r in e.renderer){if(!(r in t))throw Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;let n=e.renderer[r],s=t[r];t[r]=(...e)=>{let r=n.apply(t,e);return!1===r&&(r=s.apply(t,e)),r||""}}r.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new ey(this.defaults);for(let r in e.tokenizer){if(!(r in t))throw Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;let n=e.tokenizer[r],s=t[r];t[r]=(...e)=>{let r=n.apply(t,e);return!1===r&&(r=s.apply(t,e)),r}}r.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new eA;for(let r in e.hooks){if(!(r in t))throw Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;let n=e.hooks[r],s=t[r];eA.passThroughHooks.has(r)?t[r]=e=>{if(this.defaults.async&&eA.passThroughHooksRespectAsync.has(r))return(async()=>{let r=await n.call(t,e);return s.call(t,r)})();let l=n.call(t,e);return s.call(t,l)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let r=await n.apply(t,e);return!1===r&&(r=await s.apply(t,e)),r})();let r=n.apply(t,e);return!1===r&&(r=s.apply(t,e)),r}}r.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,n=e.walkTokens;r.walkTokens=function(e){let r=[];return r.push(n.call(this,e)),t&&(r=r.concat(t.call(this,e))),r}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return eR.lex(e,t??this.defaults)}parser(e,t){return ez.parse(e,t??this.defaults)}parseMarkdown(e){return(t,r)=>{let n={...r},s={...this.defaults,...n},l=this.onError(!!s.silent,!!s.async);if(!0===this.defaults.async&&!1===n.async)return l(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return l(Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return l(Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(s.hooks&&(s.hooks.options=s,s.hooks.block=e),s.async)return(async()=>{let r=s.hooks?await s.hooks.preprocess(t):t,n=await (s.hooks?await s.hooks.provideLexer(e):e?eR.lex:eR.lexInline)(r,s),l=s.hooks?await s.hooks.processAllTokens(n):n;s.walkTokens&&await Promise.all(this.walkTokens(l,s.walkTokens));let i=await (s.hooks?await s.hooks.provideParser(e):e?ez.parse:ez.parseInline)(l,s);return s.hooks?await s.hooks.postprocess(i):i})().catch(l);try{s.hooks&&(t=s.hooks.preprocess(t));let r=(s.hooks?s.hooks.provideLexer(e):e?eR.lex:eR.lexInline)(t,s);s.hooks&&(r=s.hooks.processAllTokens(r)),s.walkTokens&&this.walkTokens(r,s.walkTokens);let n=(s.hooks?s.hooks.provideParser(e):e?ez.parse:ez.parseInline)(r,s);return s.hooks&&(n=s.hooks.postprocess(n)),n}catch(e){return l(e)}}}onError(e,t){return r=>{if(r.message+=`
65
+ Please report this to https://github.com/markedjs/marked.`,e){let e="<p>An error occurred:</p><pre>"+ed(r.message+"",!0)+"</pre>";return t?Promise.resolve(e):e}if(t)return Promise.reject(r);throw r}}};function eE(e,t){return eP.parse(e,t)}eE.options=eE.setOptions=function(e){return eP.setOptions(e),eE.defaults=eP.defaults,s=eE.defaults,eE},eE.getDefaults=n,eE.defaults=s,eE.use=function(...e){return eP.use(...e),eE.defaults=eP.defaults,s=eE.defaults,eE},eE.walkTokens=function(e,t){return eP.walkTokens(e,t)},eE.parseInline=eP.parseInline,eE.Parser=ez,eE.parser=ez.parse,eE.Renderer=eT,eE.TextRenderer=e_,eE.Lexer=eR,eE.lexer=eR.lex,eE.Tokenizer=ey,eE.Hooks=eA,eE.parse=eE,eE.options,eE.setOptions,eE.walkTokens,eE.parseInline,ez.parse,eR.lex}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2441],{11461:e=>{var t;"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab="//"),(t={}).endianness=function(){return"LE"},t.hostname=function(){return"u">typeof location?location.hostname:""},t.loadavg=function(){return[]},t.uptime=function(){return 0},t.freemem=function(){return Number.MAX_VALUE},t.totalmem=function(){return Number.MAX_VALUE},t.cpus=function(){return[]},t.type=function(){return"Browser"},t.release=function(){return"u">typeof navigator?navigator.appVersion:""},t.networkInterfaces=t.getNetworkInterfaces=function(){return{}},t.arch=function(){return"javascript"},t.platform=function(){return"browser"},t.tmpdir=t.tmpDir=function(){return"/tmp"},t.EOL="\n",t.homedir=function(){return"/"},e.exports=t},14748:(e,t,n)=>{"use strict";function r(){for(var e,t,n=0,r="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=function e(t){var n,r,o="";if("string"==typeof t||"number"==typeof t)o+=t;else if("object"==typeof t)if(Array.isArray(t)){var i=t.length;for(n=0;n<i;n++)t[n]&&(r=e(t[n]))&&(o&&(o+=" "),o+=r)}else for(r in t)t[r]&&(o&&(o+=" "),o+=r);return o}(e))&&(r&&(r+=" "),r+=t);return r}n.d(t,{$:()=>r})},54366:(e,t,n)=>{"use strict";n.d(t,{F:()=>a});var r=n(14748);let o=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,i=r.$,a=(e,t)=>n=>{var r;if((null==t?void 0:t.variants)==null)return i(e,null==n?void 0:n.class,null==n?void 0:n.className);let{variants:a,defaultVariants:l}=t,u=Object.keys(a).map(e=>{let t=null==n?void 0:n[e],r=null==l?void 0:l[e];if(null===t)return null;let i=o(t)||o(r);return a[e][i]}),c=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return void 0===r||(e[n]=r),e},{});return i(e,u,null==t||null==(r=t.compoundVariants)?void 0:r.reduce((e,t)=>{let{class:n,className:r,...o}=t;return Object.entries(o).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...l,...c}[t]):({...l,...c})[t]===n})?[...e,n,r]:e},[]),null==n?void 0:n.class,null==n?void 0:n.className)}},69394:(e,t,n)=>{"use strict";function r(e,t){this.v=e,this.k=t}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function i(e){var t,n;function o(t,n){try{var a=e[t](n),l=a.value,u=l instanceof r;Promise.resolve(u?l.v:l).then(function(n){if(u){var r="return"===t&&l.k?t:"next";if(!l.k||n.done)return o(r,n);n=e[r](n).value}i(!!a.done,n)},function(e){o("throw",e)})}catch(e){i(2,e)}}function i(e,r){2===e?t.reject(r):t.resolve({value:r,done:e}),(t=t.next)?o(t.key,t.arg):n=null}this._invoke=function(e,r){return new Promise(function(i,a){var l={key:e,arg:r,resolve:i,reject:a,next:null};n?n=n.next=l:(t=n=l,o(e,r))})},"function"!=typeof e.return&&(this.return=void 0)}n.d(t,{A:()=>eA}),i.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},i.prototype.next=function(e){return this._invoke("next",e)},i.prototype.throw=function(e){return this._invoke("throw",e)},i.prototype.return=function(e){return this._invoke("return",e)};let a=Object.entries,l=Object.setPrototypeOf,u=Object.isFrozen,c=Object.getPrototypeOf,s=Object.getOwnPropertyDescriptor,f=Object.freeze,p=Object.seal,m=Object.create,d="u">typeof Reflect&&Reflect,h=d.apply,y=d.construct;f||(f=function(e){return e}),p||(p=function(e){return e}),h||(h=function(e,t){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return e.apply(t,r)}),y||(y=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return new e(...n)});let g=H(Array.prototype.forEach);Array.prototype.indexOf;let b=H(Array.prototype.lastIndexOf),v=H(Array.prototype.pop),T=H(Array.prototype.push),S=H(Array.prototype.slice),A=H(Array.prototype.splice),_=Array.isArray,w=B(Set),E=H(Set.prototype.add),N=H(Set.prototype.has),k=H(String.prototype.toLowerCase),O=H(String.prototype.toString),x=H(String.prototype.match),D=H(String.prototype.replace),C=H(String.prototype.indexOf),R=H(String.prototype.trim),I=H(Number.prototype.toString),L=H(Boolean.prototype.toString),M="u"<typeof BigInt?null:H(BigInt.prototype.toString),z="u"<typeof Symbol?null:H(Symbol.prototype.toString),P=H(Object.prototype.hasOwnProperty),U=H(Object.prototype.toString),F=H(RegExp.prototype.test),j=B(TypeError);function H(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var n=arguments.length,r=Array(n>1?n-1:0),o=1;o<n;o++)r[o-1]=arguments[o];return h(e,t,r)}}function B(e){return function(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return y(e,n)}}function W(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:k;if(l&&l(e,null),!_(t))return e;let r=t.length;for(;r--;){let o=t[r];if("string"==typeof o){let e=n(o);e!==o&&(u(t)||(t[r]=e),o=e)}e[o]=!0}return e}function Y(e){let t=m(null);for(let r of a(e)){var n=function(e){if(Array.isArray(e))return e}(r)||function(e){var t=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,r,o,i,a=[],l=!0,u=!1;try{o=(t=t.call(e)).next,!1;for(;!(l=(n=o.call(t)).done)&&(a.push(n.value),2!==a.length);l=!0);}catch(e){u=!0,r=e}finally{try{if(!l&&null!=t.return&&(i=t.return(),Object(i)!==i))return}finally{if(u)throw r}}return a}}(r)||function(e){if(e){if("string"==typeof e)return o(e,2);var t=({}).toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,2):void 0}}(r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let i=n[0],a=n[1];P(e,i)&&(_(a)?t[i]=function(e){for(let t=0;t<e.length;t++)P(e,t)||(e[t]=null);return e}(a):a&&"object"==typeof a&&a.constructor===Object?t[i]=Y(a):t[i]=a)}return t}function G(e,t){for(;null!==e;){let n=s(e,t);if(n){if(n.get)return H(n.get);if("function"==typeof n.value)return H(n.value)}e=c(e)}return function(){return null}}let q=f(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),$=f(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),V=f(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),X=f(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),K=f(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Z=f(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),J=f(["#text"]),Q=f(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),ee=f(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),et=f(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),en=f(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),er=p(/{{[\w\W]*|^[\w\W]*}}/g),eo=p(/<%[\w\W]*|^[\w\W]*%>/g),ei=p(/\${[\w\W]*/g),ea=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),el=p(/^aria-[\-\w]+$/),eu=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ec=p(/^(?:\w+script|data):/i),es=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ef=p(/^html$/i),ep=p(/^[a-z][.\w]*(-[.\w]+)+$/i),em=p(/<[/\w!]/g),ed=p(/<[/\w]/g),eh=p(/<\/no(script|embed|frames)/i),ey=p(/\/>/i),eg=f(W({},["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"])),eb=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let n=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let o="dompurify"+(n?"#"+n:"");try{return e.createPolicy(o,{createHTML:e=>e,createScriptURL:e=>e})}catch(e){return console.warn("TrustedTypes policy "+o+" could not be created."),null}},ev=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},eT=function(e,t,n,r){return P(e,t)&&_(e[t])?W(r.base?Y(r.base):{},e[t],r.transform):n},eS=function(e,t,n){let r=P(e,t)?e[t]:void 0;return r&&"object"==typeof r?Y(r):n()};var eA=function e(){let t,n,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,o=t=>e(t);if(o.version="3.4.17",o.removed=[],!r||!r.document||9!==r.document.nodeType||!r.Element)return o.isSupported=!1,o;let i=r.document,l=i,u=l.currentScript;r.DocumentFragment;let d=r.HTMLTemplateElement,h=r.Node,y=r.Element,B=r.NodeFilter;void 0===r.NamedNodeMap&&(r.NamedNodeMap||r.MozNamedAttrMap),r.HTMLFormElement;let eA=r.DOMParser,e_=r.trustedTypes,ew=y.prototype,eE=G(ew,"cloneNode"),eN=G(ew,"remove"),ek=G(ew,"removeAttributeNode"),eO=G(ew,"nextSibling"),ex=G(ew,"childNodes"),eD=G(ew,"parentNode"),eC=G(ew,"shadowRoot"),eR=G(ew,"attributes"),eI=h&&h.prototype?G(h.prototype,"nodeType"):null,eL=h&&h.prototype?G(h.prototype,"nodeName"):null,eM=h&&h.prototype?G(h.prototype,"ownerDocument"):null,ez=function(e){return eI?eI(e):e.nodeType},eP=function(e){return eL?eL(e):e.nodeName},eU=function(e,t){for(;null!==e;){let n=s(e,t);if(n)return n.get?H(n.get):null;e=c(e)}return null}(ew,"namespaceURI"),eF=function(e){return eU?eU(e):e.namespaceURI};if("function"==typeof d){let e=i.createElement("template");e.content&&e.content.ownerDocument&&(i=e.content.ownerDocument)}let ej="",eH=!1,eB=0,eW=function(){if(eB>0)throw j('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},eY=function(e){eW(),eB++;try{return t.createHTML(e)}finally{eB--}},eG=function(e){eW(),eB++;try{return t.createScriptURL(e)}finally{eB--}},eq=i,e$=eq.implementation,eV=eq.createNodeIterator,eX=eq.createDocumentFragment,eK=eq.getElementsByTagName,eZ=l.importNode,eJ=ev();o.isSupported="function"==typeof a&&"function"==typeof eD&&e$&&void 0!==e$.createHTMLDocument;let eQ=eu,e0=null,e1=W({},[...q,...$,...V,...K,...J]),e2=null,e3=W({},[...Q,...ee,...et,...en]),e4=Object.seal(m(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),e9=null,e8=null,e6=Object.seal(m(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),e7=!0,e5=!0,te=!1,tt=!0,tn=!1,tr=!0,to=!1,ti=!1,ta=null,tl=null,tu=!1,tc=!1,ts=!1,tf=!1,tp=!0,tm=!1,td="user-content-",th=!0,ty=!1,tg=null,tb={},tv=null,tT=W({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),tS=null,tA=W({},["audio","video","img","source","image","track"]),t_=null,tw=W({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),tE="http://www.w3.org/1998/Math/MathML",tN="http://www.w3.org/2000/svg",tk="http://www.w3.org/1999/xhtml",tO=tk,tx=!1,tD=null,tC=W({},[tE,tN,tk],O),tR=f(["mi","mo","mn","ms","mtext"]),tI=W({},tR),tL=f(["annotation-xml"]),tM=W({},tL),tz=W({},["title","style","font","a","script"]),tP=null,tU=["application/xhtml+xml","text/html"],tF=null,tj=null,tH=i.createElement("form"),tB=function(e){return e instanceof RegExp||e instanceof Function},tW=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(tj&&tj===e)return;e&&"object"==typeof e||(e={}),e=Y(e),tF="application/xhtml+xml"===(tP=-1===tU.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE)?O:k,e0=eT(e,"ALLOWED_TAGS",e1,{transform:tF}),e2=eT(e,"ALLOWED_ATTR",e3,{transform:tF}),tD=eT(e,"ALLOWED_NAMESPACES",tC,{transform:O}),t_=eT(e,"ADD_URI_SAFE_ATTR",tw,{transform:tF,base:tw}),tS=eT(e,"ADD_DATA_URI_TAGS",tA,{transform:tF,base:tA}),tv=eT(e,"FORBID_CONTENTS",tT,{transform:tF}),e9=eT(e,"FORBID_TAGS",Y({}),{transform:tF}),e8=eT(e,"FORBID_ATTR",Y({}),{transform:tF}),tb=!!P(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?Y(e.USE_PROFILES):e.USE_PROFILES),e7=!1!==e.ALLOW_ARIA_ATTR,e5=!1!==e.ALLOW_DATA_ATTR,te=e.ALLOW_UNKNOWN_PROTOCOLS||!1,tt=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,tn=e.SAFE_FOR_TEMPLATES||!1,tr=!1!==e.SAFE_FOR_XML,to=e.WHOLE_DOCUMENT||!1,tc=e.RETURN_DOM||!1,ts=e.RETURN_DOM_FRAGMENT||!1,tf=e.RETURN_TRUSTED_TYPE||!1,tu=e.FORCE_BODY||!1,tp=!1!==e.SANITIZE_DOM,tm=e.SANITIZE_NAMED_PROPS||!1,th=!1!==e.KEEP_CONTENT,ty=e.IN_PLACE||!1,eQ=!function(e){try{return F(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?eu:e.ALLOWED_URI_REGEXP,tO="string"==typeof e.NAMESPACE?e.NAMESPACE:tk,tI=eS(e,"MATHML_TEXT_INTEGRATION_POINTS",()=>W({},tR)),tM=eS(e,"HTML_INTEGRATION_POINTS",()=>W({},tL));let r=eS(e,"CUSTOM_ELEMENT_HANDLING",()=>m(null));if(e4=m(null),P(r,"tagNameCheck")&&tB(r.tagNameCheck)&&(e4.tagNameCheck=r.tagNameCheck),P(r,"attributeNameCheck")&&tB(r.attributeNameCheck)&&(e4.attributeNameCheck=r.attributeNameCheck),P(r,"allowCustomizedBuiltInElements")&&"boolean"==typeof r.allowCustomizedBuiltInElements&&(e4.allowCustomizedBuiltInElements=r.allowCustomizedBuiltInElements),p(e4),tn&&(e5=!1),ts&&(tc=!0),tb&&(e0=W({},J),e2=m(null),!0===tb.html&&(W(e0,q),W(e2,Q)),!0===tb.svg&&(W(e0,$),W(e2,ee),W(e2,en)),!0===tb.svgFilters&&(W(e0,V),W(e2,ee),W(e2,en)),!0===tb.mathMl&&(W(e0,K),W(e2,et),W(e2,en))),e6.tagCheck=null,e6.attributeCheck=null,P(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?e6.tagCheck=e.ADD_TAGS:_(e.ADD_TAGS)&&(e0===e1&&(e0=Y(e0)),W(e0,e.ADD_TAGS,tF))),P(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?e6.attributeCheck=e.ADD_ATTR:_(e.ADD_ATTR)&&(e2===e3&&(e2=Y(e2)),W(e2,e.ADD_ATTR,tF))),P(e,"ADD_FORBID_CONTENTS")&&_(e.ADD_FORBID_CONTENTS)&&(tv===tT&&(tv=Y(tv)),W(tv,e.ADD_FORBID_CONTENTS,tF)),th&&(e0["#text"]=!0),to&&W(e0,["html","head","body"]),e0.table&&(W(e0,["tbody"]),delete e9.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw j('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw j('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let n=t;t=e.TRUSTED_TYPES_POLICY;try{ej=eY("")}catch(e){throw t=n,e}}else null===e.TRUSTED_TYPES_POLICY?(t=void 0,ej=""):(void 0===t&&(eH||(n=eb(e_,u),eH=!0),t=n),t&&"string"==typeof ej&&(ej=eY("")));f&&f(e),tj=e},tY=W({},[...$,...V,...X]),tG=W({},[...K,...Z]),tq=function(e){var t,n,r,o,i,a;let l,u,c=eF(e),s=k(eP(e)),f=eD(e);return f&&1===ez(f)?(l={namespaceURI:eF(f)},u=k(eP(f))):(l={namespaceURI:tO},u="template"),!!tD[c]&&(c===tN?(t=l,n=u,t.namespaceURI===tk?"svg"===s:t.namespaceURI===tE?"svg"===s&&("annotation-xml"===n||tI[n]):!!tY[s]):c===tE?(r=l,o=u,r.namespaceURI===tk?"math"===s:r.namespaceURI===tN?"math"===s&&tM[o]:!!tG[s]):c===tk?(i=l,a=u,(i.namespaceURI!==tN||!!tM[a])&&(i.namespaceURI!==tE||!!tI[a])&&!tG[s]&&(tz[s]||!tY[s])):"application/xhtml+xml"===tP&&!!tD[c])},t$=function(e){T(o.removed,{element:e});try{eD(e).removeChild(e)}catch(t){if(eN(e),!eD(e))throw j("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},tV=function(e,t,n){try{ek(e,t)}catch(t){try{e.removeAttribute(n)}catch(e){}}},tX=function(e){tQ(e);let t=ex(e);t&&g(S(t),e=>{try{eN(e)}catch(e){}});let n=1===ez(e)?eR(e):null;if(n)for(let t=n.length-1;t>=0;--t){let r=n[t],o=r&&r.name;"string"==typeof o&&tV(e,r,o)}},tK=function(e,t,n){if(!n)try{n=t.getAttributeNode(e)}catch(e){n=null}T(o.removed,{attribute:n||null,from:t});try{n?ek(t,n):t.removeAttribute(e)}catch(n){try{t.removeAttribute(e)}catch(e){}}if("is"===e)if(tc||ts)try{t$(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},tZ=function(e){let t=eR(e);if(t)for(let n=t.length-1;n>=0;--n){let r=t[n],o=r&&r.name;"string"!=typeof o||e2[tF(o)]||tV(e,r,o)}},tJ=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=[e];for(;r.length>0;){let e=r.pop();if(!1===t(e))continue;if(n&&1===ez(e)){let t=eC(e);no(t)&&r.push(t)}let o=ex(e);if(o)for(let e=o.length-1;e>=0;--e)r.push(o[e])}},tQ=function(e){tJ(e,e=>{1===ez(e)&&tZ(e)})},t0=function(e){let t=[];return tJ(e,e=>{t.push(e)},!0),t},t1=function(e,t){let n=w();g(t0(e),e=>{1===ez(e)&&E(n,e)}),g(t,e=>{1!==ez(e)||N(n,e)||tZ(e)})},t2=function(e,t){let n=!1;return g(o.removed,t=>{t.element&&(n=n||t.element===e,tQ(t.element))}),t1(e,t),n},t3=function(e,t){let n=tg,r=null,o=()=>(r||(r=w(),g(t,e=>{E(r,e)})),r);for(let t=0;;t++){let r=t0(e),i=[e],a=!1;if(g(r,e=>{11===ez(e)?T(i,e):a||N(n,e)||(a=N(o(),e))}),!a)return;if(t>=8)throw j("the tree kept changing during in-place sanitization; refusing to return it");g(i,(t,n)=>{t4(t,n>0,e,o())})}},t4=function(e,t,n,r){let o,i=t5(e);for(;o=i.nextNode();)!(!N(r,o)||N(tg,o))&&(t&&na(eJ.uponSanitizeShadowNode,o,null),nf(o,n),nb(o,n),no(o.content)&&nv(o.content))},t9=function(e){tg&&E(tg,e)},t8=function(e,t){return!!tr&&("patchsrc"===e||"for"===e&&"label"!==t&&"output"!==t)},t6=function(e){tr&&tJ(e,e=>{let t=ez(e);if(7===t||8===t&&F(ed,e.data)){try{eN(e)}catch(e){}return!1}if(1===t){let t=tF(eP(e));try{e.hasAttribute&&e.hasAttribute("patchsrc")&&e.removeAttribute("patchsrc"),e.hasAttribute&&e.hasAttribute("for")&&t8("for",t)&&e.removeAttribute("for")}catch(e){}}return!0})},t7=function(e){let n=null,r=null;if(tu)e="<remove></remove>"+e;else{let t=x(e,/^[\r\n\t ]+/);r=t&&t[0]}"application/xhtml+xml"===tP&&tO===tk&&(e='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+e+"</body></html>");let o=t?eY(e):e;if(tO===tk)try{n=new eA().parseFromString(o,tP)}catch(e){}if(!n||!n.documentElement){n=e$.createDocument(tO,"template",null);try{n.documentElement.innerHTML=tx?ej:o}catch(e){}}let a=n.body||n.documentElement;return(e&&r&&a.insertBefore(i.createTextNode(r),a.childNodes[0]||null),tO===tk)?eK.call(n,to?"html":"body")[0]:to?n.documentElement:a},t5=function(e){let t=eM?eM(e):e.ownerDocument;return eV.call(t||e,e,B.SHOW_ELEMENT|B.SHOW_COMMENT|B.SHOW_TEXT|B.SHOW_PROCESSING_INSTRUCTION|B.SHOW_CDATA_SECTION,null)},ne=function(e){return e=D(e,er," "),e=D(e,eo," "),e=D(e,ei," ")},nt=function(e){var t;nn(e);let n=null==(t=e.querySelectorAll)?void 0:t.call(e,"template");n&&g(n,e=>{no(e.content)&&nt(e.content)})},nn=function(e){e.normalize();let t=eM?eM(e):e.ownerDocument,n=eV.call(t||e,e,B.SHOW_TEXT|B.SHOW_COMMENT|B.SHOW_CDATA_SECTION|B.SHOW_PROCESSING_INSTRUCTION,null),r=n.nextNode();for(;r;)r.data=ne(r.data),r=n.nextNode()},nr=function(e){let t=eL?eL(e):null;return"string"==typeof t&&"form"===tF(t)&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||e.attributes!==eR(e)||"function"!=typeof e.removeAttribute||"function"!=typeof e.removeAttributeNode||"function"!=typeof e.getAttributeNode||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes||e.nodeType!==eI(e)||e.childNodes!==ex(e))},no=function(e){if(!eI||"object"!=typeof e||null===e)return!1;try{return 11===eI(e)}catch(e){return!1}},ni=function(e){if(!eI||"object"!=typeof e||null===e)return!1;try{return"number"==typeof eI(e)}catch(e){return!1}};function na(e,t,n){0!==e.length&&g(e,e=>{e.call(o,t,n,tj)})}let nl=function(e,t){if(e instanceof RegExp)return F(e,t);if(e instanceof Function){for(var n=arguments.length,r=Array(n>2?n-2:0),o=2;o<n;o++)r[o-2]=arguments[o];return!!e(t,...r)}return!1},nu=function(e,t,n){if(!e9[t]&&nd(t)&&nl(e4.tagNameCheck,t))return!1;if(th&&!tv[t]&&!tv[k(t)]){let t=eD(e),r=ex(e);if(r&&t){let o=r.length;for(let i=o-1;i>=0;--i){let o=e===n?eE(r[i],!0):r[i];t.insertBefore(o,eO(e))}}}return t$(e),!0},nc=function(e,t,n,r){return 0===e.length?t:t===n||t===r?Y(t):t},ns=function(e,t){return e!==t&&null===eD(e)&&(ty&&tQ(e),!0)},nf=function(e,t){if(t9(e),na(eJ.beforeSanitizeElements,e,null),ns(e,t))return!0;if(nr(e))return t$(e),!0;let n=tF(eP(e));if(e0=nc(eJ.uponSanitizeElement,e0,e1,ta),na(eJ.uponSanitizeElement,e,{tagName:n,allowedTags:e0}),ns(e,t))return!0;if(tr&&e.hasChildNodes()&&!ni(e.firstElementChild)&&F(em,e.textContent)&&F(em,e.innerHTML)||tr&&eg[n]&&1===ez(e)&&eF(e)===tk&&(ni(e.firstElementChild)||"string"==typeof e.textContent&&F(em,e.textContent))||7===e.nodeType||tr&&8===e.nodeType&&F(ed,e.data))return t$(e),!0;if(e9[n]||!(e6.tagCheck instanceof Function&&e6.tagCheck(n))&&!e0[n]){let r=nu(e,n,t);return!!(!1===r&&(na(eJ.afterSanitizeElements,e,null),ns(e,t)))||r}if(1===ez(e)&&!tq(e)||("noscript"===n||"noembed"===n||"noframes"===n)&&F(eh,e.innerHTML))return t$(e),!0;if(tn&&3===e.nodeType){let t=ne(e.textContent);e.textContent!==t&&(T(o.removed,{element:e.cloneNode()}),e.textContent=t)}return na(eJ.afterSanitizeElements,e,null),ns(e,t)},np=function(e,t,n){if(e8[t]||t8(t,e)||tp&&("id"===t||"name"===t)&&(n in i||n in tH))return!1;let r=e2[t]||e6.attributeCheck instanceof Function&&e6.attributeCheck(t,e);return!!(e5&&F(ea,t)||e7&&F(el,t))||(r?!(!(t_[t]||F(eQ,D(n,es,"")))&&("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==C(n,"data:")||!tS[e])&&(!te||F(ec,D(n,es,""))))||!n:nd(e)&&nl(e4.tagNameCheck,e)&&nl(e4.attributeNameCheck,t,e)||"is"===t&&e4.allowCustomizedBuiltInElements&&nl(e4.tagNameCheck,n))},nm=W({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),nd=function(e){return!nm[k(e)]&&F(ep,e)},nh=function(e,n,r,o){if(t&&"object"==typeof e_&&"function"==typeof e_.getAttributeType&&!r)switch(e_.getAttributeType(e,n)){case"TrustedHTML":return eY(o);case"TrustedScriptURL":return eG(o)}return o},ny=function(e,t,n,r){try{if(n?e.setAttributeNS(n,t,r):e.setAttribute(t,r),nr(e))return t$(e),!1;return!0}catch(n){return tK(t,e),!1}},ng=function(e,t){return!!(tr&&F(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,t))||"attributename"===k(e)&&null!==x(t,"href")},nb=function(e,t){if(na(eJ.beforeSanitizeAttributes,e,null),ns(e,t))return;let n=e.attributes;if(!n||nr(e))return;let r={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:e2=nc(eJ.uponSanitizeAttribute,e2,e3,tl),forceKeepAttr:void 0},i=n.length,a=tF(e.nodeName);for(;i--;){let t=n[i],l=t.name,u=t.namespaceURI,c=t.value,s=tF(l),f="value"===l?c:R(c),p=!1;if(r.attrName=s,r.attrValue=f,r.keepAttr=!0,r.forceKeepAttr=void 0,na(eJ.uponSanitizeAttribute,e,r),f=r.attrValue,tm&&("id"===s||"name"===s)&&0!==C(f,td)&&(tK(l,e,t),f=td+f,p=!0),ng(l,f)){tK(l,e,t);continue}if(!r.forceKeepAttr){if(!r.keepAttr||!tt&&F(ey,f)||(tn&&(f=ne(f)),!np(a,s,f))){tK(l,e,t);continue}(f=nh(a,s,u,f))!==c&&ny(e,l,u,f)&&p&&v(o.removed)}}na(eJ.afterSanitizeAttributes,e,null),ns(e,t)},nv=function(e){let t=null,n=t5(e);for(na(eJ.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)if(na(eJ.uponSanitizeShadowNode,t,null),nf(t,e),nb(t,e),no(t.content)&&nv(t.content),1===ez(t)){let e=eC(t);no(e)&&(nT(e),nv(e))}tn&&nn(e),na(eJ.afterSanitizeShadowDOM,e,null)},nT=function(e){let t=[{node:e,shadow:null}];for(;t.length>0;){let e=t.pop();if(e.shadow){nv(e.shadow);continue}let n=e.node,r=1===ez(n),o=ex(n);if(o)for(let e=o.length-1;e>=0;--e)t.push({node:o[e],shadow:null});if(r){let e=eL?eL(n):null;if("string"==typeof e&&"template"===tF(e)){let e=n.content;no(e)&&t.push({node:e,shadow:null})}}if(r){let e=eC(n);no(e)&&t.push({node:null,shadow:e},{node:e,shadow:null})}}};return o.sanitize=function(e){let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=null,i=null,a=null,u=null;if((tx=!e)&&(e="\x3c!--\x3e"),"string"!=typeof e&&!ni(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return I(e);case"boolean":return L(e);case"bigint":return M?M(e):"0";case"symbol":return z?z(e):"Symbol()";case"undefined":default:return U(e);case"function":case"object":{if(null===e)return U(e);let t=G(e,"toString");if("function"==typeof t){let n=t(e);return"string"==typeof n?n:U(n)}return U(e)}}}(e)))throw j("dirty is not a string, aborting");if(!o.isSupported)return e;ti?(e0=ta,e2=tl):tW(n),(eJ.uponSanitizeElement.length>0||eJ.uponSanitizeAttribute.length>0)&&(e0=Y(e0)),eJ.uponSanitizeAttribute.length>0&&(e2=Y(e2)),o.removed=[];let c=ty&&"string"!=typeof e&&ni(e),s=[],f=tg;if(c){t6(e);let t=eP(e);if("string"==typeof t){let n=tF(t);if(!e0[n]||e9[n])throw tX(e),j("root node is forbidden and cannot be sanitized in-place")}if(nr(e))throw tX(e),j("root node is clobbered and cannot be sanitized in-place");s=t0(e),tg=w()}else if(ni(e))1===(i=(r=t7("\x3c!----\x3e")).ownerDocument.importNode(e,!0)).nodeType&&"BODY"===i.nodeName||"HTML"===i.nodeName?r=i:r.appendChild(i),nT(r);else{if(!tc&&!tn&&!to&&-1===e.indexOf("<"))return t&&tf?eY(e):e;if(!(r=t7(e)))return tc?null:tf?ej:""}r&&tu&&t$(r.firstChild);let p=c?e:r;try{c&&nT(e);let t=t5(p);for(;a=t.nextNode();)nf(a,p),nb(a,p),no(a.content)&&nv(a.content);c&&t3(e,s)}catch(t){throw c&&(tX(e),t2(e,s)),t}finally{tg=f}if(c){if(t2(e,s))throw j("a node selected for removal could not be safely returned; refusing to sanitize in place");return tn&&nt(e),e}if(tc){if(tn&&nt(r),ts)for(u=eX.call(r.ownerDocument);r.firstChild;)u.appendChild(r.firstChild);else u=r;return(e2.shadowroot||e2.shadowrootmode)&&(u=eZ.call(l,u,!0)),u}let m=to?r.outerHTML:r.innerHTML;return to&&e0["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&F(ef,r.ownerDocument.doctype.name)&&(m="<!DOCTYPE "+r.ownerDocument.doctype.name+">\n"+m),tn&&(m=ne(m)),t&&tf?eY(m):m},o.setConfig=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};tW(e),ti=!0,ta=e0,tl=e2},o.clearConfig=function(){tj=null,ti=!1,ta=null,tl=null,t=n,ej=""},o.isValidAttribute=function(e,t,n){tj||tW({});let r=tF(e),o=tF(t);return!("string"==typeof n&&(ng(t,n)||!tt&&F(ey,n)))&&np(r,o,n)},o.addHook=function(e,t){"function"!=typeof t||P(eJ,e)&&T(eJ[e],t)},o.removeHook=function(e,t){if(P(eJ,e)){if(void 0!==t){let n=b(eJ[e],t);return -1===n?void 0:A(eJ[e],n,1)[0]}return v(eJ[e])}},o.removeHooks=function(e){P(eJ,e)&&(eJ[e]=[])},o.removeAllHooks=function(){eJ=ev()},o}()}}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2836],{15764:(e,s,t)=>{"use strict";t.d(s,{CK:()=>d.default,G9:()=>x.default,Iz:()=>j.default,KX:()=>y.PanelSkeleton,LF:()=>n.default,LH:()=>m.default,Mu:()=>y.StatCardSkeleton,Nf:()=>c.default,Qv:()=>l.CardSkeleton,YW:()=>v.YW,gw:()=>p.default,jK:()=>o.default,nh:()=>g.default,pV:()=>v.pV,rq:()=>i.default,uR:()=>r.default,uo:()=>a.ConfirmModal,vE:()=>h.default,vj:()=>u.default,wI:()=>f.default,wn:()=>v.wn,zY:()=>v.zY}),t(58913);var a=t(3537),l=t(58350);t(30872),t(33526),t(42535),t(1279);var n=t(92802),i=t(25908),r=t(58729),d=t(24873),c=t(5258),o=t(80599);t(949),t(56776),t(53599),t(88336),t(69561);var x=t(37753),m=t(23444),h=t(93624),u=t(86920),f=t(65461);t(14580);var p=t(14670),j=t(70296);t(57779),t(22205);var y=t(43276),g=t(75862),v=t(92412)},41684:(e,s,t)=>{"use strict";t.d(s,{default:()=>j});var a=t(29798),l=t(15814),n=t(75669),i=t(18055),r=t(77345),d=t(49787),c=t(1352),o=t(58913),x=t(15764),m=t(63523);function h({label:e,url:s,copyId:t,copied:l,onCopy:n,badge:d,actions:x}){return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-center font-mono text-xs min-w-[88px] ${"CF"===d||"TS"===d?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:e}),(0,a.jsx)(r.p,{value:s,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>n(s,t),children:(0,a.jsx)(o.default,{name:l===t?"check":"content_copy",className:"text-[18px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:l===t?"Copied!":"Copy"})]}),x]})}var u=t(54563),f=t(14231);function p({message:e,action:s}){return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,a.jsx)(o.default,{name:"warning",className:"text-[16px] shrink-0 mt-0.5"}),(0,a.jsx)("p",{className:"text-xs flex-1",children:e}),s&&(0,a.jsx)("a",{href:s.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:s.href.startsWith("#")?e=>{e.preventDefault(),document.getElementById(s.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:s.label})]})}function j({machineId:e}){let[s,t]=(0,l.useState)([]),[y,g]=(0,l.useState)(!0),[v,k]=(0,l.useState)(!1),[N,w]=(0,l.useState)(""),[C,b]=(0,l.useState)(null),[S,E]=(0,l.useState)(null),[P,I]=(0,l.useState)(!1),[K,A]=(0,l.useState)(new Set),[_,$]=(0,l.useState)(!1);(0,l.useEffect)(()=>{$(!["localhost","127.0.0.1","::1"].includes(window.location.hostname))},[]);let{copied:T,copy:O}=(0,m.C)();(0,l.useEffect)(()=>{z(),L()},[]);let L=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();I(s.requireApiKey||!1)}}catch(e){console.log("Error loading settings:",e)}},q=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:e})})).ok&&I(e)}catch(e){console.log("Error updating requireApiKey:",e)}},z=async()=>{try{let e=async()=>{let e=await fetch("/api/keys");return e.ok&&(await e.json()).keys||[]},s=await e();if(0===s.length)try{(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok&&(s=await e())}catch{}t(s)}catch(e){console.log("Error fetching data:",e)}finally{g(!1)}},D=async()=>{if(N.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:N})}),s=await e.json();e.ok&&(b(s.key),await z(),w(""),k(!1))}catch(e){console.log("Error creating key:",e)}},W=async e=>{E({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{E(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&(t(s.filter(s=>s.id!==e)),A(s=>{let t=new Set(s);return t.delete(e),t}))}catch(e){console.log("Error deleting key:",e)}}})},[Y,Z]=(0,l.useState)("/v1");return((0,l.useEffect)(()=>{Z(`${window.location.origin}/v1`)},[]),y)?(0,a.jsxs)(x.YW,{children:[(0,a.jsx)(x.KX,{}),(0,a.jsx)(x.KX,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(x.YW,{children:[(0,a.jsxs)(n.Zp,{children:[(0,a.jsx)(n.aR,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"api",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Endpoint"}),(0,a.jsx)(n.BT,{children:"Local and remote access URLs"})]})]})}),(0,a.jsx)(n.Wu,{children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(h,{label:"Local",url:Y,copyId:"local_url",copied:T,onCopy:O})})})]}),(0,a.jsxs)(n.Zp,{id:"require-api-key",children:[(0,a.jsxs)(n.aR,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Keys"}),(0,a.jsx)(n.BT,{children:"Keys for authenticating gateway requests"})]})]}),(0,a.jsx)(n.X9,{children:(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})})]}),(0,a.jsxs)(n.Wu,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Requests without a valid key will be rejected"})]}),(0,a.jsx)(f.d,{checked:P,onCheckedChange:()=>q(!P)})]}),_&&!P&&(0,a.jsx)("div",{className:"mb-4 -mt-2",children:(0,a.jsx)(p,{message:"Endpoint is exposed without an API key."})}),0===s.length?(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[32px]"})}),(0,a.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No API keys yet"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Create your first API key to get started"}),(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})]}):(0,a.jsx)("div",{className:"flex flex-col",children:s.map(e=>{var s;return(0,a.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===e.isActive?"opacity-60":""}`,children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,a.jsx)("code",{className:"text-xs text-muted-foreground font-mono",children:K.has(e.id)?e.key:(s=e.key)&&!(s.length<=10)?s.slice(0,6)+"•".repeat(s.length-10)+s.slice(-4):s||""}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>{var s;return s=e.id,void A(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},children:(0,a.jsx)(o.default,{name:K.has(e.id)?"visibility_off":"visibility",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:K.has(e.id)?"Hide key":"Show key"})]}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>O(e.key,e.id),children:(0,a.jsx)(o.default,{name:T===e.id?"check":"content_copy",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:T===e.id?"Copied!":"Copy"})]})]}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["Created ",new Date(e.createdAt).toLocaleDateString()]}),!1===e.isActive&&(0,a.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>W(e.id),className:"text-red-500 opacity-100 hover:bg-red-500/10 hover:text-red-500 sm:opacity-0 sm:group-hover:opacity-100",children:(0,a.jsx)(o.default,{name:"delete",className:"text-[18px]"})})})]},e.id)})})]})]})]}),(0,a.jsx)(d.lG,{open:v,onOpenChange:e=>{e||(k(!1),w(""))},children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"Create API Key"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsx)("div",{className:"flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)("label",{className:"text-sm font-medium text-foreground",children:"Key Name"}),(0,a.jsx)(r.p,{value:N,onChange:e=>w(e.target.value),placeholder:"Production Key"})]})})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)("div",{className:"flex w-full gap-2 sm:w-auto",children:(0,a.jsx)(i.$,{onClick:D,className:"w-full sm:w-auto",disabled:!N.trim(),children:"Create"})})})]})}),(0,a.jsx)(d.lG,{open:!!C,onOpenChange:e=>!e&&b(null),children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"API Key Created"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(u.Fc,{children:(0,a.jsxs)(u.TN,{children:[(0,a.jsx)("span",{className:"font-medium",children:"Save this key now! "}),"This is the only time you will see this key. Store it securely."]})}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(r.p,{value:C||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(i.$,{variant:"secondary",onClick:()=>O(C,"created_key"),children:[(0,a.jsx)(o.default,{name:"created_key"===T?"check":"content_copy"}),"created_key"===T?"Copied!":"Copy"]})]})]})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)(i.$,{onClick:()=>b(null),className:"w-full sm:w-auto",children:"Done"})})]})}),(0,a.jsx)(x.uo,{isOpen:!!S,onClose:()=>E(null),onConfirm:S?.onConfirm,title:S?.title||"Confirm",message:S?.message,variant:"danger"})]})}},92412:(e,s,t)=>{"use strict";t.d(s,{YW:()=>a.Page,pV:()=>a.CardGrid,wn:()=>a.Section,zY:()=>a.PageHeader}),t(16675),t(72778);var a=t(29575)},92836:(e,s,t)=>{Promise.resolve().then(t.bind(t,41684))}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2836],{15764:(e,s,t)=>{"use strict";t.d(s,{CK:()=>d.default,G9:()=>x.default,Iz:()=>j.default,KX:()=>y.PanelSkeleton,LF:()=>n.default,LH:()=>m.default,Mu:()=>y.StatCardSkeleton,Nf:()=>c.default,Qv:()=>l.CardSkeleton,YW:()=>v.YW,gw:()=>p.default,jK:()=>o.default,nh:()=>g.default,pV:()=>v.pV,rq:()=>i.default,uR:()=>r.default,uo:()=>a.ConfirmModal,vE:()=>h.default,vj:()=>u.default,wI:()=>f.default,wn:()=>v.wn,zY:()=>v.zY}),t(58913);var a=t(3537),l=t(58350);t(30872),t(33526),t(42535),t(1279);var n=t(92802),i=t(25908),r=t(58729),d=t(24873),c=t(5258),o=t(80599);t(949),t(56776),t(53599),t(77063),t(69561);var x=t(37753),m=t(23444),h=t(93624),u=t(86920),f=t(65461);t(14580);var p=t(14670),j=t(70296);t(57779),t(22205);var y=t(43276),g=t(75862),v=t(92412)},41684:(e,s,t)=>{"use strict";t.d(s,{default:()=>j});var a=t(29798),l=t(15814),n=t(75669),i=t(18055),r=t(77345),d=t(49787),c=t(1352),o=t(58913),x=t(15764),m=t(63523);function h({label:e,url:s,copyId:t,copied:l,onCopy:n,badge:d,actions:x}){return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-center font-mono text-xs min-w-[88px] ${"CF"===d||"TS"===d?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:e}),(0,a.jsx)(r.p,{value:s,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>n(s,t),children:(0,a.jsx)(o.default,{name:l===t?"check":"content_copy",className:"text-[18px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:l===t?"Copied!":"Copy"})]}),x]})}var u=t(54563),f=t(14231);function p({message:e,action:s}){return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,a.jsx)(o.default,{name:"warning",className:"text-[16px] shrink-0 mt-0.5"}),(0,a.jsx)("p",{className:"text-xs flex-1",children:e}),s&&(0,a.jsx)("a",{href:s.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:s.href.startsWith("#")?e=>{e.preventDefault(),document.getElementById(s.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:s.label})]})}function j({machineId:e}){let[s,t]=(0,l.useState)([]),[y,g]=(0,l.useState)(!0),[v,k]=(0,l.useState)(!1),[N,w]=(0,l.useState)(""),[C,b]=(0,l.useState)(null),[S,E]=(0,l.useState)(null),[P,I]=(0,l.useState)(!1),[K,A]=(0,l.useState)(new Set),[_,$]=(0,l.useState)(!1);(0,l.useEffect)(()=>{$(!["localhost","127.0.0.1","::1"].includes(window.location.hostname))},[]);let{copied:T,copy:O}=(0,m.C)();(0,l.useEffect)(()=>{z(),L()},[]);let L=async()=>{try{let e=await fetch("/api/settings");if(e.ok){let s=await e.json();I(s.requireApiKey||!1)}}catch(e){console.log("Error loading settings:",e)}},q=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:e})})).ok&&I(e)}catch(e){console.log("Error updating requireApiKey:",e)}},z=async()=>{try{let e=async()=>{let e=await fetch("/api/keys");return e.ok&&(await e.json()).keys||[]},s=await e();if(0===s.length)try{(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok&&(s=await e())}catch{}t(s)}catch(e){console.log("Error fetching data:",e)}finally{g(!1)}},D=async()=>{if(N.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:N})}),s=await e.json();e.ok&&(b(s.key),await z(),w(""),k(!1))}catch(e){console.log("Error creating key:",e)}},W=async e=>{E({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{E(null);try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&(t(s.filter(s=>s.id!==e)),A(s=>{let t=new Set(s);return t.delete(e),t}))}catch(e){console.log("Error deleting key:",e)}}})},[Y,Z]=(0,l.useState)("/v1");return((0,l.useEffect)(()=>{Z(`${window.location.origin}/v1`)},[]),y)?(0,a.jsxs)(x.YW,{children:[(0,a.jsx)(x.KX,{}),(0,a.jsx)(x.KX,{})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(x.YW,{children:[(0,a.jsxs)(n.Zp,{children:[(0,a.jsx)(n.aR,{children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"api",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Endpoint"}),(0,a.jsx)(n.BT,{children:"Local and remote access URLs"})]})]})}),(0,a.jsx)(n.Wu,{children:(0,a.jsx)("div",{className:"flex flex-col gap-2",children:(0,a.jsx)(h,{label:"Local",url:Y,copyId:"local_url",copied:T,onCopy:O})})})]}),(0,a.jsxs)(n.Zp,{id:"require-api-key",children:[(0,a.jsxs)(n.aR,{children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[20px]"})}),(0,a.jsxs)("div",{children:[(0,a.jsx)(n.ZB,{children:"API Keys"}),(0,a.jsx)(n.BT,{children:"Keys for authenticating gateway requests"})]})]}),(0,a.jsx)(n.X9,{children:(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})})]}),(0,a.jsxs)(n.Wu,{children:[(0,a.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:"Requests without a valid key will be rejected"})]}),(0,a.jsx)(f.d,{checked:P,onCheckedChange:()=>q(!P)})]}),_&&!P&&(0,a.jsx)("div",{className:"mb-4 -mt-2",children:(0,a.jsx)(p,{message:"Endpoint is exposed without an API key."})}),0===s.length?(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,a.jsx)(o.default,{name:"vpn_key",className:"text-[32px]"})}),(0,a.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No API keys yet"}),(0,a.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Create your first API key to get started"}),(0,a.jsxs)(i.$,{onClick:()=>k(!0),children:[(0,a.jsx)(o.default,{name:"add"}),"Create Key"]})]}):(0,a.jsx)("div",{className:"flex flex-col",children:s.map(e=>{var s;return(0,a.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===e.isActive?"opacity-60":""}`,children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,a.jsx)("code",{className:"text-xs text-muted-foreground font-mono",children:K.has(e.id)?e.key:(s=e.key)&&!(s.length<=10)?s.slice(0,6)+"•".repeat(s.length-10)+s.slice(-4):s||""}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>{var s;return s=e.id,void A(e=>{let t=new Set(e);return t.has(s)?t.delete(s):t.add(s),t})},children:(0,a.jsx)(o.default,{name:K.has(e.id)?"visibility_off":"visibility",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:K.has(e.id)?"Hide key":"Show key"})]}),(0,a.jsxs)(c.m_,{children:[(0,a.jsx)(c.k$,{asChild:!0,children:(0,a.jsx)("span",{className:"relative inline-flex",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-xs",onClick:()=>O(e.key,e.id),children:(0,a.jsx)(o.default,{name:T===e.id?"check":"content_copy",className:"text-[14px]"})})})}),(0,a.jsx)(c.ZI,{side:"top",children:T===e.id?"Copied!":"Copy"})]})]}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["Created ",new Date(e.createdAt).toLocaleDateString()]}),!1===e.isActive&&(0,a.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,a.jsx)("div",{className:"flex items-center gap-2",children:(0,a.jsx)(i.$,{variant:"ghost",size:"icon-sm",onClick:()=>W(e.id),className:"text-red-500 opacity-100 hover:bg-red-500/10 hover:text-red-500 sm:opacity-0 sm:group-hover:opacity-100",children:(0,a.jsx)(o.default,{name:"delete",className:"text-[18px]"})})})]},e.id)})})]})]})]}),(0,a.jsx)(d.lG,{open:v,onOpenChange:e=>{e||(k(!1),w(""))},children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"Create API Key"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsx)("div",{className:"flex flex-col gap-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,a.jsx)("label",{className:"text-sm font-medium text-foreground",children:"Key Name"}),(0,a.jsx)(r.p,{value:N,onChange:e=>w(e.target.value),placeholder:"Production Key"})]})})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)("div",{className:"flex w-full gap-2 sm:w-auto",children:(0,a.jsx)(i.$,{onClick:D,className:"w-full sm:w-auto",disabled:!N.trim(),children:"Create"})})})]})}),(0,a.jsx)(d.lG,{open:!!C,onOpenChange:e=>!e&&b(null),children:(0,a.jsxs)(d.Cf,{className:"max-w-md",children:[(0,a.jsx)(d.c7,{children:(0,a.jsx)(d.L3,{children:"API Key Created"})}),(0,a.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(u.Fc,{children:(0,a.jsxs)(u.TN,{children:[(0,a.jsx)("span",{className:"font-medium",children:"Save this key now! "}),"This is the only time you will see this key. Store it securely."]})}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(r.p,{value:C||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsxs)(i.$,{variant:"secondary",onClick:()=>O(C,"created_key"),children:[(0,a.jsx)(o.default,{name:"created_key"===T?"check":"content_copy"}),"created_key"===T?"Copied!":"Copy"]})]})]})}),(0,a.jsx)(d.Es,{children:(0,a.jsx)(i.$,{onClick:()=>b(null),className:"w-full sm:w-auto",children:"Done"})})]})}),(0,a.jsx)(x.uo,{isOpen:!!S,onClose:()=>E(null),onConfirm:S?.onConfirm,title:S?.title||"Confirm",message:S?.message,variant:"danger"})]})}},92412:(e,s,t)=>{"use strict";t.d(s,{YW:()=>a.Page,pV:()=>a.CardGrid,wn:()=>a.Section,zY:()=>a.PageHeader}),t(16675),t(72778);var a=t(29575)},92836:(e,s,t)=>{Promise.resolve().then(t.bind(t,41684))}}]);