@ltgiang/9router 0.5.68 → 0.5.69

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 (395) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +11 -11
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/expose-models/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  33. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  39. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  42. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  43. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  44. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  45. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  46. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  47. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  48. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  49. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/api/expose-combos/[id]/route.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/api/expose-combos/reorder/route.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/api/expose-combos/route.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  76. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  79. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  82. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  88. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/v2/models/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  161. package/app/.next-cli-build/server/app/callback.html +1 -1
  162. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  163. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  164. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  165. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  166. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  167. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  168. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  169. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  170. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  171. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  172. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  173. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  174. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  175. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  176. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  177. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  178. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  179. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  180. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  181. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  182. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  183. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  185. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  186. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  187. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  188. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  189. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  190. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  191. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  192. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  193. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  195. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  196. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  197. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  198. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  199. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  200. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  201. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  202. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  203. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  204. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  205. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  206. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  207. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  208. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  209. package/app/.next-cli-build/server/app/dashboard/expose-models.html +1 -1
  210. package/app/.next-cli-build/server/app/dashboard/expose-models.rsc +6 -6
  211. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models/__PAGE__.segment.rsc +2 -2
  212. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models.segment.rsc +1 -1
  213. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  215. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_full.segment.rsc +6 -6
  216. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_head.segment.rsc +1 -1
  217. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_index.segment.rsc +4 -4
  218. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_tree.segment.rsc +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  220. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  221. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  222. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  223. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  224. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  226. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  227. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  228. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  229. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  230. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  231. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  232. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  233. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  234. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  235. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  236. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  237. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  238. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  239. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  240. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  241. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  242. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  243. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  244. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  245. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  246. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  247. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  248. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  249. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  250. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  251. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  252. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  253. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  254. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  255. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  257. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  258. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  259. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  260. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  261. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  262. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  263. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  264. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  265. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  266. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  267. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  268. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  269. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  270. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  271. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  272. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  273. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  274. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  275. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  276. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  277. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  278. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  279. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  280. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  281. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  282. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  283. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  284. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  285. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  286. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  287. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  288. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  289. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  290. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  291. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  292. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  294. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  295. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  296. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  297. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  298. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  299. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  300. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  302. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  304. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  305. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  306. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  308. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  309. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  310. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  311. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  312. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  313. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  314. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  315. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  316. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  318. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  319. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  320. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  321. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  322. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  324. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  325. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  326. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  328. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  329. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  330. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  331. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  332. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  334. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  335. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  336. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  338. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  339. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  340. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  341. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  342. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  343. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  344. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  345. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  346. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  347. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  348. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  349. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  350. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  351. package/app/.next-cli-build/server/app/index.html +1 -1
  352. package/app/.next-cli-build/server/app/index.rsc +4 -4
  353. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  354. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  355. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  356. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  357. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  358. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  359. package/app/.next-cli-build/server/app/landing.html +1 -1
  360. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  361. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  362. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  363. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  364. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  365. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  366. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  368. package/app/.next-cli-build/server/app/login.html +1 -1
  369. package/app/.next-cli-build/server/app/login.rsc +5 -5
  370. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  371. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  372. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  373. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  374. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  375. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  376. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  377. package/app/.next-cli-build/server/app-paths-manifest.json +11 -11
  378. package/app/.next-cli-build/server/chunks/1961.js +1 -1
  379. package/app/.next-cli-build/server/chunks/3617.js +1 -1
  380. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  381. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  382. package/app/.next-cli-build/server/chunks/6328.js +1 -1
  383. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  384. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  385. package/app/.next-cli-build/server/chunks/9350.js +1 -1
  386. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  387. package/app/.next-cli-build/server/pages/404.html +1 -1
  388. package/app/.next-cli-build/server/pages/500.html +1 -1
  389. package/app/.next-cli-build/static/chunks/{1321-8942e696d703caf8.js → 1321-acb2050ac40dc43b.js} +1 -1
  390. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.63-to-0.5.64-0.5.64-20260827-205057 → upgrade-0.5.67-to-0.5.68-0.5.68-20260830-171531}/data.sqlite +0 -0
  391. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  392. package/app/package.json +1 -1
  393. package/package.json +1 -1
  394. /package/app/.next-cli-build/static/{42pqW48Fsmi89OOetBU6e → IZmKAItgd0f9WdsAqKNxd}/_buildManifest.js +0 -0
  395. /package/app/.next-cli-build/static/{42pqW48Fsmi89OOetBU6e → IZmKAItgd0f9WdsAqKNxd}/_ssgManifest.js +0 -0
