@ltgiang/9router 0.5.63 → 0.5.65

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 (396) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +14 -14
  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 +1 -1
  120. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/v2/models/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  162. package/app/.next-cli-build/server/app/callback.html +1 -1
  163. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  164. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  165. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  166. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  167. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  168. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  169. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  170. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  171. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  172. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  173. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  174. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  175. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  176. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  177. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  178. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  179. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  180. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  181. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  182. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  183. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  184. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  185. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  186. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  187. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  188. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  189. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  190. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  191. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  192. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  193. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  194. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  195. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  196. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  197. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  198. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  199. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  200. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  201. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  202. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  203. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  204. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  205. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  206. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  207. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  208. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  209. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  210. package/app/.next-cli-build/server/app/dashboard/expose-models.html +1 -1
  211. package/app/.next-cli-build/server/app/dashboard/expose-models.rsc +6 -6
  212. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models/__PAGE__.segment.rsc +2 -2
  213. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard/expose-models.segment.rsc +1 -1
  214. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  215. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  216. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_full.segment.rsc +6 -6
  217. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_head.segment.rsc +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_index.segment.rsc +4 -4
  219. package/app/.next-cli-build/server/app/dashboard/expose-models.segments/_tree.segment.rsc +1 -1
  220. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  221. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  222. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  223. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  224. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  226. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  227. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  228. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  229. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  230. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  231. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  232. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  233. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  234. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  235. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  236. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  237. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  238. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  239. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  240. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  241. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  242. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  243. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  244. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  245. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  246. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  247. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  248. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  249. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  250. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  251. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  252. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  253. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  254. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  255. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  257. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  258. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  259. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  260. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  261. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  262. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  264. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  265. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  266. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  267. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  268. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  269. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  270. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  271. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  272. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  273. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  274. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  275. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  276. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  277. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  278. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  279. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  280. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  281. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  282. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  283. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  284. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  285. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  286. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  287. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  288. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  289. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  290. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  291. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  292. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  293. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  294. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  295. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  296. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  297. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  298. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  299. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  300. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  301. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  302. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  303. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  304. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  305. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  306. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  307. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  308. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  309. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  310. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  311. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  312. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  313. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  314. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  315. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  316. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  317. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  318. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  319. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  320. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  321. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  322. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  323. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  324. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  325. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  326. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  327. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  328. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  329. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  330. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  331. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  332. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  333. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  334. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  335. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  336. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  337. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  338. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  339. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  340. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  341. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  342. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  343. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  344. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  345. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  346. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  347. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  348. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  349. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  350. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  351. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/index.html +1 -1
  353. package/app/.next-cli-build/server/app/index.rsc +4 -4
  354. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  355. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  356. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  358. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  359. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  360. package/app/.next-cli-build/server/app/landing.html +1 -1
  361. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  362. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  363. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  364. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  365. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  366. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  368. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  369. package/app/.next-cli-build/server/app/login.html +1 -1
  370. package/app/.next-cli-build/server/app/login.rsc +5 -5
  371. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  372. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  373. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  374. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  375. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  376. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  378. package/app/.next-cli-build/server/app-paths-manifest.json +14 -14
  379. package/app/.next-cli-build/server/chunks/1961.js +2 -2
  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/5330.js +1 -1
  383. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  384. package/app/.next-cli-build/server/chunks/8668.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-cce0364cf61f0007.js → 1321-be088789822eccdf.js} +1 -1
  390. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.59-to-0.5.60-0.5.60-20260713-215333 → upgrade-0.5.62-to-0.5.63-0.5.63-20260826-225645}/data.sqlite +0 -0
  391. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.58-to-0.5.59-0.5.59-20260708-021757 → upgrade-0.5.63-to-0.5.64-0.5.64-20260827-205057}/data.sqlite +0 -0
  392. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  393. package/app/package.json +1 -1
  394. package/package.json +1 -1
  395. /package/app/.next-cli-build/static/{DSYPZK4tumhYWYBhj2psi → LICZWDvsIbskgz9vsKyhN}/_buildManifest.js +0 -0
  396. /package/app/.next-cli-build/static/{DSYPZK4tumhYWYBhj2psi → LICZWDvsIbskgz9vsKyhN}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=4746,exports.ids=[615,4746],exports.modules={19713:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},21350:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("9r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has9Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],o=(Array.isArray(j)?j:[]).filter(a=>a?.url),p=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),q=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(o)),s=[...(0,n.buildManagedMcpServers)(l),...p,...q],t=await I(),u=await M(),y=i().join(C(),`${u.appliedId}.json`),z={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};s.length>0&&(z.managedMcpServers=s),await g().writeFile(y,JSON.stringify(z,null,2));let A=null;try{A=await N(s)}catch(a){A={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:t,message:t?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:y,skipApprovals:A,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"0089c24651c720e91ccddb73e5949f21b12ef53493",null),(0,d.A)(P,"4065fa38543869ed71d22489dd28500153f7d4711c",null),(0,d.A)(Q,"00fd0b61220cf226511cc3edc68f08201a1ab0dfab",null)},28286:a=>{"use strict";a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{"use strict";a.exports={rE:"0.5.63"}},40615:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>t,js:()=>x,DI:()=>o,fg:()=>l,Pd:()=>p,IS:()=>i,nJ:()=>j,HP:()=>A,vh:()=>B,zN:()=>k,JH:()=>n,jO:()=>z,wb:()=>y,br:()=>m,wG:()=>w,zt:()=>u,gb:()=>r,gC:()=>s,mq:()=>q,rs:()=>v});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"];function g(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}let h=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,g(a)])),i=h("free"),j=h("freeTier"),k=h("oauth"),l=h("apikey"),m=h("webCookie"),n="openai-compatible-",o="anthropic-compatible-",p="custom-embedding-";function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}let t={...i,...j,...k,...l,...m};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=d.A.filter(a=>a.features?.usage).map(a=>a.id),z=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id),A={},B=Object.fromEntries(d.A.filter(a=>a.noAuth).map(a=>[a.id,g(a)]))},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="9router";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},96487:()=>{}};
1
+ exports.id=4746,exports.ids=[615,4746],exports.modules={19713:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},21350:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(49796),e=c(23211),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(28286),o=c(30869),p=c(54603),q=c(24424);let r=o.h0.appPort,s=`http://localhost:${r}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("9r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-9r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{if("darwin"===k().platform()){let a=i().join(k().homedir(),"Library","Application Support");return[i().join(a,"Claude-3p"),i().join(a,"Claude")]}if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return[i().join(a,"Claude-3p"),i().join(b,"Claude-3p"),i().join(a,"Claude"),i().join(b,"Claude")]}return[i().join(k().homedir(),".config","Claude-3p"),i().join(k().homedir(),".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if("darwin"===k().platform())return i().join(k().homedir(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join(k().homedir(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if("darwin"===k().platform())return["/Applications/Claude.app",i().join(k().homedir(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join(k().homedir(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K())return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"});let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has9Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],o=(Array.isArray(j)?j:[]).filter(a=>a?.url),p=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${r}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),q=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(o)),s=[...(0,n.buildManagedMcpServers)(l),...p,...q],t=await I(),u=await M(),y=i().join(C(),`${u.appliedId}.json`),z={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};s.length>0&&(z.managedMcpServers=s),await g().writeFile(y,JSON.stringify(z,null,2));let A=null;try{A=await N(s)}catch(a){A={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:t,message:t?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:y,skipApprovals:A,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,q.D)([O,P,Q]),(0,d.A)(O,"0089c24651c720e91ccddb73e5949f21b12ef53493",null),(0,d.A)(P,"4065fa38543869ed71d22489dd28500153f7d4711c",null),(0,d.A)(Q,"00fd0b61220cf226511cc3edc68f08201a1ab0dfab",null)},28286:a=>{"use strict";a.exports={DEFAULT_PLUGINS:[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],LOCAL_STDIO_PLUGINS:[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}],buildManagedMcpServers:function(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{"use strict";a.exports={rE:"0.5.65"}},40615:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>t,js:()=>x,DI:()=>o,fg:()=>l,Pd:()=>p,IS:()=>i,nJ:()=>j,HP:()=>A,vh:()=>B,zN:()=>k,JH:()=>n,jO:()=>z,wb:()=>y,br:()=>m,wG:()=>w,zt:()=>u,gb:()=>r,gC:()=>s,mq:()=>q,rs:()=>v});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"];function g(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}let h=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,g(a)])),i=h("free"),j=h("freeTier"),k=h("oauth"),l=h("apikey"),m=h("webCookie"),n="openai-compatible-",o="anthropic-compatible-",p="custom-embedding-";function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}let t={...i,...j,...k,...l,...m};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=d.A.filter(a=>a.features?.usage).map(a=>a.id),z=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id),A={},B=Object.fromEntries(d.A.filter(a=>a.noAuth).map(a=>[a.id,g(a)]))},49120:(a,b,c)=>{"use strict";c.d(b,{n:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="9router";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}let l=function(){let a=process.env.DATA_DIR;if(!a)return k();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},96487:()=>{}};
@@ -1 +1 @@
1
- exports.id=4827,exports.ids=[615,4827],exports.modules={21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>m,l:()=>l});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869);async function l(){!function(){try{let a=f().join("win32"===process.platform?f().join(process.env.APPDATA||"","9router"):f().join(j().homedir(),".9router"),"mitm",".mitm.pid");if(!h().existsSync(a))return;let b=parseInt(h().readFileSync(a,"utf8").trim(),10);if(!b)return;if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}try{h().unlinkSync(a)}catch{}}catch{}}();let a=function(){let a=[];if("win32"===process.platform){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(b=>{let c=b.toLowerCase();if(c.includes("9router")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=b.match(/^"(\d+)"/);c&&c[1]&&c[1]!==process.pid.toString()&&a.push(c[1])}})}catch{}for(let b of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${b} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(b=>{let c=b.trim();c&&!isNaN(c)&&a.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(b=>{if(b.includes("9router")||b.includes("next-server")||b.includes("cloudflared")||b.includes("/bin/app/")||b.includes("tray_darwin")||b.includes("tray_linux")){let c=b.trim().split(/\s+/)[1];c&&!isNaN(c)&&c!==process.pid.toString()&&a.push(c)}})}catch{}return a}(),b=process.platform;a.forEach(a=>{try{"win32"===b?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),a.length>0&&await new Promise(a=>setTimeout(a,1500))}function m(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"9router"):f().join(j().homedir(),".9router"),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--skip-update"];(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,UPDATER_PKG_NAME:a,UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:String(k.h0.appPort),UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(g)}}).unref(),setTimeout(()=>process.exit(0),k.h0.exitDelayMs)}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{"use strict";a.exports={rE:"0.5.63"}},40615:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>t,js:()=>x,DI:()=>o,fg:()=>l,Pd:()=>p,IS:()=>i,nJ:()=>j,HP:()=>A,vh:()=>B,zN:()=>k,JH:()=>n,jO:()=>z,wb:()=>y,br:()=>m,wG:()=>w,zt:()=>u,gb:()=>r,gC:()=>s,mq:()=>q,rs:()=>v});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"];function g(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}let h=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,g(a)])),i=h("free"),j=h("freeTier"),k=h("oauth"),l=h("apikey"),m=h("webCookie"),n="openai-compatible-",o="anthropic-compatible-",p="custom-embedding-";function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}let t={...i,...j,...k,...l,...m};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=d.A.filter(a=>a.features?.usage).map(a=>a.id),z=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id),A={},B=Object.fromEntries(d.A.filter(a=>a.noAuth).map(a=>[a.id,g(a)]))},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},96487:()=>{}};
1
+ exports.id=4827,exports.ids=[615,4827],exports.modules={21719:(a,b,c)=>{"use strict";c.d(b,{g:()=>m,l:()=>l});var d=c(79646),e=c(33873),f=c.n(e),g=c(29021),h=c.n(g),i=c(21820),j=c.n(i),k=c(30869);async function l(){!function(){try{let a=f().join("win32"===process.platform?f().join(process.env.APPDATA||"","9router"):f().join(j().homedir(),".9router"),"mitm",".mitm.pid");if(!h().existsSync(a))return;let b=parseInt(h().readFileSync(a,"utf8").trim(),10);if(!b)return;if("win32"===process.platform)try{(0,d.execSync)(`taskkill /F /T /PID ${b}`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{try{(0,d.execSync)(`powershell -NonInteractive -WindowStyle Hidden -Command "Stop-Process -Id ${b} -Force"`,{stdio:"ignore",windowsHide:!0,timeout:3e3})}catch{}}else try{(0,d.execSync)(`sudo -n kill -9 ${b} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{try{process.kill(b,"SIGKILL")}catch{}}try{h().unlinkSync(a)}catch{}}catch{}}();let a=function(){let a=[];if("win32"===process.platform){try{(0,d.execSync)('powershell -NonInteractive -WindowStyle Hidden -Command "Get-WmiObject Win32_Process -Filter \'Name=\\"node.exe\\"\' | Select-Object ProcessId,CommandLine | ConvertTo-Csv -NoTypeInformation"',{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").slice(1).filter(a=>a.trim()).forEach(b=>{let c=b.toLowerCase();if(c.includes("9router")||c.includes("next-server")||c.includes("\\bin\\app\\")||c.includes("/bin/app/")||c.includes("cli.js")){let c=b.match(/^"(\d+)"/);c&&c[1]&&c[1]!==process.pid.toString()&&a.push(c[1])}})}catch{}for(let b of["cloudflared","tray_windows_release"])try{let c=`powershell -NonInteractive -WindowStyle Hidden -Command "Get-Process ${b} -ErrorAction SilentlyContinue | Select-Object -ExpandProperty Id"`;(0,d.execSync)(c,{encoding:"utf8",windowsHide:!0,timeout:5e3}).split("\n").forEach(b=>{let c=b.trim();c&&!isNaN(c)&&a.push(c)})}catch{}}else try{(0,d.execSync)("ps aux 2>/dev/null",{encoding:"utf8",timeout:5e3}).split("\n").forEach(b=>{if(b.includes("9router")||b.includes("next-server")||b.includes("cloudflared")||b.includes("/bin/app/")||b.includes("tray_darwin")||b.includes("tray_linux")){let c=b.trim().split(/\s+/)[1];c&&!isNaN(c)&&c!==process.pid.toString()&&a.push(c)}})}catch{}return a}(),b=process.platform;a.forEach(a=>{try{"win32"===b?(0,d.execSync)(`taskkill /F /PID ${a} 2>nul`,{stdio:"ignore",shell:!0,windowsHide:!0,timeout:3e3}):(0,d.execSync)(`kill -9 ${a} 2>/dev/null`,{stdio:"ignore",timeout:3e3})}catch{}}),a.length>0&&await new Promise(a=>setTimeout(a,1500))}function m(a=k.h0.npmPackageName){let b=function(a){try{if(!a||!h().existsSync(a))return a;let b=f().join(process.env.DATA_DIR?process.env.DATA_DIR:"win32"===process.platform?f().join(process.env.APPDATA||f().join(j().homedir(),"AppData","Roaming"),"9router"):f().join(j().homedir(),".9router"),"runtime","updater"),c=f().join(b,"updater.js");if(h().existsSync(c))try{if(h().statSync(a).size===h().statSync(c).size)return c}catch{}return h().mkdirSync(b,{recursive:!0}),h().copyFileSync(a,c),c}catch{return a}}(function(){if(process.env.UPDATER_SCRIPT_PATH&&h().existsSync(process.env.UPDATER_SCRIPT_PATH))return process.env.UPDATER_SCRIPT_PATH;let a=f().join(process.cwd(),"src","lib","updater","updater.js");if(h().existsSync(a))return a;let b=f().join(process.cwd(),"..","src","lib","updater","updater.js");return h().existsSync(b)?b:a}()),c="1"===process.env.TRAY_MODE,e={cmd:"win32"===process.platform?"npx.cmd":"npx",args:[k.h0.npmPackageName]},g=c?[...e.args,"--tray","--skip-update"]:[...e.args,"--skip-update"];(0,d.spawn)(process.execPath,[b],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,UPDATER_PKG_NAME:a,UPDATER_PORT:String(k.h0.statusPort),UPDATER_TAIL_LINES:String(k.h0.statusLogTailLines),UPDATER_RETRIES:String(k.h0.installRetries),UPDATER_RETRY_DELAY_MS:String(k.h0.installRetryDelayMs),UPDATER_LINGER_MS:String(k.h0.lingerAfterDoneMs),UPDATER_WAIT_MIN_MS:String(k.h0.waitForExitMinMs),UPDATER_WAIT_MAX_MS:String(k.h0.waitForExitMaxMs),UPDATER_WAIT_CHECK_MS:String(k.h0.waitForExitCheckMs),UPDATER_APP_PORT:String(k.h0.appPort),UPDATER_RELAUNCH:"1",UPDATER_RELAUNCH_CMD:e.cmd,UPDATER_RELAUNCH_ARGS:JSON.stringify(g)}}).unref(),setTimeout(()=>process.exit(0),k.h0.exitDelayMs)}},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},39006:a=>{"use strict";a.exports={rE:"0.5.65"}},40615:(a,b,c)=>{"use strict";c.d(b,{AI_PROVIDERS:()=>t,js:()=>x,DI:()=>o,fg:()=>l,Pd:()=>p,IS:()=>i,nJ:()=>j,HP:()=>A,vh:()=>B,zN:()=>k,JH:()=>n,jO:()=>z,wb:()=>y,br:()=>m,wG:()=>w,zt:()=>u,gb:()=>r,gC:()=>s,mq:()=>q,rs:()=>v});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"];function g(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}let h=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,g(a)])),i=h("free"),j=h("freeTier"),k=h("oauth"),l=h("apikey"),m=h("webCookie"),n="openai-compatible-",o="anthropic-compatible-",p="custom-embedding-";function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}let t={...i,...j,...k,...l,...m};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=d.A.filter(a=>a.features?.usage).map(a=>a.id),z=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id),A={},B=Object.fromEntries(d.A.filter(a=>a.noAuth).map(a=>[a.id,g(a)]))},78335:()=>{},81329:(a,b,c)=>{"use strict";c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},96487:()=>{}};
@@ -353,7 +353,7 @@ var getComputedStyle = __getComputedStyle;
353
353
  `;a.enqueue(new TextEncoder().encode(d))}}}catch{}}}if(h.trim()){let c=h.trim();if(c.startsWith("data: ")){let d=c.slice(6);try{let c=JSON.parse(d);if("content_block_delta"===c.type){let d=c.delta,e=d?.text;if(e){let c=r(e,b);a.enqueue(new TextEncoder().encode(`data: ${JSON.stringify(c)}
