@jheavenknows/bluerouter 4.0.80 → 4.0.82

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 (990) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +8 -4
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/routes-manifest.json +26 -0
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +4 -4
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +2 -0
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +1 -0
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -0
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  85. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  88. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  96. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  98. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  99. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  100. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  101. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  102. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  103. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  104. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  105. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  106. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
  111. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  123. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  159. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +2 -2
  163. package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +2 -2
  169. package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
  189. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  195. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  223. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -0
  239. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -0
  240. package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route_client-reference-manifest.js +1 -0
  241. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -0
  242. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -0
  243. package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route_client-reference-manifest.js +1 -0
  244. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -0
  245. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -0
  246. package/app/.next-cli-build/server/app/api/personal-cloud-providers/route_client-reference-manifest.js +1 -0
  247. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  282. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  284. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  288. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  304. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  326. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  330. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  346. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  394. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  396. package/app/.next-cli-build/server/app/callback.html +1 -1
  397. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  398. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  399. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  401. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  402. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  403. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/analytics.html +1 -1
  405. package/app/.next-cli-build/server/app/dashboard/analytics.rsc +5 -5
  406. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics/__PAGE__.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard/analytics.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/analytics.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  410. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_full.segment.rsc +5 -5
  411. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_head.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_index.segment.rsc +4 -4
  413. package/app/.next-cli-build/server/app/dashboard/analytics.segments/_tree.segment.rsc +2 -2
  414. package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +6 -6
  416. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +2 -2
  417. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  420. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +6 -6
  421. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_head.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_index.segment.rsc +4 -4
  423. package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
  424. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  426. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  431. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  433. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  436. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  441. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  443. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  446. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  448. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  450. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  451. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  453. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  456. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  461. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  463. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  466. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  469. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  471. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  472. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  473. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  474. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  475. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  477. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  478. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  479. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  482. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  484. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  487. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  491. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  492. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  494. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +5 -5
  497. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs.segment.rsc +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +5 -5
  502. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_head.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_index.segment.rsc +4 -4
  504. package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +5 -5
  507. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health.segment.rsc +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  511. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +5 -5
  512. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_head.segment.rsc +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_index.segment.rsc +4 -4
  514. package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
  515. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  516. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  517. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  521. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  523. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  525. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  526. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  527. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  528. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  531. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  532. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  533. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  534. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  535. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  536. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  538. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  542. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  543. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  545. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  548. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  549. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  552. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  553. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  555. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  556. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  558. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  561. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  562. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  563. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  564. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  565. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  566. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  567. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  571. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  572. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  573. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  575. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  576. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  577. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  578. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  580. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  581. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  582. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  583. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  584. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  585. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  586. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  587. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  588. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  589. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  590. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  591. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  592. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  593. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  594. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  595. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  596. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  597. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  598. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  600. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  601. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  602. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  603. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  604. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  605. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  606. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  607. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  608. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  609. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  610. package/app/.next-cli-build/server/app/index.html +1 -1
  611. package/app/.next-cli-build/server/app/index.rsc +4 -4
  612. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  613. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  614. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  615. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  616. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  617. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  618. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  619. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  620. package/app/.next-cli-build/server/app/landing.html +1 -1
  621. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  622. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  623. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  624. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  625. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  626. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  627. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  628. package/app/.next-cli-build/server/app/login/page.js +2 -2
  629. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  630. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  631. package/app/.next-cli-build/server/app/login.html +1 -1
  632. package/app/.next-cli-build/server/app/login.rsc +5 -5
  633. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  634. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  635. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  636. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  637. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  638. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  640. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  641. package/app/.next-cli-build/server/app/page.js +2 -2
  642. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  643. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  644. package/app/.next-cli-build/server/app-paths-manifest.json +8 -4
  645. package/app/.next-cli-build/server/chunks/232.js +1 -1
  646. package/app/.next-cli-build/server/chunks/2338.js +9 -8
  647. package/app/.next-cli-build/server/chunks/3104.js +2 -2
  648. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  649. package/app/.next-cli-build/server/chunks/318.js +2 -2
  650. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  651. package/app/.next-cli-build/server/chunks/3913.js +1 -1
  652. package/app/.next-cli-build/server/chunks/402.js +7 -6
  653. package/app/.next-cli-build/server/chunks/4684.js +1 -1
  654. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  655. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  656. package/app/.next-cli-build/server/chunks/4778.js +1 -0
  657. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  658. package/app/.next-cli-build/server/chunks/4790.js +2 -2
  659. package/app/.next-cli-build/server/chunks/4803.js +1 -1
  660. package/app/.next-cli-build/server/chunks/507.js +1 -1
  661. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  662. package/app/.next-cli-build/server/chunks/6252.js +1 -1
  663. package/app/.next-cli-build/server/chunks/6604.js +1 -1
  664. package/app/.next-cli-build/server/chunks/698.js +1 -1
  665. package/app/.next-cli-build/server/chunks/7130.js +1 -1
  666. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  667. package/app/.next-cli-build/server/chunks/7324.js +1 -1
  668. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  669. package/app/.next-cli-build/server/chunks/8062.js +1 -1
  670. package/app/.next-cli-build/server/chunks/8352.js +2 -2
  671. package/app/.next-cli-build/server/chunks/8469.js +1 -1
  672. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  673. package/app/.next-cli-build/server/chunks/918.js +1 -1
  674. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  675. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  676. package/app/.next-cli-build/server/middleware.js +2 -2
  677. package/app/.next-cli-build/server/pages/404.html +1 -1
  678. package/app/.next-cli-build/server/pages/500.html +1 -1
  679. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  680. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  681. package/app/.next-cli-build/static/-WHuYwbhbzTfrdpWPoj3l/_buildManifest.js +1 -0
  682. package/app/.next-cli-build/static/chunks/{5497-870b5871cedc0773.js → 5497-3b67afaa18bbb7a7.js} +2 -2
  683. package/app/.next-cli-build/static/chunks/{620-ded1efc5087f4699.js → 620-db46cda8f9e1b204.js} +1 -1
  684. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/api-keys/{page-13622df7cf8357a6.js → page-dea0015957af5e95.js} +3 -3
  685. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/personalcloudprovider/page-412b9bdb7bf8aeb6.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/_global-error/page-4dec00916d7557b4.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-4dec00916d7557b4.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-4dec00916d7557b4.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-4dec00916d7557b4.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-4dec00916d7557b4.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-4dec00916d7557b4.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-4dec00916d7557b4.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-4dec00916d7557b4.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-4dec00916d7557b4.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-4dec00916d7557b4.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-4dec00916d7557b4.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-4dec00916d7557b4.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-4dec00916d7557b4.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-4dec00916d7557b4.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-4dec00916d7557b4.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-4dec00916d7557b4.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-4dec00916d7557b4.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-4dec00916d7557b4.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-4dec00916d7557b4.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-4dec00916d7557b4.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-4dec00916d7557b4.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-4dec00916d7557b4.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-4dec00916d7557b4.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-4dec00916d7557b4.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-4dec00916d7557b4.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-4dec00916d7557b4.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-4dec00916d7557b4.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-4dec00916d7557b4.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-4dec00916d7557b4.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-4dec00916d7557b4.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-4dec00916d7557b4.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/combos/route-4dec00916d7557b4.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-4dec00916d7557b4.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-4dec00916d7557b4.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-4dec00916d7557b4.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-4dec00916d7557b4.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-4dec00916d7557b4.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-4dec00916d7557b4.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/health/route-4dec00916d7557b4.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/init/route-4dec00916d7557b4.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-4dec00916d7557b4.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-4dec00916d7557b4.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/keys/route-4dec00916d7557b4.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/locale/route-4dec00916d7557b4.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-4dec00916d7557b4.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-4dec00916d7557b4.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-4dec00916d7557b4.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-4dec00916d7557b4.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-4dec00916d7557b4.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-4dec00916d7557b4.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-4dec00916d7557b4.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-4dec00916d7557b4.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-4dec00916d7557b4.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-4dec00916d7557b4.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-4dec00916d7557b4.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/models/route-4dec00916d7557b4.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/models/test/route-4dec00916d7557b4.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-4dec00916d7557b4.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-4dec00916d7557b4.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-4dec00916d7557b4.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-4dec00916d7557b4.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-4dec00916d7557b4.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-4dec00916d7557b4.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-4dec00916d7557b4.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-4dec00916d7557b4.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-4dec00916d7557b4.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-4dec00916d7557b4.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-4dec00916d7557b4.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-4dec00916d7557b4.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-4dec00916d7557b4.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/pricing/route-4dec00916d7557b4.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-4dec00916d7557b4.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-4dec00916d7557b4.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-4dec00916d7557b4.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-4dec00916d7557b4.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-4dec00916d7557b4.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-4dec00916d7557b4.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-4dec00916d7557b4.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-4dec00916d7557b4.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-4dec00916d7557b4.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-4dec00916d7557b4.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/providers/route-4dec00916d7557b4.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-4dec00916d7557b4.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-4dec00916d7557b4.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-4dec00916d7557b4.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-4dec00916d7557b4.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-4dec00916d7557b4.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-4dec00916d7557b4.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-4dec00916d7557b4.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-4dec00916d7557b4.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-4dec00916d7557b4.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-4dec00916d7557b4.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-4dec00916d7557b4.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-4dec00916d7557b4.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/settings/route-4dec00916d7557b4.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-4dec00916d7557b4.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/tags/route-4dec00916d7557b4.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-4dec00916d7557b4.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-4dec00916d7557b4.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-4dec00916d7557b4.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-4dec00916d7557b4.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-4dec00916d7557b4.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-4dec00916d7557b4.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-4dec00916d7557b4.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-4dec00916d7557b4.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-4dec00916d7557b4.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-4dec00916d7557b4.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-4dec00916d7557b4.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-4dec00916d7557b4.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-4dec00916d7557b4.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-4dec00916d7557b4.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-4dec00916d7557b4.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-4dec00916d7557b4.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-4dec00916d7557b4.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-4dec00916d7557b4.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-4dec00916d7557b4.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-4dec00916d7557b4.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-4dec00916d7557b4.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-4dec00916d7557b4.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-4dec00916d7557b4.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-4dec00916d7557b4.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-4dec00916d7557b4.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-4dec00916d7557b4.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-4dec00916d7557b4.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-4dec00916d7557b4.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-4dec00916d7557b4.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-4dec00916d7557b4.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-4dec00916d7557b4.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-4dec00916d7557b4.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-4dec00916d7557b4.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-4dec00916d7557b4.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-4dec00916d7557b4.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-4dec00916d7557b4.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-4dec00916d7557b4.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/v1/route-4dec00916d7557b4.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-4dec00916d7557b4.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-4dec00916d7557b4.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-4dec00916d7557b4.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-4dec00916d7557b4.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-4dec00916d7557b4.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/version/route-4dec00916d7557b4.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-4dec00916d7557b4.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/version/update/route-4dec00916d7557b4.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-4dec00916d7557b4.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/page-4dec00916d7557b4.js +1 -0
  831. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-4dec00916d7557b4.js +1 -0
  832. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-4dec00916d7557b4.js +1 -0
  833. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-4dec00916d7557b4.js +1 -0
  834. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-4dec00916d7557b4.js +1 -0
  835. package/app/.next-cli-build/static/css/1a44773b396cb403.css +1 -0
  836. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
  837. package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
  838. package/app/package.json +1 -1
  839. package/package.json +1 -1
  840. package/app/.next-cli-build/static/8h574JCg-YhQIJIqq7K4G/_buildManifest.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/_global-error/page-dc77b8043a19ecbb.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-dc77b8043a19ecbb.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-dc77b8043a19ecbb.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-dc77b8043a19ecbb.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-dc77b8043a19ecbb.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-dc77b8043a19ecbb.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-dc77b8043a19ecbb.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-dc77b8043a19ecbb.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-dc77b8043a19ecbb.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-dc77b8043a19ecbb.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-dc77b8043a19ecbb.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-dc77b8043a19ecbb.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-dc77b8043a19ecbb.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-dc77b8043a19ecbb.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-dc77b8043a19ecbb.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-dc77b8043a19ecbb.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-dc77b8043a19ecbb.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-dc77b8043a19ecbb.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-dc77b8043a19ecbb.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-dc77b8043a19ecbb.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-dc77b8043a19ecbb.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-dc77b8043a19ecbb.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-dc77b8043a19ecbb.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-dc77b8043a19ecbb.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-dc77b8043a19ecbb.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-dc77b8043a19ecbb.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-dc77b8043a19ecbb.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-dc77b8043a19ecbb.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-dc77b8043a19ecbb.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-dc77b8043a19ecbb.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-dc77b8043a19ecbb.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/combos/route-dc77b8043a19ecbb.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-dc77b8043a19ecbb.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-dc77b8043a19ecbb.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-dc77b8043a19ecbb.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-dc77b8043a19ecbb.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-dc77b8043a19ecbb.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-dc77b8043a19ecbb.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/health/route-dc77b8043a19ecbb.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/init/route-dc77b8043a19ecbb.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-dc77b8043a19ecbb.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-dc77b8043a19ecbb.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/keys/route-dc77b8043a19ecbb.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/locale/route-dc77b8043a19ecbb.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-dc77b8043a19ecbb.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-dc77b8043a19ecbb.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-dc77b8043a19ecbb.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-dc77b8043a19ecbb.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-dc77b8043a19ecbb.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-dc77b8043a19ecbb.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-dc77b8043a19ecbb.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-dc77b8043a19ecbb.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-dc77b8043a19ecbb.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-dc77b8043a19ecbb.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-dc77b8043a19ecbb.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/models/route-dc77b8043a19ecbb.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/models/test/route-dc77b8043a19ecbb.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-dc77b8043a19ecbb.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-dc77b8043a19ecbb.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-dc77b8043a19ecbb.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-dc77b8043a19ecbb.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-dc77b8043a19ecbb.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-dc77b8043a19ecbb.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-dc77b8043a19ecbb.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-dc77b8043a19ecbb.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-dc77b8043a19ecbb.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-dc77b8043a19ecbb.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/pricing/route-dc77b8043a19ecbb.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/provider-health/route-dc77b8043a19ecbb.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-dc77b8043a19ecbb.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-dc77b8043a19ecbb.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-dc77b8043a19ecbb.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-dc77b8043a19ecbb.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-dc77b8043a19ecbb.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-dc77b8043a19ecbb.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-dc77b8043a19ecbb.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-dc77b8043a19ecbb.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-dc77b8043a19ecbb.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/providers/route-dc77b8043a19ecbb.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-dc77b8043a19ecbb.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-dc77b8043a19ecbb.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-dc77b8043a19ecbb.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-dc77b8043a19ecbb.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-dc77b8043a19ecbb.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-dc77b8043a19ecbb.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-dc77b8043a19ecbb.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-dc77b8043a19ecbb.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-dc77b8043a19ecbb.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-dc77b8043a19ecbb.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-dc77b8043a19ecbb.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-dc77b8043a19ecbb.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/settings/route-dc77b8043a19ecbb.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-dc77b8043a19ecbb.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/tags/route-dc77b8043a19ecbb.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-dc77b8043a19ecbb.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-dc77b8043a19ecbb.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-dc77b8043a19ecbb.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-dc77b8043a19ecbb.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-dc77b8043a19ecbb.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-dc77b8043a19ecbb.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-dc77b8043a19ecbb.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-dc77b8043a19ecbb.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-dc77b8043a19ecbb.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-dc77b8043a19ecbb.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-dc77b8043a19ecbb.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-dc77b8043a19ecbb.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-dc77b8043a19ecbb.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-dc77b8043a19ecbb.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-dc77b8043a19ecbb.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-dc77b8043a19ecbb.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-dc77b8043a19ecbb.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-dc77b8043a19ecbb.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-dc77b8043a19ecbb.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-dc77b8043a19ecbb.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-dc77b8043a19ecbb.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-dc77b8043a19ecbb.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-dc77b8043a19ecbb.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-dc77b8043a19ecbb.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-dc77b8043a19ecbb.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-dc77b8043a19ecbb.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-dc77b8043a19ecbb.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-dc77b8043a19ecbb.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-dc77b8043a19ecbb.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-dc77b8043a19ecbb.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-dc77b8043a19ecbb.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-dc77b8043a19ecbb.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-dc77b8043a19ecbb.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-dc77b8043a19ecbb.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-dc77b8043a19ecbb.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-dc77b8043a19ecbb.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-dc77b8043a19ecbb.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/v1/route-dc77b8043a19ecbb.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-dc77b8043a19ecbb.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-dc77b8043a19ecbb.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-dc77b8043a19ecbb.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-dc77b8043a19ecbb.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/version/restart/route-dc77b8043a19ecbb.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/version/route-dc77b8043a19ecbb.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-dc77b8043a19ecbb.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/version/update/route-dc77b8043a19ecbb.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-dc77b8043a19ecbb.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/page-dc77b8043a19ecbb.js +0 -1
  983. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-dc77b8043a19ecbb.js +0 -1
  984. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-dc77b8043a19ecbb.js +0 -1
  985. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-dc77b8043a19ecbb.js +0 -1
  986. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-dc77b8043a19ecbb.js +0 -1
  987. package/app/.next-cli-build/static/css/209ecec1763274b4.css +0 -1
  988. /package/app/.next-cli-build/static/{8h574JCg-YhQIJIqq7K4G → -WHuYwbhbzTfrdpWPoj3l}/_ssgManifest.js +0 -0
  989. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.25-to-4.0.76-4.0.76-20260623-124217 → upgrade-4.0.79-to-4.0.80-4.0.80-20260623-171118}/data.sqlite +0 -0
  990. /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-4.0.76-to-4.0.77-4.0.77-20260623-152446 → upgrade-4.0.80-to-4.0.81-4.0.81-20260624-130417}/data.sqlite +0 -0
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88469:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(34050);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88469:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(34050);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
9
+ `,e={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",scope:"TEXT DEFAULT 'system'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",visibility:"TEXT DEFAULT 'system'",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)","CREATE INDEX IF NOT EXISTS idx_pc_scope_owner ON providerConnections(scope, ownerUser)","CREATE INDEX IF NOT EXISTS idx_pc_provider_scope ON providerConnections(provider, scope)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",adminDisabled:"INTEGER DEFAULT 0",allowedModels:"TEXT DEFAULT '[]'",ownerUser:"TEXT DEFAULT ''",createdByUser:"TEXT DEFAULT ''",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)","CREATE INDEX IF NOT EXISTS idx_ak_owner ON apiKeys(ownerUser)","CREATE INDEX IF NOT EXISTS idx_ak_created_by ON apiKeys(createdByUser)","CREATE INDEX IF NOT EXISTS idx_ak_admin_disabled ON apiKeys(adminDisabled)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]}};function f(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88520:(a,b,c)=>{c.d(b,{createNodeSqliteAdapter:()=>e});var d=c(63775);async function e(a){let b=process.emit;process.emit=function(a,c,...d){return!("warning"===a&&c?.name==="ExperimentalWarning"&&/SQLite/i.test(c.message||""))&&b.call(process,a,c,...d)};let e=new(await Promise.resolve().then(c.t.bind(c,79868,23))).DatabaseSync(a);e.exec(d.oG);let f=new Map;function g(a){let b=f.get(a);return b||(b=e.prepare(a),f.set(a,b)),b}let h=setInterval(()=>{try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function i(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{f.clear()}catch{}try{e.close()}catch{}}"function"==typeof h.unref&&h.unref();let j=()=>i();return process.once("beforeExit",j),process.once("SIGINT",()=>{j(),process.exit(0)}),process.once("SIGTERM",()=>{j(),process.exit(0)}),{driver:"node:sqlite",run(a,b=[]){let c=g(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>g(a).get(...b),all:(a,b=[])=>g(a).all(...b),exec:a=>e.exec(a),transaction(a){let b=`sp_${Math.random().toString(36).slice(2)}`;e.exec(`SAVEPOINT ${b}`);try{let c=a();return e.exec(`RELEASE ${b}`),c}catch(a){try{e.exec(`ROLLBACK TO ${b}`),e.exec(`RELEASE ${b}`)}catch{}throw a}},checkpoint(){try{e.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(h),i()},raw:e}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=918,exports.ids=[918,1998],exports.modules={7793:(a,b,c)=>{c.d(b,{Pt:()=>x,Tr:()=>y,c1:()=>v,kI:()=>z,vk:()=>w});var d=c(89718),e=c(57023),f=c(39326),g=c(12557),h=c(3662),i=c(75681);function j(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}var k=c(11893),l=c(7803);let m=Promise.resolve(),n=new Map,o=0;function p(a){return"client_ip"===a||"client_session"===a?a:"global"}async function q(a,b={}){a?.id&&"noauth"!==a.id&&await (0,d.updateProviderConnection)(a.id,{lastUsedAt:new Date().toISOString(),...b})}function r(a,b,c){return{id:a.id,connectionId:a.id,provider:b,providerLabel:a.displayName||a.name||a.email||b,label:a.displayName||a.name||a.email||a.id,model:c||"__all",endpoint:function(a={}){let b=a.providerSpecificData||{};return a.endpoint||a.baseUrl||a.baseURL||a.base_url||b.endpoint||b.baseUrl||b.baseURL||b.base_url||b.providerUrl||b.provider_url||b.url||""}(a),tags:function(a={}){let b=a.tags||a.labels||a.providerSpecificData?.tags||a.providerSpecificData?.labels||a.providerSpecificData?.routingTags||[];return Array.isArray(b)?b.filter(Boolean).map(String):"string"==typeof b?b.split(/[;,\s]+/).filter(Boolean):b&&"object"==typeof b?Object.entries(b).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?a:`${a}:${b}`):[]}(a),providerSpecificData:a.providerSpecificData||{},maxInFlight:a.providerSpecificData?.maxInFlight||a.maxInFlight,_connection:a}}async function s(a,b){let c,d=Number.isFinite(c=Number.parseInt(b,10))&&c>0?c:1,e=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],f=e?.consecutiveUseCount||0;if(e&&e.lastUsedAt&&f<d)return await q(e,{consecutiveUseCount:(e.consecutiveUseCount||0)+1}),e;let g=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0];return await q(g,{consecutiveUseCount:1}),g}async function t({providerId:a,availableConnections:b,stickyLimit:c,stickyScope:d,stickyTtlMinutes:e,stickyContext:f,stickyRebindOnFailure:g,stickyRebindFailureThreshold:h}){let i,j,k=p(d),m="global"!==(i=p(k))&&f?.key?`${a}::${i}::${f.key}`:null;if(!m)return s(b,c);let r=Date.now();if(!(r-o<6e4))for(let[a,b]of(o=r,n.entries()))(!b?.expiresAt||b.expiresAt<=r)&&n.delete(a);let u=Date.now(),v=6e4*(!Number.isFinite(j=Number.parseInt(e,10))||j<=0?120:Math.min(j,10080)),w=n.get(m);if(w&&w.expiresAt>u){let d,e=b.find(a=>a.id===w.connectionId);if(e)return n.set(m,{...w,failureCount:0,lastUsedAt:u,expiresAt:u+v}),await q(e),e;let f=await s(b,c),i=(w.failureCount||0)+1,j=Number.isFinite(d=Number.parseInt(h,10))&&d>0?Math.min(d,50):3;return!1!==g&&i>=j&&f?.id?(n.set(m,{...w,connectionId:f.id,reboundAt:u,reboundReason:"assigned-account-unavailable",failureCount:0,lastUsedAt:u,expiresAt:u+v}),l.warn("AUTH",`${a} | sticky account unavailable ${i} time(s), rebound sticky session to ${f.id?.slice?.(0,8)||f.id}`)):(n.set(m,{...w,failureCount:i,lastFallbackConnectionId:f?.id||null,lastFallbackAt:u,lastUsedAt:u,expiresAt:u+v}),l.warn("AUTH",`${a} | sticky account unavailable, temporary fallback ${i}/${j}`)),f}w&&n.delete(m);let x=await s(b,c);return n.set(m,{connectionId:x.id,stickyScope:k,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,sourceTool:f.sourceTool||null,failureCount:0,createdAt:u,lastUsedAt:u,expiresAt:u+v}),x}async function u({providerId:a,availableConnections:b,model:c,strategy:d,providerOverride:e}){let f=b.map(b=>r(b,a,c));(0,k.OI)(f);let g=e.modelTagRules||e.modelTags||e.tagRules||{},h=e.requiredTags||e.tags||[];if(f=(0,k.OF)(f,c,g),h?.length){let a=h.map(a=>String(a).toLowerCase());f=f.filter(b=>b.tags.map(a=>String(a).toLowerCase()).every(a=>!0)&&a.every(a=>b.tags.map(a=>String(a).toLowerCase()).includes(a)))}f.length||(f=b.map(b=>r(b,a,c)));let i=("p2c"===d||"power-of-two"===d||"power_of_two"===d?(0,k.ZL)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}):(0,k.Gc)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}))[0],j=b.find(a=>a.id===i?.connectionId)||b[0];return await q(j,{consecutiveUseCount:1}),j}async function v(a,b=null,c=null,h={}){let k,n=b instanceof Set?b:b?new Set([b]):new Set,o=h?.preferredConnectionId||null,p=m;m=new Promise(a=>{k=a});try{let b;await p;let k=(0,i.rs)(a);if(i.IS[k]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[k]||{},b=await (0,f.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let m=await (0,d.getProviderConnections)({provider:k,isActive:!0});if(l.debug("AUTH",`${a} | total connections: ${m.length}, excludeIds: ${n.size>0?[...n].join(","):"none"}, model: ${c||"any"}`),0===m.length)return l.warn("AUTH",`No credentials for ${a}`),null;let q=await (0,d.mt)(),r=m.filter(a=>!(n.has(a.id)||(0,g.Bl)(a,c))),s=(0,e.VA)(r,{settings:q,providerId:k,model:c}),v=s.available,w=s.blocked;if(l.debug("AUTH",`${a} | available: ${v.length}/${m.length}`),m.forEach(a=>{let b=n.has(a.id),d=(0,g.Bl)(a,c);if(b||d){let e=(0,g.kJ)(a);l.debug("AUTH",` -> ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===v.length){if(void 0!==r&&void 0!==w&&r.length>0&&w.length>0){let a=(0,e.JZ)(k,r,w);return l.warn("AUTH",a.lastError),a}let b=m.filter(a=>(0,g.Bl)(a,c)),d=b.map(a=>(0,g.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return l.warn("AUTH",`${a} | all ${m.length} accounts locked for ${c||"all"} (${(0,g.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,g.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return l.warn("AUTH",`${a} | all ${m.length} accounts unavailable`),null}let x=(q.providerStrategies||{})[k]||{},y=x.fallbackStrategy||x.strategy||q.fallbackStrategy||"fill-first";if(o&&(b=v.find(a=>a.id===o))&&l.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if(["least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(y))b=await u({providerId:k,availableConnections:v,model:c,strategy:y,providerOverride:x}),l.info("AUTH",`${a} | ${y} selected ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`);else if("round-robin"===y){let a=x.stickyRoundRobinLimit||q.stickyRoundRobinLimit||3,c=x.stickyScope||q.providerRoundRobinStickyScope||"global",d=x.stickyTtlMinutes||q.providerRoundRobinStickyTtlMinutes||120,e=void 0!==x.stickyFallbackToClientIp?x.stickyFallbackToClientIp:!1!==q.providerStickyFallbackToClientIp,f=void 0!==x.stickyRebindOnFailure?x.stickyRebindOnFailure:!1!==q.providerStickyRebindOnFailure,g=x.stickyRebindFailureThreshold||q.providerStickyRebindFailureThreshold||3,i=function({body:a,headers:b={},scope:c="global",fallbackToClientIp:d=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let e=function(a={}){return String(j(a,"x-9r-client-ip")||j(a,"x-forwarded-for")||j(a,"x-real-ip")||j(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),f=function(a={}){return j(a,"x-9r-source-tool")||j(a,"originator")||j(a,"copilot-integration-id")||""}(b),g="client_session"===c?String(function(a,b={}){return j(b,"x-client-session-id")||j(b,"session_id")||j(b,"session-id")||j(b,"x-session-id")||j(b,"x-interaction-id")||j(b,"conversation_id")||j(b,"conversation-id")||j(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&g?{key:[f||"tool",e||"unknown-ip",g].join("::"),label:g,scope:c,sourceTool:f,clientIp:e,sessionId:g}:"client_session"===c&&!1===d?null:e?{key:[f||"tool",e].join("::"),label:e,scope:"client_ip",sourceTool:f,clientIp:e,sessionId:""}:null}({body:h?.body||null,headers:h?.headers||{},scope:c,fallbackToClientIp:e});b=await t({providerId:k,availableConnections:v,stickyLimit:a,stickyScope:c,stickyTtlMinutes:d,stickyContext:i,stickyRebindOnFailure:f,stickyRebindFailureThreshold:g})}else b=v[0];let z=await (0,f.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:z.connectionProxyEnabled,connectionProxyUrl:z.connectionProxyUrl,connectionNoProxy:z.connectionNoProxy,connectionProxyPoolId:z.proxyPoolId||null,vercelRelayUrl:z.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{k&&k()}}async function w(a,b,c,e=null,f=null,i=null){let j,k,m;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let n=(await (0,d.getProviderConnections)({provider:e})).find(b=>b.id===a),o=n?.backoffLevel||0;if(i&&i>Date.now()?(j=!0,k=Math.min(i-Date.now(),h.fh),m=0):{shouldFallback:j,cooldownMs:k,newBackoffLevel:m}=(0,g.hk)(b,c,o),!j)return{shouldFallback:!1,cooldownMs:0};let p="string"==typeof c?c.slice(0,100):"Provider error",q=(0,g.S5)(f,k);await (0,d.updateProviderConnection)(a,{...q,testStatus:"unavailable",lastError:p,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:m??o});let r=Object.keys(q)[0],s=n?.displayName||n?.name||n?.email||a.slice(0,8);return l.warn("AUTH",`${s} locked ${r} for ${Math.round(k/1e3)}s [${b}]`),e&&b&&p&&console.error(`X ${e} [${b}]: ${p}`),{shouldFallback:!0,cooldownMs:k}}async function x(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function y(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function z(a){return!!a&&await (0,d.ek)(a)}},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(71998);let e=new Set(["vercel","cloudflare","deno"]);function f(a){return null==a?"":String(a).trim()}async function g(a={}){try{let b=f(a?.proxyPoolId),c="__none__"===b?"":b,g=function(a={}){let b=a?.connectionProxyEnabled===!0,c=f(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:f(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=f(a?.proxyUrl),g=f(a?.noProxy);if(a&&!0===a.isActive&&b){if(e.has(a.type))return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:g,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:g,strictProxy:!0===a.strictProxy}}}if(g.connectionProxyEnabled&&g.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...g};return{source:"none",proxyPoolId:c||null,proxyPool:null,...g}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},57023:(a,b,c)=>{c.d(b,{JZ:()=>m,VA:()=>l,ce:()=>k,G9:()=>j});let d=[0,1,2,3,4,5,6],e=/^([01]\d|2[0-3]):([0-5]\d)$/;function f(a,b){let c=String(a||"").trim();return e.test(c)?c:b}function g(a){let[b,c]=f(a,"00:00").split(":").map(a=>Number.parseInt(a,10));return 60*b+c}function h(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!1!==c.enabled,weekdays:Array.isArray(b=c.weekdays)?[...new Set(b.map(a=>Number.parseInt(a,10)).filter(a=>Number.isInteger(a)&&a>=0&&a<=6))].sort((a,b)=>a-b):[...d],fromTime:f(c.fromTime||c.from||c.startTime||c.start,"00:00"),toTime:f(c.toTime||c.to||c.endTime||c.end,"23:59"),timezone:c.timezone||"local"}}function i(a,b,c=1,d=3600){let e=Number.parseInt(a,10);return!Number.isFinite(e)||e<c?b:Math.min(e,d)}function j(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!0===c.enabled,intervalSec:i(c.intervalSec,60,10,86400),failureThreshold:i(c.failureThreshold,3,1,20),timeoutMs:i(c.timeoutMs,15e3,1e3,12e4),prompt:"string"==typeof c.prompt&&c.prompt.trim()?c.prompt.trim():"Say hi",disableThinking:!1!==c.disableThinking,model:"string"==typeof(b=c.model||c.healthModel||c.testModel)?b.trim():""}}function k(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,healthCheck:j(b.healthCheck||b)}}((a.providerHealthChecks||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{healthCheck:d.healthCheck,source:"provider",providerOverride:!0}:{healthCheck:j(a.healthCheck||{}),source:"connection",providerOverride:!1}}function l(a=[],b={}){let c=[],d=[];for(let e of a||[]){let a=function(a={},{settings:b={},providerId:c=a.provider||"",now:d=new Date}={}){let e=[],{healthCheck:f,source:i,providerOverride:j}=k(a,b,c),{schedule:l,source:m,providerOverride:n}=function(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,schedule:h(b.schedule||b)}}((a.providerSchedules||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{schedule:d.schedule,source:"provider",providerOverride:!0}:{schedule:h(a.schedule||{}),source:"connection",providerOverride:!1}}(a,b,c),o=function(a={},b=new Date){let c=h(a);if(!1===c.enabled)return!0;let d=b.getDay();if(!c.weekdays.includes(d))return!1;let e=60*b.getHours()+b.getMinutes(),f=g(c.fromTime),i=g(c.toTime);return f===i||(f<i?e>=f&&e<=i:e>=f||e<=i)}(l,d);return!1===a.isActive&&e.push({code:"disabled",message:"connection disabled"}),o||e.push({code:"outside_schedule",message:`outside ${m} scheduler (${function(a={}){let b=h(a);if(!1===b.enabled)return"24/7";if(0===b.weekdays.length)return"No weekdays (never active)";let c=7===b.weekdays.length,d="00:00"===b.fromTime&&"23:59"===b.toTime;if(c&&d)return"24/7";let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f=c?"All weekdays":b.weekdays.map(a=>e[a]).join(", ");return`${f} ${b.fromTime}-${b.toTime}`}(l)})`,source:m,providerOverride:n}),f.enabled&&"dead"===a.healthStatus&&e.push({code:"health_dead",message:a.healthLastError?`health check dead: ${a.healthLastError}`:"health check dead",source:i,providerOverride:j}),{available:0===e.length,reasons:e,schedule:l,scheduleSource:m,providerScheduleOverride:n,healthCheck:f,healthSource:i,providerHealthOverride:j,healthStatus:a.healthStatus||"unknown"}}(e,b);a.available?c.push(e):d.push({connection:e,availability:a})}return{available:c,blocked:d}}function m(a,b=[],c=[]){let d={};for(let a of c||[])for(let b of a.availability?.reasons||[])d[b.code]=(d[b.code]||0)+1;let e=Object.entries(d).map(([a,b])=>`${b} ${a}`).join(", ")||"no routable endpoint",f=(c||[]).slice(0,5).map(({connection:a,availability:b})=>{let c=a.displayName||a.name||a.email||a.id,d=(b.reasons||[]).map(a=>a.message||a.code).join("; ");return`${c}: ${d}`}).join(" | "),g=`No available endpoint for provider ${a}: all ${b.length} active account(s) are blocked by scheduler or health check (${e}).${f?` ${f}`:""}`;return{allUnavailableByPolicy:!0,retryAfter:null,retryAfterHuman:null,lastError:g,errorMessage:g}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,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,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
1
+ "use strict";exports.id=918,exports.ids=[918,1998],exports.modules={7793:(a,b,c)=>{c.d(b,{Pt:()=>x,Tr:()=>y,c1:()=>v,kI:()=>z,vk:()=>w});var d=c(89718),e=c(57023),f=c(39326),g=c(12557),h=c(3662),i=c(75681);function j(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}var k=c(11893),l=c(7803);let m=Promise.resolve(),n=new Map,o=0;function p(a){return"client_ip"===a||"client_session"===a?a:"global"}async function q(a,b={}){a?.id&&"noauth"!==a.id&&await (0,d.updateProviderConnection)(a.id,{lastUsedAt:new Date().toISOString(),...b})}function r(a,b,c){return{id:a.id,connectionId:a.id,provider:b,providerLabel:a.displayName||a.name||a.email||b,label:a.displayName||a.name||a.email||a.id,model:c||"__all",endpoint:function(a={}){let b=a.providerSpecificData||{};return a.endpoint||a.baseUrl||a.baseURL||a.base_url||b.endpoint||b.baseUrl||b.baseURL||b.base_url||b.providerUrl||b.provider_url||b.url||""}(a),tags:function(a={}){let b=a.tags||a.labels||a.providerSpecificData?.tags||a.providerSpecificData?.labels||a.providerSpecificData?.routingTags||[];return Array.isArray(b)?b.filter(Boolean).map(String):"string"==typeof b?b.split(/[;,\s]+/).filter(Boolean):b&&"object"==typeof b?Object.entries(b).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?a:`${a}:${b}`):[]}(a),providerSpecificData:a.providerSpecificData||{},maxInFlight:a.providerSpecificData?.maxInFlight||a.maxInFlight,_connection:a}}async function s(a,b){let c,d=Number.isFinite(c=Number.parseInt(b,10))&&c>0?c:1,e=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(b.lastUsedAt)-new Date(a.lastUsedAt):-1:1:(a.priority||999)-(b.priority||999))[0],f=e?.consecutiveUseCount||0;if(e&&e.lastUsedAt&&f<d)return await q(e,{consecutiveUseCount:(e.consecutiveUseCount||0)+1}),e;let g=[...a].sort((a,b)=>a.lastUsedAt||b.lastUsedAt?a.lastUsedAt?b.lastUsedAt?new Date(a.lastUsedAt)-new Date(b.lastUsedAt):1:-1:(a.priority||999)-(b.priority||999))[0];return await q(g,{consecutiveUseCount:1}),g}async function t({providerId:a,availableConnections:b,stickyLimit:c,stickyScope:d,stickyTtlMinutes:e,stickyContext:f,stickyRebindOnFailure:g,stickyRebindFailureThreshold:h}){let i,j,k=p(d),m="global"!==(i=p(k))&&f?.key?`${a}::${i}::${f.key}`:null;if(!m)return s(b,c);let r=Date.now();if(!(r-o<6e4))for(let[a,b]of(o=r,n.entries()))(!b?.expiresAt||b.expiresAt<=r)&&n.delete(a);let u=Date.now(),v=6e4*(!Number.isFinite(j=Number.parseInt(e,10))||j<=0?120:Math.min(j,10080)),w=n.get(m);if(w&&w.expiresAt>u){let d,e=b.find(a=>a.id===w.connectionId);if(e)return n.set(m,{...w,failureCount:0,lastUsedAt:u,expiresAt:u+v}),await q(e),e;let f=await s(b,c),i=(w.failureCount||0)+1,j=Number.isFinite(d=Number.parseInt(h,10))&&d>0?Math.min(d,50):3;return!1!==g&&i>=j&&f?.id?(n.set(m,{...w,connectionId:f.id,reboundAt:u,reboundReason:"assigned-account-unavailable",failureCount:0,lastUsedAt:u,expiresAt:u+v}),l.warn("AUTH",`${a} | sticky account unavailable ${i} time(s), rebound sticky session to ${f.id?.slice?.(0,8)||f.id}`)):(n.set(m,{...w,failureCount:i,lastFallbackConnectionId:f?.id||null,lastFallbackAt:u,lastUsedAt:u,expiresAt:u+v}),l.warn("AUTH",`${a} | sticky account unavailable, temporary fallback ${i}/${j}`)),f}w&&n.delete(m);let x=await s(b,c);return n.set(m,{connectionId:x.id,stickyScope:k,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,sourceTool:f.sourceTool||null,failureCount:0,createdAt:u,lastUsedAt:u,expiresAt:u+v}),x}async function u({providerId:a,availableConnections:b,model:c,strategy:d,providerOverride:e}){let f=b.map(b=>r(b,a,c));(0,k.OI)(f);let g=e.modelTagRules||e.modelTags||e.tagRules||{},h=e.requiredTags||e.tags||[];if(f=(0,k.OF)(f,c,g),h?.length){let a=h.map(a=>String(a).toLowerCase());f=f.filter(b=>b.tags.map(a=>String(a).toLowerCase()).every(a=>!0)&&a.every(a=>b.tags.map(a=>String(a).toLowerCase()).includes(a)))}f.length||(f=b.map(b=>r(b,a,c)));let i=("p2c"===d||"power-of-two"===d||"power_of_two"===d?(0,k.ZL)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}):(0,k.Gc)(f,{model:c,modelTagRules:g,includeSkippedAtEnd:!0}))[0],j=b.find(a=>a.id===i?.connectionId)||b[0];return await q(j,{consecutiveUseCount:1}),j}async function v(a,b=null,c=null,h={}){let k,n=b instanceof Set?b:b?new Set([b]):new Set,o=h?.preferredConnectionId||null,p=m;m=new Promise(a=>{k=a});try{let b;await p;let k=(0,i.rs)(a);if(i.IS[k]?.noAuth){let a=((await (0,d.mt)()).providerStrategies||{})[k]||{},b=await (0,f.B)({proxyPoolId:a.proxyPoolId||""});return{id:"noauth",connectionName:"Public",isActive:!0,accessToken:"public",providerSpecificData:{connectionProxyEnabled:b.connectionProxyEnabled,connectionProxyUrl:b.connectionProxyUrl,connectionNoProxy:b.connectionNoProxy,connectionProxyPoolId:b.proxyPoolId||null,vercelRelayUrl:b.vercelRelayUrl||""}}}let m=String(h?.ownerUser||"").trim().toLowerCase(),q=m?await (0,d.getProviderConnections)({provider:k,scope:"personal",ownerUser:m}):[],r=q.filter(a=>!1!==a.isActive),s=q.length>0?[]:await (0,d.getProviderConnections)({provider:k,isActive:!0,scope:"system"}),v=new Set,w=[...r,...s].filter(a=>!(!a?.id||v.has(a.id))&&(v.add(a.id),!0));if(l.debug("AUTH",`${a} | total connections: ${w.length} (${r.length}/${q.length} personal, ${s.length} system), excludeIds: ${n.size>0?[...n].join(","):"none"}, model: ${c||"any"}`),0===w.length)return l.warn("AUTH",`No credentials for ${a}`),null;let x=await (0,d.mt)(),y=w.filter(a=>!(n.has(a.id)||(0,g.Bl)(a,c))),z=(0,e.VA)(y,{settings:x,providerId:k,model:c}),A=z.available,B=z.blocked;if(l.debug("AUTH",`${a} | available: ${A.length}/${w.length}`),w.forEach(a=>{let b=n.has(a.id),d=(0,g.Bl)(a,c);if(b||d){let e=(0,g.kJ)(a);l.debug("AUTH",` -> ${a.id?.slice(0,8)} | ${b?"excluded":""} ${d?`modelLocked(${c}) until ${e}`:""}`)}}),0===A.length){if(void 0!==y&&void 0!==B&&y.length>0&&B.length>0){let a=(0,e.JZ)(k,y,B);return l.warn("AUTH",a.lastError),a}let b=w.filter(a=>(0,g.Bl)(a,c)),d=b.map(a=>(0,g.kJ)(a)).filter(Boolean).sort()[0]||null;if(d){let e=b[0];return l.warn("AUTH",`${a} | all ${w.length} accounts locked for ${c||"all"} (${(0,g.Qo)(d)}) | lastError=${e?.lastError?.slice(0,50)}`),{allRateLimited:!0,retryAfter:d,retryAfterHuman:(0,g.Qo)(d),lastError:e?.lastError||null,lastErrorCode:e?.errorCode||null}}return l.warn("AUTH",`${a} | all ${w.length} accounts unavailable`),null}let C=(x.providerStrategies||{})[k]||{},D=C.fallbackStrategy||C.strategy||x.fallbackStrategy||"fill-first";if(o&&(b=A.find(a=>a.id===o))&&l.info("AUTH",`${a} | pinned to ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`),b);else if(["least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(D))b=await u({providerId:k,availableConnections:A,model:c,strategy:D,providerOverride:C}),l.info("AUTH",`${a} | ${D} selected ${b.id?.slice(0,8)} (${b.name||b.email||"unnamed"})`);else if("round-robin"===D){let a=C.stickyRoundRobinLimit||x.stickyRoundRobinLimit||3,c=C.stickyScope||x.providerRoundRobinStickyScope||"global",d=C.stickyTtlMinutes||x.providerRoundRobinStickyTtlMinutes||120,e=void 0!==C.stickyFallbackToClientIp?C.stickyFallbackToClientIp:!1!==x.providerStickyFallbackToClientIp,f=void 0!==C.stickyRebindOnFailure?C.stickyRebindOnFailure:!1!==x.providerStickyRebindOnFailure,g=C.stickyRebindFailureThreshold||x.providerStickyRebindFailureThreshold||3,i=function({body:a,headers:b={},scope:c="global",fallbackToClientIp:d=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let e=function(a={}){return String(j(a,"x-9r-client-ip")||j(a,"x-forwarded-for")||j(a,"x-real-ip")||j(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),f=function(a={}){return j(a,"x-9r-source-tool")||j(a,"originator")||j(a,"copilot-integration-id")||""}(b),g="client_session"===c?String(function(a,b={}){return j(b,"x-client-session-id")||j(b,"session_id")||j(b,"session-id")||j(b,"x-session-id")||j(b,"x-interaction-id")||j(b,"conversation_id")||j(b,"conversation-id")||j(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&g?{key:[f||"tool",e||"unknown-ip",g].join("::"),label:g,scope:c,sourceTool:f,clientIp:e,sessionId:g}:"client_session"===c&&!1===d?null:e?{key:[f||"tool",e].join("::"),label:e,scope:"client_ip",sourceTool:f,clientIp:e,sessionId:""}:null}({body:h?.body||null,headers:h?.headers||{},scope:c,fallbackToClientIp:e});b=await t({providerId:k,availableConnections:A,stickyLimit:a,stickyScope:c,stickyTtlMinutes:d,stickyContext:i,stickyRebindOnFailure:f,stickyRebindFailureThreshold:g})}else b=A[0];let E=await (0,f.B)(b.providerSpecificData||{});return{authType:b.authType,apiKey:b.apiKey,accessToken:b.accessToken,refreshToken:b.refreshToken,projectId:b.projectId,connectionName:b.displayName||b.name||b.email||b.id,copilotToken:b.providerSpecificData?.copilotToken,providerSpecificData:{...b.providerSpecificData||{},connectionProxyEnabled:E.connectionProxyEnabled,connectionProxyUrl:E.connectionProxyUrl,connectionNoProxy:E.connectionNoProxy,connectionProxyPoolId:E.proxyPoolId||null,vercelRelayUrl:E.vercelRelayUrl||""},connectionId:b.id,testStatus:b.testStatus,lastError:b.lastError,_connection:b}}finally{k&&k()}}async function w(a,b,c,e=null,f=null,i=null){let j,k,m;if(!a||"noauth"===a)return{shouldFallback:!1,cooldownMs:0};let n=(await (0,d.getProviderConnections)({provider:e})).find(b=>b.id===a),o=n?.backoffLevel||0;if(i&&i>Date.now()?(j=!0,k=Math.min(i-Date.now(),h.fh),m=0):{shouldFallback:j,cooldownMs:k,newBackoffLevel:m}=(0,g.hk)(b,c,o),!j)return{shouldFallback:!1,cooldownMs:0};let p="string"==typeof c?c.slice(0,100):"Provider error",q=(0,g.S5)(f,k);await (0,d.updateProviderConnection)(a,{...q,testStatus:"unavailable",lastError:p,errorCode:b,lastErrorAt:new Date().toISOString(),backoffLevel:m??o});let r=Object.keys(q)[0],s=n?.displayName||n?.name||n?.email||a.slice(0,8);return l.warn("AUTH",`${s} locked ${r} for ${Math.round(k/1e3)}s [${b}]`),e&&b&&p&&console.error(`X ${e} [${b}]: ${p}`),{shouldFallback:!0,cooldownMs:k}}async function x(a,b,c=null){if(!a||"noauth"===a)return;let e=b._connection||b,f=Date.now(),g=Object.keys(e).filter(a=>a.startsWith("modelLock_"));if(!e.testStatus&&!e.lastError&&0===g.length)return;let h=g.filter(a=>{if(c&&a===`modelLock_${c}`||c&&"modelLock___all"===a)return!0;let b=e[a];return b&&new Date(b).getTime()<=f});if(0===h.length&&"unavailable"!==e.testStatus&&!e.lastError)return;let i=g.filter(a=>{if(h.includes(a))return!1;let b=e[a];return b&&new Date(b).getTime()>f}),j=Object.fromEntries(h.map(a=>[a,null]));0===i.length&&Object.assign(j,{testStatus:"active",lastError:null,lastErrorAt:null,backoffLevel:0}),await (0,d.updateProviderConnection)(a,j)}function y(a){let b=a.headers.get("Authorization");if(b?.startsWith("Bearer "))return b.slice(7);let c=a.headers.get("x-api-key");return c||null}async function z(a){return!!a&&await (0,d.ek)(a)}},7803:(a,b,c)=>{c.r(b),c.d(b,{debug:()=>f,error:()=>i,info:()=>g,maskKey:()=>m,request:()=>j,response:()=>k,stream:()=>l,warn:()=>h});function d(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}function e(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function f(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] 🔍 [${a}] ${b}${f}`)}}function g(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ℹ️ [${a}] ${b}${f}`)}}function h(a,b,c){c&&e(c)}function i(a,b,c){!0;{let f=c?` ${e(c)}`:"";console.log(`[${d()}] ❌ [${a}] ${b}${f}`)}}function j(a,b,c){let f=c?` ${e(c)}`:"";console.log(`\x1b[36m[${d()}] 📥 ${a} ${b}${f}\x1b[0m`)}function k(a,b,c){let f=c?` ${e(c)}`:"";console.log(`[${d()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${f}`)}function l(a,b){let c=b?` ${e(b)}`:"";console.log(`[${d()}] 🌊 [STREAM] ${a}${c}`)}function m(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},19225:(a,b,c)=>{a.exports=c(44870)},39326:(a,b,c)=>{c.d(b,{B:()=>g});var d=c(71998);let e=new Set(["vercel","cloudflare","deno"]);function f(a){return null==a?"":String(a).trim()}async function g(a={}){try{let b=f(a?.proxyPoolId),c="__none__"===b?"":b,g=function(a={}){let b=a?.connectionProxyEnabled===!0,c=f(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:f(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=f(a?.proxyUrl),g=f(a?.noProxy);if(a&&!0===a.isActive&&b){if(e.has(a.type))return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:g,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:g,strictProxy:!0===a.strictProxy}}}if(g.connectionProxyEnabled&&g.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...g};return{source:"none",proxyPoolId:c||null,proxyPool:null,...g}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},57023:(a,b,c)=>{c.d(b,{JZ:()=>m,VA:()=>l,ce:()=>k,G9:()=>j});let d=[0,1,2,3,4,5,6],e=/^([01]\d|2[0-3]):([0-5]\d)$/;function f(a,b){let c=String(a||"").trim();return e.test(c)?c:b}function g(a){let[b,c]=f(a,"00:00").split(":").map(a=>Number.parseInt(a,10));return 60*b+c}function h(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!1!==c.enabled,weekdays:Array.isArray(b=c.weekdays)?[...new Set(b.map(a=>Number.parseInt(a,10)).filter(a=>Number.isInteger(a)&&a>=0&&a<=6))].sort((a,b)=>a-b):[...d],fromTime:f(c.fromTime||c.from||c.startTime||c.start,"00:00"),toTime:f(c.toTime||c.to||c.endTime||c.end,"23:59"),timezone:c.timezone||"local"}}function i(a,b,c=1,d=3600){let e=Number.parseInt(a,10);return!Number.isFinite(e)||e<c?b:Math.min(e,d)}function j(a={}){var b;let c=a&&"object"==typeof a?a:{};return{enabled:!0===c.enabled,intervalSec:i(c.intervalSec,60,10,86400),failureThreshold:i(c.failureThreshold,3,1,20),timeoutMs:i(c.timeoutMs,15e3,1e3,12e4),prompt:"string"==typeof c.prompt&&c.prompt.trim()?c.prompt.trim():"Say hi",disableThinking:!1!==c.disableThinking,model:"string"==typeof(b=c.model||c.healthModel||c.testModel)?b.trim():""}}function k(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,healthCheck:j(b.healthCheck||b)}}((a.providerHealthChecks||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{healthCheck:d.healthCheck,source:"provider",providerOverride:!0}:{healthCheck:j(a.healthCheck||{}),source:"connection",providerOverride:!1}}function l(a=[],b={}){let c=[],d=[];for(let e of a||[]){let a=function(a={},{settings:b={},providerId:c=a.provider||"",now:d=new Date}={}){let e=[],{healthCheck:f,source:i,providerOverride:j}=k(a,b,c),{schedule:l,source:m,providerOverride:n}=function(a={},b={},c=""){let d=function(a={},b=""){return function(a={}){let b=a&&"object"==typeof a?a:{};return{overrideConnections:!0===b.overrideConnections,schedule:h(b.schedule||b)}}((a.providerSchedules||{})[b]||{})}(b,c||a.provider||"");return d.overrideConnections?{schedule:d.schedule,source:"provider",providerOverride:!0}:{schedule:h(a.schedule||{}),source:"connection",providerOverride:!1}}(a,b,c),o=function(a={},b=new Date){let c=h(a);if(!1===c.enabled)return!0;let d=b.getDay();if(!c.weekdays.includes(d))return!1;let e=60*b.getHours()+b.getMinutes(),f=g(c.fromTime),i=g(c.toTime);return f===i||(f<i?e>=f&&e<=i:e>=f||e<=i)}(l,d);return!1===a.isActive&&e.push({code:"disabled",message:"connection disabled"}),o||e.push({code:"outside_schedule",message:`outside ${m} scheduler (${function(a={}){let b=h(a);if(!1===b.enabled)return"24/7";if(0===b.weekdays.length)return"No weekdays (never active)";let c=7===b.weekdays.length,d="00:00"===b.fromTime&&"23:59"===b.toTime;if(c&&d)return"24/7";let e=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],f=c?"All weekdays":b.weekdays.map(a=>e[a]).join(", ");return`${f} ${b.fromTime}-${b.toTime}`}(l)})`,source:m,providerOverride:n}),f.enabled&&"dead"===a.healthStatus&&e.push({code:"health_dead",message:a.healthLastError?`health check dead: ${a.healthLastError}`:"health check dead",source:i,providerOverride:j}),{available:0===e.length,reasons:e,schedule:l,scheduleSource:m,providerScheduleOverride:n,healthCheck:f,healthSource:i,providerHealthOverride:j,healthStatus:a.healthStatus||"unknown"}}(e,b);a.available?c.push(e):d.push({connection:e,availability:a})}return{available:c,blocked:d}}function m(a,b=[],c=[]){let d={};for(let a of c||[])for(let b of a.availability?.reasons||[])d[b.code]=(d[b.code]||0)+1;let e=Object.entries(d).map(([a,b])=>`${b} ${a}`).join(", ")||"no routable endpoint",f=(c||[]).slice(0,5).map(({connection:a,availability:b})=>{let c=a.displayName||a.name||a.email||a.id,d=(b.reasons||[]).map(a=>a.message||a.code).join("; ");return`${c}: ${d}`}).join(" | "),g=`No available endpoint for provider ${a}: all ${b.length} active account(s) are blocked by scheduler or health check (${e}).${f?` ${f}`:""}`;return{allUnavailableByPolicy:!0,retryAfter:null,retryAfterHuman:null,lastError:g,errorMessage:g}}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,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,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=9489,exports.ids=[9489],exports.modules={18910:(a,b,c)=>{c.d(b,{Pr:()=>s,UP:()=>q,Vu:()=>r});var d=c(12557),e=c(43659),f=c(11893);let g=new Map,h=new Map,i=0;function j(a){return"client_ip"===a||"client_session"===a?a:"global"}function k(a){let b=Number.parseInt(a,10);return!Number.isFinite(b)||b<=0?120:Math.min(b,10080)}function l(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}function m(a){let b=g.get(a);return"number"==typeof b?{index:b,consecutiveUseCount:0}:b||{index:0,consecutiveUseCount:0}}function n(a,b,c,d){let e=m(a).consecutiveUseCount+1;e>=d?g.set(a,{index:(b+1)%c,consecutiveUseCount:0}):g.set(a,{index:b,consecutiveUseCount:e})}function o(a,b,c){let d=b||"__default__",e=m(d).index%a.length,f=l(a,e);return n(d,e,a.length,c),f}function p(a,b){return{model:a,label:a,provider:b||"combo"}}function q(a){if(!a){g.clear(),h.clear();return}g.delete(a);let b=`${a}::`;for(let a of h.keys())a.startsWith(b)&&h.delete(a)}function r(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function s({body:a,models:b,handleSingleModel:c,log:g,comboName:q,comboStrategy:r,comboStickyLimit:t=1,comboStickyScope:u="global",comboStickyTtlMinutes:v=120,comboStickyContext:w=null}){let x=r||"fallback",y=function(a,b,c,d=1,e={}){let g;if(!a||a.length<=1)return a;let q=c||"fallback",r=a.map(a=>p(a,b));if((0,f.OI)(r),"least-latency"===q||"least_latency"===q)return(0,f.Gc)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("p2c"===q||"power-of-two"===q||"power_of_two"===q)return(0,f.ZL)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("round-robin"!==q)return a;let s=Number.isFinite(g=Number.parseInt(d,10))&&g>0?g:1,t=j(e.stickyScope),u=k(e.stickyTtlMinutes);return"global"===t?o(a,b,s):function(a,b,c,d,e,f){let g,p=Date.now();if(!(p-i<6e4))for(let[a,b]of(i=p,h.entries()))(!b?.expiresAt||b.expiresAt<=p)&&h.delete(a);let q=j(d),r="global"!==(g=j(q))&&f?.key?`${b||"__default__"}::${g}::${f.key}`:null;if(!r)return o(a,b,c);let s=Date.now(),t=6e4*k(e),u=h.get(r);if(u&&u.expiresAt>s){let b=Number.isFinite(u.index)?u.index:0;if(u.model){let c=a.indexOf(u.model);c>=0&&(b=c)}return b%=a.length,h.set(r,{...u,index:b,model:a[b],lastUsedAt:s,expiresAt:s+t}),l(a,b)}let v=b||"__default__",w=m(v).index%a.length;return h.set(r,{index:w,model:a[w],stickyScope:q,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,createdAt:s,lastUsedAt:s,expiresAt:s+t}),n(v,w,a.length,c),l(a,w)}(a,b,s,t,u,e.stickyContext||null)}(b,q,x,t,{stickyScope:u,stickyTtlMinutes:v,stickyContext:w});["round-robin","least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(x)&&g?.debug?.("COMBO",`${x} combo "${q||"__default__"}" | sticky=${u||"global"}${w?.label?` | key=${w.label}`:""}`);let z=null,A=null,B=null;for(let b=0;b<y.length;b++){let e=y[b],h=p(e,q),i=(0,f.kb)(h);if(i.skipped&&b<y.length-1){g?.warn?.("COMBO",`Skipping ${e}: ${i.reason}`);continue}let j=Date.now();g.info("COMBO",`Trying model ${b+1}/${y.length}: ${e}`);try{let b=await c(a,e),k=Date.now()-j;if(i.end?.(),b.ok)return(0,f.Fg)(h,k),g.info("COMBO",`Model ${e} succeeded`),b;let l=b.statusText||"",m=null;try{let a=await b.clone().json();l=a?.error?.message||a?.error||a?.message||l,m=a?.retryAfter||null}catch{}if("string"!=typeof l)try{l=JSON.stringify(l)}catch{l=String(l)}(0,f.h6)(h,{status:b.status,message:l}),m&&(!A||new Date(m)<new Date(A))&&(A=m);let{shouldFallback:n,cooldownMs:o}=(0,d.hk)(b.status,l);if(!n)return g.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;o&&o>0&&o<=5e3&&[502,503,504].includes(b.status)&&(g.info("COMBO",`Model ${e} transient ${b.status}, waiting ${o}ms before next`),await new Promise(a=>setTimeout(a,o))),z=l||String(b.status),B||(B=b.status),g.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){i.end?.(),z=a.message||String(a),B||(B=500),(0,f.h6)(h,a),g.warn("COMBO",`Model ${e} threw error, trying next`,{error:z})}}let C=z&&z.toLowerCase().includes("no credentials")?503:B||503,D=z||"All combo models unavailable";if(A){let a=(0,d.Qo)(A);return g.warn("COMBO",`All models failed | ${D} (${a})`),(0,e.wO)(C,D,A,a)}return g.warn("COMBO",`All models failed | ${D}`),new Response(JSON.stringify({error:{message:D}}),{status:C,headers:{"Content-Type":"application/json"}})}},29069:(a,b,c)=>{c.d(b,{HX:()=>h,mH:()=>i});var d=c(11893);function e(a){return String(a||"").trim()}function f(a){return Array.isArray(a)?[...new Set(a.map(a=>e(a)).filter(Boolean))]:"string"==typeof a?[...new Set(a.split(/[\n,;]+/).map(a=>e(a)).filter(Boolean))]:a&&"object"==typeof a?Object.entries(a).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?e(a):`${e(a)}:${e(b)}`).filter(Boolean):[]}function g(a){if(!a||"object"!=typeof a)return null;let b=e(a.name||a.id||a.exposedModel||a.model),c=e(a.exposedModel||a.model||a.name||a.id),d=e(a.type||"virtual");if("ollama-local"===d.toLowerCase())return null;let g=(a.targets||a.endpoints||a.models||[]).map(b=>(function(a,b={}){if("string"==typeof a)return{model:e(a),label:e(a),tags:[]};if(!a||"object"!=typeof a)return null;let c=e(a.model||a.value||a.id||a.fullModel);return c?{...a,id:e(a.id)||e(a.connectionId)||c,model:c,label:e(a.label||a.name||a.displayName)||c,connectionId:e(a.connectionId||a.connection_id||a.accountId),provider:e(a.provider||b.provider),endpoint:e(a.endpoint||a.baseUrl||a.baseURL||a.url),tags:f(a.tags||a.labels||a.routingTags),maxInFlight:Number(a.maxInFlight||a.maxInFlightPerTarget||b.maxInFlight||0)||void 0}:null})(b,a)).filter(Boolean);return b&&c&&0!==g.length?{...a,name:b,id:e(a.id)||b,exposedModel:c,enabled:!1!==a.enabled,type:d,strategy:e(a.strategy||a.fallbackStrategy||"least-latency"),requiredTags:f(a.requiredTags||a.tags),modelTagRules:function(a){if(!a||"object"!=typeof a)return{};let b={};for(let[c,d]of Object.entries(a)){let a=e(c),g=f(d);a&&g.length&&(b[a]=g)}return b}(a.modelTagRules||a.requiredTagsByModel||a.tagRules),targets:g}:null}function h(a={},b=""){let c=e(b);return c&&(function(a={}){let b=a.virtualCombos||[];return(Array.isArray(b)?b:Object.values(b||{})).map(g).filter(Boolean)})(a).find(a=>!1!==a.enabled&&(a.exposedModel===c||a.name===c))||null}async function i({body:a,combo:b,handleSingleTarget:c,log:f}){let h,j,k,l,m=e(a?.model||b?.exposedModel||b?.name),n=g(b);if(!n)return new Response(JSON.stringify({error:{message:"Invalid virtual combo"}}),{status:400,headers:{"Content-Type":"application/json"}});let o=(h=[...n.targets],j=n.modelTagRules||{},0===(h=(h=(0,d.OF)(h,m,j)).filter(a=>(function(a,b=[]){if(!b.length)return!0;let c=new Set((a.tags||[]).map(a=>String(a).toLowerCase()));return b.every(a=>c.has(String(a).toLowerCase()))})(a,n.requiredTags||[]))).length&&(h=[...n.targets]),k=h.map(a=>({...a,id:a.id||`${n.name}:${a.model}:${a.connectionId||"any"}`,connectionId:a.connectionId||"",provider:a.provider||"virtual-combo",providerLabel:n.name,label:a.label||a.model,model:m||n.exposedModel,upstreamModel:a.model,endpoint:a.endpoint||"",tags:a.tags||[],maxInFlight:a.maxInFlight})),(0,d.OI)(k),("p2c"===(l=String(n.strategy||"least-latency").toLowerCase())||"power-of-two"===l||"power_of_two"===l?(0,d.ZL)(k,{model:m,modelTagRules:j,includeSkippedAtEnd:!0}):"fallback"===l||"priority"===l?(0,d.Gc)(k,{model:m,modelTagRules:j,preserveOrder:!0,includeSkippedAtEnd:!0}):(0,d.Gc)(k,{model:m,modelTagRules:j,includeSkippedAtEnd:!0})).map(a=>({healthTarget:a,target:h.find(b=>a.upstreamModel===b.model&&(a.connectionId||"")===(b.connectionId||""))})).filter(a=>a.target)),p="All virtual combo targets unavailable",q=503;f?.info?.("VIRTUAL_COMBO",`Virtual combo "${n.name}" -> ${o.length} target(s), strategy=${n.strategy}`);for(let b=0;b<o.length;b+=1){let{target:e,healthTarget:g}=o[b],h=(0,d.kb)(g);if(h.skipped){f?.warn?.("VIRTUAL_COMBO",`Skip ${e.label||e.model}: ${h.reason}`);continue}let i=Date.now();try{let j={...a,model:e.model};f?.info?.("VIRTUAL_COMBO",`Trying ${b+1}/${o.length}: ${e.label||e.model}`);let k=await c(j,e),l=Date.now()-i;if(k?.ok)return(0,d.Fg)(g,l),h.end(),k;let m=k?.statusText||"request_failed";try{let a=await k.clone().json();m=a?.error?.message||a?.error||a?.message||m}catch{}q=k?.status||503,p="string"==typeof m?m:JSON.stringify(m),(0,d.h6)(g,{status:q,message:p}),f?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} failed`,{status:q})}catch(a){q=500,p=a?.message||String(a),(0,d.h6)(g,a),f?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} threw`,{error:p})}finally{h.end()}}return new Response(JSON.stringify({error:{message:p}}),{status:q||503,headers:{"Content-Type":"application/json"}})}},33669:(a,b,c)=>{c.d(b,{MI:()=>e,RC:()=>h,zx:()=>f});var d=c(89718);function e(a){return Array.isArray(a)?[...new Set(a.map(a=>String(a||"").trim()).filter(Boolean))]:[]}function f(a,b){if(!a||!1===a.isActive)return!1;let c=String(b||"").trim();if(!c)return!1;let d=e(a.allowedModels);return 0===d.length||d.includes(c)}async function g(a){let b,c=await (0,d.mt)(),e=(b=a?.headers?.get?.("Authorization")||"").startsWith("Bearer ")?b.slice(7).trim():a?.headers?.get?.("x-api-key")?.trim()||null;if(!e)return{settings:c,apiKey:null,keyRecord:null,missing:!0,invalid:!1};let f=await (0,d.mY)(e);return{settings:c,apiKey:e,keyRecord:f,missing:!1,invalid:!f||!1===f.isActive}}async function h(a,b){let c=await g(a);return c.missing?{error:{message:"Missing API key",type:"authentication_error"},status:401}:c.invalid?{error:{message:"Invalid API key",type:"authentication_error"},status:401}:{data:function(a,b){if(!b||0===e(b?.allowedModels).length)return a;let c=new Set(e(b.allowedModels));return(a||[]).filter(a=>c.has(a?.id))}(b,c.keyRecord)}}},38775:(a,b,c)=>{c.d(b,{d_:()=>h,mA:()=>g});var d=c(89718),e=c(40669);let f={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function g(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&f[b.providerAlias]?{...b,provider:f[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);return e?{provider:e.id,model:c.model}:{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function h(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},42318:(a,b,c)=>{function d(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}function e({body:a,headers:b={},scope:c="global",fallbackToClientIp:f=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let g=function(a={}){return String(d(a,"x-9r-client-ip")||d(a,"x-forwarded-for")||d(a,"x-real-ip")||d(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),h=function(a={}){return d(a,"x-9r-source-tool")||d(a,"originator")||d(a,"copilot-integration-id")||""}(b),i="client_session"===c?String(function(a,b={}){return d(b,"x-client-session-id")||d(b,"session_id")||d(b,"session-id")||d(b,"x-session-id")||d(b,"x-interaction-id")||d(b,"conversation_id")||d(b,"conversation-id")||d(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&i?{key:[h||"tool",g||"unknown-ip",i].join("::"),label:i,scope:c,sourceTool:h,clientIp:g,sessionId:i}:"client_session"===c&&!1===f?null:g?{key:[h||"tool",g].join("::"),label:g,scope:"client_ip",sourceTool:h,clientIp:g,sessionId:""}:null}c.d(b,{lV:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>R});var e=c(48895),f=c(7793),g=c(71750),h=c(89718),i=c(33669),j=c(490),k=c(38775),l=c(92500),m=c(43659),n=c(18910),o=c(42318),p=c(29069),q=c(27349),r=c(41004),s=c(14170),t=c(7803),u=c(67828),v=c(38160),w=c(35901),x=c(97242),y=c(86171),z=c(75681),A=a([e,l]);function B({request:a,clientRawRequest:b,body:c,apiKey:d,model:e,provider:f="gateway",connectionId:g="",statusCode:h=500,errorCode:i="gateway_error",errorType:j="gateway",errorSource:k="gateway_validation",message:l="Gateway error"}){try{let m=b?.headers||{},n=b?.endpoint||"";if(a)try{m=m&&Object.keys(m).length?m:Object.fromEntries(a.headers.entries()),n=n||new URL(a.url).pathname}catch{}let o=(0,y.wS)({headers:m,requestId:b?.requestId,sessionId:b?.sessionId}),p={...o,requestContext:o,provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,gatewayStatusCode:h,errorSource:k,errorType:j,errorCode:i,errorMessageShort:l,latencyMs:0};(0,w.jk)(p).catch(()=>{}),(0,y.sx)({provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,statusCode:h,errorCode:i,errorType:j,errorMessage:l,requestContext:o,meta:{errorSource:k}})}catch{}}function C(a){return a&&"object"==typeof a&&!Array.isArray(a)}function D(a,b){return Object.prototype.hasOwnProperty.call(a||{},b)}function E(a){return null==a?"":String(a).trim()}function F(a={}){let b={...a};if(D(b,"enable_thinking")&&delete b.enable_thinking,D(b,"reasoning_budget")&&delete b.reasoning_budget,D(b,"thinking_token_budget")&&delete b.thinking_token_budget,C(b.chat_template_kwargs)&&D(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}function G(a,{min:b,max:c,precision:d=3}={}){if(null==a||""===a)return;let e=Number(a);if(!Number.isFinite(e))return;let f=Math.min(c,Math.max(b,e));return Number(f.toFixed(d))}function H(a,{min:b,max:c}={}){let d=G(a,{min:b,max:c,precision:0});return void 0===d?void 0:Math.trunc(d)}function I(a={}){let b=C(a)?a:{},c={};if(D(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(D(b,"top_p")||D(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(D(b,"presence_penalty")||D(b,"presencePenalty")||D(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(D(b,"max_tokens")||D(b,"maxTokens")||D(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}return c}function J(a={},b={}){let c=I(b),d={...a};return void 0!==c.temperature&&(d.temperature=c.temperature),void 0!==c.top_p&&(d.top_p=c.top_p),void 0!==c.presence_penalty&&(d.presence_penalty=c.presence_penalty),void 0!==c.max_tokens&&(d.max_tokens=c.max_tokens,D(d,"max_completion_tokens")&&delete d.max_completion_tokens),d}function K(a={}){let b=C(a)?a:{},c={};if(D(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(D(b,"top_p")||D(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(D(b,"presence_penalty")||D(b,"presencePenalty")||D(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(D(b,"max_tokens")||D(b,"maxTokens")||D(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}let f=b.reasoning_budget??b.reasoningBudget??b["reasoning-budget"];if(D(b,"reasoning_budget")||D(b,"reasoningBudget")||D(b,"reasoning-budget")){let a=H(f,{min:0,max:262144});void 0!==a&&(c.reasoning_budget=a)}let g=b.forceThinkingOffAboveChars??b.forceThinkingOffChars??b.force_thinking_off_above_chars;if(D(b,"forceThinkingOffAboveChars")||D(b,"forceThinkingOffChars")||D(b,"force_thinking_off_above_chars")){let a=H(g,{min:0,max:1e6});void 0!==a&&(c.forceThinkingOffAboveChars=a)}let h=b.forceThinkingOffRequestOverrides??b.forceThinkingOffOverrides??b.autoOffRequestOverrides;if(D(b,"forceThinkingOffRequestOverrides")||D(b,"forceThinkingOffOverrides")||D(b,"autoOffRequestOverrides")){let a=I(h);Object.keys(a).length>0&&(c.forceThinkingOffRequestOverrides=a)}let i=function(a){if(!0===a)return"on";if(!1===a)return"off";let b=E(a).toLowerCase();return["on","true","1","enable","enabled"].includes(b)?"on":["off","false","0","disable","disabled"].includes(b)?"off":["inherit","default","request","client"].includes(b)?"inherit":void 0}(b.thinkingMode??b.thinking);return i&&"inherit"!==i&&(c.thinkingMode=i),c}function L(a={}){let b={...a};return D(b,"reasoning_budget")&&delete b.reasoning_budget,D(b,"thinking_token_budget")&&delete b.thinking_token_budget,b}function M(a={},b,c){let d=function(a={}){let b={...a};if(D(b,"enable_thinking")&&delete b.enable_thinking,C(b.chat_template_kwargs)&&D(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}(a);return!0===b.supportsChatTemplateKwargs&&(d.chat_template_kwargs={...C(d.chat_template_kwargs)?d.chat_template_kwargs:{},enable_thinking:c}),d}function N(a){let b=Number(a);return Number.isFinite(b)?Math.max(0,Math.trunc(b)):0}function O(a,b){var c;let d,e=(a.comboStrategies||{})[b]||{};return{comboStrategy:e.fallbackStrategy||a.comboStrategy||"fallback",comboStickyLimit:e.stickyRoundRobinLimit||e.stickyLimit||a.comboStickyRoundRobinLimit||1,comboStickyScope:e.stickyScope||a.comboRoundRobinStickyScope||"global",comboStickyTtlMinutes:e.stickyTtlMinutes||a.comboRoundRobinStickyTtlMinutes||120,comboStickyFallbackToClientIp:void 0!==e.stickyFallbackToClientIp?e.stickyFallbackToClientIp:!1!==a.comboStickyFallbackToClientIp,requestOverrides:K(e.requestOverrides||{}),contentLoggingMode:(c=e.contentLoggingMode,d=E(c).toLowerCase(),"enabled"===d||"disabled"===d?d:"inherit")}}async function P({body:a,modelStr:b,comboModels:c,settings:d,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1}){let i=O(d,b),j=(0,o.lV)({body:a,headers:e?.headers||{},scope:i.comboStickyScope,fallbackToClientIp:i.comboStickyFallbackToClientIp});return t.info("CHAT",`Combo "${b}" with ${c.length} models (strategy: ${i.comboStrategy}, stickyLimit: ${i.comboStickyLimit}, stickyScope: ${i.comboStickyScope})`),(0,n.Pr)({body:a,models:c,handleSingleModel:(a,c)=>{let d=function(a){if("string"==typeof a)return{modelStr:E(a),preferredConnectionId:null,label:E(a)};if(!C(a)){let b=E(a);return{modelStr:b,preferredConnectionId:null,label:b}}let b=E(a.model||a.modelStr||a.model_name||a.rawModel||a.raw_model),c=E(a.connectionId||a.connection_id||a.providerConnectionId||a.provider_connection_id)||null,d=E(a.label||a.displayName||a.name)||b;return{modelStr:b,preferredConnectionId:c,label:d}}(c);return d.modelStr?S(a,d.modelStr,e,f,g,{preferredConnectionId:d.preferredConnectionId,apiKeyForceThinkingOff:h,comboRequestOverrides:i.requestOverrides,contentLoggingMode:i.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:d.label||d.modelStr,comboStrategy:i.comboStrategy}}):(t.warn("CHAT",`Combo "${b}" contains an invalid target`,{target:c}),(0,m.yj)(r.gx.BAD_REQUEST,`Invalid combo target in ${b}`))},log:t,comboName:b,comboStrategy:i.comboStrategy,comboStickyLimit:i.comboStickyLimit,comboStickyScope:i.comboStickyScope,comboStickyTtlMinutes:i.comboStickyTtlMinutes,comboStickyContext:j})}async function Q({body:a,modelStr:b,virtualCombo:c,settings:d=null,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1}){let i=O(d||{},b);return t.info("CHAT",`Virtual combo "${b}" matched ${c.targets?.length||0} target(s)`),(0,p.mH)({body:a,combo:c,log:t,handleSingleTarget:(a,c)=>S(a,c.model,e,f,g,{preferredConnectionId:c.connectionId||null,apiKeyForceThinkingOff:h,comboRequestOverrides:i.requestOverrides,contentLoggingMode:i.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:c?.label||c?.model||"",comboStrategy:i.comboStrategy}})})}async function R(a,b=null){let c;try{c=await a.json()}catch{return t.warn("CHAT","Invalid JSON body"),B({request:a,clientRawRequest:b,statusCode:r.gx.BAD_REQUEST,errorCode:"invalid_json_body",errorType:"invalid_request",message:"Invalid JSON body"}),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,j=c.messages?.length||c.input?.length||0,l=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;t.request("POST",`${d.pathname} | ${e} | ${j} msgs${l?` | ${l} tools`:""}${n?` | effort=${n}`:""}`);let o=a.headers.get("Authorization"),s=(0,f.Tr)(a);o&&s?t.debug("AUTH",`API Key: ${t.maskKey(s)}`):t.debug("AUTH","No API key provided");let u=await (0,h.mt)(),v=null;if(s&&(v=await (0,h.mY)(s)),!s)return t.warn("AUTH","Missing API key"),B({request:a,clientRawRequest:b,body:c,model:e,statusCode:r.gx.UNAUTHORIZED,errorCode:"missing_api_key",errorType:"auth_error",message:"Missing API key"}),(0,m.yj)(r.gx.UNAUTHORIZED,"Missing API key");if(!(v?!1!==v.isActive:await (0,f.kI)(s)))return t.warn("AUTH","Invalid API key"),B({request:a,clientRawRequest:b,body:c,apiKey:s,model:e,statusCode:r.gx.UNAUTHORIZED,errorCode:"invalid_api_key",errorType:"auth_error",message:"Invalid API key"}),(0,m.yj)(r.gx.UNAUTHORIZED,"Invalid API key");if(!e)return t.warn("CHAT","Missing model"),B({request:a,clientRawRequest:b,body:c,apiKey:s,statusCode:r.gx.BAD_REQUEST,errorCode:"missing_model",errorType:"invalid_request",message:"Missing model"}),(0,m.yj)(r.gx.BAD_REQUEST,"Missing model");if(v&&!(0,i.zx)(v,e))return t.warn("AUTH",`API key not allowed to use model: ${e}`),B({request:a,clientRawRequest:b,body:c,apiKey:s,model:e,statusCode:r.gx.FORBIDDEN||403,errorCode:"model_not_allowed",errorType:"forbidden",message:`API key is not allowed to use model: ${e}`}),(0,m.yj)(r.gx.FORBIDDEN||403,`API key is not allowed to use model: ${e}`);let w=a?.headers?.get("user-agent")||"",x=(0,q.c)(c,e,w,!!u.ccFilterNaming);if(x)return x.response||x;let y=(0,p.HX)(u,e);if(y)return Q({body:c,modelStr:e,virtualCombo:y,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0});let z=await (0,k.d_)(e);return z?P({body:c,modelStr:e,comboModels:z,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0}):S(c,e,b,a,s)}async function S(a,b,c=null,d=null,e=null,g={}){let i=await (0,k.mA)(b);if(!i.provider){let f=await (0,h.mt)(),i=(0,p.HX)(f,b);if(i)return Q({body:a,modelStr:b,virtualCombo:i,settings:f,clientRawRequest:c,request:d,apiKey:e,apiKeyForceThinkingOff:!0===g.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0});let j=await (0,k.d_)(b);return j?P({body:a,modelStr:b,comboModels:j,settings:f,clientRawRequest:c,request:d,apiKey:e,apiKeyForceThinkingOff:!0===g.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0}):(t.warn("CHAT","Invalid model format",{model:b}),B({request:d,clientRawRequest:c,body:a,apiKey:e,model:b,statusCode:r.gx.BAD_REQUEST,errorCode:"invalid_model_format",errorType:"model_not_found",message:"Invalid model format"}),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid model format"))}let{provider:n,model:o}=i;b!==`${n}/${o}`?t.info("ROUTING",`${b} -> ${n}/${o}`):t.info("ROUTING",`Provider: ${n}, Model: ${o}`);let q=d?.headers?.get("user-agent")||"",w=new Set,y=null,A=null;for(;;){let b=await (0,f.c1)(n,w,o,{body:a,headers:c?.headers||{},preferredConnectionId:g.preferredConnectionId||null});if(!b||b.allRateLimited||b.allUnavailableByPolicy){if(b?.allRateLimited||b?.allUnavailableByPolicy){let f=y||b.lastError||"Unavailable",g=A||Number(b.lastErrorCode)||r.gx.SERVICE_UNAVAILABLE;return t.warn("CHAT",`[${n}/${o}] ${f} (${b.retryAfterHuman})`),B({request:d,clientRawRequest:c,body:a,apiKey:e,provider:n,model:o,statusCode:g,errorCode:b.allRateLimited?"all_accounts_rate_limited":"all_accounts_unavailable",errorType:b.allRateLimited?"rate_limit":"provider_unavailable",errorSource:"routing",message:`[${n}/${o}] ${f}`}),(0,m.wO)(g,`[${n}/${o}] ${f}`,b.retryAfter,b.retryAfterHuman)}if(0===w.size)return t.warn("AUTH",`No active credentials for provider: ${n}`),B({request:d,clientRawRequest:c,body:a,apiKey:e,provider:n,model:o,statusCode:r.gx.NOT_FOUND,errorCode:"no_active_credentials",errorType:"provider_unavailable",errorSource:"routing",message:`No active credentials for provider: ${n}`}),(0,m.yj)(r.gx.NOT_FOUND,`No active credentials for provider: ${n}`);return t.warn("CHAT","No more accounts available",{provider:n}),B({request:d,clientRawRequest:c,body:a,apiKey:e,provider:n,model:o,statusCode:A||r.gx.SERVICE_UNAVAILABLE,errorCode:"all_accounts_unavailable",errorType:"provider_unavailable",errorSource:"routing",message:y||"All accounts unavailable"}),(0,m.yj)(A||r.gx.SERVICE_UNAVAILABLE,y||"All accounts unavailable")}t.info("AUTH",`\x1b[32mUsing ${n} account: ${b.connectionName}\x1b[0m`);let i=await (0,u.eU)(n,b);if(("antigravity"===n||"gemini-cli"===n)&&!i.projectId){let a=await (0,v.eG)(b.connectionId,i.accessToken);a&&(i.projectId=a,(0,u.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let k=await (0,h.mt)(),p=(k.providerThinking||{})[n]||null,G=!0===g.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0,O=g.comboRequestOverrides||{},P={...a,model:`${n}/${o}`},Q=(0,z.mq)(n),R=function(a={},b="",c={}){if(!(0,z.mq)(b))return a;let d=function(a={}){let b=a?.providerSpecificData&&"object"==typeof a.providerSpecificData?a.providerSpecificData:{},c=a.openAICompatibleRuntime||a.runtimeKind||b.openAICompatibleRuntime||b.runtimeKind||b.runtimeType||b.serverType||z.hb;return(0,z.tl)(c,z.hb)}(c),e=K(c.comboRequestOverrides||{}),f=c?.apiKeyForceThinkingOff===!0,g={...a};return(g=J(g,e),f)?(g=F(g),!0===d.supportsChatTemplateKwargs?M(g,d,!1):g):e.forceThinkingOffAboveChars>0&&(0,j.iz)(g)>=e.forceThinkingOffAboveChars?(g=F(g),g=!0===d.supportsChatTemplateKwargs?M(g,d,!1):g,J(g,e.forceThinkingOffRequestOverrides)):(void 0!==e.reasoning_budget&&(g=function(a={},b,c){let d=L(a);return b.reasoningBudgetField&&(d[b.reasoningBudgetField]=c),d}(g,d,e.reasoning_budget)),"off"===e.thinkingMode?(g=L(g),g=M(g,d,!1)):"on"===e.thinkingMode&&(g=M(g,d,!0)),g)}(P,n,{apiKeyForceThinkingOff:G,comboRequestOverrides:O,providerSpecificData:i.providerSpecificData||{}}),S=function({originalBody:a={},finalBody:b={},overrides:c={},apiKeyForceThinkingOff:d=!1,providerPolicyApplies:e=!0}={}){let f=(0,j.iz)(b||a||{}),g=N(c.forceThinkingOffAboveChars),h=g>0&&f>=g,i=!0===e,k=i&&h;return{thinkingEnabled:function(a={}){if(C(a.chat_template_kwargs)&&D(a.chat_template_kwargs,"enable_thinking"))return!0===a.chat_template_kwargs.enable_thinking;if(D(a,"enable_thinking"))return!0===a.enable_thinking;if(D(a,"reasoning_budget"))return H(a.reasoning_budget,{min:0,max:262144})>0;if(D(a,"thinking_token_budget"))return H(a.thinking_token_budget,{min:0,max:262144})>0;if(C(a.thinking)){let b=E(a.thinking.type).toLowerCase();if(["enabled","on","true"].includes(b))return!0;if(["disabled","off","false"].includes(b))return!1}return null}(b),thinkingAutoOff:k,thinkingAutoOffReason:k?"prompt_chars_threshold":i&&!0===d?"api_key_force_off":"",promptChars:f,forceThinkingOffAboveChars:g,providerPolicyApplies:i,thinkingAutoOffThresholdMatched:h}}({originalBody:P,finalBody:R,overrides:O,apiKeyForceThinkingOff:G,providerPolicyApplies:Q}),T=function({route:a={},provider:b="",model:c="",connectionId:d="",requestPolicyMeta:e={},originalBody:f={},finalBody:g={},overrides:h={}}={}){let i=e?.thinkingAutoOff===!0;return{combo_name:a.comboName||null,combo_target:a.comboTarget||null,combo_strategy:a.comboStrategy||null,route_type:a.routeType||(a.comboName?"combo":"direct"),selected_provider_id:d||b||null,selected_model:c||g?.model||f?.model||null,request_overrides_applied:function({originalBody:a={},finalBody:b={},overrides:c={},autoOffApplied:d=!1}={}){let e=d?I(c.forceThinkingOffRequestOverrides||{}):I(c||{}),f={};for(let c of["temperature","top_p","presence_penalty","max_tokens"])void 0!==e[c]&&b?.[c]!==void 0&&b[c]!==a?.[c]&&(f[c]=b[c]);return d||void 0===c.reasoning_budget||b?.reasoning_budget===a?.reasoning_budget||(f.reasoning_budget=b?.reasoning_budget),!d&&c.thinkingMode&&"inherit"!==c.thinkingMode&&(f.thinkingMode=c.thinkingMode),d&&(f.thinkingMode="off",f.forceThinkingOffAboveChars=N(c.forceThinkingOffAboveChars)),f}({originalBody:f,finalBody:g,overrides:h,autoOffApplied:i}),auto_off_applied:i}}({route:g.routingMetadata||{routeType:"direct"},provider:n,model:o,connectionId:b.connectionId,requestPolicyMeta:S,originalBody:P,finalBody:R,overrides:O}),U={...c||{},requestPolicyMeta:S,routingMetadata:T},V=await (0,l.w)({body:R,modelInfo:{provider:n,model:o},credentials:i,log:t,clientRawRequest:U,requestPolicyMeta:S,connectionId:b.connectionId,userAgent:q,apiKey:e,ccFilterNaming:!!k.ccFilterNaming,rtkEnabled:!!k.rtkEnabled,cavemanEnabled:!!k.cavemanEnabled,cavemanLevel:k.cavemanLevel||"full",providerThinking:!1===S.thinkingEnabled?null:p,contentLoggingMode:g.contentLoggingMode||"inherit",sourceFormatOverride:d?.url?(0,s.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,u.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,o)}});if(!function(a,b){let c=a?.sessionId||a?.session_id||a?.requestContext?.sessionId;c&&(0,x.gl)({sessionId:c,metadata:b}).catch(()=>{})}(U,T),V.success)return V.response;let{shouldFallback:W}=await (0,f.vk)(b.connectionId,V.status,V.error,n,o,V.resetsAtMs);if(W){t.warn("AUTH",`Account ${b.connectionName} unavailable (${V.status}), trying fallback`),w.add(b.connectionId),y=V.error,A=V.status;continue}return V.response}}[e,l]=A.then?(await A)():A,d()}catch(a){d(a)}})}};
1
+ "use strict";exports.id=9489,exports.ids=[9489],exports.modules={18910:(a,b,c)=>{c.d(b,{Pr:()=>s,UP:()=>q,Vu:()=>r});var d=c(12557),e=c(43659),f=c(11893);let g=new Map,h=new Map,i=0;function j(a){return"client_ip"===a||"client_session"===a?a:"global"}function k(a){let b=Number.parseInt(a,10);return!Number.isFinite(b)||b<=0?120:Math.min(b,10080)}function l(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}function m(a){let b=g.get(a);return"number"==typeof b?{index:b,consecutiveUseCount:0}:b||{index:0,consecutiveUseCount:0}}function n(a,b,c,d){let e=m(a).consecutiveUseCount+1;e>=d?g.set(a,{index:(b+1)%c,consecutiveUseCount:0}):g.set(a,{index:b,consecutiveUseCount:e})}function o(a,b,c){let d=b||"__default__",e=m(d).index%a.length,f=l(a,e);return n(d,e,a.length,c),f}function p(a,b){return{model:a,label:a,provider:b||"combo"}}function q(a){if(!a){g.clear(),h.clear();return}g.delete(a);let b=`${a}::`;for(let a of h.keys())a.startsWith(b)&&h.delete(a)}function r(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function s({body:a,models:b,handleSingleModel:c,log:g,comboName:q,comboStrategy:r,comboStickyLimit:t=1,comboStickyScope:u="global",comboStickyTtlMinutes:v=120,comboStickyContext:w=null}){let x=r||"fallback",y=function(a,b,c,d=1,e={}){let g;if(!a||a.length<=1)return a;let q=c||"fallback",r=a.map(a=>p(a,b));if((0,f.OI)(r),"least-latency"===q||"least_latency"===q)return(0,f.Gc)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("p2c"===q||"power-of-two"===q||"power_of_two"===q)return(0,f.ZL)(r,{includeSkippedAtEnd:!0}).map(a=>a.model);if("round-robin"!==q)return a;let s=Number.isFinite(g=Number.parseInt(d,10))&&g>0?g:1,t=j(e.stickyScope),u=k(e.stickyTtlMinutes);return"global"===t?o(a,b,s):function(a,b,c,d,e,f){let g,p=Date.now();if(!(p-i<6e4))for(let[a,b]of(i=p,h.entries()))(!b?.expiresAt||b.expiresAt<=p)&&h.delete(a);let q=j(d),r="global"!==(g=j(q))&&f?.key?`${b||"__default__"}::${g}::${f.key}`:null;if(!r)return o(a,b,c);let s=Date.now(),t=6e4*k(e),u=h.get(r);if(u&&u.expiresAt>s){let b=Number.isFinite(u.index)?u.index:0;if(u.model){let c=a.indexOf(u.model);c>=0&&(b=c)}return b%=a.length,h.set(r,{...u,index:b,model:a[b],lastUsedAt:s,expiresAt:s+t}),l(a,b)}let v=b||"__default__",w=m(v).index%a.length;return h.set(r,{index:w,model:a[w],stickyScope:q,stickyKey:f.key,sessionId:f.sessionId||null,clientIp:f.clientIp||null,createdAt:s,lastUsedAt:s,expiresAt:s+t}),n(v,w,a.length,c),l(a,w)}(a,b,s,t,u,e.stickyContext||null)}(b,q,x,t,{stickyScope:u,stickyTtlMinutes:v,stickyContext:w});["round-robin","least-latency","least_latency","p2c","power-of-two","power_of_two"].includes(x)&&g?.debug?.("COMBO",`${x} combo "${q||"__default__"}" | sticky=${u||"global"}${w?.label?` | key=${w.label}`:""}`);let z=null,A=null,B=null;for(let b=0;b<y.length;b++){let e=y[b],h=p(e,q),i=(0,f.kb)(h);if(i.skipped&&b<y.length-1){g?.warn?.("COMBO",`Skipping ${e}: ${i.reason}`);continue}let j=Date.now();g.info("COMBO",`Trying model ${b+1}/${y.length}: ${e}`);try{let b=await c(a,e),k=Date.now()-j;if(i.end?.(),b.ok)return(0,f.Fg)(h,k),g.info("COMBO",`Model ${e} succeeded`),b;let l=b.statusText||"",m=null;try{let a=await b.clone().json();l=a?.error?.message||a?.error||a?.message||l,m=a?.retryAfter||null}catch{}if("string"!=typeof l)try{l=JSON.stringify(l)}catch{l=String(l)}(0,f.h6)(h,{status:b.status,message:l}),m&&(!A||new Date(m)<new Date(A))&&(A=m);let{shouldFallback:n,cooldownMs:o}=(0,d.hk)(b.status,l);if(!n)return g.warn("COMBO",`Model ${e} failed (no fallback)`,{status:b.status}),b;o&&o>0&&o<=5e3&&[502,503,504].includes(b.status)&&(g.info("COMBO",`Model ${e} transient ${b.status}, waiting ${o}ms before next`),await new Promise(a=>setTimeout(a,o))),z=l||String(b.status),B||(B=b.status),g.warn("COMBO",`Model ${e} failed, trying next`,{status:b.status})}catch(a){i.end?.(),z=a.message||String(a),B||(B=500),(0,f.h6)(h,a),g.warn("COMBO",`Model ${e} threw error, trying next`,{error:z})}}let C=z&&z.toLowerCase().includes("no credentials")?503:B||503,D=z||"All combo models unavailable";if(A){let a=(0,d.Qo)(A);return g.warn("COMBO",`All models failed | ${D} (${a})`),(0,e.wO)(C,D,A,a)}return g.warn("COMBO",`All models failed | ${D}`),new Response(JSON.stringify({error:{message:D}}),{status:C,headers:{"Content-Type":"application/json"}})}},29069:(a,b,c)=>{c.d(b,{HX:()=>h,mH:()=>i});var d=c(11893);function e(a){return String(a||"").trim()}function f(a){return Array.isArray(a)?[...new Set(a.map(a=>e(a)).filter(Boolean))]:"string"==typeof a?[...new Set(a.split(/[\n,;]+/).map(a=>e(a)).filter(Boolean))]:a&&"object"==typeof a?Object.entries(a).filter(([,a])=>!1!==a&&null!=a).map(([a,b])=>!0===b?e(a):`${e(a)}:${e(b)}`).filter(Boolean):[]}function g(a){if(!a||"object"!=typeof a)return null;let b=e(a.name||a.id||a.exposedModel||a.model),c=e(a.exposedModel||a.model||a.name||a.id),d=e(a.type||"virtual");if("ollama-local"===d.toLowerCase())return null;let g=(a.targets||a.endpoints||a.models||[]).map(b=>(function(a,b={}){if("string"==typeof a)return{model:e(a),label:e(a),tags:[]};if(!a||"object"!=typeof a)return null;let c=e(a.model||a.value||a.id||a.fullModel);return c?{...a,id:e(a.id)||e(a.connectionId)||c,model:c,label:e(a.label||a.name||a.displayName)||c,connectionId:e(a.connectionId||a.connection_id||a.accountId),provider:e(a.provider||b.provider),endpoint:e(a.endpoint||a.baseUrl||a.baseURL||a.url),tags:f(a.tags||a.labels||a.routingTags),maxInFlight:Number(a.maxInFlight||a.maxInFlightPerTarget||b.maxInFlight||0)||void 0}:null})(b,a)).filter(Boolean);return b&&c&&0!==g.length?{...a,name:b,id:e(a.id)||b,exposedModel:c,enabled:!1!==a.enabled,type:d,strategy:e(a.strategy||a.fallbackStrategy||"least-latency"),requiredTags:f(a.requiredTags||a.tags),modelTagRules:function(a){if(!a||"object"!=typeof a)return{};let b={};for(let[c,d]of Object.entries(a)){let a=e(c),g=f(d);a&&g.length&&(b[a]=g)}return b}(a.modelTagRules||a.requiredTagsByModel||a.tagRules),targets:g}:null}function h(a={},b=""){let c=e(b);return c&&(function(a={}){let b=a.virtualCombos||[];return(Array.isArray(b)?b:Object.values(b||{})).map(g).filter(Boolean)})(a).find(a=>!1!==a.enabled&&(a.exposedModel===c||a.name===c))||null}async function i({body:a,combo:b,handleSingleTarget:c,log:f}){let h,j,k,l,m=e(a?.model||b?.exposedModel||b?.name),n=g(b);if(!n)return new Response(JSON.stringify({error:{message:"Invalid virtual combo"}}),{status:400,headers:{"Content-Type":"application/json"}});let o=(h=[...n.targets],j=n.modelTagRules||{},0===(h=(h=(0,d.OF)(h,m,j)).filter(a=>(function(a,b=[]){if(!b.length)return!0;let c=new Set((a.tags||[]).map(a=>String(a).toLowerCase()));return b.every(a=>c.has(String(a).toLowerCase()))})(a,n.requiredTags||[]))).length&&(h=[...n.targets]),k=h.map(a=>({...a,id:a.id||`${n.name}:${a.model}:${a.connectionId||"any"}`,connectionId:a.connectionId||"",provider:a.provider||"virtual-combo",providerLabel:n.name,label:a.label||a.model,model:m||n.exposedModel,upstreamModel:a.model,endpoint:a.endpoint||"",tags:a.tags||[],maxInFlight:a.maxInFlight})),(0,d.OI)(k),("p2c"===(l=String(n.strategy||"least-latency").toLowerCase())||"power-of-two"===l||"power_of_two"===l?(0,d.ZL)(k,{model:m,modelTagRules:j,includeSkippedAtEnd:!0}):"fallback"===l||"priority"===l?(0,d.Gc)(k,{model:m,modelTagRules:j,preserveOrder:!0,includeSkippedAtEnd:!0}):(0,d.Gc)(k,{model:m,modelTagRules:j,includeSkippedAtEnd:!0})).map(a=>({healthTarget:a,target:h.find(b=>a.upstreamModel===b.model&&(a.connectionId||"")===(b.connectionId||""))})).filter(a=>a.target)),p="All virtual combo targets unavailable",q=503;f?.info?.("VIRTUAL_COMBO",`Virtual combo "${n.name}" -> ${o.length} target(s), strategy=${n.strategy}`);for(let b=0;b<o.length;b+=1){let{target:e,healthTarget:g}=o[b],h=(0,d.kb)(g);if(h.skipped){f?.warn?.("VIRTUAL_COMBO",`Skip ${e.label||e.model}: ${h.reason}`);continue}let i=Date.now();try{let j={...a,model:e.model};f?.info?.("VIRTUAL_COMBO",`Trying ${b+1}/${o.length}: ${e.label||e.model}`);let k=await c(j,e),l=Date.now()-i;if(k?.ok)return(0,d.Fg)(g,l),h.end(),k;let m=k?.statusText||"request_failed";try{let a=await k.clone().json();m=a?.error?.message||a?.error||a?.message||m}catch{}q=k?.status||503,p="string"==typeof m?m:JSON.stringify(m),(0,d.h6)(g,{status:q,message:p}),f?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} failed`,{status:q})}catch(a){q=500,p=a?.message||String(a),(0,d.h6)(g,a),f?.warn?.("VIRTUAL_COMBO",`${e.label||e.model} threw`,{error:p})}finally{h.end()}}return new Response(JSON.stringify({error:{message:p}}),{status:q||503,headers:{"Content-Type":"application/json"}})}},33669:(a,b,c)=>{c.d(b,{MI:()=>e,RC:()=>h,zx:()=>f});var d=c(89718);function e(a){return Array.isArray(a)?[...new Set(a.map(a=>String(a||"").trim()).filter(Boolean))]:[]}function f(a,b){if(!a||!1===a.isActive)return!1;let c=String(b||"").trim();if(!c)return!1;let d=e(a.allowedModels);return 0===d.length||d.includes(c)}async function g(a){let b,c=await (0,d.mt)(),e=(b=a?.headers?.get?.("Authorization")||"").startsWith("Bearer ")?b.slice(7).trim():a?.headers?.get?.("x-api-key")?.trim()||null;if(!e)return{settings:c,apiKey:null,keyRecord:null,missing:!0,invalid:!1};let f=await (0,d.mY)(e);return{settings:c,apiKey:e,keyRecord:f,missing:!1,invalid:!f||!1===f.isActive}}async function h(a,b){let c=await g(a);return c.missing?{error:{message:"Missing API key",type:"authentication_error"},status:401}:c.invalid?{error:{message:"Invalid API key",type:"authentication_error"},status:401}:{data:function(a,b){if(!b||0===e(b?.allowedModels).length)return a;let c=new Set(e(b.allowedModels));return(a||[]).filter(a=>c.has(a?.id))}(b,c.keyRecord)}}},38775:(a,b,c)=>{c.d(b,{d_:()=>h,mA:()=>g});var d=c(89718),e=c(40669);let f={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"};async function g(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&f[b.providerAlias]?{...b,provider:f[b.providerAlias]}:b);if(!c.isAlias){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);return e?{provider:e.id,model:c.model}:{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function h(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},42318:(a,b,c)=>{function d(a={},b){let c=String(b||"").toLowerCase();for(let[b,d]of Object.entries(a||{}))if(String(b).toLowerCase()===c)return String((Array.isArray(d)?d[0]||"":d||"")||"");return""}function e({body:a,headers:b={},scope:c="global",fallbackToClientIp:f=!0}){if("client_ip"!==c&&"client_session"!==c)return null;let g=function(a={}){return String(d(a,"x-9r-client-ip")||d(a,"x-forwarded-for")||d(a,"x-real-ip")||d(a,"cf-connecting-ip")||"").split(",")[0].trim().replace(/^::ffff:/,"").replace(/^::1$/,"127.0.0.1")}(b),h=function(a={}){return d(a,"x-9r-source-tool")||d(a,"originator")||d(a,"copilot-integration-id")||""}(b),i="client_session"===c?String(function(a,b={}){return d(b,"x-client-session-id")||d(b,"session_id")||d(b,"session-id")||d(b,"x-session-id")||d(b,"x-interaction-id")||d(b,"conversation_id")||d(b,"conversation-id")||d(b,"x-conversation-id")||a?.conversationId||a?.conversation_id||a?.sessionId||a?.session_id||a?.metadata?.conversationId||a?.metadata?.conversation_id||a?.metadata?.sessionId||a?.metadata?.session_id||a?.conversationState?.conversationId||a?.conversationState?.sessionId||a?.conversationState?.currentConversationId||""}(a,b)||""):"";return"client_session"===c&&i?{key:[h||"tool",g||"unknown-ip",i].join("::"),label:i,scope:c,sourceTool:h,clientIp:g,sessionId:i}:"client_session"===c&&!1===f?null:g?{key:[h||"tool",g].join("::"),label:g,scope:"client_ip",sourceTool:h,clientIp:g,sessionId:""}:null}c.d(b,{lV:()=>e})},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>R});var e=c(48895),f=c(7793),g=c(71750),h=c(89718),i=c(33669),j=c(490),k=c(38775),l=c(92500),m=c(43659),n=c(18910),o=c(42318),p=c(29069),q=c(27349),r=c(41004),s=c(14170),t=c(7803),u=c(67828),v=c(38160),w=c(35901),x=c(97242),y=c(86171),z=c(75681),A=a([e,l]);function B({request:a,clientRawRequest:b,body:c,apiKey:d,model:e,provider:f="gateway",connectionId:g="",statusCode:h=500,errorCode:i="gateway_error",errorType:j="gateway",errorSource:k="gateway_validation",message:l="Gateway error"}){try{let m=b?.headers||{},n=b?.endpoint||"";if(a)try{m=m&&Object.keys(m).length?m:Object.fromEntries(a.headers.entries()),n=n||new URL(a.url).pathname}catch{}let o=(0,y.wS)({headers:m,requestId:b?.requestId,sessionId:b?.sessionId}),p={...o,requestContext:o,provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,gatewayStatusCode:h,errorSource:k,errorType:j,errorCode:i,errorMessageShort:l,latencyMs:0};(0,w.jk)(p).catch(()=>{}),(0,y.sx)({provider:f,model:e||c?.model||"unknown",connectionId:g,apiKey:d,endpoint:n,statusCode:h,errorCode:i,errorType:j,errorMessage:l,requestContext:o,meta:{errorSource:k}})}catch{}}function C(a){return a&&"object"==typeof a&&!Array.isArray(a)}function D(a,b){return Object.prototype.hasOwnProperty.call(a||{},b)}function E(a){return null==a?"":String(a).trim()}function F(a={}){let b={...a};if(D(b,"enable_thinking")&&delete b.enable_thinking,D(b,"reasoning_budget")&&delete b.reasoning_budget,D(b,"thinking_token_budget")&&delete b.thinking_token_budget,C(b.chat_template_kwargs)&&D(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}function G(a,{min:b,max:c,precision:d=3}={}){if(null==a||""===a)return;let e=Number(a);if(!Number.isFinite(e))return;let f=Math.min(c,Math.max(b,e));return Number(f.toFixed(d))}function H(a,{min:b,max:c}={}){let d=G(a,{min:b,max:c,precision:0});return void 0===d?void 0:Math.trunc(d)}function I(a={}){let b=C(a)?a:{},c={};if(D(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(D(b,"top_p")||D(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(D(b,"presence_penalty")||D(b,"presencePenalty")||D(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(D(b,"max_tokens")||D(b,"maxTokens")||D(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}return c}function J(a={},b={}){let c=I(b),d={...a};return void 0!==c.temperature&&(d.temperature=c.temperature),void 0!==c.top_p&&(d.top_p=c.top_p),void 0!==c.presence_penalty&&(d.presence_penalty=c.presence_penalty),void 0!==c.max_tokens&&(d.max_tokens=c.max_tokens,D(d,"max_completion_tokens")&&delete d.max_completion_tokens),d}function K(a={}){let b=C(a)?a:{},c={};if(D(b,"temperature")){let a=G(b.temperature,{min:0,max:2});void 0!==a&&(c.temperature=a)}if(D(b,"top_p")||D(b,"topP")){let a=G(b.top_p??b.topP,{min:.01,max:1});void 0!==a&&(c.top_p=a)}let d=b.presence_penalty??b.presencePenalty??b["presence-penalty"];if(D(b,"presence_penalty")||D(b,"presencePenalty")||D(b,"presence-penalty")){let a=G(d,{min:-2,max:2});void 0!==a&&(c.presence_penalty=a)}let e=b.max_tokens??b.maxTokens??b.max_token;if(D(b,"max_tokens")||D(b,"maxTokens")||D(b,"max_token")){let a=H(e,{min:1,max:262144});void 0!==a&&(c.max_tokens=a)}let f=b.reasoning_budget??b.reasoningBudget??b["reasoning-budget"];if(D(b,"reasoning_budget")||D(b,"reasoningBudget")||D(b,"reasoning-budget")){let a=H(f,{min:0,max:262144});void 0!==a&&(c.reasoning_budget=a)}let g=b.forceThinkingOffAboveChars??b.forceThinkingOffChars??b.force_thinking_off_above_chars;if(D(b,"forceThinkingOffAboveChars")||D(b,"forceThinkingOffChars")||D(b,"force_thinking_off_above_chars")){let a=H(g,{min:0,max:1e6});void 0!==a&&(c.forceThinkingOffAboveChars=a)}let h=b.forceThinkingOffRequestOverrides??b.forceThinkingOffOverrides??b.autoOffRequestOverrides;if(D(b,"forceThinkingOffRequestOverrides")||D(b,"forceThinkingOffOverrides")||D(b,"autoOffRequestOverrides")){let a=I(h);Object.keys(a).length>0&&(c.forceThinkingOffRequestOverrides=a)}let i=function(a){if(!0===a)return"on";if(!1===a)return"off";let b=E(a).toLowerCase();return["on","true","1","enable","enabled"].includes(b)?"on":["off","false","0","disable","disabled"].includes(b)?"off":["inherit","default","request","client"].includes(b)?"inherit":void 0}(b.thinkingMode??b.thinking);return i&&"inherit"!==i&&(c.thinkingMode=i),c}function L(a={}){let b={...a};return D(b,"reasoning_budget")&&delete b.reasoning_budget,D(b,"thinking_token_budget")&&delete b.thinking_token_budget,b}function M(a={},b,c){let d=function(a={}){let b={...a};if(D(b,"enable_thinking")&&delete b.enable_thinking,C(b.chat_template_kwargs)&&D(b.chat_template_kwargs,"enable_thinking")){let a={...b.chat_template_kwargs};delete a.enable_thinking,Object.keys(a).length?b.chat_template_kwargs=a:delete b.chat_template_kwargs}return b}(a);return!0===b.supportsChatTemplateKwargs&&(d.chat_template_kwargs={...C(d.chat_template_kwargs)?d.chat_template_kwargs:{},enable_thinking:c}),d}function N(a){let b=Number(a);return Number.isFinite(b)?Math.max(0,Math.trunc(b)):0}function O(a,b){var c;let d,e=(a.comboStrategies||{})[b]||{};return{comboStrategy:e.fallbackStrategy||a.comboStrategy||"fallback",comboStickyLimit:e.stickyRoundRobinLimit||e.stickyLimit||a.comboStickyRoundRobinLimit||1,comboStickyScope:e.stickyScope||a.comboRoundRobinStickyScope||"global",comboStickyTtlMinutes:e.stickyTtlMinutes||a.comboRoundRobinStickyTtlMinutes||120,comboStickyFallbackToClientIp:void 0!==e.stickyFallbackToClientIp?e.stickyFallbackToClientIp:!1!==a.comboStickyFallbackToClientIp,requestOverrides:K(e.requestOverrides||{}),contentLoggingMode:(c=e.contentLoggingMode,d=E(c).toLowerCase(),"enabled"===d||"disabled"===d?d:"inherit")}}async function P({body:a,modelStr:b,comboModels:c,settings:d,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1}){let i=O(d,b),j=(0,o.lV)({body:a,headers:e?.headers||{},scope:i.comboStickyScope,fallbackToClientIp:i.comboStickyFallbackToClientIp});return t.info("CHAT",`Combo "${b}" with ${c.length} models (strategy: ${i.comboStrategy}, stickyLimit: ${i.comboStickyLimit}, stickyScope: ${i.comboStickyScope})`),(0,n.Pr)({body:a,models:c,handleSingleModel:(a,c)=>{let d=function(a){if("string"==typeof a)return{modelStr:E(a),preferredConnectionId:null,label:E(a)};if(!C(a)){let b=E(a);return{modelStr:b,preferredConnectionId:null,label:b}}let b=E(a.model||a.modelStr||a.model_name||a.rawModel||a.raw_model),c=E(a.connectionId||a.connection_id||a.providerConnectionId||a.provider_connection_id)||null,d=E(a.label||a.displayName||a.name)||b;return{modelStr:b,preferredConnectionId:c,label:d}}(c);return d.modelStr?S(a,d.modelStr,e,f,g,{preferredConnectionId:d.preferredConnectionId,apiKeyForceThinkingOff:h,comboRequestOverrides:i.requestOverrides,contentLoggingMode:i.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:d.label||d.modelStr,comboStrategy:i.comboStrategy}}):(t.warn("CHAT",`Combo "${b}" contains an invalid target`,{target:c}),(0,m.yj)(r.gx.BAD_REQUEST,`Invalid combo target in ${b}`))},log:t,comboName:b,comboStrategy:i.comboStrategy,comboStickyLimit:i.comboStickyLimit,comboStickyScope:i.comboStickyScope,comboStickyTtlMinutes:i.comboStickyTtlMinutes,comboStickyContext:j})}async function Q({body:a,modelStr:b,virtualCombo:c,settings:d=null,clientRawRequest:e,request:f,apiKey:g,apiKeyForceThinkingOff:h=!1}){let i=O(d||{},b);return t.info("CHAT",`Virtual combo "${b}" matched ${c.targets?.length||0} target(s)`),(0,p.mH)({body:a,combo:c,log:t,handleSingleTarget:(a,c)=>S(a,c.model,e,f,g,{preferredConnectionId:c.connectionId||null,apiKeyForceThinkingOff:h,comboRequestOverrides:i.requestOverrides,contentLoggingMode:i.contentLoggingMode,routingMetadata:{routeType:"combo",comboName:b,comboTarget:c?.label||c?.model||"",comboStrategy:i.comboStrategy}})})}async function R(a,b=null){let c;try{c=await a.json()}catch{return t.warn("CHAT","Invalid JSON body"),B({request:a,clientRawRequest:b,statusCode:r.gx.BAD_REQUEST,errorCode:"invalid_json_body",errorType:"invalid_request",message:"Invalid JSON body"}),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:c,headers:Object.fromEntries(a.headers.entries())}),(0,g.n)(b.headers);let d=new URL(a.url),e=c.model,j=c.messages?.length||c.input?.length||0,l=c.tools?.length||0,n=c.reasoning_effort||c.reasoning?.effort||null;t.request("POST",`${d.pathname} | ${e} | ${j} msgs${l?` | ${l} tools`:""}${n?` | effort=${n}`:""}`);let o=a.headers.get("Authorization"),s=(0,f.Tr)(a);o&&s?t.debug("AUTH",`API Key: ${t.maskKey(s)}`):t.debug("AUTH","No API key provided");let u=await (0,h.mt)(),v=null;if(s&&(v=await (0,h.mY)(s)),!s)return t.warn("AUTH","Missing API key"),B({request:a,clientRawRequest:b,body:c,model:e,statusCode:r.gx.UNAUTHORIZED,errorCode:"missing_api_key",errorType:"auth_error",message:"Missing API key"}),(0,m.yj)(r.gx.UNAUTHORIZED,"Missing API key");let w=v?!1!==v.isActive:await (0,f.kI)(s);if(v&&b&&(b.apiKeyOwnerUser=String(v.ownerUser||v.createdByUser||"").trim().toLowerCase()),!w)return t.warn("AUTH","Invalid API key"),B({request:a,clientRawRequest:b,body:c,apiKey:s,model:e,statusCode:r.gx.UNAUTHORIZED,errorCode:"invalid_api_key",errorType:"auth_error",message:"Invalid API key"}),(0,m.yj)(r.gx.UNAUTHORIZED,"Invalid API key");if(!e)return t.warn("CHAT","Missing model"),B({request:a,clientRawRequest:b,body:c,apiKey:s,statusCode:r.gx.BAD_REQUEST,errorCode:"missing_model",errorType:"invalid_request",message:"Missing model"}),(0,m.yj)(r.gx.BAD_REQUEST,"Missing model");if(v&&!(0,i.zx)(v,e))return t.warn("AUTH",`API key not allowed to use model: ${e}`),B({request:a,clientRawRequest:b,body:c,apiKey:s,model:e,statusCode:r.gx.FORBIDDEN||403,errorCode:"model_not_allowed",errorType:"forbidden",message:`API key is not allowed to use model: ${e}`}),(0,m.yj)(r.gx.FORBIDDEN||403,`API key is not allowed to use model: ${e}`);let x=a?.headers?.get("user-agent")||"",y=(0,q.c)(c,e,x,!!u.ccFilterNaming);if(y)return y.response||y;let z=(0,p.HX)(u,e);if(z)return Q({body:c,modelStr:e,virtualCombo:z,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0});let A=await (0,k.d_)(e);return A?P({body:c,modelStr:e,comboModels:A,settings:u,clientRawRequest:b,request:a,apiKey:s,apiKeyForceThinkingOff:b?.apiKeyForceThinkingOff===!0}):S(c,e,b,a,s)}async function S(a,b,c=null,d=null,e=null,g={}){let i=await (0,k.mA)(b);if(!i.provider){let f=await (0,h.mt)(),i=(0,p.HX)(f,b);if(i)return Q({body:a,modelStr:b,virtualCombo:i,settings:f,clientRawRequest:c,request:d,apiKey:e,apiKeyForceThinkingOff:!0===g.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0});let j=await (0,k.d_)(b);return j?P({body:a,modelStr:b,comboModels:j,settings:f,clientRawRequest:c,request:d,apiKey:e,apiKeyForceThinkingOff:!0===g.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0}):(t.warn("CHAT","Invalid model format",{model:b}),B({request:d,clientRawRequest:c,body:a,apiKey:e,model:b,statusCode:r.gx.BAD_REQUEST,errorCode:"invalid_model_format",errorType:"model_not_found",message:"Invalid model format"}),(0,m.yj)(r.gx.BAD_REQUEST,"Invalid model format"))}let{provider:n,model:o}=i;b!==`${n}/${o}`?t.info("ROUTING",`${b} -> ${n}/${o}`):t.info("ROUTING",`Provider: ${n}, Model: ${o}`);let q=d?.headers?.get("user-agent")||"",w=new Set,y=null,A=null;for(;;){let b=await (0,f.c1)(n,w,o,{body:a,headers:c?.headers||{},preferredConnectionId:g.preferredConnectionId||null,ownerUser:c?.apiKeyOwnerUser||""});if(!b||b.allRateLimited||b.allUnavailableByPolicy){if(b?.allRateLimited||b?.allUnavailableByPolicy){let f=y||b.lastError||"Unavailable",g=A||Number(b.lastErrorCode)||r.gx.SERVICE_UNAVAILABLE;return t.warn("CHAT",`[${n}/${o}] ${f} (${b.retryAfterHuman})`),B({request:d,clientRawRequest:c,body:a,apiKey:e,provider:n,model:o,statusCode:g,errorCode:b.allRateLimited?"all_accounts_rate_limited":"all_accounts_unavailable",errorType:b.allRateLimited?"rate_limit":"provider_unavailable",errorSource:"routing",message:`[${n}/${o}] ${f}`}),(0,m.wO)(g,`[${n}/${o}] ${f}`,b.retryAfter,b.retryAfterHuman)}if(0===w.size)return t.warn("AUTH",`No active credentials for provider: ${n}`),B({request:d,clientRawRequest:c,body:a,apiKey:e,provider:n,model:o,statusCode:r.gx.NOT_FOUND,errorCode:"no_active_credentials",errorType:"provider_unavailable",errorSource:"routing",message:`No active credentials for provider: ${n}`}),(0,m.yj)(r.gx.NOT_FOUND,`No active credentials for provider: ${n}`);return t.warn("CHAT","No more accounts available",{provider:n}),B({request:d,clientRawRequest:c,body:a,apiKey:e,provider:n,model:o,statusCode:A||r.gx.SERVICE_UNAVAILABLE,errorCode:"all_accounts_unavailable",errorType:"provider_unavailable",errorSource:"routing",message:y||"All accounts unavailable"}),(0,m.yj)(A||r.gx.SERVICE_UNAVAILABLE,y||"All accounts unavailable")}t.info("AUTH",`\x1b[32mUsing ${n} account: ${b.connectionName}\x1b[0m`);let i=await (0,u.eU)(n,b);if(("antigravity"===n||"gemini-cli"===n)&&!i.projectId){let a=await (0,v.eG)(b.connectionId,i.accessToken);a&&(i.projectId=a,(0,u.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let k=await (0,h.mt)(),p=(k.providerThinking||{})[n]||null,G=!0===g.apiKeyForceThinkingOff||c?.apiKeyForceThinkingOff===!0,O=g.comboRequestOverrides||{},P={...a,model:`${n}/${o}`},Q=(0,z.mq)(n),R=function(a={},b="",c={}){if(!(0,z.mq)(b))return a;let d=function(a={}){let b=a?.providerSpecificData&&"object"==typeof a.providerSpecificData?a.providerSpecificData:{},c=a.openAICompatibleRuntime||a.runtimeKind||b.openAICompatibleRuntime||b.runtimeKind||b.runtimeType||b.serverType||z.hb;return(0,z.tl)(c,z.hb)}(c),e=K(c.comboRequestOverrides||{}),f=c?.apiKeyForceThinkingOff===!0,g={...a};return(g=J(g,e),f)?(g=F(g),!0===d.supportsChatTemplateKwargs?M(g,d,!1):g):e.forceThinkingOffAboveChars>0&&(0,j.iz)(g)>=e.forceThinkingOffAboveChars?(g=F(g),g=!0===d.supportsChatTemplateKwargs?M(g,d,!1):g,J(g,e.forceThinkingOffRequestOverrides)):(void 0!==e.reasoning_budget&&(g=function(a={},b,c){let d=L(a);return b.reasoningBudgetField&&(d[b.reasoningBudgetField]=c),d}(g,d,e.reasoning_budget)),"off"===e.thinkingMode?(g=L(g),g=M(g,d,!1)):"on"===e.thinkingMode&&(g=M(g,d,!0)),g)}(P,n,{apiKeyForceThinkingOff:G,comboRequestOverrides:O,providerSpecificData:i.providerSpecificData||{}}),S=function({originalBody:a={},finalBody:b={},overrides:c={},apiKeyForceThinkingOff:d=!1,providerPolicyApplies:e=!0}={}){let f=(0,j.iz)(b||a||{}),g=N(c.forceThinkingOffAboveChars),h=g>0&&f>=g,i=!0===e,k=i&&h;return{thinkingEnabled:function(a={}){if(C(a.chat_template_kwargs)&&D(a.chat_template_kwargs,"enable_thinking"))return!0===a.chat_template_kwargs.enable_thinking;if(D(a,"enable_thinking"))return!0===a.enable_thinking;if(D(a,"reasoning_budget"))return H(a.reasoning_budget,{min:0,max:262144})>0;if(D(a,"thinking_token_budget"))return H(a.thinking_token_budget,{min:0,max:262144})>0;if(C(a.thinking)){let b=E(a.thinking.type).toLowerCase();if(["enabled","on","true"].includes(b))return!0;if(["disabled","off","false"].includes(b))return!1}return null}(b),thinkingAutoOff:k,thinkingAutoOffReason:k?"prompt_chars_threshold":i&&!0===d?"api_key_force_off":"",promptChars:f,forceThinkingOffAboveChars:g,providerPolicyApplies:i,thinkingAutoOffThresholdMatched:h}}({originalBody:P,finalBody:R,overrides:O,apiKeyForceThinkingOff:G,providerPolicyApplies:Q}),T=function({route:a={},provider:b="",model:c="",connectionId:d="",requestPolicyMeta:e={},originalBody:f={},finalBody:g={},overrides:h={}}={}){let i=e?.thinkingAutoOff===!0;return{combo_name:a.comboName||null,combo_target:a.comboTarget||null,combo_strategy:a.comboStrategy||null,route_type:a.routeType||(a.comboName?"combo":"direct"),selected_provider_id:d||b||null,selected_model:c||g?.model||f?.model||null,request_overrides_applied:function({originalBody:a={},finalBody:b={},overrides:c={},autoOffApplied:d=!1}={}){let e=d?I(c.forceThinkingOffRequestOverrides||{}):I(c||{}),f={};for(let c of["temperature","top_p","presence_penalty","max_tokens"])void 0!==e[c]&&b?.[c]!==void 0&&b[c]!==a?.[c]&&(f[c]=b[c]);return d||void 0===c.reasoning_budget||b?.reasoning_budget===a?.reasoning_budget||(f.reasoning_budget=b?.reasoning_budget),!d&&c.thinkingMode&&"inherit"!==c.thinkingMode&&(f.thinkingMode=c.thinkingMode),d&&(f.thinkingMode="off",f.forceThinkingOffAboveChars=N(c.forceThinkingOffAboveChars)),f}({originalBody:f,finalBody:g,overrides:h,autoOffApplied:i}),auto_off_applied:i}}({route:g.routingMetadata||{routeType:"direct"},provider:n,model:o,connectionId:b.connectionId,requestPolicyMeta:S,originalBody:P,finalBody:R,overrides:O}),U={...c||{},requestPolicyMeta:S,routingMetadata:T},V=await (0,l.w)({body:R,modelInfo:{provider:n,model:o},credentials:i,log:t,clientRawRequest:U,requestPolicyMeta:S,connectionId:b.connectionId,userAgent:q,apiKey:e,ccFilterNaming:!!k.ccFilterNaming,rtkEnabled:!!k.rtkEnabled,cavemanEnabled:!!k.cavemanEnabled,cavemanLevel:k.cavemanLevel||"full",providerThinking:!1===S.thinkingEnabled?null:p,contentLoggingMode:g.contentLoggingMode||"inherit",sourceFormatOverride:d?.url?(0,s.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,u.vN)(b.connectionId,{accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(b.connectionId,b,o)}});if(!function(a,b){let c=a?.sessionId||a?.session_id||a?.requestContext?.sessionId;c&&(0,x.gl)({sessionId:c,metadata:b}).catch(()=>{})}(U,T),V.success)return V.response;let{shouldFallback:W}=await (0,f.vk)(b.connectionId,V.status,V.error,n,o,V.resetsAtMs);if(W){t.warn("AUTH",`Account ${b.connectionName} unavailable (${V.status}), trying fallback`),w.add(b.connectionId),y=V.error,A=V.status;continue}return V.response}}[e,l]=A.then?(await A)():A,d()}catch(a){d(a)}})}};
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/8h574JCg-YhQIJIqq7K4G/_buildManifest.js","static/8h574JCg-YhQIJIqq7K4G/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-a990cabb6976f421.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-e569667691edc8f7.js","static/chunks/main-app-0a27584eea53a4b0.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/-WHuYwbhbzTfrdpWPoj3l/_buildManifest.js","static/-WHuYwbhbzTfrdpWPoj3l/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-a990cabb6976f421.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-e569667691edc8f7.js","static/chunks/main-app-0a27584eea53a4b0.js"],rootMainFilesTree:{},pages:{"/_app":[]}};