n9router 0.4.43 → 0.4.44

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 (1005) hide show
  1. package/README.md +1 -1
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +13 -12
  4. package/app/.next/build-manifest.json +3 -3
  5. package/app/.next/prerender-manifest.json +3 -3
  6. package/app/.next/required-server-files.json +1 -1
  7. package/app/.next/routes-manifest.json +6 -0
  8. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  9. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  12. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  15. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  18. package/app/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  21. package/app/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  22. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  23. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  24. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  25. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  26. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  27. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  28. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  29. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  30. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  31. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  32. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  33. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  34. package/app/.next/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  35. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  36. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  37. package/app/.next/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  39. package/app/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  40. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/(dashboard)/dashboard/page.js +2 -2
  42. package/app/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  43. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  45. package/app/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  46. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +4 -4
  48. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  49. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  51. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  52. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  54. package/app/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  55. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  57. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  58. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  60. package/app/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  61. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  62. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  63. package/app/.next/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  64. package/app/.next/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  65. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  66. package/app/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  67. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js +3 -3
  69. package/app/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  70. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/_global-error/page.js +3 -3
  72. package/app/.next/server/app/_global-error/page.js.nft.json +1 -1
  73. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/_global-error.html +1 -1
  75. package/app/.next/server/app/_global-error.rsc +1 -1
  76. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  77. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  78. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  79. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  80. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  81. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  82. package/app/.next/server/app/_not-found/page.js +2 -2
  83. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  84. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/_not-found.html +1 -1
  86. package/app/.next/server/app/_not-found.rsc +6 -6
  87. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
  88. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  89. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +5 -5
  90. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  91. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  92. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +4 -4
  93. package/app/.next/server/app/api/antigravity-app/route.js +1 -1
  94. package/app/.next/server/app/api/antigravity-app/route.js.nft.json +1 -1
  95. package/app/.next/server/app/api/antigravity-app-v2/route.js +1 -1
  96. package/app/.next/server/app/api/antigravity-app-v2/route.js.nft.json +1 -1
  97. package/app/.next/server/app/api/antigravity-ide/route.js +1 -1
  98. package/app/.next/server/app/api/antigravity-ide/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/antigravity-targets/route.js +1 -1
  100. package/app/.next/server/app/api/antigravity-targets/route.js.nft.json +1 -1
  101. package/app/.next/server/app/api/antigravity-tools/import/route.js +1 -1
  102. package/app/.next/server/app/api/antigravity-tools/import/route.js.nft.json +1 -1
  103. package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js +1 -1
  104. package/app/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/auth/login/route.js +1 -1
  106. package/app/.next/server/app/api/auth/login/route.js.nft.json +1 -1
  107. package/app/.next/server/app/api/auth/logout/route.js +1 -1
  108. package/app/.next/server/app/api/auth/logout/route.js.nft.json +1 -1
  109. package/app/.next/server/app/api/auth/oidc/callback/route.js +1 -1
  110. package/app/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  111. package/app/.next/server/app/api/auth/oidc/start/route.js +1 -1
  112. package/app/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  113. package/app/.next/server/app/api/auth/oidc/test/route.js +1 -1
  114. package/app/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  115. package/app/.next/server/app/api/auth/status/route.js +1 -1
  116. package/app/.next/server/app/api/auth/status/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/cli-tools/all-statuses/route.js +4 -4
  118. package/app/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  119. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  120. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  121. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  122. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/cli-tools/claude-settings/route.js +2 -2
  124. package/app/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  125. package/app/.next/server/app/api/cli-tools/cline-settings/route.js +2 -2
  126. package/app/.next/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
  128. package/app/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  129. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  130. package/app/.next/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  131. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  132. package/app/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  133. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  134. package/app/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  136. package/app/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  137. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  138. package/app/.next/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  139. package/app/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
  140. package/app/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  141. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  142. package/app/.next/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  143. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  144. package/app/.next/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  145. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  146. package/app/.next/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  147. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  148. package/app/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  149. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  150. package/app/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  151. package/app/.next/server/app/api/combos/[id]/route.js +1 -1
  152. package/app/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
  153. package/app/.next/server/app/api/combos/route.js +1 -1
  154. package/app/.next/server/app/api/combos/route.js.nft.json +1 -1
  155. package/app/.next/server/app/api/donate/route.js +1 -1
  156. package/app/.next/server/app/api/donate/route.js.nft.json +1 -1
  157. package/app/.next/server/app/api/health/route.js +1 -1
  158. package/app/.next/server/app/api/health/route.js.nft.json +1 -1
  159. package/app/.next/server/app/api/init/route.js +1 -1
  160. package/app/.next/server/app/api/init/route.js.nft.json +1 -1
  161. package/app/.next/server/app/api/internal/account-health/route.js +1 -1
  162. package/app/.next/server/app/api/internal/account-health/route.js.nft.json +1 -1
  163. package/app/.next/server/app/api/internal/request-detail/route.js +1 -1
  164. package/app/.next/server/app/api/internal/request-detail/route.js.nft.json +1 -1
  165. package/app/.next/server/app/api/internal/usage/route.js +1 -1
  166. package/app/.next/server/app/api/internal/usage/route.js.nft.json +1 -1
  167. package/app/.next/server/app/api/keys/[id]/reset-usage/route.js +1 -1
  168. package/app/.next/server/app/api/keys/[id]/reset-usage/route.js.nft.json +1 -1
  169. package/app/.next/server/app/api/keys/[id]/route.js +1 -1
  170. package/app/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
  171. package/app/.next/server/app/api/keys/[id]/usage/route.js +1 -1
  172. package/app/.next/server/app/api/keys/[id]/usage/route.js.nft.json +1 -1
  173. package/app/.next/server/app/api/keys/route.js +1 -1
  174. package/app/.next/server/app/api/keys/route.js.nft.json +1 -1
  175. package/app/.next/server/app/api/locale/route.js +1 -1
  176. package/app/.next/server/app/api/locale/route.js.nft.json +1 -1
  177. package/app/.next/server/app/api/mcp/[plugin]/message/route.js +1 -1
  178. package/app/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  179. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  180. package/app/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  181. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  182. package/app/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  183. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  184. package/app/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  185. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  186. package/app/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  187. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  188. package/app/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  189. package/app/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
  190. package/app/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  191. package/app/.next/server/app/api/models/alias/route.js +1 -1
  192. package/app/.next/server/app/api/models/alias/route.js.nft.json +1 -1
  193. package/app/.next/server/app/api/models/availability/route.js +1 -1
  194. package/app/.next/server/app/api/models/availability/route.js.nft.json +1 -1
  195. package/app/.next/server/app/api/models/custom/route.js +1 -1
  196. package/app/.next/server/app/api/models/custom/route.js.nft.json +1 -1
  197. package/app/.next/server/app/api/models/disabled/route.js +1 -1
  198. package/app/.next/server/app/api/models/disabled/route.js.nft.json +1 -1
  199. package/app/.next/server/app/api/models/route.js +1 -1
  200. package/app/.next/server/app/api/models/route.js.nft.json +1 -1
  201. package/app/.next/server/app/api/models/test/route.js +1 -1
  202. package/app/.next/server/app/api/models/test/route.js.nft.json +1 -1
  203. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  204. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  205. package/app/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
  206. package/app/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  207. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  208. package/app/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  209. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  210. package/app/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  211. package/app/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
  212. package/app/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  213. package/app/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
  214. package/app/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  215. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  216. package/app/.next/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  217. package/app/.next/server/app/api/oauth/kiro/import/route.js +1 -1
  218. package/app/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  219. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  220. package/app/.next/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  221. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  222. package/app/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  223. package/app/.next/server/app/api/pricing/route.js +1 -1
  224. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -1
  225. package/app/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
  226. package/app/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  227. package/app/.next/server/app/api/provider-nodes/route.js +1 -1
  228. package/app/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
  229. package/app/.next/server/app/api/provider-nodes/validate/route.js +1 -1
  230. package/app/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  231. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  232. package/app/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  233. package/app/.next/server/app/api/providers/[id]/route.js +1 -1
  234. package/app/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  235. package/app/.next/server/app/api/providers/[id]/test/route.js +1 -1
  236. package/app/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  237. package/app/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
  238. package/app/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  239. package/app/.next/server/app/api/providers/client/route.js +1 -1
  240. package/app/.next/server/app/api/providers/client/route.js.nft.json +1 -1
  241. package/app/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
  242. package/app/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  243. package/app/.next/server/app/api/providers/route.js +1 -1
  244. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  245. package/app/.next/server/app/api/providers/suggested-models/route.js +1 -1
  246. package/app/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  247. package/app/.next/server/app/api/providers/test-batch/route.js +1 -1
  248. package/app/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  249. package/app/.next/server/app/api/providers/validate/route.js +1 -1
  250. package/app/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
  251. package/app/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
  252. package/app/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  253. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  254. package/app/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  255. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  256. package/app/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  257. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  258. package/app/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  259. package/app/.next/server/app/api/proxy-pools/route.js +1 -1
  260. package/app/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
  261. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  262. package/app/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  263. package/app/.next/server/app/api/settings/database/route.js +1 -1
  264. package/app/.next/server/app/api/settings/database/route.js.nft.json +1 -1
  265. package/app/.next/server/app/api/settings/database/selective/route.js +1 -0
  266. package/app/.next/server/app/api/settings/database/selective/route.js.nft.json +1 -0
  267. package/app/.next/server/app/api/settings/database/selective/route_client-reference-manifest.js +1 -0
  268. package/app/.next/server/app/api/settings/proxy-test/route.js +1 -1
  269. package/app/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  270. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  271. package/app/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
  272. package/app/.next/server/app/api/settings/route.js +1 -1
  273. package/app/.next/server/app/api/settings/route.js.nft.json +1 -1
  274. package/app/.next/server/app/api/shutdown/route.js +1 -1
  275. package/app/.next/server/app/api/shutdown/route.js.nft.json +1 -1
  276. package/app/.next/server/app/api/tags/route.js +1 -1
  277. package/app/.next/server/app/api/tags/route.js.nft.json +1 -1
  278. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  279. package/app/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  280. package/app/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
  281. package/app/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  282. package/app/.next/server/app/api/translator/load/route.js +1 -1
  283. package/app/.next/server/app/api/translator/load/route.js.nft.json +1 -1
  284. package/app/.next/server/app/api/translator/save/route.js +1 -1
  285. package/app/.next/server/app/api/translator/save/route.js.nft.json +1 -1
  286. package/app/.next/server/app/api/translator/send/route.js +1 -1
  287. package/app/.next/server/app/api/translator/send/route.js.nft.json +1 -1
  288. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  289. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  290. package/app/.next/server/app/api/tunnel/disable/route.js +1 -1
  291. package/app/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  292. package/app/.next/server/app/api/tunnel/enable/route.js +1 -1
  293. package/app/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  294. package/app/.next/server/app/api/tunnel/status/route.js +1 -1
  295. package/app/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
  296. package/app/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
  297. package/app/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  298. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  299. package/app/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  300. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  301. package/app/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  302. package/app/.next/server/app/api/tunnel/tailscale-install/route.js +2 -2
  303. package/app/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  304. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  305. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  306. package/app/.next/server/app/api/usage/chart/route.js +1 -1
  307. package/app/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
  308. package/app/.next/server/app/api/usage/history/route.js +1 -1
  309. package/app/.next/server/app/api/usage/history/route.js.nft.json +1 -1
  310. package/app/.next/server/app/api/usage/logs/route.js +1 -1
  311. package/app/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
  312. package/app/.next/server/app/api/usage/providers/route.js +1 -1
  313. package/app/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
  314. package/app/.next/server/app/api/usage/report/route.js +1 -1
  315. package/app/.next/server/app/api/usage/report/route.js.nft.json +1 -1
  316. package/app/.next/server/app/api/usage/request-details/route.js +1 -1
  317. package/app/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
  318. package/app/.next/server/app/api/usage/request-logs/route.js +1 -1
  319. package/app/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  320. package/app/.next/server/app/api/usage/stats/route.js +1 -1
  321. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
  322. package/app/.next/server/app/api/usage/stream/route.js +2 -2
  323. package/app/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
  324. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  325. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  326. package/app/.next/server/app/api/v1/audio/speech/route.js +1 -1
  327. package/app/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  328. package/app/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
  329. package/app/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  330. package/app/.next/server/app/api/v1/audio/voices/route.js +1 -1
  331. package/app/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  332. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  333. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  334. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  335. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  336. package/app/.next/server/app/api/v1/images/generations/route.js +2 -2
  337. package/app/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  338. package/app/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
  339. package/app/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  340. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  341. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  342. package/app/.next/server/app/api/v1/models/[kind]/route.js +1 -1
  343. package/app/.next/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  344. package/app/.next/server/app/api/v1/models/info/route.js +1 -1
  345. package/app/.next/server/app/api/v1/models/info/route.js.nft.json +1 -1
  346. package/app/.next/server/app/api/v1/models/route.js +1 -1
  347. package/app/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  348. package/app/.next/server/app/api/v1/responses/compact/route.js +1 -1
  349. package/app/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  350. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  351. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  352. package/app/.next/server/app/api/v1/route.js +1 -1
  353. package/app/.next/server/app/api/v1/route.js.nft.json +1 -1
  354. package/app/.next/server/app/api/v1/search/route.js +1 -1
  355. package/app/.next/server/app/api/v1/search/route.js.nft.json +1 -1
  356. package/app/.next/server/app/api/v1/web/fetch/route.js +1 -1
  357. package/app/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  358. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  359. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  360. package/app/.next/server/app/api/v1beta/models/route.js +1 -1
  361. package/app/.next/server/app/api/v1beta/models/route.js.nft.json +1 -1
  362. package/app/.next/server/app/api/version/route.js +1 -1
  363. package/app/.next/server/app/api/version/route.js.nft.json +1 -1
  364. package/app/.next/server/app/api/version/shutdown/route.js +1 -1
  365. package/app/.next/server/app/api/version/shutdown/route.js.nft.json +1 -1
  366. package/app/.next/server/app/api/version/update/route.js +1 -1
  367. package/app/.next/server/app/api/version/update/route.js.nft.json +1 -1
  368. package/app/.next/server/app/callback/page.js +2 -2
  369. package/app/.next/server/app/callback/page.js.nft.json +1 -1
  370. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  371. package/app/.next/server/app/callback.html +1 -1
  372. package/app/.next/server/app/callback.rsc +6 -6
  373. package/app/.next/server/app/callback.segments/_full.segment.rsc +6 -6
  374. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  375. package/app/.next/server/app/callback.segments/_index.segment.rsc +5 -5
  376. package/app/.next/server/app/callback.segments/_tree.segment.rsc +4 -4
  377. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  378. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  379. package/app/.next/server/app/dashboard/basic-chat.html +1 -1
  380. package/app/.next/server/app/dashboard/basic-chat.rsc +8 -8
  381. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  382. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  383. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  384. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  385. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  386. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  387. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  388. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
  389. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  390. package/app/.next/server/app/dashboard/cli-tools.rsc +8 -8
  391. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  392. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  393. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  394. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  395. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  396. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  397. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  398. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
  399. package/app/.next/server/app/dashboard/combos.html +1 -1
  400. package/app/.next/server/app/dashboard/combos.rsc +8 -8
  401. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  402. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  403. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  404. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  405. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  406. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  407. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  408. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
  409. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  410. package/app/.next/server/app/dashboard/endpoint.rsc +8 -8
  411. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  412. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  413. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  414. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  415. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  416. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  417. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  418. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
  419. package/app/.next/server/app/dashboard/media-providers/web.html +1 -1
  420. package/app/.next/server/app/dashboard/media-providers/web.rsc +8 -8
  421. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  422. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  423. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  424. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  425. package/app/.next/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  426. package/app/.next/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  427. package/app/.next/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  428. package/app/.next/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  429. package/app/.next/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
  430. package/app/.next/server/app/dashboard/mitm.html +1 -1
  431. package/app/.next/server/app/dashboard/mitm.rsc +8 -8
  432. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  433. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  434. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  435. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  436. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  437. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  438. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  439. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
  440. package/app/.next/server/app/dashboard/profile.html +1 -1
  441. package/app/.next/server/app/dashboard/profile.rsc +8 -8
  442. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  443. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  444. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  445. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  446. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  447. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  448. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  449. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
  450. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  451. package/app/.next/server/app/dashboard/providers/new.rsc +8 -8
  452. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  453. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  454. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  455. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  456. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  457. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  458. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  459. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  460. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
  461. package/app/.next/server/app/dashboard/providers.html +1 -1
  462. package/app/.next/server/app/dashboard/providers.rsc +8 -8
  463. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  464. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  465. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  466. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  467. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  468. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  469. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  470. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
  471. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  472. package/app/.next/server/app/dashboard/proxy-pools.rsc +8 -8
  473. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  474. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  475. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  476. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  477. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  478. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  479. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  480. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
  481. package/app/.next/server/app/dashboard/quota.html +2 -2
  482. package/app/.next/server/app/dashboard/quota.rsc +9 -9
  483. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  484. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  485. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  486. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  487. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  488. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  489. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  490. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
  491. package/app/.next/server/app/dashboard/settings/pricing/page.js +2 -2
  492. package/app/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  493. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  494. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  495. package/app/.next/server/app/dashboard/settings/pricing.rsc +6 -6
  496. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  497. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  498. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  499. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +4 -4
  500. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  501. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  502. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  503. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  504. package/app/.next/server/app/dashboard/skills.html +1 -1
  505. package/app/.next/server/app/dashboard/skills.rsc +8 -8
  506. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  507. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  508. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  509. package/app/.next/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  510. package/app/.next/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  511. package/app/.next/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  512. package/app/.next/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  513. package/app/.next/server/app/dashboard/skills.segments/_tree.segment.rsc +4 -4
  514. package/app/.next/server/app/dashboard/translator.html +1 -1
  515. package/app/.next/server/app/dashboard/translator.rsc +8 -8
  516. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  517. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  518. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  519. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  520. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  521. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  522. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  523. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
  524. package/app/.next/server/app/dashboard/usage.html +1 -1
  525. package/app/.next/server/app/dashboard/usage.rsc +8 -8
  526. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  527. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  528. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  529. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  530. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  531. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  532. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  533. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
  534. package/app/.next/server/app/dashboard.html +1 -1
  535. package/app/.next/server/app/dashboard.rsc +8 -8
  536. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  537. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  538. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  539. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +8 -8
  540. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  541. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +5 -5
  542. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +4 -4
  543. package/app/.next/server/app/favicon.ico/route.js +1 -1
  544. package/app/.next/server/app/favicon.ico/route.js.nft.json +1 -1
  545. package/app/.next/server/app/index.html +1 -1
  546. package/app/.next/server/app/index.rsc +6 -6
  547. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  548. package/app/.next/server/app/index.segments/_full.segment.rsc +6 -6
  549. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  550. package/app/.next/server/app/index.segments/_index.segment.rsc +5 -5
  551. package/app/.next/server/app/index.segments/_tree.segment.rsc +4 -4
  552. package/app/.next/server/app/landing/page.js +2 -2
  553. package/app/.next/server/app/landing/page.js.nft.json +1 -1
  554. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  555. package/app/.next/server/app/landing.html +1 -1
  556. package/app/.next/server/app/landing.rsc +6 -6
  557. package/app/.next/server/app/landing.segments/_full.segment.rsc +6 -6
  558. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  559. package/app/.next/server/app/landing.segments/_index.segment.rsc +5 -5
  560. package/app/.next/server/app/landing.segments/_tree.segment.rsc +4 -4
  561. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  562. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  563. package/app/.next/server/app/login/page.js +2 -2
  564. package/app/.next/server/app/login/page.js.nft.json +1 -1
  565. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  566. package/app/.next/server/app/login.html +1 -1
  567. package/app/.next/server/app/login.rsc +7 -7
  568. package/app/.next/server/app/login.segments/_full.segment.rsc +7 -7
  569. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  570. package/app/.next/server/app/login.segments/_index.segment.rsc +5 -5
  571. package/app/.next/server/app/login.segments/_tree.segment.rsc +4 -4
  572. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  573. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  574. package/app/.next/server/app/manifest.webmanifest/route.js +2 -2
  575. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  576. package/app/.next/server/app/page.js +2 -2
  577. package/app/.next/server/app/page.js.nft.json +1 -1
  578. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  579. package/app/.next/server/app-paths-manifest.json +13 -12
  580. package/app/.next/server/chunks/1051.js +1 -1
  581. package/app/.next/server/chunks/1476.js +1 -1
  582. package/app/.next/server/chunks/1498.js +1 -1
  583. package/app/.next/server/chunks/2569.js +1 -0
  584. package/app/.next/server/chunks/3110.js +10 -8
  585. package/app/.next/server/chunks/318.js +7 -7
  586. package/app/.next/server/chunks/3588.js +1 -1
  587. package/app/.next/server/chunks/365.js +1 -1
  588. package/app/.next/server/chunks/412.js +2 -2
  589. package/app/.next/server/chunks/4177.js +1 -1
  590. package/app/.next/server/chunks/4250.js +1 -1
  591. package/app/.next/server/chunks/4389.js +1 -1
  592. package/app/.next/server/chunks/4404.js +1 -1
  593. package/app/.next/server/chunks/5859.js +1 -0
  594. package/app/.next/server/chunks/5995.js +1 -1
  595. package/app/.next/server/chunks/6108.js +1 -1
  596. package/app/.next/server/chunks/6182.js +1 -1
  597. package/app/.next/server/chunks/6457.js +2 -2
  598. package/app/.next/server/chunks/6811.js +1 -1
  599. package/app/.next/server/chunks/7341.js +1 -1
  600. package/app/.next/server/chunks/7828.js +1 -1
  601. package/app/.next/server/chunks/7879.js +1 -1
  602. package/app/.next/server/chunks/7912.js +1 -0
  603. package/app/.next/server/chunks/7994.js +2 -2
  604. package/app/.next/server/chunks/8473.js +2 -2
  605. package/app/.next/server/chunks/8838.js +1 -0
  606. package/app/.next/server/chunks/8895.js +7 -5
  607. package/app/.next/server/chunks/9295.js +1 -0
  608. package/app/.next/server/chunks/9489.js +1 -1
  609. package/app/.next/server/chunks/9718.js +1 -1
  610. package/app/.next/server/chunks/9807.js +1 -1
  611. package/app/.next/server/middleware-build-manifest.js +1 -1
  612. package/app/.next/server/middleware.js +4 -4
  613. package/app/.next/server/next-font-manifest.js +1 -1
  614. package/app/.next/server/next-font-manifest.json +1 -1
  615. package/app/.next/server/pages/404.html +1 -1
  616. package/app/.next/server/pages/500.html +1 -1
  617. package/app/.next/server/server-reference-manifest.js +1 -1
  618. package/app/.next/server/server-reference-manifest.json +1 -1
  619. package/app/.next/static/chunks/1321-5ac5b0e0510e7bc1.js +1 -0
  620. package/app/.next/static/chunks/2589-89684df31938c4c7.js +3 -0
  621. package/app/.next/static/chunks/{4406-abc51cf55210026c.js → 4406-9357c0d7c2c19d9b.js} +6 -6
  622. package/app/.next/static/chunks/5497-f16d2c74532d4ad3.js +7 -0
  623. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-5d6cf330f43257e2.js +1 -0
  624. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-bc4b466a331dbb31.js +6 -0
  625. package/app/.next/static/chunks/app/(dashboard)/{layout-1244fdc593309aa9.js → layout-5d6111c3c8c1af01.js} +1 -1
  626. package/app/.next/static/chunks/app/_global-error/{page-9e73c1f718efb820.js → page-663014002ada02ea.js} +1 -1
  627. package/app/.next/static/chunks/app/api/antigravity-app/{route-9e73c1f718efb820.js → route-663014002ada02ea.js} +1 -1
  628. package/app/.next/static/chunks/app/api/antigravity-app-v2/{route-9e73c1f718efb820.js → route-663014002ada02ea.js} +1 -1
  629. package/app/.next/static/chunks/app/api/antigravity-ide/{route-9e73c1f718efb820.js → route-663014002ada02ea.js} +1 -1
  630. package/app/.next/static/chunks/app/api/antigravity-targets/route-663014002ada02ea.js +1 -0
  631. package/app/.next/static/chunks/app/api/antigravity-tools/import/route-663014002ada02ea.js +1 -0
  632. package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-663014002ada02ea.js +1 -0
  633. package/app/.next/static/chunks/app/api/auth/login/route-663014002ada02ea.js +1 -0
  634. package/app/.next/static/chunks/app/api/auth/logout/route-663014002ada02ea.js +1 -0
  635. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-663014002ada02ea.js +1 -0
  636. package/app/.next/static/chunks/app/api/auth/oidc/start/route-663014002ada02ea.js +1 -0
  637. package/app/.next/static/chunks/app/api/auth/oidc/test/route-663014002ada02ea.js +1 -0
  638. package/app/.next/static/chunks/app/api/auth/status/route-663014002ada02ea.js +1 -0
  639. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-663014002ada02ea.js +1 -0
  640. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-663014002ada02ea.js +1 -0
  641. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-663014002ada02ea.js +1 -0
  642. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-663014002ada02ea.js +1 -0
  643. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-663014002ada02ea.js +1 -0
  644. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-663014002ada02ea.js +1 -0
  645. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-663014002ada02ea.js +1 -0
  646. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-663014002ada02ea.js +1 -0
  647. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-663014002ada02ea.js +1 -0
  648. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-663014002ada02ea.js +1 -0
  649. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-663014002ada02ea.js +1 -0
  650. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-663014002ada02ea.js +1 -0
  651. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-663014002ada02ea.js +1 -0
  652. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-663014002ada02ea.js +1 -0
  653. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-663014002ada02ea.js +1 -0
  654. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-663014002ada02ea.js +1 -0
  655. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-663014002ada02ea.js +1 -0
  656. package/app/.next/static/chunks/app/api/combos/[id]/route-663014002ada02ea.js +1 -0
  657. package/app/.next/static/chunks/app/api/combos/route-663014002ada02ea.js +1 -0
  658. package/app/.next/static/chunks/app/api/donate/route-663014002ada02ea.js +1 -0
  659. package/app/.next/static/chunks/app/api/health/route-663014002ada02ea.js +1 -0
  660. package/app/.next/static/chunks/app/api/init/route-663014002ada02ea.js +1 -0
  661. package/app/.next/static/chunks/app/api/internal/account-health/route-663014002ada02ea.js +1 -0
  662. package/app/.next/static/chunks/app/api/internal/request-detail/route-663014002ada02ea.js +1 -0
  663. package/app/.next/static/chunks/app/api/internal/usage/route-663014002ada02ea.js +1 -0
  664. package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-663014002ada02ea.js +1 -0
  665. package/app/.next/static/chunks/app/api/keys/[id]/route-663014002ada02ea.js +1 -0
  666. package/app/.next/static/chunks/app/api/keys/[id]/usage/route-663014002ada02ea.js +1 -0
  667. package/app/.next/static/chunks/app/api/keys/route-663014002ada02ea.js +1 -0
  668. package/app/.next/static/chunks/app/api/locale/route-663014002ada02ea.js +1 -0
  669. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-663014002ada02ea.js +1 -0
  670. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-663014002ada02ea.js +1 -0
  671. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-663014002ada02ea.js +1 -0
  672. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-663014002ada02ea.js +1 -0
  673. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-663014002ada02ea.js +1 -0
  674. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-663014002ada02ea.js +1 -0
  675. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-663014002ada02ea.js +1 -0
  676. package/app/.next/static/chunks/app/api/models/alias/route-663014002ada02ea.js +1 -0
  677. package/app/.next/static/chunks/app/api/models/availability/route-663014002ada02ea.js +1 -0
  678. package/app/.next/static/chunks/app/api/models/custom/route-663014002ada02ea.js +1 -0
  679. package/app/.next/static/chunks/app/api/models/disabled/route-663014002ada02ea.js +1 -0
  680. package/app/.next/static/chunks/app/api/models/route-663014002ada02ea.js +1 -0
  681. package/app/.next/static/chunks/app/api/models/test/route-663014002ada02ea.js +1 -0
  682. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-663014002ada02ea.js +1 -0
  683. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-663014002ada02ea.js +1 -0
  684. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-663014002ada02ea.js +1 -0
  685. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-663014002ada02ea.js +1 -0
  686. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-663014002ada02ea.js +1 -0
  687. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-663014002ada02ea.js +1 -0
  688. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-663014002ada02ea.js +1 -0
  689. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-663014002ada02ea.js +1 -0
  690. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-663014002ada02ea.js +1 -0
  691. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-663014002ada02ea.js +1 -0
  692. package/app/.next/static/chunks/app/api/pricing/route-663014002ada02ea.js +1 -0
  693. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-663014002ada02ea.js +1 -0
  694. package/app/.next/static/chunks/app/api/provider-nodes/route-663014002ada02ea.js +1 -0
  695. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-663014002ada02ea.js +1 -0
  696. package/app/.next/static/chunks/app/api/providers/[id]/models/route-663014002ada02ea.js +1 -0
  697. package/app/.next/static/chunks/app/api/providers/[id]/route-663014002ada02ea.js +1 -0
  698. package/app/.next/static/chunks/app/api/providers/[id]/test/route-663014002ada02ea.js +1 -0
  699. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-663014002ada02ea.js +1 -0
  700. package/app/.next/static/chunks/app/api/providers/client/route-663014002ada02ea.js +1 -0
  701. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-663014002ada02ea.js +1 -0
  702. package/app/.next/static/chunks/app/api/providers/route-663014002ada02ea.js +1 -0
  703. package/app/.next/static/chunks/app/api/providers/suggested-models/route-663014002ada02ea.js +1 -0
  704. package/app/.next/static/chunks/app/api/providers/test-batch/route-663014002ada02ea.js +1 -0
  705. package/app/.next/static/chunks/app/api/providers/validate/route-663014002ada02ea.js +1 -0
  706. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-663014002ada02ea.js +1 -0
  707. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-663014002ada02ea.js +1 -0
  708. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-663014002ada02ea.js +1 -0
  709. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-663014002ada02ea.js +1 -0
  710. package/app/.next/static/chunks/app/api/proxy-pools/route-663014002ada02ea.js +1 -0
  711. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-663014002ada02ea.js +1 -0
  712. package/app/.next/static/chunks/app/api/settings/database/route-663014002ada02ea.js +1 -0
  713. package/app/.next/static/chunks/app/api/settings/database/selective/route-663014002ada02ea.js +1 -0
  714. package/app/.next/static/chunks/app/api/settings/proxy-test/route-663014002ada02ea.js +1 -0
  715. package/app/.next/static/chunks/app/api/settings/require-login/route-663014002ada02ea.js +1 -0
  716. package/app/.next/static/chunks/app/api/settings/route-663014002ada02ea.js +1 -0
  717. package/app/.next/static/chunks/app/api/shutdown/route-663014002ada02ea.js +1 -0
  718. package/app/.next/static/chunks/app/api/tags/route-663014002ada02ea.js +1 -0
  719. package/app/.next/static/chunks/app/api/translator/console-logs/route-663014002ada02ea.js +1 -0
  720. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-663014002ada02ea.js +1 -0
  721. package/app/.next/static/chunks/app/api/translator/load/route-663014002ada02ea.js +1 -0
  722. package/app/.next/static/chunks/app/api/translator/save/route-663014002ada02ea.js +1 -0
  723. package/app/.next/static/chunks/app/api/translator/send/route-663014002ada02ea.js +1 -0
  724. package/app/.next/static/chunks/app/api/translator/translate/route-663014002ada02ea.js +1 -0
  725. package/app/.next/static/chunks/app/api/tunnel/disable/route-663014002ada02ea.js +1 -0
  726. package/app/.next/static/chunks/app/api/tunnel/enable/route-663014002ada02ea.js +1 -0
  727. package/app/.next/static/chunks/app/api/tunnel/status/route-663014002ada02ea.js +1 -0
  728. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-663014002ada02ea.js +1 -0
  729. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-663014002ada02ea.js +1 -0
  730. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-663014002ada02ea.js +1 -0
  731. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-663014002ada02ea.js +1 -0
  732. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-663014002ada02ea.js +1 -0
  733. package/app/.next/static/chunks/app/api/usage/chart/route-663014002ada02ea.js +1 -0
  734. package/app/.next/static/chunks/app/api/usage/history/route-663014002ada02ea.js +1 -0
  735. package/app/.next/static/chunks/app/api/usage/logs/route-663014002ada02ea.js +1 -0
  736. package/app/.next/static/chunks/app/api/usage/providers/route-663014002ada02ea.js +1 -0
  737. package/app/.next/static/chunks/app/api/usage/report/route-663014002ada02ea.js +1 -0
  738. package/app/.next/static/chunks/app/api/usage/request-details/route-663014002ada02ea.js +1 -0
  739. package/app/.next/static/chunks/app/api/usage/request-logs/route-663014002ada02ea.js +1 -0
  740. package/app/.next/static/chunks/app/api/usage/stats/route-663014002ada02ea.js +1 -0
  741. package/app/.next/static/chunks/app/api/usage/stream/route-663014002ada02ea.js +1 -0
  742. package/app/.next/static/chunks/app/api/v1/api/chat/route-663014002ada02ea.js +1 -0
  743. package/app/.next/static/chunks/app/api/v1/audio/speech/route-663014002ada02ea.js +1 -0
  744. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-663014002ada02ea.js +1 -0
  745. package/app/.next/static/chunks/app/api/v1/audio/voices/route-663014002ada02ea.js +1 -0
  746. package/app/.next/static/chunks/app/api/v1/chat/completions/route-663014002ada02ea.js +1 -0
  747. package/app/.next/static/chunks/app/api/v1/embeddings/route-663014002ada02ea.js +1 -0
  748. package/app/.next/static/chunks/app/api/v1/images/generations/route-663014002ada02ea.js +1 -0
  749. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-663014002ada02ea.js +1 -0
  750. package/app/.next/static/chunks/app/api/v1/messages/route-663014002ada02ea.js +1 -0
  751. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-663014002ada02ea.js +1 -0
  752. package/app/.next/static/chunks/app/api/v1/models/info/route-663014002ada02ea.js +1 -0
  753. package/app/.next/static/chunks/app/api/v1/models/route-663014002ada02ea.js +1 -0
  754. package/app/.next/static/chunks/app/api/v1/responses/compact/route-663014002ada02ea.js +1 -0
  755. package/app/.next/static/chunks/app/api/v1/responses/route-663014002ada02ea.js +1 -0
  756. package/app/.next/static/chunks/app/api/v1/route-663014002ada02ea.js +1 -0
  757. package/app/.next/static/chunks/app/api/v1/search/route-663014002ada02ea.js +1 -0
  758. package/app/.next/static/chunks/app/api/v1/web/fetch/route-663014002ada02ea.js +1 -0
  759. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-663014002ada02ea.js +1 -0
  760. package/app/.next/static/chunks/app/api/v1beta/models/route-663014002ada02ea.js +1 -0
  761. package/app/.next/static/chunks/app/api/version/route-663014002ada02ea.js +1 -0
  762. package/app/.next/static/chunks/app/api/version/shutdown/route-663014002ada02ea.js +1 -0
  763. package/app/.next/static/chunks/app/api/version/update/route-663014002ada02ea.js +1 -0
  764. package/app/.next/static/chunks/app/layout-c8d22221de81bd88.js +1 -0
  765. package/app/.next/static/chunks/app/manifest.webmanifest/route-663014002ada02ea.js +1 -0
  766. package/app/.next/static/chunks/app/page-663014002ada02ea.js +1 -0
  767. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-663014002ada02ea.js +1 -0
  768. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-663014002ada02ea.js +1 -0
  769. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-663014002ada02ea.js +1 -0
  770. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-663014002ada02ea.js +1 -0
  771. package/app/.next/static/chunks/{webpack-c2bac8d80aa27536.js → webpack-3c02ff02ae0645c5.js} +1 -1
  772. package/app/.next/static/css/aadc31e0cf060839.css +1 -0
  773. package/app/.next/static/css/d73c8ccb42eb9a7d.css +1 -0
  774. package/app/.next/static/media/6c596dfcddeca1e9-s.p.woff2 +0 -0
  775. package/app/.next/static/zOWV4f8WCIf4AVjdpAv5I/_buildManifest.js +1 -0
  776. package/app/open-sse/config/providerModels.js +12 -1
  777. package/app/open-sse/config/providers.js +2 -2
  778. package/app/open-sse/config/runtimeConfig.js +2 -2
  779. package/app/open-sse/executors/base.js +6 -6
  780. package/app/open-sse/executors/codex.js +13 -0
  781. package/app/open-sse/executors/default.js +1 -4
  782. package/app/open-sse/executors/index.js +3 -0
  783. package/app/open-sse/executors/qoder.js +6 -6
  784. package/app/open-sse/executors/xiaomi-tokenplan.js +19 -0
  785. package/app/open-sse/handlers/chatCore/nonStreamingHandler.js +6 -2
  786. package/app/open-sse/handlers/chatCore/sseToJsonHandler.js +2 -1
  787. package/app/open-sse/handlers/chatCore/streamingHandler.js +6 -1
  788. package/app/open-sse/handlers/chatCore.js +11 -4
  789. package/app/open-sse/handlers/imageProviders/codex.js +2 -2
  790. package/app/open-sse/index.js +8 -0
  791. package/app/open-sse/rtk/cavemanPrompts.js +46 -3
  792. package/app/open-sse/services/model.js +2 -0
  793. package/app/open-sse/services/oauthCredentialManager.js +151 -0
  794. package/app/open-sse/services/tokenRefresh.js +68 -56
  795. package/app/open-sse/transformer/streamToJsonConverter.js +1 -1
  796. package/app/open-sse/translator/request/openai-to-claude.js +26 -6
  797. package/app/open-sse/translator/request/openai-to-kiro.js +245 -39
  798. package/app/open-sse/translator/response/openai-responses.js +1 -1
  799. package/app/open-sse/utils/claudeCloaking.js +21 -8
  800. package/app/open-sse/utils/reasoningContentInjector.js +4 -2
  801. package/app/open-sse/utils/responsesStreamHelpers.js +49 -0
  802. package/app/open-sse/utils/stream.js +61 -3
  803. package/app/open-sse/utils/streamHandler.js +26 -16
  804. package/app/package.json +1 -1
  805. package/app/public/i18n/literals/ar.json +2 -1
  806. package/app/public/i18n/literals/bn.json +2 -1
  807. package/app/public/i18n/literals/cs.json +2 -1
  808. package/app/public/i18n/literals/da.json +2 -1
  809. package/app/public/i18n/literals/de.json +2 -1
  810. package/app/public/i18n/literals/el.json +2 -1
  811. package/app/public/i18n/literals/es.json +2 -1
  812. package/app/public/i18n/literals/fi.json +2 -1
  813. package/app/public/i18n/literals/fr.json +2 -1
  814. package/app/public/i18n/literals/he.json +2 -1
  815. package/app/public/i18n/literals/hi.json +2 -1
  816. package/app/public/i18n/literals/hu.json +2 -1
  817. package/app/public/i18n/literals/id.json +2 -1
  818. package/app/public/i18n/literals/it.json +2 -1
  819. package/app/public/i18n/literals/ja.json +2 -1
  820. package/app/public/i18n/literals/ko.json +2 -1
  821. package/app/public/i18n/literals/nl.json +2 -1
  822. package/app/public/i18n/literals/no.json +2 -1
  823. package/app/public/i18n/literals/pl.json +2 -1
  824. package/app/public/i18n/literals/pt-BR.json +2 -1
  825. package/app/public/i18n/literals/pt-PT.json +2 -1
  826. package/app/public/i18n/literals/ro.json +2 -1
  827. package/app/public/i18n/literals/ru.json +2 -1
  828. package/app/public/i18n/literals/sv.json +2 -1
  829. package/app/public/i18n/literals/th.json +2 -1
  830. package/app/public/i18n/literals/tl.json +2 -1
  831. package/app/public/i18n/literals/tr.json +2 -1
  832. package/app/public/i18n/literals/uk.json +2 -1
  833. package/app/public/i18n/literals/ur.json +2 -1
  834. package/app/public/i18n/literals/vi.json +2 -1
  835. package/app/public/i18n/literals/zh-CN.json +5 -1
  836. package/app/public/i18n/literals/zh-TW.json +2 -1
  837. package/app/server.js +1 -1
  838. package/app/src/mitm/config.js +16 -2
  839. package/app/src/mitm/handlers/base.js +159 -1
  840. package/app/src/mitm/tokenPool.js +206 -81
  841. package/app/src/shared/constants/cliTools.js +15 -2
  842. package/app/src/shared/constants/locales.js +36 -0
  843. package/app/src/shared/constants/pricing.js +2 -0
  844. package/package.json +1 -1
  845. package/app/.next/server/chunks/1569.js +0 -1
  846. package/app/.next/server/chunks/5221.js +0 -1
  847. package/app/.next/server/chunks/6251.js +0 -1
  848. package/app/.next/server/chunks/8590.js +0 -1
  849. package/app/.next/server/chunks/9609.js +0 -1
  850. package/app/.next/static/chunks/1321-03808de72db0a766.js +0 -1
  851. package/app/.next/static/chunks/2589-d4f1afc5e9f94887.js +0 -3
  852. package/app/.next/static/chunks/5497-6693628388854075.js +0 -7
  853. package/app/.next/static/chunks/app/(dashboard)/dashboard/profile/page-ff34887f020e7a37.js +0 -1
  854. package/app/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-90eac92387b41cd4.js +0 -6
  855. package/app/.next/static/chunks/app/api/antigravity-targets/route-9e73c1f718efb820.js +0 -1
  856. package/app/.next/static/chunks/app/api/antigravity-tools/import/route-9e73c1f718efb820.js +0 -1
  857. package/app/.next/static/chunks/app/api/antigravity-tools/import-refresh-tokens/route-9e73c1f718efb820.js +0 -1
  858. package/app/.next/static/chunks/app/api/auth/login/route-9e73c1f718efb820.js +0 -1
  859. package/app/.next/static/chunks/app/api/auth/logout/route-9e73c1f718efb820.js +0 -1
  860. package/app/.next/static/chunks/app/api/auth/oidc/callback/route-9e73c1f718efb820.js +0 -1
  861. package/app/.next/static/chunks/app/api/auth/oidc/start/route-9e73c1f718efb820.js +0 -1
  862. package/app/.next/static/chunks/app/api/auth/oidc/test/route-9e73c1f718efb820.js +0 -1
  863. package/app/.next/static/chunks/app/api/auth/status/route-9e73c1f718efb820.js +0 -1
  864. package/app/.next/static/chunks/app/api/cli-tools/all-statuses/route-9e73c1f718efb820.js +0 -1
  865. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-9e73c1f718efb820.js +0 -1
  866. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-9e73c1f718efb820.js +0 -1
  867. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-9e73c1f718efb820.js +0 -1
  868. package/app/.next/static/chunks/app/api/cli-tools/cline-settings/route-9e73c1f718efb820.js +0 -1
  869. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-9e73c1f718efb820.js +0 -1
  870. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-9e73c1f718efb820.js +0 -1
  871. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9e73c1f718efb820.js +0 -1
  872. package/app/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9e73c1f718efb820.js +0 -1
  873. package/app/.next/static/chunks/app/api/cli-tools/cowork-settings/route-9e73c1f718efb820.js +0 -1
  874. package/app/.next/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-9e73c1f718efb820.js +0 -1
  875. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-9e73c1f718efb820.js +0 -1
  876. package/app/.next/static/chunks/app/api/cli-tools/hermes-settings/route-9e73c1f718efb820.js +0 -1
  877. package/app/.next/static/chunks/app/api/cli-tools/jcode-settings/route-9e73c1f718efb820.js +0 -1
  878. package/app/.next/static/chunks/app/api/cli-tools/kilo-settings/route-9e73c1f718efb820.js +0 -1
  879. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-9e73c1f718efb820.js +0 -1
  880. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-9e73c1f718efb820.js +0 -1
  881. package/app/.next/static/chunks/app/api/combos/[id]/route-9e73c1f718efb820.js +0 -1
  882. package/app/.next/static/chunks/app/api/combos/route-9e73c1f718efb820.js +0 -1
  883. package/app/.next/static/chunks/app/api/donate/route-9e73c1f718efb820.js +0 -1
  884. package/app/.next/static/chunks/app/api/health/route-9e73c1f718efb820.js +0 -1
  885. package/app/.next/static/chunks/app/api/init/route-9e73c1f718efb820.js +0 -1
  886. package/app/.next/static/chunks/app/api/internal/account-health/route-9e73c1f718efb820.js +0 -1
  887. package/app/.next/static/chunks/app/api/internal/request-detail/route-9e73c1f718efb820.js +0 -1
  888. package/app/.next/static/chunks/app/api/internal/usage/route-9e73c1f718efb820.js +0 -1
  889. package/app/.next/static/chunks/app/api/keys/[id]/reset-usage/route-9e73c1f718efb820.js +0 -1
  890. package/app/.next/static/chunks/app/api/keys/[id]/route-9e73c1f718efb820.js +0 -1
  891. package/app/.next/static/chunks/app/api/keys/[id]/usage/route-9e73c1f718efb820.js +0 -1
  892. package/app/.next/static/chunks/app/api/keys/route-9e73c1f718efb820.js +0 -1
  893. package/app/.next/static/chunks/app/api/locale/route-9e73c1f718efb820.js +0 -1
  894. package/app/.next/static/chunks/app/api/mcp/[plugin]/message/route-9e73c1f718efb820.js +0 -1
  895. package/app/.next/static/chunks/app/api/mcp/[plugin]/sse/route-9e73c1f718efb820.js +0 -1
  896. package/app/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9e73c1f718efb820.js +0 -1
  897. package/app/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9e73c1f718efb820.js +0 -1
  898. package/app/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-9e73c1f718efb820.js +0 -1
  899. package/app/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-9e73c1f718efb820.js +0 -1
  900. package/app/.next/static/chunks/app/api/media-providers/tts/voices/route-9e73c1f718efb820.js +0 -1
  901. package/app/.next/static/chunks/app/api/models/alias/route-9e73c1f718efb820.js +0 -1
  902. package/app/.next/static/chunks/app/api/models/availability/route-9e73c1f718efb820.js +0 -1
  903. package/app/.next/static/chunks/app/api/models/custom/route-9e73c1f718efb820.js +0 -1
  904. package/app/.next/static/chunks/app/api/models/disabled/route-9e73c1f718efb820.js +0 -1
  905. package/app/.next/static/chunks/app/api/models/route-9e73c1f718efb820.js +0 -1
  906. package/app/.next/static/chunks/app/api/models/test/route-9e73c1f718efb820.js +0 -1
  907. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9e73c1f718efb820.js +0 -1
  908. package/app/.next/static/chunks/app/api/oauth/codex/import-token/route-9e73c1f718efb820.js +0 -1
  909. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9e73c1f718efb820.js +0 -1
  910. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-9e73c1f718efb820.js +0 -1
  911. package/app/.next/static/chunks/app/api/oauth/gitlab/pat/route-9e73c1f718efb820.js +0 -1
  912. package/app/.next/static/chunks/app/api/oauth/iflow/cookie/route-9e73c1f718efb820.js +0 -1
  913. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-9e73c1f718efb820.js +0 -1
  914. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-9e73c1f718efb820.js +0 -1
  915. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-9e73c1f718efb820.js +0 -1
  916. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-9e73c1f718efb820.js +0 -1
  917. package/app/.next/static/chunks/app/api/pricing/route-9e73c1f718efb820.js +0 -1
  918. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-9e73c1f718efb820.js +0 -1
  919. package/app/.next/static/chunks/app/api/provider-nodes/route-9e73c1f718efb820.js +0 -1
  920. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-9e73c1f718efb820.js +0 -1
  921. package/app/.next/static/chunks/app/api/providers/[id]/models/route-9e73c1f718efb820.js +0 -1
  922. package/app/.next/static/chunks/app/api/providers/[id]/route-9e73c1f718efb820.js +0 -1
  923. package/app/.next/static/chunks/app/api/providers/[id]/test/route-9e73c1f718efb820.js +0 -1
  924. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-9e73c1f718efb820.js +0 -1
  925. package/app/.next/static/chunks/app/api/providers/client/route-9e73c1f718efb820.js +0 -1
  926. package/app/.next/static/chunks/app/api/providers/kilo/free-models/route-9e73c1f718efb820.js +0 -1
  927. package/app/.next/static/chunks/app/api/providers/route-9e73c1f718efb820.js +0 -1
  928. package/app/.next/static/chunks/app/api/providers/suggested-models/route-9e73c1f718efb820.js +0 -1
  929. package/app/.next/static/chunks/app/api/providers/test-batch/route-9e73c1f718efb820.js +0 -1
  930. package/app/.next/static/chunks/app/api/providers/validate/route-9e73c1f718efb820.js +0 -1
  931. package/app/.next/static/chunks/app/api/proxy-pools/[id]/route-9e73c1f718efb820.js +0 -1
  932. package/app/.next/static/chunks/app/api/proxy-pools/[id]/test/route-9e73c1f718efb820.js +0 -1
  933. package/app/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9e73c1f718efb820.js +0 -1
  934. package/app/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-9e73c1f718efb820.js +0 -1
  935. package/app/.next/static/chunks/app/api/proxy-pools/route-9e73c1f718efb820.js +0 -1
  936. package/app/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-9e73c1f718efb820.js +0 -1
  937. package/app/.next/static/chunks/app/api/settings/database/route-9e73c1f718efb820.js +0 -1
  938. package/app/.next/static/chunks/app/api/settings/proxy-test/route-9e73c1f718efb820.js +0 -1
  939. package/app/.next/static/chunks/app/api/settings/require-login/route-9e73c1f718efb820.js +0 -1
  940. package/app/.next/static/chunks/app/api/settings/route-9e73c1f718efb820.js +0 -1
  941. package/app/.next/static/chunks/app/api/shutdown/route-9e73c1f718efb820.js +0 -1
  942. package/app/.next/static/chunks/app/api/tags/route-9e73c1f718efb820.js +0 -1
  943. package/app/.next/static/chunks/app/api/translator/console-logs/route-9e73c1f718efb820.js +0 -1
  944. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-9e73c1f718efb820.js +0 -1
  945. package/app/.next/static/chunks/app/api/translator/load/route-9e73c1f718efb820.js +0 -1
  946. package/app/.next/static/chunks/app/api/translator/save/route-9e73c1f718efb820.js +0 -1
  947. package/app/.next/static/chunks/app/api/translator/send/route-9e73c1f718efb820.js +0 -1
  948. package/app/.next/static/chunks/app/api/translator/translate/route-9e73c1f718efb820.js +0 -1
  949. package/app/.next/static/chunks/app/api/tunnel/disable/route-9e73c1f718efb820.js +0 -1
  950. package/app/.next/static/chunks/app/api/tunnel/enable/route-9e73c1f718efb820.js +0 -1
  951. package/app/.next/static/chunks/app/api/tunnel/status/route-9e73c1f718efb820.js +0 -1
  952. package/app/.next/static/chunks/app/api/tunnel/tailscale-check/route-9e73c1f718efb820.js +0 -1
  953. package/app/.next/static/chunks/app/api/tunnel/tailscale-disable/route-9e73c1f718efb820.js +0 -1
  954. package/app/.next/static/chunks/app/api/tunnel/tailscale-enable/route-9e73c1f718efb820.js +0 -1
  955. package/app/.next/static/chunks/app/api/tunnel/tailscale-install/route-9e73c1f718efb820.js +0 -1
  956. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-9e73c1f718efb820.js +0 -1
  957. package/app/.next/static/chunks/app/api/usage/chart/route-9e73c1f718efb820.js +0 -1
  958. package/app/.next/static/chunks/app/api/usage/history/route-9e73c1f718efb820.js +0 -1
  959. package/app/.next/static/chunks/app/api/usage/logs/route-9e73c1f718efb820.js +0 -1
  960. package/app/.next/static/chunks/app/api/usage/providers/route-9e73c1f718efb820.js +0 -1
  961. package/app/.next/static/chunks/app/api/usage/report/route-9e73c1f718efb820.js +0 -1
  962. package/app/.next/static/chunks/app/api/usage/request-details/route-9e73c1f718efb820.js +0 -1
  963. package/app/.next/static/chunks/app/api/usage/request-logs/route-9e73c1f718efb820.js +0 -1
  964. package/app/.next/static/chunks/app/api/usage/stats/route-9e73c1f718efb820.js +0 -1
  965. package/app/.next/static/chunks/app/api/usage/stream/route-9e73c1f718efb820.js +0 -1
  966. package/app/.next/static/chunks/app/api/v1/api/chat/route-9e73c1f718efb820.js +0 -1
  967. package/app/.next/static/chunks/app/api/v1/audio/speech/route-9e73c1f718efb820.js +0 -1
  968. package/app/.next/static/chunks/app/api/v1/audio/transcriptions/route-9e73c1f718efb820.js +0 -1
  969. package/app/.next/static/chunks/app/api/v1/audio/voices/route-9e73c1f718efb820.js +0 -1
  970. package/app/.next/static/chunks/app/api/v1/chat/completions/route-9e73c1f718efb820.js +0 -1
  971. package/app/.next/static/chunks/app/api/v1/embeddings/route-9e73c1f718efb820.js +0 -1
  972. package/app/.next/static/chunks/app/api/v1/images/generations/route-9e73c1f718efb820.js +0 -1
  973. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-9e73c1f718efb820.js +0 -1
  974. package/app/.next/static/chunks/app/api/v1/messages/route-9e73c1f718efb820.js +0 -1
  975. package/app/.next/static/chunks/app/api/v1/models/[kind]/route-9e73c1f718efb820.js +0 -1
  976. package/app/.next/static/chunks/app/api/v1/models/info/route-9e73c1f718efb820.js +0 -1
  977. package/app/.next/static/chunks/app/api/v1/models/route-9e73c1f718efb820.js +0 -1
  978. package/app/.next/static/chunks/app/api/v1/responses/compact/route-9e73c1f718efb820.js +0 -1
  979. package/app/.next/static/chunks/app/api/v1/responses/route-9e73c1f718efb820.js +0 -1
  980. package/app/.next/static/chunks/app/api/v1/route-9e73c1f718efb820.js +0 -1
  981. package/app/.next/static/chunks/app/api/v1/search/route-9e73c1f718efb820.js +0 -1
  982. package/app/.next/static/chunks/app/api/v1/web/fetch/route-9e73c1f718efb820.js +0 -1
  983. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-9e73c1f718efb820.js +0 -1
  984. package/app/.next/static/chunks/app/api/v1beta/models/route-9e73c1f718efb820.js +0 -1
  985. package/app/.next/static/chunks/app/api/version/route-9e73c1f718efb820.js +0 -1
  986. package/app/.next/static/chunks/app/api/version/shutdown/route-9e73c1f718efb820.js +0 -1
  987. package/app/.next/static/chunks/app/api/version/update/route-9e73c1f718efb820.js +0 -1
  988. package/app/.next/static/chunks/app/layout-35b23f7e08fe3978.js +0 -1
  989. package/app/.next/static/chunks/app/manifest.webmanifest/route-9e73c1f718efb820.js +0 -1
  990. package/app/.next/static/chunks/app/page-9e73c1f718efb820.js +0 -1
  991. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-9e73c1f718efb820.js +0 -1
  992. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-9e73c1f718efb820.js +0 -1
  993. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-9e73c1f718efb820.js +0 -1
  994. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9e73c1f718efb820.js +0 -1
  995. package/app/.next/static/css/0f03023a765dc337.css +0 -1
  996. package/app/.next/static/css/958bcd529c8d4b7c.css +0 -1
  997. package/app/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  998. package/app/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  999. package/app/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  1000. package/app/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  1001. package/app/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  1002. package/app/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  1003. package/app/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  1004. package/app/.next/static/p_zZZ7bGM2zUCztNMVhuB/_buildManifest.js +0 -1
  1005. /package/app/.next/static/{p_zZZ7bGM2zUCztNMVhuB → zOWV4f8WCIf4AVjdpAv5I}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=6811,exports.ids=[1998,6811],exports.modules={15626:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},30869:(a,b,c)=>{c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"n9router",installCmd:"npm i -g n9router",installCmdLatest:"npm i -g n9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{a.exports={rE:"0.4.43"}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},66811:(a,b,c)=>{c.d(b,{F:()=>s});var d=c(89718),e=c(39326),f=c(74926),g=c(75681),h=c(30869),i=c(44404),j=c(35024),k=c(92990),l=c(15626);let m={claude:{checkExpiry:!0,refreshable:!0},codex:{url:"https://chatgpt.com/backend-api/codex/responses",method:"POST",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"Content-Type":"application/json",originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},body:JSON.stringify({model:"gpt-5.3-codex",input:[],stream:!1,store:!1}),acceptStatuses:[400],refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"9Router",Accept:"application/vnd.github+json"}},iflow:{buildUrl:a=>`https://iflow.cn/api/oauth/getUserInfo?accessToken=${encodeURIComponent(a)}`,method:"GET",noAuth:!0},qwen:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0},qoder:{url:"https://openapi.qoder.sh/api/v1/userinfo",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!1},"kimi-coding":{checkExpiry:!0,refreshable:!1},cursor:{tokenExists:!0},kilocode:{url:`${k.MZ.apiBaseUrl}/api/profile`,method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},cline:{refreshable:!0},gitlab:{url:"https://gitlab.com/api/v4/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},codebuddy:{tokenExists:!0}};async function n(a){return await fetch("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:(0,l.w$)(a,{Accept:"application/json"})})}async function o(a){let b=a.provider,c=a.refreshToken;if(!c)return null;try{if("gemini-cli"===b||"antigravity"===b){let a="gemini-cli"===b?k.LT:k.YT,d=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:a.clientId,client_secret:a.clientSecret,grant_type:"refresh_token",refresh_token:c})});if(!d.ok)return null;let e=await d.json();return{accessToken:e.access_token,expiresIn:e.expires_in,refreshToken:e.refresh_token||c}}if("codex"===b){let a=await fetch(k.DI.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"refresh_token",client_id:k.DI.clientId,refresh_token:c})});if(!a.ok)return null;let b=await a.json();return{accessToken:b.access_token,expiresIn:b.expires_in,refreshToken:b.refresh_token||c}}if("claude"===b){let a=await fetch(k.OV.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:c,client_id:k.OV.clientId})});if(!a.ok)return null;let b=await a.json();return{accessToken:b.access_token,expiresIn:b.expires_in,refreshToken:b.refresh_token||c}}if("kiro"===b){let b=a.providerSpecificData||{},d=b.clientId||a.clientId,e=b.clientSecret||a.clientSecret,f=b.region||a.region;if(d&&e){let a=`https://oidc.${f||"us-east-1"}.amazonaws.com/token`,b=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:d,clientSecret:e,refreshToken:c,grantType:"refresh_token"})});if(!b.ok)return null;let g=await b.json();return{accessToken:g.accessToken,expiresIn:g.expiresIn||3600,refreshToken:g.refreshToken||c}}let g=await fetch(k.Tx.socialRefreshUrl,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:c})});if(!g.ok)return null;let h=await g.json();return{accessToken:h.accessToken,expiresIn:h.expiresIn||3600,refreshToken:h.refreshToken||c}}if("qwen"===b){let a=await fetch(k.Hp.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:c,client_id:k.Hp.clientId})});if(!a.ok)return null;let b=await a.json();return{accessToken:b.access_token,expiresIn:b.expires_in,refreshToken:b.refresh_token||c}}if("cline"===b){let a=await fetch(k.lB.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:c,grantType:"refresh_token",clientType:"extension"})});if(!a.ok)return null;let b=await a.json(),d=b?.data||b,e=d?.expiresAt?Math.max(1,Math.floor((new Date(d.expiresAt).getTime()-Date.now())/1e3)):3600;return{accessToken:d?.accessToken,expiresIn:e,refreshToken:d?.refreshToken||c}}return null}catch(a){return console.log(`Error refreshing ${b} token:`,a.message),null}}async function p(a,b=null,c={}){var d;let e=m[a.provider];if(!e)return{valid:!1,error:"Provider test not supported",refreshed:!1};if(!a.accessToken)return{valid:!1,error:"No access token",refreshed:!1};if(e.tokenExists)return{valid:!0,error:null,refreshed:!1,newTokens:null};let f=a.accessToken,g=!1,h=null,i=!(d=a).expiresAt||new Date(d.expiresAt).getTime()<=Date.now()+3e5;if(e.refreshable&&c.forceRefresh&&a.refreshToken){let b=await o(a);if(!b?.accessToken)return{valid:!1,error:"Token refresh failed",refreshed:!1};f=b.accessToken,g=!0,h=b}else if(e.refreshable&&i&&a.refreshToken){let b=await o(a);if(!b)return{valid:!1,error:"Token expired and refresh failed",refreshed:!1};f=b.accessToken,g=!0,h=b}if(e.checkExpiry)return g?{valid:!0,error:null,refreshed:g,newTokens:h}:i?{valid:!1,error:"Token expired",refreshed:!1}:{valid:!0,error:null,refreshed:!1,newTokens:null};if("cline"===a.provider){let b=async a=>{let b=await n(a);return b.ok?{valid:!0,error:null,refreshed:g,newTokens:h}:401===b.status?{valid:!1,error:"Token invalid or revoked",refreshed:g}:403===b.status?{valid:!1,error:"Access denied",refreshed:g}:{valid:!1,error:`API returned ${b.status}`,refreshed:g}},c=await b(f);if(c.valid||"Token invalid or revoked"!==c.error||!a.refreshToken)return c;let d=await o(a);return d?.accessToken?(g=!0,h=d,f=d.accessToken,await b(f)):{valid:!1,error:"Token invalid or revoked",refreshed:!1}}try{let c=e.buildUrl?e.buildUrl(f):e.url,d=e.noAuth?{...e.extraHeaders}:{[e.authHeader]:`${e.authPrefix}${f}`,...e.extraHeaders},i={method:e.method,headers:d};e.body&&(i.body=e.body);let j=await q(c,i,b);if(j.ok||e.acceptStatuses&&e.acceptStatuses.includes(j.status))return{valid:!0,error:null,refreshed:g,newTokens:h};if(401===j.status&&e.refreshable&&!g&&a.refreshToken){let d=await o(a);if(d){let a=e.buildUrl?e.buildUrl(d.accessToken):c,f=e.noAuth?{...e.extraHeaders}:{[e.authHeader]:`${e.authPrefix}${d.accessToken}`,...e.extraHeaders},g={method:e.method,headers:f};e.body&&(g.body=e.body);let h=await q(a,g,b);if(h.ok||e.acceptStatuses&&e.acceptStatuses.includes(h.status))return{valid:!0,error:null,refreshed:!0,newTokens:d}}return{valid:!1,error:"Token invalid or revoked",refreshed:!1}}if(401===j.status)return{valid:!1,error:"Token invalid or revoked",refreshed:g};if(403===j.status)return{valid:!1,error:"Access denied",refreshed:g};return{valid:!1,error:`API returned ${j.status}`,refreshed:g}}catch(a){return{valid:!1,error:a.message,refreshed:g}}}async function q(a,b={},d=null){if(d?.vercelRelayUrl){let{proxyAwareFetch:e}=await c.e(9609).then(c.bind(c,39609));return e(a,b,{vercelRelayUrl:d.vercelRelayUrl})}if(!d?.connectionProxyEnabled||!d?.connectionProxyUrl)return fetch(a,b);let{proxyAwareFetch:e}=await c.e(9609).then(c.bind(c,39609));return e(a,b,{connectionProxyEnabled:!0,connectionProxyUrl:d.connectionProxyUrl,connectionNoProxy:d.connectionNoProxy||""})}async function r(a,b=null){if((0,g.mq)(a.provider)){let c=a.providerSpecificData?.baseUrl;if(!c)return{valid:!1,error:"Missing base URL"};try{let d=await q(`${c.replace(/\/$/,"")}/models`,{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:d.ok,error:d.ok?null:"Invalid API key or base URL"}}catch(a){return{valid:!1,error:a.message}}}if((0,g.gb)(a.provider)){let c=a.providerSpecificData?.baseUrl;if(!c)return{valid:!1,error:"Missing base URL"};try{(c=c.replace(/\/$/,"")).endsWith("/messages")&&(c=c.slice(0,-9));let d=await q(`${c}/models`,{headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${a.apiKey}`}},b);return{valid:d.ok,error:d.ok?null:"Invalid API key or base URL"}}catch(a){return{valid:!1,error:a.message}}}try{switch(a.provider){case"cloudflare-ai":{let c=(a.providerSpecificData||{}).accountId;if(!c)return{valid:!1,error:"Missing Account ID"};let d=`https://api.cloudflare.com/client/v4/accounts/${c}/ai/v1/chat/completions`,e=await q(d,{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({model:(0,i.fZ)("cloudflare-ai"),messages:[{role:"user",content:"test"}],max_tokens:1})},b),f=401!==e.status&&403!==e.status&&404!==e.status;return{valid:f,error:f?null:"Invalid API token or Account ID"}}case"azure":{let c=a.providerSpecificData||{},d=(c.azureEndpoint||"").replace(/\/$/,""),e=c.deployment||"gpt-4",f=c.apiVersion||"2024-10-01-preview",g=`${d}/openai/deployments/${e}/chat/completions?api-version=${f}`,h={"api-key":a.apiKey,"Content-Type":"application/json"};c.organization&&(h["OpenAI-Organization"]=c.organization);let i=await q(g,{method:"POST",headers:h,body:JSON.stringify({messages:[{role:"user",content:"test"}],max_completion_tokens:1})},b),j=401!==i.status&&403!==i.status;return{valid:j,error:j?null:"Invalid API key or Azure configuration"}}case"openai":{let c=await q("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"vercel-ai-gateway":{let c=await q("https://ai-gateway.vercel.sh/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"anthropic":{let c=await q("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"gemini":{let c=await q(`https://generativelanguage.googleapis.com/v1/models?key=${a.apiKey}`,{},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"openrouter":{let c=await q("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"glm":{let c=await q("https://api.z.ai/api/anthropic/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"glm-cn":{let c=await q("https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"minimax":case"minimax-cn":{let c=await q({minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages"}[a.provider],{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"minimax-m2",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"kimi":{let c=await q("https://api.kimi.com/coding/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"kimi-latest",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"alicode":case"alicode-intl":{let c="alicode-intl"===a.provider?"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions":"https://coding.dashscope.aliyuncs.com/v1/chat/completions",d=await q(c,{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:(0,i.fZ)(a.provider),max_tokens:1,messages:[{role:"user",content:"test"}]})},b),e=401!==d.status&&403!==d.status;return{valid:e,error:e?null:"Invalid API key"}}case"volcengine-ark":case"byteplus":{let c=await q(h.X3[a.provider],{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:(0,i.fZ)(a.provider),max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"deepseek":{let c=await q("https://api.deepseek.com/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"groq":{let c=await q("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"mistral":{let c=await q("https://api.mistral.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"xai":{let c=await q("https://api.x.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"nvidia":{let c=await q("https://integrate.api.nvidia.com/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"perplexity":{let c=await q("https://api.perplexity.ai/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"together":{let c=await q("https://api.together.xyz/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"fireworks":{let c=await q("https://api.fireworks.ai/inference/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"cerebras":{let c=await q("https://api.cerebras.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"cohere":{let c=await q("https://api.cohere.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"nebius":{let c=await q("https://api.studio.nebius.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"siliconflow":{let c=await q("https://api.siliconflow.cn/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"hyperbolic":{let c=await q("https://api.hyperbolic.xyz/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"ollama":{let b=await fetch("https://ollama.com/api/tags",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"ollama-local":{let b=(0,j.Ak)(a),c=await fetch(`${b}/api/tags`);return{valid:c.ok,error:c.ok?null:`Ollama not reachable at ${b}`}}case"deepgram":{let c=await q("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"assemblyai":{let c=await q("https://api.assemblyai.com/v1/account",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"nanobanana":{let c=await q("https://api.nanobananaapi.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"fal-ai":{let c=await q("https://api.fal.ai/v1/models?limit=1",{headers:{Authorization:`Key ${a.apiKey}`}},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"chutes":{let c=await q("https://llm.chutes.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"grok-web":{let c=a.apiKey.startsWith("sso=")?a.apiKey.slice(4):a.apiKey,d=a=>Array.from(crypto.getRandomValues(new Uint8Array(a)),a=>a.toString(16).padStart(2,"0")).join(""),e=Buffer.from("e:TypeError: Cannot read properties of null (reading 'children')").toString("base64"),f=await q("https://grok.com/rest/app-chat/conversations/new",{method:"POST",headers:{Accept:"*/*","Content-Type":"application/json",Cookie:`sso=${c}`,Origin:"https://grok.com",Referer:"https://grok.com/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":e,"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${d(16)}-${d(8)}-00`},body:JSON.stringify({temporary:!0,modelName:"grok-4",message:"ping",fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,sendFinalMetadata:!0})},b),g=401!==f.status&&403!==f.status;return{valid:g,error:g?null:"Invalid SSO cookie"}}case"perplexity-web":{let c=a.apiKey;c.startsWith("__Secure-next-auth.session-token=")&&(c=c.slice(33));let d=await q("https://www.perplexity.ai/api/auth/session",{method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",Cookie:`__Secure-next-auth.session-token=${c}`}},b);if(!d.ok)return{valid:!1,error:"Invalid session cookie"};let e=await d.json().catch(()=>null),f=!!(e&&e.user);return{valid:f,error:f?null:"Session expired — re-paste cookie"}}default:return{valid:!1,error:"Provider test not supported"}}}catch(a){return{valid:!1,error:a.message}}}async function s(a,b={}){let c,g=await (0,d.Mc)(a);if(!g)return{valid:!1,error:"Connection not found",latencyMs:0,testedAt:new Date().toISOString()};let h=await (0,e.B)(g.providerSpecificData||{});if(h.connectionProxyEnabled&&h.connectionProxyUrl&&!h.vercelRelayUrl){let b=await (0,f.C)({proxyUrl:h.connectionProxyUrl});if(!b.ok){let c=b.error||`Proxy test failed with status ${b.status}`;return await (0,d.updateProviderConnection)(a,{testStatus:"error",lastError:c,lastErrorAt:new Date().toISOString()}),{valid:!1,error:c,latencyMs:0,testedAt:new Date().toISOString()}}}let i=Date.now();c="apikey"===g.authType||"cookie"===g.authType?await r(g,h):await p(g,h,b);let j=Date.now()-i,k={testStatus:c.valid?"active":"error",lastError:c.valid?null:c.error,lastErrorAt:c.valid?null:new Date().toISOString()};return c.refreshed&&c.newTokens&&(k.accessToken=c.newTokens.accessToken,c.newTokens.refreshToken&&(k.refreshToken=c.newTokens.refreshToken),c.newTokens.expiresIn&&(k.expiresAt=new Date(Date.now()+1e3*c.newTokens.expiresIn).toISOString())),await (0,d.updateProviderConnection)(a,k),{valid:c.valid,error:c.error,refreshed:c.refreshed||!1,latencyMs:j,testedAt:new Date().toISOString()}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.getProviderNodes,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,mt:()=>d.getSettings,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},74926:(a,b,c)=>{c.d(b,{C:()=>f});var d=c(47774);function e(a){return null==a?"":String(a).trim()}async function f({proxyUrl:a,testUrl:b,timeoutMs:c}={}){let g,h=e(a);if(!h)return{ok:!1,status:400,error:"proxyUrl is required"};let i=e(b)||"https://google.com/",j=Number(c),k=Number.isFinite(j)&&j>0?Math.min(j,3e4):8e3;try{try{g=new d.ProxyAgent({uri:h})}catch(a){return{ok:!1,status:400,error:`Invalid proxy URL: ${a?.message||String(a)}`}}let a=new AbortController,b=Date.now(),c=setTimeout(()=>a.abort(),k);try{let c=await (0,d.hd)(i,{method:"HEAD",dispatcher:g,signal:a.signal,headers:{"User-Agent":"9Router"}});return{ok:c.ok,status:c.status,statusText:c.statusText,url:i,elapsedMs:Date.now()-b}}catch(b){let a=b?.name==="AbortError"?"Proxy test timed out":function(a){if(!a)return"Unknown error";let b=a?.message||String(a),c=a?.cause?.code||a?.code,d=a?.cause?.message;return d&&d!==b?c?`${b}: ${d} (${c})`:`${b}: ${d}`:c&&!b.includes(c)?`${b} (${c})`:b}(b);return{ok:!1,status:500,error:a}}finally{clearTimeout(c)}}finally{try{await g?.close?.()}catch{}}}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},92990:(a,b,c)=>{c.d(b,{DI:()=>g,Hp:()=>i,LT:()=>h,MZ:()=>r,Nl:()=>u,Nu:()=>n,OV:()=>f,Tx:()=>o,WN:()=>p,Ww:()=>v,YT:()=>l,ZL:()=>k,cD:()=>m,f7:()=>t,hF:()=>j,lB:()=>s,t:()=>q});var d=c(21820);function e(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let f={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"},g={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",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},h={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",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"]},i={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},j={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"},k={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"}},l={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",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://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:e(),pluginType:2})};function m(){return{ideType:9,platform:e(),pluginType:2}}let n={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},o={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},p={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},q={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},r={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},s={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},t={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},u={baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},v=3e5}};
1
+ "use strict";exports.id=6811,exports.ids=[1998,6811],exports.modules={15626:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},30869:(a,b,c)=>{c.d(b,{UY:()=>h,X3:()=>i,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"n9router",installCmd:"npm i -g n9router",installCmdLatest:"npm i -g n9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},39006:a=>{a.exports={rE:"0.4.44"}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},66811:(a,b,c)=>{c.d(b,{F:()=>t});var d=c(89718),e=c(39326),f=c(74926),g=c(75681),h=c(30869),i=c(44404),j=c(35024),k=c(93943),l=c(92990),m=c(15626);let n={claude:{checkExpiry:!0,refreshable:!0},codex:{url:"https://chatgpt.com/backend-api/codex/responses",method:"POST",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"Content-Type":"application/json",originator:"codex_cli_rs","User-Agent":"codex_cli_rs/0.136.0"},body:JSON.stringify({model:"gpt-5.3-codex",input:[],stream:!1,store:!1}),acceptStatuses:[400],refreshable:!0},"gemini-cli":{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},antigravity:{url:"https://www.googleapis.com/oauth2/v1/userinfo?alt=json",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!0},github:{url:"https://api.github.com/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",extraHeaders:{"User-Agent":"9Router",Accept:"application/vnd.github+json"}},iflow:{buildUrl:a=>`https://iflow.cn/api/oauth/getUserInfo?accessToken=${encodeURIComponent(a)}`,method:"GET",noAuth:!0},qwen:{checkExpiry:!0,refreshable:!0},kiro:{checkExpiry:!0,refreshable:!0},qoder:{url:"https://openapi.qoder.sh/api/v1/userinfo",method:"GET",authHeader:"Authorization",authPrefix:"Bearer ",refreshable:!1},"kimi-coding":{checkExpiry:!0,refreshable:!1},cursor:{tokenExists:!0},kilocode:{url:`${l.MZ.apiBaseUrl}/api/profile`,method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},cline:{refreshable:!0},gitlab:{url:"https://gitlab.com/api/v4/user",method:"GET",authHeader:"Authorization",authPrefix:"Bearer "},codebuddy:{tokenExists:!0}};async function o(a){return await fetch("https://api.cline.bot/api/v1/users/me",{method:"GET",headers:(0,m.w$)(a,{Accept:"application/json"})})}async function p(a){let b=a.provider,c=a.refreshToken;if(!c)return null;try{if("gemini-cli"===b||"antigravity"===b){let a="gemini-cli"===b?l.LT:l.YT,d=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({client_id:a.clientId,client_secret:a.clientSecret,grant_type:"refresh_token",refresh_token:c})});if(!d.ok)return null;let e=await d.json();return{accessToken:e.access_token,expiresIn:e.expires_in,refreshToken:e.refresh_token||c}}if("codex"===b)return await (0,k.Vq)(b,a,console);if("claude"===b){let a=await fetch(l.OV.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:c,client_id:l.OV.clientId})});if(!a.ok)return null;let b=await a.json();return{accessToken:b.access_token,expiresIn:b.expires_in,refreshToken:b.refresh_token||c}}if("kiro"===b){let b=a.providerSpecificData||{},d=b.clientId||a.clientId,e=b.clientSecret||a.clientSecret,f=b.region||a.region;if(d&&e){let a=`https://oidc.${f||"us-east-1"}.amazonaws.com/token`,b=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:d,clientSecret:e,refreshToken:c,grantType:"refresh_token"})});if(!b.ok)return null;let g=await b.json();return{accessToken:g.accessToken,expiresIn:g.expiresIn||3600,refreshToken:g.refreshToken||c}}let g=await fetch(l.Tx.socialRefreshUrl,{method:"POST",headers:{"Content-Type":"application/json","User-Agent":"kiro-cli/1.0.0"},body:JSON.stringify({refreshToken:c})});if(!g.ok)return null;let h=await g.json();return{accessToken:h.accessToken,expiresIn:h.expiresIn||3600,refreshToken:h.refreshToken||c}}if("qwen"===b){let a=await fetch(l.Hp.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:c,client_id:l.Hp.clientId})});if(!a.ok)return null;let b=await a.json();return{accessToken:b.access_token,expiresIn:b.expires_in,refreshToken:b.refresh_token||c}}if("cline"===b){let a=await fetch(l.lB.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:c,grantType:"refresh_token",clientType:"extension"})});if(!a.ok)return null;let b=await a.json(),d=b?.data||b,e=d?.expiresAt?Math.max(1,Math.floor((new Date(d.expiresAt).getTime()-Date.now())/1e3)):3600;return{accessToken:d?.accessToken,expiresIn:e,refreshToken:d?.refreshToken||c}}return null}catch(a){return console.log(`Error refreshing ${b} token:`,a.message),null}}async function q(a,b=null,c={}){var d;let e=n[a.provider];if(!e)return{valid:!1,error:"Provider test not supported",refreshed:!1};if(!a.accessToken)return{valid:!1,error:"No access token",refreshed:!1};if(e.tokenExists)return{valid:!0,error:null,refreshed:!1,newTokens:null};let f=a.accessToken,g=!1,h=null,i=!(d=a).expiresAt||new Date(d.expiresAt).getTime()<=Date.now()+3e5;if(e.refreshable&&c.forceRefresh&&a.refreshToken){let b=await p(a);if(!b?.accessToken)return{valid:!1,error:"Token refresh failed",refreshed:!1};f=b.accessToken,g=!0,h=b}else if(e.refreshable&&i&&a.refreshToken){let b=await p(a);if(!b)return{valid:!1,error:"Token expired and refresh failed",refreshed:!1};f=b.accessToken,g=!0,h=b}if(e.checkExpiry)return g?{valid:!0,error:null,refreshed:g,newTokens:h}:i?{valid:!1,error:"Token expired",refreshed:!1}:{valid:!0,error:null,refreshed:!1,newTokens:null};if("cline"===a.provider){let b=async a=>{let b=await o(a);return b.ok?{valid:!0,error:null,refreshed:g,newTokens:h}:401===b.status?{valid:!1,error:"Token invalid or revoked",refreshed:g}:403===b.status?{valid:!1,error:"Access denied",refreshed:g}:{valid:!1,error:`API returned ${b.status}`,refreshed:g}},c=await b(f);if(c.valid||"Token invalid or revoked"!==c.error||!a.refreshToken)return c;let d=await p(a);return d?.accessToken?(g=!0,h=d,f=d.accessToken,await b(f)):{valid:!1,error:"Token invalid or revoked",refreshed:!1}}try{let c=e.buildUrl?e.buildUrl(f):e.url,d=e.noAuth?{...e.extraHeaders}:{[e.authHeader]:`${e.authPrefix}${f}`,...e.extraHeaders},i={method:e.method,headers:d};e.body&&(i.body=e.body);let j=await r(c,i,b);if(j.ok||e.acceptStatuses&&e.acceptStatuses.includes(j.status))return{valid:!0,error:null,refreshed:g,newTokens:h};if(401===j.status&&e.refreshable&&!g&&a.refreshToken){let d=await p(a);if(d){let a=e.buildUrl?e.buildUrl(d.accessToken):c,f=e.noAuth?{...e.extraHeaders}:{[e.authHeader]:`${e.authPrefix}${d.accessToken}`,...e.extraHeaders},g={method:e.method,headers:f};e.body&&(g.body=e.body);let h=await r(a,g,b);if(h.ok||e.acceptStatuses&&e.acceptStatuses.includes(h.status))return{valid:!0,error:null,refreshed:!0,newTokens:d}}return{valid:!1,error:"Token invalid or revoked",refreshed:!1}}if(401===j.status)return{valid:!1,error:"Token invalid or revoked",refreshed:g};if(403===j.status)return{valid:!1,error:"Access denied",refreshed:g};return{valid:!1,error:`API returned ${j.status}`,refreshed:g}}catch(a){return{valid:!1,error:a.message,refreshed:g}}}async function r(a,b={},d=null){if(d?.vercelRelayUrl){let{proxyAwareFetch:e}=await Promise.resolve().then(c.bind(c,39609));return e(a,b,{vercelRelayUrl:d.vercelRelayUrl})}if(!d?.connectionProxyEnabled||!d?.connectionProxyUrl)return fetch(a,b);let{proxyAwareFetch:e}=await Promise.resolve().then(c.bind(c,39609));return e(a,b,{connectionProxyEnabled:!0,connectionProxyUrl:d.connectionProxyUrl,connectionNoProxy:d.connectionNoProxy||""})}async function s(a,b=null){if((0,g.mq)(a.provider)){let c=a.providerSpecificData?.baseUrl;if(!c)return{valid:!1,error:"Missing base URL"};try{let d=await r(`${c.replace(/\/$/,"")}/models`,{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:d.ok,error:d.ok?null:"Invalid API key or base URL"}}catch(a){return{valid:!1,error:a.message}}}if((0,g.gb)(a.provider)){let c=a.providerSpecificData?.baseUrl;if(!c)return{valid:!1,error:"Missing base URL"};try{(c=c.replace(/\/$/,"")).endsWith("/messages")&&(c=c.slice(0,-9));let d=await r(`${c}/models`,{headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01",Authorization:`Bearer ${a.apiKey}`}},b);return{valid:d.ok,error:d.ok?null:"Invalid API key or base URL"}}catch(a){return{valid:!1,error:a.message}}}try{switch(a.provider){case"cloudflare-ai":{let c=(a.providerSpecificData||{}).accountId;if(!c)return{valid:!1,error:"Missing Account ID"};let d=`https://api.cloudflare.com/client/v4/accounts/${c}/ai/v1/chat/completions`,e=await r(d,{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"Content-Type":"application/json"},body:JSON.stringify({model:(0,i.fZ)("cloudflare-ai"),messages:[{role:"user",content:"test"}],max_tokens:1})},b),f=401!==e.status&&403!==e.status&&404!==e.status;return{valid:f,error:f?null:"Invalid API token or Account ID"}}case"azure":{let c=a.providerSpecificData||{},d=(c.azureEndpoint||"").replace(/\/$/,""),e=c.deployment||"gpt-4",f=c.apiVersion||"2024-10-01-preview",g=`${d}/openai/deployments/${e}/chat/completions?api-version=${f}`,h={"api-key":a.apiKey,"Content-Type":"application/json"};c.organization&&(h["OpenAI-Organization"]=c.organization);let i=await r(g,{method:"POST",headers:h,body:JSON.stringify({messages:[{role:"user",content:"test"}],max_completion_tokens:1})},b),j=401!==i.status&&403!==i.status;return{valid:j,error:j?null:"Invalid API key or Azure configuration"}}case"openai":{let c=await r("https://api.openai.com/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"vercel-ai-gateway":{let c=await r("https://ai-gateway.vercel.sh/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"anthropic":{let c=await r("https://api.anthropic.com/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"claude-3-haiku-20240307",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"gemini":{let c=await r(`https://generativelanguage.googleapis.com/v1/models?key=${a.apiKey}`,{},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"openrouter":{let c=await r("https://openrouter.ai/api/v1/auth/key",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"glm":{let c=await r("https://api.z.ai/api/anthropic/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"glm-cn":{let c=await r("https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:"glm-4.7",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"minimax":case"minimax-cn":{let c=await r({minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages"}[a.provider],{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"minimax-m2",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"kimi":{let c=await r("https://api.kimi.com/coding/v1/messages",{method:"POST",headers:{"x-api-key":a.apiKey,"anthropic-version":"2023-06-01","content-type":"application/json"},body:JSON.stringify({model:"kimi-latest",max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"alicode":case"alicode-intl":{let c="alicode-intl"===a.provider?"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions":"https://coding.dashscope.aliyuncs.com/v1/chat/completions",d=await r(c,{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:(0,i.fZ)(a.provider),max_tokens:1,messages:[{role:"user",content:"test"}]})},b),e=401!==d.status&&403!==d.status;return{valid:e,error:e?null:"Invalid API key"}}case"volcengine-ark":case"byteplus":{let c=await r(h.X3[a.provider],{method:"POST",headers:{Authorization:`Bearer ${a.apiKey}`,"content-type":"application/json"},body:JSON.stringify({model:(0,i.fZ)(a.provider),max_tokens:1,messages:[{role:"user",content:"test"}]})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"deepseek":{let c=await r("https://api.deepseek.com/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"groq":{let c=await r("https://api.groq.com/openai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"mistral":{let c=await r("https://api.mistral.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"xai":{let c=await r("https://api.x.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"nvidia":{let c=await r("https://integrate.api.nvidia.com/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"perplexity":{let c=await r("https://api.perplexity.ai/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"together":{let c=await r("https://api.together.xyz/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"fireworks":{let c=await r("https://api.fireworks.ai/inference/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"cerebras":{let c=await r("https://api.cerebras.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"cohere":{let c=await r("https://api.cohere.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"nebius":{let c=await r("https://api.studio.nebius.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"siliconflow":{let c=await r("https://api.siliconflow.cn/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"hyperbolic":{let c=await r("https://api.hyperbolic.xyz/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"ollama":{let b=await fetch("https://ollama.com/api/tags",{headers:{Authorization:`Bearer ${a.apiKey}`}});return{valid:b.ok,error:b.ok?null:"Invalid API key"}}case"ollama-local":{let b=(0,j.Ak)(a),c=await fetch(`${b}/api/tags`);return{valid:c.ok,error:c.ok?null:`Ollama not reachable at ${b}`}}case"deepgram":{let c=await r("https://api.deepgram.com/v1/projects",{headers:{Authorization:`Token ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"assemblyai":{let c=await r("https://api.assemblyai.com/v1/account",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"nanobanana":{let c=await r("https://api.nanobananaapi.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"fal-ai":{let c=await r("https://api.fal.ai/v1/models?limit=1",{headers:{Authorization:`Key ${a.apiKey}`}},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"chutes":{let c=await r("https://llm.chutes.ai/v1/models",{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}case"grok-web":{let c=a.apiKey.startsWith("sso=")?a.apiKey.slice(4):a.apiKey,d=a=>Array.from(crypto.getRandomValues(new Uint8Array(a)),a=>a.toString(16).padStart(2,"0")).join(""),e=Buffer.from("e:TypeError: Cannot read properties of null (reading 'children')").toString("base64"),f=await r("https://grok.com/rest/app-chat/conversations/new",{method:"POST",headers:{Accept:"*/*","Content-Type":"application/json",Cookie:`sso=${c}`,Origin:"https://grok.com",Referer:"https://grok.com/","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36","x-statsig-id":e,"x-xai-request-id":crypto.randomUUID(),traceparent:`00-${d(16)}-${d(8)}-00`},body:JSON.stringify({temporary:!0,modelName:"grok-4",message:"ping",fileAttachments:[],imageAttachments:[],disableSearch:!1,enableImageGeneration:!1,sendFinalMetadata:!0})},b),g=401!==f.status&&403!==f.status;return{valid:g,error:g?null:"Invalid SSO cookie"}}case"perplexity-web":{let c=a.apiKey;c.startsWith("__Secure-next-auth.session-token=")&&(c=c.slice(33));let d=await r("https://www.perplexity.ai/api/auth/session",{method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36",Cookie:`__Secure-next-auth.session-token=${c}`}},b);if(!d.ok)return{valid:!1,error:"Invalid session cookie"};let e=await d.json().catch(()=>null),f=!!(e&&e.user);return{valid:f,error:f?null:"Session expired — re-paste cookie"}}case"opencode-go":{let c=await r("https://opencode.ai/zen/go/v1/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${a.apiKey}`},body:JSON.stringify({model:(0,i.fZ)("opencode-go"),messages:[{role:"user",content:"ping"}],max_tokens:1,stream:!1})},b),d=401!==c.status&&403!==c.status;return{valid:d,error:d?null:"Invalid API key"}}case"xiaomi-mimo":case"xiaomi-tokenplan":{let c=await r(`${{"xiaomi-mimo":"https://api.xiaomimimo.com/v1","xiaomi-tokenplan":"https://token-plan-sgp.xiaomimimo.com/v1"}[a.provider]}/models`,{headers:{Authorization:`Bearer ${a.apiKey}`}},b);return{valid:c.ok,error:c.ok?null:"Invalid API key"}}default:return{valid:!1,error:"Provider test not supported"}}}catch(a){return{valid:!1,error:a.message}}}async function t(a,b={}){let c,g=await (0,d.Mc)(a);if(!g)return{valid:!1,error:"Connection not found",latencyMs:0,testedAt:new Date().toISOString()};let h=await (0,e.B)(g.providerSpecificData||{});if(h.connectionProxyEnabled&&h.connectionProxyUrl&&!h.vercelRelayUrl){let b=await (0,f.C)({proxyUrl:h.connectionProxyUrl});if(!b.ok){let c=b.error||`Proxy test failed with status ${b.status}`;return await (0,d.updateProviderConnection)(a,{testStatus:"error",lastError:c,lastErrorAt:new Date().toISOString()}),{valid:!1,error:c,latencyMs:0,testedAt:new Date().toISOString()}}}let i=Date.now();c="apikey"===g.authType||"cookie"===g.authType?await s(g,h):await q(g,h,b);let j=Date.now()-i,k={testStatus:c.valid?"active":"error",lastError:c.valid?null:c.error,lastErrorAt:c.valid?null:new Date().toISOString()};return c.refreshed&&c.newTokens&&(c.newTokens.accessToken&&(k.accessToken=c.newTokens.accessToken),c.newTokens.refreshToken&&(k.refreshToken=c.newTokens.refreshToken),c.newTokens.idToken&&(k.idToken=c.newTokens.idToken),c.newTokens.lastRefreshAt&&(k.lastRefreshAt=c.newTokens.lastRefreshAt),c.newTokens.expiresIn&&(k.expiresIn=c.newTokens.expiresIn),c.newTokens.expiresIn?k.expiresAt=new Date(Date.now()+1e3*c.newTokens.expiresIn).toISOString():c.newTokens.expiresAt&&(k.expiresAt=c.newTokens.expiresAt),c.newTokens.providerSpecificData&&(k.providerSpecificData={...g.providerSpecificData||{},...c.newTokens.providerSpecificData})),await (0,d.updateProviderConnection)(a,k),{valid:c.valid,error:c.error,refreshed:!!c.refreshed,latencyMs:j,testedAt:new Date().toISOString()}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.getProviderNodes,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,mt:()=>d.getSettings,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},74926:(a,b,c)=>{c.d(b,{C:()=>f});var d=c(47774);function e(a){return null==a?"":String(a).trim()}async function f({proxyUrl:a,testUrl:b,timeoutMs:c}={}){let g,h=e(a);if(!h)return{ok:!1,status:400,error:"proxyUrl is required"};let i=e(b)||"https://google.com/",j=Number(c),k=Number.isFinite(j)&&j>0?Math.min(j,3e4):8e3;try{try{g=new d.ProxyAgent({uri:h})}catch(a){return{ok:!1,status:400,error:`Invalid proxy URL: ${a?.message||String(a)}`}}let a=new AbortController,b=Date.now(),c=setTimeout(()=>a.abort(),k);try{let c=await (0,d.hd)(i,{method:"HEAD",dispatcher:g,signal:a.signal,headers:{"User-Agent":"9Router"}});return{ok:c.ok,status:c.status,statusText:c.statusText,url:i,elapsedMs:Date.now()-b}}catch(b){let a=b?.name==="AbortError"?"Proxy test timed out":function(a){if(!a)return"Unknown error";let b=a?.message||String(a),c=a?.cause?.code||a?.code,d=a?.cause?.message;return d&&d!==b?c?`${b}: ${d} (${c})`:`${b}: ${d}`:c&&!b.includes(c)?`${b} (${c})`:b}(b);return{ok:!1,status:500,error:a}}finally{clearTimeout(c)}}finally{try{await g?.close?.()}catch{}}}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},92990:(a,b,c)=>{c.d(b,{DI:()=>g,Hp:()=>i,LT:()=>h,MZ:()=>r,Nl:()=>u,Nu:()=>n,OV:()=>f,Tx:()=>o,WN:()=>p,Ww:()=>v,YT:()=>l,ZL:()=>k,cD:()=>m,f7:()=>t,hF:()=>j,lB:()=>s,t:()=>q});var d=c(21820);function e(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let f={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"},g={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",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},h={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",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"]},i={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},j={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"},k={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"}},l={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",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://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:e(),pluginType:2})};function m(){return{ideType:9,platform:e(),pluginType:2}}let n={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},o={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},p={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},q={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},r={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},s={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},t={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},u={baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},v=3e5},93943:(a,b,c)=>{c.d(b,{Vq:()=>i,fp:()=>g});var d=c(8590);let e=new Map;function f(a){if(null==a||""===a)return null;if("number"==typeof a)return a<1e12?1e3*a:a;let b=new Date(a).getTime();return Number.isFinite(b)?b:null}function g(a,b,c=Date.now()){if(!b)return!1;let e=f(b?.expiresAt??b?.tokenExpiresAt);return!!(null!==e&&e-c<(0,d.Og)(a)||"codex"===a&&b.refreshToken&&function(a,b=Date.now()){let c=f(a?.lastRefreshAt??a?.lastRefresh??a?.providerSpecificData?.lastRefreshAt);return!c||b-c>=6912e5}(b,c))}async function h(a,b,c){let d,f=(d=b?.connectionId||b?.id||b?.email||b?.name||b?.refreshToken?.slice?.(-16)||"default",`${a}:${d}`),g=e.get(f);if(g)return g;let h=Promise.resolve().then(c).finally(()=>{e.delete(f)});return e.set(f,h),h}async function i(a,b,c){return b?h(a,b,async()=>{let e=await (0,d.$B)(a,b,c);return function(a,b,c,e=Date.now()){var f,g;if(!c)return null;if((0,d.jT)(c))return c;let h={},i=new Date(e).toISOString();c.accessToken&&(h.accessToken=c.accessToken),c.apiKey&&(h.apiKey=c.apiKey),c.token&&(h.token=c.token);let j=c.refreshToken??b?.refreshToken;j&&(h.refreshToken=j);let k=c.idToken??b?.idToken;return k&&(h.idToken=k),c.expiresIn?(h.expiresIn=c.expiresIn,h.expiresAt=function(a,b=Date.now()){return a?new Date(b+1e3*a).toISOString():null}(c.expiresIn,e)):c.expiresAt&&(h.expiresAt=c.expiresAt),c.projectId&&(h.projectId=c.projectId),c.providerSpecificData&&(f=b?.providerSpecificData,h.providerSpecificData=(g=c.providerSpecificData)&&"object"==typeof g?{...f||{},...g}:f),c.copilotToken&&(h.copilotToken=c.copilotToken),c.copilotTokenExpiresAt&&(h.copilotTokenExpiresAt=c.copilotTokenExpiresAt),("codex"===a||h.accessToken||h.apiKey||h.token||h.refreshToken||h.copilotToken)&&(h.lastRefreshAt=c.lastRefreshAt||i),h}(a,b,e)}):null}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7341,exports.ids=[7341],exports.modules={57341:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>e,ad:()=>i,getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-xhigh":{input:10,output:40,cached:5,reasoning:60,cache_creation:10},"gpt-5.3-codex-high":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.3-codex-low":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.3-codex-none":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.5":{input:5,output:30,cached:2.5,reasoning:45,cache_creation:5},"gpt-5.5-pro":{input:10,output:60,cached:5,reasoning:90,cache_creation:10},"gpt-5.4":{input:2.5,output:15,cached:1.25,reasoning:22.5,cache_creation:2.5},"gpt-5.4-pro":{input:30,output:180,cached:15,reasoning:270,cache_creation:30},"gpt-5.4-mini":{input:.4,output:1.6,cached:.2,reasoning:2.4,cache_creation:.4},"gpt-5.4-nano":{input:.1,output:.4,cached:.05,reasoning:.6,cache_creation:.1},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}function i(){return e}}};
1
+ "use strict";exports.id=7341,exports.ids=[7341],exports.modules={57341:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>e,ad:()=>i,getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5-mini":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"gpt-5-codex":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.1":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.2-codex":{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5},"gpt-5.3-codex":{input:6,output:24,cached:3,reasoning:36,cache_creation:6},"gpt-5.3-codex-xhigh":{input:10,output:40,cached:5,reasoning:60,cache_creation:10},"gpt-5.3-codex-high":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.3-codex-low":{input:4,output:16,cached:2,reasoning:24,cache_creation:4},"gpt-5.3-codex-none":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gpt-5.5":{input:5,output:30,cached:2.5,reasoning:45,cache_creation:5},"gpt-5.5-pro":{input:10,output:60,cached:5,reasoning:90,cache_creation:10},"gpt-5.4":{input:2.5,output:15,cached:1.25,reasoning:22.5,cache_creation:2.5},"gpt-5.4-pro":{input:30,output:180,cached:15,reasoning:270,cache_creation:30},"gpt-5.4-mini":{input:.4,output:1.6,cached:.2,reasoning:2.4,cache_creation:.4},"gpt-5.4-nano":{input:.1,output:.4,cached:.05,reasoning:.6,cache_creation:.1},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"*-codex-none",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"*-codex",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.3-*",pricing:{input:6,output:24,cached:3,reasoning:36,cache_creation:6}},{pattern:"gpt-5.2-*",pricing:{input:5,output:20,cached:2.5,reasoning:30,cache_creation:5}},{pattern:"gpt-5.1-*",pricing:{input:4,output:16,cached:2,reasoning:24,cache_creation:4}},{pattern:"gpt-5-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-5*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}function i(){return e}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7828,exports.ids=[7828],exports.modules={38160:(a,b,c)=>{c.d(b,{Ou:()=>i,eG:()=>h});var d=c(75924);let e=new Map,f=new Map,g=null;async function h(a,b){if(!a||!b)return null;let c=e.get(a);if(c&&Date.now()-c.fetchedAt<36e5)return c.projectId;if(f.has(a))return f.get(a).promise;let d=new AbortController,g=(async()=>{try{let c=await j(b,d.signal);if(c)return e.set(a,{projectId:c,fetchedAt:Date.now()}),c;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{f.delete(a)}})();return f.set(a,{promise:g,controller:d,startedAt:Date.now()}),g}function i(a){e.delete(a)}async function j(a,b){let c=await fetch(d.nZ.loadCodeAssist,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:d.zv}),signal:b});if(!c.ok){let a=await c.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${c.status} ${a.slice(0,200)}`)}let e=await c.json(),f=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(e);if(f)return f;let g="legacy-tier";if(Array.isArray(e.allowedTiers)){for(let a of e.allowedTiers)if(a&&"object"==typeof a&&!0===a.isDefault&&a.id&&"string"==typeof a.id&&a.id.trim()){g=a.id.trim();break}}return k(a,g,b)}async function k(a,b,c){console.log(`[ProjectId] Onboarding user with tier: ${b}`);let e={tierId:b,metadata:d.zv};for(let b=1;b<=5&&!c?.aborted;b++){let f=new AbortController,g=setTimeout(()=>f.abort(),3e4),h=()=>f.abort();c?.addEventListener("abort",h);try{let c=await fetch(d.nZ.onboardUser,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify(e),signal:f.signal});if(clearTimeout(g),!c.ok){let a=await c.text().catch(()=>"");throw Error(`onboardUser HTTP ${c.status}: ${a.slice(0,200)}`)}let h=await c.json();if(!0===h.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(h);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;throw Error("onboardUser done but no project_id in response")}console.log(`[ProjectId] Onboard attempt ${b}/5: not done yet, waiting...`),await new Promise(a=>setTimeout(a,2e3))}catch(a){if(clearTimeout(g),"AbortError"===a.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(5===b)return console.warn(`[ProjectId] onboardUser failed after 5 attempts: ${a.message}`),null;console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${a.message}, retrying...`),await new Promise(a=>setTimeout(a,2e3))}finally{clearTimeout(g),c?.removeEventListener("abort",h)}}return null}g=setInterval(()=>{try{let a=Date.now();for(let[b,c]of e)(!c||a-c.fetchedAt>=36e5)&&e.delete(b);for(let[b,c]of f){if(!c||"number"!=typeof c.startedAt){f.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}f.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),g?.unref?.()},67828:(a,b,c)=>{c.d(b,{I9:()=>i,eU:()=>m,vN:()=>l});var d=c(7803),e=c(89718),f=c(38160),g=c(8590);let h=g.oD,i=(a,b,c)=>(0,g.I9)(a,b,c,d);function j(a){return new Date(Date.now()+1e3*a).toISOString()}function k(a){if(!a)return null;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():null}async function l(a,b){try{let c={};if(b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.expiresIn)c.expiresAt=j(b.expiresIn),c.expiresIn=b.expiresIn;else if(b.expiresAt){let a=k(b.expiresAt);a&&(c.expiresAt=a,c.expiresIn=Math.max(1,Math.floor((new Date(a).getTime()-Date.now())/1e3)))}b.providerSpecificData&&(c.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),b.projectId&&(c.projectId=b.projectId);let f=await (0,e.updateProviderConnection)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function m(a,b){let c={...b};if(c.expiresAt){let b=new Date(c.expiresAt).getTime()-Date.now(),e=(0,g.Og)(a);if(b<e){let h;d.info("TOKEN_REFRESH","Token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round(b/1e3),refreshLeadMs:e});let i=await (h=c,(0,g.iD)(a,h,d));if(i?.accessToken){let b={...i,existingProviderSpecificData:c.providerSpecificData};await l(c.connectionId,b),function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&((0,f.Ou)(b),(0,f.eG)(b,c).then(a=>{a&&l(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,(c={...c,accessToken:i.accessToken,refreshToken:i.refreshToken??c.refreshToken,providerSpecificData:i.providerSpecificData?{...c.providerSpecificData,...i.providerSpecificData}:c.providerSpecificData,expiresAt:i.expiresIn?j(i.expiresIn):k(i.expiresAt)||c.expiresAt}).connectionId,c.accessToken)}}}if("github"===a&&c.providerSpecificData?.copilotTokenExpiresAt){let b=1e3*c.providerSpecificData.copilotTokenExpiresAt-Date.now();if(b<h){let e;d.info("TOKEN_REFRESH","Copilot token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round(b/1e3)});let f=await (e=c.accessToken,(0,g.jR)(e,d));if(f){let a={...c.providerSpecificData,copilotToken:f.token,copilotTokenExpiresAt:f.expiresAt};await l(c.connectionId,{providerSpecificData:a}),c.providerSpecificData=a,c.copilotToken=f.token}}}return c}}};
1
+ "use strict";exports.id=7828,exports.ids=[7828],exports.modules={38160:(a,b,c)=>{c.d(b,{Ou:()=>i,eG:()=>h});var d=c(75924);let e=new Map,f=new Map,g=null;async function h(a,b){if(!a||!b)return null;let c=e.get(a);if(c&&Date.now()-c.fetchedAt<36e5)return c.projectId;if(f.has(a))return f.get(a).promise;let d=new AbortController,g=(async()=>{try{let c=await j(b,d.signal);if(c)return e.set(a,{projectId:c,fetchedAt:Date.now()}),c;return console.warn("[ProjectId] could not fetch projectId for connection",a.slice(0,8)),null}catch(a){return console.warn(`[ProjectId] Error fetching project ID: ${a.message}`),null}finally{f.delete(a)}})();return f.set(a,{promise:g,controller:d,startedAt:Date.now()}),g}function i(a){e.delete(a)}async function j(a,b){let c=await fetch(d.nZ.loadCodeAssist,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify({metadata:d.zv}),signal:b});if(!c.ok){let a=await c.text().catch(()=>"");throw Error(`loadCodeAssist failed: HTTP ${c.status} ${a.slice(0,200)}`)}let e=await c.json(),f=function(a){if(!a)return null;if("string"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.trim();if(b)return b}if(a.cloudaicompanionProject&&"object"==typeof a.cloudaicompanionProject){let b=a.cloudaicompanionProject.id;if("string"==typeof b&&b.trim())return b.trim()}return null}(e);if(f)return f;let g="legacy-tier";if(Array.isArray(e.allowedTiers)){for(let a of e.allowedTiers)if(a&&"object"==typeof a&&!0===a.isDefault&&a.id&&"string"==typeof a.id&&a.id.trim()){g=a.id.trim();break}}return k(a,g,b)}async function k(a,b,c){console.log(`[ProjectId] Onboarding user with tier: ${b}`);let e={tierId:b,metadata:d.zv};for(let b=1;b<=5&&!c?.aborted;b++){let f=new AbortController,g=setTimeout(()=>f.abort(),3e4),h=()=>f.abort();c?.addEventListener("abort",h);try{let c=await fetch(d.nZ.onboardUser,{method:"POST",headers:{...d.Ic,Authorization:`Bearer ${a}`},body:JSON.stringify(e),signal:f.signal});if(clearTimeout(g),!c.ok){let a=await c.text().catch(()=>"");throw Error(`onboardUser HTTP ${c.status}: ${a.slice(0,200)}`)}let h=await c.json();if(!0===h.done){let a=function(a){if(!a?.response)return null;let b=a.response.cloudaicompanionProject;if("string"==typeof b){let a=b.trim();if(a)return a}if(b&&"object"==typeof b){let a=b.id;if("string"==typeof a&&a.trim())return a.trim()}return null}(h);if(a)return console.log(`[ProjectId] Successfully onboarded, project ID: ${a}`),a;throw Error("onboardUser done but no project_id in response")}console.log(`[ProjectId] Onboard attempt ${b}/5: not done yet, waiting...`),await new Promise(a=>setTimeout(a,2e3))}catch(a){if(clearTimeout(g),"AbortError"===a.name){if(console.warn(`[ProjectId] onboardUser attempt ${b} aborted (timeout or connection removed)`),c?.aborted)return null;continue}if(5===b)return console.warn(`[ProjectId] onboardUser failed after 5 attempts: ${a.message}`),null;console.warn(`[ProjectId] onboardUser attempt ${b} failed: ${a.message}, retrying...`),await new Promise(a=>setTimeout(a,2e3))}finally{clearTimeout(g),c?.removeEventListener("abort",h)}}return null}g=setInterval(()=>{try{let a=Date.now();for(let[b,c]of e)(!c||a-c.fetchedAt>=36e5)&&e.delete(b);for(let[b,c]of f){if(!c||"number"!=typeof c.startedAt){f.delete(b);continue}if(a-c.startedAt>12e4){try{c.controller.abort()}catch(a){}f.delete(b)}}}catch(a){console.warn("[ProjectId] cleanup sweep error:",a?.message??a)}},6e5),g?.unref?.()},67828:(a,b,c)=>{c.d(b,{I9:()=>j,eU:()=>n,vN:()=>m});var d=c(7803),e=c(89718),f=c(38160),g=c(8590),h=c(93943);let i=g.oD,j=(a,b,c)=>(0,g.I9)(a,b,c,d);function k(a){return new Date(Date.now()+1e3*a).toISOString()}function l(a){if(!a)return null;let b=new Date(a);return Number.isFinite(b.getTime())?b.toISOString():null}async function m(a,b){try{let c={};if(b.accessToken&&(c.accessToken=b.accessToken),b.refreshToken&&(c.refreshToken=b.refreshToken),b.idToken&&(c.idToken=b.idToken),b.lastRefreshAt&&(c.lastRefreshAt=b.lastRefreshAt),b.expiresAt&&(c.expiresAt=b.expiresAt),b.expiresIn)c.expiresAt=k(b.expiresIn),c.expiresIn=b.expiresIn;else if(b.expiresAt){let a=l(b.expiresAt);a&&(c.expiresAt=a,c.expiresIn=Math.max(1,Math.floor((new Date(a).getTime()-Date.now())/1e3)))}b.providerSpecificData&&(c.providerSpecificData={...b.existingProviderSpecificData||{},...b.providerSpecificData}),(b.copilotToken||b.copilotTokenExpiresAt)&&(c.providerSpecificData={...c.providerSpecificData||b.existingProviderSpecificData||{},...b.copilotToken?{copilotToken:b.copilotToken}:{},...b.copilotTokenExpiresAt?{copilotTokenExpiresAt:b.copilotTokenExpiresAt}:{}}),b.projectId&&(c.projectId=b.projectId);let f=await (0,e.updateProviderConnection)(a,c);return d.info("TOKEN_REFRESH","Credentials updated in localDb",{connectionId:a,success:!!f}),!!f}catch(b){return d.error("TOKEN_REFRESH","Error updating credentials in localDb",{connectionId:a,error:b.message}),!1}}async function n(a,b){let c={...b};if((0,h.fp)(a,c)){let b=c.expiresAt?new Date(c.expiresAt).getTime():null,e=b?b-Date.now():null,i=(0,g.Og)(a);d.info("TOKEN_REFRESH","Refreshing provider credentials proactively",{provider:a,expiresIn:null===e?null:Math.round(e/1e3),refreshLeadMs:i,lastRefreshAt:c.lastRefreshAt||null});let j=await (0,h.Vq)(a,c,d);if(j?.accessToken||j?.apiKey||j?.copilotToken){let b={...j,existingProviderSpecificData:c.providerSpecificData};await m(c.connectionId,b),function(a,b,c){("antigravity"===a||"gemini-cli"===a)&&b&&c&&((0,f.Ou)(b),(0,f.eG)(b,c).then(a=>{a&&m(b,{projectId:a}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to persist refreshed projectId",{connectionId:b,error:a?.message??a})})}).catch(a=>{d.debug("TOKEN_REFRESH","Failed to fetch projectId after token refresh",{connectionId:b,error:a?.message??a})}))}(a,(c={...c,...j,expiresAt:j.expiresIn?k(j.expiresIn):l(j.expiresAt)||j.expiresAt||c.expiresAt,providerSpecificData:j.providerSpecificData?{...c.providerSpecificData,...j.providerSpecificData}:c.providerSpecificData}).connectionId,c.accessToken)}}if("github"===a&&c.providerSpecificData?.copilotTokenExpiresAt){let b=1e3*c.providerSpecificData.copilotTokenExpiresAt-Date.now();if(b<i){let e;d.info("TOKEN_REFRESH","Copilot token expiring soon, refreshing proactively",{provider:a,expiresIn:Math.round(b/1e3)});let f=await (e=c.accessToken,(0,g.jR)(e,d));if(f){let a={...c.providerSpecificData,copilotToken:f.token,copilotTokenExpiresAt:f.expiresAt};await m(c.connectionId,{providerSpecificData:a}),c.providerSpecificData=a,c.copilotToken=f.token}}}return c}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=7879,exports.ids=[7879],exports.modules={29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},30022:(a,b,c)=>{c.d(b,{KC:()=>j,RB:()=>q,Ty:()=>m,_G:()=>h,bg:()=>g,cT:()=>l,f2:()=>r,pM:()=>p,pr:()=>s,qk:()=>n,rf:()=>f,t6:()=>k,xG:()=>o});let d="https://openapi.qoder.sh",e="https://api3.qoder.sh",f="https://qoder.com/device/selectAccounts",g=`${d}/api/v1/deviceToken/poll`,h=`${d}/api/v1/userinfo`,i=`${e}/algo/api/v2/service/pro/sse/agent_chat_generation?FetchKeys=llm_model_result&AgentId=agent_common`,j=`${i}&Encode=1`,k=`${e}/algo/api/v2/model/list`,l="1.0.0",m="5",n="disagree",o="v2",p="x86_64_windows",q="5",r={auto:"auto",ultimate:"ultimate",performance:"performance",efficient:"efficient",lite:"lite",qmodel:"qmodel",dmodel:"dmodel",dfmodel:"dfmodel",gm51model:"gm51model",kmodel:"kmodel",mmodel:"mmodel"},s=`-----BEGIN PUBLIC KEY-----
1
+ "use strict";exports.id=7879,exports.ids=[7879],exports.modules={29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},30022:(a,b,c)=>{c.d(b,{KC:()=>j,RB:()=>q,Ty:()=>m,_G:()=>h,bg:()=>g,cT:()=>l,pM:()=>p,pr:()=>r,qk:()=>n,rf:()=>f,t6:()=>k,xG:()=>o});let d="https://openapi.qoder.sh",e="https://api3.qoder.sh",f="https://qoder.com/device/selectAccounts",g=`${d}/api/v1/deviceToken/poll`,h=`${d}/api/v1/userinfo`,i=`${e}/algo/api/v2/service/pro/sse/agent_chat_generation?FetchKeys=llm_model_result&AgentId=agent_common`,j=`${i}&Encode=1`,k=`${e}/algo/api/v2/model/list`,l="1.0.0",m="5",n="disagree",o="v2",p="x86_64_windows",q="5",r=`-----BEGIN PUBLIC KEY-----
2
2
  MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA8iMH5c02LilrsERw9t6Pv5Nc
3
3
  4k6Pz1EaDicBMpdpxKduSZu5OANqUq8er4GM95omAGIOPOh+Nx0spthYA2BqGz+l
4
4
  6HRkPJ7S236FZz73In/KVuLnwI8JJ2CbuJap8kvheCCZpmAWpb/cPx/3Vr/J6I17
@@ -0,0 +1 @@
1
+ exports.id=7912,exports.ids=[7912],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},5439:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(13973),g=c(41659),h=c(31797),i=c(71544),j=c(89964),k=c(77165),l=c(66796),m=c(47929),n=c(62018),o=c(23101),p=c(37525),q=c(95491);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e={};for(let f of Object.keys(b.groups)){let g=a[f];"string"==typeof g?g=(0,l.normalizeRscURL)(g):Array.isArray(g)&&(g=g.map(l.normalizeRscURL));let h=c[f],i=b.groups[f].optional;if((Array.isArray(h)?h.some(a=>Array.isArray(g)?g.some(b=>b.includes(a)):null==g?void 0:g.includes(a)):null==g?void 0:g.includes(h))||void 0===g&&!(i&&d))return{params:{},hasValidParams:!1};i&&(!g||Array.isArray(g)&&1===g.length&&("index"===g[0]||g[0]===`[[...${f}]]`)||"index"===g||g===`[[...${f}]]`)&&(g=void 0,delete a[f]),g&&"string"==typeof g&&b.groups[f].repeat&&(g=g.split("/")),g&&(e[f]=g)}return{params:e,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},7768:a=>{a.exports={style:{fontFamily:"'inter', 'inter Fallback'"},className:"__className_53f2d8",variable:"__variable_53f2d8"}},7904:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},10684:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},23101:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},23315:(a,b)=>{"use strict";function c(a){return a.replace(/\\/g,"/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathSep",{enumerable:!0,get:function(){return c}})},27196:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},31383:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},31797:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(47929),g=c(32107),h=c(31383),i=c(77165),j=c(93646);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},36497:()=>{},41659:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(27196);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},68097:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(9787),e=c(49286);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},71544:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(16433),e=c(89151);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},85420:(a,b)=>{"use strict";function c(a){return a.endsWith("/route")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isAppRouteRoute",{enumerable:!0,get:function(){return c}})},88868:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d,e={fillMetadataSegment:function(){return p},normalizeMetadataPageToRoute:function(){return r},normalizeMetadataRoute:function(){return q}};for(var f in e)Object.defineProperty(b,f,{enumerable:!0,get:e[f]});let g=c(93302),h=(d=c(16225))&&d.__esModule?d:{default:d},i=c(5439),j=c(31797),k=c(38462),l=c(66796),m=c(23315),n=c(64929);function o(a){let b=h.default.dirname(a);if(a.endsWith("/sitemap")||a.endsWith("/sitemap.xml"))return"";let c="";return b.split("/").some(a=>(0,n.isGroupSegment)(a)||(0,n.isParallelRouteSegment)(a))&&(c=(0,k.djb2Hash)(b).toString(36).slice(0,6)),c}function p(a,b,c,d){let e=(0,l.normalizeAppPath)(a),f=(0,j.getNamedRouteRegex)(e,{prefixRouteKeys:!1}),g=d?Object.keys(f.groups).reduce((a,b)=>{let{repeat:c}=f.groups[b];return a[b]=c?["-"]:"-",a},{}):b,k=(0,i.interpolateDynamicPath)(e,g,f),{name:n,ext:p}=h.default.parse(c),q=o(h.default.posix.join(a,n)),r=q?`-${q}`:"";return(0,m.normalizePathSep)(h.default.join(k,`${n}${r}${p}`))}function q(a){if(!(0,g.isMetadataPage)(a))return a;let b=a,c="";if("/robots"===a?b+=".txt":"/manifest"===a?b+=".webmanifest":c=o(a),!b.endsWith("/route")){let{dir:a,name:d,ext:e}=h.default.parse(b);b=h.default.posix.join(a,`${d}${c?`-${c}`:""}${e}`,"route")}return b}function r(a,b){let c=a.endsWith("/route"),d=c?a.slice(0,-6):a,e=d.endsWith("/sitemap")?".xml":"";return(b?`${d}/[__metadata_id__]`:`${d}${e}`)+(c?"/route":"")}},89151:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={safeCompile:function(){return i},safePathToRegexp:function(){return h},safeRegexpToFunction:function(){return j},safeRouteMatcher:function(){return k}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(27196),g=c(10684);function h(a,b,c){if("string"!=typeof a)return(0,f.pathToRegexp)(a,b,c);let d=(0,g.hasAdjacentParameterIssues)(a),e=d?(0,g.normalizeAdjacentParameters)(a):a;try{return(0,f.pathToRegexp)(e,b,c)}catch(e){if(!d)try{let d=(0,g.normalizeAdjacentParameters)(a);return(0,f.pathToRegexp)(d,b,c)}catch(a){}throw e}}function i(a,b){let c=(0,g.hasAdjacentParameterIssues)(a),d=c?(0,g.normalizeAdjacentParameters)(a):a;try{let a=(0,f.compile)(d,b);if(c)return b=>(0,g.stripNormalizedSeparators)(a(b));return a}catch(d){if(!c)try{let c=(0,g.normalizeAdjacentParameters)(a),d=(0,f.compile)(c,b);return a=>(0,g.stripNormalizedSeparators)(d(a))}catch(a){}throw d}}function j(a,b){let c=(0,f.regexpToFunction)(a,b||[]);return a=>{let b=c(a);return!!b&&{...b,params:(0,g.stripParameterSeparators)(b.params)}}}function k(a){return b=>{let c=a(b);return!!c&&(0,g.stripParameterSeparators)(c)}}},89964:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={compileNonPath:function(){return m},matchHas:function(){return l},parseDestination:function(){return n},prepareDestination:function(){return o}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(31383),g=c(68097),h=c(32107),i=c(85782),j=c(89151);function k(a){return a.replace(/__ESC_COLON_/gi,":")}function l(a,b,c=[],d=[]){let e={},f=c=>{let d,f=c.key;switch(c.type){case"header":f=f.toLowerCase(),d=a.headers[f];break;case"cookie":d="cookies"in a?a.cookies[c.key]:(0,i.getCookieParser)(a.headers)()[c.key];break;case"query":d=b[f];break;case"host":{let{host:b}=a?.headers||{};d=b?.split(":",1)[0].toLowerCase()}}if(!c.value&&d)return e[function(a){let b="";for(let c=0;c<a.length;c++){let d=a.charCodeAt(c);(d>64&&d<91||d>96&&d<123)&&(b+=a[c])}return b}(f)]=d,!0;if(d){let a=RegExp(`^${c.value}$`),b=Array.isArray(d)?d.slice(-1)[0].match(a):d.match(a);if(b)return Array.isArray(b)&&(b.groups?Object.keys(b.groups).forEach(a=>{e[a]=b.groups[a]}):"host"===c.type&&b[0]&&(e.host=b[0])),!0}return!1};return!(!c.every(a=>f(a))||d.some(a=>f(a)))&&e}function m(a,b){if(!a.includes(":"))return a;for(let c of Object.keys(b))a.includes(`:${c}`)&&(a=a.replace(RegExp(`:${c}\\*`,"g"),`:${c}--ESCAPED_PARAM_ASTERISKS`).replace(RegExp(`:${c}\\?`,"g"),`:${c}--ESCAPED_PARAM_QUESTION`).replace(RegExp(`:${c}\\+`,"g"),`:${c}--ESCAPED_PARAM_PLUS`).replace(RegExp(`:${c}(?!\\w)`,"g"),`--ESCAPED_PARAM_COLON${c}`));return a=a.replace(/(:|\*|\?|\+|\(|\)|\{|\})/g,"\\$1").replace(/--ESCAPED_PARAM_PLUS/g,"+").replace(/--ESCAPED_PARAM_COLON/g,":").replace(/--ESCAPED_PARAM_QUESTION/g,"?").replace(/--ESCAPED_PARAM_ASTERISKS/g,"*"),(0,j.safeCompile)(`/${a}`,{validate:!1})(b).slice(1)}function n(a){let b=a.destination;for(let c of Object.keys({...a.params,...a.query}))c&&(b=b.replace(RegExp(`:${(0,f.escapeStringRegexp)(c)}`,"g"),`__ESC_COLON_${c}`));let c=(0,g.parseUrl)(b),d=c.pathname;d&&(d=k(d));let e=c.href;e&&(e=k(e));let h=c.hostname;h&&(h=k(h));let i=c.hash;i&&(i=k(i));let j=c.search;j&&(j=k(j));let l=c.origin;return l&&(l=k(l)),{...c,pathname:d,hostname:h,href:e,hash:i,search:j,origin:l}}function o(a){let b,c,d=n(a),{hostname:e,query:f,search:g}=d,i=d.pathname;d.hash&&(i=`${i}${d.hash}`);let l=[],o=[];for(let a of((0,j.safePathToRegexp)(i,o),o))l.push(a.name);if(e){let a=[];for(let b of((0,j.safePathToRegexp)(e,a),a))l.push(b.name)}let p=(0,j.safeCompile)(i,{validate:!1});for(let[c,d]of(e&&(b=(0,j.safeCompile)(e,{validate:!1})),Object.entries(f)))Array.isArray(d)?f[c]=d.map(b=>m(k(b),a.params)):"string"==typeof d&&(f[c]=m(k(d),a.params));let q=Object.keys(a.params).filter(a=>"nextInternalLocale"!==a);if(a.appendParamsToQuery&&!q.some(a=>l.includes(a)))for(let b of q)b in f||(f[b]=a.params[b]);if((0,h.isInterceptionRouteAppPath)(i))for(let b of i.split("/")){let c=h.INTERCEPTION_ROUTE_MARKERS.find(a=>b.startsWith(a));if(c){"(..)(..)"===c?(a.params["0"]="(..)",a.params["1"]="(..)"):a.params["0"]=c;break}}try{let[e,f]=(c=p(a.params)).split("#",2);b&&(d.hostname=b(a.params)),d.pathname=e,d.hash=`${f?"#":""}${f||""}`,d.search=g?m(g,a.params):""}catch(a){if(a.message.match(/Expected .*? to not repeat, but got an array/))throw Object.defineProperty(Error("To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match"),"__NEXT_ERROR_CODE",{value:"E329",enumerable:!1,configurable:!0});throw a}return d.query={...a.query,...d.query},{newUrl:c,destQuery:f,parsedDestination:d}}},93302:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={DEFAULT_METADATA_ROUTE_EXTENSIONS:function(){return j},STATIC_METADATA_IMAGES:function(){return i},getExtensionRegexString:function(){return k},isMetadataPage:function(){return u},isMetadataRoute:function(){return v},isMetadataRouteFile:function(){return s},isStaticMetadataFile:function(){return l},isStaticMetadataRoute:function(){return t}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(23315),g=c(66796),h=c(85420),i={icon:{filename:"icon",extensions:["ico","jpg","jpeg","png","svg"]},apple:{filename:"apple-icon",extensions:["jpg","jpeg","png"]},favicon:{filename:"favicon",extensions:["ico"]},openGraph:{filename:"opengraph-image",extensions:["jpg","jpeg","png","gif"]},twitter:{filename:"twitter-image",extensions:["jpg","jpeg","png","gif"]}},j=["js","jsx","ts","tsx"],k=(a,b)=>b&&0!==b.length?`(?:\\.(${a.join("|")})|(\\.(${b.join("|")})))`:`(\\.(?:${a.join("|")}))`;function l(a){return s(a,[],!0)}let m=/^[\\/]favicon\.ico$/,n=/^[\\/]robots\.txt$/,o=/^[\\/]manifest\.json$/,p=/^[\\/]manifest\.webmanifest$/,q=/[\\/]sitemap\.xml$/,r=new Map;function s(a,b,c){if(!a||a.length<2)return!1;let d=(0,f.normalizePathSep)(a),e=!!(m.test(d)||n.test(d)||o.test(d)||p.test(d)||q.test(d))||(!!d.includes("robots")||!!d.includes("manifest")||!!d.includes("sitemap")||!!d.includes("icon")||!!d.includes("apple-icon")||!!d.includes("opengraph-image")||!!d.includes("twitter-image")||!!d.includes("favicon"))&&null;if(null!==e)return e;let g=function(a,b){let c=`${a.join(",")}|${b}`,d=r.get(c);if(d)return d;let e=b?"$":"?$",f="\\d?"+(b?"":"(-\\w{6})?"),g=a.length>0?[...a,"txt"]:["txt"],h=a.length>0?[...a,"webmanifest","json"]:["webmanifest","json"],j=[RegExp(`^[\\\\/]robots${k(g,null)}${e}`),RegExp(`^[\\\\/]manifest${k(h,null)}${e}`),RegExp(`[\\\\/]sitemap${k(["xml"],a)}${e}`),RegExp(`[\\\\/]icon${f}${k(i.icon.extensions,a)}${e}`),RegExp(`[\\\\/]apple-icon${f}${k(i.apple.extensions,a)}${e}`),RegExp(`[\\\\/]opengraph-image${f}${k(i.openGraph.extensions,a)}${e}`),RegExp(`[\\\\/]twitter-image${f}${k(i.twitter.extensions,a)}${e}`)];return r.set(c,j),j}(b,c);for(let a=0;a<g.length;a++)if(g[a].test(d))return!0;return!1}function t(a){let b=a.replace(/\/route$/,"");return(0,h.isAppRouteRoute)(a)&&s(b,[],!0)&&"/robots.txt"!==b&&"/manifest.webmanifest"!==b&&!b.endsWith("/sitemap.xml")}function u(a){return!(0,h.isAppRouteRoute)(a)&&s(a,[],!1)}function v(a){let b=(0,g.normalizeAppPath)(a).replace(/^\/?app\//,"").replace("/[__metadata_id__]","").replace(/\/route$/,"");return"/"!==b[0]&&(b="/"+b),(0,h.isAppRouteRoute)(a)&&s(b,[],!1)}},93646:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={PARAMETER_PATTERN:function(){return l},getDynamicParam:function(){return k},interpolateParallelRouteParams:function(){return j},parseMatchedParameter:function(){return n},parseParameter:function(){return m}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(72339),g=c(92122),h=c(4772),i=c(86070);function j(a,b,c,d){let e=structuredClone(b),j=[{tree:a,depth:0}],k=(0,h.parseAppRoute)(c,!0);for(;j.length>0;){let{tree:a,depth:b}=j.pop(),{segment:c,parallelRoutes:l}=(0,g.parseLoaderTree)(a),m=(0,h.parseAppRouteSegment)(c);if(m?.type==="dynamic"&&!e.hasOwnProperty(m.param.paramName)&&!d?.has(m.param.paramName)){let{paramName:a,paramType:c}=m.param,d=(0,i.resolveParamValue)(a,c,b,k,e);if(void 0!==d)e[a]=d;else if("optional-catchall"!==c)throw Object.defineProperty(new f.InvariantError(`Could not resolve param value for segment: ${a}`),"__NEXT_ERROR_CODE",{value:"E932",enumerable:!1,configurable:!0})}let n=b;for(let a of(m&&"route-group"!==m.type&&"parallel-route"!==m.type&&n++,Object.values(l)))j.push({tree:a,depth:n})}return e}function k(a,b,c,d,e){let g=function(a,b,c){let d=a[b];if(c?.has(b)){let[a]=c.get(b);d=a}else Array.isArray(d)?d=d.map(a=>encodeURIComponent(a)):"string"==typeof d&&(d=encodeURIComponent(d));return d}(a,b,d);if(!g||0===g.length){if("oc"===c)return{param:b,value:null,type:c,treeSegment:[b,"",c,e]};throw Object.defineProperty(new f.InvariantError(`Missing value for segment key: "${b}" with dynamic param type: ${c}`),"__NEXT_ERROR_CODE",{value:"E864",enumerable:!1,configurable:!0})}let h=Array.isArray(g)?g.join("/"):g;return{param:b,value:g,treeSegment:[b,h,c,e],type:c}}let l=/^([^[]*)\[((?:\[[^\]]*\])|[^\]]+)\](.*)$/;function m(a){let b=a.match(l);return b?n(b[2]):n(a)}function n(a){let b=a.startsWith("[")&&a.endsWith("]");b&&(a=a.slice(1,-1));let c=a.startsWith("...");return c&&(a=a.slice(3)),{key:a,repeat:c,optional:b}}},95491:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={formatUrl:function(){return h},formatWithValidation:function(){return j},urlObjectKeys:function(){return i}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(7904)._(c(9787)),g=/https?|ftp|gopher|file/;function h(a){let{auth:b,hostname:c}=a,d=a.protocol||"",e=a.pathname||"",h=a.hash||"",i=a.query||"",j=!1;b=b?encodeURIComponent(b).replace(/%3A/i,":")+"@":"",a.host?j=b+a.host:c&&(j=b+(~c.indexOf(":")?`[${c}]`:c),a.port&&(j+=":"+a.port)),i&&"object"==typeof i&&(i=String(f.urlQueryToSearchParams(i)));let k=a.search||i&&`?${i}`||"";return d&&!d.endsWith(":")&&(d+=":"),a.slashes||(!d||g.test(d))&&!1!==j?(j="//"+(j||""),e&&"/"!==e[0]&&(e="/"+e)):j||(j=""),h&&"#"!==h[0]&&(h="#"+h),k&&"?"!==k[0]&&(k="?"+k),e=e.replace(/[?#]/g,encodeURIComponent),k=k.replace("#","%23"),`${d}${j}${e}${k}${h}`}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function j(a){return h(a)}}};