354
354
 
355
355
  `))}}}catch{}}}f||a.enqueue(new TextEncoder().encode("data: [DONE]\n\n"))}catch(b){c?.error?.("CLAUDE-WEB-STREAM",`Stream error: ${String(b)}`),a.error(b)}finally{try{d.releaseLock()}catch{}try{a.close()}catch{}}}});return new Response(g,{status:200,headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}class y extends e.Hv{constructor(){super("claude-web",{baseUrl:v})}async testConnection(a,b){try{let c=n(a);if(!c.trim())return!1;let d=await q(c,{allowAutoSolve:!1}),e=o(a);return await s(d,e,b)}catch(a){return!1}}async execute({model:a,body:b,stream:c,credentials:d,signal:h,log:i}){let m=b||{};try{let b;if(!d||"object"!=typeof d)return{response:new Response(JSON.stringify({error:{message:"Invalid credentials",type:"invalid_request_error"}}),{status:400,statusText:"Bad Request",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m};let c=n(d);if(!c.trim())return{response:new Response(JSON.stringify({error:{message:"Missing session cookie",type:"authentication_error"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m};let k=await q(c,{allowAutoSolve:!0,log:i}),r=o(d);try{b=function(a,b){let c=Array.isArray(a.messages)?a.messages:[],d="";for(let a of c)"object"==typeof a&&null!==a&&"user"===a.role&&(d=String(a.content||""));if(!d.trim())throw Error("No user message found in request");return{prompt:d,model:b||x,timezone:"Asia/Jakarta",personalized_styles:[{type:"default",key:"Default",name:"Normal",nameKey:"normal_style_name",prompt:"Normal\n",summary:"Default responses from Claude",summaryKey:"normal_style_summary",isDefault:!0}],locale:"en-US",tools:[{name:"show_widget",description:"Display interactive widgets and visualizations",input_schema:{type:"object",properties:{widget_type:{type:"string",description:"Type of widget to display"}}},integration_name:"visualize",is_mcp_app:!0},{name:"read_me",description:"Read and reference documents",input_schema:{type:"object",properties:{file_path:{type:"string",description:"Path to the file to read"}}},integration_name:"visualize",is_mcp_app:!1},{type:"web_search_v0",name:"web_search"},{type:"artifacts_v0",name:"artifacts"},{type:"repl_v0",name:"repl"},{type:"widget",name:"weather_fetch"},{type:"widget",name:"recipe_display_v0"},{type:"widget",name:"places_map_display_v0"},{type:"widget",name:"message_compose_v1"},{type:"widget",name:"ask_user_input_v0"},{type:"widget",name:"recommend_claude_apps"},{type:"widget",name:"places_search"},{type:"widget",name:"fetch_sports_data"}],turn_message_uuids:{human_message_uuid:(0,j.randomUUID)(),assistant_message_uuid:(0,j.randomUUID)()},attachments:[],effort:"low",files:[],sync_sources:[],rendering_mode:"messages",thinking_mode:"off",create_conversation_params:{name:"",model:b||x,include_conversation_preferences:!0,paprika_mode:null,compass_mode:null,is_temporary:!1,enabled_imagine:!0,tool_search_mode:"auto"}}}(m,a)}catch(a){return{response:new Response(JSON.stringify({error:{message:a instanceof Error?a.message:"Invalid request format",type:"invalid_request_error"}}),{status:400,statusText:"Bad Request",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m}}let s=d?.orgId,w=d?.conversationId;!s&&((s=await t(k,r,h))||(i?.warn?.("CLAUDE-WEB","Could not retrieve organization ID, using fallback"),s="")),w||(w=(0,j.randomUUID)());let y=p(r);if(function(){let a=process.env.WEB_COOKIE_USE_BROWSER;if("1"===a||"true"===a||"on"===a)return!0;let b=process.env.OMNIROUTE_BROWSER_POOL;return"on"===b||"1"===b||"true"===b}()){let d=function(a){let b=Array.isArray(a.messages)?a.messages:[];for(let a=b.length-1;a>=0;a--)if("user"===b[a].role){let c=b[a].content;if("string"==typeof c)return c;if(Array.isArray(c))return c.map(a=>"object"==typeof a&&a&&"text"in a?String(a.text):"").filter(Boolean).join("\n")}return"Reply with OK"}(m),e=s?`${v}/organizations/${s}/chat_conversations/PLACEHOLDER/completion`:`${v}/chat_conversations/PLACEHOLDER/completion`,f=await (0,l.As)({poolKey:"claude-web",chatPageUrl:"https://claude.ai/new",chatUrl:e,chatUrlMatchDomain:"claude.ai",cookieString:c,cookieDomain:".claude.ai",userMessage:d,inputSelector:"div[contenteditable='true']",postSubmitWaitMs:15e3,signal:h??null});if(f.status>0){let c=new Response(f.body,{status:f.status,headers:{"Content-Type":f.contentType||"text/event-stream"}});return{response:await u(c,a,i,null),url:e,headers:y,transformedBody:b}}return{response:new Response(JSON.stringify({error:{message:`Claude Web browser-backed chat captured no upstream response (timing: ${JSON.stringify(f.timing)})`,type:"upstream_error"}}),{status:502,headers:{"Content-Type":"application/json"}}),url:e,headers:y,transformedBody:b}}let z=s&&w?`${v}/organizations/${s}/chat_conversations/${w}/completion`:`${v}/chat_conversations/new/completion`,A=AbortSignal.timeout(f.MT),B=h?(0,e.OW)(h,A):A;i?.debug?.("CLAUDE-WEB",`Making request to ${z}`);let C=await (0,g.wf)(z,{method:"POST",headers:{...y,Cookie:k},body:JSON.stringify(b),timeoutMs:f.MT,stream:!0,signal:B});if(C.status<200||C.status>=300){let a;if(i?.error?.("CLAUDE-WEB",`HTTP ${C.status}`),401===C.status)return{response:new Response(JSON.stringify({error:{message:"Session expired or invalid",type:"authentication_error"}}),{status:401,statusText:"Unauthorized",headers:{"Content-Type":"application/json"}}),url:z,headers:y,transformedBody:b};if(429===C.status)return{response:new Response(JSON.stringify({error:{message:"Rate limited by Claude Web API",type:"rate_limit_error"}}),{status:429,statusText:"Too Many Requests",headers:{"Content-Type":"application/json"}}),url:z,headers:y,transformedBody:b};let c="",d=null;try{if(C.body){let a=C.body.getReader(),b=new TextDecoder,d=[],e=0;for(;e<2048;){let{value:b,done:c}=await a.read();if(c||!b)break;d.push(b),e+=b.byteLength}try{a.releaseLock()}catch{}if(1===d.length)c=b.decode(d[0]);else{let a=new Uint8Array(e),f=0;for(let b of d)a.set(b,f),f+=b.byteLength;c=b.decode(a)}}else C.text&&(c=C.text)}catch{c=""}d=C.headers.get("cf-mitigated");let e=403===C.status&&("challenge"===d||/<title>\s*Just a moment/i.test(c)||/<title>\s*Attention Required/i.test(c));if(e)a=`Claude Web returned a Cloudflare bot-management challenge (cf-mitigated=${d??"challenge"}). The sandbox / VPS IP appears to be flagged; the cf_clearance cookie pasted from a residential IP won't pass. Probe from a residential network, or use the official Anthropic API (provider: 'claude') instead.`;else{let b=c.trim().slice(0,500);a=b?`Claude Web API error (${C.status}): ${b}`:`Claude Web API error (${C.status}) with no response body`}return{response:new Response(JSON.stringify({error:{message:a,type:e?"cloudflare_challenge":"api_error",code:e?"cf_mitigated_challenge":`HTTP_${C.status}`,...d?{cfMitigated:d}:{}}}),{status:C.status,statusText:"HTTP Error",headers:{"Content-Type":"application/json"}}),url:z,headers:y,transformedBody:b}}return{response:await u(C,a,i,C.body),url:z,headers:y,transformedBody:b}}catch(b){let a=b instanceof Error?b.message:String(b);return i?.error?.("CLAUDE-WEB",`Fetch failed: ${a}`),{response:new Response(JSON.stringify({error:{message:`Claude Web connection failed: ${(0,k.sanitizeErrorMessage)(a)}`,type:"api_connection_error"}}),{status:500,statusText:"Internal Server Error",headers:{"Content-Type":"application/json"}}),url:"",headers:{},transformedBody:m}}}}d()}catch(a){d(a)}})},69734:(a,b,c)=>{c.d(b,{Fx:()=>d,y9:()=>e});let d=()=>void 0,e=()=>void 0},69896:(a,b,c)=>{c.d(b,{l:()=>m});var d=c(14170),e=c(81167),f=c(23874),g=c(31252);function h(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:{}}function i(a,b=""){return"string"==typeof a?a:b}function j(a,b=0){let c="number"==typeof a?a:"string"==typeof a&&a.trim().length>0?Number(a):NaN;return Number.isFinite(c)?c:b}function k(...a){for(let b of a){let a=j(b,0);if(a>0)return a}return 0}function l(a){if(!Array.isArray(a.content))return"";let b="";for(let c of a.content){if(!c||"object"!=typeof c)continue;let a=h(c);"output_text"===a.type&&"string"==typeof a.text&&(b+=a.text)}return b}function m(a,b,c,m){if(b===c)return a;let n=a;if(b===d.h.OPENAI_RESPONSES){let b=h(a),c="response"===b.object?b:h(b.response??b),d=Array.isArray(c.output)?c.output:[],e=h(c.usage??b.usage),f=function(a){let b=a.map(a=>h(a)).filter(a=>"message"===a.type&&Array.isArray(a.content));for(let a=b.length-1;a>=0;a-=1){let c=l(b[a]);if(c.trim().length>0)return{text:c,selectedMessageIndex:a,messageItems:b}}if(b.length>0){let a=b.length-1;return{text:l(b[a]),selectedMessageIndex:a,messageItems:b}}return{text:"",selectedMessageIndex:-1,messageItems:[]}}(d),g=f.text,o="",p=[];for(let a of d){if(!a||"object"!=typeof a)continue;let b=h(a);if("message"===b.type&&Array.isArray(b.content))for(let a of b.content){if(!a||"object"!=typeof a)continue;let b=h(a);"summary_text"===b.type&&"string"==typeof b.text&&(o+=b.text)}else if("reasoning"===b.type&&Array.isArray(b.summary))for(let a of b.summary){let b=h(a);"summary_text"===b.type&&"string"==typeof b.text&&(o+=b.text)}else if("function_call"===b.type){let a=i(b.call_id)||i(b.id)||`call_${Date.now()}_${p.length}`,c=b.arguments;if(null!=c&&"object"==typeof c&&!Array.isArray(c)){let a={...c};for(let[b,c]of Object.entries(a))(""===c||Array.isArray(c)&&0===c.length)&&delete a[b];c=a}let d="string"==typeof c?c:JSON.stringify(c||{}),e=i(b.name),f=m?.get(e)??e;p.push({id:a,type:"function",function:{name:f,arguments:d}})}}let q={role:"assistant"};g&&(q.content=g),o&&(q.reasoning_content=o),p.length>0&&(q.tool_calls=p),void 0===q.content&&(q.content=""),"true"===process.env.DEBUG_RESPONSES_SSE_TO_JSON&&(console.log(`[ResponsesSSE] ${d.length} output items, ${f.messageItems.length} message items`),f.messageItems.forEach((a,b)=>{let c=l(a).length;console.log(` [${b}] text length: ${c}`)}),console.log(` → Selected message index: ${f.selectedMessageIndex}`),console.log(` → Final text content length: ${g.length}`));let r=j(c.created_at,Math.floor(Date.now()/1e3)),s=i(c.model||b.model,"openai-responses"),t=p.length>0?"tool_calls":"stop",u={id:`chatcmpl-${i(c.id,String(Date.now()))}`,object:"chat.completion",created:r,model:s,choices:[{index:0,message:q,finish_reason:t}]};if(Object.keys(e).length>0){let a=j(e.input_tokens,0),b=j(e.output_tokens,0),c=h(e.input_tokens_details),d=h(e.output_tokens_details),f=h(e.prompt_tokens_details),g=h(e.completion_tokens_details),i=k(c.cached_tokens,f.cached_tokens,e.cache_read_input_tokens),l=k(c.cache_creation_tokens,f.cache_creation_tokens,e.cache_creation_input_tokens),m=k(d.reasoning_tokens,g.reasoning_tokens,e.reasoning_tokens);if(u.usage={prompt_tokens:a,completion_tokens:b,total_tokens:a+b},m>0&&(u.usage.completion_tokens_details={reasoning_tokens:m}),i>0||l>0){u.usage.prompt_tokens_details={};let a=u.usage.prompt_tokens_details;i>0&&(a.cached_tokens=i),l>0&&(a.cache_creation_tokens=l)}}n=u}else if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY){let b=h(a),c=h(b.response??b),d=Array.isArray(c.candidates)?c.candidates:[],k=h(c.usageMetadata??b.usageMetadata),l=h(c.promptFeedback??b.promptFeedback);if(d.length>0||Object.keys(l).length>0){let a=Date.parse(i(c.createTime)),b=Number.isFinite(a)?Math.floor(a/1e3):Math.floor(Date.now()/1e3),l=d.length>0?d.map((a,b)=>{let c=h(a),d=h(c.content),j="",k=[],l=[],n="",o="";if(Array.isArray(d.parts))for(let a of d.parts){let b=h(a);if(!0===b.thought&&"string"==typeof b.text){n+=b.text;continue}let c=i(b.thoughtSignature??b.thought_signature);if(c&&(o=c),"string"==typeof b.text){let a=function(a){if("string"!=typeof a)return null;let b=a.replace(/[\u200B-\u200D\uFEFF]/g,"").match(/^[\s\S]*?\[Tool call:\s*([^\]\n]+)\]\s*\nArguments:\s*([\s\S]+?)\s*$/);if(!b)return null;let c=b[1]?.trim(),d=b[2]?.trim();if(!c||!d)return null;try{let a=JSON.parse(d);if("string"==typeof a){let b=a.trim();(b.startsWith("{")||b.startsWith("["))&&(a=JSON.parse(b))}if(a&&"object"==typeof a&&!Array.isArray(a))return{name:c,args:a}}catch{}return null}(b.text);if(a){let b=`call_${i(a.name,"unknown")}_${Date.now()}_${l.length}`;l.push({id:b,type:"function",function:{name:a.name,arguments:JSON.stringify(a.args||{})}})}else(0,g.vE)(b.text)||(j+=b.text,k.push({type:"text",text:b.text}))}let d=h(b.inlineData??b.inline_data);if("string"==typeof d.data&&d.data.length>0){let a=i(d.mimeType??d.mime_type,"image/png");k.push({type:"image_url",image_url:{url:`data:${a};base64,${d.data}`}})}if(b.functionCall){let a=h(b.functionCall),d=i(a.name),f=m?.get(d)??d,g=i(a.id),j=g.length>0?g:`call_${i(f,"unknown")}_${Date.now()}_${l.length}`,k=c||o;if(k){let a=(0,e.q)(null,j);(0,e.Sk)(a,k)}l.push({id:j,type:"function",function:{name:f,arguments:JSON.stringify(function(a){if("string"!=typeof a)return a;let b=a.trim();if(!b||!(b.startsWith("{")||b.startsWith("[")))return a;try{return JSON.parse(b)}catch{return a}}(a.args||{}))}})}}let p={role:"assistant"};1===k.length&&"text"===k[0].type?p.content=k[0].text:k.length>0?p.content=k:j&&(p.content=j),n&&(p.reasoning_content=n),l.length>0&&(p.tool_calls=l),p.content||p.tool_calls||(p.content="");let q=(0,f.U)(i(c.finishReason,"stop"));return"stop"===q&&l.length>0&&(q="tool_calls"),{index:b,message:p,finish_reason:q}}):[{index:0,message:{role:"assistant",content:""},finish_reason:"content_filter"}],o={id:`chatcmpl-${i(c.responseId,String(Date.now()))}`,object:"chat.completion",created:b,model:i(c.modelVersion,"gemini"),choices:l};if(Object.keys(k).length>0){let a=j(k.promptTokenCount,0),b=j(k.thoughtsTokenCount,0);o.usage={prompt_tokens:a,completion_tokens:j(k.candidatesTokenCount,0)+b,total_tokens:j(k.totalTokenCount,0)},b>0&&(o.usage.completion_tokens_details={reasoning_tokens:b}),j(k.cachedContentTokenCount,0)>0&&(o.usage.prompt_tokens_details={cached_tokens:j(k.cachedContentTokenCount,0)})}n=o}}else if(b===d.h.CLAUDE){let b=h(a),c=Array.isArray(b.content)?b.content:[];if(c.length>0){let a="",d="",e=[];for(let b of c){let c=h(b);if("text"===c.type)a+=i(c.text);else if("thinking"===c.type)d+=i(c.thinking);else if("tool_use"===c.type){let a=i(c.name),b=m?.get(a)??a;e.push({id:i(c.id,`call_${Date.now()}_${e.length}`),type:"function",function:{name:b,arguments:JSON.stringify(c.input||{})}})}}let f={role:"assistant"};a&&(f.content=a),d&&(f.reasoning_content=d),e.length>0&&(f.tool_calls=e),void 0===f.content&&(f.content="");let g=i(b.stop_reason,"stop");"end_turn"===g&&(g="stop"),"tool_use"===g&&(g="tool_calls");let k={id:`chatcmpl-${i(b.id,String(Date.now()))}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:i(b.model,"claude"),choices:[{index:0,message:f,finish_reason:g}]},l=h(b.usage);if(Object.keys(l).length>0){let a=j(l.input_tokens,0),b=j(l.output_tokens,0);k.usage={prompt_tokens:a,completion_tokens:b,total_tokens:a+b}}n=k}}return c===d.h.CLAUDE&&c!==b?function(a){let b=a.choices,c=Array.isArray(b);if(!c&&"chat.completion"!==a.object)return a;let d=c?b[0]:null,e=d?h(d):{},f=e.message?h(e.message):{},g=[],k=!1;if(f.reasoning_content&&(k=!0,g.push({type:"thinking",thinking:i(f.reasoning_content)})),Array.isArray(f.tool_calls)&&f.tool_calls.length,void 0!==f.content&&null!==f.content){k=!0;let a=i(f.content);g.push({type:"text",text:""===a?"(empty response)":a})}else k||g.push({type:"text",text:"(empty response)"});if(Array.isArray(f.tool_calls))for(let a of f.tool_calls){let b=h(a),c=h(b.function);g.push({type:"tool_use",id:i(b.id,`call_${Date.now()}`),name:i(c.name),input:"string"==typeof c.arguments?JSON.parse(c.arguments||"{}"):c.arguments||{}})}let l=i(e.finish_reason,"end_turn");"stop"===l&&(l="end_turn"),"tool_calls"===l&&(l="tool_use");let m=h(a.usage);return{id:i(a.id,`msg_${Date.now()}`),type:"message",role:"assistant",model:i(a.model,"claude"),content:g,stop_reason:l,stop_sequence:null,usage:{input_tokens:j(m.prompt_tokens,0),output_tokens:j(m.completion_tokens,0)}}}(h(n)):n}},71394:(a,b,c)=>{c.d(b,{C:()=>k});var d=c(74350),e=c(56452),f=c(33748);function g(a){return"string"==typeof a.reasoning_content&&a.reasoning_content.trim().length>0}function h(a){return!!a&&"object"==typeof a&&!Array.isArray(a)&&"tool_use"===a.type}function i(a){return!!a&&"object"==typeof a&&!Array.isArray(a)&&("thinking"===a.type||"redacted_thinking"===a.type)}function j(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}class k extends d.L{constructor(a="kimi-coding"){super(a)}transformRequest(a,b,c,d){return function(a){let b,c=(0,e.b)(a,void 0),d=j(c);if(!d||!Array.isArray(d.messages))return c;let k=function(a){if(!(Array.isArray(a.system)||Array.isArray(a.messages)&&a.messages.some(a=>{let b=j(a);return!!b&&!!Array.isArray(b.content)&&b.content.some(a=>{let b=j(a);return b?.type==="text"||b?.type==="tool_use"||b?.type==="tool_result"})})))return a;let b=j(a.thinking)??{type:"enabled"};return null===b.keep?a:{...a,thinking:{...b,keep:null}}}(d);if(!(b=k.thinking)||"object"!=typeof b||Array.isArray(b)||"enabled"!==b.type&&"adaptive"!==b.type)return k;let l=!1,m=(Array.isArray(k.messages)?k.messages:d.messages).map(a=>{let b=j(a);if(!b||"assistant"!==b.role||!(Array.isArray(b.tool_calls)&&b.tool_calls.length>0||Array.isArray(b.content)&&b.content.some(h)))return a;let c=function(a){let b=g(a)?String(a.reasoning_content):f.A_,c=g(a)?a:{...a,reasoning_content:b};if(!Array.isArray(c.content))return c;let d=c.content.findIndex(h);if(d<0||c.content.some(i))return c;let e=[...c.content];return e.splice(d,0,{type:"thinking",thinking:b}),{...c,content:e}}(b);return c!==b&&(l=!0),c});return l?{...k,messages:m}:k}(super.transformRequest(a,b,c,d))}}},72221:(a,b,c)=>{c.d(b,{LW:()=>k,S$:()=>n,Ub:()=>i,mU:()=>o,n:()=>j,r3:()=>l,uQ:()=>m,x2:()=>g});let d=/<tool>\s*([\s\S]*?)\s*<\/tool>/g,e=/<tool_call(?:\s+[^>]*)?\s*>\s*([\s\S]*?)\s*<\/tool_call>/g;function f(a){return a&&"object"==typeof a&&!Array.isArray(a)?a:null}function g(a){if(!Array.isArray(a))return[];let b=[],c=new Set;for(let d of a){let a=f(d),e=f(a?.function),g="string"==typeof e?.name?e.name.trim():"";!g||c.has(g)||(c.add(g),b.push({original:g,normalized:h(g)}))}return b}function h(a){return a.toLowerCase().replace(/[^a-z0-9]/g,"")}function i(a,b){if(0===b.length)return a;let c=null,d=0;for(let e of b){let b=function(a,b){if(a===b.original)return 1;let c=h(a);if(!c||!b.normalized)return 0;if(c===b.normalized)return .98;let d=Math.min(c.length,b.normalized.length),e=Math.max(c.length,b.normalized.length);if(d>=4&&(c.includes(b.normalized)||b.normalized.includes(c)))return .86-(e-d)/Math.max(e,1)/4;let f=1-function(a,b){if(a===b)return 0;if(!a)return b.length;if(!b)return a.length;let c=Array.from({length:b.length+1},(a,b)=>b),d=Array(b.length+1);for(let e=1;e<=a.length;e+=1){d[0]=e;for(let f=1;f<=b.length;f+=1){let g=+(a[e-1]!==b[f-1]);d[f]=Math.min(d[f-1]+1,c[f]+1,c[f-1]+g)}let f=c;c=d,d=f}return c[b.length]}(c,b.normalized)/Math.max(e,1);return f>=.72?f:0}(a,e);!c||b>c.score?(d=c?.score??0,c={name:e.original,score:b}):b>d&&(d=b)}return!c||c.score<.72||c.score<.98&&c.score-d<.08?null:c.name}function j(a){let b=a.trim().replace(/^```(?:json|javascript|js|python)?\s*/i,"").replace(/\s*```$/i,"").trim();for(let a of[b,(function(a){let b="",c=!1,d=!1,e="",f=()=>{"True"===e?b+="true":"False"===e?b+="false":"None"===e?b+="null":b+=e,e=""};for(let g of a){if(d){e&&f(),b+=g,d=!1;continue}if("\\"===g){e&&f(),b+=g,d=c;continue}if('"'===g){e&&f(),c=!c,b+=g;continue}if(!c&&/[A-Za-z]/.test(g)){e+=g;continue}e&&f(),b+=g}return e&&f(),b})(function(a){let b="",c=!1,d=!1,e=!1;for(let f of a){if(e){b+='"'===f&&c?'\\"':f,e=!1;continue}if("\\"===f){b+=f,e=!0;continue}if('"'===f){c?b+='\\"':(d=!d,b+=f);continue}if("'"===f&&!d){c=!c,b+='"';continue}b+=f}return b}(b)).replace(/([{,]\s*)([A-Za-z_][A-Za-z0-9_-]*)(\s*:)/g,'$1"$2"$3').replace(/,\s*([}\]])/g,"$1")])try{return f(JSON.parse(a))}catch{}return null}function k(a,b){let c=a;for(let a of[...b].sort((a,b)=>b.start-a.start)){let b=c.lastIndexOf("\n",a.start-1)+1,d=c.indexOf("\n",a.end),e=-1===d?c.length:d,f=c.slice(b,a.start),g=c.slice(a.end,e),h=""===f.trim()&&""===g.trim(),i=h?b:a.start,j=h&&-1!==d?d+1:h?e:a.end;c=`${c.slice(0,i)}${c.slice(j)}`}return c.replace(/\n{3,}/g,"\n\n").trim()}function l(a){if(void 0===a)return"{}";if("string"==typeof a){let b=j(a);return b?JSON.stringify(b):a}try{return JSON.stringify(a)}catch{return"{}"}}function m(a,b="call",c){let f,h=g(c),n=h.length>0;if("string"!=typeof a||!a.includes("<tool>")&&!a.includes("<tool_call")&&!n)return{content:a??"",toolCalls:null};let o=[],p=[];for(d.lastIndex=0;null!==(f=d.exec(a));){let a={start:f.index,end:d.lastIndex};p.push(a),o.push({raw:f[1].trim(),start:a.start,end:a.end,requireRequestedTool:!1})}for(e.lastIndex=0;null!==(f=e.exec(a));){let a={start:f.index,end:e.lastIndex};p.push(a),o.push({raw:f[1].trim(),start:a.start,end:a.end,requireRequestedTool:!1})}if(n)for(let b of function(a){let b=[],c=-1,d=0,e="",f=!1;for(let g=0;g<a.length;g+=1){let h=a[g];if(0!==d||"{"===h){if(f){f=!1;continue}if(e){"\\"===h?f=!0:h===e&&(e="");continue}if('"'===h||"'"===h){e=h;continue}if("{"===h){0===d&&(c=g),d+=1;continue}if("}"===h&&d>0&&0==(d-=1)&&c>=0){let d=a.slice(c,g+1);/[{,]\s*["']?(name|command)["']?\s*:/i.test(d)&&/[{,]\s*["']?arguments["']?\s*:/i.test(d)&&b.push({raw:d,start:c,end:g+1,requireRequestedTool:!0}),c=-1}}}return b}(a))p.some(a=>a.start<b.end&&b.start<a.end)||o.push(b);o.sort((a,b)=>a.start-b.start);let q=[],r=[];for(let a of o){let c=j(a.raw),d=c&&"string"==typeof c.name?c.name:c&&"string"==typeof c.command?c.command:null;if(!d)continue;let e=i(d,h)||(a.requireRequestedTool?null:d);if(!e||a.requireRequestedTool&&0===h.length)continue;let f=l(c?.arguments);q.push({id:`${b}_${q.length}`,type:"function",function:{name:e,arguments:f}}),r.push({start:a.start,end:a.end})}return 0===q.length?{content:a,toolCalls:null}:{content:k(a,r),toolCalls:q}}function n(a,b){let c=a.tools;if(!(Array.isArray(c)&&c.length>0))return{hasTools:!1,requestedTools:c,effectiveMessages:b};let d=function(a){if(!Array.isArray(a)||0===a.length)return"";let b=[];for(let c of a){let a=c?.function;if(!a?.name)continue;let d="string"==typeof a.description&&a.description?a.description:"",e="";try{e=a.parameters?JSON.stringify(a.parameters):""}catch{e=""}b.push(`- ${a.name}${d?`: ${d}`:""}${e?`
356
- parameters: ${e}`:""}`)}return 0===b.length?"":["You can call tools. To call a tool, reply with a single line containing a <tool> block",'with JSON: <tool>{"name": "<tool_name>", "arguments": { ... }}</tool>',"Only emit the <tool> block when you actually want to call a tool; otherwise answer normally.","","Available tools:",...b].join("\n")}(c);return{hasTools:!0,requestedTools:c,effectiveMessages:[{role:"system",content:d},...b]}}function o(a,b,c="call"){let{content:d,toolCalls:e}=m(a,`${c}-${Date.now()}`,b);return{content:d,toolCalls:e,finishReason:e?"tool_calls":"stop"}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>m,IF:()=>s,O9:()=>j,OF:()=>r,WL:()=>k,bC:()=>p,f5:()=>n,lm:()=>f,oT:()=>q});var d=c(47370),e=c(14170);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"},g=null,h=0;async function i(){try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=(await a()).usageTokenBuffer;"number"==typeof b&&b>=0&&(g=b,h=Date.now())}catch{}}function j(a){if(!a||"object"!=typeof a)return a;let b=function(){let a=Date.now(),b=null!==g&&a-h>=3e4;if(null!==g&&!b)return g;let c=process.env.USAGE_TOKEN_BUFFER;if(void 0!==c){let b=parseInt(c,10);if(!isNaN(b)&&b>=0)return g=b,h=a,b}return(null===g||b)&&(null===g&&(g=2e3),h=a,i()),g}();if(0===b)return a;let c={...a};return void 0!==c.input_tokens&&(c.input_tokens+=b),void 0!==c.prompt_tokens&&(c.prompt_tokens+=b),void 0!==c.total_tokens?c.total_tokens+=b:void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens),c}function k(a,b){if(!a||"object"!=typeof a)return a;let c={...a};b===e.h.CLAUDE||b===e.h.OPENAI_RESPONSES?(void 0!==c.prompt_tokens&&void 0===c.input_tokens&&(c.input_tokens=c.prompt_tokens),void 0!==c.completion_tokens&&void 0===c.output_tokens&&(c.output_tokens=c.completion_tokens)):(void 0!==c.input_tokens&&void 0===c.prompt_tokens&&(c.prompt_tokens=c.input_tokens),void 0!==c.output_tokens&&void 0===c.completion_tokens&&(c.completion_tokens=c.output_tokens),void 0===c.total_tokens&&void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens));let d={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},f=d[b];b===e.h.ANTIGRAVITY?f=d[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?f=d[e.h.OPENAI_RESPONSES]:f||(f=d.default);let g={};for(let a of f)void 0!==c[a]&&(g[a]=c[a]);return g}function l(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("input_tokens",a?.input_tokens),c("output_tokens",a?.output_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function m(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function n(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage){let b=a.message.usage,c=b.input_tokens||b.prompt_tokens||0,d=b.cache_read_input_tokens||0,e=b.cache_creation_input_tokens||0;if(c>0||d>0||e>0)return l({prompt_tokens:c+d+e,completion_tokens:b.output_tokens||b.completion_tokens||0,input_tokens:c+d+e,output_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage){let b=a.usage.input_tokens||0,c=a.usage.cache_read_input_tokens||0,d=a.usage.cache_creation_input_tokens||0;return l({prompt_tokens:b+c+d,completion_tokens:a.usage.output_tokens||0,input_tokens:b+c+d,output_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens})}if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return l({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens??b.prompt_tokens_details?.cached_tokens??b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens??b.completion_tokens_details?.reasoning_tokens??b.reasoning_tokens})}if(a.usage&&"object"==typeof a.usage&&(void 0!==a.usage.prompt_tokens||void 0!==a.usage.input_tokens))return l({prompt_tokens:a.usage.prompt_tokens??a.usage.input_tokens??0,completion_tokens:a.usage.completion_tokens??a.usage.output_tokens??0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens??a.usage.input_tokens_details?.cached_tokens??a.usage.prompt_cache_hit_tokens??a.usage.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens??a.usage.output_tokens_details?.reasoning_tokens??a.usage.reasoning_tokens});let b=a.usageMetadata||a.response?.usageMetadata;if(b&&"object"==typeof b)return l({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount});if(!0===a.done&&"number"==typeof a.prompt_eval_count){let b=a.prompt_eval_count||0,c=a.eval_count||0;return l({prompt_tokens:b,completion_tokens:c,total_tokens:b+c})}return null}function o(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function p(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=o(JSON.stringify(f))}else c=o(JSON.stringify(a));return c+b}catch(a){return 0}}function q(a){return!a||a<=0?0:Math.max(1,Math.ceil(a/3.5))}function r(a,b,c=e.h.OPENAI){var d,f;return d=p(a),f=q(b),c===e.h.CLAUDE?j({input_tokens:d,output_tokens:f,estimated:!0}):j({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function s(a,b,c=null,e=null,g=null,h=null,i="ok",j=!0){if(!b||"object"!=typeof b)return;let k=a?.toUpperCase()||"UNKNOWN",l=b?.prompt_tokens??b?.input_tokens??null,m=b?.completion_tokens??b?.output_tokens??null,n="string"==typeof e?e:void 0,o=n?n.slice(0,8)+"...":"unknown",p="ok"===i||200===i||"200"===i?`${f.green}ok${f.reset}`:`${f.red}${i}${f.reset}`,q=null!==h?`${h}ms`:"-",r=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 [USAGE] ${k} | ${c||"unknown"} | ${p} | ${j?"stream":"sync"} | ${q} | in=${l} | out=${m} | account=${o}`;b.estimated&&(r+=` ${f.yellow}(estimated)${f.reset}`);let t=b?.cached_tokens??b?.cache_read_input_tokens??null;t&&(r+=` | cache_read=${t}`);let u=b?.cache_creation_input_tokens??null;u&&(r+=` | cache_create=${u}`);let v=b.reasoning_tokens;v&&(r+=` | reasoning=${v}`),console.log(r),(0,d.E5)({model:"string"==typeof c?c:void 0,provider:"string"==typeof a?a:void 0,connectionId:n,tokens:{input:l,output:m,cacheRead:t||0,cacheCreation:u||0,reasoning:v||0},status:"200 OK"}).catch(()=>{})}},73870:(a,b,c)=>{c.d(b,{w0:()=>o});var d=c(89419),e=c(86935),f=c(97510),g=c(61408);let h=new Map,i=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/generative-language.retriever"];function j(a){try{return JSON.parse(a)}catch{throw Error("Vertex AI requires a valid Service Account JSON as the API key")}}function k(a){if(!a||"string"!=typeof a)return!1;try{let b=JSON.parse(a);return!!b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}async function l(a){if(!a.client_email||!a.private_key)throw Error("Service Account JSON is missing required fields (client_email or private_key)");let b=a.client_email,c=h.get(b);if(c&&Date.now()<c.expiresAt-6e4)return c.token;let f=await (0,d.Lf)(a.private_key,"RS256"),g=Math.floor(Date.now()/1e3),j=await new e.P({iss:a.client_email,sub:a.client_email,aud:"https://oauth2.googleapis.com/token",iat:g,exp:g+3600,scope:i.join(" ")}).setProtectedHeader({alg:"RS256",kid:a.private_key_id}).sign(f),k=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();throw Error(`Failed to exchange JWT for Vertex access token: ${k.status} ${a}`)}let l=(await k.json()).access_token;if(!l)throw Error("Vertex AI token exchange succeeded but no access_token found");return h.set(b,{token:l,expiresAt:(g+3600)*1e3}),l}let m=new Set(["claude-3-5-sonnet","claude-3-opus","claude-3-haiku","deepseek-v3","deepseek-v3.2","deepseek-v4","deepseek-deepseek-r1","qwen3-next-80b","qwen3.6-","llama-3.1","mistral-","glm-5","glm-5.1","meta/llama"]);function n(a){let b=a.toLowerCase();return[...m].some(a=>b.startsWith(a))}class o extends f.Hv{constructor(){super("vertex",g.xq.vertex)}async execute(a){let{credentials:b,log:c}=a;if("string"==typeof b.apiKey&&(b.apiKey=b.apiKey.trim()),b.apiKey&&!b.accessToken&&k(b.apiKey))try{let a=j(b.apiKey);b.accessToken=await l(a)}catch(a){throw c?.error?.("VERTEX",`Failed to generate JWT token: ${a.message}`),a}return super.execute(a)}buildUrl(a,b,c=0,d=null){var e;if("string"==typeof(e=d?.apiKey)&&e.trim().length>0&&!k(e)&&!d?.accessToken){let c=encodeURIComponent(String(d.apiKey).trim());return n(a)?`https://aiplatform.googleapis.com/v1/publishers/openapi/chat/completions?key=${c}`:`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse&":"generateContent?"}key=${c}`}let f=d?.providerSpecificData?.region||"us-central1",g="unknown-project";if(d?.apiKey)try{let a=j(d.apiKey);a.project_id&&(g=a.project_id)}catch{}return n(a)?`https://aiplatform.googleapis.com/v1/projects/${g}/locations/global/endpoints/openapi/chat/completions`:`https://aiplatform.googleapis.com/v1/projects/${g}/locations/${f}/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}}},74184:(a,b,c)=>{c.d(b,{As:()=>E});var d=c(4573);let e={browser:null,contexts:new Map,pendingContexts:new Map,launching:null,lastActivity:0,idleTimer:null,evictTimer:null,cloakLaunch:null,cloakLaunchResolved:!1,metrics:{browserLaunches:0,browserLaunchFailures:0,contextsCreated:0,contextsReused:0,contextsEvicted:0,contextsReleased:0,contextCreateFailures:0,shutdowns:0,lastShutdownReason:null}};async function f(){if(e.cloakLaunchResolved)return e.cloakLaunch;e.cloakLaunchResolved=!0;try{e.cloakLaunch=(await import("cloakbrowser")).launch??null}catch{e.cloakLaunch=null}return e.cloakLaunch}function g(){e.idleTimer&&clearTimeout(e.idleTimer),e.idleTimer=setTimeout(()=>{m("idle-timeout")},3e5),e.idleTimer.unref?.()}async function h(a,b){try{let d=b?.resolveProxy??(async a=>{let{resolveProxyForProvider:b}=await c.e(1676).then(c.bind(c,51676));return b(a)}),e=await d(a);if(!e?.host)return;let f="socks5"===e.type?"socks5":"http",g={server:`${f}://${e.host}:${e.port}`};return e.username&&(g.username=String(e.username),g.password=null==e.password?"":String(e.password)),g}catch(a){console.warn("[BrowserPool] Failed to resolve proxy from DB:",a);return}}async function i(){if(e.browser)return e.browser;if(e.launching)return e.launching;e.launching=(async()=>{let a,b=await f();if(b)a=await b({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]});else{let{chromium:b}=await Promise.resolve().then(c.bind(c,83237));a=await b.launch({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage","--disable-blink-features=AutomationControlled"]})}return e.browser=a,e.launching=null,e.metrics.browserLaunches++,a})();try{return await e.launching}catch(a){throw e.launching=null,e.metrics.browserLaunchFailures++,a}}function j(a,b){b&&e.metrics.contextCreateFailures++,e.pendingContexts.delete(a)}async function k(a,b){let c;if(void 0!==(c=process.env.OMNIROUTE_BROWSER_POOL)&&("off"===c||"0"===c||"false"===c))throw Error("browserPool: OMNIROUTE_BROWSER_POOL=off — context requested but pool is disabled");let d=e.contexts.get(a);if(d)return d.lastUsed=Date.now(),e.lastActivity=Date.now(),e.metrics.contextsReused++,g(),d;let f=e.pendingContexts.get(a);if(f)return f;let k=(async()=>{let[c,d]=await Promise.all([i(),h(a)]),f=null!==e.cloakLaunch,j=await c.newContext({userAgent:b.userAgent||"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",locale:b.locale||"en-US",timezoneId:b.timezone||"America/New_York",viewport:{width:1280,height:800},...d?{proxy:d}:{}});if(b.cookieString){var k,l;let a=(k=b.cookieString,l=b.cookieDomain,k.split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");if(b<0)return null;let c=a.slice(0,b).trim(),d=a.slice(b+1).trim();return c&&d?{name:c,value:d,domain:l.startsWith(".")?l:`.${l}`,path:"/",expires:-1,httpOnly:!1,secure:!0,sameSite:"Lax"}:null}).filter(Boolean));a.length>0&&await j.addCookies(a)}let n=null;if(b.warmupUrl)try{n=await j.newPage(),await n.goto(b.warmupUrl,{waitUntil:"domcontentloaded",timeout:3e4}),await new Promise(a=>setTimeout(a,1500))}catch(a){try{await n?.close()}catch{}n=null}if(e.browser!==c)throw await j.close().catch(()=>{}),n&&await n.close().catch(()=>{}),Error("Pool shut down during context creation");let o={id:a,context:j,warmupPage:n,lastUsed:Date.now(),isStealth:f};return e.contexts.set(a,o),e.metrics.contextsCreated++,e.lastActivity=Date.now(),g(),e.evictTimer&&clearInterval(e.evictTimer),e.evictTimer=setInterval(()=>(function(){let a=Date.now();for(let[b,c]of e.contexts)a-c.lastUsed>6e5&&(console.log("[BrowserPool] Evicted stale context:",b,"(idle",((a-c.lastUsed)/1e3).toFixed(0)+"s)"),e.contexts.delete(b),e.metrics.contextsEvicted++,c.context.close().catch(()=>{}));0!==e.contexts.size||e.launching||m("all-contexts-evicted")})(),6e4),e.evictTimer.unref?.(),o})();return e.pendingContexts.set(a,k),k.then(()=>j(a,!1)).catch(()=>j(a,!0)),k}async function l(a){return a.context.newPage()}async function m(a){for(let[b,c]of(e.metrics.shutdowns++,e.metrics.lastShutdownReason=a,e.idleTimer&&(clearTimeout(e.idleTimer),e.idleTimer=null),e.evictTimer&&(clearInterval(e.evictTimer),e.evictTimer=null),e.pendingContexts.clear(),e.contexts)){try{await c.context.close()}catch{}e.contexts.delete(b)}if(e.browser){try{await e.browser.close()}catch{}e.browser=null}e.lastActivity=Date.now()}async function n(a){let b={};for(let[c,d]of Object.entries(a.headers()))b[c]=d;let c=await a.body();return{status:a.status(),headers:b,body:d.Buffer.from(c)}}var o=c(58643),p=c(43659);let q=new Map;function r(a){let b=q.get(a);return b&&Date.now()<b.expiresAt?b.cookieString:(q.delete(a),null)}function s(a,b,c){q.set(a,{cookieString:b,expiresAt:Date.now()+(c??3e5),domain:a})}let t=new Map;function u(a,b){return new Promise((c,d)=>{if(b?.aborted)return d(new DOMException("Aborted","AbortError"));let e=()=>{clearTimeout(f),d(new DOMException("Aborted","AbortError"))},f=setTimeout(()=>{b?.removeEventListener("abort",e),c()},a);b?.addEventListener("abort",e,{once:!0})}).catch(a=>{if(a instanceof DOMException&&"AbortError"===a.name)throw a})}async function v(a,b){return b?{key:a,acquired:!0}:{key:`${a}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,acquired:!1}}async function w(a){let b=Date.now(),{poolKey:c,chatUrl:e,chatPageUrl:f,userMessage:g,cookieString:h,cookieDomain:i,chatUrlMatchDomain:j,userAgent:m,locale:o,timezone:q,inputSelector:r,submitButtonSelector:s,postSubmitWaitMs:t=15e3,signal:w,reuseContext:x=!0}=a,{key:y,acquired:z}=await v(c,x),A=Date.now(),B=await k(y,{cookieDomain:i||j,cookieString:h||null,warmupUrl:f,userAgent:m,locale:o,timezone:q}),C=Date.now()-A,D=await l(B);try{let a,c=Date.now();await D.goto(f,{waitUntil:"domcontentloaded",timeout:6e4,signal:w??void 0}),await u(2500,w);let h=Date.now()-c,i=D.locator(r).first();await i.waitFor({state:"visible",timeout:1e4,signal:w??void 0}),await i.fill(g),await u(800,w),Date.now();let k=D.waitForResponse(a=>"POST"===a.request().method()&&function(a,b,c){let d,e;if(a===c)return!0;try{d=new URL(a),e=new URL(c)}catch{return!1}if(!d.host.endsWith(b))return!1;let f=e.pathname.split("/").filter(Boolean),g=d.pathname.split("/").filter(Boolean);if(f.length<2||g.length!==f.length)return!1;let h=1;for(let a=0;a<f.length;a++)if(f[a]!==g[a]){if("PLACEHOLDER"===f[a]&&h>0){h--;continue}return!1}return!0}(a.url(),j,e),{timeout:3e4}),l=w?new Promise((b,c)=>{if(w.aborted)return c(new DOMException("Aborted","AbortError"));a=()=>c(new DOMException("Aborted","AbortError")),w.addEventListener("abort",a,{once:!0})}):null;if(s){let a=D.locator(s).first();if(await a.count()>0)try{await a.click({timeout:2e3})}catch{await D.keyboard.press("Enter")}else await D.keyboard.press("Enter")}else await D.keyboard.press("Enter");let m=Date.now(),o=l?await Promise.race([k,l]).catch(()=>null):await k.catch(()=>null);w&&a&&w.removeEventListener("abort",a),o?await u(Math.min(t,3e4),w):await u(t,w);let p=Date.now()-m,q=0,v=null,x=d.Buffer.alloc(0);if(o){let a=await n(o);a.body.length>0xa00000?(x=d.Buffer.from(JSON.stringify({error:{message:"Response too large",type:"upstream_error"}})),q=502,v="application/json"):(q=a.status,v=a.headers["content-type"]||null,x=a.body)}return{status:q,contentType:v,body:x,isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:h,submitMs:p,captureResponseMs:p,totalMs:Date.now()-b}}}catch(c){let a=c instanceof Error?c.message:String(c);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`browserBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-b}}}finally{if(await D.close(),!z)try{await B.context.close()}catch{}}}async function x(a){let b,c=Date.now(),{chatUrl:e,userMessage:f,cookieString:g,cookieDomain:h,chatUrlMatchDomain:i,signal:j}=a,k={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:"text/event-stream, application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Content-Type":"application/json",Origin:"duckduckgo.com"===i?"https://duckduckgo.com":`https://${i}`,Referer:"duckduckgo.com"===i?"https://duckduckgo.com/":`https://${i}/`,"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","Sec-Ch-Ua":'"Chromium";v="149", "Google Chrome";v="149", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',Priority:"u=1, i"};g&&(k.Cookie=g),b=new URL(e).hostname.includes("duckduckgo")?JSON.stringify({model:"gpt-4o-mini",messages:[{role:"user",content:f}]}):JSON.stringify({messages:[{role:"user",content:f}]});try{let a=Date.now();if(!o.A.available)return{status:501,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"httpBackedChat unavailable: wreq-js (TLS client) not installed",type:"configuration_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:Date.now()-c,captureResponseMs:0,totalMs:Date.now()-c}};let f=await o.A.fetch(e,{method:"POST",headers:k,body:b,signal:j??void 0}),g=Date.now()-a,h=f.headers.get("content-length");if(h&&parseInt(h,10)>0xa00000)throw Error("Response too large");let i=d.Buffer.from(await f.text()),l=f.status,m=f.headers.get("content-type")||"text/event-stream";return{status:l,contentType:m,body:i,isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:g,captureResponseMs:0,totalMs:Date.now()-c}}}catch(b){if(b instanceof DOMException&&"AbortError"===b.name)throw b;let a=b instanceof Error?b.message:String(b);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`httpBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-c}}}}async function y(a,b,c){let d=Date.now()+5e3;for(;Date.now()<d;){if(c?.aborted)throw new DOMException("Aborted","AbortError");let e=(await a.cookies(b)).map(a=>`${a.name}=${a.value}`).join("; ");if(e)return e;let f=d-Date.now();if(f<=0)break;await u(Math.min(500,f),c)}return null}async function z(a,b,c,d){let e=await l(a);try{return await e.goto(b,{waitUntil:"domcontentloaded",timeout:6e4,signal:d??void 0}),await y(a.context,c,d)}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)throw a;return null}finally{await e.close().catch(()=>{})}}async function A(a,b,c,d){let e=r(c);if(e)return e;let f=t.get(a);if(f)return f;let g=B(a,b,c,d);return t.set(a,g),g.finally(()=>t.delete(a)),g}async function B(a,b,c,d){let e,{key:f}=await v(a,!0);try{e=await k(f,{cookieDomain:c,cookieString:null,warmupUrl:b})}catch{return null}let g=await z(e,b,c,d);return g&&s(c,g),g}async function C(a){if(!a.cookieDomain)return null;let b=process.env.OMNIROUTE_BROWSER_POOL;if("off"===b||"0"===b||"false"===b)return null;try{let{key:b}=await v(a.poolKey,!0);return await k(b,{cookieDomain:a.cookieDomain,cookieString:null})}catch{return null}}async function D(a,b,c,d,e){if(e)try{let a=await e;if(a){let e=await z(a,b,c,d);if(e)return s(c,e),e}}catch{}return A(a,b,c,d)}async function E(a){let b=a.signal?null:new AbortController,c=a.signal??b?.signal??null;b&&setTimeout(()=>b.abort(),45e3);let e=C(a);try{var f;let b=await x({...a,signal:c??void 0});if(b.status>=200&&b.status<300||!((f=b.status)>=400&&501!==f))return b;let d=null;if(a.cookieDomain){if(d=r(a.cookieDomain)){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b;d=null}if(!d&&(d=await D(a.poolKey,a.chatPageUrl,a.cookieDomain,c,e))){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b}}let g=d?{...a,cookieString:d,signal:c??void 0}:{...a,signal:c??void 0},h=await w(g);return h.status>=200&&h.status,h}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)return{status:504,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"tryBackedChat timed out",type:"timeout_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:0}};throw a}}},74199:(a,b,c)=>{c.d(b,{R:()=>d});let d=()=>!1},74350:(a,b,c)=>{c.d(b,{L:()=>I});var d=c(97510),e=c(61408),f=c(8590),g=c(89625),h=c(55511);let i=new Map,j=new Map;async function k(a={}){let b=(a.credentials||"").trim();if(!b)throw Error("Missing GigaChat credentials");let c=(a.authUrl||"https://ngw.devices.sberbank.ru:9443/api/v2/oauth").trim(),d=(a.scope||"GIGACHAT_API_PERS").trim(),e=`${c}::${d}::${b}`,f=i.get(e);if(function(a){if(!a?.accessToken||!a?.expiresAt)return!1;let b=new Date(a.expiresAt).getTime();return Number.isFinite(b)&&b-Date.now()>6e4}(f))return f;let g=j.get(e);if(g)return g;let l=(async()=>{let f=await fetch(c,{method:"POST",headers:{Authorization:`Basic ${b}`,RqUID:(0,h.randomUUID)(),"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({scope:d}).toString(),signal:a.signal});if(!f.ok){let a=await f.text();throw Error(`GigaChat token request failed: ${f.status} ${a}`.trim())}let g=await f.json(),j="string"==typeof g.tok?g.tok:"string"==typeof g.access_token?g.access_token:"";if(!j)throw Error("GigaChat token response missing access token");let k={accessToken:j,expiresAt:function(a){if("number"==typeof a&&Number.isFinite(a))return new Date(a).toISOString();if("string"==typeof a&&a.trim().length>0){let b=Number(a);if(Number.isFinite(b))return new Date(b).toISOString();let c=Date.parse(a);if(Number.isFinite(c))return new Date(c).toISOString()}return new Date(Date.now()+18e5).toISOString()}(g.exp??g.expires_at)};return i.set(e,k),k})();j.set(e,l);try{return await l}finally{j.delete(e)}}var l=c(36081),m=c(57247),n=c(93462),o=c(56452),p=c(78340),q=c(57647),r=c(57441),s=c(9427);let t="/api/v2",u="/genai/llmgw/chat/completions/",v="https://app.datarobot.com",w="https://example-resource.services.ai.azure.com/openai/v1",x="https://ca-tor.ml.cloud.ibm.com/ml/gateway/v1",y="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",z="https://example-aicore.cfapps.eu10.hana.ondemand.com/v2/lm/deployments/example-deployment";var A=c(74361),B=c(40615);let C=()=>!1;var D=c(96303),E=c(4928),F=c(13568);function G(a,b){let c=null;if(b&&"object"==typeof b&&!Array.isArray(b))c=b;else if("string"==typeof b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&(c=a)}catch{}if(c)for(let[b,d]of Object.entries(c)){if("string"!=typeof b||"string"!=typeof d||C(b)||/[\r\n\0]/.test(b)||/[\r\n]/.test(d))continue;let c=b.toLowerCase();for(let b of Object.keys(a))b.toLowerCase()===c&&delete a[b];a[b]=d}}function H(a){let b=(0,s.q)(a);return b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/chat")?b:b.endsWith("/v1")?`${b}/chat/completions`:`${b}/v1/chat/completions`}class I extends d.Hv{constructor(a){super(a,e.xq[a]||e.xq.openai);const b=(0,l.qs)(a);b?.poolConfig&&(this.poolConfig=b.poolConfig)}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=d?.providerSpecificData,b=(a?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if(c)return`${b}${c}`;let e=a?._omnirouteForceResponsesUpstream===!0||"responses"===(0,q.J9)(this.provider,a)?"/responses":"/chat/completions";return`${b}${e}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=d?.providerSpecificData,b=a?.baseUrl||"https://api.anthropic.com/v1",c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if((0,q.GK)(this.provider))return(0,g.tI)(b,c||g.np);let e=b.replace(/\/$/,"");return`${e}${c||"/messages"}`}switch(this.provider){case"openai":{let b="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,c=b?H(b):this.config.baseUrl;if("openai-responses"===(0,m.ux)("openai",a))return c.replace(/\/chat\/completions\/?$/,"/responses");return c}case"bailian-coding-plan":{let a;return h=this.resolveBaseUrl(d),(a=(0,s.q)(h).replace(/\?beta=true$/,"")).endsWith("/messages")?a:`${a}/messages`}case"heroku":case"databricks":case"snowflake":case"gigachat":return void this.resolveBaseUrl(d);case"datarobot":{let a;var e,f,h,i=this.resolveBaseUrl(d);return(a=(0,s.q)(i||v)||v).endsWith("/chat/completions")?a:/\/api\/v2\/deployments\/[^/]+$/i.test(a)?`${a}/chat/completions`:/\/api\/v2\/genai\/llmgw$/i.test(a)?`${a}/chat/completions/`:/\/api\/v2\/genai\/llmgw\/chat$/i.test(a)?`${a}/completions/`:a.includes(t)?`${a}${u}`:`${a}${t}${u}`}case"azure-ai":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){let c=function(a){let b=(0,s.q)(a||w);if(!b)return w;if(b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/models"))return b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(b.endsWith("/openai/v1")||b.endsWith("/v1"))return b;if(b.endsWith("/openai"))return`${b}/v1`;let c=new URL(b);return(c.hostname.endsWith(".services.ai.azure.com")||c.hostname.endsWith(".openai.azure.com"))&&(!c.pathname||"/"===c.pathname)?(c.pathname="/openai/v1",(0,s.o)(c.toString())):b}(a);return`${c}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"watsonx":return e=this.resolveBaseUrl(d),`${function(a){let b=(0,s.q)(a||x);if(!b)return x;let c=b.replace(/\/(?:chat\/completions|completions|embeddings|models)$/i,"");if(c.endsWith("/ml/gateway/v1"))return c;if(c.endsWith("/ml/gateway"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/ml/gateway")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/ml/gateway/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(e)}/chat/completions`;case"oci":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){return`${function(a){let b=(0,s.q)(a||y);if(!b)return y;let c=b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(c.endsWith("/openai/v1"))return c;if(c.endsWith("/openai"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/openai")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/openai/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(a)}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"sap":{let a;return(a=function(a){let b=(0,s.q)(a||z);if(!b)return z;var c=b.replace(/\/chat\/completions$/i,"");try{let a=new URL(c);return a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(this.resolveBaseUrl(d))).endsWith("/chat/completions")?a:`${a}/chat/completions`}case"xiaomi-mimo":{let a;return f=this.resolveBaseUrl(d),a=(0,s.q)(f).replace(/\/chat\/completions$/,""),`${a}/chat/completions`}case"maritalk":{let a=this.resolveBaseUrl(d);return(0,A.$D)(a)}case"siliconflow":return H(this.resolveBaseUrl(d));case"ollama-local":case"llama-cpp":case"lm-studio":case"modal":case"reka":case"vllm":case"lemonade":case"llamafile":case"triton":case"docker-model-runner":case"xinference":case"oobabooga":{let a=B.HP[this.provider]?.localDefault;return H(d?.providerSpecificData?.baseUrl||a||this.config.baseUrl)}case"zai":case"glm-coding-apikey":{let a=this.resolveBaseUrl(d);return`${a}?beta=true`}case"claude":case"glm":case"glmt":case"kimi-coding":case"minimax":case"minimax-cn":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;case"qwen":{let a=d?.providerSpecificData?.resourceUrl;return`https://${a||"portal.qwen.ai"}/v1/chat/completions`}default:{let a="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,b=!this.config.format||"openai"===this.config.format;if(a&&b)return H(a);let c=this.config.baseUrl,e=(0,l.qs)(this.provider);return e?.urlSuffix?`${c}${e.urlSuffix}`:c}}}buildHeaders(a,b=!0,c){let{headers:d,effectiveKey:e}=this.buildHeadersPreamble(a,b);switch(this.provider){case"gemini":e?d["x-goog-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"snowflake":{let b=e||a.accessToken||"",c=b.startsWith("pat/");d.Authorization=`Bearer ${c?b.slice(4):b}`,d["X-Snowflake-Authorization-Token-Type"]=c?"PROGRAMMATIC_ACCESS_TOKEN":"KEYPAIR_JWT";break}case"gigachat":d.Authorization=`Bearer ${a.accessToken||e}`;break;case"clarifai":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"azure-ai":(e||a.accessToken)&&(d["api-key"]=e||a.accessToken),delete d.Authorization;break;case"oci":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`);let c=a.projectId||a?.providerSpecificData?.projectId||a?.providerSpecificData?.project;c&&(d["OpenAI-Project"]=c);break}case"sap":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`),d["AI-Resource-Group"]=function(a,b="default"){for(let b of[a?.resourceGroup,a?.aiResourceGroup,a?.resource_group])if("string"==typeof b&&b.trim())return b.trim();return b}(a?.providerSpecificData);break}case"reka":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`,d["X-Api-Key"]=b);break}case"maritalk":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"claude":case"anthropic":e?d["x-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"glm":case"glmt":case"kimi-coding":case"bailian-coding-plan":case"kimi-coding-apikey":case"zai":case"glm-coding-apikey":d["x-api-key"]=e||a.accessToken;break;case"cline":Object.assign(d,(0,E.w)(e||a.accessToken));break;default:if((0,q.GK)(this.provider)){let c=(0,D.RG)(a?.providerSpecificData),d=(0,g.mu)(e||a.accessToken||"",b,a?.providerSpecificData?.ccSessionId,{redactThinking:!0===c.redactThinking});return G(d,a.providerSpecificData?.customHeaders),d}if(this.provider?.startsWith?.("anthropic-compatible-"))e?d["x-api-key"]=e:a.accessToken&&(d.Authorization=`Bearer ${a.accessToken}`),e&&!d.Authorization&&!function(a){if(!a)return!0;let b=null;try{b=new URL(a).hostname}catch{try{b=new URL(`https://${a}`).hostname}catch{return!1}}return"api.anthropic.com"===b}(a?.providerSpecificData?.baseUrl||"")&&(d.Authorization=`Bearer ${e}`),Object.keys(d).some(a=>"anthropic-version"===a.toLowerCase())||(d["anthropic-version"]="2023-06-01");else{let b=(0,l.qs)(this.provider),c=b?.authHeader||"bearer",f=e||a.accessToken||b?.anonymousApiKey;f&&("x-api-key"===c?d["x-api-key"]=f:"x-goog-api-key"===c?d["x-goog-api-key"]=f:d.Authorization=`Bearer ${f}`)}}if(d.Accept=b?"text/event-stream":"application/json","qwen"===this.provider&&e)for(let a of Object.keys(d))a.toLowerCase().startsWith("x-dashscope-")&&delete d[a];if((this.provider?.startsWith?.("openai-compatible-")||this.provider?.startsWith?.("anthropic-compatible-"))&&G(d,a.providerSpecificData?.customHeaders),c){(0,F.G)(d,c);let a=c["anthropic-beta"]??c["Anthropic-Beta"]??null,b=Object.keys(d).find(a=>"anthropic-beta"===a.toLowerCase());b&&a&&(d[b]=(0,n.S9)(d[b],a))}return(0,n.Xs)(d),d}applyJsonSchemaFallback(a){if(!this.provider?.startsWith?.("openai-compatible-")||!a||"object"!=typeof a||Array.isArray(a))return a;let b=a.response_format;if(b?.type!=="json_schema"||!b.json_schema?.schema)return a;let c=JSON.stringify(b.json_schema.schema,null,2),d=`You must respond with valid JSON that strictly follows this JSON schema:
356
+ parameters: ${e}`:""}`)}return 0===b.length?"":["You can call tools. To call a tool, reply with a single line containing a <tool> block",'with JSON: <tool>{"name": "<tool_name>", "arguments": { ... }}</tool>',"Only emit the <tool> block when you actually want to call a tool; otherwise answer normally.","","Available tools:",...b].join("\n")}(c);return{hasTools:!0,requestedTools:c,effectiveMessages:[{role:"system",content:d},...b]}}function o(a,b,c="call"){let{content:d,toolCalls:e}=m(a,`${c}-${Date.now()}`,b);return{content:d,toolCalls:e,finishReason:e?"tool_calls":"stop"}}},73483:(a,b,c)=>{c.d(b,{Gh:()=>m,IF:()=>s,O9:()=>j,OF:()=>r,WL:()=>k,bC:()=>p,f5:()=>n,lm:()=>f,oT:()=>q});var d=c(47370),e=c(14170);let f={reset:"\x1b[0m",red:"\x1b[31m",green:"\x1b[32m",yellow:"\x1b[33m",blue:"\x1b[34m",cyan:"\x1b[36m"},g=null,h=0;async function i(){try{let{getSettings:a}=await c.e(8279).then(c.bind(c,18279)),b=(await a()).usageTokenBuffer;"number"==typeof b&&b>=0&&(g=b,h=Date.now())}catch{}}function j(a){if(!a||"object"!=typeof a)return a;let b=function(){let a=Date.now(),b=null!==g&&a-h>=3e4;if(null!==g&&!b)return g;let c=process.env.USAGE_TOKEN_BUFFER;if(void 0!==c){let b=parseInt(c,10);if(!isNaN(b)&&b>=0)return g=b,h=a,b}return(null===g||b)&&(null===g&&(g=0),h=a,i()),g}();if(0===b)return a;let c={...a};return void 0!==c.input_tokens&&(c.input_tokens+=b),void 0!==c.prompt_tokens&&(c.prompt_tokens+=b),void 0!==c.total_tokens?c.total_tokens+=b:void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens),c}function k(a,b){if(!a||"object"!=typeof a)return a;let c={...a};b===e.h.CLAUDE||b===e.h.OPENAI_RESPONSES?(void 0!==c.prompt_tokens&&void 0===c.input_tokens&&(c.input_tokens=c.prompt_tokens),void 0!==c.completion_tokens&&void 0===c.output_tokens&&(c.output_tokens=c.completion_tokens)):(void 0!==c.input_tokens&&void 0===c.prompt_tokens&&(c.prompt_tokens=c.input_tokens),void 0!==c.output_tokens&&void 0===c.completion_tokens&&(c.completion_tokens=c.output_tokens),void 0===c.total_tokens&&void 0!==c.prompt_tokens&&void 0!==c.completion_tokens&&(c.total_tokens=c.prompt_tokens+c.completion_tokens));let d={[e.h.CLAUDE]:["input_tokens","output_tokens","cache_read_input_tokens","cache_creation_input_tokens","estimated"],[e.h.GEMINI]:["promptTokenCount","candidatesTokenCount","totalTokenCount","cachedContentTokenCount","thoughtsTokenCount","estimated"],[e.h.OPENAI_RESPONSES]:["input_tokens","output_tokens","input_tokens_details","output_tokens_details","estimated"],default:["prompt_tokens","completion_tokens","total_tokens","cached_tokens","reasoning_tokens","prompt_tokens_details","completion_tokens_details","estimated"]},f=d[b];b===e.h.ANTIGRAVITY?f=d[e.h.GEMINI]:b===e.h.OPENAI_RESPONSE?f=d[e.h.OPENAI_RESPONSES]:f||(f=d.default);let g={};for(let a of f)void 0!==c[a]&&(g[a]=c[a]);return g}function l(a){if(!a||"object"!=typeof a||Array.isArray(a))return null;let b={},c=(a,c)=>{if(null==c)return;let d=Number(c);Number.isFinite(d)&&(b[a]=d)};return(c("prompt_tokens",a?.prompt_tokens),c("completion_tokens",a?.completion_tokens),c("total_tokens",a?.total_tokens),c("input_tokens",a?.input_tokens),c("output_tokens",a?.output_tokens),c("cache_read_input_tokens",a?.cache_read_input_tokens),c("cache_creation_input_tokens",a?.cache_creation_input_tokens),c("cached_tokens",a?.cached_tokens),c("reasoning_tokens",a?.reasoning_tokens),0===Object.keys(b).length)?null:b}function m(a){if(!a||"object"!=typeof a)return!1;for(let b of["prompt_tokens","completion_tokens","total_tokens","input_tokens","output_tokens","promptTokenCount","candidatesTokenCount"])if("number"==typeof a[b]&&a[b]>0)return!0;return!1}function n(a){if(!a||"object"!=typeof a)return null;if("message_start"===a.type&&a.message?.usage){let b=a.message.usage,c=b.input_tokens||b.prompt_tokens||0,d=b.cache_read_input_tokens||0,e=b.cache_creation_input_tokens||0;if(c>0||d>0||e>0)return l({prompt_tokens:c+d+e,completion_tokens:b.output_tokens||b.completion_tokens||0,input_tokens:c+d+e,output_tokens:b.output_tokens||b.completion_tokens||0,cache_read_input_tokens:b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens})}if("message_delta"===a.type&&a.usage&&"object"==typeof a.usage){let b=a.usage.input_tokens||0,c=a.usage.cache_read_input_tokens||0,d=a.usage.cache_creation_input_tokens||0;return l({prompt_tokens:b+c+d,completion_tokens:a.usage.output_tokens||0,input_tokens:b+c+d,output_tokens:a.usage.output_tokens||0,cache_read_input_tokens:a.usage.cache_read_input_tokens,cache_creation_input_tokens:a.usage.cache_creation_input_tokens})}if(("response.completed"===a.type||"response.done"===a.type)&&a.response?.usage&&"object"==typeof a.response.usage){let b=a.response.usage;return l({prompt_tokens:b.input_tokens||b.prompt_tokens||0,completion_tokens:b.output_tokens||b.completion_tokens||0,cached_tokens:b.input_tokens_details?.cached_tokens??b.prompt_tokens_details?.cached_tokens??b.cache_read_input_tokens,cache_creation_input_tokens:b.cache_creation_input_tokens,reasoning_tokens:b.output_tokens_details?.reasoning_tokens??b.completion_tokens_details?.reasoning_tokens??b.reasoning_tokens})}if(a.usage&&"object"==typeof a.usage&&(void 0!==a.usage.prompt_tokens||void 0!==a.usage.input_tokens))return l({prompt_tokens:a.usage.prompt_tokens??a.usage.input_tokens??0,completion_tokens:a.usage.completion_tokens??a.usage.output_tokens??0,cached_tokens:a.usage.prompt_tokens_details?.cached_tokens??a.usage.input_tokens_details?.cached_tokens??a.usage.prompt_cache_hit_tokens??a.usage.cached_tokens,reasoning_tokens:a.usage.completion_tokens_details?.reasoning_tokens??a.usage.output_tokens_details?.reasoning_tokens??a.usage.reasoning_tokens});let b=a.usageMetadata||a.response?.usageMetadata;if(b&&"object"==typeof b)return l({prompt_tokens:b.promptTokenCount||0,completion_tokens:b.candidatesTokenCount||0,total_tokens:b.totalTokenCount,cached_tokens:b.cachedContentTokenCount,reasoning_tokens:b.thoughtsTokenCount});if(!0===a.done&&"number"==typeof a.prompt_eval_count){let b=a.prompt_eval_count||0,c=a.eval_count||0;return l({prompt_tokens:b,completion_tokens:c,total_tokens:b+c})}return null}function o(a){if(!a||"string"!=typeof a)return 0;let b=a.match(/[\u3000-\u9fff\uf900-\ufaff\u{20000}-\u{2fa1f}]/gu);return(b?b.length:0)+Math.ceil(1.3*a.replace(/[\u3000-\u9fff\uf900-\ufaff]/g," ").split(/(\s+|[^\w\s]|(?<=[a-z])(?=[A-Z]))/).filter(a=>a&&a.trim().length>0).length)}function p(a){if(!a||"object"!=typeof a)return 0;try{let b=0,c=0;if(a.tools&&Array.isArray(a.tools)){let d=JSON.stringify(a.tools);b=Math.ceil(d.length/6);let{tools:e,...f}=a;c=o(JSON.stringify(f))}else c=o(JSON.stringify(a));return c+b}catch(a){return 0}}function q(a){return!a||a<=0?0:Math.max(1,Math.ceil(a/3.5))}function r(a,b,c=e.h.OPENAI){var d,f;return d=p(a),f=q(b),c===e.h.CLAUDE?j({input_tokens:d,output_tokens:f,estimated:!0}):j({prompt_tokens:d,completion_tokens:f,total_tokens:d+f,estimated:!0})}function s(a,b,c=null,e=null,g=null,h=null,i="ok",j=!0){if(!b||"object"!=typeof b)return;let k=a?.toUpperCase()||"UNKNOWN",l=b?.prompt_tokens??b?.input_tokens??null,m=b?.completion_tokens??b?.output_tokens??null,n="string"==typeof e?e:void 0,o=n?n.slice(0,8)+"...":"unknown",p="ok"===i||200===i||"200"===i?`${f.green}ok${f.reset}`:`${f.red}${i}${f.reset}`,q=null!==h?`${h}ms`:"-",r=`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] 📊 [USAGE] ${k} | ${c||"unknown"} | ${p} | ${j?"stream":"sync"} | ${q} | in=${l} | out=${m} | account=${o}`;b.estimated&&(r+=` ${f.yellow}(estimated)${f.reset}`);let t=b?.cached_tokens??b?.cache_read_input_tokens??null;t&&(r+=` | cache_read=${t}`);let u=b?.cache_creation_input_tokens??null;u&&(r+=` | cache_create=${u}`);let v=b.reasoning_tokens;v&&(r+=` | reasoning=${v}`),console.log(r),(0,d.E5)({model:"string"==typeof c?c:void 0,provider:"string"==typeof a?a:void 0,connectionId:n,tokens:{input:l,output:m,cacheRead:t||0,cacheCreation:u||0,reasoning:v||0},status:"200 OK"}).catch(()=>{})}},73870:(a,b,c)=>{c.d(b,{w0:()=>o});var d=c(89419),e=c(86935),f=c(97510),g=c(61408);let h=new Map,i=["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/generative-language.retriever"];function j(a){try{return JSON.parse(a)}catch{throw Error("Vertex AI requires a valid Service Account JSON as the API key")}}function k(a){if(!a||"string"!=typeof a)return!1;try{let b=JSON.parse(a);return!!b&&"object"==typeof b&&!Array.isArray(b)}catch{return!1}}async function l(a){if(!a.client_email||!a.private_key)throw Error("Service Account JSON is missing required fields (client_email or private_key)");let b=a.client_email,c=h.get(b);if(c&&Date.now()<c.expiresAt-6e4)return c.token;let f=await (0,d.Lf)(a.private_key,"RS256"),g=Math.floor(Date.now()/1e3),j=await new e.P({iss:a.client_email,sub:a.client_email,aud:"https://oauth2.googleapis.com/token",iat:g,exp:g+3600,scope:i.join(" ")}).setProtectedHeader({alg:"RS256",kid:a.private_key_id}).sign(f),k=await fetch("https://oauth2.googleapis.com/token",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:j})});if(!k.ok){let a=await k.text();throw Error(`Failed to exchange JWT for Vertex access token: ${k.status} ${a}`)}let l=(await k.json()).access_token;if(!l)throw Error("Vertex AI token exchange succeeded but no access_token found");return h.set(b,{token:l,expiresAt:(g+3600)*1e3}),l}let m=new Set(["claude-3-5-sonnet","claude-3-opus","claude-3-haiku","deepseek-v3","deepseek-v3.2","deepseek-v4","deepseek-deepseek-r1","qwen3-next-80b","qwen3.6-","llama-3.1","mistral-","glm-5","glm-5.1","meta/llama"]);function n(a){let b=a.toLowerCase();return[...m].some(a=>b.startsWith(a))}class o extends f.Hv{constructor(){super("vertex",g.xq.vertex)}async execute(a){let{credentials:b,log:c}=a;if("string"==typeof b.apiKey&&(b.apiKey=b.apiKey.trim()),b.apiKey&&!b.accessToken&&k(b.apiKey))try{let a=j(b.apiKey);b.accessToken=await l(a)}catch(a){throw c?.error?.("VERTEX",`Failed to generate JWT token: ${a.message}`),a}return super.execute(a)}buildUrl(a,b,c=0,d=null){var e;if("string"==typeof(e=d?.apiKey)&&e.trim().length>0&&!k(e)&&!d?.accessToken){let c=encodeURIComponent(String(d.apiKey).trim());return n(a)?`https://aiplatform.googleapis.com/v1/publishers/openapi/chat/completions?key=${c}`:`https://aiplatform.googleapis.com/v1/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse&":"generateContent?"}key=${c}`}let f=d?.providerSpecificData?.region||"us-central1",g="unknown-project";if(d?.apiKey)try{let a=j(d.apiKey);a.project_id&&(g=a.project_id)}catch{}return n(a)?`https://aiplatform.googleapis.com/v1/projects/${g}/locations/global/endpoints/openapi/chat/completions`:`https://aiplatform.googleapis.com/v1/projects/${g}/locations/${f}/publishers/google/models/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`}buildHeaders(a,b=!0){let c={"Content-Type":"application/json"};return a.accessToken&&(c.Authorization=`Bearer ${a.accessToken}`),b&&(c.Accept="text/event-stream"),c}}},74184:(a,b,c)=>{c.d(b,{As:()=>E});var d=c(4573);let e={browser:null,contexts:new Map,pendingContexts:new Map,launching:null,lastActivity:0,idleTimer:null,evictTimer:null,cloakLaunch:null,cloakLaunchResolved:!1,metrics:{browserLaunches:0,browserLaunchFailures:0,contextsCreated:0,contextsReused:0,contextsEvicted:0,contextsReleased:0,contextCreateFailures:0,shutdowns:0,lastShutdownReason:null}};async function f(){if(e.cloakLaunchResolved)return e.cloakLaunch;e.cloakLaunchResolved=!0;try{e.cloakLaunch=(await import("cloakbrowser")).launch??null}catch{e.cloakLaunch=null}return e.cloakLaunch}function g(){e.idleTimer&&clearTimeout(e.idleTimer),e.idleTimer=setTimeout(()=>{m("idle-timeout")},3e5),e.idleTimer.unref?.()}async function h(a,b){try{let d=b?.resolveProxy??(async a=>{let{resolveProxyForProvider:b}=await c.e(1676).then(c.bind(c,51676));return b(a)}),e=await d(a);if(!e?.host)return;let f="socks5"===e.type?"socks5":"http",g={server:`${f}://${e.host}:${e.port}`};return e.username&&(g.username=String(e.username),g.password=null==e.password?"":String(e.password)),g}catch(a){console.warn("[BrowserPool] Failed to resolve proxy from DB:",a);return}}async function i(){if(e.browser)return e.browser;if(e.launching)return e.launching;e.launching=(async()=>{let a,b=await f();if(b)a=await b({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage"]});else{let{chromium:b}=await Promise.resolve().then(c.bind(c,83237));a=await b.launch({headless:!0,args:["--no-sandbox","--disable-dev-shm-usage","--disable-blink-features=AutomationControlled"]})}return e.browser=a,e.launching=null,e.metrics.browserLaunches++,a})();try{return await e.launching}catch(a){throw e.launching=null,e.metrics.browserLaunchFailures++,a}}function j(a,b){b&&e.metrics.contextCreateFailures++,e.pendingContexts.delete(a)}async function k(a,b){let c;if(void 0!==(c=process.env.OMNIROUTE_BROWSER_POOL)&&("off"===c||"0"===c||"false"===c))throw Error("browserPool: OMNIROUTE_BROWSER_POOL=off — context requested but pool is disabled");let d=e.contexts.get(a);if(d)return d.lastUsed=Date.now(),e.lastActivity=Date.now(),e.metrics.contextsReused++,g(),d;let f=e.pendingContexts.get(a);if(f)return f;let k=(async()=>{let[c,d]=await Promise.all([i(),h(a)]),f=null!==e.cloakLaunch,j=await c.newContext({userAgent:b.userAgent||"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",locale:b.locale||"en-US",timezoneId:b.timezone||"America/New_York",viewport:{width:1280,height:800},...d?{proxy:d}:{}});if(b.cookieString){var k,l;let a=(k=b.cookieString,l=b.cookieDomain,k.split(";").map(a=>a.trim()).filter(Boolean).map(a=>{let b=a.indexOf("=");if(b<0)return null;let c=a.slice(0,b).trim(),d=a.slice(b+1).trim();return c&&d?{name:c,value:d,domain:l.startsWith(".")?l:`.${l}`,path:"/",expires:-1,httpOnly:!1,secure:!0,sameSite:"Lax"}:null}).filter(Boolean));a.length>0&&await j.addCookies(a)}let n=null;if(b.warmupUrl)try{n=await j.newPage(),await n.goto(b.warmupUrl,{waitUntil:"domcontentloaded",timeout:3e4}),await new Promise(a=>setTimeout(a,1500))}catch(a){try{await n?.close()}catch{}n=null}if(e.browser!==c)throw await j.close().catch(()=>{}),n&&await n.close().catch(()=>{}),Error("Pool shut down during context creation");let o={id:a,context:j,warmupPage:n,lastUsed:Date.now(),isStealth:f};return e.contexts.set(a,o),e.metrics.contextsCreated++,e.lastActivity=Date.now(),g(),e.evictTimer&&clearInterval(e.evictTimer),e.evictTimer=setInterval(()=>(function(){let a=Date.now();for(let[b,c]of e.contexts)a-c.lastUsed>6e5&&(console.log("[BrowserPool] Evicted stale context:",b,"(idle",((a-c.lastUsed)/1e3).toFixed(0)+"s)"),e.contexts.delete(b),e.metrics.contextsEvicted++,c.context.close().catch(()=>{}));0!==e.contexts.size||e.launching||m("all-contexts-evicted")})(),6e4),e.evictTimer.unref?.(),o})();return e.pendingContexts.set(a,k),k.then(()=>j(a,!1)).catch(()=>j(a,!0)),k}async function l(a){return a.context.newPage()}async function m(a){for(let[b,c]of(e.metrics.shutdowns++,e.metrics.lastShutdownReason=a,e.idleTimer&&(clearTimeout(e.idleTimer),e.idleTimer=null),e.evictTimer&&(clearInterval(e.evictTimer),e.evictTimer=null),e.pendingContexts.clear(),e.contexts)){try{await c.context.close()}catch{}e.contexts.delete(b)}if(e.browser){try{await e.browser.close()}catch{}e.browser=null}e.lastActivity=Date.now()}async function n(a){let b={};for(let[c,d]of Object.entries(a.headers()))b[c]=d;let c=await a.body();return{status:a.status(),headers:b,body:d.Buffer.from(c)}}var o=c(58643),p=c(43659);let q=new Map;function r(a){let b=q.get(a);return b&&Date.now()<b.expiresAt?b.cookieString:(q.delete(a),null)}function s(a,b,c){q.set(a,{cookieString:b,expiresAt:Date.now()+(c??3e5),domain:a})}let t=new Map;function u(a,b){return new Promise((c,d)=>{if(b?.aborted)return d(new DOMException("Aborted","AbortError"));let e=()=>{clearTimeout(f),d(new DOMException("Aborted","AbortError"))},f=setTimeout(()=>{b?.removeEventListener("abort",e),c()},a);b?.addEventListener("abort",e,{once:!0})}).catch(a=>{if(a instanceof DOMException&&"AbortError"===a.name)throw a})}async function v(a,b){return b?{key:a,acquired:!0}:{key:`${a}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`,acquired:!1}}async function w(a){let b=Date.now(),{poolKey:c,chatUrl:e,chatPageUrl:f,userMessage:g,cookieString:h,cookieDomain:i,chatUrlMatchDomain:j,userAgent:m,locale:o,timezone:q,inputSelector:r,submitButtonSelector:s,postSubmitWaitMs:t=15e3,signal:w,reuseContext:x=!0}=a,{key:y,acquired:z}=await v(c,x),A=Date.now(),B=await k(y,{cookieDomain:i||j,cookieString:h||null,warmupUrl:f,userAgent:m,locale:o,timezone:q}),C=Date.now()-A,D=await l(B);try{let a,c=Date.now();await D.goto(f,{waitUntil:"domcontentloaded",timeout:6e4,signal:w??void 0}),await u(2500,w);let h=Date.now()-c,i=D.locator(r).first();await i.waitFor({state:"visible",timeout:1e4,signal:w??void 0}),await i.fill(g),await u(800,w),Date.now();let k=D.waitForResponse(a=>"POST"===a.request().method()&&function(a,b,c){let d,e;if(a===c)return!0;try{d=new URL(a),e=new URL(c)}catch{return!1}if(!d.host.endsWith(b))return!1;let f=e.pathname.split("/").filter(Boolean),g=d.pathname.split("/").filter(Boolean);if(f.length<2||g.length!==f.length)return!1;let h=1;for(let a=0;a<f.length;a++)if(f[a]!==g[a]){if("PLACEHOLDER"===f[a]&&h>0){h--;continue}return!1}return!0}(a.url(),j,e),{timeout:3e4}),l=w?new Promise((b,c)=>{if(w.aborted)return c(new DOMException("Aborted","AbortError"));a=()=>c(new DOMException("Aborted","AbortError")),w.addEventListener("abort",a,{once:!0})}):null;if(s){let a=D.locator(s).first();if(await a.count()>0)try{await a.click({timeout:2e3})}catch{await D.keyboard.press("Enter")}else await D.keyboard.press("Enter")}else await D.keyboard.press("Enter");let m=Date.now(),o=l?await Promise.race([k,l]).catch(()=>null):await k.catch(()=>null);w&&a&&w.removeEventListener("abort",a),o?await u(Math.min(t,3e4),w):await u(t,w);let p=Date.now()-m,q=0,v=null,x=d.Buffer.alloc(0);if(o){let a=await n(o);a.body.length>0xa00000?(x=d.Buffer.from(JSON.stringify({error:{message:"Response too large",type:"upstream_error"}})),q=502,v="application/json"):(q=a.status,v=a.headers["content-type"]||null,x=a.body)}return{status:q,contentType:v,body:x,isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:h,submitMs:p,captureResponseMs:p,totalMs:Date.now()-b}}}catch(c){let a=c instanceof Error?c.message:String(c);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`browserBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:B.isStealth,timing:{acquireContextMs:C,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-b}}}finally{if(await D.close(),!z)try{await B.context.close()}catch{}}}async function x(a){let b,c=Date.now(),{chatUrl:e,userMessage:f,cookieString:g,cookieDomain:h,chatUrlMatchDomain:i,signal:j}=a,k={"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/149.0.0.0 Safari/537.36",Accept:"text/event-stream, application/json, text/plain, */*","Accept-Language":"en-US,en;q=0.9","Content-Type":"application/json",Origin:"duckduckgo.com"===i?"https://duckduckgo.com":`https://${i}`,Referer:"duckduckgo.com"===i?"https://duckduckgo.com/":`https://${i}/`,"Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"same-origin","Sec-Ch-Ua":'"Chromium";v="149", "Google Chrome";v="149", "Not-A.Brand";v="99"',"Sec-Ch-Ua-Mobile":"?0","Sec-Ch-Ua-Platform":'"macOS"',Priority:"u=1, i"};g&&(k.Cookie=g),b=new URL(e).hostname.includes("duckduckgo")?JSON.stringify({model:"gpt-4o-mini",messages:[{role:"user",content:f}]}):JSON.stringify({messages:[{role:"user",content:f}]});try{let a=Date.now();if(!o.A.available)return{status:501,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"httpBackedChat unavailable: wreq-js (TLS client) not installed",type:"configuration_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:Date.now()-c,captureResponseMs:0,totalMs:Date.now()-c}};let f=await o.A.fetch(e,{method:"POST",headers:k,body:b,signal:j??void 0}),g=Date.now()-a,h=f.headers.get("content-length");if(h&&parseInt(h,10)>0xa00000)throw Error("Response too large");let i=d.Buffer.from(await f.text()),l=f.status,m=f.headers.get("content-type")||"text/event-stream";return{status:l,contentType:m,body:i,isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:g,captureResponseMs:0,totalMs:Date.now()-c}}}catch(b){if(b instanceof DOMException&&"AbortError"===b.name)throw b;let a=b instanceof Error?b.message:String(b);return{status:502,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:(0,p.sanitizeErrorMessage)(`httpBackedChat failed: ${a}`),type:"upstream_error"}})),isStealth:!0,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:Date.now()-c}}}}async function y(a,b,c){let d=Date.now()+5e3;for(;Date.now()<d;){if(c?.aborted)throw new DOMException("Aborted","AbortError");let e=(await a.cookies(b)).map(a=>`${a.name}=${a.value}`).join("; ");if(e)return e;let f=d-Date.now();if(f<=0)break;await u(Math.min(500,f),c)}return null}async function z(a,b,c,d){let e=await l(a);try{return await e.goto(b,{waitUntil:"domcontentloaded",timeout:6e4,signal:d??void 0}),await y(a.context,c,d)}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)throw a;return null}finally{await e.close().catch(()=>{})}}async function A(a,b,c,d){let e=r(c);if(e)return e;let f=t.get(a);if(f)return f;let g=B(a,b,c,d);return t.set(a,g),g.finally(()=>t.delete(a)),g}async function B(a,b,c,d){let e,{key:f}=await v(a,!0);try{e=await k(f,{cookieDomain:c,cookieString:null,warmupUrl:b})}catch{return null}let g=await z(e,b,c,d);return g&&s(c,g),g}async function C(a){if(!a.cookieDomain)return null;let b=process.env.OMNIROUTE_BROWSER_POOL;if("off"===b||"0"===b||"false"===b)return null;try{let{key:b}=await v(a.poolKey,!0);return await k(b,{cookieDomain:a.cookieDomain,cookieString:null})}catch{return null}}async function D(a,b,c,d,e){if(e)try{let a=await e;if(a){let e=await z(a,b,c,d);if(e)return s(c,e),e}}catch{}return A(a,b,c,d)}async function E(a){let b=a.signal?null:new AbortController,c=a.signal??b?.signal??null;b&&setTimeout(()=>b.abort(),45e3);let e=C(a);try{var f;let b=await x({...a,signal:c??void 0});if(b.status>=200&&b.status<300||!((f=b.status)>=400&&501!==f))return b;let d=null;if(a.cookieDomain){if(d=r(a.cookieDomain)){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b;d=null}if(!d&&(d=await D(a.poolKey,a.chatPageUrl,a.cookieDomain,c,e))){let b=await x({...a,cookieString:d,signal:c??void 0});if(b.status>=200&&b.status<300)return b}}let g=d?{...a,cookieString:d,signal:c??void 0}:{...a,signal:c??void 0},h=await w(g);return h.status>=200&&h.status,h}catch(a){if(a instanceof DOMException&&"AbortError"===a.name)return{status:504,contentType:"application/json",body:d.Buffer.from(JSON.stringify({error:{message:"tryBackedChat timed out",type:"timeout_error"}})),isStealth:!1,timing:{acquireContextMs:0,navigateMs:0,submitMs:0,captureResponseMs:0,totalMs:0}};throw a}}},74199:(a,b,c)=>{c.d(b,{R:()=>d});let d=()=>!1},74350:(a,b,c)=>{c.d(b,{L:()=>I});var d=c(97510),e=c(61408),f=c(8590),g=c(89625),h=c(55511);let i=new Map,j=new Map;async function k(a={}){let b=(a.credentials||"").trim();if(!b)throw Error("Missing GigaChat credentials");let c=(a.authUrl||"https://ngw.devices.sberbank.ru:9443/api/v2/oauth").trim(),d=(a.scope||"GIGACHAT_API_PERS").trim(),e=`${c}::${d}::${b}`,f=i.get(e);if(function(a){if(!a?.accessToken||!a?.expiresAt)return!1;let b=new Date(a.expiresAt).getTime();return Number.isFinite(b)&&b-Date.now()>6e4}(f))return f;let g=j.get(e);if(g)return g;let l=(async()=>{let f=await fetch(c,{method:"POST",headers:{Authorization:`Basic ${b}`,RqUID:(0,h.randomUUID)(),"Content-Type":"application/x-www-form-urlencoded"},body:new URLSearchParams({scope:d}).toString(),signal:a.signal});if(!f.ok){let a=await f.text();throw Error(`GigaChat token request failed: ${f.status} ${a}`.trim())}let g=await f.json(),j="string"==typeof g.tok?g.tok:"string"==typeof g.access_token?g.access_token:"";if(!j)throw Error("GigaChat token response missing access token");let k={accessToken:j,expiresAt:function(a){if("number"==typeof a&&Number.isFinite(a))return new Date(a).toISOString();if("string"==typeof a&&a.trim().length>0){let b=Number(a);if(Number.isFinite(b))return new Date(b).toISOString();let c=Date.parse(a);if(Number.isFinite(c))return new Date(c).toISOString()}return new Date(Date.now()+18e5).toISOString()}(g.exp??g.expires_at)};return i.set(e,k),k})();j.set(e,l);try{return await l}finally{j.delete(e)}}var l=c(36081),m=c(57247),n=c(93462),o=c(56452),p=c(78340),q=c(57647),r=c(57441),s=c(9427);let t="/api/v2",u="/genai/llmgw/chat/completions/",v="https://app.datarobot.com",w="https://example-resource.services.ai.azure.com/openai/v1",x="https://ca-tor.ml.cloud.ibm.com/ml/gateway/v1",y="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com/openai/v1",z="https://example-aicore.cfapps.eu10.hana.ondemand.com/v2/lm/deployments/example-deployment";var A=c(74361),B=c(40615);let C=()=>!1;var D=c(96303),E=c(4928),F=c(13568);function G(a,b){let c=null;if(b&&"object"==typeof b&&!Array.isArray(b))c=b;else if("string"==typeof b)try{let a=JSON.parse(b);a&&"object"==typeof a&&!Array.isArray(a)&&(c=a)}catch{}if(c)for(let[b,d]of Object.entries(c)){if("string"!=typeof b||"string"!=typeof d||C(b)||/[\r\n\0]/.test(b)||/[\r\n]/.test(d))continue;let c=b.toLowerCase();for(let b of Object.keys(a))b.toLowerCase()===c&&delete a[b];a[b]=d}}function H(a){let b=(0,s.q)(a);return b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/chat")?b:b.endsWith("/v1")?`${b}/chat/completions`:`${b}/v1/chat/completions`}class I extends d.Hv{constructor(a){super(a,e.xq[a]||e.xq.openai);const b=(0,l.qs)(a);b?.poolConfig&&(this.poolConfig=b.poolConfig)}buildUrl(a,b,c=0,d=null){if(this.provider?.startsWith?.("openai-compatible-")){let a=d?.providerSpecificData,b=(a?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,""),c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if(c)return`${b}${c}`;let e=a?._omnirouteForceResponsesUpstream===!0||"responses"===(0,q.J9)(this.provider,a)?"/responses":"/chat/completions";return`${b}${e}`}if(this.provider?.startsWith?.("anthropic-compatible-")){let a=d?.providerSpecificData,b=a?.baseUrl||"https://api.anthropic.com/v1",c="string"==typeof a?.chatPath&&a.chatPath?a.chatPath:null;if((0,q.GK)(this.provider))return(0,g.tI)(b,c||g.np);let e=b.replace(/\/$/,"");return`${e}${c||"/messages"}`}switch(this.provider){case"openai":{let b="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,c=b?H(b):this.config.baseUrl;if("openai-responses"===(0,m.ux)("openai",a))return c.replace(/\/chat\/completions\/?$/,"/responses");return c}case"bailian-coding-plan":{let a;return h=this.resolveBaseUrl(d),(a=(0,s.q)(h).replace(/\?beta=true$/,"")).endsWith("/messages")?a:`${a}/messages`}case"heroku":case"databricks":case"snowflake":case"gigachat":return void this.resolveBaseUrl(d);case"datarobot":{let a;var e,f,h,i=this.resolveBaseUrl(d);return(a=(0,s.q)(i||v)||v).endsWith("/chat/completions")?a:/\/api\/v2\/deployments\/[^/]+$/i.test(a)?`${a}/chat/completions`:/\/api\/v2\/genai\/llmgw$/i.test(a)?`${a}/chat/completions/`:/\/api\/v2\/genai\/llmgw\/chat$/i.test(a)?`${a}/completions/`:a.includes(t)?`${a}${u}`:`${a}${t}${u}`}case"azure-ai":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){let c=function(a){let b=(0,s.q)(a||w);if(!b)return w;if(b.endsWith("/chat/completions")||b.endsWith("/responses")||b.endsWith("/models"))return b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(b.endsWith("/openai/v1")||b.endsWith("/v1"))return b;if(b.endsWith("/openai"))return`${b}/v1`;let c=new URL(b);return(c.hostname.endsWith(".services.ai.azure.com")||c.hostname.endsWith(".openai.azure.com"))&&(!c.pathname||"/"===c.pathname)?(c.pathname="/openai/v1",(0,s.o)(c.toString())):b}(a);return`${c}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"watsonx":return e=this.resolveBaseUrl(d),`${function(a){let b=(0,s.q)(a||x);if(!b)return x;let c=b.replace(/\/(?:chat\/completions|completions|embeddings|models)$/i,"");if(c.endsWith("/ml/gateway/v1"))return c;if(c.endsWith("/ml/gateway"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/ml/gateway")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/ml/gateway/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(e)}/chat/completions`;case"oci":{let a=d?.providerSpecificData?._omnirouteForceResponsesUpstream===!0||d?.providerSpecificData?.apiType==="responses"?"responses":"chat";return function(a,b="chat"){return function(a,b="chat"){return`${function(a){let b=(0,s.q)(a||y);if(!b)return y;let c=b.replace(/\/(?:chat\/completions|responses|models)$/i,"");if(c.endsWith("/openai/v1"))return c;if(c.endsWith("/openai"))return`${c}/v1`;try{let a=new URL(c);return a.pathname&&"/"!==a.pathname?a.pathname.endsWith("/openai")&&(a.pathname=`${a.pathname}/v1`):a.pathname="/openai/v1",a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(a)}/${"responses"===b?"responses":"chat/completions"}`}(a,b)}(this.resolveBaseUrl(d),a)}case"sap":{let a;return(a=function(a){let b=(0,s.q)(a||z);if(!b)return z;var c=b.replace(/\/chat\/completions$/i,"");try{let a=new URL(c);return a.search="",a.hash="",(0,s.o)(a.toString())}catch{return c}}(this.resolveBaseUrl(d))).endsWith("/chat/completions")?a:`${a}/chat/completions`}case"xiaomi-mimo":{let a;return f=this.resolveBaseUrl(d),a=(0,s.q)(f).replace(/\/chat\/completions$/,""),`${a}/chat/completions`}case"maritalk":{let a=this.resolveBaseUrl(d);return(0,A.$D)(a)}case"siliconflow":return H(this.resolveBaseUrl(d));case"ollama-local":case"llama-cpp":case"lm-studio":case"modal":case"reka":case"vllm":case"lemonade":case"llamafile":case"triton":case"docker-model-runner":case"xinference":case"oobabooga":{let a=B.HP[this.provider]?.localDefault;return H(d?.providerSpecificData?.baseUrl||a||this.config.baseUrl)}case"zai":case"glm-coding-apikey":{let a=this.resolveBaseUrl(d);return`${a}?beta=true`}case"claude":case"glm":case"glmt":case"kimi-coding":case"minimax":case"minimax-cn":return`${this.config.baseUrl}?beta=true`;case"gemini":return`${this.config.baseUrl}/${a}:${b?"streamGenerateContent?alt=sse":"generateContent"}`;case"qwen":{let a=d?.providerSpecificData?.resourceUrl;return`https://${a||"portal.qwen.ai"}/v1/chat/completions`}default:{let a="string"==typeof d?.providerSpecificData?.baseUrl&&d.providerSpecificData.baseUrl.trim()?d.providerSpecificData.baseUrl:null,b=!this.config.format||"openai"===this.config.format;if(a&&b)return H(a);let c=this.config.baseUrl,e=(0,l.qs)(this.provider);return e?.urlSuffix?`${c}${e.urlSuffix}`:c}}}buildHeaders(a,b=!0,c){let{headers:d,effectiveKey:e}=this.buildHeadersPreamble(a,b);switch(this.provider){case"gemini":e?d["x-goog-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"snowflake":{let b=e||a.accessToken||"",c=b.startsWith("pat/");d.Authorization=`Bearer ${c?b.slice(4):b}`,d["X-Snowflake-Authorization-Token-Type"]=c?"PROGRAMMATIC_ACCESS_TOKEN":"KEYPAIR_JWT";break}case"gigachat":d.Authorization=`Bearer ${a.accessToken||e}`;break;case"clarifai":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"azure-ai":(e||a.accessToken)&&(d["api-key"]=e||a.accessToken),delete d.Authorization;break;case"oci":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`);let c=a.projectId||a?.providerSpecificData?.projectId||a?.providerSpecificData?.project;c&&(d["OpenAI-Project"]=c);break}case"sap":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`),d["AI-Resource-Group"]=function(a,b="default"){for(let b of[a?.resourceGroup,a?.aiResourceGroup,a?.resource_group])if("string"==typeof b&&b.trim())return b.trim();return b}(a?.providerSpecificData);break}case"reka":{let b=e||a.accessToken;b&&(d.Authorization=`Bearer ${b}`,d["X-Api-Key"]=b);break}case"maritalk":{let b=e||a.accessToken;b&&(d.Authorization=`Key ${b}`);break}case"claude":case"anthropic":e?d["x-api-key"]=e:d.Authorization=`Bearer ${a.accessToken}`;break;case"glm":case"glmt":case"kimi-coding":case"bailian-coding-plan":case"kimi-coding-apikey":case"zai":case"glm-coding-apikey":d["x-api-key"]=e||a.accessToken;break;case"cline":Object.assign(d,(0,E.w)(e||a.accessToken));break;default:if((0,q.GK)(this.provider)){let c=(0,D.RG)(a?.providerSpecificData),d=(0,g.mu)(e||a.accessToken||"",b,a?.providerSpecificData?.ccSessionId,{redactThinking:!0===c.redactThinking});return G(d,a.providerSpecificData?.customHeaders),d}if(this.provider?.startsWith?.("anthropic-compatible-"))e?d["x-api-key"]=e:a.accessToken&&(d.Authorization=`Bearer ${a.accessToken}`),e&&!d.Authorization&&!function(a){if(!a)return!0;let b=null;try{b=new URL(a).hostname}catch{try{b=new URL(`https://${a}`).hostname}catch{return!1}}return"api.anthropic.com"===b}(a?.providerSpecificData?.baseUrl||"")&&(d.Authorization=`Bearer ${e}`),Object.keys(d).some(a=>"anthropic-version"===a.toLowerCase())||(d["anthropic-version"]="2023-06-01");else{let b=(0,l.qs)(this.provider),c=b?.authHeader||"bearer",f=e||a.accessToken||b?.anonymousApiKey;f&&("x-api-key"===c?d["x-api-key"]=f:"x-goog-api-key"===c?d["x-goog-api-key"]=f:d.Authorization=`Bearer ${f}`)}}if(d.Accept=b?"text/event-stream":"application/json","qwen"===this.provider&&e)for(let a of Object.keys(d))a.toLowerCase().startsWith("x-dashscope-")&&delete d[a];if((this.provider?.startsWith?.("openai-compatible-")||this.provider?.startsWith?.("anthropic-compatible-"))&&G(d,a.providerSpecificData?.customHeaders),c){(0,F.G)(d,c);let a=c["anthropic-beta"]??c["Anthropic-Beta"]??null,b=Object.keys(d).find(a=>"anthropic-beta"===a.toLowerCase());b&&a&&(d[b]=(0,n.S9)(d[b],a))}return(0,n.Xs)(d),d}applyJsonSchemaFallback(a){if(!this.provider?.startsWith?.("openai-compatible-")||!a||"object"!=typeof a||Array.isArray(a))return a;let b=a.response_format;if(b?.type!=="json_schema"||!b.json_schema?.schema)return a;let c=JSON.stringify(b.json_schema.schema,null,2),d=`You must respond with valid JSON that strictly follows this JSON schema:
357
357
  \`\`\`json
358
358
  ${c}
359
359
  \`\`\`
@@ -1 +1 @@
1
- "use strict";exports.id=8238,exports.ids=[615,8238],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},38238:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89718),e=c(30869),f=c(54603);async function g(){let a=null;try{let b=await (0,d.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,f.Xj)("9r-cli-auth"),b}async function h(a,b,c=`http://127.0.0.1:${process.env.PORT||e.h0.appPort}`){let d=await g(),f=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,g,h,i=new FormData,j=(g=new DataView(e=new ArrayBuffer(44+(b=2*Math.max(1,Math.floor(4e3))))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-f,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}let i=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:16,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(15e3)}),j=Date.now()-f,k=await i.text().catch(()=>""),l=null;try{l=k?JSON.parse(k):null}catch{}if(!i.ok){let a=l?.error?.message||l?.msg||l?.message||l?.error||k;return{ok:!1,latencyMs:j,error:`HTTP ${i.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:i.status}}let m=l?.status,n=l?.msg||l?.message;if(null!=m&&"200"!==String(m)&&"0"!==String(m)&&n)return{ok:!1,latencyMs:j,status:i.status,error:`Provider status ${m}: ${String(n).slice(0,240)}`};if(l?.error){let a=l?.error?.message||l?.error||"Provider returned an error";return{ok:!1,latencyMs:j,status:i.status,error:String(a).slice(0,240)}}return Array.isArray(l?.choices)&&l.choices.length>0?{ok:!0,latencyMs:j,error:null,status:i.status}:{ok:!1,latencyMs:j,status:i.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.5.63"}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>t,js:()=>x,DI:()=>o,fg:()=>l,Pd:()=>p,IS:()=>i,nJ:()=>j,HP:()=>A,vh:()=>B,zN:()=>k,JH:()=>n,jO:()=>z,wb:()=>y,br:()=>m,wG:()=>w,zt:()=>u,gb:()=>r,gC:()=>s,mq:()=>q,rs:()=>v});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"];function g(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}let h=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,g(a)])),i=h("free"),j=h("freeTier"),k=h("oauth"),l=h("apikey"),m=h("webCookie"),n="openai-compatible-",o="anthropic-compatible-",p="custom-embedding-";function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}let t={...i,...j,...k,...l,...m};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=d.A.filter(a=>a.features?.usage).map(a=>a.id),z=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id),A={},B=Object.fromEntries(d.A.filter(a=>a.noAuth).map(a=>[a.id,g(a)]))},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},89718:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,Az:()=>o,Bb:()=>n,By:()=>i,CG:()=>d.CG,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Iq:()=>d.Iq,Is:()=>d.Is,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,MQ:()=>h,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>l,PX:()=>d.PX,Pc:()=>d.Pc,Pq:()=>d.Pq,QT:()=>e,Q_:()=>d.Q_,Qu:()=>d.Qu,Rp:()=>d.Rp,S8:()=>d.S8,VT:()=>d.VT,W:()=>k,WS:()=>d.WS,Wq:()=>d.Wq,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,a_:()=>g,bI:()=>d.bI,c:()=>d.c,dC:()=>d.dC,e8:()=>f,ek:()=>d.ek,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,g5:()=>j,getApiKeyRecord:()=>d.Dr,getComboByName:()=>d.Dj,getCombos:()=>d.Uv,getExposeComboByName:()=>d.JC,getExposeCombos:()=>d.KG,getPricingForModel:()=>d.PS,getProviderConnections:()=>d.P,getSettings:()=>d.mt,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,ik:()=>d.ik,jd:()=>d.jd,k8:()=>d.k8,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,q5:()=>d.q5,r4:()=>d.r4,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,v8:()=>d.v8,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP,zU:()=>m});var d=c(50906);function e(a,b,c){return!1}function f(a,b,c){}async function g(a,b,c){return"number"==typeof c?c:0}async function h(a,b){return 0}async function i(a,b){return{windowStart:b,needsReset:!1}}async function j(a){return[]}async function k(a){}async function l(a){return null}async function m(a={}){return[]}async function n(a={}){return[]}async function o(a){return null}}};
1
+ "use strict";exports.id=8238,exports.ids=[615,8238],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},38238:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89718),e=c(30869),f=c(54603);async function g(){let a=null;try{let b=await (0,d.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,f.Xj)("9r-cli-auth"),b}async function h(a,b,c=`http://127.0.0.1:${process.env.PORT||e.h0.appPort}`){let d=await g(),f=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,g,h,i=new FormData,j=(g=new DataView(e=new ArrayBuffer(44+(b=2*Math.max(1,Math.floor(4e3))))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-f,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}let i=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:16,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(15e3)}),j=Date.now()-f,k=await i.text().catch(()=>""),l=null;try{l=k?JSON.parse(k):null}catch{}if(!i.ok){let a=l?.error?.message||l?.msg||l?.message||l?.error||k;return{ok:!1,latencyMs:j,error:`HTTP ${i.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:i.status}}let m=l?.status,n=l?.msg||l?.message;if(null!=m&&"200"!==String(m)&&"0"!==String(m)&&n)return{ok:!1,latencyMs:j,status:i.status,error:`Provider status ${m}: ${String(n).slice(0,240)}`};if(l?.error){let a=l?.error?.message||l?.error||"Provider returned an error";return{ok:!1,latencyMs:j,status:i.status,error:String(a).slice(0,240)}}return Array.isArray(l?.choices)&&l.choices.length>0?{ok:!0,latencyMs:j,error:null,status:i.status}:{ok:!1,latencyMs:j,status:i.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.5.65"}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>t,js:()=>x,DI:()=>o,fg:()=>l,Pd:()=>p,IS:()=>i,nJ:()=>j,HP:()=>A,vh:()=>B,zN:()=>k,JH:()=>n,jO:()=>z,wb:()=>y,br:()=>m,wG:()=>w,zt:()=>u,gb:()=>r,gC:()=>s,mq:()=>q,rs:()=>v});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"];function g(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}let h=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,g(a)])),i=h("free"),j=h("freeTier"),k=h("oauth"),l=h("apikey"),m=h("webCookie"),n="openai-compatible-",o="anthropic-compatible-",p="custom-embedding-";function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}function s(a){return"string"==typeof a&&a.startsWith(p)}let t={...i,...j,...k,...l,...m};function u(a){for(let b of Object.values(t))if(b.alias===a||b.id===a)return b;return null}function v(a){let b=u(a);return b?.id||a}function w(a){let b=t[a];return b?.alias||a}let x=Object.values(t).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(t).reduce((a,b)=>(a[b.id]=b.alias,a),{});let y=d.A.filter(a=>a.features?.usage).map(a=>a.id),z=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id),A={},B=Object.fromEntries(d.A.filter(a=>a.noAuth).map(a=>[a.id,g(a)]))},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},89718:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,Az:()=>o,Bb:()=>n,By:()=>i,CG:()=>d.CG,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Iq:()=>d.Iq,Is:()=>d.Is,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,MQ:()=>h,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>l,PX:()=>d.PX,Pc:()=>d.Pc,Pq:()=>d.Pq,QT:()=>e,Q_:()=>d.Q_,Qu:()=>d.Qu,Rp:()=>d.Rp,S8:()=>d.S8,VT:()=>d.VT,W:()=>k,WS:()=>d.WS,Wq:()=>d.Wq,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,a_:()=>g,bI:()=>d.bI,c:()=>d.c,dC:()=>d.dC,e8:()=>f,ek:()=>d.ek,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,g5:()=>j,getApiKeyRecord:()=>d.Dr,getComboByName:()=>d.Dj,getCombos:()=>d.Uv,getExposeComboByName:()=>d.JC,getExposeCombos:()=>d.KG,getPricingForModel:()=>d.PS,getProviderConnections:()=>d.P,getSettings:()=>d.mt,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,ik:()=>d.ik,jd:()=>d.jd,k8:()=>d.k8,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,q5:()=>d.q5,r4:()=>d.r4,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,v8:()=>d.v8,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP,zU:()=>m});var d=c(50906);function e(a,b,c){return!1}function f(a,b,c){}async function g(a,b,c){return"number"==typeof c?c:0}async function h(a,b){return 0}async function i(a,b){return{windowStart:b,needsReset:!1}}async function j(a){return[]}async function k(a){}async function l(a){return null}async function m(a={}){return[]}async function n(a={}){return[]}async function o(a){return null}}};