@@ -2,7 +2,7 @@
2
2
  \`\`\`json
3
3
  ${b}
4
4
  \`\`\`
5
- Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&v.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}if(v.length>0){let a={type:"text",text:v.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}};Array.isArray(b.system)?t.system=[...b.system,a]:"string"==typeof b.system&&b.system.length>0?t.system=[{type:"text",text:b.system},a]:t.system=[a]}else b.system&&(t.system=Array.isArray(b.system)?b.system:[{type:"text",text:String(b.system)}]);if(b.thinking)t.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}};else if(b.reasoning_effort){let c=String(b.reasoning_effort).toLowerCase(),d=("max"!==c||(0,f.xO)(a))&&("xhigh"!==c||(0,f.j$)("claude",a))?c:"high";if((0,l.dE)(a))m.has(d)&&(t.thinking={type:"adaptive"},t.output_config={...t.output_config||{},effort:d});else if("max"===d||"xhigh"===d)t.thinking={type:"adaptive"},t.output_config={...t.output_config||{},effort:d};else{let a={low:1024,medium:10240,high:131072,max:131072}[d];void 0!==a&&a>0&&(t.thinking={type:"enabled",budget_tokens:a})}}let w=function(a,b,c){let d=function(a){try{let b=(0,k.iy)(a);return"number"==typeof b&&b>0?b:null}catch{return null}}(a),e=Number(c?.budget_tokens)||0;if(!c||e<=0)return{maxTokens:null===d?Math.max(b,1):Math.min(Math.max(b,1),d),thinking:c};let f=Math.max(b,1024),g=null===d?f+e:Math.min(f+e,d),h=g-f;if(h<1024&&f>1024&&(f=1024,h=(g=null===d?f+e:Math.min(f+e,d))-f),h<1024)return{maxTokens:d??Math.max(b,1),thinking:void 0};let i={...c};return h<e&&(i.budget_tokens=h),{maxTokens:g,thinking:i}}(a,Number(t.max_tokens)||0,t.thinking);return(t.max_tokens=w.maxTokens,void 0===w.thinking)?delete t.thinking:(e=w.thinking,t.thinking=e&&b?.[o]==="summarized"&&"disabled"!==e.type?{...e,display:"summarized"}:e),delete t[o],t.thinking&&void 0!==t.temperature&&delete t.temperature,s.size>0&&(t._toolNameMap=s),0===t.messages.length&&t.messages.push({role:"user",content:[{type:"text",text:"."}]}),t},null)},23874:(a,b,c)=>{c.d(b,{U:()=>g,f:()=>f});let d=new Set(["stop","length","tool_calls","content_filter","function_call"]),e=new Set(["safety","recitation","blocklist","prohibited_content","content_filtered","policy_violation"]);function f(a){if("string"!=typeof a)return a;let b=a.toLowerCase();return d.has(b)?b:"max_tokens"===b?"length":e.has(b)?"content_filter":b}function g(a,b="stop"){let c=f(a);return"string"==typeof c&&c?c:b}},24286:(a,b,c)=>{c.d(b,{dE:()=>e,js:()=>d,mU:()=>f});let d=()=>null,e=()=>!1,f=a=>a},28638:(a,b,c)=>{c.d(b,{Hy:()=>g,W6:()=>l});var d=c(5960);let e=["github.com/open-webui/open-webui","openwebui.com","docs.openwebui.com"],f=["You are Open WebUI"],g="claude",h="anthropic-compatible-cc",i={providers:{[g]:{enabled:!0,pipeline:[{kind:"drop_paragraph_if_contains",needles:[...d.Nu,...e,"@earendil-works/pi-coding-agent","/.pi/","Pi documentation (read only when the user asks about pi itself"]},{kind:"drop_paragraph_if_starts_with",prefixes:[...d.gK,...f]},...d.I1.map(a=>({kind:"replace_text",match:a.match,replacement:a.replacement,allOccurrences:!0})),{kind:"obfuscate_words",words:["opencode","open-code","cline","roo-cline","roo_cline","cursor","windsurf","aider","continue.dev","copilot","avante","codecompanion","openwebui","open-webui"],targets:["system","messages","tools"]}]},[h]:{enabled:!0,pipeline:[{kind:"drop_paragraph_if_contains",needles:[...e]},{kind:"drop_paragraph_if_starts_with",prefixes:[...f]},{kind:"obfuscate_words",words:["openwebui","open-webui"],targets:["system","messages","tools"]},...d.e7]}}},j=new Map;function k(a,b){if(!a||0===b.length)return a;let c=a;for(let a of b){if(!a)continue;let b=function(a){let b=j.get(a);return b||(j.size>2e3&&j.clear(),b=RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),j.set(a,b)),b}(a);c=c.replace(b,a=>a.length<=1?a:a[0]+"‍"+a.slice(1))}return c}function l(a,b,c=(n[m]||(n[m]=i),n[m])){if(!b||"object"!=typeof b||!c||!c.providers)return{body:b,appliedOpKinds:[]};let e=function(a,b){if(!a)return;let c=b.providers[a];return c||(a.startsWith(`${h}-`)||a===h?b.providers[h]:void 0)}(a,c);return e&&e.enabled?function(a,b){if(!a||"object"!=typeof a||!Array.isArray(b)||0===b.length)return{body:a,appliedOpKinds:[]};let c=[],e=[],f=()=>{if(0===e.length)return;let b={enabled:!0,pipeline:e},f=(0,d.a3)(a,b);c.push(...f.appliedOpKinds),e=[]};for(let d of b)"obfuscate_words"===d.kind?(f(),function(a,b){let c=b.words||[];if(0===c.length)return;let d=b.targets&&b.targets.length>0?b.targets:["system","messages","tools"];if(d.includes("system")){if("string"==typeof a.system)a.system=k(a.system,c);else if(Array.isArray(a.system))for(let b of a.system)"string"==typeof b.text&&(b.text=k(b.text,c))}if(d.includes("messages")&&Array.isArray(a.messages))for(let b of a.messages){let a=b.content;if("string"==typeof a)b.content=k(a,c);else if(Array.isArray(a))for(let b of a)"string"==typeof b.text&&(b.text=k(b.text,c))}if(d.includes("tools")&&Array.isArray(a.tools))for(let b of a.tools){"string"==typeof b.description&&(b.description=k(b.description,c));let a=b.function;a&&"string"==typeof a.description&&(a.description=k(a.description,c))}}(a,d),c.push(d.kind)):e.push(d);return f(),{body:a,appliedOpKinds:c}}(b,e.pipeline):{body:b,appliedOpKinds:[]}}let m="__omniroute_systemTransforms_config__",n=globalThis},31252:(a,b,c)=>{function d(a){if(!a.startsWith("[Tool call:"))return!1;let b=a.indexOf("]");if(-1===b){let b=a.slice(11);return!(b.includes("\n")||b.includes("["))}let c=a.slice(11,b);if(c.includes("\n")||0===c.trim().length)return!1;let d=a.slice(b+1),e=d.match(/^[\s\r\n]*/),f=e?e[0]:"",g=d.slice(f.length);if(0===g.length)return!0;if(!f.includes("\n"))return!1;let h="Arguments:";return!!(h.startsWith(g)||g.startsWith(h))}function e(a){if("string"!=typeof a)return null;let b=a.replace(/[\u200B-\u200D\uFEFF]/g,""),c=b.lastIndexOf("[Tool call:");if(c<0){let a=b.lastIndexOf("(");if(-1!==a&&"(empty)[Tool call:".startsWith(b.slice(a)))return{kind:"partial"};let c=b.lastIndexOf("[");return -1!==c&&"[Tool call:".startsWith(b.slice(c))?{kind:"partial"}:null}let e=b.slice(c);if(!d(e))return null;let f=e.match(/^\[Tool call:\s*([^\]\n]+)\]\s*\nArguments:\s*/);if(!f)return{kind:"partial"};let g=f[1]?.trim(),h=e.slice(f[0].length).trim();if(!g||!h)return{kind:"partial"};for(let a of[a=>a,a=>{if(a.startsWith('"')&&a.endsWith('"')){let b=JSON.parse(a);return"string"==typeof b?b:a}return a}])try{let b=a(h),c=JSON.parse(b);return{kind:"complete",name:g,args:function a(b){return"string"==typeof b?b.replace(/[\u200B-\u200D\uFEFF]/g,""):Array.isArray(b)?b.map(b=>a(b)):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).map(([b,c])=>[b,a(c)])):b}(c)}}catch{}return{kind:"partial"}}function f(a){if("string"!=typeof a)return!1;let b=a.replace(/[\u200B-\u200D\uFEFF]/g,"");if(!b.includes("[Tool call:"))return!1;if(b.includes("Arguments:"))return!0;let c=b.trim();return c.startsWith("[Tool call:")||c.startsWith("(empty)[Tool call:")}c.d(b,{IG:()=>d,eN:()=>e,vE:()=>f})},32709:(a,b,c)=>{let d,e;c.d(b,{W:()=>o,RO:()=>p,b:()=>q,mw:()=>i});let f=new Set(["deepseek","opencode-go","siliconflow","nebius","deepinfra","sambanova","fireworks","together","xiaomi-mimo"]),g=[/deepseek-r1/i,/deepseek-reasoner/i,/deepseek-chat/i,/deepseek[-/]v4[-.](flash|pro)(-free)?/i,/zen\/deepseek-v4/i,/kimi-k2/i,/qwq/i,/qwen.*think/i,/glm.*think/i,/^mimo[-.]?v\d/i],h=/deepseek[-/]v4[-.](flash|pro)/i;function i(a){let b=a.provider.trim().toLowerCase(),c=a.model.trim(),d="string"==typeof a.interleavedField?a.interleavedField.trim().toLowerCase():"";return"reasoning_content"===d||!("reasoning_details"===d||/deepseek-reasoner/i.test(c)||/deepseek-r1/i.test(c))&&(!!(!0===a.thinkingEnabled&&h.test(a.model))||!1!==a.allowLegacyFallback&&(!!f.has(b)||g.some(a=>a.test(c))))}let j=new Map,k=0,l=0,m=0;function n(a,b,c,d){if(!a||!d)return;d.length>1e4&&(d=d.slice(0,1e4));let e=Date.now();j.size>=200&&function(){let a=null,b=1/0;for(let[c,d]of j)d.createdAt<b&&(b=d.createdAt,a=c);a&&j.delete(a)}(),j.set(a,{reasoning:d,provider:b,model:c,expiresAt:e+72e5,createdAt:e})}function o(a,b,c,d){if(!a||"assistant"!==a.role)return 0;let e="string"==typeof a.reasoning_content&&a.reasoning_content.length>0?a.reasoning_content:"string"==typeof a.reasoning&&a.reasoning.length>0?a.reasoning:"";if(!e)return 0;let f=Array.isArray(a.tool_calls)?a.tool_calls.map(a=>"string"==typeof a.id?a.id:"").filter(a=>a.length>0):[];if(0===f.length){let a=d?.requestId?.trim(),f=d?.messageIndex;return a&&"number"==typeof f&&Number.isInteger(f)?(n(`request:${a}:message:${f}`,b,c,e),1):0}for(let a of f)a&&n(a,b,c,e);return f.length}function p(a){if(!a)return l++,null;let b=j.get(a);if(b){if(Date.now()<b.expiresAt)return k++,b.reasoning;j.delete(a)}let c=null;try{c=null}catch{}if(c){k++;let b=c.reasoning;return b.length>1e4&&(b=b.slice(0,1e4)),j.set(a,{reasoning:b,provider:c.provider,model:c.model,expiresAt:Date.now()+72e5,createdAt:Date.now()}),b}return l++,null}function q(){m++}function r(){let a=Date.now();for(let[b,c]of j)a>=c.expiresAt&&j.delete(b);try{return 0}catch{return 0}}try{let a=r();a>0&&console.log(`[ReasoningCache] boot cleanup removed ${a} expired entries`)}catch(a){console.error("[ReasoningCache] boot cleanup failed:",a)}let s=setInterval(()=>{try{let a=r();a>0&&console.log(`[ReasoningCache] periodic cleanup removed ${a} expired entries`)}catch(a){console.error("[ReasoningCache] periodic cleanup failed:",a)}},Number.isFinite(e=(d=process.env.OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS)?Number(d):NaN)&&e>=6e4?e:18e5);s.unref?.()},33748:(a,b,c)=>{c.d(b,{A_:()=>h,Bz:()=>l,NI:()=>i});var d=c(96281),e=c(32709),f=c(57247);let g=new Set(["minimax","minimax-cn"]),h="(prior reasoning summary unavailable)";function i(a){if(!Array.isArray(a)||0===a.length)return a;let b=[],c=new Set,d=a=>{for(let b of a)b?.type==="tool_use"&&"string"==typeof b.id&&c.add(b.id)};for(let e of a){if("assistant"!==e.role||!Array.isArray(e.content)){b.push(e);continue}let a=e.content.filter(a=>a?.type==="tool_result");if(0===a.length){b.push(e),d(e.content);continue}let f=a.filter(a=>"string"==typeof a?.tool_use_id&&c.has(a.tool_use_id)),g=e.content.filter(a=>a?.type!=="tool_result");if(f.length>0){let a=b[b.length-1];a&&"user"===a.role&&Array.isArray(a.content)?b[b.length-1]={...a,content:[...a.content,...f]}:b.push({role:"user",content:f})}g.length>0&&(b.push({...e,content:g}),d(g))}return b}function j(a){return Array.isArray(a?.content)?a.content:"string"==typeof a?.content&&a.content.trim()?(a.content=[{type:"text",text:a.content}],a.content):[]}function k(a,b){let c=j(a);if(0===c.length)return!1;let d=c.length-1;return c[d].cache_control=void 0!==b?{type:"ephemeral",ttl:b}:{type:"ephemeral"},!0}function l(a,b=null,c=!1,m=null){b&&g.has(b)&&delete a.output_config;let n="claude"===b||b?.startsWith?.("anthropic-compatible-"),o=!!b&&!!m&&"claude"===(0,f.ux)(b,m),p=n||o,q=a.system;if(q&&Array.isArray(q)&&!c&&(a.system=q.map((a,b)=>{let{cache_control:c,...d}=a;return b===q.length-1&&n?{...d,cache_control:{type:"ephemeral",ttl:"1h"}}:d})),a.messages&&Array.isArray(a.messages)){let f=a.messages.length,g=[];for(let b=0;b<f;b++){let d=a.messages[b];if(Array.isArray(d.content)&&!c)for(let a of d.content)delete a.cache_control;(b===f-1&&"assistant"===d.role||"string"==typeof d.content&&d.content.trim()||Array.isArray(d.content)&&d.content.some(a=>"text"===a.type&&a.text?.trim()||"tool_use"===a.type||"tool_result"===a.type))&&g.push(d)}for(let a of g)Array.isArray(a.content)&&(a.content=a.content.filter(a=>"tool_use"!==a.type||a.name&&a.name?.trim()),a.content=a.content.filter(a=>"tool_result"!==a.type||a.tool_use_id));a.tools&&Array.isArray(a.tools)&&"claude"!==b&&(a.tools=a.tools.filter(a=>!a.type||"function"===a.type).map(a=>{if(a.function)return{name:a.function.name,description:a.function.description,input_schema:a.function.parameters};let{type:b,...c}=a;return c})),a.tools&&Array.isArray(a.tools)&&(a.tools=a.tools.filter(a=>a.name&&a.name?.trim())),a.messages=g=function(a){if(a.length<=1)return a;for(let b of a)if("assistant"===b.role&&Array.isArray(b.content)&&b.content.some(a=>"tool_use"===a.type)){let a=[],c=!1;for(let d of b.content)"tool_use"===d.type?(c=!0,a.push(d)):"thinking"===d.type||"redacted_thinking"===d.type?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:"text",text:a.content}],d=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else{let a=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(g=i(g));let l=g[g.length-1],m=l?.role==="user",o=a.thinking?.type==="enabled"&&m;if(!c&&n){let a=g.reduce((a,b,c)=>(b?.role==="user"&&a.push(c),a),[]),b=a.length>=2?a[a.length-2]:-1;b>=0&&k(g[b])}let q=-1;for(let a=g.length-1;a>=0;a--)if(g[a]?.role==="assistant"){q=a;break}let r=!1;for(let a=g.length-1;a>=0;a--){let b=g[a],f=j(b);if("assistant"===b.role&&f.length>0){!c&&n&&!r&&k(b)&&(r=!0);let g=a===q&&f.some(a=>"thinking"===a.type||"redacted_thinking"===a.type);if(g&&p)continue;let i=!1,j=!1,l=[];if(!p)for(let a of f)"tool_use"===a.type&&"string"==typeof a.id&&l.push(a.id);let m=0;for(let a of f){if("thinking"===a.type||"redacted_thinking"===a.type){if(p)a.type="redacted_thinking",a.data=d.xr,delete a.thinking,delete a.signature;else{let b="string"==typeof a.thinking&&a.thinking.length>0?a.thinking:"";if(b&&g)a.type="thinking";else{if(!b){let a=l[m];if(a){let c=(0,e.RO)(a);c&&(b=c,(0,e.b)())}}a.type="thinking",a.thinking=b||h}delete a.data,delete a.signature}j=!0,m++}"tool_use"===a.type&&(i=!0)}if(o&&!j&&i)if(p)f.unshift({type:"redacted_thinking",data:d.xr});else{let a="",b=l[0];if(b){let c=(0,e.RO)(b);c&&(a=c,(0,e.b)())}f.unshift({type:"thinking",thinking:a||h})}}}}if(a.tools&&Array.isArray(a.tools)&&!c&&(a.tools=a.tools.map(a=>{let{cache_control:b,...c}=a;return c}),n)){for(let b=a.tools.length-1;b>=0;b--)if(!a.tools[b].defer_loading){a.tools[b].cache_control={type:"ephemeral",ttl:"1h"};break}}return a}},39006:a=>{a.exports={rE:"0.5.68"}},52284:(a,b,c)=>{c.d(b,{w$:()=>f});let d=c(39006).rE||"0.0.0",e="u">typeof process&&process.env.CLINE_SPOOF_VERSION||"3.20.0";function f(a,b={}){let c,g=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",h={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":e,"X-CORE-VERSION":e,"X-IS-MULTIROOT":"false",...b};return g&&(h.Authorization=g),h}},56868:(a,b,c)=>{function d(a){return"assistant"===a?"output_text":"input_text"}function e(a){if("string"==typeof a)return{type:"message",role:"user",content:[{type:"input_text",text:a}]};if(!a||"object"!=typeof a||Array.isArray(a))return a;let b={...a},c="string"==typeof b.role?b.role:"user",e="string"==typeof b.type?b.type:"";if(!e&&void 0===b.content&&"string"==typeof b.text)return{type:"message",role:c,content:[{type:d(c),text:b.text}]};(!e&&c&&(b.type="message"),"message"===b.type||!e&&void 0!==b.content)&&(b.role=c,b.content=Array.isArray(b.content)?b.content.map(a=>(function(a,b){if("string"==typeof a)return{type:d(b),text:a};if(!a||"object"!=typeof a||Array.isArray(a))return a;let c={...a};return"text"===c.type&&(c.type=d(b)),c})(a,c)):"string"==typeof b.content?[{type:d(c),text:b.content}]:"string"==typeof b.text?[{type:d(c),text:b.text}]:[],b.type="message");return b}function f(a){if(Array.isArray(a.input)){a.input=a.input.map(e);return}void 0!==a.input&&(a.input=null===a.input?[]:[e(a.input)])}function g(a){if("string"==typeof a)return{type:"message",role:"user",content:[{type:"input_text",text:a}]};if(!a||"object"!=typeof a||Array.isArray(a))return a;let b={...a},c="string"==typeof b.type&&b.type.length>0,d="string"==typeof b.role&&b.role.length>0;return c||d?(!c&&d&&(b.type="message"),b):"string"==typeof b.text?{type:"message",role:"user",content:[{type:"input_text",text:b.text}]}:void 0!==b.content?{type:"message",role:"user",content:b.content}:b}function h(a){return null==a?[]:Array.isArray(a)?a.map(g):[g(a)]}c.d(b,{f:()=>h,z:()=>f})},57148:(a,b,c)=>{c.d(b,{Aq:()=>m,ye:()=>h});let d={subagents:"SubDispatch",session_status:"CheckStatus",bash:"Bash",read:"Read",write:"Write",edit:"Edit",glob:"Glob",grep:"Grep",task:"Task",webfetch:"WebFetch",websearch:"WebSearch",todowrite:"TodoWrite",todoread:"TodoRead",question:"Question",skill:"Skill",multiedit:"MultiEdit",notebook:"Notebook",lsp:"Lsp",apply_patch:"ApplyPatch"},e={};for(let[a,b]of Object.entries(d))e[b]=a;function f(a){let b=a._toolNameMap instanceof Map?a._toolNameMap:new Map;return Object.defineProperty(a,"_toolNameMap",{value:b,enumerable:!1,configurable:!0,writable:!0}),b}function g(a,b,c){f(a).set(b,c)}function h(a){let b=!1,c=!1,f=a.tools;if(Array.isArray(f))for(let h of f){let f=String(h.name||"");if(d[f]){let c=d[f];h.name=c,g(a,c,f),b=!0}else e[f]&&(c=!0)}let h=a.messages;if(Array.isArray(h))for(let f of h){let h=f.content;if(Array.isArray(h)){for(let f of h)if("tool_use"===f.type&&"string"==typeof f.name){let h=d[f.name];if(h){let c=f.name;f.name=h,g(a,h,c),b=!0}else e[f.name]&&(c=!0)}}}let i=a.tool_choice;if(i?.type==="tool"&&"string"==typeof i.name){let f=d[i.name];if(f){let c=i.name;i.name=f,g(a,f,c),b=!0}else e[i.name]&&(c=!0)}return b&&!c}let i=new Set(Object.values(d)),j={read_file:"Read",write_file:"Write",search_files:"Grep",grep_search:"Grep",list_directory:"Glob",run_command:"Bash",terminal:"Bash",todo:"TodoWrite",todo_write:"TodoWrite",todo_read:"TodoRead",patch:"Edit",multi_edit:"MultiEdit"},k=/^[a-z][a-z0-9_]*_\d{8}$/,l=new Set(["web_search","web_search_preview"]);function m(a,b){if("true"===process.env.CLAUDE_DISABLE_TOOL_NAME_CLOAK)return new Map;let c=a=>!(!a||i.has(a)||a.startsWith("mcp__"))&&(/[a-z]/.test(a.charAt(0))||a.includes("_")||a.includes("-"))&&!(b?.skip&&b.skip(a)),e=a.tools,g=new Set;if(Array.isArray(e))for(let a of e)a&&"string"==typeof a.name&&g.add(a.name);let h=a._toolNameMap instanceof Map?a._toolNameMap:null;if(h)for(let a of h.keys())g.add(a);let m=h,n=new Map,o=b=>{let c=n.get(b);if(c)return c;let e=d[b]??j[b]??(b.split(/[_\s-]+/).filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join("")||b),h=e,i=2;for(;h!==b&&g.has(h);)h=`${e}${i++}`;return g.delete(b),g.add(h),n.set(b,h),m||(m=f(a)),m.set(h,b),h};Array.isArray(e)&&(a.tools=e.map(a=>{var b;return a&&"string"==typeof(b=a.type)&&0!==b.length&&(k.test(b)||l.has(b))?a:a&&"string"==typeof a.name&&c(a.name)?{...a,name:o(a.name)}:a}));let p=a.messages;Array.isArray(p)&&(a.messages=p.map(a=>{let b=a?.content;if(!Array.isArray(b))return a;let d=!1,e=b.map(a=>a?.type==="tool_use"&&"string"==typeof a.name&&c(a.name)?(d=!0,{...a,name:o(a.name)}):a);return d?{...a,content:e}:a}));let q=a.tool_choice;return q?.type==="tool"&&"string"==typeof q.name&&c(q.name)&&(a.tool_choice={...q,name:o(q.name)}),m??new Map}},57647:(a,b,c)=>{c.d(b,{GK:()=>h,J9:()=>i,SZ:()=>n,Tz:()=>k,a4:()=>j,jJ:()=>l,zt:()=>m});var d=c(61408),e=c(36081);c(89625),c(96303),c(4928);function f(a){return"string"==typeof a&&a.startsWith("openai-compatible-")}function g(a){return"string"==typeof a&&a.startsWith("anthropic-compatible-")}function h(a){return"string"==typeof a&&a.startsWith("anthropic-compatible-cc-")}function i(a,b=null){if(!f(a))return"chat";let c=b&&"object"==typeof b&&"string"==typeof b.apiType?b.apiType:null;return"responses"===c||"chat"===c||"embeddings"===c||"audio-transcriptions"===c||"audio-speech"===c||"images-generations"===c?c:a.includes("responses")?"responses":a.includes("embeddings")?"embeddings":a.includes("audio-transcriptions")?"audio-transcriptions":a.includes("audio-speech")?"audio-speech":a.includes("images-generations")?"images-generations":"chat"}function j(a,b=""){let c=String(b||"");return/\/responses(?=\/|$)/i.test(c)||/^responses(?=\/|$)/i.test(c)?"openai-responses":/\/messages(?=\/|$)/i.test(c)||/^messages(?=\/|$)/i.test(c)?"claude":/\/antigravity(?=\/|:|$)/i.test(c)||/^antigravity(?=\/|:|$)/i.test(c)?"antigravity":/\/(?:chat\/completions|completions)(?=\/|$)/i.test(c)||/^(?:chat\/completions|completions)(?=\/|$)/i.test(c)?a&&"object"==typeof a&&!Array.isArray(a)&&void 0!==a.input&&void 0===a.messages?"openai-responses":"openai":k(a)}function k(a){let b=Object.prototype.hasOwnProperty.call(a,"input")&&void 0!==a.input,c=void 0!==a.max_output_tokens||void 0!==a.previous_response_id||void 0!==a.reasoning;if(b||c)return"openai-responses";if(a.request?.contents&&"antigravity"===a.userAgent)return"antigravity";if(a.contents&&Array.isArray(a.contents))return"gemini";if(a.stream_options||a.response_format||void 0!==a.logprobs||void 0!==a.top_logprobs||void 0!==a.n||void 0!==a.presence_penalty||void 0!==a.frequency_penalty||a.logit_bias||a.user)return"openai";if(a.messages&&Array.isArray(a.messages)){let b=a.messages[0];if(b?.content&&Array.isArray(b.content)){let c=b.content[0];if(c?.type==="text"&&!a.model?.includes("/")){if(a.system||a.anthropic_version)return"claude";let c=b.content.some(a=>"image"===a.type&&a.source?.type==="base64"),d=b.content.some(a=>"image_url"===a.type&&a.image_url?.url);if(c)return"claude";if(d)return"openai";if(b.content.some(a=>"tool_use"===a.type||"tool_result"===a.type))return"claude"}}if(void 0!==a.system||a.anthropic_version||a.max_tokens&&!a.stream_options&&!a.response_format)return"claude"}return"openai"}function l(a,b=null){if(f(a))return"responses"===i(a,b)?"openai-responses":"openai";if(g(a))return"claude";let c=(0,e.qs)(a);return c?c.format||"openai":function(a,b=null){if(f(a)){let c=i(a,b);return{...d.xq.openai,format:"responses"===c?"openai-responses":"openai",baseUrl:"https://api.openai.com/v1"}}return g(a)?{...d.xq.anthropic,format:"claude",baseUrl:"https://api.anthropic.com/v1"}:d.xq[a]||d.xq.openai}(a).format||"openai"}function m(a){return!!(a.reasoning_effort||a.thinking?.type==="enabled")}function n(a){return!function(a){let b=a.messages||a.contents;if(!b?.length)return!0;let c=b[b.length-1];return c?.role==="user"}(a)&&delete a.thinking,a}},59387:(a,b,c)=>{c.d(b,{Gp:()=>o,IZ:()=>n,g8:()=>e});var d=c(69190);let e={AUTO:"auto",PASSTHROUGH:"passthrough",CUSTOM:"custom",ADAPTIVE:"adaptive"},f={none:0,low:1024,medium:10240,high:131072,max:131072,xhigh:131072},g={none:0,low:4096,medium:8192,high:24576,max:131072,xhigh:131072},h={mode:e.PASSTHROUGH,customBudget:10240,effortLevel:"medium"},i="__omniroute_thinkingBudget_config__",j=globalThis;function k(){return j[i]||(j[i]={...h}),j[i]}function l(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function m(a,b){let c=a[b];return"string"==typeof c?c:""}function n(){return{...k()}}function o(a,b=null){let c=b||k();if(!a||"object"!=typeof a)return a;let i="string"==typeof a.model?a.model:"";if(i&&!(0,d.Mq)(i))return p(a);let j=function(a){if(!a||"object"!=typeof a)return a;let b={...a},c=b.thinkingLevel||b.thinking_level;if("string"==typeof c&&void 0!==g[c.toLowerCase()]){let a=g[c.toLowerCase()],e=(0,d.kG)(m(b,"model"),a);b.thinking={type:e>0?"enabled":"disabled",budget_tokens:e},delete b.thinkingLevel,delete b.thinking_level}let e=l(b.generationConfig),f=l(e.thinkingConfig),h=l(e.thinking_config),i=f.thinkingLevel||h.thinkingLevel;if("string"==typeof i&&void 0!==g[i.toLowerCase()]){let a=g[i.toLowerCase()],c=(0,d.kG)(m(b,"model"),a);b.generationConfig={...e,thinkingConfig:{...f,thinkingBudget:c}};let h=b.generationConfig,j=l(h.thinkingConfig);Object.keys(j).length>0&&(delete j.thinkingLevel,h.thinkingConfig=j),"thinking_config"in h&&delete h.thinking_config}return b}(a);switch(j=function(a){if(!a||"object"!=typeof a)return a;let b=m(a,"model");if(!b.endsWith("-thinking")||a.thinking)return a;let c={...a};return c.thinking={type:"enabled",budget_tokens:(0,d.d)(b)||f.medium},c}(j),c.mode){case e.AUTO:return p(j);case e.PASSTHROUGH:return j;case e.CUSTOM:return q(j,c.customBudget??h.customBudget);case e.ADAPTIVE:return function(a,b){let c=l(a),e=Array.isArray(c.messages)?c.messages:Array.isArray(c.input)?c.input:[],g=e.length,h=(Array.isArray(c.tools)?c.tools:[]).length,i=0;for(let a=e.length-1;a>=0;a--){let b=l(e[a]);if("user"===b.role){i="string"==typeof b.content?b.content.length:JSON.stringify(b.content||"").length;break}}let j=1;g>10&&(j+=.5),h>3&&(j+=.5),i>2e3&&(j+=.3);let k=f["string"==typeof b.effortLevel?b.effortLevel:"medium"]||(0,d.d)(m(c,"model"))||f.medium;return q(a,(0,d.kG)(m(c,"model"),Math.ceil(k*j)))}(j,c);default:return j}}function p(a){let b={...l(a)};if(delete b.thinking,delete b.reasoning_effort,delete b.reasoning,b.output_config&&"object"==typeof b.output_config){let a={...l(b.output_config)};delete a.effort,0===Object.keys(a).length?delete b.output_config:b.output_config=a}if(b.generationConfig){let a={...l(b.generationConfig)};delete a.thinking_config,delete a.thinkingConfig,b.generationConfig=a}return b}function q(a,b){let c,e,f={...l(a)};(f.thinking||(c=m(l(f),"model"),!0===(e=(0,d.w8)(c)).supportsThinking||!1!==e.supportsThinking&&(c.includes("claude")||c.includes("o1")||c.includes("o3")||c.includes("o4")||c.includes("gemini")||c.endsWith("-thinking")||c.includes("thinking"))))&&(f.thinking={type:b>0?"enabled":"disabled",budget_tokens:b}),(void 0!==f.reasoning_effort||void 0!==f.reasoning)&&(b<=0?(delete f.reasoning_effort,delete f.reasoning):b<=1024?f.reasoning_effort="low":b<=10240?f.reasoning_effort="medium":b<131072?f.reasoning_effort="high":f.reasoning_effort="xhigh");let g=l(f.generationConfig);return(g.thinking_config||g.thinkingConfig)&&(f.generationConfig={...g,thinking_config:{thinking_budget:b}}),f}},63871:(a,b,c)=>{c.d(b,{K:()=>d});function d(a,b){let c="string"==typeof a?a:"",d="string"==typeof b?b:"";return c?d&&d!==c?d.startsWith(c)?d:c+d:c:d}},71961:(a,b,c)=>{c.d(b,{Ws:()=>aP,Ai:()=>aQ,nZ:()=>aO,kz:()=>j.kz,GH:()=>aM,Y8:()=>aN});var d=c(14170),e=c(12468),f=c(33748);let g=["text","image_url","image","file_url","file","document","input_audio","audio_url"];var h=c(95528),i=c(425),j=c(86871),k=c(3156);function l(a){return"string"!=typeof a?"":a.replace(/^x-anthropic-billing-header:[^\n]*(?:\r?\n)?/i,"")}function m(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"web_search"===a.name&&"string"==typeof a.type&&/^web_search_\d{8}$/.test(a.type)}function n(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean):[]}(0,j.kz)(d.h.CLAUDE,d.h.OPENAI,function(a,b,c,e=null){var f;let g=null!==e&&"object"==typeof e&&!Array.isArray(e)&&!0===e._preserveCacheControl,h={model:a,messages:[],stream:c};if(b.max_tokens&&(h.max_tokens=(0,k.M)(b)),void 0!==b.temperature&&(h.temperature=b.temperature),void 0!==b.top_p&&(h.top_p=b.top_p),void 0!==b.stop_sequences&&(h.stop=b.stop_sequences),b.system){let a=g&&Array.isArray(b.system)&&b.system.some(a=>a&&"object"==typeof a&&void 0!==a.cache_control),c=a?b.system.map(a=>{if("string"==typeof a)return{type:"text",text:l(a)};let b={type:"text",text:l(a&&"object"==typeof a&&a.text||"")};return a&&"object"==typeof a&&void 0!==a.cache_control&&(b.cache_control=a.cache_control),b}):Array.isArray(b.system)?b.system.map(a=>l(a.text||"")).filter(Boolean).join("\n"):l(b.system);(a||c)&&h.messages.push({role:"system",content:c})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a,b=!1){let c="user"===a.role||"tool"===a.role?"user":"assistant";if("string"==typeof a.content)return{role:c,content:a.content};if(Array.isArray(a.content)){let d=[],e=[],f=[],g=null;for(let c of a.content)switch(c.type){case"text":{let a={type:"text",text:c.text};b&&void 0!==c.cache_control&&(a.cache_control=c.cache_control),d.push(a);break}case"image":c.source?.type==="base64"?d.push({type:"image_url",image_url:{url:`data:${c.source.media_type};base64,${c.source.data}`}}):c.source?.type==="url"&&"string"==typeof c.source.url&&d.push({type:"image_url",image_url:{url:c.source.url}});break;case"thinking":g=c.thinking||c.text||"";break;case"redacted_thinking":null==g&&(g="");break;case"tool_use":e.push({id:c.id,type:"function",function:{name:c.name,arguments:"string"==typeof c.input?c.input:JSON.stringify(c.input||{})}});break;case"tool_result":let a="";if("string"==typeof c.content)a=c.content;else if(Array.isArray(c.content)){let b=[],e=!1;for(let a of c.content)"text"===a.type?b.push(a.text):"image"===a.type&&a.source?.type==="base64"&&(d.push({type:"image_url",image_url:{url:`data:${a.source.media_type};base64,${a.source.data}`}}),e=!0);a=b.join("\n")||(e?"[tool returned an image; see attached]":JSON.stringify(c.content))}else c.content&&(a=JSON.stringify(c.content));f.push({role:"tool",tool_call_id:c.tool_use_id,content:a})}if(f.length>0)return d.length>0?[...f,{role:"user",content:1===d.length&&"text"===d[0].type?d[0].text:d}]:f;if(e.length>0){let a={role:"assistant"};return d.length>0&&(a.content=1===d.length&&"text"===d[0].type?d[0].text:d),a.tool_calls=e,null!==g&&(a.reasoning_content=g),a}if(d.length>0){let a={role:c,content:1===d.length&&"text"===d[0].type?d[0].text:d};return null!==g&&"assistant"===c&&(a.reasoning_content=g),a}if(0===a.content.length){let a={role:c,content:""};return null!==g&&"assistant"===c&&(a.reasoning_content=g),a}if(null!==g&&"assistant"===c)return{role:c,content:"",reasoning_content:g}}return null}(b.messages[a],g);c&&(Array.isArray(c)?h.messages.push(...c):h.messages.push(c))}h.messages=function(a){let b=new Map;a.forEach((a,c)=>{if("assistant"===a.role&&Array.isArray(a.tool_calls))for(let d of a.tool_calls)d.id&&!b.has(String(d.id))&&b.set(String(d.id),c)});let c=new Map;for(let d of a){if("tool"!==d.role)continue;let a=String(d.tool_call_id??""),e=b.get(a);if(void 0===e)continue;let f=c.get(e);f||(f=new Map,c.set(e,f)),f.has(a)||f.set(a,d)}let d=[];return a.forEach((a,b)=>{if("tool"!==a.role&&(d.push(a),"assistant"===a.role&&Array.isArray(a.tool_calls))){let e=c.get(b);if(e)for(let b of a.tool_calls){let a=b.id?e.get(String(b.id)):void 0;a&&d.push(a)}}}),d}(h.messages),function(a){for(let b=0;b<a.length;b++){let c=a[b];if("assistant"===c.role&&c.tool_calls&&c.tool_calls.length>0){let d=c.tool_calls.map(a=>a.id),e=new Set,f=b+1;for(let c=b+1;c<a.length;c++){let b=a[c];if("tool"===b.role&&b.tool_call_id)e.add(b.tool_call_id),f=c+1;else break}let g=d.filter(a=>!e.has(a));if(g.length>0){let c=g.map(a=>({role:"tool",tool_call_id:a,content:"[No response received]"}));a.splice(f,0,...c),b=f+c.length-1}}}}(h.messages);let i=null!==e&&"object"==typeof e&&!Array.isArray(e)&&e._targetFormat===d.h.OPENAI_RESPONSES;if(b.tools&&Array.isArray(b.tools)){let a=b.tools.map(a=>{var b;if(i&&m(a)){let b,c,d;return b=n(a.allowed_domains),c=n(a.blocked_domains),d={},b.length>0&&(d.allowed_domains=b),c.length>0&&(d.blocked_domains=c),{type:"web_search",...Object.keys(d).length>0?{filters:d}:{},...a.user_location&&"object"==typeof a.user_location&&!Array.isArray(a.user_location)?{user_location:a.user_location}:{}}}if(!a||"object"!=typeof a||Array.isArray(a))return null;let c="string"==typeof a.name?a.name.trim():"";return c?{type:"function",function:{name:c,description:"string"==typeof a.description?a.description:"",parameters:!(b=a.input_schema)||"object"!=typeof b||Array.isArray(b)?{type:"object",properties:{}}:"object"!==b.type||b.properties?b:{...b,properties:{}}}}:null}).filter(a=>!!a);a.length>0&&(h.tools=a)}b.tool_choice&&(h.tool_choice=function(a,b=!1){if(!a)return"auto";if("string"==typeof a)return a;switch(a.type){case"auto":default:return"auto";case"any":return"required";case"tool":if(b&&"web_search"===a.name)return{type:"web_search"};return{type:"function",function:{name:a.name}}}}(b.tool_choice,i&&Array.isArray(f=b.tools)&&f.some(a=>m(a))));let j=function(a){if("string"!=typeof a)return;let b=a.toLowerCase();return"max"===b?"xhigh":b||void 0}(b.output_config?.effort)||"";if(j)h.reasoning_effort=j;else if(b.thinking?.type==="enabled"&&"number"==typeof b.thinking.budget_tokens){let a=b.thinking.budget_tokens;a<=0||(a<=1024?h.reasoning_effort="low":a<=10240?h.reasoning_effort="medium":a<131072?h.reasoning_effort="high":h.reasoning_effort="xhigh")}return h},null);var o=c(19979);(0,j.kz)(d.h.GEMINI,d.h.OPENAI,function(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,k.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts){if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData||b.inline_data){let a=b.inlineData||b.inline_data,d=a.mimeType||a.mime_type||"image/png";c.push({type:"image_url",image_url:{url:`data:${d};base64,${a.data}`}})}if(b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})}}if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d},null);var p=c(61408),q=c(81167),r=c(4368),s=c(69190),t=c(47593),u=c(90043);function v(a){if("string"==typeof a)return a;try{return JSON.stringify(a??{})}catch{return String(a??"{}")}}let w=new Set(["google_search","web_search","search_web","googleSearch"]);function x(a,b,c,d={}){let e,f={model:a,contents:[],generationConfig:{},safetySettings:b.safetySettings||t.fc},g=new Map,h=a=>(0,u.i)(a,{...d,toolNameMap:g});b.cachedContent&&(f.cachedContent=b.cachedContent),void 0!==b.temperature&&(f.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(f.generationConfig.topP=b.top_p),void 0!==b.top_k&&(f.generationConfig.topK=b.top_k),void 0!==b.stop&&(f.generationConfig.stopSequences=Array.isArray(b.stop)?b.stop:[b.stop]);let i=(0,s.iy)(a,b.max_tokens??b.max_completion_tokens);if(null!==i&&(f.generationConfig.maxOutputTokens=i),b.reasoning_effort){let c=(0,s.kG)(a,32768),d={low:1024,medium:(0,s.d)(a)||8192,high:c,auto:c,max:c,xhigh:c}[b.reasoning_effort]??(0,s.d)(a)??8192;f.generationConfig.thinkingConfig={thinkingBudget:d,includeThoughts:!0}}let j=b.thinking;if(j?.type==="enabled"&&j.budget_tokens&&(f.generationConfig.thinkingConfig={thinkingBudget:j.budget_tokens,includeThoughts:!0}),!f.generationConfig.thinkingConfig){let b=a.toLowerCase();b.includes("gemini")&&!b.includes("gemini-1")&&(!b.includes("gemini-2.0")||b.includes("thinking"))&&(f.generationConfig.thinkingConfig={thinkingBudget:(0,s.d)(a)||(0,s.kG)(a,24576),includeThoughts:!0})}let k={},l=b.messages;if(l&&Array.isArray(l))for(let a of l){let b=a.tool_calls;if("assistant"===a.role&&b)for(let a of b){let b=a.function;"function"===a.type&&a.id&&b?.name&&(k[a.id]=b.name)}}let m={};if(l&&Array.isArray(l))for(let a of l)"tool"===a.role&&a.tool_call_id&&(m[a.tool_call_id]=a.content);if(l&&Array.isArray(l))for(let a of l){let b=a.role,c=a.content;if("system"===b&&l.length>1){let a="string"==typeof c?c:(0,t.kU)(c);a&&(f.systemInstruction?f.systemInstruction.parts.push({text:a}):f.systemInstruction={role:"system",parts:[{text:a}]})}else if("user"===b||"system"===b&&1===l.length){let a=(0,t.S6)(c);a.length>0&&f.contents.push({role:"user",parts:a})}else if("assistant"===b){let b=[];if(a.reasoning_content&&b.push({thought:!0,text:a.reasoning_content}),c){let a="string"==typeof c?c:(0,t.kU)(c);a&&b.push({text:a})}let e=a.tool_calls;if(e&&Array.isArray(e)){var n,o;let a,c=[],g=new Map;for(let b of e){let c=b.id,e=(0,q.n1)((0,q.q)(d.signatureNamespace,c),function(a){if(!a||"object"!=typeof a)return null;let b=a.thoughtSignature||a.thought_signature||a.function?.thoughtSignature||a.function?.thought_signature||null;return"string"==typeof b&&b.length>0?b:null}(b));"string"==typeof e&&e.length>0&&(g.set(c,e),a??=e)}let i=!b.some(a=>a.thoughtSignature),j=d.signaturelessToolCallMode,l="text"===j,p="text"===j||"context"===j;for(let f of e){if("function"!==f.type)continue;let e=f.id,k=f.function;if(!k)continue;let m=g.get(e);if(!d.supportsSignatureBypass){if(m||!p||c.includes(e)||c.push(e),!m&&l){b.push({text:(n=k.name,o=k.arguments||"{}",`[tool_history_call: ${n||"unknown"}] ${v(o||"{}")}`)});continue}if(!m&&"context"===j)continue}let q=(0,t.pT)(k.arguments||"{}"),r=i?a||m:void 0;r&&(i=!1);let s=r||(d.supportsSignatureBypass&&"text"!==j?"skip_thought_signature_validator":void 0);b.push({...s?{thoughtSignature:s}:{},functionCall:{...d.stripFunctionCallId?{}:{id:e},name:h(k.name),args:q}}),(d.supportsSignatureBypass||!p||m)&&c.push(e)}b.length>0&&f.contents.push({role:"model",parts:b});let r=p&&e.some(a=>{let b=a.id;return"function"===a.type&&!g.has(b)&&m[b]});if(c.some(a=>m[a])||r){let a=[];for(let b of c){if(!m[b]||!d.supportsSignatureBypass&&p&&!g.has(b))continue;let c=k[b];if(!c){let a=b.split("-");c=a.length>2?a.slice(0,-2).join("-"):b}c=h(c);let e=m[b],f=(0,t.pT)(e);null===f?f={result:e}:"object"!=typeof f&&(f={result:f}),a.push({functionResponse:{...d.stripFunctionCallId?{}:{id:b},name:c,response:{result:f}}})}if(!d.supportsSignatureBypass&&p)for(let b of e){let c=b.id;if("function"===b.type&&c&&!g.has(c)&&m[c]){let d=b.function,e=k[c]||d?.name||"unknown",f=m[c];a.push({text:"text"===j?`[tool_history_result: ${e||"unknown"}] ${"string"==typeof f?f:v(f)}`:function(a,b){let c=(a||"unknown").replaceAll("&","&amp;").replaceAll('"',"&quot;").replaceAll("<","&lt;").replaceAll(">","&gt;");return[`<previous_tool_result_context source="${c}">`,("string"==typeof b?b:v(b)).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;"),"</previous_tool_result_context>"].join("\n")}(e,f)})}}a.length>0&&f.contents.push({role:"user",parts:a})}}else b.length>0&&f.contents.push({role:"model",parts:b})}}f.contents=function(a){let b=[];for(let c of a){let a=b[b.length-1];a&&a.role===c.role?a.parts.push(...c.parts):b.push({...c,parts:[...c.parts]})}return b}(f.contents??[]);let p=b.tools,r=(0,u.B)(p,{...d,toolNameMap:g}),w=p?.some(a=>{let b=a.function;return"function"===a.type&&(b?.name==="google_search"||b?.name==="googleSearch")});r&&r.length>0?(f.tools=r,w&&f.tools.push({googleSearch:{}}),f.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}):w&&(f.tools=[{googleSearch:{}}]);let y=b.response_format;if(y)if("json_schema"===y.type&&y.json_schema){f.generationConfig.responseMimeType="application/json";let a=y.json_schema.schema||y.json_schema;a&&"object"==typeof a&&(f.generationConfig.responseSchema=(0,t.Yr)(a))}else"json_object"===y.type?f.generationConfig.responseMimeType="application/json":"text"===y.type&&(f.generationConfig.responseMimeType="text/plain");let z=(e=[...g.entries()].filter(([a,b])=>a!==b)).length>0?new Map(e):null;return z&&(f._toolNameMap=z),!function a(b,c=0){if(!(c>10)&&b&&"object"==typeof b)if(Array.isArray(b))for(let d of b)a(d,c+1);else for(let d of Object.keys(b)){let e=b[d];"string"==typeof e&&"[undefined]"===e?delete b[d]:a(e,c+1)}}(f),f}(0,j.kz)(d.h.OPENAI,d.h.GEMINI,(a,b,c=!1,d=null)=>(function(a,b,c,d=null,e={}){var f;return x(a,b,c,{signatureNamespace:d&&"string"==typeof d._signatureNamespace?d._signatureNamespace:null,signaturelessToolCallMode:e.signaturelessToolCallMode,stripFunctionCallId:"vertex"===(f=d?._provider)||"vertex-partner"===f})})(a,b,c,d,{signaturelessToolCallMode:"context"}),null),(0,j.kz)(d.h.OPENAI,d.h.ANTIGRAVITY,function(a,b,c,d=null){let e,f=a.toLowerCase().includes("claude"),g=a.toLowerCase(),h=!f&&(g.includes("thinking")||g.includes("gemini-3")||g.includes("gemini-2.5")||g.includes("gemini-pro")),i=function(a,b,c,d={}){return x(a,b,c,{stripNamespace:!0,signatureNamespace:d.signatureNamespace,signaturelessToolCallMode:d.signaturelessToolCallMode,supportsSignatureBypass:!0})}(a,b,c,{signatureNamespace:d&&"object"==typeof d&&"string"==typeof d._signatureNamespace?d._signatureNamespace:null,signaturelessToolCallMode:h?"context":"native"});f&&(i.generationConfig.maxOutputTokens="number"==typeof(e=b.max_tokens??b.max_completion_tokens)&&Number.isFinite(e)&&e>=1?Math.min(Math.floor(e),16384):16384);let j=function(a,b,c=null){let d,e,f,g=c?.providerSpecificData?.projectId,h=c?.projectId||("string"==typeof g?g:"");h||(console.warn("[OmniRoute] Antigravity account is missing projectId. Attempting request with empty project — reconnect OAuth to resolve."),h="");let i=a.includes("/")?a.split("/").pop():a,j={project:h,requestId:(0,r.Ep)(),request:{sessionId:(0,r.a0)(c),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:(void 0===(d={...b.generationConfig}).topK&&(d.topK=40),void 0===d.topP&&(d.topP=1),e=Number(d.thinkingConfig?.thinkingBudget),f=Number(d.maxOutputTokens),Number.isFinite(e)&&e>0&&(!Number.isFinite(f)||f<=e)&&(d.maxOutputTokens=Math.floor(e)+1),d),tools:b.tools},model:i,userAgent:(0,r.Xv)(c),requestType:"agent",enabledCreditTypes:["GOOGLE_ONE_AI"]};b._toolNameMap instanceof Map&&b._toolNameMap.size>0&&(j._toolNameMap=b._toolNameMap);let k={text:p.$V};if(j.request.systemInstruction?.parts?j.request.systemInstruction.parts.unshift(k):j.request.systemInstruction={role:"system",parts:[k]},j.request.tools&&j.request.tools.length>0){let a=j.request.tools.map(a=>{if(!Array.isArray(a.functionDeclarations))return a;let b=a.functionDeclarations.filter(a=>!w.has(a.name));return{...a,functionDeclarations:b}}).filter(a=>!Array.isArray(a.functionDeclarations)||a.functionDeclarations.length>0);j.request.tools=a.length>0?a:void 0}return j.request.tools?.some(a=>(a.functionDeclarations?.length??0)>0)&&(j.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),j}(a,i,d),k=b.max_tokens??b.max_completion_tokens,l=!!j.request?.generationConfig?.thinkingConfig?.thinkingBudget;return void 0===k&&!l&&j.request?.generationConfig&&delete j.request.generationConfig.maxOutputTokens,f&&j.request?.generationConfig&&delete j.request.generationConfig.thinkingConfig,j},null);let y=new Set(["$schema","$defs","definitions","$ref","$comment","const","additionalProperties","propertyNames","patternProperties","title"]);(0,j.kz)(d.h.ANTIGRAVITY,d.h.OPENAI,function(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens){let b={max_tokens:a.maxOutputTokens,tools:d.tools};e.max_tokens=(0,k.M)(b)}if(void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=a.thinkingConfig.thinkingBudget||0;b>0&&(b<=2048?e.reasoning_effort="low":b<=16384?e.reasoning_effort="medium":e.reasoning_effort="high")}}if(d.systemInstruction){var f;let a="string"==typeof(f=d.systemInstruction)?f:f.parts&&Array.isArray(f.parts)?f.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:"system",content:a})}if(d.contents&&Array.isArray(d.contents))for(let a of d.contents){let b=function(a){let b="model"===a.role?"assistant":"user"===a.role?"user":a.role;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[],e=[],f="";for(let b of a.parts){if(!0===b.thought&&b.text){f+=b.text;continue}if(b.thoughtSignature&&void 0!==b.text){c.push({type:"text",text:b.text});continue}void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse&&e.push({role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})})}if(e.length>0)return e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a.tool_calls=d,a}if(c.length>0||f){let a={role:b};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a}return null}(a);b&&(Array.isArray(b)?e.messages.push(...b):e.messages.push(b))}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:function(a){if(!a||"object"!=typeof a)return a;let b=function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),delete c.enumDescriptions,c.properties&&"object"==typeof c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(structuredClone(a));return function a(b){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let c of b)a(c);return}for(let a of Object.keys(b))(y.has(a)||a.startsWith("x-"))&&delete b[a];for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(b),function a(b){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let c of b)a(c);return}if(Array.isArray(b.required)&&b.properties&&"object"==typeof b.properties){let a=b.properties,c=b.required.filter(b=>"string"==typeof b&&Object.prototype.hasOwnProperty.call(a,b));0===c.length?delete b.required:b.required=c}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(b),b}(b.parameters)||{type:"object",properties:{}}}})}return e},null);var z=c(96303),A=c(56868);let B="_omnirouteResponsesStore",C=/^web_search/,D=/^tool_search/,E=/^image_generation/,F=new Set(["low","medium","high"]);function G(a){if("string"!=typeof a)return;let b=a.toLowerCase();return F.has(b)?b:void 0}function H(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function I(a){return a.length>64?a.slice(0,64):a}function J(a){return Array.isArray(a)?a:[]}function K(a,b=""){return"string"==typeof a?a:b}function L(a){let b=K(a).toLowerCase();return"max"===b?"xhigh":b}function M(a){let b=Error(a);return b.statusCode=400,b.errorType="unsupported_feature",b}(0,j.kz)(d.h.OPENAI_RESPONSES,d.h.OPENAI,function(a,b,c,d){let e=H(b);if(void 0===e.input)return b;let f=H(d),g=(0,z.pn)(f.providerSpecificData),h=J(e.tools);if(h.length>0)for(let a of h){let b=H(a),c=K(b.type);if(c&&"function"!==c&&"custom"!==c&&"command"!==c&&"namespace"!==c&&"local_shell"!==c&&!C.test(c)&&!D.test(c)&&!E.test(c)&&!b.function)throw M(`Unsupported Responses API feature: ${c} tool type is not supported by omniroute`)}let i={...e},j=G(H(i.text).verbosity);if(j&&(i.verbosity=j),delete i.text,!0===i.background){let b=K(f.provider),c=K(a);console.warn(`BACKGROUND_DEGRADE provider=${b||"unknown"} model=${c||"unknown"}`)}void 0!==i.background&&delete i.background;let k=[];i.messages=k,"string"==typeof e.instructions&&e.instructions.length>0&&k.push({role:"system",content:e.instructions});let l=null,m=[],n=(0,A.f)(e.input);for(let a of 0===n.length?[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]:n){let b=H(a),c=K(b.type)||(b.role?"message":"");if("message"===c){if(l&&(k.push(l),l=null),m.length>0){for(let a of m)k.push(a);m=[]}let a=Array.isArray(b.content)?b.content.map(a=>{let b=H(a);if("input_text"===b.type||"output_text"===b.type)return{type:"text",text:K(b.text)};if("input_image"===b.type){let a={type:"image_url",image_url:{url:K(b.image_url)}};return void 0!==b.detail&&(a.image_url.detail=b.detail),a}if("input_file"===b.type){let a={};return void 0!==b.file_data&&(a.file_data=b.file_data),void 0!==b.file_id&&(a.file_id=b.file_id),void 0!==b.file_url&&(a.file_url=b.file_url),void 0!==b.filename&&(a.filename=b.filename),{type:"file",file:a}}return a}):b.content;k.push({role:K(b.role),content:a});continue}if("function_call"===c){let a=K(b.name).trim();if(!a||!K(b.call_id).trim())continue;l||(l={role:"assistant",content:null,tool_calls:[]});let c=Array.isArray(l.tool_calls)?l.tool_calls:[];c.push({id:K(b.call_id),type:"function",function:{name:a,arguments:"string"==typeof b.arguments?b.arguments:JSON.stringify(b.arguments??{})}}),l.tool_calls=c;continue}if("function_call_output"===c){if(l&&(k.push(l),l=null),m.length>0){for(let a of m)k.push(a);m=[]}k.push({role:"tool",tool_call_id:K(b.call_id),content:"string"==typeof b.output?b.output:JSON.stringify(b.output)});continue}if("custom_tool_call"===c){let a=K(b.name).trim();if(!a)continue;l||(l={role:"assistant",content:null,tool_calls:[]});let c=Array.isArray(l.tool_calls)?l.tool_calls:[];c.push({id:K(b.call_id),type:"function",function:{name:a,arguments:JSON.stringify({input:b.input})}}),l.tool_calls=c;continue}if("custom_tool_call_output"===c){if(l&&(k.push(l),l=null),m.length>0){for(let a of m)k.push(a);m=[]}let a="string"==typeof b.output?b.output:JSON.stringify(b.output),c=a;try{let b=JSON.parse(a);b&&"string"==typeof b.output&&(c=b.output)}catch{}k.push({role:"tool",tool_call_id:K(b.call_id),content:c});continue}if("reasoning"===c)continue}if(l&&k.push(l),m.length>0)for(let a of m)k.push(a);Array.isArray(e.tools)&&(i.tools=e.tools.filter(a=>{let b=K(H(a).type);return!D.test(b)&&!E.test(b)}).flatMap(a=>{let b=H(a);if(b.function)return a;let c=K(b.type);if("namespace"===c)return(Array.isArray(b.tools)?b.tools:[]).map(a=>H(a)).filter(a=>K(a.name)).map(a=>({type:"function",function:{name:K(a.name),description:K(a.description),parameters:a.parameters??a.input_schema??{type:"object",properties:{}}}}));if(C.test(c))return a;if("local_shell"===c)return{type:"function",function:{name:"shell",description:"Run a shell command and return its output.",parameters:{type:"object",properties:{command:{type:"array",items:{type:"string"},description:"Command and arguments to execute."},workdir:{type:"string",description:"Working directory."},timeout_ms:{type:"number",description:"Timeout in milliseconds."}},required:["command"]}}};let d=b.name;return"string"!=typeof d||""===d.trim()?[]:"custom"===c?{type:"function",function:{name:K(b.name),description:K(b.description),parameters:{type:"object",properties:{input:{type:"string"}},required:["input"],additionalProperties:!1},strict:b.strict}}:{type:"function",function:{name:d,description:K(b.description),parameters:b.parameters,strict:b.strict}}}));let o=new Set;for(let a of k){let b=H(a);if(Array.isArray(b.tool_calls))for(let a of b.tool_calls)a.id&&o.add(String(a.id))}if(i.messages=k.filter(a=>{let b=H(a);return"tool"!==b.role||o.has(String(b.tool_call_id??""))}),i.tool_choice&&"object"==typeof i.tool_choice&&!Array.isArray(i.tool_choice)){let a=H(i.tool_choice),b=K(a.type);if("function"!==b||void 0===a.name||a.function){if("local_shell"===b)i.tool_choice={type:"function",function:{name:"shell"}};else if(b&&"function"!==b&&"allowed_tools"!==b)throw M(`Unsupported Responses API feature: tool_choice type '${b}' is not supported by omniroute`)}else i.tool_choice={type:"function",function:{name:a.name}}}if(delete i.input,delete i.instructions,delete i.include,g&&void 0!==e.store&&(i[B]=e.store),delete i.store,e.reasoning&&"object"==typeof e.reasoning&&!Array.isArray(e.reasoning)){let a,b=H(e.reasoning),c=K(b.effort);c&&void 0===i.reasoning_effort&&(i.reasoning_effort=L(c)),!0===f._copilotClient&&(a=K(b.summary).toLowerCase())&&"off"!==a&&"none"!==a&&"disabled"!==a&&(i._omnirouteCopilotReasoningSummary="summarized")}return delete i.reasoning,delete i.safety_identifier,delete i.client_metadata,i},null),(0,j.kz)(d.h.OPENAI,d.h.OPENAI_RESPONSES,function(a,b,c,d){let f=H(b),g=H(d),h=(0,z.pn)(g.providerSpecificData),i={model:a,input:[],stream:!0};h||(i.store=!1);let j=i.input,k=!1;for(let a of J(f.messages)){let b=H(a),c=K(b.role);if("system"===c||"developer"===c){k||(i.instructions="string"==typeof b.content?b.content:"",k=!0);continue}if("user"===c){let a="string"==typeof b.content?[{type:"input_text",text:b.content}]:Array.isArray(b.content)?b.content.map(a=>{let b=H(a);if("text"===b.type)return{type:"input_text",text:K(b.text)};if("image_url"===b.type){let a=b.image_url,c={type:"input_image",image_url:"string"==typeof a?a:a?.url||""};return"object"==typeof a&&a?.detail!==void 0&&(c.detail=a.detail),c}if("image"===b.type&&"string"==typeof b.image&&/^data:([^;]+);base64,(.+)$/.test(b.image))return{type:"input_image",image_url:b.image,detail:void 0!==b.detail?b.detail:"auto"};if("file"===b.type||"document"===b.type){let a=H("document"===b.type?b.document:b.file),c={type:"input_file"};return void 0!==a.file_data?c.file_data=a.file_data:void 0!==a.data&&(c.file_data=a.data),void 0!==a.file_id&&(c.file_id=a.file_id),void 0!==a.file_url?c.file_url=a.file_url:void 0!==a.url&&(c.file_url=a.url),void 0!==a.filename?c.filename=a.filename:void 0!==a.name&&(c.filename=a.name),c}return a}):[{type:"input_text",text:""}];j.push({type:"message",role:"user",content:a})}if("assistant"===c){let a=[];if("string"==typeof b.content&&b.content)a.push({type:"output_text",text:b.content});else if(Array.isArray(b.content))for(let c of b.content){let b=H(c);if("text"===b.type)a.push({type:"output_text",text:K(b.text)});else if("image_url"===b.type){var l;let c="string"==typeof(l=b.image_url)?l:K(H(l).url);a.push({type:"output_text",text:c?`[Image: ${c}]`:"[Image]"})}else{if("thinking"===b.type||"redacted_thinking"===b.type)continue;a.push(c)}}if(a.length>0&&j.push({type:"message",role:"assistant",content:a}),Array.isArray(b.tool_calls))for(let a of b.tool_calls){let b=H(a),c=H(b.function),d=K(c.name).trim();d&&j.push({type:"function_call",call_id:I(K(b.id).trim()||(0,e.J4)()),name:d,arguments:K(c.arguments,"{}")})}if(b.function_call&&!b.tool_calls){let a=H(b.function_call),c=K(a.name).trim();c&&j.push({type:"function_call",call_id:I(`call_${c}`),name:c,arguments:K(a.arguments,"{}")})}}"tool"===c&&j.push({type:"function_call_output",call_id:I(K(b.tool_call_id)),output:"string"==typeof b.content?b.content:Array.isArray(b.content)?b.content.map(a=>{let b=H(a);return"text"===b.type?{type:"input_text",text:K(b.text)}:a}):String(b.content??"")}),"function"===c&&j.push({type:"function_call_output",call_id:I(`call_${K(b.name)}`),output:"string"==typeof b.content?b.content:String(b.content??"")})}let m=new Set(j.filter(a=>"function_call"===a.type&&a.call_id).map(a=>a.call_id));if(i.input=j.filter(a=>"function_call_output"!==a.type||!a.call_id||m.has(a.call_id)),k||(i.instructions=""),Array.isArray(f.tools)&&(i.tools=f.tools.map(a=>{let b=H(a);if("function"===b.type){let a=H(b.function);return{type:"function",name:K(a.name),description:K(a.description),parameters:a.parameters,strict:a.strict}}return a})),void 0!==f.tool_choice)if("string"==typeof f.tool_choice)i.tool_choice=f.tool_choice;else if("object"!=typeof f.tool_choice||Array.isArray(f.tool_choice))i.tool_choice=f.tool_choice;else{let a=H(f.tool_choice);"function"===a.type&&a.function?i.tool_choice={type:"function",name:H(a.function).name}:i.tool_choice=f.tool_choice}void 0!==f.previous_response_id&&(i.previous_response_id=f.previous_response_id),void 0!==f.prompt_cache_key&&(i.prompt_cache_key=f.prompt_cache_key),void 0!==f.session_id&&(i.session_id=f.session_id),void 0!==f.conversation_id&&(i.conversation_id=f.conversation_id),void 0!==f.service_tier&&(i.service_tier=f.service_tier),void 0!==f.temperature&&(i.temperature=f.temperature),void 0!==f.max_completion_tokens?i.max_output_tokens=f.max_completion_tokens:void 0!==f.max_tokens&&(i.max_output_tokens=f.max_tokens),void 0!==f.top_p&&(i.top_p=f.top_p);let n=G(f.verbosity);if(n&&(i.text={...H(i.text),verbosity:n}),void 0!==f.reasoning)i.reasoning=f.reasoning;else if(void 0!==f.reasoning_effort){let a=L(f.reasoning_effort);a&&(i.reasoning={effort:a})}return Array.isArray(f.include)&&f.include.length>0&&(i.include=f.include),h&&(void 0!==f[B]?i.store=f[B]:void 0!==f.store&&(i.store=f.store)),i},null);var N=c(85081),O=c(94755);function P(a){if(a&&"object"==typeof a&&!Array.isArray(a))return a;if("string"!=typeof a)return{};let b=a.trim();if(!b)return{};try{let a=JSON.parse(b);return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}catch{return{}}}function Q(a){if(!a||"object"!=typeof a||Array.isArray(a))return{type:"object",properties:{}};let b={};for(let[c,d]of Object.entries(a))if((!("required"===c&&Array.isArray(d))||0!==d.length)&&"additionalProperties"!==c)if("properties"!==c||"object"!=typeof d||null===d||Array.isArray(d))"object"!=typeof d||null===d||Array.isArray(d)?Array.isArray(d)?b[c]=d.map(a=>"object"!=typeof a||null===a||Array.isArray(a)?a:Q(a)):b[c]=d:b[c]=Q(d);else{let a={};for(let[b,c]of Object.entries(d))a[b]=Q(c);b[c]=a}return b}function R(a){if("string"==typeof a)return a||"(no output)";if(!Array.isArray(a)){if(null!=a)try{return JSON.stringify(a)}catch{}return"(no output)"}let b=[];for(let c of a)if(c&&"object"==typeof c)if("text"===c.type&&"string"==typeof c.text)c.text&&b.push(c.text);else if("image"===c.type||"image_url"===c.type){let a=c.source,d=a?.media_type??c.media_type??"image";b.push(`[image: ${d}]`)}else try{let a=JSON.stringify(c);a&&"{}"!==a&&b.push(a)}catch{}return b.join("\n")||"(no output)"}function S(a){return"string"==typeof a?a.split("\n")[0]:""}function T(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join(""):""}function U(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function V(a,b,c){let d=(c||"").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"");return`<tool_result>
5
+ Respond ONLY with the JSON object, no other text.`)}else"json_object"===a.type&&v.push("You must respond with valid JSON. Respond ONLY with a JSON object, no other text.")}if(v.length>0){let a={type:"text",text:v.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}};Array.isArray(b.system)?t.system=[...b.system,a]:"string"==typeof b.system&&b.system.length>0?t.system=[{type:"text",text:b.system},a]:t.system=[a]}else b.system&&(t.system=Array.isArray(b.system)?b.system:[{type:"text",text:String(b.system)}]);if(b.thinking)t.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}};else if(b.reasoning_effort){let c=String(b.reasoning_effort).toLowerCase(),d=("max"!==c||(0,f.xO)(a))&&("xhigh"!==c||(0,f.j$)("claude",a))?c:"high";if((0,l.dE)(a))m.has(d)&&(t.thinking={type:"adaptive"},t.output_config={...t.output_config||{},effort:d});else if("max"===d||"xhigh"===d)t.thinking={type:"adaptive"},t.output_config={...t.output_config||{},effort:d};else{let a={low:1024,medium:10240,high:131072,max:131072}[d];void 0!==a&&a>0&&(t.thinking={type:"enabled",budget_tokens:a})}}let w=function(a,b,c){let d=function(a){try{let b=(0,k.iy)(a);return"number"==typeof b&&b>0?b:null}catch{return null}}(a),e=Number(c?.budget_tokens)||0;if(!c||e<=0)return{maxTokens:null===d?Math.max(b,1):Math.min(Math.max(b,1),d),thinking:c};let f=Math.max(b,1024),g=null===d?f+e:Math.min(f+e,d),h=g-f;if(h<1024&&f>1024&&(f=1024,h=(g=null===d?f+e:Math.min(f+e,d))-f),h<1024)return{maxTokens:d??Math.max(b,1),thinking:void 0};let i={...c};return h<e&&(i.budget_tokens=h),{maxTokens:g,thinking:i}}(a,Number(t.max_tokens)||0,t.thinking);return(t.max_tokens=w.maxTokens,void 0===w.thinking)?delete t.thinking:(e=w.thinking,t.thinking=e&&b?.[o]==="summarized"&&"disabled"!==e.type?{...e,display:"summarized"}:e),delete t[o],t.thinking&&void 0!==t.temperature&&delete t.temperature,s.size>0&&(t._toolNameMap=s),0===t.messages.length&&t.messages.push({role:"user",content:[{type:"text",text:"."}]}),t},null)},23874:(a,b,c)=>{c.d(b,{U:()=>g,f:()=>f});let d=new Set(["stop","length","tool_calls","content_filter","function_call"]),e=new Set(["safety","recitation","blocklist","prohibited_content","content_filtered","policy_violation"]);function f(a){if("string"!=typeof a)return a;let b=a.toLowerCase();return d.has(b)?b:"max_tokens"===b?"length":e.has(b)?"content_filter":b}function g(a,b="stop"){let c=f(a);return"string"==typeof c&&c?c:b}},24286:(a,b,c)=>{c.d(b,{dE:()=>e,js:()=>d,mU:()=>f});let d=()=>null,e=()=>!1,f=a=>a},28638:(a,b,c)=>{c.d(b,{Hy:()=>g,W6:()=>l});var d=c(5960);let e=["github.com/open-webui/open-webui","openwebui.com","docs.openwebui.com"],f=["You are Open WebUI"],g="claude",h="anthropic-compatible-cc",i={providers:{[g]:{enabled:!0,pipeline:[{kind:"drop_paragraph_if_contains",needles:[...d.Nu,...e,"@earendil-works/pi-coding-agent","/.pi/","Pi documentation (read only when the user asks about pi itself"]},{kind:"drop_paragraph_if_starts_with",prefixes:[...d.gK,...f]},...d.I1.map(a=>({kind:"replace_text",match:a.match,replacement:a.replacement,allOccurrences:!0})),{kind:"obfuscate_words",words:["opencode","open-code","cline","roo-cline","roo_cline","cursor","windsurf","aider","continue.dev","copilot","avante","codecompanion","openwebui","open-webui"],targets:["system","messages","tools"]}]},[h]:{enabled:!0,pipeline:[{kind:"drop_paragraph_if_contains",needles:[...e]},{kind:"drop_paragraph_if_starts_with",prefixes:[...f]},{kind:"obfuscate_words",words:["openwebui","open-webui"],targets:["system","messages","tools"]},...d.e7]}}},j=new Map;function k(a,b){if(!a||0===b.length)return a;let c=a;for(let a of b){if(!a)continue;let b=function(a){let b=j.get(a);return b||(j.size>2e3&&j.clear(),b=RegExp(a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"gi"),j.set(a,b)),b}(a);c=c.replace(b,a=>a.length<=1?a:a[0]+"‍"+a.slice(1))}return c}function l(a,b,c=(n[m]||(n[m]=i),n[m])){if(!b||"object"!=typeof b||!c||!c.providers)return{body:b,appliedOpKinds:[]};let e=function(a,b){if(!a)return;let c=b.providers[a];return c||(a.startsWith(`${h}-`)||a===h?b.providers[h]:void 0)}(a,c);return e&&e.enabled?function(a,b){if(!a||"object"!=typeof a||!Array.isArray(b)||0===b.length)return{body:a,appliedOpKinds:[]};let c=[],e=[],f=()=>{if(0===e.length)return;let b={enabled:!0,pipeline:e},f=(0,d.a3)(a,b);c.push(...f.appliedOpKinds),e=[]};for(let d of b)"obfuscate_words"===d.kind?(f(),function(a,b){let c=b.words||[];if(0===c.length)return;let d=b.targets&&b.targets.length>0?b.targets:["system","messages","tools"];if(d.includes("system")){if("string"==typeof a.system)a.system=k(a.system,c);else if(Array.isArray(a.system))for(let b of a.system)"string"==typeof b.text&&(b.text=k(b.text,c))}if(d.includes("messages")&&Array.isArray(a.messages))for(let b of a.messages){let a=b.content;if("string"==typeof a)b.content=k(a,c);else if(Array.isArray(a))for(let b of a)"string"==typeof b.text&&(b.text=k(b.text,c))}if(d.includes("tools")&&Array.isArray(a.tools))for(let b of a.tools){"string"==typeof b.description&&(b.description=k(b.description,c));let a=b.function;a&&"string"==typeof a.description&&(a.description=k(a.description,c))}}(a,d),c.push(d.kind)):e.push(d);return f(),{body:a,appliedOpKinds:c}}(b,e.pipeline):{body:b,appliedOpKinds:[]}}let m="__omniroute_systemTransforms_config__",n=globalThis},31252:(a,b,c)=>{function d(a){if(!a.startsWith("[Tool call:"))return!1;let b=a.indexOf("]");if(-1===b){let b=a.slice(11);return!(b.includes("\n")||b.includes("["))}let c=a.slice(11,b);if(c.includes("\n")||0===c.trim().length)return!1;let d=a.slice(b+1),e=d.match(/^[\s\r\n]*/),f=e?e[0]:"",g=d.slice(f.length);if(0===g.length)return!0;if(!f.includes("\n"))return!1;let h="Arguments:";return!!(h.startsWith(g)||g.startsWith(h))}function e(a){if("string"!=typeof a)return null;let b=a.replace(/[\u200B-\u200D\uFEFF]/g,""),c=b.lastIndexOf("[Tool call:");if(c<0){let a=b.lastIndexOf("(");if(-1!==a&&"(empty)[Tool call:".startsWith(b.slice(a)))return{kind:"partial"};let c=b.lastIndexOf("[");return -1!==c&&"[Tool call:".startsWith(b.slice(c))?{kind:"partial"}:null}let e=b.slice(c);if(!d(e))return null;let f=e.match(/^\[Tool call:\s*([^\]\n]+)\]\s*\nArguments:\s*/);if(!f)return{kind:"partial"};let g=f[1]?.trim(),h=e.slice(f[0].length).trim();if(!g||!h)return{kind:"partial"};for(let a of[a=>a,a=>{if(a.startsWith('"')&&a.endsWith('"')){let b=JSON.parse(a);return"string"==typeof b?b:a}return a}])try{let b=a(h),c=JSON.parse(b);return{kind:"complete",name:g,args:function a(b){return"string"==typeof b?b.replace(/[\u200B-\u200D\uFEFF]/g,""):Array.isArray(b)?b.map(b=>a(b)):b&&"object"==typeof b?Object.fromEntries(Object.entries(b).map(([b,c])=>[b,a(c)])):b}(c)}}catch{}return{kind:"partial"}}function f(a){if("string"!=typeof a)return!1;let b=a.replace(/[\u200B-\u200D\uFEFF]/g,"");if(!b.includes("[Tool call:"))return!1;if(b.includes("Arguments:"))return!0;let c=b.trim();return c.startsWith("[Tool call:")||c.startsWith("(empty)[Tool call:")}c.d(b,{IG:()=>d,eN:()=>e,vE:()=>f})},32709:(a,b,c)=>{let d,e;c.d(b,{W:()=>o,RO:()=>p,b:()=>q,mw:()=>i});let f=new Set(["deepseek","opencode-go","siliconflow","nebius","deepinfra","sambanova","fireworks","together","xiaomi-mimo"]),g=[/deepseek-r1/i,/deepseek-reasoner/i,/deepseek-chat/i,/deepseek[-/]v4[-.](flash|pro)(-free)?/i,/zen\/deepseek-v4/i,/kimi-k2/i,/qwq/i,/qwen.*think/i,/glm.*think/i,/^mimo[-.]?v\d/i],h=/deepseek[-/]v4[-.](flash|pro)/i;function i(a){let b=a.provider.trim().toLowerCase(),c=a.model.trim(),d="string"==typeof a.interleavedField?a.interleavedField.trim().toLowerCase():"";return"reasoning_content"===d||!("reasoning_details"===d||/deepseek-reasoner/i.test(c)||/deepseek-r1/i.test(c))&&(!!(!0===a.thinkingEnabled&&h.test(a.model))||!1!==a.allowLegacyFallback&&(!!f.has(b)||g.some(a=>a.test(c))))}let j=new Map,k=0,l=0,m=0;function n(a,b,c,d){if(!a||!d)return;d.length>1e4&&(d=d.slice(0,1e4));let e=Date.now();j.size>=200&&function(){let a=null,b=1/0;for(let[c,d]of j)d.createdAt<b&&(b=d.createdAt,a=c);a&&j.delete(a)}(),j.set(a,{reasoning:d,provider:b,model:c,expiresAt:e+72e5,createdAt:e})}function o(a,b,c,d){if(!a||"assistant"!==a.role)return 0;let e="string"==typeof a.reasoning_content&&a.reasoning_content.length>0?a.reasoning_content:"string"==typeof a.reasoning&&a.reasoning.length>0?a.reasoning:"";if(!e)return 0;let f=Array.isArray(a.tool_calls)?a.tool_calls.map(a=>"string"==typeof a.id?a.id:"").filter(a=>a.length>0):[];if(0===f.length){let a=d?.requestId?.trim(),f=d?.messageIndex;return a&&"number"==typeof f&&Number.isInteger(f)?(n(`request:${a}:message:${f}`,b,c,e),1):0}for(let a of f)a&&n(a,b,c,e);return f.length}function p(a){if(!a)return l++,null;let b=j.get(a);if(b){if(Date.now()<b.expiresAt)return k++,b.reasoning;j.delete(a)}let c=null;try{c=null}catch{}if(c){k++;let b=c.reasoning;return b.length>1e4&&(b=b.slice(0,1e4)),j.set(a,{reasoning:b,provider:c.provider,model:c.model,expiresAt:Date.now()+72e5,createdAt:Date.now()}),b}return l++,null}function q(){m++}function r(){let a=Date.now();for(let[b,c]of j)a>=c.expiresAt&&j.delete(b);try{return 0}catch{return 0}}try{let a=r();a>0&&console.log(`[ReasoningCache] boot cleanup removed ${a} expired entries`)}catch(a){console.error("[ReasoningCache] boot cleanup failed:",a)}let s=setInterval(()=>{try{let a=r();a>0&&console.log(`[ReasoningCache] periodic cleanup removed ${a} expired entries`)}catch(a){console.error("[ReasoningCache] periodic cleanup failed:",a)}},Number.isFinite(e=(d=process.env.OMNIROUTE_REASONING_CACHE_CLEANUP_INTERVAL_MS)?Number(d):NaN)&&e>=6e4?e:18e5);s.unref?.()},33748:(a,b,c)=>{c.d(b,{A_:()=>h,Bz:()=>l,NI:()=>i});var d=c(96281),e=c(32709),f=c(57247);let g=new Set(["minimax","minimax-cn"]),h="(prior reasoning summary unavailable)";function i(a){if(!Array.isArray(a)||0===a.length)return a;let b=[],c=new Set,d=a=>{for(let b of a)b?.type==="tool_use"&&"string"==typeof b.id&&c.add(b.id)};for(let e of a){if("assistant"!==e.role||!Array.isArray(e.content)){b.push(e);continue}let a=e.content.filter(a=>a?.type==="tool_result");if(0===a.length){b.push(e),d(e.content);continue}let f=a.filter(a=>"string"==typeof a?.tool_use_id&&c.has(a.tool_use_id)),g=e.content.filter(a=>a?.type!=="tool_result");if(f.length>0){let a=b[b.length-1];a&&"user"===a.role&&Array.isArray(a.content)?b[b.length-1]={...a,content:[...a.content,...f]}:b.push({role:"user",content:f})}g.length>0&&(b.push({...e,content:g}),d(g))}return b}function j(a){return Array.isArray(a?.content)?a.content:"string"==typeof a?.content&&a.content.trim()?(a.content=[{type:"text",text:a.content}],a.content):[]}function k(a,b){let c=j(a);if(0===c.length)return!1;let d=c.length-1;return c[d].cache_control=void 0!==b?{type:"ephemeral",ttl:b}:{type:"ephemeral"},!0}function l(a,b=null,c=!1,m=null){b&&g.has(b)&&delete a.output_config;let n="claude"===b||b?.startsWith?.("anthropic-compatible-"),o=!!b&&!!m&&"claude"===(0,f.ux)(b,m),p=n||o,q=a.system;if(q&&Array.isArray(q)&&!c&&(a.system=q.map((a,b)=>{let{cache_control:c,...d}=a;return b===q.length-1&&n?{...d,cache_control:{type:"ephemeral",ttl:"1h"}}:d})),a.messages&&Array.isArray(a.messages)){let f=a.messages.length,g=[];for(let b=0;b<f;b++){let d=a.messages[b];if(Array.isArray(d.content)&&!c)for(let a of d.content)delete a.cache_control;(b===f-1&&"assistant"===d.role||"string"==typeof d.content&&d.content.trim()||Array.isArray(d.content)&&d.content.some(a=>"text"===a.type&&a.text?.trim()||"tool_use"===a.type||"tool_result"===a.type))&&g.push(d)}for(let a of g)Array.isArray(a.content)&&(a.content=a.content.filter(a=>"tool_use"!==a.type||a.name&&a.name?.trim()),a.content=a.content.filter(a=>"tool_result"!==a.type||a.tool_use_id));a.tools&&Array.isArray(a.tools)&&"claude"!==b&&(a.tools=a.tools.filter(a=>!a.type||"function"===a.type).map(a=>{if(a.function)return{name:a.function.name,description:a.function.description,input_schema:a.function.parameters};let{type:b,...c}=a;return c})),a.tools&&Array.isArray(a.tools)&&(a.tools=a.tools.filter(a=>a.name&&a.name?.trim())),a.messages=g=function(a){if(a.length<=1)return a;for(let b of a)if("assistant"===b.role&&Array.isArray(b.content)&&b.content.some(a=>"tool_use"===a.type)){let a=[],c=!1;for(let d of b.content)"tool_use"===d.type?(c=!0,a.push(d)):"thinking"===d.type||"redacted_thinking"===d.type?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:"text",text:a.content}],d=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else{let a=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(g=i(g));let l=g[g.length-1],m=l?.role==="user",o=a.thinking?.type==="enabled"&&m;if(!c&&n){let a=g.reduce((a,b,c)=>(b?.role==="user"&&a.push(c),a),[]),b=a.length>=2?a[a.length-2]:-1;b>=0&&k(g[b])}let q=-1;for(let a=g.length-1;a>=0;a--)if(g[a]?.role==="assistant"){q=a;break}let r=!1;for(let a=g.length-1;a>=0;a--){let b=g[a],f=j(b);if("assistant"===b.role&&f.length>0){!c&&n&&!r&&k(b)&&(r=!0);let g=a===q&&f.some(a=>"thinking"===a.type||"redacted_thinking"===a.type);if(g&&p)continue;let i=!1,j=!1,l=[];if(!p)for(let a of f)"tool_use"===a.type&&"string"==typeof a.id&&l.push(a.id);let m=0;for(let a of f){if("thinking"===a.type||"redacted_thinking"===a.type){if(p)a.type="redacted_thinking",a.data=d.xr,delete a.thinking,delete a.signature;else{let b="string"==typeof a.thinking&&a.thinking.length>0?a.thinking:"";if(b&&g)a.type="thinking";else{if(!b){let a=l[m];if(a){let c=(0,e.RO)(a);c&&(b=c,(0,e.b)())}}a.type="thinking",a.thinking=b||h}delete a.data,delete a.signature}j=!0,m++}"tool_use"===a.type&&(i=!0)}if(o&&!j&&i)if(p)f.unshift({type:"redacted_thinking",data:d.xr});else{let a="",b=l[0];if(b){let c=(0,e.RO)(b);c&&(a=c,(0,e.b)())}f.unshift({type:"thinking",thinking:a||h})}}}}if(a.tools&&Array.isArray(a.tools)&&!c&&(a.tools=a.tools.map(a=>{let{cache_control:b,...c}=a;return c}),n)){for(let b=a.tools.length-1;b>=0;b--)if(!a.tools[b].defer_loading){a.tools[b].cache_control={type:"ephemeral",ttl:"1h"};break}}return a}},39006:a=>{a.exports={rE:"0.5.69"}},52284:(a,b,c)=>{c.d(b,{w$:()=>f});let d=c(39006).rE||"0.0.0",e="u">typeof process&&process.env.CLINE_SPOOF_VERSION||"3.20.0";function f(a,b={}){let c,g=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",h={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":e,"X-CORE-VERSION":e,"X-IS-MULTIROOT":"false",...b};return g&&(h.Authorization=g),h}},56868:(a,b,c)=>{function d(a){return"assistant"===a?"output_text":"input_text"}function e(a){if("string"==typeof a)return{type:"message",role:"user",content:[{type:"input_text",text:a}]};if(!a||"object"!=typeof a||Array.isArray(a))return a;let b={...a},c="string"==typeof b.role?b.role:"user",e="string"==typeof b.type?b.type:"";if(!e&&void 0===b.content&&"string"==typeof b.text)return{type:"message",role:c,content:[{type:d(c),text:b.text}]};(!e&&c&&(b.type="message"),"message"===b.type||!e&&void 0!==b.content)&&(b.role=c,b.content=Array.isArray(b.content)?b.content.map(a=>(function(a,b){if("string"==typeof a)return{type:d(b),text:a};if(!a||"object"!=typeof a||Array.isArray(a))return a;let c={...a};return"text"===c.type&&(c.type=d(b)),c})(a,c)):"string"==typeof b.content?[{type:d(c),text:b.content}]:"string"==typeof b.text?[{type:d(c),text:b.text}]:[],b.type="message");return b}function f(a){if(Array.isArray(a.input)){a.input=a.input.map(e);return}void 0!==a.input&&(a.input=null===a.input?[]:[e(a.input)])}function g(a){if("string"==typeof a)return{type:"message",role:"user",content:[{type:"input_text",text:a}]};if(!a||"object"!=typeof a||Array.isArray(a))return a;let b={...a},c="string"==typeof b.type&&b.type.length>0,d="string"==typeof b.role&&b.role.length>0;return c||d?(!c&&d&&(b.type="message"),b):"string"==typeof b.text?{type:"message",role:"user",content:[{type:"input_text",text:b.text}]}:void 0!==b.content?{type:"message",role:"user",content:b.content}:b}function h(a){return null==a?[]:Array.isArray(a)?a.map(g):[g(a)]}c.d(b,{f:()=>h,z:()=>f})},57148:(a,b,c)=>{c.d(b,{Aq:()=>m,ye:()=>h});let d={subagents:"SubDispatch",session_status:"CheckStatus",bash:"Bash",read:"Read",write:"Write",edit:"Edit",glob:"Glob",grep:"Grep",task:"Task",webfetch:"WebFetch",websearch:"WebSearch",todowrite:"TodoWrite",todoread:"TodoRead",question:"Question",skill:"Skill",multiedit:"MultiEdit",notebook:"Notebook",lsp:"Lsp",apply_patch:"ApplyPatch"},e={};for(let[a,b]of Object.entries(d))e[b]=a;function f(a){let b=a._toolNameMap instanceof Map?a._toolNameMap:new Map;return Object.defineProperty(a,"_toolNameMap",{value:b,enumerable:!1,configurable:!0,writable:!0}),b}function g(a,b,c){f(a).set(b,c)}function h(a){let b=!1,c=!1,f=a.tools;if(Array.isArray(f))for(let h of f){let f=String(h.name||"");if(d[f]){let c=d[f];h.name=c,g(a,c,f),b=!0}else e[f]&&(c=!0)}let h=a.messages;if(Array.isArray(h))for(let f of h){let h=f.content;if(Array.isArray(h)){for(let f of h)if("tool_use"===f.type&&"string"==typeof f.name){let h=d[f.name];if(h){let c=f.name;f.name=h,g(a,h,c),b=!0}else e[f.name]&&(c=!0)}}}let i=a.tool_choice;if(i?.type==="tool"&&"string"==typeof i.name){let f=d[i.name];if(f){let c=i.name;i.name=f,g(a,f,c),b=!0}else e[i.name]&&(c=!0)}return b&&!c}let i=new Set(Object.values(d)),j={read_file:"Read",write_file:"Write",search_files:"Grep",grep_search:"Grep",list_directory:"Glob",run_command:"Bash",terminal:"Bash",todo:"TodoWrite",todo_write:"TodoWrite",todo_read:"TodoRead",patch:"Edit",multi_edit:"MultiEdit"},k=/^[a-z][a-z0-9_]*_\d{8}$/,l=new Set(["web_search","web_search_preview"]);function m(a,b){if("true"===process.env.CLAUDE_DISABLE_TOOL_NAME_CLOAK)return new Map;let c=a=>!(!a||i.has(a)||a.startsWith("mcp__"))&&(/[a-z]/.test(a.charAt(0))||a.includes("_")||a.includes("-"))&&!(b?.skip&&b.skip(a)),e=a.tools,g=new Set;if(Array.isArray(e))for(let a of e)a&&"string"==typeof a.name&&g.add(a.name);let h=a._toolNameMap instanceof Map?a._toolNameMap:null;if(h)for(let a of h.keys())g.add(a);let m=h,n=new Map,o=b=>{let c=n.get(b);if(c)return c;let e=d[b]??j[b]??(b.split(/[_\s-]+/).filter(Boolean).map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join("")||b),h=e,i=2;for(;h!==b&&g.has(h);)h=`${e}${i++}`;return g.delete(b),g.add(h),n.set(b,h),m||(m=f(a)),m.set(h,b),h};Array.isArray(e)&&(a.tools=e.map(a=>{var b;return a&&"string"==typeof(b=a.type)&&0!==b.length&&(k.test(b)||l.has(b))?a:a&&"string"==typeof a.name&&c(a.name)?{...a,name:o(a.name)}:a}));let p=a.messages;Array.isArray(p)&&(a.messages=p.map(a=>{let b=a?.content;if(!Array.isArray(b))return a;let d=!1,e=b.map(a=>a?.type==="tool_use"&&"string"==typeof a.name&&c(a.name)?(d=!0,{...a,name:o(a.name)}):a);return d?{...a,content:e}:a}));let q=a.tool_choice;return q?.type==="tool"&&"string"==typeof q.name&&c(q.name)&&(a.tool_choice={...q,name:o(q.name)}),m??new Map}},57647:(a,b,c)=>{c.d(b,{GK:()=>h,J9:()=>i,SZ:()=>n,Tz:()=>k,a4:()=>j,jJ:()=>l,zt:()=>m});var d=c(61408),e=c(36081);c(89625),c(96303),c(4928);function f(a){return"string"==typeof a&&a.startsWith("openai-compatible-")}function g(a){return"string"==typeof a&&a.startsWith("anthropic-compatible-")}function h(a){return"string"==typeof a&&a.startsWith("anthropic-compatible-cc-")}function i(a,b=null){if(!f(a))return"chat";let c=b&&"object"==typeof b&&"string"==typeof b.apiType?b.apiType:null;return"responses"===c||"chat"===c||"embeddings"===c||"audio-transcriptions"===c||"audio-speech"===c||"images-generations"===c?c:a.includes("responses")?"responses":a.includes("embeddings")?"embeddings":a.includes("audio-transcriptions")?"audio-transcriptions":a.includes("audio-speech")?"audio-speech":a.includes("images-generations")?"images-generations":"chat"}function j(a,b=""){let c=String(b||"");return/\/responses(?=\/|$)/i.test(c)||/^responses(?=\/|$)/i.test(c)?"openai-responses":/\/messages(?=\/|$)/i.test(c)||/^messages(?=\/|$)/i.test(c)?"claude":/\/antigravity(?=\/|:|$)/i.test(c)||/^antigravity(?=\/|:|$)/i.test(c)?"antigravity":/\/(?:chat\/completions|completions)(?=\/|$)/i.test(c)||/^(?:chat\/completions|completions)(?=\/|$)/i.test(c)?a&&"object"==typeof a&&!Array.isArray(a)&&void 0!==a.input&&void 0===a.messages?"openai-responses":"openai":k(a)}function k(a){let b=Object.prototype.hasOwnProperty.call(a,"input")&&void 0!==a.input,c=void 0!==a.max_output_tokens||void 0!==a.previous_response_id||void 0!==a.reasoning;if(b||c)return"openai-responses";if(a.request?.contents&&"antigravity"===a.userAgent)return"antigravity";if(a.contents&&Array.isArray(a.contents))return"gemini";if(a.stream_options||a.response_format||void 0!==a.logprobs||void 0!==a.top_logprobs||void 0!==a.n||void 0!==a.presence_penalty||void 0!==a.frequency_penalty||a.logit_bias||a.user)return"openai";if(a.messages&&Array.isArray(a.messages)){let b=a.messages[0];if(b?.content&&Array.isArray(b.content)){let c=b.content[0];if(c?.type==="text"&&!a.model?.includes("/")){if(a.system||a.anthropic_version)return"claude";let c=b.content.some(a=>"image"===a.type&&a.source?.type==="base64"),d=b.content.some(a=>"image_url"===a.type&&a.image_url?.url);if(c)return"claude";if(d)return"openai";if(b.content.some(a=>"tool_use"===a.type||"tool_result"===a.type))return"claude"}}if(void 0!==a.system||a.anthropic_version||a.max_tokens&&!a.stream_options&&!a.response_format)return"claude"}return"openai"}function l(a,b=null){if(f(a))return"responses"===i(a,b)?"openai-responses":"openai";if(g(a))return"claude";let c=(0,e.qs)(a);return c?c.format||"openai":function(a,b=null){if(f(a)){let c=i(a,b);return{...d.xq.openai,format:"responses"===c?"openai-responses":"openai",baseUrl:"https://api.openai.com/v1"}}return g(a)?{...d.xq.anthropic,format:"claude",baseUrl:"https://api.anthropic.com/v1"}:d.xq[a]||d.xq.openai}(a).format||"openai"}function m(a){return!!(a.reasoning_effort||a.thinking?.type==="enabled")}function n(a){return!function(a){let b=a.messages||a.contents;if(!b?.length)return!0;let c=b[b.length-1];return c?.role==="user"}(a)&&delete a.thinking,a}},59387:(a,b,c)=>{c.d(b,{Gp:()=>o,IZ:()=>n,g8:()=>e});var d=c(69190);let e={AUTO:"auto",PASSTHROUGH:"passthrough",CUSTOM:"custom",ADAPTIVE:"adaptive"},f={none:0,low:1024,medium:10240,high:131072,max:131072,xhigh:131072},g={none:0,low:4096,medium:8192,high:24576,max:131072,xhigh:131072},h={mode:e.PASSTHROUGH,customBudget:10240,effortLevel:"medium"},i="__omniroute_thinkingBudget_config__",j=globalThis;function k(){return j[i]||(j[i]={...h}),j[i]}function l(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function m(a,b){let c=a[b];return"string"==typeof c?c:""}function n(){return{...k()}}function o(a,b=null){let c=b||k();if(!a||"object"!=typeof a)return a;let i="string"==typeof a.model?a.model:"";if(i&&!(0,d.Mq)(i))return p(a);let j=function(a){if(!a||"object"!=typeof a)return a;let b={...a},c=b.thinkingLevel||b.thinking_level;if("string"==typeof c&&void 0!==g[c.toLowerCase()]){let a=g[c.toLowerCase()],e=(0,d.kG)(m(b,"model"),a);b.thinking={type:e>0?"enabled":"disabled",budget_tokens:e},delete b.thinkingLevel,delete b.thinking_level}let e=l(b.generationConfig),f=l(e.thinkingConfig),h=l(e.thinking_config),i=f.thinkingLevel||h.thinkingLevel;if("string"==typeof i&&void 0!==g[i.toLowerCase()]){let a=g[i.toLowerCase()],c=(0,d.kG)(m(b,"model"),a);b.generationConfig={...e,thinkingConfig:{...f,thinkingBudget:c}};let h=b.generationConfig,j=l(h.thinkingConfig);Object.keys(j).length>0&&(delete j.thinkingLevel,h.thinkingConfig=j),"thinking_config"in h&&delete h.thinking_config}return b}(a);switch(j=function(a){if(!a||"object"!=typeof a)return a;let b=m(a,"model");if(!b.endsWith("-thinking")||a.thinking)return a;let c={...a};return c.thinking={type:"enabled",budget_tokens:(0,d.d)(b)||f.medium},c}(j),c.mode){case e.AUTO:return p(j);case e.PASSTHROUGH:return j;case e.CUSTOM:return q(j,c.customBudget??h.customBudget);case e.ADAPTIVE:return function(a,b){let c=l(a),e=Array.isArray(c.messages)?c.messages:Array.isArray(c.input)?c.input:[],g=e.length,h=(Array.isArray(c.tools)?c.tools:[]).length,i=0;for(let a=e.length-1;a>=0;a--){let b=l(e[a]);if("user"===b.role){i="string"==typeof b.content?b.content.length:JSON.stringify(b.content||"").length;break}}let j=1;g>10&&(j+=.5),h>3&&(j+=.5),i>2e3&&(j+=.3);let k=f["string"==typeof b.effortLevel?b.effortLevel:"medium"]||(0,d.d)(m(c,"model"))||f.medium;return q(a,(0,d.kG)(m(c,"model"),Math.ceil(k*j)))}(j,c);default:return j}}function p(a){let b={...l(a)};if(delete b.thinking,delete b.reasoning_effort,delete b.reasoning,b.output_config&&"object"==typeof b.output_config){let a={...l(b.output_config)};delete a.effort,0===Object.keys(a).length?delete b.output_config:b.output_config=a}if(b.generationConfig){let a={...l(b.generationConfig)};delete a.thinking_config,delete a.thinkingConfig,b.generationConfig=a}return b}function q(a,b){let c,e,f={...l(a)};(f.thinking||(c=m(l(f),"model"),!0===(e=(0,d.w8)(c)).supportsThinking||!1!==e.supportsThinking&&(c.includes("claude")||c.includes("o1")||c.includes("o3")||c.includes("o4")||c.includes("gemini")||c.endsWith("-thinking")||c.includes("thinking"))))&&(f.thinking={type:b>0?"enabled":"disabled",budget_tokens:b}),(void 0!==f.reasoning_effort||void 0!==f.reasoning)&&(b<=0?(delete f.reasoning_effort,delete f.reasoning):b<=1024?f.reasoning_effort="low":b<=10240?f.reasoning_effort="medium":b<131072?f.reasoning_effort="high":f.reasoning_effort="xhigh");let g=l(f.generationConfig);return(g.thinking_config||g.thinkingConfig)&&(f.generationConfig={...g,thinking_config:{thinking_budget:b}}),f}},63871:(a,b,c)=>{c.d(b,{K:()=>d});function d(a,b){let c="string"==typeof a?a:"",d="string"==typeof b?b:"";return c?d&&d!==c?d.startsWith(c)?d:c+d:c:d}},71961:(a,b,c)=>{c.d(b,{Ws:()=>aP,Ai:()=>aQ,nZ:()=>aO,kz:()=>j.kz,GH:()=>aM,Y8:()=>aN});var d=c(14170),e=c(12468),f=c(33748);let g=["text","image_url","image","file_url","file","document","input_audio","audio_url"];var h=c(95528),i=c(425),j=c(86871),k=c(3156);function l(a){return"string"!=typeof a?"":a.replace(/^x-anthropic-billing-header:[^\n]*(?:\r?\n)?/i,"")}function m(a){return!(!a||"object"!=typeof a||Array.isArray(a))&&"web_search"===a.name&&"string"==typeof a.type&&/^web_search_\d{8}$/.test(a.type)}function n(a){return Array.isArray(a)?a.filter(a=>"string"==typeof a).map(a=>a.trim()).filter(Boolean):[]}(0,j.kz)(d.h.CLAUDE,d.h.OPENAI,function(a,b,c,e=null){var f;let g=null!==e&&"object"==typeof e&&!Array.isArray(e)&&!0===e._preserveCacheControl,h={model:a,messages:[],stream:c};if(b.max_tokens&&(h.max_tokens=(0,k.M)(b)),void 0!==b.temperature&&(h.temperature=b.temperature),void 0!==b.top_p&&(h.top_p=b.top_p),void 0!==b.stop_sequences&&(h.stop=b.stop_sequences),b.system){let a=g&&Array.isArray(b.system)&&b.system.some(a=>a&&"object"==typeof a&&void 0!==a.cache_control),c=a?b.system.map(a=>{if("string"==typeof a)return{type:"text",text:l(a)};let b={type:"text",text:l(a&&"object"==typeof a&&a.text||"")};return a&&"object"==typeof a&&void 0!==a.cache_control&&(b.cache_control=a.cache_control),b}):Array.isArray(b.system)?b.system.map(a=>l(a.text||"")).filter(Boolean).join("\n"):l(b.system);(a||c)&&h.messages.push({role:"system",content:c})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a,b=!1){let c="user"===a.role||"tool"===a.role?"user":"assistant";if("string"==typeof a.content)return{role:c,content:a.content};if(Array.isArray(a.content)){let d=[],e=[],f=[],g=null;for(let c of a.content)switch(c.type){case"text":{let a={type:"text",text:c.text};b&&void 0!==c.cache_control&&(a.cache_control=c.cache_control),d.push(a);break}case"image":c.source?.type==="base64"?d.push({type:"image_url",image_url:{url:`data:${c.source.media_type};base64,${c.source.data}`}}):c.source?.type==="url"&&"string"==typeof c.source.url&&d.push({type:"image_url",image_url:{url:c.source.url}});break;case"thinking":g=c.thinking||c.text||"";break;case"redacted_thinking":null==g&&(g="");break;case"tool_use":e.push({id:c.id,type:"function",function:{name:c.name,arguments:"string"==typeof c.input?c.input:JSON.stringify(c.input||{})}});break;case"tool_result":let a="";if("string"==typeof c.content)a=c.content;else if(Array.isArray(c.content)){let b=[],e=!1;for(let a of c.content)"text"===a.type?b.push(a.text):"image"===a.type&&a.source?.type==="base64"&&(d.push({type:"image_url",image_url:{url:`data:${a.source.media_type};base64,${a.source.data}`}}),e=!0);a=b.join("\n")||(e?"[tool returned an image; see attached]":JSON.stringify(c.content))}else c.content&&(a=JSON.stringify(c.content));f.push({role:"tool",tool_call_id:c.tool_use_id,content:a})}if(f.length>0)return d.length>0?[...f,{role:"user",content:1===d.length&&"text"===d[0].type?d[0].text:d}]:f;if(e.length>0){let a={role:"assistant"};return d.length>0&&(a.content=1===d.length&&"text"===d[0].type?d[0].text:d),a.tool_calls=e,null!==g&&(a.reasoning_content=g),a}if(d.length>0){let a={role:c,content:1===d.length&&"text"===d[0].type?d[0].text:d};return null!==g&&"assistant"===c&&(a.reasoning_content=g),a}if(0===a.content.length){let a={role:c,content:""};return null!==g&&"assistant"===c&&(a.reasoning_content=g),a}if(null!==g&&"assistant"===c)return{role:c,content:"",reasoning_content:g}}return null}(b.messages[a],g);c&&(Array.isArray(c)?h.messages.push(...c):h.messages.push(c))}h.messages=function(a){let b=new Map;a.forEach((a,c)=>{if("assistant"===a.role&&Array.isArray(a.tool_calls))for(let d of a.tool_calls)d.id&&!b.has(String(d.id))&&b.set(String(d.id),c)});let c=new Map;for(let d of a){if("tool"!==d.role)continue;let a=String(d.tool_call_id??""),e=b.get(a);if(void 0===e)continue;let f=c.get(e);f||(f=new Map,c.set(e,f)),f.has(a)||f.set(a,d)}let d=[];return a.forEach((a,b)=>{if("tool"!==a.role&&(d.push(a),"assistant"===a.role&&Array.isArray(a.tool_calls))){let e=c.get(b);if(e)for(let b of a.tool_calls){let a=b.id?e.get(String(b.id)):void 0;a&&d.push(a)}}}),d}(h.messages),function(a){for(let b=0;b<a.length;b++){let c=a[b];if("assistant"===c.role&&c.tool_calls&&c.tool_calls.length>0){let d=c.tool_calls.map(a=>a.id),e=new Set,f=b+1;for(let c=b+1;c<a.length;c++){let b=a[c];if("tool"===b.role&&b.tool_call_id)e.add(b.tool_call_id),f=c+1;else break}let g=d.filter(a=>!e.has(a));if(g.length>0){let c=g.map(a=>({role:"tool",tool_call_id:a,content:"[No response received]"}));a.splice(f,0,...c),b=f+c.length-1}}}}(h.messages);let i=null!==e&&"object"==typeof e&&!Array.isArray(e)&&e._targetFormat===d.h.OPENAI_RESPONSES;if(b.tools&&Array.isArray(b.tools)){let a=b.tools.map(a=>{var b;if(i&&m(a)){let b,c,d;return b=n(a.allowed_domains),c=n(a.blocked_domains),d={},b.length>0&&(d.allowed_domains=b),c.length>0&&(d.blocked_domains=c),{type:"web_search",...Object.keys(d).length>0?{filters:d}:{},...a.user_location&&"object"==typeof a.user_location&&!Array.isArray(a.user_location)?{user_location:a.user_location}:{}}}if(!a||"object"!=typeof a||Array.isArray(a))return null;let c="string"==typeof a.name?a.name.trim():"";return c?{type:"function",function:{name:c,description:"string"==typeof a.description?a.description:"",parameters:!(b=a.input_schema)||"object"!=typeof b||Array.isArray(b)?{type:"object",properties:{}}:"object"!==b.type||b.properties?b:{...b,properties:{}}}}:null}).filter(a=>!!a);a.length>0&&(h.tools=a)}b.tool_choice&&(h.tool_choice=function(a,b=!1){if(!a)return"auto";if("string"==typeof a)return a;switch(a.type){case"auto":default:return"auto";case"any":return"required";case"tool":if(b&&"web_search"===a.name)return{type:"web_search"};return{type:"function",function:{name:a.name}}}}(b.tool_choice,i&&Array.isArray(f=b.tools)&&f.some(a=>m(a))));let j=function(a){if("string"!=typeof a)return;let b=a.toLowerCase();return"max"===b?"xhigh":b||void 0}(b.output_config?.effort)||"";if(j)h.reasoning_effort=j;else if(b.thinking?.type==="enabled"&&"number"==typeof b.thinking.budget_tokens){let a=b.thinking.budget_tokens;a<=0||(a<=1024?h.reasoning_effort="low":a<=10240?h.reasoning_effort="medium":a<131072?h.reasoning_effort="high":h.reasoning_effort="xhigh")}return h},null);var o=c(19979);(0,j.kz)(d.h.GEMINI,d.h.OPENAI,function(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,k.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts){if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData||b.inline_data){let a=b.inlineData||b.inline_data,d=a.mimeType||a.mime_type||"image/png";c.push({type:"image_url",image_url:{url:`data:${d};base64,${a.data}`}})}if(b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})}}if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d},null);var p=c(61408),q=c(81167),r=c(4368),s=c(69190),t=c(47593),u=c(90043);function v(a){if("string"==typeof a)return a;try{return JSON.stringify(a??{})}catch{return String(a??"{}")}}let w=new Set(["google_search","web_search","search_web","googleSearch"]);function x(a,b,c,d={}){let e,f={model:a,contents:[],generationConfig:{},safetySettings:b.safetySettings||t.fc},g=new Map,h=a=>(0,u.i)(a,{...d,toolNameMap:g});b.cachedContent&&(f.cachedContent=b.cachedContent),void 0!==b.temperature&&(f.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(f.generationConfig.topP=b.top_p),void 0!==b.top_k&&(f.generationConfig.topK=b.top_k),void 0!==b.stop&&(f.generationConfig.stopSequences=Array.isArray(b.stop)?b.stop:[b.stop]);let i=(0,s.iy)(a,b.max_tokens??b.max_completion_tokens);if(null!==i&&(f.generationConfig.maxOutputTokens=i),b.reasoning_effort){let c=(0,s.kG)(a,32768),d={low:1024,medium:(0,s.d)(a)||8192,high:c,auto:c,max:c,xhigh:c}[b.reasoning_effort]??(0,s.d)(a)??8192;f.generationConfig.thinkingConfig={thinkingBudget:d,includeThoughts:!0}}let j=b.thinking;if(j?.type==="enabled"&&j.budget_tokens&&(f.generationConfig.thinkingConfig={thinkingBudget:j.budget_tokens,includeThoughts:!0}),!f.generationConfig.thinkingConfig){let b=a.toLowerCase();b.includes("gemini")&&!b.includes("gemini-1")&&(!b.includes("gemini-2.0")||b.includes("thinking"))&&(f.generationConfig.thinkingConfig={thinkingBudget:(0,s.d)(a)||(0,s.kG)(a,24576),includeThoughts:!0})}let k={},l=b.messages;if(l&&Array.isArray(l))for(let a of l){let b=a.tool_calls;if("assistant"===a.role&&b)for(let a of b){let b=a.function;"function"===a.type&&a.id&&b?.name&&(k[a.id]=b.name)}}let m={};if(l&&Array.isArray(l))for(let a of l)"tool"===a.role&&a.tool_call_id&&(m[a.tool_call_id]=a.content);if(l&&Array.isArray(l))for(let a of l){let b=a.role,c=a.content;if("system"===b&&l.length>1){let a="string"==typeof c?c:(0,t.kU)(c);a&&(f.systemInstruction?f.systemInstruction.parts.push({text:a}):f.systemInstruction={role:"system",parts:[{text:a}]})}else if("user"===b||"system"===b&&1===l.length){let a=(0,t.S6)(c);a.length>0&&f.contents.push({role:"user",parts:a})}else if("assistant"===b){let b=[];if(a.reasoning_content&&b.push({thought:!0,text:a.reasoning_content}),c){let a="string"==typeof c?c:(0,t.kU)(c);a&&b.push({text:a})}let e=a.tool_calls;if(e&&Array.isArray(e)){var n,o;let a,c=[],g=new Map;for(let b of e){let c=b.id,e=(0,q.n1)((0,q.q)(d.signatureNamespace,c),function(a){if(!a||"object"!=typeof a)return null;let b=a.thoughtSignature||a.thought_signature||a.function?.thoughtSignature||a.function?.thought_signature||null;return"string"==typeof b&&b.length>0?b:null}(b));"string"==typeof e&&e.length>0&&(g.set(c,e),a??=e)}let i=!b.some(a=>a.thoughtSignature),j=d.signaturelessToolCallMode,l="text"===j,p="text"===j||"context"===j;for(let f of e){if("function"!==f.type)continue;let e=f.id,k=f.function;if(!k)continue;let m=g.get(e);if(!d.supportsSignatureBypass){if(m||!p||c.includes(e)||c.push(e),!m&&l){b.push({text:(n=k.name,o=k.arguments||"{}",`[tool_history_call: ${n||"unknown"}] ${v(o||"{}")}`)});continue}if(!m&&"context"===j)continue}let q=(0,t.pT)(k.arguments||"{}"),r=i?a||m:void 0;r&&(i=!1);let s=r||(d.supportsSignatureBypass&&"text"!==j?"skip_thought_signature_validator":void 0);b.push({...s?{thoughtSignature:s}:{},functionCall:{...d.stripFunctionCallId?{}:{id:e},name:h(k.name),args:q}}),(d.supportsSignatureBypass||!p||m)&&c.push(e)}b.length>0&&f.contents.push({role:"model",parts:b});let r=p&&e.some(a=>{let b=a.id;return"function"===a.type&&!g.has(b)&&m[b]});if(c.some(a=>m[a])||r){let a=[];for(let b of c){if(!m[b]||!d.supportsSignatureBypass&&p&&!g.has(b))continue;let c=k[b];if(!c){let a=b.split("-");c=a.length>2?a.slice(0,-2).join("-"):b}c=h(c);let e=m[b],f=(0,t.pT)(e);null===f?f={result:e}:"object"!=typeof f&&(f={result:f}),a.push({functionResponse:{...d.stripFunctionCallId?{}:{id:b},name:c,response:{result:f}}})}if(!d.supportsSignatureBypass&&p)for(let b of e){let c=b.id;if("function"===b.type&&c&&!g.has(c)&&m[c]){let d=b.function,e=k[c]||d?.name||"unknown",f=m[c];a.push({text:"text"===j?`[tool_history_result: ${e||"unknown"}] ${"string"==typeof f?f:v(f)}`:function(a,b){let c=(a||"unknown").replaceAll("&","&amp;").replaceAll('"',"&quot;").replaceAll("<","&lt;").replaceAll(">","&gt;");return[`<previous_tool_result_context source="${c}">`,("string"==typeof b?b:v(b)).replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;"),"</previous_tool_result_context>"].join("\n")}(e,f)})}}a.length>0&&f.contents.push({role:"user",parts:a})}}else b.length>0&&f.contents.push({role:"model",parts:b})}}f.contents=function(a){let b=[];for(let c of a){let a=b[b.length-1];a&&a.role===c.role?a.parts.push(...c.parts):b.push({...c,parts:[...c.parts]})}return b}(f.contents??[]);let p=b.tools,r=(0,u.B)(p,{...d,toolNameMap:g}),w=p?.some(a=>{let b=a.function;return"function"===a.type&&(b?.name==="google_search"||b?.name==="googleSearch")});r&&r.length>0?(f.tools=r,w&&f.tools.push({googleSearch:{}}),f.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}):w&&(f.tools=[{googleSearch:{}}]);let y=b.response_format;if(y)if("json_schema"===y.type&&y.json_schema){f.generationConfig.responseMimeType="application/json";let a=y.json_schema.schema||y.json_schema;a&&"object"==typeof a&&(f.generationConfig.responseSchema=(0,t.Yr)(a))}else"json_object"===y.type?f.generationConfig.responseMimeType="application/json":"text"===y.type&&(f.generationConfig.responseMimeType="text/plain");let z=(e=[...g.entries()].filter(([a,b])=>a!==b)).length>0?new Map(e):null;return z&&(f._toolNameMap=z),!function a(b,c=0){if(!(c>10)&&b&&"object"==typeof b)if(Array.isArray(b))for(let d of b)a(d,c+1);else for(let d of Object.keys(b)){let e=b[d];"string"==typeof e&&"[undefined]"===e?delete b[d]:a(e,c+1)}}(f),f}(0,j.kz)(d.h.OPENAI,d.h.GEMINI,(a,b,c=!1,d=null)=>(function(a,b,c,d=null,e={}){var f;return x(a,b,c,{signatureNamespace:d&&"string"==typeof d._signatureNamespace?d._signatureNamespace:null,signaturelessToolCallMode:e.signaturelessToolCallMode,stripFunctionCallId:"vertex"===(f=d?._provider)||"vertex-partner"===f})})(a,b,c,d,{signaturelessToolCallMode:"context"}),null),(0,j.kz)(d.h.OPENAI,d.h.ANTIGRAVITY,function(a,b,c,d=null){let e,f=a.toLowerCase().includes("claude"),g=a.toLowerCase(),h=!f&&(g.includes("thinking")||g.includes("gemini-3")||g.includes("gemini-2.5")||g.includes("gemini-pro")),i=function(a,b,c,d={}){return x(a,b,c,{stripNamespace:!0,signatureNamespace:d.signatureNamespace,signaturelessToolCallMode:d.signaturelessToolCallMode,supportsSignatureBypass:!0})}(a,b,c,{signatureNamespace:d&&"object"==typeof d&&"string"==typeof d._signatureNamespace?d._signatureNamespace:null,signaturelessToolCallMode:h?"context":"native"});f&&(i.generationConfig.maxOutputTokens="number"==typeof(e=b.max_tokens??b.max_completion_tokens)&&Number.isFinite(e)&&e>=1?Math.min(Math.floor(e),16384):16384);let j=function(a,b,c=null){let d,e,f,g=c?.providerSpecificData?.projectId,h=c?.projectId||("string"==typeof g?g:"");h||(console.warn("[OmniRoute] Antigravity account is missing projectId. Attempting request with empty project — reconnect OAuth to resolve."),h="");let i=a.includes("/")?a.split("/").pop():a,j={project:h,requestId:(0,r.Ep)(),request:{sessionId:(0,r.a0)(c),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:(void 0===(d={...b.generationConfig}).topK&&(d.topK=40),void 0===d.topP&&(d.topP=1),e=Number(d.thinkingConfig?.thinkingBudget),f=Number(d.maxOutputTokens),Number.isFinite(e)&&e>0&&(!Number.isFinite(f)||f<=e)&&(d.maxOutputTokens=Math.floor(e)+1),d),tools:b.tools},model:i,userAgent:(0,r.Xv)(c),requestType:"agent",enabledCreditTypes:["GOOGLE_ONE_AI"]};b._toolNameMap instanceof Map&&b._toolNameMap.size>0&&(j._toolNameMap=b._toolNameMap);let k={text:p.$V};if(j.request.systemInstruction?.parts?j.request.systemInstruction.parts.unshift(k):j.request.systemInstruction={role:"system",parts:[k]},j.request.tools&&j.request.tools.length>0){let a=j.request.tools.map(a=>{if(!Array.isArray(a.functionDeclarations))return a;let b=a.functionDeclarations.filter(a=>!w.has(a.name));return{...a,functionDeclarations:b}}).filter(a=>!Array.isArray(a.functionDeclarations)||a.functionDeclarations.length>0);j.request.tools=a.length>0?a:void 0}return j.request.tools?.some(a=>(a.functionDeclarations?.length??0)>0)&&(j.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}}),j}(a,i,d),k=b.max_tokens??b.max_completion_tokens,l=!!j.request?.generationConfig?.thinkingConfig?.thinkingBudget;return void 0===k&&!l&&j.request?.generationConfig&&delete j.request.generationConfig.maxOutputTokens,f&&j.request?.generationConfig&&delete j.request.generationConfig.thinkingConfig,j},null);let y=new Set(["$schema","$defs","definitions","$ref","$comment","const","additionalProperties","propertyNames","patternProperties","title"]);(0,j.kz)(d.h.ANTIGRAVITY,d.h.OPENAI,function(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens){let b={max_tokens:a.maxOutputTokens,tools:d.tools};e.max_tokens=(0,k.M)(b)}if(void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=a.thinkingConfig.thinkingBudget||0;b>0&&(b<=2048?e.reasoning_effort="low":b<=16384?e.reasoning_effort="medium":e.reasoning_effort="high")}}if(d.systemInstruction){var f;let a="string"==typeof(f=d.systemInstruction)?f:f.parts&&Array.isArray(f.parts)?f.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:"system",content:a})}if(d.contents&&Array.isArray(d.contents))for(let a of d.contents){let b=function(a){let b="model"===a.role?"assistant":"user"===a.role?"user":a.role;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[],e=[],f="";for(let b of a.parts){if(!0===b.thought&&b.text){f+=b.text;continue}if(b.thoughtSignature&&void 0!==b.text){c.push({type:"text",text:b.text});continue}void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse&&e.push({role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})})}if(e.length>0)return e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a.tool_calls=d,a}if(c.length>0||f){let a={role:b};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a}return null}(a);b&&(Array.isArray(b)?e.messages.push(...b):e.messages.push(b))}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:function(a){if(!a||"object"!=typeof a)return a;let b=function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),delete c.enumDescriptions,c.properties&&"object"==typeof c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(structuredClone(a));return function a(b){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let c of b)a(c);return}for(let a of Object.keys(b))(y.has(a)||a.startsWith("x-"))&&delete b[a];for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(b),function a(b){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let c of b)a(c);return}if(Array.isArray(b.required)&&b.properties&&"object"==typeof b.properties){let a=b.properties,c=b.required.filter(b=>"string"==typeof b&&Object.prototype.hasOwnProperty.call(a,b));0===c.length?delete b.required:b.required=c}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(b),b}(b.parameters)||{type:"object",properties:{}}}})}return e},null);var z=c(96303),A=c(56868);let B="_omnirouteResponsesStore",C=/^web_search/,D=/^tool_search/,E=/^image_generation/,F=new Set(["low","medium","high"]);function G(a){if("string"!=typeof a)return;let b=a.toLowerCase();return F.has(b)?b:void 0}function H(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function I(a){return a.length>64?a.slice(0,64):a}function J(a){return Array.isArray(a)?a:[]}function K(a,b=""){return"string"==typeof a?a:b}function L(a){let b=K(a).toLowerCase();return"max"===b?"xhigh":b}function M(a){let b=Error(a);return b.statusCode=400,b.errorType="unsupported_feature",b}(0,j.kz)(d.h.OPENAI_RESPONSES,d.h.OPENAI,function(a,b,c,d){let e=H(b);if(void 0===e.input)return b;let f=H(d),g=(0,z.pn)(f.providerSpecificData),h=J(e.tools);if(h.length>0)for(let a of h){let b=H(a),c=K(b.type);if(c&&"function"!==c&&"custom"!==c&&"command"!==c&&"namespace"!==c&&"local_shell"!==c&&!C.test(c)&&!D.test(c)&&!E.test(c)&&!b.function)throw M(`Unsupported Responses API feature: ${c} tool type is not supported by omniroute`)}let i={...e},j=G(H(i.text).verbosity);if(j&&(i.verbosity=j),delete i.text,!0===i.background){let b=K(f.provider),c=K(a);console.warn(`BACKGROUND_DEGRADE provider=${b||"unknown"} model=${c||"unknown"}`)}void 0!==i.background&&delete i.background;let k=[];i.messages=k,"string"==typeof e.instructions&&e.instructions.length>0&&k.push({role:"system",content:e.instructions});let l=null,m=[],n=(0,A.f)(e.input);for(let a of 0===n.length?[{type:"message",role:"user",content:[{type:"input_text",text:"..."}]}]:n){let b=H(a),c=K(b.type)||(b.role?"message":"");if("message"===c){if(l&&(k.push(l),l=null),m.length>0){for(let a of m)k.push(a);m=[]}let a=Array.isArray(b.content)?b.content.map(a=>{let b=H(a);if("input_text"===b.type||"output_text"===b.type)return{type:"text",text:K(b.text)};if("input_image"===b.type){let a={type:"image_url",image_url:{url:K(b.image_url)}};return void 0!==b.detail&&(a.image_url.detail=b.detail),a}if("input_file"===b.type){let a={};return void 0!==b.file_data&&(a.file_data=b.file_data),void 0!==b.file_id&&(a.file_id=b.file_id),void 0!==b.file_url&&(a.file_url=b.file_url),void 0!==b.filename&&(a.filename=b.filename),{type:"file",file:a}}return a}):b.content;k.push({role:K(b.role),content:a});continue}if("function_call"===c){let a=K(b.name).trim();if(!a||!K(b.call_id).trim())continue;l||(l={role:"assistant",content:null,tool_calls:[]});let c=Array.isArray(l.tool_calls)?l.tool_calls:[];c.push({id:K(b.call_id),type:"function",function:{name:a,arguments:"string"==typeof b.arguments?b.arguments:JSON.stringify(b.arguments??{})}}),l.tool_calls=c;continue}if("function_call_output"===c){if(l&&(k.push(l),l=null),m.length>0){for(let a of m)k.push(a);m=[]}k.push({role:"tool",tool_call_id:K(b.call_id),content:"string"==typeof b.output?b.output:JSON.stringify(b.output)});continue}if("custom_tool_call"===c){let a=K(b.name).trim();if(!a)continue;l||(l={role:"assistant",content:null,tool_calls:[]});let c=Array.isArray(l.tool_calls)?l.tool_calls:[];c.push({id:K(b.call_id),type:"function",function:{name:a,arguments:JSON.stringify({input:b.input})}}),l.tool_calls=c;continue}if("custom_tool_call_output"===c){if(l&&(k.push(l),l=null),m.length>0){for(let a of m)k.push(a);m=[]}let a="string"==typeof b.output?b.output:JSON.stringify(b.output),c=a;try{let b=JSON.parse(a);b&&"string"==typeof b.output&&(c=b.output)}catch{}k.push({role:"tool",tool_call_id:K(b.call_id),content:c});continue}if("reasoning"===c)continue}if(l&&k.push(l),m.length>0)for(let a of m)k.push(a);Array.isArray(e.tools)&&(i.tools=e.tools.filter(a=>{let b=K(H(a).type);return!D.test(b)&&!E.test(b)}).flatMap(a=>{let b=H(a);if(b.function)return a;let c=K(b.type);if("namespace"===c)return(Array.isArray(b.tools)?b.tools:[]).map(a=>H(a)).filter(a=>K(a.name)).map(a=>({type:"function",function:{name:K(a.name),description:K(a.description),parameters:a.parameters??a.input_schema??{type:"object",properties:{}}}}));if(C.test(c))return a;if("local_shell"===c)return{type:"function",function:{name:"shell",description:"Run a shell command and return its output.",parameters:{type:"object",properties:{command:{type:"array",items:{type:"string"},description:"Command and arguments to execute."},workdir:{type:"string",description:"Working directory."},timeout_ms:{type:"number",description:"Timeout in milliseconds."}},required:["command"]}}};let d=b.name;return"string"!=typeof d||""===d.trim()?[]:"custom"===c?{type:"function",function:{name:K(b.name),description:K(b.description),parameters:{type:"object",properties:{input:{type:"string"}},required:["input"],additionalProperties:!1},strict:b.strict}}:{type:"function",function:{name:d,description:K(b.description),parameters:b.parameters,strict:b.strict}}}));let o=new Set;for(let a of k){let b=H(a);if(Array.isArray(b.tool_calls))for(let a of b.tool_calls)a.id&&o.add(String(a.id))}if(i.messages=k.filter(a=>{let b=H(a);return"tool"!==b.role||o.has(String(b.tool_call_id??""))}),i.tool_choice&&"object"==typeof i.tool_choice&&!Array.isArray(i.tool_choice)){let a=H(i.tool_choice),b=K(a.type);if("function"!==b||void 0===a.name||a.function){if("local_shell"===b)i.tool_choice={type:"function",function:{name:"shell"}};else if(b&&"function"!==b&&"allowed_tools"!==b)throw M(`Unsupported Responses API feature: tool_choice type '${b}' is not supported by omniroute`)}else i.tool_choice={type:"function",function:{name:a.name}}}if(delete i.input,delete i.instructions,delete i.include,g&&void 0!==e.store&&(i[B]=e.store),delete i.store,e.reasoning&&"object"==typeof e.reasoning&&!Array.isArray(e.reasoning)){let a,b=H(e.reasoning),c=K(b.effort);c&&void 0===i.reasoning_effort&&(i.reasoning_effort=L(c)),!0===f._copilotClient&&(a=K(b.summary).toLowerCase())&&"off"!==a&&"none"!==a&&"disabled"!==a&&(i._omnirouteCopilotReasoningSummary="summarized")}return delete i.reasoning,delete i.safety_identifier,delete i.client_metadata,i},null),(0,j.kz)(d.h.OPENAI,d.h.OPENAI_RESPONSES,function(a,b,c,d){let f=H(b),g=H(d),h=(0,z.pn)(g.providerSpecificData),i={model:a,input:[],stream:!0};h||(i.store=!1);let j=i.input,k=!1;for(let a of J(f.messages)){let b=H(a),c=K(b.role);if("system"===c||"developer"===c){k||(i.instructions="string"==typeof b.content?b.content:"",k=!0);continue}if("user"===c){let a="string"==typeof b.content?[{type:"input_text",text:b.content}]:Array.isArray(b.content)?b.content.map(a=>{let b=H(a);if("text"===b.type)return{type:"input_text",text:K(b.text)};if("image_url"===b.type){let a=b.image_url,c={type:"input_image",image_url:"string"==typeof a?a:a?.url||""};return"object"==typeof a&&a?.detail!==void 0&&(c.detail=a.detail),c}if("image"===b.type&&"string"==typeof b.image&&/^data:([^;]+);base64,(.+)$/.test(b.image))return{type:"input_image",image_url:b.image,detail:void 0!==b.detail?b.detail:"auto"};if("file"===b.type||"document"===b.type){let a=H("document"===b.type?b.document:b.file),c={type:"input_file"};return void 0!==a.file_data?c.file_data=a.file_data:void 0!==a.data&&(c.file_data=a.data),void 0!==a.file_id&&(c.file_id=a.file_id),void 0!==a.file_url?c.file_url=a.file_url:void 0!==a.url&&(c.file_url=a.url),void 0!==a.filename?c.filename=a.filename:void 0!==a.name&&(c.filename=a.name),c}return a}):[{type:"input_text",text:""}];j.push({type:"message",role:"user",content:a})}if("assistant"===c){let a=[];if("string"==typeof b.content&&b.content)a.push({type:"output_text",text:b.content});else if(Array.isArray(b.content))for(let c of b.content){let b=H(c);if("text"===b.type)a.push({type:"output_text",text:K(b.text)});else if("image_url"===b.type){var l;let c="string"==typeof(l=b.image_url)?l:K(H(l).url);a.push({type:"output_text",text:c?`[Image: ${c}]`:"[Image]"})}else{if("thinking"===b.type||"redacted_thinking"===b.type)continue;a.push(c)}}if(a.length>0&&j.push({type:"message",role:"assistant",content:a}),Array.isArray(b.tool_calls))for(let a of b.tool_calls){let b=H(a),c=H(b.function),d=K(c.name).trim();d&&j.push({type:"function_call",call_id:I(K(b.id).trim()||(0,e.J4)()),name:d,arguments:K(c.arguments,"{}")})}if(b.function_call&&!b.tool_calls){let a=H(b.function_call),c=K(a.name).trim();c&&j.push({type:"function_call",call_id:I(`call_${c}`),name:c,arguments:K(a.arguments,"{}")})}}"tool"===c&&j.push({type:"function_call_output",call_id:I(K(b.tool_call_id)),output:"string"==typeof b.content?b.content:Array.isArray(b.content)?b.content.map(a=>{let b=H(a);return"text"===b.type?{type:"input_text",text:K(b.text)}:a}):String(b.content??"")}),"function"===c&&j.push({type:"function_call_output",call_id:I(`call_${K(b.name)}`),output:"string"==typeof b.content?b.content:String(b.content??"")})}let m=new Set(j.filter(a=>"function_call"===a.type&&a.call_id).map(a=>a.call_id));if(i.input=j.filter(a=>"function_call_output"!==a.type||!a.call_id||m.has(a.call_id)),k||(i.instructions=""),Array.isArray(f.tools)&&(i.tools=f.tools.map(a=>{let b=H(a);if("function"===b.type){let a=H(b.function);return{type:"function",name:K(a.name),description:K(a.description),parameters:a.parameters,strict:a.strict}}return a})),void 0!==f.tool_choice)if("string"==typeof f.tool_choice)i.tool_choice=f.tool_choice;else if("object"!=typeof f.tool_choice||Array.isArray(f.tool_choice))i.tool_choice=f.tool_choice;else{let a=H(f.tool_choice);"function"===a.type&&a.function?i.tool_choice={type:"function",name:H(a.function).name}:i.tool_choice=f.tool_choice}void 0!==f.previous_response_id&&(i.previous_response_id=f.previous_response_id),void 0!==f.prompt_cache_key&&(i.prompt_cache_key=f.prompt_cache_key),void 0!==f.session_id&&(i.session_id=f.session_id),void 0!==f.conversation_id&&(i.conversation_id=f.conversation_id),void 0!==f.service_tier&&(i.service_tier=f.service_tier),void 0!==f.temperature&&(i.temperature=f.temperature),void 0!==f.max_completion_tokens?i.max_output_tokens=f.max_completion_tokens:void 0!==f.max_tokens&&(i.max_output_tokens=f.max_tokens),void 0!==f.top_p&&(i.top_p=f.top_p);let n=G(f.verbosity);if(n&&(i.text={...H(i.text),verbosity:n}),void 0!==f.reasoning)i.reasoning=f.reasoning;else if(void 0!==f.reasoning_effort){let a=L(f.reasoning_effort);a&&(i.reasoning={effort:a})}return Array.isArray(f.include)&&f.include.length>0&&(i.include=f.include),h&&(void 0!==f[B]?i.store=f[B]:void 0!==f.store&&(i.store=f.store)),i},null);var N=c(85081),O=c(94755);function P(a){if(a&&"object"==typeof a&&!Array.isArray(a))return a;if("string"!=typeof a)return{};let b=a.trim();if(!b)return{};try{let a=JSON.parse(b);return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}catch{return{}}}function Q(a){if(!a||"object"!=typeof a||Array.isArray(a))return{type:"object",properties:{}};let b={};for(let[c,d]of Object.entries(a))if((!("required"===c&&Array.isArray(d))||0!==d.length)&&"additionalProperties"!==c)if("properties"!==c||"object"!=typeof d||null===d||Array.isArray(d))"object"!=typeof d||null===d||Array.isArray(d)?Array.isArray(d)?b[c]=d.map(a=>"object"!=typeof a||null===a||Array.isArray(a)?a:Q(a)):b[c]=d:b[c]=Q(d);else{let a={};for(let[b,c]of Object.entries(d))a[b]=Q(c);b[c]=a}return b}function R(a){if("string"==typeof a)return a||"(no output)";if(!Array.isArray(a)){if(null!=a)try{return JSON.stringify(a)}catch{}return"(no output)"}let b=[];for(let c of a)if(c&&"object"==typeof c)if("text"===c.type&&"string"==typeof c.text)c.text&&b.push(c.text);else if("image"===c.type||"image_url"===c.type){let a=c.source,d=a?.media_type??c.media_type??"image";b.push(`[image: ${d}]`)}else try{let a=JSON.stringify(c);a&&"{}"!==a&&b.push(a)}catch{}return b.join("\n")||"(no output)"}function S(a){return"string"==typeof a?a.split("\n")[0]:""}function T(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>!!a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join(""):""}function U(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}function V(a,b,c){let d=(c||"").replace(/[\u0000-\u0008\u000B\u000C\u000E-\u001F\u007F]/g,"");return`<tool_result>
6
6
  <tool_name>${U(a||"tool")}</tool_name>
7
7
  <tool_call_id>${U(b||"")}</tool_call_id>
8
8
  <result>${U(d)}</result>
@@ -1 +1 @@
1
- exports.id=3617,exports.ids=[3617],exports.modules={8590:(a,b,c)=>{"use strict";c.d(b,{$B:()=>U,Bc:()=>s,I9:()=>J,Ib:()=>v,Og:()=>n,Ql:()=>M,iD:()=>S,jR:()=>P,jT:()=>R,oD:()=>l,qZ:()=>X});var d=c(16698),e=c(61408),f=c(86522),g=c(77598),h=c(95538),i=c(57843),j=c(54444),k=c(44418);let l=3e5,m={codex:3e5,openai:3e5,claude:3e5,"gitlab-duo":3e5,kiro:3e5,"kimi-coding":3e5,qwen:3e5,iflow:864e5,antigravity:9e5,agy:9e5};function n(a,b){let c=b?.refreshLeadMs;return"number"==typeof c&&Number.isFinite(c)&&c>0?c:m[a]??l}let o=new Map,p=new Map,q=new Map,r=new d.AsyncLocalStorage;function s(a,b){return a?r.run(a,b):b()}let t=new d.AsyncLocalStorage,u={skipped:0,persisted:0};function v(a,b){return a?t.run(a,b):b()}async function w(a){let b,c=t.getStore();if(!c||!c.expectedRefreshToken)return!1;try{b=await c.reread()}catch{return!1}return(0,i.Jv)(c.expectedRefreshToken,b)?(u.skipped++,a?.warn?.("TOKEN_REFRESH","CAS guard: skipping persist — a concurrent writer already rotated the refresh_token (#4038)"),!0):(u.persisted++,!1)}function x(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))"string"==typeof d&&d.length>0&&b.set(c,d);return b}function y(a,b){let c=(0,g.pbkdf2Sync)(b,"omniroute-token-cache",1e3,32,"sha256").toString("hex");return`${a}:${c}`}let z=new Set(["invalid_grant","invalid_request","refresh_token_reused","invalid_token","expired_token","unauthorized_client","access_denied"]);function A(a,b=0){if(null==a||b>6)return null;if("string"==typeof a){let c=a.trim();if(!c)return null;if(z.has(c))return c;if("{"===c[0]||"["===c[0]||'"'===c[0])try{let a=A(JSON.parse(c),b+1);if(a)return a}catch{}let d=c.match(/"error(?:_code)?"\s*:\s*"([a-z_]+)"/i);return d&&z.has(d[1])?d[1]:null}return"object"==typeof a?A(a.error,b+1)??A(a.code,b+1)??A(a.error_code,b+1):null}async function B(a){let b=await a.text().catch(()=>""),c=b;try{c=JSON.parse(b)}catch{}let d=A(c)??A(b);return{rawText:b,code:d}}async function C(a,b,c,d,f=null){let g=e.xq[a],i=g?.refreshUrl||g?.tokenUrl;if(!g||!i)return d?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return d?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});g.clientId&&c.set("client_id",g.clientId),g.clientSecret&&c.set("client_secret",g.clientSecret);let e=await (0,h.jf)(f,()=>fetch(i,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c}));if(!e.ok){let b=await e.text();d?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:e.status,error:b});let c=A(b);if("invalid_grant"===c||"invalid_request"===c)return{error:"unrecoverable_refresh_error",code:c};return null}let j=await e.json();return d?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!j.access_token,hasNewRefreshToken:!!j.refresh_token,expiresIn:j.expires_in}),{accessToken:j.access_token,refreshToken:j.refresh_token||b,expiresIn:j.expires_in}}catch(b){return d?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function D(a,b,c,d=null){if(!a)return c?.warn?.("TOKEN_REFRESH","No refresh token stored for Windsurf — token may be a long-lived API key"),null;if("import"===(b?.authMethod||"import"))return c?.debug?.("TOKEN_REFRESH","Windsurf import token is long-lived — no refresh needed"),null;let e=j.e.firebaseApiKey||"";if(!e)return c?.warn?.("TOKEN_REFRESH","Windsurf Firebase API key unavailable — skipping Firebase token refresh"),null;let f=`https://securetoken.googleapis.com/v1/token?key=${e}`;try{let b=await (0,h.jf)(d,()=>fetch(f,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:x({grant_type:"refresh_token",refresh_token:a})}));if(!b.ok){let a=await b.text();c?.error?.("TOKEN_REFRESH","Failed to refresh Windsurf Firebase token",{status:b.status,error:a.slice(0,200)});try{let b=JSON.parse(a),d="string"==typeof b?.error?.message?b.error.message:"string"==typeof b?.error?b.error:null;if("string"==typeof d&&(d.includes("USER_DISABLED")||d.includes("TOKEN_EXPIRED")||d.includes("INVALID_REFRESH_TOKEN")||d.includes("USER_NOT_FOUND")))return c?.error?.("TOKEN_REFRESH","Windsurf Firebase token is permanently invalid. Re-authentication required.",{fbCode:d}),{error:"unrecoverable_refresh_error",code:d}}catch{}return null}let e=await b.json(),g=parseInt(e.expires_in??"3600",10);return c?.info?.("TOKEN_REFRESH","Successfully refreshed Windsurf Firebase token",{expiresIn:g,hasNewIdToken:!!e.id_token}),{accessToken:e.id_token,refreshToken:e.refresh_token||a,expiresIn:g}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Windsurf token: ${a instanceof Error?a.message:String(a)}`),null}}async function E(a,b,d=null){if(!a)return null;let{CODEBUDDY_CN_CONFIG:e}=await Promise.resolve().then(c.bind(c,54444));try{let c=await (0,h.jf)(d,()=>fetch(e.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":e.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"}));if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy CN token",{status:c.status,error:a}),null}let f=await c.json();if(f?.code!==0||!f?.data?.accessToken)return b?.error?.("TOKEN_REFRESH","CodeBuddy CN token refresh returned no token",{code:f?.code,msg:f?.msg}),null;return b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy CN token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing CodeBuddy CN token: ${a?.message}`),null}}async function F(a,b,c=null){let d=e.xq.cline?.refreshUrl;if(!d)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let e=await (0,h.jf)(c,()=>fetch(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})}));if(!e.ok){let a=await e.text();b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:e.status,error:a});let c=A(a);if("invalid_grant"===c||"invalid_request"===c)return{error:"unrecoverable_refresh_error",code:c};if(401===e.status)return{error:"unrecoverable_refresh_error",code:c||"unauthorized"};return null}let f=await e.json(),g=f?.data||f,i=g?.expiresAt,j=i?Math.max(1,Math.floor((new Date(i).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!g?.accessToken,hasNewRefreshToken:!!g?.refreshToken,expiresIn:j}),{accessToken:g?.accessToken,refreshToken:g?.refreshToken||a,expiresIn:j}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function G(a,b,c,d=null){let f=e.xq["kimi-coding"]?.refreshUrl||e.xq["kimi-coding"]?.tokenUrl;if(!f)return c?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;let i=b?.deviceId||(0,g.pbkdf2Sync)(a,"kimi-device-id",1e3,16,"sha256").toString("hex"),j=process.env.KIMI_CLI_VERSION||"1.36.0",k="u">typeof process?process.platform:"unknown",l=[k,"u">typeof process?process.arch:"unknown"].filter(Boolean).join(" ");try{let g=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq["kimi-coding"]?.clientId||""}),m=await (0,h.jf)(d,()=>fetch(f,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","X-Msh-Platform":"kimi_cli","X-Msh-Version":j,"X-Msh-Device-Model":b?.deviceModel||l,"X-Msh-Device-Id":i,"X-Msh-Device-Name":b?.deviceName||k,"X-Msh-Os-Version":b?.osVersion||k},body:g}));if(!m.ok){let a=await m.text();try{let b=JSON.parse(a),d=b?.error;if("invalid_grant"===d||"invalid_request"===d)return c?.error?.("TOKEN_REFRESH","Kimi Coding refresh token invalid. Re-authentication required.",{errorCode:d}),{error:"unrecoverable_refresh_error",code:d}}catch{}return c?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:m.status,error:a.slice(0,200)}),null}let n=await m.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!n.access_token,hasNewRefreshToken:!!n.refresh_token,expiresIn:n.expires_in}),{accessToken:n.access_token,refreshToken:n.refresh_token||a,expiresIn:n.expires_in,tokenType:n.token_type,scope:n.scope}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a instanceof Error?a.message:String(a)}`),null}}async function H(a,b,c,d=null){if(!a)return c?.warn?.("TOKEN_REFRESH","No refresh token for GitLab Duo"),null;let f=(0,k.L_)(b),g=(0,k.Tg)(f).tokenUrl,i=b?.clientId||e.xq["gitlab-duo"]?.clientId||process.env.GITLAB_DUO_OAUTH_CLIENT_ID||process.env.GITLAB_OAUTH_CLIENT_ID||"";try{let b=await (0,h.jf)(d,()=>fetch(g,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:i})}));if(!b.ok){let a=await b.text();try{let b=JSON.parse(a).error;if("invalid_grant"===b||"invalid_request"===b)return c?.error?.("TOKEN_REFRESH","GitLab Duo refresh token invalid. Re-authentication required.",{errorCode:b}),{error:"unrecoverable_refresh_error",code:b}}catch{}return c?.error?.("TOKEN_REFRESH","Failed to refresh GitLab Duo token",{status:b.status,error:a.slice(0,200)}),null}let e=await b.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed GitLab Duo token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing GitLab Duo token: ${a instanceof Error?a.message:String(a)}`),null}}async function I(a,b,c=null){try{let d=x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.claude.clientId}),f=await (0,h.jf)(c,()=>fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","anthropic-beta":"oauth-2025-04-20"},body:d.toString()}));if(!f.ok){let{rawText:a,code:c}=await B(f);if(b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:f.status,error:a.slice(0,300)}),"invalid_grant"===c||"invalid_request"===c)return{error:"unrecoverable_refresh_error",code:c};return null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function J(a,b,c,d,f=null){let g=await (0,h.jf)(f,()=>fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})}));if(!g.ok){let a=await g.text();d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:g.status,error:a.slice(0,200)});try{let b=JSON.parse(a);if("invalid_grant"===b.error)return d?.error?.("TOKEN_REFRESH","Google refresh token invalid. Re-authentication required.",{provider:"google"}),{error:"unrecoverable_refresh_error",code:"invalid_grant"}}catch{}return null}let i=await g.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!i.access_token,hasNewRefreshToken:!!i.refresh_token,expiresIn:i.expires_in}),{accessToken:i.access_token,refreshToken:i.refresh_token||a,expiresIn:i.expires_in}}async function K(a,b,c=null){let d=e.NA.qwen.token;try{let f=await (0,h.jf)(c,()=>fetch(d,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.qwen.clientId})}));if(200===f.status){let c=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await f.text().catch(()=>""),c=null;try{let b=JSON.parse(a);c=b?.error}catch{}if("invalid_request"===c||"invalid_grant"===c)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:f.status,errorCode:c}),{error:"unrecoverable_refresh_error",code:c};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:f.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function L(a,b,c=null){try{let d=await (0,h.jf)(c,()=>fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.codex.clientId})}));if(!d.ok){let a=await d.text(),c=null;try{let b=JSON.parse(a);c=b?.error?.code||("string"==typeof b?.error?b.error:null)}catch{}if("refresh_token_reused"===c||"invalid_grant"===c||"token_expired"===c||"invalid_token"===c)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-authentication required.",{status:d.status,errorCode:c}),{error:"unrecoverable_refresh_error",code:c};if(401===d.status){let a=c||"unauthorized";return b?.error?.("TOKEN_REFRESH","Codex OAuth token endpoint returned 401. Re-authentication required.",{status:d.status,errorCode:a}),{error:"unrecoverable_refresh_error",code:a}}return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:d.status,error:a}),null}let f=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function M(a,b,c,d=null){try{let f=b?.authMethod,g=b?.clientId,i=b?.clientSecret,j=b?.region;if(g&&i&&"imported"!==f){let b=`https://oidc.${j||"us-east-1"}.amazonaws.com/token`,e=await (0,h.jf)(d,()=>fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:g,clientSecret:i,refreshToken:a,grantType:"refresh_token"})}));if(!e.ok){let f,g=await e.text();try{let a=JSON.parse(g);f=a.__type||a.error}catch{}if("InvalidGrantException"===f||"ExpiredTokenException"===f||"invalid_grant"===f)return c?.error?.("TOKEN_REFRESH","Kiro AWS refresh token expired/invalid. Re-authentication required.",{awsErrorType:f}),{error:"unrecoverable_refresh_error",code:f};c?.warn?.("TOKEN_REFRESH","Kiro OIDC refresh failed, attempting client re-registration...",{status:e.status,error:g.slice(0,200)});try{let e=`https://oidc.${j||"us-east-1"}.amazonaws.com/client/register`,f=await (0,h.jf)(d,()=>fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6"})}));if(f.ok){let e=await f.json(),g=await (0,h.jf)(d,()=>fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:a,grantType:"refresh_token"})}));if(g.ok){let b=await g.json();return c?.info?.("TOKEN_REFRESH","Kiro refresh recovered via client re-registration",{hasNewAccessToken:!!b.accessToken,expiresIn:b.expiresIn}),{accessToken:b.accessToken,refreshToken:b.refreshToken||a,expiresIn:b.expiresIn,_newClientId:e.clientId,_newClientSecret:e.clientSecret,_newClientSecretExpiresAt:e.clientSecretExpiresAt}}}}catch(a){c?.warn?.("TOKEN_REFRESH","Kiro client re-registration fallback failed",{error:String(a)})}return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:e.status,error:g.slice(0,200)}),null}let f=await e.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!f.accessToken,expiresIn:f.expiresIn}),{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:f.expiresIn}}let k=e.xq.kiro.tokenUrl;if(!k)return c?.error?.("TOKEN_REFRESH","Missing Kiro token endpoint"),null;let l=await (0,h.jf)(d,()=>fetch(k,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})}));if(!l.ok){let a=await l.text();try{let b=JSON.parse(a),d=b.__type||b.error;if("InvalidGrantException"===d||"ExpiredTokenException"===d||"invalid_grant"===d)return c?.error?.("TOKEN_REFRESH","Kiro social refresh token expired/invalid. Re-authentication required.",{awsErrorType:d}),{error:"unrecoverable_refresh_error",code:d}}catch{}return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a.slice(0,200)}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function N(a,b,c=null){if(!e.NA.qoder.token||!e.xq.qoder.clientId||!e.xq.qoder.clientSecret)return b?.warn?.("TOKEN_REFRESH","Qoder OAuth refresh skipped: browser OAuth is not configured in this environment"),null;let d=btoa(`${e.xq.qoder.clientId}:${e.xq.qoder.clientSecret}`),f=await (0,h.jf)(c,()=>fetch(e.NA.qoder.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.qoder.clientId,client_secret:e.xq.qoder.clientSecret})}));if(!f.ok){let a=await f.text();b?.error?.("TOKEN_REFRESH","Failed to refresh Qoder token",{status:f.status,error:a});let c=A(a);return"invalid_grant"===c||"invalid_request"===c?{error:"unrecoverable_refresh_error",code:c}:null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qoder token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async function O(a,b,c=null){let d=await (0,h.jf)(c,()=>fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.github.clientId,client_secret:e.xq.github.clientSecret})}));if(!d.ok){let a=await d.text();b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:d.status,error:a});let c=A(a);return"invalid_grant"===c||"invalid_request"===c?{error:"unrecoverable_refresh_error",code:c}:null}let f=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function P(a,b,c=null){try{let d=await (0,h.jf)(c,()=>fetch("https://api.github.com/copilot_internal/v2/token",{headers:(0,f.H_)(`token ${a}`)}));if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:d.status,error:a}),null}let e=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!e.token,expiresAt:e.expires_at}),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}}async function Q(a,b,c,d=null){switch(a){case"gemini":case"antigravity":case"agy":return await J(b.refreshToken,e.xq[a].clientId,e.xq[a].clientSecret,c,d);case"claude":return await I(b.refreshToken,c,d);case"codex":return await L(b.refreshToken,c,d);case"qwen":return await K(b.refreshToken,c,d);case"qoder":return await N(b.refreshToken,c,d);case"github":return await O(b.refreshToken,c,d);case"kiro":case"amazon-q":return await M(b.refreshToken,b.providerSpecificData,c,d);case"cline":return await F(b.refreshToken,c,d);case"kimi-coding":return await G(b.refreshToken,b.providerSpecificData,c,d);case"gitlab-duo":return await H(b.refreshToken,b.providerSpecificData,c,d);case"windsurf":case"devin-cli":return await D(b.refreshToken,b.providerSpecificData,c,d);case"codebuddy-cn":return await E(b.refreshToken,c,d);default:return C(a,b.refreshToken,b,c,d)}}function R(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}async function S(a,b,d,e=null,f){if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return d?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let g=f??r.getStore(),h=b.connectionId;if(h&&"string"==typeof h){let f=p.get(h);if(f)return f.waiters++,d?.info?.("TOKEN_REFRESH","Concurrent refresh detected — sharing in-flight refresh",{provider:a,connectionId:h,waiters:f.waiters}),f.promise;let i={promise:null,waiters:0};return i.promise=(async()=>{let f=await T(a,b,d,e);if(f?.accessToken&&g){if(await w(d))return f;try{await g(f)}catch(e){let{sanitizeErrorMessage:b}=await c.e(3659).then(c.bind(c,43659));throw d?.error?.("TOKEN_REFRESH",`onPersist callback failed for ${a}/${h}: ${b(e instanceof Error?e:Error(String(e)))}`),e}}return f})().finally(()=>{p.delete(h)}),p.set(h,i),i.promise}let j=y(a,b.refreshToken);if(o.has(j))return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),o.get(j);let k=(0,i.Aj)(a,()=>Q(a,b,d,e)).then(async b=>{if(b?.accessToken&&g){if(await w(d))return b;try{await g(b)}catch(e){let{sanitizeErrorMessage:b}=await c.e(3659).then(c.bind(c,43659));throw d?.error?.("TOKEN_REFRESH",`Layer 2 onPersist callback failed for ${a}: ${b(e instanceof Error?e:Error(String(e)))}`),e}}else b?.accessToken&&!g&&d?.warn?.("TOKEN_REFRESH",`Layer 2 refresh succeeded for ${a} without onPersist — DB row will not be updated with rotated token. Callers should pass connectionId for Layer 1 atomicity.`);return b}).finally(()=>{o.delete(j)});return o.set(j,k),k}async function T(a,b,d,e){let f=function(a,b){!function(a=Date.now()){if(0!==q.size)for(let[b,c]of q.entries())c.expiresAt<=a&&q.delete(b)}();let c=y(a,b),d=q.get(c);if(d)return d.expiresAt<=Date.now()?void q.delete(c):d}(a,b.refreshToken);if(f)return d?.info?.("TOKEN_REFRESH",`Rotation map hit for ${a}. Returning cached rotated tokens (avoids family-revoke).`),f.result;if(b.connectionId)try{let{getProviderConnectionById:e}=await c.e(7094).then(c.bind(c,87094)),f=await e(b.connectionId);if(f&&f.refreshToken){let c=Date.now(),e=f.expiresAt?new Date(f.expiresAt).getTime():0;if(f.refreshToken!==b.refreshToken){if(d?.info?.("TOKEN_REFRESH",`Stale token detected in memory for ${a}. Using refreshed token from DB.`),e>c+6e4)return d?.info?.("TOKEN_REFRESH","DB token is still valid. Skipping OAuth refresh."),{accessToken:f.accessToken,refreshToken:f.refreshToken,expiresAt:f.expiresAt};b.refreshToken=f.refreshToken,b.accessToken=f.accessToken}}}catch(a){d?.warn?.("TOKEN_REFRESH",`Failed to check DB for stale token: ${a instanceof Error?a.message:String(a)}`)}let g=b.refreshToken,h=await (0,i.Aj)(a,()=>Q(a,b,d,e));return h&&"object"==typeof h&&!("error"in h)&&h.accessToken&&h.refreshToken&&function(a,b,c){if(!b||!c.refreshToken||b===c.refreshToken)return;let d=y(a,b);q.set(d,{result:c,expiresAt:Date.now()+6e4})}(a,g,h),h}let U=S,V={};async function W(a,b){return await new Promise((c,d)=>{let e=setTimeout(()=>c(null),b);"object"==typeof e&&"unref"in e&&e.unref?.(),a().then(a=>{clearTimeout(e),c(a)},a=>{clearTimeout(e),d(a)})})}async function X(a,b=3,c=null,d="unknown"){let e;if((e=V[d])&&e.blockedUntil&&(e.blockedUntil>Date.now()||(delete V[d],0)))return c?.warn?.("TOKEN_REFRESH",`⚡ Circuit breaker active for ${d}, skipping refresh`),null;for(let e=0;e<b;e++){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await W(a,3e4);if(R(b))return c?.warn?.("TOKEN_REFRESH",`Unrecoverable refresh error for ${d}: ${b.error} — skipping retries`),b;if(b)return V[d]&&delete V[d],b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}}return!function(a,b=null){V[a]||(V[a]={failures:0,blockedUntil:0}),V[a].failures++,V[a].failures>=5&&(V[a].blockedUntil=Date.now()+18e5,b?.error?.("TOKEN_REFRESH",`🔴 Circuit breaker tripped for ${a}: 5 consecutive failures. Blocked for 30min. Provider needs re-authentication.`))}(d,c),c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed for ${d}`),null}},20927:(a,b,c)=>{"use strict";var d=c(75919),e=c.n(d),f=c(28064);e()&&!e().markAsUncloneable&&(e().markAsUncloneable=function(a){if(e().markAsUntransferable)try{e().markAsUntransferable(a)}catch{}}),void 0===Promise.withResolvers&&(Promise.withResolvers=function(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}),void 0===globalThis.WebSocket&&(globalThis.WebSocket=f.WebSocket)},39727:()=>{},47990:()=>{},54444:(a,b,c)=>{"use strict";c.d(b,{e:()=>d});let d=null},57843:(a,b,c)=>{"use strict";c.d(b,{Aj:()=>f,Jv:()=>g});let d={codex:"openai-auth0",openai:"openai-auth0",claude:"anthropic-oauth","gitlab-duo":"gitlab-duo",kiro:"kiro","kimi-coding":"kimi-coding",qwen:"qwen"},e=new Map;async function f(a,b){let c,f=d[a]??null;if(!f)return b();let g=e.get(f)??Promise.resolve(),h=new Promise(a=>{c=a}),i=g.then(()=>h);e.set(f,i),await g.catch(()=>{});try{return await b()}finally{if(e.get(f)!==i){let a=function(){let a=process.env.CODEX_REFRESH_SPACING_MS;if(void 0===a||""===a)return 2e3;let b=Number(a);return Number.isFinite(b)&&b>=0?b:2e3}();a>0&&await new Promise(b=>setTimeout(b,a))}c(),e.get(f)===i&&e.delete(f)}}function g(a,b){return"string"==typeof a&&a.length>0&&"string"==typeof b&&b.length>0&&b!==a}},58643:(a,b,c)=>{"use strict";let d;c.d(b,{A:()=>g});var e=c(99765);try{let a=c(3725);d="function"==typeof a.createSession?a.createSession:null}catch{d=null}class f{constructor(){this.session=null,this.failureCount=0,this.maxFailures=3,this.baseCooldownMs=3e4,this.cooldownMs=3e4,this.cooldownMultiplier=1,this.MAX_COOLDOWN_MS=6e5,this.circuitOpenUntil=0,this.circuitTripped=!1,this._libraryAvailable=!!d}get available(){return!!this._libraryAvailable&&(!this.circuitTripped||Date.now()>=this.circuitOpenUntil)}recordFailure(){this.failureCount++,this.failureCount>=this.maxFailures&&(this.circuitOpenUntil=Date.now()+this.cooldownMs,this.circuitTripped=!0,this.session&&(Promise.resolve(this.session.close()).catch(()=>{}),this.session=null),console.warn(`[TlsClient] Circuit opened after ${this.failureCount} consecutive failures, cooling down for ${this.cooldownMs}ms`),this.escalateCooldown())}recordSuccess(){this.failureCount=0,this.circuitTripped&&(this.cooldownMultiplier=1,this.cooldownMs=this.baseCooldownMs,console.log("[TlsClient] Circuit closed (success after cooldown)"),this.circuitTripped=!1)}escalateCooldown(){this.cooldownMultiplier=Math.min(2*this.cooldownMultiplier,20),this.cooldownMs=Math.min(this.baseCooldownMs*this.cooldownMultiplier,this.MAX_COOLDOWN_MS)}checkCircuit(){return!this.circuitTripped||Date.now()>=this.circuitOpenUntil&&(console.log("[TlsClient] Half-open: retrying after cooldown"),!0)}async getSession(){if(!this.checkCircuit()||!this.available)return null;if(this.session)return this.session;let a=d;if(!a)return null;let b=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,c={browser:"chrome_124",os:"macos"};return b&&(c.proxy=b,console.log(`[TlsClient] Using proxy: ${b}`)),this.session=await a(c),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){if(!this.checkCircuit())throw Error("wreq-js circuit open — skipping TLS request");try{let c=await this.getSession();if(!c)throw Error("wreq-js not available");let{timeoutMs:d}=(0,e.uw)(process.env,a=>{console.warn(`[TlsClient] ${a}`)}),f={method:(b.method||"GET").toUpperCase(),headers:function(a){if(!a)return;if(a instanceof Headers)return Object.fromEntries(a.entries());if(Array.isArray(a))return Object.fromEntries(a.map(([a,b])=>[a,String(b)]));let b={};for(let[c,d]of Object.entries(a))"string"==typeof d&&(b[c]=d);return b}(b.headers),body:b.body,redirect:"manual"===b.redirect?"manual":"follow",timeout:d};b.signal&&(f.signal=b.signal);let g=await c.fetch(a,f);return this.recordSuccess(),g}catch(a){throw a instanceof Error&&("AbortError"===a.name||a.message.includes("aborted"))||this.recordFailure(),a}}async exit(){this.session&&(await this.session.close(),this.session=null)}resetCircuit(){this.failureCount=0,this.circuitTripped=!1,this.circuitOpenUntil=0}getCircuitState(){return{available:this.available,circuitTripped:this.circuitTripped,failureCount:this.failureCount,circuitOpenUntil:this.circuitOpenUntil,coolDownRemainingMs:this.circuitOpenUntil>0?Math.max(0,this.circuitOpenUntil-Date.now()):0}}}let g=new f},68404:(a,b,c)=>{"use strict";c.d(b,{KS:()=>d,wX:()=>e});let d=()=>!1,e=()=>!1},69889:(a,b,c)=>{"use strict";c.d(b,{Bm:()=>e,UL:()=>g,wI:()=>f});var d=c(77030);function e(a){return"string"!=typeof a?"":a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a}function f(a){let b=e(a),c=(0,d.isIP)(b);return 0===c?null:c}function g(a){return"ipv4"===a||"ipv6"===a?a:"auto"}},85376:(a,b,c)=>{"use strict";c.d(b,{R4:()=>y,I_:()=>A,DJ:()=>q,Sn:()=>r,g4:()=>o,zP:()=>x,HN:()=>z,OK:()=>w}),c(20927);var d=c(47774),e=c(20406),f=c(99765),g=c(69889),h=c(13092);let i=Symbol.for("omniroute.proxyDispatcher.cache"),j=Symbol.for("omniroute.proxyDispatcher.default"),k=Symbol.for("omniroute.proxyDispatcher.retry");class l{constructor(a){this.nextIndex=0,this.dispatchers=a}dispatch(a,b){let c=this.dispatchers[this.nextIndex%this.dispatchers.length];return this.nextIndex=(this.nextIndex+1)%this.dispatchers.length,c.dispatch(a,b)}close(a){let b=Promise.all(this.dispatchers.map(a=>a.close())).then(()=>void 0);return a?void b.then(a):b}destroy(a,b){let c="function"==typeof a?a:b,d="function"==typeof a?null:a??null,e=Promise.all(this.dispatchers.map(a=>a.destroy(d))).then(()=>void 0);return c?void e.then(c):e}}let m=new Set(["http:","https:","socks5:"]),n=new Set(["vercel","deno","cloudflare"]);function o(a){return"string"==typeof a&&n.has(a)}function p(){let a=(0,f.pf)(process.env,a=>{console.warn(`[ProxyDispatcher] ${a}`)});return{headersTimeout:a.fetchHeadersTimeoutMs,bodyTimeout:a.fetchBodyTimeoutMs,connectTimeout:a.fetchConnectTimeoutMs,keepAliveTimeout:a.fetchKeepAliveTimeoutMs,keepAliveMaxTimeout:a.fetchKeepAliveTimeoutMs}}function q(){let a=globalThis[j];if(!a){var b,c;let e;c=function(a=process.env){let b=a.OMNIROUTE_DIRECT_DISPATCHER_CONNECTIONS;if(null==b||""===b.trim())return 32;let c=Number(b);return!Number.isFinite(c)||c<1?(console.warn(`[ProxyDispatcher] Invalid OMNIROUTE_DIRECT_DISPATCHER_CONNECTIONS="${b}". Using default 32.`),32):Math.min(Math.floor(c),256)}(),e={...p(),connections:1,pipelining:0},b=a=new l(Array.from({length:c},()=>new d.Agent(e))),globalThis[j]=b}return a}function r(){let a=globalThis[k];if(!a){var b;b=a=new d.Agent({...p(),keepAliveTimeout:1,keepAliveMaxTimeout:1,pipelining:0}),globalThis[k]=b}return a}function s(a){try{let b=a.indexOf("://");if(-1===b)return null;let c=b+3,d=a.indexOf("/",c),e=-1===d?a.slice(c):a.slice(c,d),f=e.lastIndexOf(":"),g=e.lastIndexOf("@");if(-1!==f&&f>g){let a=e.slice(f+1);if(/^\d+$/.test(a)){let b=Number(a);if(Number.isInteger(b)&&b>=1&&b<=65535)return String(b)}}}catch{}return null}function t(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function u(a,b){if(!a)return t(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function v(){return!["false","0","no","off"].includes((process.env.ENABLE_SOCKS5_PROXY??"").trim().toLowerCase())}function w(a){let b=s(a),c=new URL(a),d=b||c.port||t(c.protocol);return`${c.protocol}//${c.hostname}:${d}`}function x(a,b="proxy",{allowSocks5:c=v()}={}){var d;let e,f,h=a.match(/\?family=(ipv4|ipv6)$/),i=h?h[0]:"",j=i?a.slice(0,-i.length):a,k=s(j);try{e=new URL(j)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!m.has(e.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${e.protocol.replace(":","")}`);if("socks5:"===e.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (remove ENABLE_SOCKS5_PROXY=false to enable — it is ON by default)");if(!e.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);let l=k||u(e.port,e.protocol),n=(0,g.UL)((h?h[1]:e.searchParams.get("family"))??void 0),o=(f=(d=e).username?`${d.username}${d.password?`:${d.password}`:""}@`:"",`${d.protocol}//${f}${d.hostname}:${l}`);return"auto"===n?o:`${o}?family=${n}`}function y(a,b){let c=new URL(a);return{"x-relay-target":`${c.protocol}//${c.host}`,"x-relay-path":c.pathname+c.search,"x-relay-auth":b}}function z(a,{allowSocks5:b=v()}={}){if(!a)return null;if("string"==typeof a)return x(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");if(!a.host)return null;let c=String(a.type||"http").toLowerCase();if(n.has(c))return a.host?`https://${a.host}`:null;let d=`${c}:`;if(!m.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (remove ENABLE_SOCKS5_PROXY=false to enable — it is ON by default)");let e=u(a.port,d),f=a.username?`${encodeURIComponent(a.username)}:${a.password?encodeURIComponent(a.password):""}@`:"",h=`${c}://${f}${a.host}:${e}`,i=(0,g.UL)(a.family),j=x(h,"context proxy",{allowSocks5:b});return"auto"===i?j:`${j}?family=${i}`}function A(a){let b,c=x(a,"proxy dispatcher"),f=((b=globalThis)[i]||(b[i]=new Map),b[i]),j=function(a=process.env){return{...p(),connections:function(a=process.env){let b=a.OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS;if(null==b||""===b.trim())return 32;let c=Number(b);return!Number.isFinite(c)||c<1?(console.warn(`[ProxyDispatcher] Invalid OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS="${b}". Using default 32.`),32):Math.min(Math.floor(c),256)}(a),keepAliveTimeout:1,keepAliveMaxTimeout:1,pipelining:0}}(),k=f.get(c);if(k)return k;let l=new URL(c),m=function(a){let b=(0,g.UL)(a.searchParams.get("family")??void 0),c=(0,g.wI)(a.hostname);if("auto"===b)return c;let d="ipv6"===b?6:4;if(null!==c&&c!==d)throw Error(`[ProxyDispatcher] Proxy family directive ${b} contradicts ${6===c?"IPv6":"IPv4"} literal host`);return d}(l);l.searchParams.delete("family");let n=c.replace(/\?family=(ipv4|ipv6)$/,""),o=s(n)||u(l.port,l.protocol);if("socks5:"===l.protocol){let a={type:5,host:(0,g.Bm)(l.hostname),port:Number(o)};l.username&&(a.userId=decodeURIComponent(l.username)),l.password&&(a.password=decodeURIComponent(l.password)),k=null===m?(0,e.vI)(a,j):function(a,b,c={}){let{connect:e,...f}=c;return new d.Agent({...f,connect:function(a,b,c={}){let e=(0,d.buildConnector)(c),f=6===b?{family:6,autoSelectFamily:!1}:4===b?{family:4,autoSelectFamily:!1}:{};return async(b,c)=>{let{protocol:d,hostname:g,port:i,httpSocket:j}=b;try{let k=(await h.SocksClient.createConnection({command:"connect",proxy:a,timeout:function(a=process.env){let b=a.SOCKS_HANDSHAKE_TIMEOUT_MS;if(null==b||""===b.trim())return 1e4;let c=Number(b);return!Number.isFinite(c)||c<1?1e4:Math.min(Math.floor(c),12e4)}(),destination:{host:g,port:i?Number.parseInt(i,10):"http:"===d?80:443},existing_socket:j,socket_options:f})).socket;if("https:"!==d)return c(null,k.setNoDelay());return e({...b,httpSocket:k},c)}catch(a){return c(a,null)}}}(a,b,e)})}(a,m,j)}else k=new d.ProxyAgent({uri:n,...j,...null!==m?{proxyTls:{family:m,autoSelectFamily:!1}}:{}});return f.set(c,k),k}},95538:(a,b,c)=>{"use strict";let d;c.d(b,{proxyAwareFetch:()=>D,l:()=>y,jf:()=>A}),c(20927);var e=c(16698),f=c(47774),g=c(85376),h=c(58643),i=c(68404),j=c(89718);let k=new Map;function l(a){let b=a.username?`${encodeURIComponent(a.username)}:${encodeURIComponent(a.password||"")}@`:"";return`${a.type}://${b}${a.host}:${a.port}`}async function m(a){let b=new Set;try{let a=await (0,j.P)("global");a?.proxy&&b.add(l(a.proxy))}catch{}try{for(let a of(await (0,j.zU)({includeSecrets:!0})))a.host&&a.port&&b.add(l(a))}catch{}try{for(let a of(await (0,j.Bb)({limit:5})))a.host&&a.port&&b.add(l(a))}catch{}if(a)try{let c=function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(c){let b;try{b=new URL(a).hostname.toLowerCase()}catch{return null}if(c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.includes("*")?RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$").test(b):b===a||b.endsWith(`.${a}`))))return null}try{b=new URL(a).protocol}catch{return null}let d="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;if(!d)return null;try{return(0,g.zP)(d,"environment proxy")}catch{return null}}(a);c&&b.add(c)}catch{}return Array.from(b)}async function n(a,b,c=3e3){let d=Date.now();try{let e=new AbortController,h=setTimeout(()=>e.abort(),c),i=(0,g.I_)(a);await (0,f.fetch)(b,{method:"HEAD",signal:e.signal,dispatcher:i,headers:{"User-Agent":"OmniRoute/1.0"}}),clearTimeout(h);let j=Date.now()-d;return{ok:!0,latencyMs:j}}catch{return{ok:!1,latencyMs:null}}}async function o(a,b){if(!a)return null;let c=function(a,b){try{let a=new URL(b),c=`${a.pathname||"/"}${a.search}`;return`${a.protocol}//${a.host}${c}`}catch{return a.toLowerCase()}}(a,b),d=k.get(c);if(d){if(d.expiresAt>Date.now())return d.proxyUrl||null;k.delete(c)}let e=await ((void 0)??m)(b);if(0===e.length)return null;let f=(await Promise.allSettled(e.map(async a=>{let{ok:c}=await ((void 0)??n)(a,b);return{proxyUrl:a,ok:c}}))).find(a=>"fulfilled"===a.status&&a.value.ok);if(f&&"fulfilled"===f.status){let a=f.value.proxyUrl;return k.set(c,{proxyUrl:a,expiresAt:Date.now()+3e5}),a}return k.set(c,{proxyUrl:"",expiresAt:Date.now()+3e5}),null}let p=new e.AsyncLocalStorage,q=new e.AsyncLocalStorage;function r(a){let b=[],c=new Set,d=a;for(let a=0;d&&a<5&&!c.has(d);a++){c.add(d);let a=d,e=["string"==typeof a.name&&"Error"!==a.name?a.name:null,"string"==typeof a.message?a.message.slice(0,160):null,null!=a.code?`code=${String(a.code)}`:null,null!=a.syscall?`syscall=${String(a.syscall)}`:null,null!=a.errno?`errno=${String(a.errno)}`:null,null!=a.address?`address=${String(a.address)}${null!=a.port?`:${String(a.port)}`:""}`:null].filter(Boolean).join(" ");if(e&&b.push(e),Array.isArray(a.errors))for(let c of a.errors.slice(0,4)){let a=c??{},d=[null!=a.code?`code=${String(a.code)}`:null,null!=a.syscall?`syscall=${String(a.syscall)}`:null,null!=a.address?`address=${String(a.address)}${null!=a.port?`:${String(a.port)}`:""}`:null].filter(Boolean).join(" ");d?b.push(`↳ ${d}`):"string"==typeof a.message&&b.push(`↳ ${a.message.slice(0,80)}`)}d=a.cause}return b.join(" | ")||String(a)}let s="u">typeof caches&&"object"==typeof caches,t=Symbol.for("omniroute.proxyFetch.state"),u=((d=globalThis)[t]||(d[t]={originalFetch:globalThis.fetch,proxyContext:new e.AsyncLocalStorage,isPatched:!1}),d[t]),v=u.originalFetch,w=u.proxyContext;function x(a,b){let c,d=b??process.env.NO_PROXY??process.env.no_proxy;if(!d)return!1;try{c=new URL(a)}catch{return!1}let e=c.hostname.toLowerCase(),f=c.port||("https:"===c.protocol?"443":"80");return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");if(c&&c!==f||!b)return!1;if(b.includes("*")){let a=b.split("*"),c=0,d=e.startsWith(a[0]);if(d){c=a[0].length;for(let b=1;b<a.length&&d;b++){let f=a[b];if(b===a.length-1)d=""===f||e.endsWith(f)&&e.length-f.length>=c;else{let a=f?e.indexOf(f,c):c;-1===a?d=!1:c=a+f.length}}}if(d)return!0}return b.startsWith(".")?e.endsWith(b)||e===b.slice(1):e===b||e.endsWith(`.${b}`)})}function y(a){let b,c;try{b=new URL(a)}catch{b=null}if(b&&("localhost"===(c=b.hostname.toLowerCase().replace(/^\[/,"").replace(/\]$/,"").replace(/^::ffff:/i,""))||"0.0.0.0"===c||"127.0.0.1"===c||"::1"===c||c.endsWith(".local")||c.endsWith(".lan")||c.endsWith(".internal")||c.startsWith("192.168.")||c.startsWith("10.")||c.startsWith("127.")||c.startsWith("169.254.")||/^172\.(1[6-9]|2\d|3[0-1])\./.test(c)||/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./.test(c)||/^f[cd][0-9a-f]*:/i.test(c)||c.startsWith("fe80:")))return{source:"direct",proxyUrl:null};let d=w.getStore();if(d)return d.__noProxy&&x(a,d.__noProxy)?{source:"direct",proxyUrl:null}:{source:"context",proxyUrl:d.__relayUrl||d.__proxyUrl||(0,g.HN)(d)};let e=function(a){let b;if(x(a))return null;try{b=new URL(a).protocol}catch{return null}let c="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;return c?(0,g.zP)(c,"environment proxy"):null}(a);return e?{source:"env",proxyUrl:e}:{source:"direct",proxyUrl:null}}function z(a){return"string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a)}async function A(a,b,d){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let e=w.getStore(),f=a||e||null;if(f?.vercelRelayUrl){let a;try{a=new URL(f.vercelRelayUrl)}catch{throw Error("[ProxyFetch] Invalid relay URL")}f={type:"vercel",host:a.host,__relayUrl:a.toString().replace(/\/$/,""),__allowMissingRelayAuth:!0,__noProxy:f.connectionNoProxy||""}}else f?.connectionProxyUrl&&(f=!0===f.connectionProxyEnabled?{__proxyUrl:f.connectionProxyUrl,__noProxy:f.connectionNoProxy||""}:null);let h=f?f.__proxyUrl||(0,g.HN)(f):null,j=d?.directFallbackOnUnreachable===!0&&(0,i.KS)(),k=(0,g.g4)(f?.type);if(h&&!k&&!await !1){let a=(0,g.OK)(h);if(j)return console.warn(`[ProxyFetch] Proxy unreachable (${a}); using a direct connection for this request.`),w.run(null,b);let c=Error(`[Proxy Fast-Fail] Proxy unreachable: ${a}`);throw c.code="PROXY_UNREACHABLE",c.statusCode=503,c}if(h&&!k)try{let a=new URL(h),b=a.searchParams.get("family");if("ipv6"===b||"ipv4"===b){let{assertHostnameSupportsFamily:d}=await c.e(3041).then(c.bind(c,53041));await d(a.hostname,"ipv6"===b?6:4)}}catch(a){if(j)return console.warn(`[ProxyFetch] Proxy family pre-check failed (${(0,g.OK)(h)}); using a direct connection for this request.`),w.run(null,b);throw a.code=a.code||"PROXY_FAMILY_UNAVAILABLE",a.statusCode=a.statusCode||503,a}return w.run(f,async()=>{if(h&&f!==e&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,g.OK)(h)}`),f){let a=q.getStore();a&&(a.proxy=f)}return b()})}async function B(a,b={},c={}){let d;if(b?.dispatcher)return(c.undiciFetch??f.fetch)(a,b);let e=z(a);try{d=y(e)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:j,proxyUrl:k}=d;if(!k){var l,m;if("true"===process.env.ENABLE_TLS_FINGERPRINT&&h.A.available)try{let a=p.getStore();return a&&(a.used=!0),await h.A.fetch(e,{...b,headers:b.headers,signal:b.signal??void 0})}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=p.getStore();b&&(b.used=!1)}let d=(l=a,!!(null!=(m=b.body)&&"object"==typeof m&&("function"==typeof m.getReader||"function"==typeof m.stream)||"u">typeof Request&&l instanceof Request&&(l.bodyUsed||null!==l.body))||!1),k=d?1:2,n=c.undiciFetch??f.fetch,q=c.nativeFetch??v,s=null;for(let c=0;c<k;c++)try{return await n(a,{...b,dispatcher:0===c?(0,g.DJ)():(0,g.Sn)()})}catch(l){let f=l instanceof Error?l.message:String(l);if(f.includes("onRequestStart"))throw console.error(`[ProxyFetch] Fatal version mismatch: Dispatcher (v8) vs Fetch (v6/native). Hardware upgrade or SOCKS5 config isolation required. Error: ${f}`),l;let h=l?.code;if(f.includes("fetch failed")||"ECONNREFUSED"===h||f.includes("ECONNREFUSED")||"string"==typeof h&&h.startsWith("UND_ERR")||f.includes("UND_ERR")){if(0===c&&k>1){s=l,await new Promise(a=>setTimeout(a,25+50*Math.random()));continue}if(d){let a=`dispatcher=[${r(l)}] native=[skipped: non-replayable request body]`;throw console.warn(`[ProxyFetch] skipping native fetch fallback for non-replayable body: ${a}`),l instanceof Error&&(l.proxyFetchDetail=a),l}if("direct"===j&&(0,i.wX)("PROXY_AUTO_SELECT_ENABLED")){let c="";try{c=new URL(e).hostname}catch{}if(c){let d=await o(c,e);if(d)try{let c=(0,g.I_)(d);return await n(a,{...b,dispatcher:c})}catch{}}}console.warn(`[ProxyFetch] Undici dispatcher failed, falling back to native fetch (after retry): ${r(l)}`);try{return await q(a,b)}catch(b){let a=`dispatcher=[${r(l)}] native=[${r(b)}]`;throw console.warn(`[ProxyFetch] native fetch fallback ALSO failed: ${a}`),b instanceof Error&&(b.proxyFetchDetail=a),b}}throw l}throw s}let n=w.getStore();if(n&&"object"==typeof n&&(0,g.g4)(n.type)){if(!n.relayAuth&&!n.__allowMissingRelayAuth){let a="vercel"===n.type?"Vercel relay":`${n.type||"Edge"} relay`;throw Error(`${a} configuration error: missing relayAuth`)}let c=z(a),d=(0,g.R4)(c,n.relayAuth||""),e=new Headers(b?.headers);for(let[a,b]of Object.entries(d))e.set(a,b);let f=(0,g.OK)(n.host?`https://${n.host}`:"");return"true"===process.env.OMNIROUTE_PROXY_FETCH_DEBUG&&console.debug(`[ProxyFetch] Routing via ${n.type||"edge"} relay: ${f}`),await v(n.__relayUrl||`https://${n.host}`,{...b,headers:e,duplex:"half"})}try{let d=(0,g.I_)(k),e=c.undiciFetch??f.fetch;return await e(a,{...b,dispatcher:d})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${j}, fail-closed): ${a}`),b}}async function C(a,b={},c={}){return B(a,b,c)}async function D(a,b={},c=null){return c&&(!0===c.connectionProxyEnabled||c.vercelRelayUrl)?A(c,()=>C(a,b)):C(a,b)}s||u.isPatched||(globalThis.fetch=B,u.isPatched=!0)}};
1
+ exports.id=3617,exports.ids=[3617],exports.modules={8590:(a,b,c)=>{"use strict";c.d(b,{$B:()=>U,Bc:()=>s,I9:()=>J,Ib:()=>v,Og:()=>n,Ql:()=>M,iD:()=>S,jR:()=>P,jT:()=>R,oD:()=>l,qZ:()=>X});var d=c(16698),e=c(61408),f=c(86522),g=c(77598),h=c(95538),i=c(57843),j=c(54444),k=c(44418);let l=3e5,m={codex:3e5,openai:3e5,claude:3e5,"gitlab-duo":3e5,kiro:3e5,"kimi-coding":3e5,qwen:3e5,iflow:864e5,antigravity:9e5,agy:9e5};function n(a,b){let c=b?.refreshLeadMs;return"number"==typeof c&&Number.isFinite(c)&&c>0?c:m[a]??l}let o=new Map,p=new Map,q=new Map,r=new d.AsyncLocalStorage;function s(a,b){return a?r.run(a,b):b()}let t=new d.AsyncLocalStorage,u={skipped:0,persisted:0};function v(a,b){return a?t.run(a,b):b()}async function w(a){let b,c=t.getStore();if(!c||!c.expectedRefreshToken)return!1;try{b=await c.reread()}catch{return!1}return(0,i.Jv)(c.expectedRefreshToken,b)?(u.skipped++,a?.warn?.("TOKEN_REFRESH","CAS guard: skipping persist — a concurrent writer already rotated the refresh_token (#4038)"),!0):(u.persisted++,!1)}function x(a){let b=new URLSearchParams;for(let[c,d]of Object.entries(a))"string"==typeof d&&d.length>0&&b.set(c,d);return b}function y(a,b){let c=(0,g.pbkdf2Sync)(b,"omniroute-token-cache",1e3,32,"sha256").toString("hex");return`${a}:${c}`}let z=new Set(["invalid_grant","invalid_request","refresh_token_reused","invalid_token","expired_token","unauthorized_client","access_denied"]);function A(a,b=0){if(null==a||b>6)return null;if("string"==typeof a){let c=a.trim();if(!c)return null;if(z.has(c))return c;if("{"===c[0]||"["===c[0]||'"'===c[0])try{let a=A(JSON.parse(c),b+1);if(a)return a}catch{}let d=c.match(/"error(?:_code)?"\s*:\s*"([a-z_]+)"/i);return d&&z.has(d[1])?d[1]:null}return"object"==typeof a?A(a.error,b+1)??A(a.code,b+1)??A(a.error_code,b+1):null}async function B(a){let b=await a.text().catch(()=>""),c=b;try{c=JSON.parse(b)}catch{}let d=A(c)??A(b);return{rawText:b,code:d}}async function C(a,b,c,d,f=null){let g=e.xq[a],i=g?.refreshUrl||g?.tokenUrl;if(!g||!i)return d?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return d?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});g.clientId&&c.set("client_id",g.clientId),g.clientSecret&&c.set("client_secret",g.clientSecret);let e=await (0,h.jf)(f,()=>fetch(i,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c}));if(!e.ok){let b=await e.text();d?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:e.status,error:b});let c=A(b);if("invalid_grant"===c||"invalid_request"===c)return{error:"unrecoverable_refresh_error",code:c};return null}let j=await e.json();return d?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!j.access_token,hasNewRefreshToken:!!j.refresh_token,expiresIn:j.expires_in}),{accessToken:j.access_token,refreshToken:j.refresh_token||b,expiresIn:j.expires_in}}catch(b){return d?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function D(a,b,c,d=null){if(!a)return c?.warn?.("TOKEN_REFRESH","No refresh token stored for Windsurf — token may be a long-lived API key"),null;if("import"===(b?.authMethod||"import"))return c?.debug?.("TOKEN_REFRESH","Windsurf import token is long-lived — no refresh needed"),null;let e=j.e.firebaseApiKey||"";if(!e)return c?.warn?.("TOKEN_REFRESH","Windsurf Firebase API key unavailable — skipping Firebase token refresh"),null;let f=`https://securetoken.googleapis.com/v1/token?key=${e}`;try{let b=await (0,h.jf)(d,()=>fetch(f,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:x({grant_type:"refresh_token",refresh_token:a})}));if(!b.ok){let a=await b.text();c?.error?.("TOKEN_REFRESH","Failed to refresh Windsurf Firebase token",{status:b.status,error:a.slice(0,200)});try{let b=JSON.parse(a),d="string"==typeof b?.error?.message?b.error.message:"string"==typeof b?.error?b.error:null;if("string"==typeof d&&(d.includes("USER_DISABLED")||d.includes("TOKEN_EXPIRED")||d.includes("INVALID_REFRESH_TOKEN")||d.includes("USER_NOT_FOUND")))return c?.error?.("TOKEN_REFRESH","Windsurf Firebase token is permanently invalid. Re-authentication required.",{fbCode:d}),{error:"unrecoverable_refresh_error",code:d}}catch{}return null}let e=await b.json(),g=parseInt(e.expires_in??"3600",10);return c?.info?.("TOKEN_REFRESH","Successfully refreshed Windsurf Firebase token",{expiresIn:g,hasNewIdToken:!!e.id_token}),{accessToken:e.id_token,refreshToken:e.refresh_token||a,expiresIn:g}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Windsurf token: ${a instanceof Error?a.message:String(a)}`),null}}async function E(a,b,d=null){if(!a)return null;let{CODEBUDDY_CN_CONFIG:e}=await Promise.resolve().then(c.bind(c,54444));try{let c=await (0,h.jf)(d,()=>fetch(e.refreshUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":e.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-Refresh-Token":a,"X-Auth-Refresh-Source":"plugin","X-Product":"SaaS"},body:"{}"}));if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh CodeBuddy CN token",{status:c.status,error:a}),null}let f=await c.json();if(f?.code!==0||!f?.data?.accessToken)return b?.error?.("TOKEN_REFRESH","CodeBuddy CN token refresh returned no token",{code:f?.code,msg:f?.msg}),null;return b?.info?.("TOKEN_REFRESH","Successfully refreshed CodeBuddy CN token",{hasNewAccessToken:!!f.data.accessToken,hasNewRefreshToken:!!f.data.refreshToken,expiresIn:f.data.expiresIn}),{accessToken:f.data.accessToken,refreshToken:f.data.refreshToken||a,expiresIn:f.data.expiresIn}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing CodeBuddy CN token: ${a?.message}`),null}}async function F(a,b,c=null){let d=e.xq.cline?.refreshUrl;if(!d)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let e=await (0,h.jf)(c,()=>fetch(d,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})}));if(!e.ok){let a=await e.text();b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:e.status,error:a});let c=A(a);if("invalid_grant"===c||"invalid_request"===c)return{error:"unrecoverable_refresh_error",code:c};if(401===e.status)return{error:"unrecoverable_refresh_error",code:c||"unauthorized"};return null}let f=await e.json(),g=f?.data||f,i=g?.expiresAt,j=i?Math.max(1,Math.floor((new Date(i).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!g?.accessToken,hasNewRefreshToken:!!g?.refreshToken,expiresIn:j}),{accessToken:g?.accessToken,refreshToken:g?.refreshToken||a,expiresIn:j}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function G(a,b,c,d=null){let f=e.xq["kimi-coding"]?.refreshUrl||e.xq["kimi-coding"]?.tokenUrl;if(!f)return c?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;let i=b?.deviceId||(0,g.pbkdf2Sync)(a,"kimi-device-id",1e3,16,"sha256").toString("hex"),j=process.env.KIMI_CLI_VERSION||"1.36.0",k="u">typeof process?process.platform:"unknown",l=[k,"u">typeof process?process.arch:"unknown"].filter(Boolean).join(" ");try{let g=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:e.xq["kimi-coding"]?.clientId||""}),m=await (0,h.jf)(d,()=>fetch(f,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","X-Msh-Platform":"kimi_cli","X-Msh-Version":j,"X-Msh-Device-Model":b?.deviceModel||l,"X-Msh-Device-Id":i,"X-Msh-Device-Name":b?.deviceName||k,"X-Msh-Os-Version":b?.osVersion||k},body:g}));if(!m.ok){let a=await m.text();try{let b=JSON.parse(a),d=b?.error;if("invalid_grant"===d||"invalid_request"===d)return c?.error?.("TOKEN_REFRESH","Kimi Coding refresh token invalid. Re-authentication required.",{errorCode:d}),{error:"unrecoverable_refresh_error",code:d}}catch{}return c?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:m.status,error:a.slice(0,200)}),null}let n=await m.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!n.access_token,hasNewRefreshToken:!!n.refresh_token,expiresIn:n.expires_in}),{accessToken:n.access_token,refreshToken:n.refresh_token||a,expiresIn:n.expires_in,tokenType:n.token_type,scope:n.scope}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a instanceof Error?a.message:String(a)}`),null}}async function H(a,b,c,d=null){if(!a)return c?.warn?.("TOKEN_REFRESH","No refresh token for GitLab Duo"),null;let f=(0,k.L_)(b),g=(0,k.Tg)(f).tokenUrl,i=b?.clientId||e.xq["gitlab-duo"]?.clientId||process.env.GITLAB_DUO_OAUTH_CLIENT_ID||process.env.GITLAB_OAUTH_CLIENT_ID||"";try{let b=await (0,h.jf)(d,()=>fetch(g,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:i})}));if(!b.ok){let a=await b.text();try{let b=JSON.parse(a).error;if("invalid_grant"===b||"invalid_request"===b)return c?.error?.("TOKEN_REFRESH","GitLab Duo refresh token invalid. Re-authentication required.",{errorCode:b}),{error:"unrecoverable_refresh_error",code:b}}catch{}return c?.error?.("TOKEN_REFRESH","Failed to refresh GitLab Duo token",{status:b.status,error:a.slice(0,200)}),null}let e=await b.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed GitLab Duo token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing GitLab Duo token: ${a instanceof Error?a.message:String(a)}`),null}}async function I(a,b,c=null){try{let d=x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.claude.clientId}),f=await (0,h.jf)(c,()=>fetch(e.NA.anthropic.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","anthropic-beta":"oauth-2025-04-20"},body:d.toString()}));if(!f.ok){let{rawText:a,code:c}=await B(f);if(b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:f.status,error:a.slice(0,300)}),"invalid_grant"===c||"invalid_request"===c)return{error:"unrecoverable_refresh_error",code:c};return null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function J(a,b,c,d,f=null){let g=await (0,h.jf)(f,()=>fetch(e.NA.google.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})}));if(!g.ok){let a=await g.text();d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:g.status,error:a.slice(0,200)});try{let b=JSON.parse(a);if("invalid_grant"===b.error)return d?.error?.("TOKEN_REFRESH","Google refresh token invalid. Re-authentication required.",{provider:"google"}),{error:"unrecoverable_refresh_error",code:"invalid_grant"}}catch{}return null}let i=await g.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!i.access_token,hasNewRefreshToken:!!i.refresh_token,expiresIn:i.expires_in}),{accessToken:i.access_token,refreshToken:i.refresh_token||a,expiresIn:i.expires_in}}async function K(a,b,c=null){let d=e.NA.qwen.token;try{let f=await (0,h.jf)(c,()=>fetch(d,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.qwen.clientId})}));if(200===f.status){let c=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!c.access_token,hasNewRefreshToken:!!c.refresh_token,expiresIn:c.expires_in}),{accessToken:c.access_token,refreshToken:c.refresh_token||a,expiresIn:c.expires_in,providerSpecificData:c.resource_url?{resourceUrl:c.resource_url}:void 0}}{let a=await f.text().catch(()=>""),c=null;try{let b=JSON.parse(a);c=b?.error}catch{}if("invalid_request"===c||"invalid_grant"===c)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:f.status,errorCode:c}),{error:"unrecoverable_refresh_error",code:c};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:f.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function L(a,b,c=null){try{let d=await (0,h.jf)(c,()=>fetch(e.NA.openai.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.codex.clientId})}));if(!d.ok){let a=await d.text(),c=null;try{let b=JSON.parse(a);c=b?.error?.code||("string"==typeof b?.error?b.error:null)}catch{}if("refresh_token_reused"===c||"invalid_grant"===c||"token_expired"===c||"invalid_token"===c)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used or invalid. Re-authentication required.",{status:d.status,errorCode:c}),{error:"unrecoverable_refresh_error",code:c};if(401===d.status){let a=c||"unauthorized";return b?.error?.("TOKEN_REFRESH","Codex OAuth token endpoint returned 401. Re-authentication required.",{status:d.status,errorCode:a}),{error:"unrecoverable_refresh_error",code:a}}return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:d.status,error:a}),null}let f=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function M(a,b,c,d=null){try{let f=b?.authMethod,g=b?.clientId,i=b?.clientSecret,j=b?.region;if(g&&i&&"imported"!==f){let b=`https://oidc.${j||"us-east-1"}.amazonaws.com/token`,e=await (0,h.jf)(d,()=>fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:g,clientSecret:i,refreshToken:a,grantType:"refresh_token"})}));if(!e.ok){let f,g=await e.text();try{let a=JSON.parse(g);f=a.__type||a.error}catch{}if("InvalidGrantException"===f||"ExpiredTokenException"===f||"invalid_grant"===f)return c?.error?.("TOKEN_REFRESH","Kiro AWS refresh token expired/invalid. Re-authentication required.",{awsErrorType:f}),{error:"unrecoverable_refresh_error",code:f};c?.warn?.("TOKEN_REFRESH","Kiro OIDC refresh failed, attempting client re-registration...",{status:e.status,error:g.slice(0,200)});try{let e=`https://oidc.${j||"us-east-1"}.amazonaws.com/client/register`,f=await (0,h.jf)(d,()=>fetch(e,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6"})}));if(f.ok){let e=await f.json(),g=await (0,h.jf)(d,()=>fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:e.clientId,clientSecret:e.clientSecret,refreshToken:a,grantType:"refresh_token"})}));if(g.ok){let b=await g.json();return c?.info?.("TOKEN_REFRESH","Kiro refresh recovered via client re-registration",{hasNewAccessToken:!!b.accessToken,expiresIn:b.expiresIn}),{accessToken:b.accessToken,refreshToken:b.refreshToken||a,expiresIn:b.expiresIn,_newClientId:e.clientId,_newClientSecret:e.clientSecret,_newClientSecretExpiresAt:e.clientSecretExpiresAt}}}}catch(a){c?.warn?.("TOKEN_REFRESH","Kiro client re-registration fallback failed",{error:String(a)})}return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:e.status,error:g.slice(0,200)}),null}let f=await e.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!f.accessToken,expiresIn:f.expiresIn}),{accessToken:f.accessToken,refreshToken:f.refreshToken||a,expiresIn:f.expiresIn}}let k=e.xq.kiro.tokenUrl;if(!k)return c?.error?.("TOKEN_REFRESH","Missing Kiro token endpoint"),null;let l=await (0,h.jf)(d,()=>fetch(k,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})}));if(!l.ok){let a=await l.text();try{let b=JSON.parse(a),d=b.__type||b.error;if("InvalidGrantException"===d||"ExpiredTokenException"===d||"invalid_grant"===d)return c?.error?.("TOKEN_REFRESH","Kiro social refresh token expired/invalid. Re-authentication required.",{awsErrorType:d}),{error:"unrecoverable_refresh_error",code:d}}catch{}return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:l.status,error:a.slice(0,200)}),null}let m=await l.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!m.accessToken,expiresIn:m.expiresIn}),{accessToken:m.accessToken,refreshToken:m.refreshToken||a,expiresIn:m.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function N(a,b,c=null){if(!e.NA.qoder.token||!e.xq.qoder.clientId||!e.xq.qoder.clientSecret)return b?.warn?.("TOKEN_REFRESH","Qoder OAuth refresh skipped: browser OAuth is not configured in this environment"),null;let d=btoa(`${e.xq.qoder.clientId}:${e.xq.qoder.clientSecret}`),f=await (0,h.jf)(c,()=>fetch(e.NA.qoder.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.qoder.clientId,client_secret:e.xq.qoder.clientSecret})}));if(!f.ok){let a=await f.text();b?.error?.("TOKEN_REFRESH","Failed to refresh Qoder token",{status:f.status,error:a});let c=A(a);return"invalid_grant"===c||"invalid_request"===c?{error:"unrecoverable_refresh_error",code:c}:null}let g=await f.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qoder token",{hasNewAccessToken:!!g.access_token,hasNewRefreshToken:!!g.refresh_token,expiresIn:g.expires_in}),{accessToken:g.access_token,refreshToken:g.refresh_token||a,expiresIn:g.expires_in}}async function O(a,b,c=null){let d=await (0,h.jf)(c,()=>fetch(e.NA.github.token,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:x({grant_type:"refresh_token",refresh_token:a,client_id:e.xq.github.clientId,client_secret:e.xq.github.clientSecret})}));if(!d.ok){let a=await d.text();b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:d.status,error:a});let c=A(a);return"invalid_grant"===c||"invalid_request"===c?{error:"unrecoverable_refresh_error",code:c}:null}let f=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function P(a,b,c=null){try{let d=await (0,h.jf)(c,()=>fetch("https://api.github.com/copilot_internal/v2/token",{headers:(0,f.H_)(`token ${a}`)}));if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Copilot token",{status:d.status,error:a}),null}let e=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Copilot token",{hasToken:!!e.token,expiresAt:e.expires_at}),{token:e.token,expiresAt:e.expires_at}}catch(a){return b?.error?.("TOKEN_REFRESH","Error refreshing Copilot token",{error:a.message}),null}}async function Q(a,b,c,d=null){switch(a){case"gemini":case"antigravity":case"agy":return await J(b.refreshToken,e.xq[a].clientId,e.xq[a].clientSecret,c,d);case"claude":return await I(b.refreshToken,c,d);case"codex":return await L(b.refreshToken,c,d);case"qwen":return await K(b.refreshToken,c,d);case"qoder":return await N(b.refreshToken,c,d);case"github":return await O(b.refreshToken,c,d);case"kiro":case"amazon-q":return await M(b.refreshToken,b.providerSpecificData,c,d);case"cline":return await F(b.refreshToken,c,d);case"kimi-coding":return await G(b.refreshToken,b.providerSpecificData,c,d);case"gitlab-duo":return await H(b.refreshToken,b.providerSpecificData,c,d);case"windsurf":case"devin-cli":return await D(b.refreshToken,b.providerSpecificData,c,d);case"codebuddy-cn":return await E(b.refreshToken,c,d);default:return C(a,b.refreshToken,b,c,d)}}function R(a){return a&&"object"==typeof a&&("unrecoverable_refresh_error"===a.error||"refresh_token_reused"===a.error||"invalid_request"===a.error||"invalid_grant"===a.error)}async function S(a,b,d,e=null,f){if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return d?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let g=f??r.getStore(),h=b.connectionId;if(h&&"string"==typeof h){let f=p.get(h);if(f)return f.waiters++,d?.info?.("TOKEN_REFRESH","Concurrent refresh detected — sharing in-flight refresh",{provider:a,connectionId:h,waiters:f.waiters}),f.promise;let i={promise:null,waiters:0};return i.promise=(async()=>{let f=await T(a,b,d,e);if(f?.accessToken&&g){if(await w(d))return f;try{await g(f)}catch(e){let{sanitizeErrorMessage:b}=await c.e(3659).then(c.bind(c,43659));throw d?.error?.("TOKEN_REFRESH",`onPersist callback failed for ${a}/${h}: ${b(e instanceof Error?e:Error(String(e)))}`),e}}return f})().finally(()=>{p.delete(h)}),p.set(h,i),i.promise}let j=y(a,b.refreshToken);if(o.has(j))return d?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),o.get(j);let k=(0,i.Aj)(a,()=>Q(a,b,d,e)).then(async b=>{if(b?.accessToken&&g){if(await w(d))return b;try{await g(b)}catch(e){let{sanitizeErrorMessage:b}=await c.e(3659).then(c.bind(c,43659));throw d?.error?.("TOKEN_REFRESH",`Layer 2 onPersist callback failed for ${a}: ${b(e instanceof Error?e:Error(String(e)))}`),e}}else b?.accessToken&&!g&&d?.warn?.("TOKEN_REFRESH",`Layer 2 refresh succeeded for ${a} without onPersist — DB row will not be updated with rotated token. Callers should pass connectionId for Layer 1 atomicity.`);return b}).finally(()=>{o.delete(j)});return o.set(j,k),k}async function T(a,b,d,e){let f=function(a,b){!function(a=Date.now()){if(0!==q.size)for(let[b,c]of q.entries())c.expiresAt<=a&&q.delete(b)}();let c=y(a,b),d=q.get(c);if(d)return d.expiresAt<=Date.now()?void q.delete(c):d}(a,b.refreshToken);if(f)return d?.info?.("TOKEN_REFRESH",`Rotation map hit for ${a}. Returning cached rotated tokens (avoids family-revoke).`),f.result;if(b.connectionId)try{let{getProviderConnectionById:e}=await c.e(7094).then(c.bind(c,87094)),f=await e(b.connectionId);if(f&&f.refreshToken){let c=Date.now(),e=f.expiresAt?new Date(f.expiresAt).getTime():0;if(f.refreshToken!==b.refreshToken){if(d?.info?.("TOKEN_REFRESH",`Stale token detected in memory for ${a}. Using refreshed token from DB.`),e>c+6e4)return d?.info?.("TOKEN_REFRESH","DB token is still valid. Skipping OAuth refresh."),{accessToken:f.accessToken,refreshToken:f.refreshToken,expiresAt:f.expiresAt};b.refreshToken=f.refreshToken,b.accessToken=f.accessToken}}}catch(a){d?.warn?.("TOKEN_REFRESH",`Failed to check DB for stale token: ${a instanceof Error?a.message:String(a)}`)}let g=b.refreshToken,h=await (0,i.Aj)(a,()=>Q(a,b,d,e));return h&&"object"==typeof h&&!("error"in h)&&h.accessToken&&h.refreshToken&&function(a,b,c){if(!b||!c.refreshToken||b===c.refreshToken)return;let d=y(a,b);q.set(d,{result:c,expiresAt:Date.now()+6e4})}(a,g,h),h}let U=S,V={};async function W(a,b){return await new Promise((c,d)=>{let e=setTimeout(()=>c(null),b);"object"==typeof e&&"unref"in e&&e.unref?.(),a().then(a=>{clearTimeout(e),c(a)},a=>{clearTimeout(e),d(a)})})}async function X(a,b=3,c=null,d="unknown"){let e;if((e=V[d])&&e.blockedUntil&&(e.blockedUntil>Date.now()||(delete V[d],0)))return c?.warn?.("TOKEN_REFRESH",`⚡ Circuit breaker active for ${d}, skipping refresh`),null;for(let e=0;e<b;e++){if(e>0){let a=1e3*e;c?.debug?.("TOKEN_REFRESH",`Retry ${e}/${b} after ${a}ms`),await new Promise(b=>setTimeout(b,a))}try{let b=await W(a,3e4);if(R(b))return c?.warn?.("TOKEN_REFRESH",`Unrecoverable refresh error for ${d}: ${b.error} — skipping retries`),b;if(b)return V[d]&&delete V[d],b}catch(a){c?.warn?.("TOKEN_REFRESH",`Attempt ${e+1}/${b} failed: ${a.message}`)}}return!function(a,b=null){V[a]||(V[a]={failures:0,blockedUntil:0}),V[a].failures++,V[a].failures>=5&&(V[a].blockedUntil=Date.now()+18e5,b?.error?.("TOKEN_REFRESH",`🔴 Circuit breaker tripped for ${a}: 5 consecutive failures. Blocked for 30min. Provider needs re-authentication.`))}(d,c),c?.error?.("TOKEN_REFRESH",`All ${b} retry attempts failed for ${d}`),null}},20927:(a,b,c)=>{"use strict";var d=c(75919),e=c.n(d),f=c(28064);e()&&!e().markAsUncloneable&&(e().markAsUncloneable=function(a){if(e().markAsUntransferable)try{e().markAsUntransferable(a)}catch{}}),void 0===Promise.withResolvers&&(Promise.withResolvers=function(){let a,b;return{promise:new Promise((c,d)=>{a=c,b=d}),resolve:a,reject:b}}),void 0===globalThis.WebSocket&&(globalThis.WebSocket=f.WebSocket)},39727:()=>{},47990:()=>{},54444:(a,b,c)=>{"use strict";c.d(b,{e:()=>d});let d=null},57843:(a,b,c)=>{"use strict";c.d(b,{Aj:()=>f,Jv:()=>g});let d={codex:"openai-auth0",openai:"openai-auth0",claude:"anthropic-oauth","gitlab-duo":"gitlab-duo",kiro:"kiro","kimi-coding":"kimi-coding",qwen:"qwen"},e=new Map;async function f(a,b){let c,f=d[a]??null;if(!f)return b();let g=e.get(f)??Promise.resolve(),h=new Promise(a=>{c=a}),i=g.then(()=>h);e.set(f,i),await g.catch(()=>{});try{return await b()}finally{if(e.get(f)!==i){let a=function(){let a=process.env.CODEX_REFRESH_SPACING_MS;if(void 0===a||""===a)return 2e3;let b=Number(a);return Number.isFinite(b)&&b>=0?b:2e3}();a>0&&await new Promise(b=>setTimeout(b,a))}c(),e.get(f)===i&&e.delete(f)}}function g(a,b){return"string"==typeof a&&a.length>0&&"string"==typeof b&&b.length>0&&b!==a}},58643:(a,b,c)=>{"use strict";let d;c.d(b,{A:()=>g});var e=c(99765);try{let a=c(3725);d="function"==typeof a.createSession?a.createSession:null}catch{d=null}class f{constructor(){this.session=null,this.failureCount=0,this.maxFailures=3,this.baseCooldownMs=3e4,this.cooldownMs=3e4,this.cooldownMultiplier=1,this.MAX_COOLDOWN_MS=6e5,this.circuitOpenUntil=0,this.circuitTripped=!1,this._libraryAvailable=!!d}get available(){return!!this._libraryAvailable&&(!this.circuitTripped||Date.now()>=this.circuitOpenUntil)}recordFailure(){this.failureCount++,this.failureCount>=this.maxFailures&&(this.circuitOpenUntil=Date.now()+this.cooldownMs,this.circuitTripped=!0,this.session&&(Promise.resolve(this.session.close()).catch(()=>{}),this.session=null),console.warn(`[TlsClient] Circuit opened after ${this.failureCount} consecutive failures, cooling down for ${this.cooldownMs}ms`),this.escalateCooldown())}recordSuccess(){this.failureCount=0,this.circuitTripped&&(this.cooldownMultiplier=1,this.cooldownMs=this.baseCooldownMs,console.log("[TlsClient] Circuit closed (success after cooldown)"),this.circuitTripped=!1)}escalateCooldown(){this.cooldownMultiplier=Math.min(2*this.cooldownMultiplier,20),this.cooldownMs=Math.min(this.baseCooldownMs*this.cooldownMultiplier,this.MAX_COOLDOWN_MS)}checkCircuit(){return!this.circuitTripped||Date.now()>=this.circuitOpenUntil&&(console.log("[TlsClient] Half-open: retrying after cooldown"),!0)}async getSession(){if(!this.checkCircuit()||!this.available)return null;if(this.session)return this.session;let a=d;if(!a)return null;let b=process.env.HTTPS_PROXY||process.env.https_proxy||process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy||void 0,c={browser:"chrome_124",os:"macos"};return b&&(c.proxy=b,console.log(`[TlsClient] Using proxy: ${b}`)),this.session=await a(c),console.log("[TlsClient] Session created (Chrome 124 TLS fingerprint)"),this.session}async fetch(a,b={}){if(!this.checkCircuit())throw Error("wreq-js circuit open — skipping TLS request");try{let c=await this.getSession();if(!c)throw Error("wreq-js not available");let{timeoutMs:d}=(0,e.uw)(process.env,a=>{console.warn(`[TlsClient] ${a}`)}),f={method:(b.method||"GET").toUpperCase(),headers:function(a){if(!a)return;if(a instanceof Headers)return Object.fromEntries(a.entries());if(Array.isArray(a))return Object.fromEntries(a.map(([a,b])=>[a,String(b)]));let b={};for(let[c,d]of Object.entries(a))"string"==typeof d&&(b[c]=d);return b}(b.headers),body:b.body,redirect:"manual"===b.redirect?"manual":"follow",timeout:d};b.signal&&(f.signal=b.signal);let g=await c.fetch(a,f);return this.recordSuccess(),g}catch(a){throw a instanceof Error&&("AbortError"===a.name||a.message.includes("aborted"))||this.recordFailure(),a}}async exit(){this.session&&(await this.session.close(),this.session=null)}resetCircuit(){this.failureCount=0,this.circuitTripped=!1,this.circuitOpenUntil=0}getCircuitState(){return{available:this.available,circuitTripped:this.circuitTripped,failureCount:this.failureCount,circuitOpenUntil:this.circuitOpenUntil,coolDownRemainingMs:this.circuitOpenUntil>0?Math.max(0,this.circuitOpenUntil-Date.now()):0}}}let g=new f},68404:(a,b,c)=>{"use strict";c.d(b,{KS:()=>d,wX:()=>e});let d=()=>!1,e=()=>!1},69889:(a,b,c)=>{"use strict";c.d(b,{Bm:()=>e,UL:()=>g,wI:()=>f});var d=c(77030);function e(a){return"string"!=typeof a?"":a.startsWith("[")&&a.endsWith("]")?a.slice(1,-1):a}function f(a){let b=e(a),c=(0,d.isIP)(b);return 0===c?null:c}function g(a){return"ipv4"===a||"ipv6"===a?a:"auto"}},85376:(a,b,c)=>{"use strict";c.d(b,{R4:()=>y,I_:()=>A,DJ:()=>q,Sn:()=>r,g4:()=>o,zP:()=>x,HN:()=>z,OK:()=>w}),c(20927);var d=c(47774),e=c(20406),f=c(99765),g=c(69889),h=c(13092);let i=Symbol.for("omniroute.proxyDispatcher.cache"),j=Symbol.for("omniroute.proxyDispatcher.default"),k=Symbol.for("omniroute.proxyDispatcher.retry");class l{constructor(a){this.nextIndex=0,this.dispatchers=a}dispatch(a,b){let c=this.dispatchers[this.nextIndex%this.dispatchers.length];return this.nextIndex=(this.nextIndex+1)%this.dispatchers.length,c.dispatch(a,b)}close(a){let b=Promise.all(this.dispatchers.map(a=>a.close())).then(()=>void 0);return a?void b.then(a):b}destroy(a,b){let c="function"==typeof a?a:b,d="function"==typeof a?null:a??null,e=Promise.all(this.dispatchers.map(a=>a.destroy(d))).then(()=>void 0);return c?void e.then(c):e}}let m=new Set(["http:","https:","socks5:"]),n=new Set(["vercel","deno","cloudflare"]);function o(a){return"string"==typeof a&&n.has(a)}function p(){let a=(0,f.pf)(process.env,a=>{console.warn(`[ProxyDispatcher] ${a}`)});return{headersTimeout:a.fetchHeadersTimeoutMs,bodyTimeout:a.fetchBodyTimeoutMs,connectTimeout:a.fetchConnectTimeoutMs,keepAliveTimeout:a.fetchKeepAliveTimeoutMs,keepAliveMaxTimeout:a.fetchKeepAliveTimeoutMs}}function q(){let a=globalThis[j];if(!a){var b,c;let e;c=function(a=process.env){let b=a.OMNIROUTE_DIRECT_DISPATCHER_CONNECTIONS;if(null==b||""===b.trim())return 32;let c=Number(b);return!Number.isFinite(c)||c<1?(console.warn(`[ProxyDispatcher] Invalid OMNIROUTE_DIRECT_DISPATCHER_CONNECTIONS="${b}". Using default 32.`),32):Math.min(Math.floor(c),256)}(),e={...p(),connections:1,pipelining:0},b=a=new l(Array.from({length:c},()=>new d.Agent(e))),globalThis[j]=b}return a}function r(){let a=globalThis[k];if(!a){var b;b=a=new d.Agent({...p(),keepAliveTimeout:1,keepAliveMaxTimeout:1,pipelining:0}),globalThis[k]=b}return a}function s(a){try{let b=a.indexOf("://");if(-1===b)return null;let c=b+3,d=a.indexOf("/",c),e=-1===d?a.slice(c):a.slice(c,d),f=e.lastIndexOf(":"),g=e.lastIndexOf("@");if(-1!==f&&f>g){let a=e.slice(f+1);if(/^\d+$/.test(a)){let b=Number(a);if(Number.isInteger(b)&&b>=1&&b<=65535)return String(b)}}}catch{}return null}function t(a){return"https:"===a||"wss:"===a?"443":"socks5:"===a?"1080":"8080"}function u(a,b){if(!a)return t(b);let c=Number(a);if(!Number.isInteger(c)||c<1||c>65535)throw Error("[ProxyDispatcher] Invalid proxy port");return String(c)}function v(){return!["false","0","no","off"].includes((process.env.ENABLE_SOCKS5_PROXY??"").trim().toLowerCase())}function w(a){let b=s(a),c=new URL(a),d=b||c.port||t(c.protocol);return`${c.protocol}//${c.hostname}:${d}`}function x(a,b="proxy",{allowSocks5:c=v()}={}){var d;let e,f,h=a.match(/\?family=(ipv4|ipv6)$/),i=h?h[0]:"",j=i?a.slice(0,-i.length):a,k=s(j);try{e=new URL(j)}catch{throw Error(`[ProxyDispatcher] Invalid ${b} URL`)}if(!m.has(e.protocol))throw Error(`[ProxyDispatcher] Unsupported ${b} protocol: ${e.protocol.replace(":","")}`);if("socks5:"===e.protocol&&!c)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (remove ENABLE_SOCKS5_PROXY=false to enable — it is ON by default)");if(!e.hostname)throw Error(`[ProxyDispatcher] Invalid ${b} host`);let l=k||u(e.port,e.protocol),n=(0,g.UL)((h?h[1]:e.searchParams.get("family"))??void 0),o=(f=(d=e).username?`${d.username}${d.password?`:${d.password}`:""}@`:"",`${d.protocol}//${f}${d.hostname}:${l}`);return"auto"===n?o:`${o}?family=${n}`}function y(a,b){let c=new URL(a);return{"x-relay-target":`${c.protocol}//${c.host}`,"x-relay-path":c.pathname+c.search,"x-relay-auth":b}}function z(a,{allowSocks5:b=v()}={}){if(!a)return null;if("string"==typeof a)return x(a,"context proxy",{allowSocks5:b});if("object"!=typeof a||Array.isArray(a))throw Error("[ProxyDispatcher] Invalid context proxy config");if(!a.host)return null;let c=String(a.type||"http").toLowerCase();if(n.has(c))return a.host?`https://${a.host}`:null;let d=`${c}:`;if(!m.has(d))throw Error(`[ProxyDispatcher] Unsupported context proxy protocol: ${c}`);if("socks5:"===d&&!b)throw Error("[ProxyDispatcher] SOCKS5 proxy is disabled (remove ENABLE_SOCKS5_PROXY=false to enable — it is ON by default)");let e=u(a.port,d),f=a.username?`${encodeURIComponent(a.username)}:${a.password?encodeURIComponent(a.password):""}@`:"",h=`${c}://${f}${a.host}:${e}`,i=(0,g.UL)(a.family),j=x(h,"context proxy",{allowSocks5:b});return"auto"===i?j:`${j}?family=${i}`}function A(a){let b,c=x(a,"proxy dispatcher"),f=((b=globalThis)[i]||(b[i]=new Map),b[i]),j=function(a=process.env){return{...p(),connections:function(a=process.env){let b=a.OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS;if(null==b||""===b.trim())return 32;let c=Number(b);return!Number.isFinite(c)||c<1?(console.warn(`[ProxyDispatcher] Invalid OMNIROUTE_PROXY_DISPATCHER_CONNECTIONS="${b}". Using default 32.`),32):Math.min(Math.floor(c),256)}(a),keepAliveTimeout:1,keepAliveMaxTimeout:1,pipelining:0}}(),k=f.get(c);if(k)return k;let l=new URL(c),m=function(a){let b=(0,g.UL)(a.searchParams.get("family")??void 0),c=(0,g.wI)(a.hostname);if("auto"===b)return c;let d="ipv6"===b?6:4;if(null!==c&&c!==d)throw Error(`[ProxyDispatcher] Proxy family directive ${b} contradicts ${6===c?"IPv6":"IPv4"} literal host`);return d}(l);l.searchParams.delete("family");let n=c.replace(/\?family=(ipv4|ipv6)$/,""),o=s(n)||u(l.port,l.protocol);if("socks5:"===l.protocol){let a={type:5,host:(0,g.Bm)(l.hostname),port:Number(o)};l.username&&(a.userId=decodeURIComponent(l.username)),l.password&&(a.password=decodeURIComponent(l.password)),k=null===m?(0,e.vI)(a,j):function(a,b,c={}){let{connect:e,...f}=c;return new d.Agent({...f,connect:function(a,b,c={}){let e=(0,d.buildConnector)(c),f=6===b?{family:6,autoSelectFamily:!1}:4===b?{family:4,autoSelectFamily:!1}:{};return async(b,c)=>{let{protocol:d,hostname:g,port:i,httpSocket:j}=b;try{let k=(await h.SocksClient.createConnection({command:"connect",proxy:a,timeout:function(a=process.env){let b=a.SOCKS_HANDSHAKE_TIMEOUT_MS;if(null==b||""===b.trim())return 1e4;let c=Number(b);return!Number.isFinite(c)||c<1?1e4:Math.min(Math.floor(c),12e4)}(),destination:{host:g,port:i?Number.parseInt(i,10):"http:"===d?80:443},existing_socket:j,socket_options:f})).socket;if("https:"!==d)return c(null,k.setNoDelay());return e({...b,httpSocket:k},c)}catch(a){return c(a,null)}}}(a,b,e)})}(a,m,j)}else k=new d.ProxyAgent({uri:n,...j,...null!==m?{proxyTls:{family:m,autoSelectFamily:!1}}:{}});return f.set(c,k),k}},95538:(a,b,c)=>{"use strict";let d;c.d(b,{proxyAwareFetch:()=>F,l:()=>A,jf:()=>C}),c(20927);var e=c(16698),f=c(47774),g=c(85376),h=c(58643),i=c(77030),j=c.n(i),k=c(68404),l=c(89718);let m=new Map;function n(a){let b=a.username?`${encodeURIComponent(a.username)}:${encodeURIComponent(a.password||"")}@`:"";return`${a.type}://${b}${a.host}:${a.port}`}async function o(a){let b=new Set;try{let a=await (0,l.P)("global");a?.proxy&&b.add(n(a.proxy))}catch{}try{for(let a of(await (0,l.zU)({includeSecrets:!0})))a.host&&a.port&&b.add(n(a))}catch{}try{for(let a of(await (0,l.Bb)({limit:5})))a.host&&a.port&&b.add(n(a))}catch{}if(a)try{let c=function(a){let b,c=process.env.NO_PROXY||process.env.no_proxy;if(c){let b;try{b=new URL(a).hostname.toLowerCase()}catch{return null}if(c.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>"*"===a||(a.includes("*")?RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$").test(b):b===a||b.endsWith(`.${a}`))))return null}try{b=new URL(a).protocol}catch{return null}let d="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;if(!d)return null;try{return(0,g.zP)(d,"environment proxy")}catch{return null}}(a);c&&b.add(c)}catch{}return Array.from(b)}async function p(a,b,c=3e3){let d=Date.now();try{let e=new AbortController,h=setTimeout(()=>e.abort(),c),i=(0,g.I_)(a);await (0,f.fetch)(b,{method:"HEAD",signal:e.signal,dispatcher:i,headers:{"User-Agent":"OmniRoute/1.0"}}),clearTimeout(h);let j=Date.now()-d;return{ok:!0,latencyMs:j}}catch{return{ok:!1,latencyMs:null}}}async function q(a,b){if(!a)return null;let c=function(a,b){try{let a=new URL(b),c=`${a.pathname||"/"}${a.search}`;return`${a.protocol}//${a.host}${c}`}catch{return a.toLowerCase()}}(a,b),d=m.get(c);if(d){if(d.expiresAt>Date.now())return d.proxyUrl||null;m.delete(c)}let e=await ((void 0)??o)(b);if(0===e.length)return null;let f=(await Promise.allSettled(e.map(async a=>{let{ok:c}=await ((void 0)??p)(a,b);return{proxyUrl:a,ok:c}}))).find(a=>"fulfilled"===a.status&&a.value.ok);if(f&&"fulfilled"===f.status){let a=f.value.proxyUrl;return m.set(c,{proxyUrl:a,expiresAt:Date.now()+3e5}),a}return m.set(c,{proxyUrl:"",expiresAt:Date.now()+3e5}),null}let r=new e.AsyncLocalStorage,s=new e.AsyncLocalStorage;function t(a){let b=[],c=new Set,d=a;for(let a=0;d&&a<5&&!c.has(d);a++){c.add(d);let a=d,e=["string"==typeof a.name&&"Error"!==a.name?a.name:null,"string"==typeof a.message?a.message.slice(0,160):null,null!=a.code?`code=${String(a.code)}`:null,null!=a.syscall?`syscall=${String(a.syscall)}`:null,null!=a.errno?`errno=${String(a.errno)}`:null,null!=a.address?`address=${String(a.address)}${null!=a.port?`:${String(a.port)}`:""}`:null].filter(Boolean).join(" ");if(e&&b.push(e),Array.isArray(a.errors))for(let c of a.errors.slice(0,4)){let a=c??{},d=[null!=a.code?`code=${String(a.code)}`:null,null!=a.syscall?`syscall=${String(a.syscall)}`:null,null!=a.address?`address=${String(a.address)}${null!=a.port?`:${String(a.port)}`:""}`:null].filter(Boolean).join(" ");d?b.push(`↳ ${d}`):"string"==typeof a.message&&b.push(`↳ ${a.message.slice(0,80)}`)}d=a.cause}return b.join(" | ")||String(a)}let u="u">typeof caches&&"object"==typeof caches,v=Symbol.for("omniroute.proxyFetch.state"),w=((d=globalThis)[v]||(d[v]={originalFetch:globalThis.fetch,proxyContext:new e.AsyncLocalStorage,isPatched:!1}),d[v]),x=w.originalFetch,y=w.proxyContext;function z(a,b){let c,d=b??process.env.NO_PROXY??process.env.no_proxy;if(!d)return!1;try{c=new URL(a)}catch{return!1}let e=c.hostname.toLowerCase(),f=c.port||("https:"===c.protocol?"443":"80");return d.split(",").map(a=>a.trim().toLowerCase()).filter(Boolean).some(a=>{if("*"===a)return!0;let[b,c]=a.split(":");if(c&&c!==f||!b)return!1;if(b.includes("*")){let a=b.split("*"),c=0,d=e.startsWith(a[0]);if(d){c=a[0].length;for(let b=1;b<a.length&&d;b++){let f=a[b];if(b===a.length-1)d=""===f||e.endsWith(f)&&e.length-f.length>=c;else{let a=f?e.indexOf(f,c):c;-1===a?d=!1:c=a+f.length}}}if(d)return!0}return b.startsWith(".")?e.endsWith(b)||e===b.slice(1):e===b||e.endsWith(`.${b}`)})}function A(a){let b,c;try{b=new URL(a)}catch{b=null}if(b&&("localhost"===(c=b.hostname.toLowerCase().replace(/^\[/,"").replace(/\]$/,"").replace(/^::ffff:/i,""))||"0.0.0.0"===c||"127.0.0.1"===c||"::1"===c||c.endsWith(".local")||c.endsWith(".lan")||c.endsWith(".internal")||c.startsWith("192.168.")||c.startsWith("10.")||c.startsWith("127.")||c.startsWith("169.254.")||/^172\.(1[6-9]|2\d|3[0-1])\./.test(c)||/^100\.(6[4-9]|[7-9]\d|1[01]\d|12[0-7])\./.test(c)||/^f[cd][0-9a-f]*:/i.test(c)||c.startsWith("fe80:")))return{source:"direct",proxyUrl:null};let d=y.getStore();if(d)return d.__noProxy&&z(a,d.__noProxy)?{source:"direct",proxyUrl:null}:{source:"context",proxyUrl:d.__relayUrl||d.__proxyUrl||(0,g.HN)(d)};let e=function(a){let b;if(z(a))return null;try{b=new URL(a).protocol}catch{return null}let c="https:"===b?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy;return c?(0,g.zP)(c,"environment proxy"):null}(a);return e?{source:"env",proxyUrl:e}:{source:"direct",proxyUrl:null}}function B(a){return"string"==typeof a?a:a&&"string"==typeof a.url?a.url:String(a)}async function C(a,b,d){if("function"!=typeof b)throw TypeError("runWithProxyContext requires a callback function");let e=y.getStore(),f=a||e||null;if(f?.vercelRelayUrl){let a;try{a=new URL(f.vercelRelayUrl)}catch{throw Error("[ProxyFetch] Invalid relay URL")}f={type:"vercel",host:a.host,__relayUrl:a.toString().replace(/\/$/,""),__allowMissingRelayAuth:!0,__noProxy:f.connectionNoProxy||""}}else f?.connectionProxyUrl&&(f=!0===f.connectionProxyEnabled?{__proxyUrl:f.connectionProxyUrl,__noProxy:f.connectionNoProxy||""}:null);let h=f?f.__proxyUrl||(0,g.HN)(f):null,i=d?.directFallbackOnUnreachable===!0&&(0,k.KS)(),l=(0,g.g4)(f?.type);if(h&&!l&&!await function(a,b=2500){var c;let d;if(!a)return Promise.resolve(!1);try{d=new URL(String(a))}catch{return Promise.resolve(!1)}let e=d.hostname.replace(/^\[|\]$/g,""),f=(c=d).port?Number(c.port):"https:"===c.protocol?443:"socks5:"===c.protocol?1080:8080;if(!e||!Number.isInteger(f)||f<1||f>65535)return Promise.resolve(!1);let g=d.searchParams.get("family"),h="ipv4"===g?4:"ipv6"===g?6:void 0,i=Number.isFinite(Number(b))&&Number(b)>0?Number(b):2500;return new Promise(a=>{let b=!1,c=j().createConnection({host:e,port:f,family:h}),d=d=>{b||(b=!0,clearTimeout(g),c.destroy(),a(d))},g=setTimeout(()=>d(!1),i);c.once("connect",()=>d(!0)),c.once("error",()=>d(!1)),c.once("close",()=>d(!1))})}(h)){let a=(0,g.OK)(h);if(i)return console.warn(`[ProxyFetch] Proxy unreachable (${a}); using a direct connection for this request.`),y.run(null,b);let c=Error(`[Proxy Fast-Fail] Proxy unreachable: ${a}`);throw c.code="PROXY_UNREACHABLE",c.statusCode=503,c}if(h&&!l)try{let a=new URL(h),b=a.searchParams.get("family");if("ipv6"===b||"ipv4"===b){let{assertHostnameSupportsFamily:d}=await c.e(3041).then(c.bind(c,53041));await d(a.hostname,"ipv6"===b?6:4)}}catch(a){if(i)return console.warn(`[ProxyFetch] Proxy family pre-check failed (${(0,g.OK)(h)}); using a direct connection for this request.`),y.run(null,b);throw a.code=a.code||"PROXY_FAMILY_UNAVAILABLE",a.statusCode=a.statusCode||503,a}return y.run(f,async()=>{if(h&&f!==e&&console.log(`[ProxyFetch] Applied request proxy context: ${(0,g.OK)(h)}`),f){let a=s.getStore();a&&(a.proxy=f)}return b()})}async function D(a,b={},c={}){let d;if(b?.dispatcher)return(c.undiciFetch??f.fetch)(a,b);let e=B(a);try{d=A(e)}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy configuration error: ${a}`),b}let{source:i,proxyUrl:j}=d;if(!j){var l,m;if("true"===process.env.ENABLE_TLS_FINGERPRINT&&h.A.available)try{let a=r.getStore();return a&&(a.used=!0),await h.A.fetch(e,{...b,headers:b.headers,signal:b.signal??void 0})}catch(c){let a=c instanceof Error?c.message:String(c);console.warn(`[ProxyFetch] TLS fingerprint failed, falling back to native fetch: ${a}`);let b=r.getStore();b&&(b.used=!1)}let d=(l=a,!!(null!=(m=b.body)&&"object"==typeof m&&("function"==typeof m.getReader||"function"==typeof m.stream)||"u">typeof Request&&l instanceof Request&&(l.bodyUsed||null!==l.body))||!1),j=d?1:2,n=c.undiciFetch??f.fetch,o=c.nativeFetch??x,p=null;for(let c=0;c<j;c++)try{return await n(a,{...b,dispatcher:0===c?(0,g.DJ)():(0,g.Sn)()})}catch(l){let f=l instanceof Error?l.message:String(l);if(f.includes("onRequestStart"))throw console.error(`[ProxyFetch] Fatal version mismatch: Dispatcher (v8) vs Fetch (v6/native). Hardware upgrade or SOCKS5 config isolation required. Error: ${f}`),l;let h=l?.code;if(f.includes("fetch failed")||"ECONNREFUSED"===h||f.includes("ECONNREFUSED")||"string"==typeof h&&h.startsWith("UND_ERR")||f.includes("UND_ERR")){if(0===c&&j>1){p=l,await new Promise(a=>setTimeout(a,25+50*Math.random()));continue}if(d){let a=`dispatcher=[${t(l)}] native=[skipped: non-replayable request body]`;throw console.warn(`[ProxyFetch] skipping native fetch fallback for non-replayable body: ${a}`),l instanceof Error&&(l.proxyFetchDetail=a),l}if("direct"===i&&(0,k.wX)("PROXY_AUTO_SELECT_ENABLED")){let c="";try{c=new URL(e).hostname}catch{}if(c){let d=await q(c,e);if(d)try{let c=(0,g.I_)(d);return await n(a,{...b,dispatcher:c})}catch{}}}console.warn(`[ProxyFetch] Undici dispatcher failed, falling back to native fetch (after retry): ${t(l)}`);try{return await o(a,b)}catch(b){let a=`dispatcher=[${t(l)}] native=[${t(b)}]`;throw console.warn(`[ProxyFetch] native fetch fallback ALSO failed: ${a}`),b instanceof Error&&(b.proxyFetchDetail=a),b}}throw l}throw p}let n=y.getStore();if(n&&"object"==typeof n&&(0,g.g4)(n.type)){if(!n.relayAuth&&!n.__allowMissingRelayAuth){let a="vercel"===n.type?"Vercel relay":`${n.type||"Edge"} relay`;throw Error(`${a} configuration error: missing relayAuth`)}let c=B(a),d=(0,g.R4)(c,n.relayAuth||""),e=new Headers(b?.headers);for(let[a,b]of Object.entries(d))e.set(a,b);let f=(0,g.OK)(n.host?`https://${n.host}`:"");return"true"===process.env.OMNIROUTE_PROXY_FETCH_DEBUG&&console.debug(`[ProxyFetch] Routing via ${n.type||"edge"} relay: ${f}`),await x(n.__relayUrl||`https://${n.host}`,{...b,headers:e,duplex:"half"})}try{let d=(0,g.I_)(j),e=c.undiciFetch??f.fetch;return await e(a,{...b,dispatcher:d})}catch(b){let a=b instanceof Error?b.message:String(b);throw console.error(`[ProxyFetch] Proxy request failed (${i}, fail-closed): ${a}`),b}}async function E(a,b={},c={}){return D(a,b,c)}async function F(a,b={},c=null){return c&&(!0===c.connectionProxyEnabled||c.vercelRelayUrl)?C(c,()=>E(a,b)):E(a,b)}u||w.isPatched||(globalThis.fetch=D,w.isPatched=!0)}};