9router 0.3.87 → 0.3.89

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 (235) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +5 -5
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  5. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  20. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  21. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  22. package/app/.next/server/app/_global-error.html +1 -1
  23. package/app/.next/server/app/_global-error.rsc +1 -1
  24. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  25. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  26. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  27. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  28. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  29. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  30. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  31. package/app/.next/server/app/_not-found.html +1 -1
  32. package/app/.next/server/app/_not-found.rsc +3 -3
  33. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  34. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  35. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  36. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  37. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  38. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  39. package/app/.next/server/app/api/auth/login/route.js +1 -1
  40. package/app/.next/server/app/api/settings/require-login/route.js +1 -1
  41. package/app/.next/server/app/api/version/route.js +1 -1
  42. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/callback.html +1 -1
  44. package/app/.next/server/app/callback.rsc +3 -3
  45. package/app/.next/server/app/callback.segments/_full.segment.rsc +3 -3
  46. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  47. package/app/.next/server/app/callback.segments/_index.segment.rsc +3 -3
  48. package/app/.next/server/app/callback.segments/_tree.segment.rsc +1 -1
  49. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  50. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  51. package/app/.next/server/app/dashboard/basic-chat.html +1 -1
  52. package/app/.next/server/app/dashboard/basic-chat.rsc +5 -5
  53. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  54. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  55. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  56. package/app/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  57. package/app/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  58. package/app/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  59. package/app/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
  60. package/app/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  61. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  62. package/app/.next/server/app/dashboard/cli-tools.rsc +5 -5
  63. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  64. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  65. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  66. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  67. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  68. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  69. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  70. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  71. package/app/.next/server/app/dashboard/combos.html +1 -1
  72. package/app/.next/server/app/dashboard/combos.rsc +5 -5
  73. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  74. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  75. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  76. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  77. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  78. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  79. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  80. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  81. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  82. package/app/.next/server/app/dashboard/endpoint.rsc +5 -5
  83. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  84. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  85. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  86. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  87. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  88. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  89. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  90. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  91. package/app/.next/server/app/dashboard/mitm.html +1 -1
  92. package/app/.next/server/app/dashboard/mitm.rsc +5 -5
  93. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  94. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  95. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  96. package/app/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  97. package/app/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  98. package/app/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  99. package/app/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
  100. package/app/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  101. package/app/.next/server/app/dashboard/profile.html +1 -1
  102. package/app/.next/server/app/dashboard/profile.rsc +5 -5
  103. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  104. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  105. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  106. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  107. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  108. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  109. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  110. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  111. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  112. package/app/.next/server/app/dashboard/providers/new.rsc +5 -5
  113. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  114. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  115. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  116. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  117. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  118. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  119. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  120. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  121. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  122. package/app/.next/server/app/dashboard/providers.html +1 -1
  123. package/app/.next/server/app/dashboard/providers.rsc +5 -5
  124. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  125. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  126. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  127. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  128. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  129. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  130. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  131. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  132. package/app/.next/server/app/dashboard/proxy-pools.html +1 -1
  133. package/app/.next/server/app/dashboard/proxy-pools.rsc +5 -5
  134. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  135. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  136. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  137. package/app/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  138. package/app/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  139. package/app/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  140. package/app/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
  141. package/app/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  142. package/app/.next/server/app/dashboard/quota.html +2 -2
  143. package/app/.next/server/app/dashboard/quota.rsc +6 -6
  144. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  145. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  146. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  147. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  148. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
  149. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  150. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  151. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  152. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  153. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  154. package/app/.next/server/app/dashboard/settings/pricing.rsc +3 -3
  155. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  156. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  157. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  158. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  159. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  160. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  161. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  162. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  163. package/app/.next/server/app/dashboard/translator.html +1 -1
  164. package/app/.next/server/app/dashboard/translator.rsc +5 -5
  165. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  166. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  167. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  168. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  169. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  170. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  171. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  172. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  173. package/app/.next/server/app/dashboard/usage.html +1 -1
  174. package/app/.next/server/app/dashboard/usage.rsc +5 -5
  175. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  176. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  177. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  178. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  179. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  180. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  181. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  182. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  183. package/app/.next/server/app/dashboard.html +1 -1
  184. package/app/.next/server/app/dashboard.rsc +5 -5
  185. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  186. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  187. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  188. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  189. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  190. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  191. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  192. package/app/.next/server/app/index.html +1 -1
  193. package/app/.next/server/app/index.rsc +3 -3
  194. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  195. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  196. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  197. package/app/.next/server/app/index.segments/_index.segment.rsc +3 -3
  198. package/app/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  199. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  200. package/app/.next/server/app/landing.html +1 -1
  201. package/app/.next/server/app/landing.rsc +3 -3
  202. package/app/.next/server/app/landing.segments/_full.segment.rsc +3 -3
  203. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  204. package/app/.next/server/app/landing.segments/_index.segment.rsc +3 -3
  205. package/app/.next/server/app/landing.segments/_tree.segment.rsc +1 -1
  206. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  207. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  208. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  209. package/app/.next/server/app/login.html +1 -1
  210. package/app/.next/server/app/login.rsc +4 -4
  211. package/app/.next/server/app/login.segments/_full.segment.rsc +4 -4
  212. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  213. package/app/.next/server/app/login.segments/_index.segment.rsc +3 -3
  214. package/app/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  215. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  216. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  217. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  218. package/app/.next/server/app-paths-manifest.json +5 -5
  219. package/app/.next/server/chunks/1574.js +1 -1
  220. package/app/.next/server/chunks/2049.js +1 -1
  221. package/app/.next/server/chunks/242.js +1 -1
  222. package/app/.next/server/chunks/8202.js +1 -1
  223. package/app/.next/server/chunks/9489.js +1 -1
  224. package/app/.next/server/middleware-build-manifest.js +1 -1
  225. package/app/.next/server/middleware.js +1 -1
  226. package/app/.next/server/pages/404.html +1 -1
  227. package/app/.next/server/pages/500.html +1 -1
  228. package/app/.next/static/chunks/{505-534835b087aaa3a0.js → 505-5dc0a7b9f4aaf3a7.js} +1 -1
  229. package/app/.next/static/chunks/8035-0bbf141cee7024b0.js +3 -0
  230. package/app/package.json +1 -1
  231. package/app/src/mitm/server.js +1 -1
  232. package/package.json +1 -1
  233. package/app/.next/static/chunks/8035-f895fe0642100959.js +0 -3
  234. /package/app/.next/static/{ISW3Q3vhKNz3nIX0Um5qA → mbROcUjR8JEwNPUSThNXf}/_buildManifest.js +0 -0
  235. /package/app/.next/static/{ISW3Q3vhKNz3nIX0Um5qA → mbROcUjR8JEwNPUSThNXf}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[505],{43202:(e,i,a)=>{a.d(i,{Q2:()=>t.Q2,fg:()=>t.fg,vQ:()=>n,MA:()=>t.MA,UY:()=>s,zN:()=>t.zN,B2:()=>o});var t=a(82495);a(69633);let n={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.87"},o={storageKey:"theme",defaultTheme:"system"},s={maxLines:200,pollIntervalMs:1e3}},55348:(e,i,a)=>{a.d(i,{CL:()=>o,QC:()=>s,Xn:()=>n,YZ:()=>t});let t=["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no"],n="en",o="locale";function s(e){return"zh"===e||"zh-CN"===e?"zh-CN":"en"===e?"en":"vi"===e?"vi":"zh-TW"===e?"zh-TW":"ja"===e?"ja":"pt-BR"===e?"pt-BR":"pt-PT"===e?"pt-PT":"ko"===e?"ko":"es"===e?"es":"de"===e?"de":"fr"===e?"fr":"he"===e?"he":"ar"===e?"ar":"ru"===e?"ru":"pl"===e?"pl":"cs"===e?"cs":"nl"===e?"nl":"tr"===e?"tr":"uk"===e?"uk":"tl"===e?"tl":"id"===e?"id":"th"===e?"th":"hi"===e?"hi":"bn"===e?"bn":"ur"===e?"ur":"ro"===e?"ro":"sv"===e?"sv":"it"===e?"it":"el"===e?"el":"hu"===e?"hu":"fi"===e?"fi":"da"===e?"da":"no"===e?"no":n}},69633:(e,i,a)=>{a.d(i,{KC:()=>t.KC,Xg:()=>t.Xg});var t=a(94281);Object.entries(a(82495).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,i])=>i.map(i=>({provider:e,model:i.id,name:i.name})))},82495:(e,i,a)=>{a.d(i,{DI:()=>l,IS:()=>t,JH:()=>r,MA:()=>u,Q2:()=>h,fg:()=>d,gb:()=>p,mq:()=>c,nJ:()=>n,o5:()=>f,rj:()=>m,s9:()=>o,wG:()=>b,wb:()=>v,zN:()=>s,zt:()=>g});let t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Gemini CLI is designed exclusively for Gemini CLI. Using it with other tools (OpenClaw, Claude, Codex...) may result in account restrictions or bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},opencode:{id:"opencode",alias:"oc",name:"OpenCode",icon:"terminal",color:"#E87040",textIcon:"OC",noAuth:!0}},n={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0,serviceKinds:["llm","embedding"]},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",serviceKinds:["llm","embedding"]}},o={extended:{options:["auto","on","off"],defaultMode:"auto",defaultBudgetTokens:1e4},effort:{options:["auto","none","low","medium","high"],defaultMode:"auto"}},s={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"AG is designed exclusively for Antigravity IDE. Using it with other tools (OpenClaw, Claude, Codex...) may result in account restrictions or bans."},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6",thinkingConfig:o.effort},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},d={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",serviceKinds:["llm","embedding","tts"],thinkingConfig:o.effort},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",serviceKinds:["llm"]},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",serviceKinds:["stt"]},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",serviceKinds:["stt"]},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai",serviceKinds:["image"]},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",serviceKinds:["tts"]},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",serviceKinds:["tts"],hidden:!0},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",serviceKinds:["tts"],hidden:!0},"local-device":{id:"local-device",alias:"local-device",name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD",serviceKinds:["tts"],noAuth:!0},"google-tts":{id:"google-tts",alias:"google-tts",name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT",serviceKinds:["tts"],noAuth:!0},"edge-tts":{id:"edge-tts",alias:"edge-tts",name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET",serviceKinds:["tts"],noAuth:!0},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",serviceKinds:["image"]},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI",serviceKinds:["image"]},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",serviceKinds:["image","tts"],hiddenKinds:["tts"]},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},m=[{id:"embedding",label:"Embedding",icon:"data_array",endpoint:{method:"POST",path:"/v1/embeddings"}},{id:"image",label:"Image",icon:"image",endpoint:{method:"POST",path:"/v1/images/generations"}},{id:"tts",label:"Text To Speech",icon:"record_voice_over",endpoint:{method:"POST",path:"/v1/audio/speech"}},{id:"stt",label:"STT",icon:"mic",endpoint:{method:"POST",path:"/v1/audio/transcriptions"}},{id:"video",label:"Video",icon:"movie",endpoint:{method:"POST",path:"/v1/video/generations"}},{id:"music",label:"Music",icon:"music_note",endpoint:{method:"POST",path:"/v1/audio/music"}}],r="openai-compatible-",l="anthropic-compatible-";function c(e){return"string"==typeof e&&e.startsWith(r)}function p(e){return"string"==typeof e&&e.startsWith(l)}let h={...t,...n,...s,...d},u={oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}};function g(e){for(let i of Object.values(h))if(i.alias===e||i.id===e)return i;return null}function b(e){let i=h[e];return i?.alias||e}function f(e){return Object.values(h).filter(i=>!(!(i.serviceKinds??["llm"]).includes(e)||i.hidden||i.hiddenKinds?.includes(e)))}Object.values(h).reduce((e,i)=>(e[i.alias]=i.id,e),{}),Object.values(h).reduce((e,i)=>(e[i.id]=i.alias,e),{});let v=["claude","antigravity","kiro","github","codex","kimi-coding"]},83789:(e,i,a)=>{a.d(i,{A:()=>d});var t=a(2074),n=a(11472),o=a(43202);function s(e){let i=document.documentElement,a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?a:e)?i.classList.add("dark"):i.classList.remove("dark")}let d=(0,t.v)((0,n.Zr)((e,i)=>({theme:o.B2.defaultTheme,setTheme:i=>{e({theme:i}),s(i)},toggleTheme:()=>{let a="dark"===i().theme?"light":"dark";e({theme:a}),s(a)},initTheme:()=>{s(i().theme)}}),{name:o.B2.storageKey}))},84502:(e,i,a)=>{a.d(i,{FE:()=>p,Tl:()=>r,wn:()=>h});var t=a(55348);let n={},o=t.Xn,s=[];function d(){if("u"<typeof document)return t.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${t.CL}=`)),i=e?decodeURIComponent(e.split("=")[1]):t.Xn;return(0,t.QC)(i)}async function m(e){if("en"===e){n={};return}try{let i=await fetch(`/i18n/literals/${e}.json`);n=await i.json()}catch(e){console.error("Failed to load translations:",e),n={}}}function r(e){if(!e||"string"!=typeof e)return e;let i=e.trim();return i&&"en"!==o&&n[i]||e}function l(e){if(!e.nodeValue||!e.nodeValue.trim())return;let i=e.parentElement;if(!i)return;let a=i;for(;a;){if(a.hasAttribute&&a.hasAttribute("data-i18n-skip"))return;a=a.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(i.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let t=r(e._originalText);t!==e.nodeValue&&(e.nodeValue=t)}function c(e){let i;if(!e)return;let a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),t=[];for(;i=a.nextNode();)t.push(i);t.forEach(l)}async function p(){o=d(),await m(o),c(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?c(e):e.nodeType===Node.TEXT_NODE&&l(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function h(){o=d(),await m(o),s.forEach(e=>e()),c(document.body)}},94281:(e,i,a)=>{a.d(i,{Xg:()=>l,vq:()=>m,KC:()=>c});var t=a(390),n=a(89651);let o={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},s="https://api.kimi.com/coding/v1/messages",d={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:n.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:n.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...o}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:s,format:"claude",headers:{...o}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...o}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...o}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",retry:{429:2},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},"kimi-coding":{baseUrl:s,format:"claude",headers:{...o},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...o}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"},opencode:{baseUrl:"https://opencode.ai",format:"openai",headers:{"x-opencode-client":"desktop"}}},m={cc:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}],gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],ag:[{id:"gemini-3.1-pro-high",name:"Gemini 3 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3 Pro Low"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"deepseek-3.1",name:"DeepSeek 3.1",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],kmc:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],kc:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],oc:[{id:"nemotron-3-super-free",name:"Nemotron 3 Super"},{id:"minimax-m2.5-free",name:"MiniMax M2.5",targetFormat:"claude"}],cl:[{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],openai:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",type:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",type:"embedding"},{id:"tts-1",name:"TTS-1",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",type:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",type:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",type:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",type:"embedding"}],openrouter:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",type:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",type:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",type:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",type:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",type:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",type:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",type:"embedding"}],glm:[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],"minimax-cn":[{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],alicode:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"alicode-intl":[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],deepseek:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],groq:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}],xai:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"}],mistral:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}],perplexity:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],together:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}],fireworks:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}],cerebras:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}],cohere:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}],nvidia:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"}],nebius:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}],siliconflow:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}],hyperbolic:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}],ollama:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],vertex:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],"vertex-partner":[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}],"local-device":[{id:"default",name:"System Default Voice",type:"tts"}],"google-tts":[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}],"openai-tts-voices":[{id:"alloy",name:"Alloy",type:"tts"},{id:"ash",name:"Ash",type:"tts"},{id:"ballad",name:"Ballad",type:"tts"},{id:"cedar",name:"Cedar",type:"tts"},{id:"coral",name:"Coral",type:"tts"},{id:"echo",name:"Echo",type:"tts"},{id:"fable",name:"Fable",type:"tts"},{id:"marin",name:"Marin",type:"tts"},{id:"nova",name:"Nova",type:"tts"},{id:"onyx",name:"Onyx",type:"tts"},{id:"sage",name:"Sage",type:"tts"},{id:"shimmer",name:"Shimmer",type:"tts"},{id:"verse",name:"Verse",type:"tts"}],"openai-tts-models":[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],"elevenlabs-tts-models":[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}],"edge-tts":[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},r={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu","kimi-coding":"kmc",kilocode:"kc",cline:"cl",opencode:"oc",vertex:"vertex","vertex-partner":"vertex-partner"},l=Object.fromEntries(Object.keys(d).map(e=>[e,r[e]||e]));function c(e){return m[l[e]||e]||[]}},98814:(e,i,a)=>{a.d(i,{ThemeProvider:()=>s});var t=a(73365),n=a(1521),o=a(83789);function s({children:e}){let{initTheme:i}=(0,o.A)();return(0,n.useEffect)(()=>{i()},[i]),(0,t.jsx)(t.Fragment,{children:e})}}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[505],{43202:(e,i,a)=>{a.d(i,{Q2:()=>t.Q2,fg:()=>t.fg,vQ:()=>n,MA:()=>t.MA,UY:()=>s,zN:()=>t.zN,B2:()=>o});var t=a(82495);a(69633);let n={name:"Endpoint Proxy",description:"AI Infrastructure Management",version:"0.3.89"},o={storageKey:"theme",defaultTheme:"system"},s={maxLines:200,pollIntervalMs:1e3}},55348:(e,i,a)=>{a.d(i,{CL:()=>o,QC:()=>s,Xn:()=>n,YZ:()=>t});let t=["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no"],n="en",o="locale";function s(e){return"zh"===e||"zh-CN"===e?"zh-CN":"en"===e?"en":"vi"===e?"vi":"zh-TW"===e?"zh-TW":"ja"===e?"ja":"pt-BR"===e?"pt-BR":"pt-PT"===e?"pt-PT":"ko"===e?"ko":"es"===e?"es":"de"===e?"de":"fr"===e?"fr":"he"===e?"he":"ar"===e?"ar":"ru"===e?"ru":"pl"===e?"pl":"cs"===e?"cs":"nl"===e?"nl":"tr"===e?"tr":"uk"===e?"uk":"tl"===e?"tl":"id"===e?"id":"th"===e?"th":"hi"===e?"hi":"bn"===e?"bn":"ur"===e?"ur":"ro"===e?"ro":"sv"===e?"sv":"it"===e?"it":"el"===e?"el":"hu"===e?"hu":"fi"===e?"fi":"da"===e?"da":"no"===e?"no":n}},69633:(e,i,a)=>{a.d(i,{KC:()=>t.KC,Xg:()=>t.Xg});var t=a(94281);Object.entries(a(82495).Q2).filter(([,e])=>e.passthroughModels).map(([e])=>e),Object.entries(t.vq).flatMap(([e,i])=>i.map(i=>({provider:e,model:i.id,name:i.name})))},82495:(e,i,a)=>{a.d(i,{DI:()=>l,IS:()=>t,JH:()=>r,MA:()=>u,Q2:()=>h,fg:()=>d,gb:()=>p,mq:()=>c,nJ:()=>n,o5:()=>f,rj:()=>m,s9:()=>o,wG:()=>b,wb:()=>v,zN:()=>s,zt:()=>g});let t={kiro:{id:"kiro",alias:"kr",name:"Kiro AI",icon:"psychology_alt",color:"#FF6B35"},qwen:{id:"qwen",alias:"qw",name:"Qwen Code",icon:"psychology",color:"#10B981"},"gemini-cli":{id:"gemini-cli",alias:"gc",name:"Gemini CLI",icon:"terminal",color:"#4285F4",deprecated:!0,deprecationNotice:"Gemini CLI is designed exclusively for Gemini CLI. Using it with other tools (OpenClaw, Claude, Codex...) may result in account restrictions or bans."},iflow:{id:"iflow",alias:"if",name:"iFlow AI",icon:"water_drop",color:"#6366F1"},opencode:{id:"opencode",alias:"oc",name:"OpenCode",icon:"terminal",color:"#E87040",textIcon:"OC",noAuth:!0}},n={openrouter:{id:"openrouter",alias:"openrouter",name:"OpenRouter",icon:"router",color:"#F97316",textIcon:"OR",website:"https://openrouter.ai",notice:{text:"Free tier: 27+ free models, no credit card needed, 200 req/day. After $10 credit: 1,000 req/day.",apiKeyUrl:"https://openrouter.ai/settings/keys"},modelsFetcher:{url:"https://openrouter.ai/api/v1/models",type:"openrouter-free"},passthroughModels:!0,serviceKinds:["llm","embedding"]},nvidia:{id:"nvidia",alias:"nvidia",name:"NVIDIA NIM",icon:"developer_board",color:"#76B900",textIcon:"NV",website:"https://developer.nvidia.com/nim",notice:{text:"Free access for NVIDIA Developer Program members (prototyping & testing).",apiKeyUrl:"https://build.nvidia.com/settings/api-keys"}},ollama:{id:"ollama",alias:"ollama",name:"Ollama Cloud",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com",notice:{text:"Free tier: light usage, 1 cloud model at a time (limits reset every 5h & 7d). Pro $20/mo \xb7 Max $100/mo.",apiKeyUrl:"https://ollama.com/settings/keys"}},vertex:{id:"vertex",alias:"vx",name:"Vertex AI",icon:"cloud",color:"#4285F4",textIcon:"VX",website:"https://cloud.google.com/vertex-ai",notice:{text:"New Google Cloud accounts get $300 free credits. Requires GCP project + Service Account with Vertex AI API enabled.",apiKeyUrl:"https://console.cloud.google.com/iam-admin/serviceaccounts"}},gemini:{id:"gemini",alias:"gemini",name:"Gemini",icon:"diamond",color:"#4285F4",textIcon:"GE",website:"https://ai.google.dev",serviceKinds:["llm","embedding"]}},o={extended:{options:["auto","on","off"],defaultMode:"auto",defaultBudgetTokens:1e4},effort:{options:["auto","none","low","medium","high"],defaultMode:"auto"}},s={claude:{id:"claude",alias:"cc",name:"Claude Code",icon:"smart_toy",color:"#D97757"},antigravity:{id:"antigravity",alias:"ag",name:"Antigravity",icon:"rocket_launch",color:"#F59E0B",deprecated:!0,deprecationNotice:"AG is designed exclusively for Antigravity IDE. Using it with other tools (OpenClaw, Claude, Codex...) may result in account restrictions or bans."},codex:{id:"codex",alias:"cx",name:"OpenAI Codex",icon:"code",color:"#3B82F6",thinkingConfig:o.effort},github:{id:"github",alias:"gh",name:"GitHub Copilot",icon:"code",color:"#333333"},cursor:{id:"cursor",alias:"cu",name:"Cursor IDE",icon:"edit_note",color:"#00D4AA"},kilocode:{id:"kilocode",alias:"kc",name:"Kilo Code",icon:"code",color:"#FF6B35",textIcon:"KC"},cline:{id:"cline",alias:"cl",name:"Cline",icon:"smart_toy",color:"#5B9BD5",textIcon:"CL"}},d={glm:{id:"glm",alias:"glm",name:"GLM Coding",icon:"code",color:"#2563EB",textIcon:"GL",website:"https://open.bigmodel.cn"},"glm-cn":{id:"glm-cn",alias:"glm-cn",name:"GLM (China)",icon:"code",color:"#DC2626",textIcon:"GC",website:"https://open.bigmodel.cn"},kimi:{id:"kimi",alias:"kimi",name:"Kimi",icon:"psychology",color:"#1E3A8A",textIcon:"KM",website:"https://kimi.moonshot.cn"},minimax:{id:"minimax",alias:"minimax",name:"Minimax Coding",icon:"memory",color:"#7C3AED",textIcon:"MM",website:"https://www.minimaxi.com"},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",name:"Minimax (China)",icon:"memory",color:"#DC2626",textIcon:"MC",website:"https://www.minimaxi.com"},alicode:{id:"alicode",alias:"alicode",name:"Alibaba",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",name:"Alibaba Intl",icon:"cloud",color:"#FF6A00",textIcon:"ALi"},openai:{id:"openai",alias:"openai",name:"OpenAI",icon:"auto_awesome",color:"#10A37F",textIcon:"OA",website:"https://platform.openai.com",serviceKinds:["llm","embedding","tts"],thinkingConfig:o.effort},anthropic:{id:"anthropic",alias:"anthropic",name:"Anthropic",icon:"smart_toy",color:"#D97757",textIcon:"AN",website:"https://console.anthropic.com",serviceKinds:["llm"]},deepseek:{id:"deepseek",alias:"ds",name:"DeepSeek",icon:"bolt",color:"#4D6BFE",textIcon:"DS",website:"https://deepseek.com"},groq:{id:"groq",alias:"groq",name:"Groq",icon:"speed",color:"#F55036",textIcon:"GQ",website:"https://groq.com"},xai:{id:"xai",alias:"xai",name:"xAI (Grok)",icon:"auto_awesome",color:"#1DA1F2",textIcon:"XA",website:"https://x.ai"},mistral:{id:"mistral",alias:"mistral",name:"Mistral",icon:"air",color:"#FF7000",textIcon:"MI",website:"https://mistral.ai"},perplexity:{id:"perplexity",alias:"pplx",name:"Perplexity",icon:"search",color:"#20808D",textIcon:"PP",website:"https://www.perplexity.ai"},together:{id:"together",alias:"together",name:"Together AI",icon:"group_work",color:"#0F6FFF",textIcon:"TG",website:"https://www.together.ai"},fireworks:{id:"fireworks",alias:"fireworks",name:"Fireworks AI",icon:"local_fire_department",color:"#7B2EF2",textIcon:"FW",website:"https://fireworks.ai"},cerebras:{id:"cerebras",alias:"cerebras",name:"Cerebras",icon:"memory",color:"#FF4F00",textIcon:"CB",website:"https://www.cerebras.ai"},cohere:{id:"cohere",alias:"cohere",name:"Cohere",icon:"hub",color:"#39594D",textIcon:"CO",website:"https://cohere.com"},nebius:{id:"nebius",alias:"nebius",name:"Nebius AI",icon:"cloud",color:"#6C5CE7",textIcon:"NB",website:"https://nebius.com"},siliconflow:{id:"siliconflow",alias:"siliconflow",name:"SiliconFlow",icon:"cloud_queue",color:"#5B6EF5",textIcon:"SF",website:"https://cloud.siliconflow.com"},hyperbolic:{id:"hyperbolic",alias:"hyp",name:"Hyperbolic",icon:"bolt",color:"#00D4FF",textIcon:"HY",website:"https://hyperbolic.xyz"},deepgram:{id:"deepgram",alias:"dg",name:"Deepgram",icon:"mic",color:"#13EF93",textIcon:"DG",website:"https://deepgram.com",serviceKinds:["stt"]},assemblyai:{id:"assemblyai",alias:"aai",name:"AssemblyAI",icon:"record_voice_over",color:"#0062FF",textIcon:"AA",website:"https://assemblyai.com",serviceKinds:["stt"]},nanobanana:{id:"nanobanana",alias:"nb",name:"NanoBanana",icon:"image",color:"#FFD700",textIcon:"NB",website:"https://nanobananaapi.ai",serviceKinds:["image"]},elevenlabs:{id:"elevenlabs",alias:"el",name:"ElevenLabs",icon:"record_voice_over",color:"#6C47FF",textIcon:"EL",website:"https://elevenlabs.io",serviceKinds:["tts"]},cartesia:{id:"cartesia",alias:"cartesia",name:"Cartesia",icon:"spatial_audio",color:"#FF4F8B",textIcon:"CA",website:"https://cartesia.ai",serviceKinds:["tts"],hidden:!0},playht:{id:"playht",alias:"playht",name:"PlayHT",icon:"play_circle",color:"#00B4D8",textIcon:"PH",website:"https://play.ht",serviceKinds:["tts"],hidden:!0},"local-device":{id:"local-device",alias:"local-device",name:"Local Device",icon:"speaker",color:"#64748B",textIcon:"LD",serviceKinds:["tts"],noAuth:!0},"google-tts":{id:"google-tts",alias:"google-tts",name:"Google TTS",icon:"record_voice_over",color:"#4285F4",textIcon:"GT",serviceKinds:["tts"],noAuth:!0},"edge-tts":{id:"edge-tts",alias:"edge-tts",name:"Edge TTS",icon:"record_voice_over",color:"#0078D4",textIcon:"ET",serviceKinds:["tts"],noAuth:!0},sdwebui:{id:"sdwebui",alias:"sdwebui",name:"SD WebUI",icon:"brush",color:"#FF7043",textIcon:"SD",website:"https://github.com/AUTOMATIC1111/stable-diffusion-webui",serviceKinds:["image"]},comfyui:{id:"comfyui",alias:"comfyui",name:"ComfyUI",icon:"account_tree",color:"#4CAF50",textIcon:"CF",website:"https://github.com/comfyanonymous/ComfyUI",serviceKinds:["image"]},huggingface:{id:"huggingface",alias:"hf",name:"HuggingFace",icon:"face",color:"#FFD21E",textIcon:"HF",website:"https://huggingface.co",serviceKinds:["image","tts"],hiddenKinds:["tts"]},chutes:{id:"chutes",alias:"ch",name:"Chutes AI",icon:"water_drop",color:"#ffffffff",textIcon:"CH",website:"https://chutes.ai"},"ollama-local":{id:"ollama-local",alias:"ollama-local",name:"Ollama Local",icon:"cloud",color:"#ffffffff",textIcon:"OL",website:"https://ollama.com"},"vertex-partner":{id:"vertex-partner",alias:"vxp",name:"Vertex Partner",icon:"cloud",color:"#34A853",textIcon:"VP",website:"https://cloud.google.com/vertex-ai/generative-ai/docs/partner-models/use-partner-models"}},m=[{id:"embedding",label:"Embedding",icon:"data_array",endpoint:{method:"POST",path:"/v1/embeddings"}},{id:"image",label:"Image",icon:"image",endpoint:{method:"POST",path:"/v1/images/generations"}},{id:"tts",label:"Text To Speech",icon:"record_voice_over",endpoint:{method:"POST",path:"/v1/audio/speech"}},{id:"stt",label:"STT",icon:"mic",endpoint:{method:"POST",path:"/v1/audio/transcriptions"}},{id:"video",label:"Video",icon:"movie",endpoint:{method:"POST",path:"/v1/video/generations"}},{id:"music",label:"Music",icon:"music_note",endpoint:{method:"POST",path:"/v1/audio/music"}}],r="openai-compatible-",l="anthropic-compatible-";function c(e){return"string"==typeof e&&e.startsWith(r)}function p(e){return"string"==typeof e&&e.startsWith(l)}let h={...t,...n,...s,...d},u={oauth:{id:"oauth",name:"OAuth",icon:"lock"},apikey:{id:"apikey",name:"API Key",icon:"key"}};function g(e){for(let i of Object.values(h))if(i.alias===e||i.id===e)return i;return null}function b(e){let i=h[e];return i?.alias||e}function f(e){return Object.values(h).filter(i=>!(!(i.serviceKinds??["llm"]).includes(e)||i.hidden||i.hiddenKinds?.includes(e)))}Object.values(h).reduce((e,i)=>(e[i.alias]=i.id,e),{}),Object.values(h).reduce((e,i)=>(e[i.id]=i.alias,e),{});let v=["claude","antigravity","kiro","github","codex","kimi-coding"]},83789:(e,i,a)=>{a.d(i,{A:()=>d});var t=a(2074),n=a(11472),o=a(43202);function s(e){let i=document.documentElement,a=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";"dark"===("system"===e?a:e)?i.classList.add("dark"):i.classList.remove("dark")}let d=(0,t.v)((0,n.Zr)((e,i)=>({theme:o.B2.defaultTheme,setTheme:i=>{e({theme:i}),s(i)},toggleTheme:()=>{let a="dark"===i().theme?"light":"dark";e({theme:a}),s(a)},initTheme:()=>{s(i().theme)}}),{name:o.B2.storageKey}))},84502:(e,i,a)=>{a.d(i,{FE:()=>p,Tl:()=>r,wn:()=>h});var t=a(55348);let n={},o=t.Xn,s=[];function d(){if("u"<typeof document)return t.Xn;let e=document.cookie.split(";").find(e=>e.trim().startsWith(`${t.CL}=`)),i=e?decodeURIComponent(e.split("=")[1]):t.Xn;return(0,t.QC)(i)}async function m(e){if("en"===e){n={};return}try{let i=await fetch(`/i18n/literals/${e}.json`);n=await i.json()}catch(e){console.error("Failed to load translations:",e),n={}}}function r(e){if(!e||"string"!=typeof e)return e;let i=e.trim();return i&&"en"!==o&&n[i]||e}function l(e){if(!e.nodeValue||!e.nodeValue.trim())return;let i=e.parentElement;if(!i)return;let a=i;for(;a;){if(a.hasAttribute&&a.hasAttribute("data-i18n-skip"))return;a=a.parentElement}if(["script","style","code","pre","colgroup","table","thead","tbody","tfoot","tr","select","datalist","optgroup"].includes(i.tagName?.toLowerCase()))return;e._originalText||(e._originalText=e.nodeValue);let t=r(e._originalText);t!==e.nodeValue&&(e.nodeValue=t)}function c(e){let i;if(!e)return;let a=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,null,!1),t=[];for(;i=a.nextNode();)t.push(i);t.forEach(l)}async function p(){o=d(),await m(o),c(document.body),new MutationObserver(e=>{e.forEach(e=>{e.addedNodes.forEach(e=>{e.nodeType===Node.ELEMENT_NODE?c(e):e.nodeType===Node.TEXT_NODE&&l(e)})})}).observe(document.body,{childList:!0,subtree:!0})}async function h(){o=d(),await m(o),s.forEach(e=>e()),c(document.body)}},94281:(e,i,a)=>{a.d(i,{Xg:()=>l,vq:()=>m,KC:()=>c});var t=a(390),n=a(89651);let o={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},s="https://api.kimi.com/coding/v1/messages",d={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05,advanced-tool-use-2025-11-20,effort-2025-11-24,structured-outputs-2025-12-15,fast-mode-2026-02-01,redact-thinking-2026-02-12,token-efficient-tools-2026-03-28","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.92 (external, sdk-cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.14.0","X-Stainless-Package-Version":"0.80.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:n.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:n.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...o}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:s,format:"claude",headers:{...o}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...o}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...o}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",retry:{429:2},headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"3.1.0"},"kimi-coding":{baseUrl:s,format:"claude",headers:{...o},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...o}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"},opencode:{baseUrl:"https://opencode.ai",format:"openai",headers:{"x-opencode-client":"desktop"}}},m={cc:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}],cx:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.3-codex-spark",name:"GPT 5.3 Codex Spark"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}],gc:[{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro Preview"}],qw:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.6 Coder Model"}],if:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 VL Plus"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"qwen3-235b",name:"Qwen3 235B A22B"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 Exp"},{id:"deepseek-v3.1",name:"DeepSeek V3.1 Terminus"},{id:"deepseek-v3",name:"DeepSeek V3 671B"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"glm-4.7",name:"GLM 4.7"},{id:"iflow-rome-30ba3b",name:"iFlow ROME"}],ag:[{id:"gemini-3.1-pro-high",name:"Gemini 3 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3 Pro Low"},{id:"gemini-3-flash",name:"Gemini 3 Flash",thinking:!1},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"}],gh:[{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o mini"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex"},{id:"gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"gpt-5.4",name:"GPT-5.4"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.5",name:"Claude Opus 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash"},{id:"gemini-3-pro-preview",name:"Gemini 3 Pro"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}],kr:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"deepseek-3.2",name:"DeepSeek 3.2",strip:["image","audio"]},{id:"deepseek-3.1",name:"DeepSeek 3.1",strip:["image","audio"]},{id:"qwen3-coder-next",name:"Qwen3 Coder Next",strip:["image","audio"]}],cu:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"claude-4.6-opus-max",name:"Claude 4.6 Opus Max"},{id:"claude-4.6-sonnet-medium-thinking",name:"Claude 4.6 Sonnet Medium Thinking"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"}],kmc:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],kc:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"},{id:"deepseek/deepseek-reasoner",name:"DeepSeek Reasoner"}],oc:[{id:"nemotron-3-super-free",name:"Nemotron 3 Super"},{id:"minimax-m2.5-free",name:"MiniMax M2.5",targetFormat:"claude"}],cl:[{id:"anthropic/claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"anthropic/claude-opus-4.6",name:"Claude Opus 4.6"},{id:"openai/gpt-5.3-codex",name:"GPT-5.3 Codex"},{id:"openai/gpt-5.4",name:"GPT-5.4"},{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"google/gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"kwaipilot/kat-coder-pro",name:"KAT Coder Pro"}],openai:[{id:"gpt-5.4",name:"GPT-5.4"},{id:"gpt-5.4-mini",name:"GPT-5.4 Mini"},{id:"gpt-5.4-nano",name:"GPT-5.4 Nano"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-nano",name:"GPT-5 Nano"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini"},{id:"gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"o3",name:"O3"},{id:"o3-mini",name:"O3 Mini"},{id:"o3-pro",name:"O3 Pro"},{id:"o4-mini",name:"O4 Mini"},{id:"o1",name:"O1"},{id:"o1-mini",name:"O1 Mini"},{id:"text-embedding-3-large",name:"Text Embedding 3 Large",type:"embedding"},{id:"text-embedding-3-small",name:"Text Embedding 3 Small",type:"embedding"},{id:"text-embedding-ada-002",name:"Text Embedding Ada 002",type:"embedding"},{id:"tts-1",name:"TTS-1",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"}],anthropic:[{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}],gemini:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3.1-flash-image-preview",name:"Gemini 3.1 Flash Image Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite"},{id:"gemma-4-31b-it",name:"Gemma 4 31B IT"},{id:"gemini-embedding-2-preview",name:"Gemini Embedding 2 Preview",type:"embedding"},{id:"gemini-embedding-001",name:"Gemini Embedding 001",type:"embedding"},{id:"text-embedding-005",name:"Text Embedding 005",type:"embedding"},{id:"text-embedding-004",name:"Text Embedding 004 (Legacy)",type:"embedding"}],openrouter:[{id:"openai/text-embedding-3-large",name:"OpenAI Text Embedding 3 Large",type:"embedding"},{id:"openai/text-embedding-3-small",name:"OpenAI Text Embedding 3 Small",type:"embedding"},{id:"openai/text-embedding-ada-002",name:"OpenAI Text Embedding Ada 002",type:"embedding"},{id:"qwen/qwen3-embedding-8b",name:"Qwen3 Embedding 8B",type:"embedding"},{id:"perplexity/pplx-embed-v1-4b",name:"Perplexity Embed V1 4B",type:"embedding"},{id:"perplexity/pplx-embed-v1-0.6b",name:"Perplexity Embed V1 0.6B",type:"embedding"},{id:"nvidia/llama-nemotron-embed-vl-1b-v2:free",name:"NVIDIA Nemotron Embed VL 1B V2 (Free)",type:"embedding"}],glm:[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"}],"glm-cn":[{id:"glm-5.1",name:"GLM 5.1"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM-4.7"},{id:"glm-4.6",name:"GLM-4.6"},{id:"glm-4.5-air",name:"GLM-4.5-Air"}],kimi:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}],minimax:[{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],"minimax-cn":[{id:"MiniMax-M2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}],alicode:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],"alicode-intl":[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}],deepseek:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}],groq:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}],xai:[{id:"grok-4",name:"Grok 4"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-code-fast-1",name:"Grok Code Fast"},{id:"grok-3",name:"Grok 3"}],mistral:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}],perplexity:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}],together:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}],fireworks:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}],cerebras:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}],cohere:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}],nvidia:[{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"}],nebius:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}],siliconflow:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}],hyperbolic:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}],ollama:[{id:"gpt-oss:120b",name:"GPT OSS 120B"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"qwen3.5",name:"Qwen3.5"}],vertex:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"}],"vertex-partner":[{id:"deepseek-ai/deepseek-v3.2-maas",name:"DeepSeek V3.2 (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-thinking-maas",name:"Qwen3 Next 80B Thinking (Vertex)"},{id:"qwen/qwen3-next-80b-a3b-instruct-maas",name:"Qwen3 Next 80B Instruct (Vertex)"},{id:"zai-org/glm-5-maas",name:"GLM-5 (Vertex)"}],"local-device":[{id:"default",name:"System Default Voice",type:"tts"}],"google-tts":[{id:"af",name:"Afrikaans",type:"tts"},{id:"ar",name:"Arabic",type:"tts"},{id:"bg",name:"Bulgarian",type:"tts"},{id:"bn",name:"Bengali",type:"tts"},{id:"bs",name:"Bosnian",type:"tts"},{id:"ca",name:"Catalan",type:"tts"},{id:"cs",name:"Czech",type:"tts"},{id:"cy",name:"Welsh",type:"tts"},{id:"da",name:"Danish",type:"tts"},{id:"de",name:"German",type:"tts"},{id:"el",name:"Greek",type:"tts"},{id:"en",name:"English",type:"tts"},{id:"eo",name:"Esperanto",type:"tts"},{id:"es",name:"Spanish",type:"tts"},{id:"et",name:"Estonian",type:"tts"},{id:"fi",name:"Finnish",type:"tts"},{id:"fr",name:"French",type:"tts"},{id:"gu",name:"Gujarati",type:"tts"},{id:"hi",name:"Hindi",type:"tts"},{id:"hr",name:"Croatian",type:"tts"},{id:"hu",name:"Hungarian",type:"tts"},{id:"hy",name:"Armenian",type:"tts"},{id:"id",name:"Indonesian",type:"tts"},{id:"is",name:"Icelandic",type:"tts"},{id:"it",name:"Italian",type:"tts"},{id:"ja",name:"Japanese",type:"tts"},{id:"jw",name:"Javanese",type:"tts"},{id:"km",name:"Khmer",type:"tts"},{id:"kn",name:"Kannada",type:"tts"},{id:"ko",name:"Korean",type:"tts"},{id:"la",name:"Latin",type:"tts"},{id:"lv",name:"Latvian",type:"tts"},{id:"mk",name:"Macedonian",type:"tts"},{id:"ml",name:"Malayalam",type:"tts"},{id:"mr",name:"Marathi",type:"tts"},{id:"my",name:"Myanmar (Burmese)",type:"tts"},{id:"ne",name:"Nepali",type:"tts"},{id:"nl",name:"Dutch",type:"tts"},{id:"no",name:"Norwegian",type:"tts"},{id:"pl",name:"Polish",type:"tts"},{id:"pt",name:"Portuguese",type:"tts"},{id:"ro",name:"Romanian",type:"tts"},{id:"ru",name:"Russian",type:"tts"},{id:"si",name:"Sinhala",type:"tts"},{id:"sk",name:"Slovak",type:"tts"},{id:"sq",name:"Albanian",type:"tts"},{id:"sr",name:"Serbian",type:"tts"},{id:"su",name:"Sundanese",type:"tts"},{id:"sv",name:"Swedish",type:"tts"},{id:"sw",name:"Swahili",type:"tts"},{id:"ta",name:"Tamil",type:"tts"},{id:"te",name:"Telugu",type:"tts"},{id:"th",name:"Thai",type:"tts"},{id:"tl",name:"Filipino",type:"tts"},{id:"tr",name:"Turkish",type:"tts"},{id:"uk",name:"Ukrainian",type:"tts"},{id:"ur",name:"Urdu",type:"tts"},{id:"vi",name:"Vietnamese",type:"tts"},{id:"zh-CN",name:"Chinese (Simplified)",type:"tts"},{id:"zh-TW",name:"Chinese (Traditional)",type:"tts"}],"openai-tts-voices":[{id:"alloy",name:"Alloy",type:"tts"},{id:"ash",name:"Ash",type:"tts"},{id:"ballad",name:"Ballad",type:"tts"},{id:"cedar",name:"Cedar",type:"tts"},{id:"coral",name:"Coral",type:"tts"},{id:"echo",name:"Echo",type:"tts"},{id:"fable",name:"Fable",type:"tts"},{id:"marin",name:"Marin",type:"tts"},{id:"nova",name:"Nova",type:"tts"},{id:"onyx",name:"Onyx",type:"tts"},{id:"sage",name:"Sage",type:"tts"},{id:"shimmer",name:"Shimmer",type:"tts"},{id:"verse",name:"Verse",type:"tts"}],"openai-tts-models":[{id:"gpt-4o-mini-tts",name:"GPT-4o Mini TTS",type:"tts"},{id:"tts-1-hd",name:"TTS-1 HD",type:"tts"},{id:"tts-1",name:"TTS-1",type:"tts"}],"elevenlabs-tts-models":[{id:"eleven_flash_v2_5",name:"Flash v2.5 (Fastest)",type:"tts"},{id:"eleven_turbo_v2_5",name:"Turbo v2.5 (Fast)",type:"tts"},{id:"eleven_multilingual_v2",name:"Multilingual v2 (Quality)",type:"tts"},{id:"eleven_monolingual_v1",name:"Monolingual v1 (English)",type:"tts"}],"edge-tts":[{id:"en-US-AriaNeural",name:"Aria (en-US)",type:"tts"},{id:"en-US-GuyNeural",name:"Guy (en-US)",type:"tts"},{id:"en-GB-SoniaNeural",name:"Sonia (en-GB)",type:"tts"},{id:"vi-VN-HoaiMyNeural",name:"Hoai My (vi-VN)",type:"tts"},{id:"vi-VN-NamMinhNeural",name:"Nam Minh (vi-VN)",type:"tts"},{id:"zh-CN-XiaoxiaoNeural",name:"Xiaoxiao (zh-CN)",type:"tts"},{id:"zh-CN-YunxiNeural",name:"Yunxi (zh-CN)",type:"tts"},{id:"fr-FR-DeniseNeural",name:"Denise (fr-FR)",type:"tts"},{id:"de-DE-KatjaNeural",name:"Katja (de-DE)",type:"tts"},{id:"ja-JP-NanamiNeural",name:"Nanami (ja-JP)",type:"tts"},{id:"ko-KR-SunHiNeural",name:"SunHi (ko-KR)",type:"tts"}]},r={claude:"cc",codex:"cx","gemini-cli":"gc",qwen:"qw",iflow:"if",antigravity:"ag",github:"gh",kiro:"kr",cursor:"cu","kimi-coding":"kmc",kilocode:"kc",cline:"cl",opencode:"oc",vertex:"vertex","vertex-partner":"vertex-partner"},l=Object.fromEntries(Object.keys(d).map(e=>[e,r[e]||e]));function c(e){return m[l[e]||e]||[]}},98814:(e,i,a)=>{a.d(i,{ThemeProvider:()=>s});var t=a(73365),n=a(1521),o=a(83789);function s({children:e}){let{initTheme:i}=(0,o.A)();return(0,n.useEffect)(()=>{i()},[i]),(0,t.jsx)(t.Fragment,{children:e})}}}]);
@@ -0,0 +1,3 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8035],{64795:(e,t,s)=>{"use strict";s.d(t,{default:()=>d});var a=s(73365),l=s(1521),r=s(86447),n=s.n(r),i=s(74156),o=s(96459);let c=[{icon:"public",title:"Access Anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share Endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}];function d({machineId:e}){let[t,s]=(0,l.useState)([]),[r,n]=(0,l.useState)(!0),[p,g]=(0,l.useState)(!1),[b,y]=(0,l.useState)(""),[f,j]=(0,l.useState)(null),[k,w]=(0,l.useState)(!1),[v,N]=(0,l.useState)(!0),[C,S]=(0,l.useState)(!0),[T,_]=(0,l.useState)(!1),[P,$]=(0,l.useState)(!0),[E,A]=(0,l.useState)(!1),[U,D]=(0,l.useState)(""),[F,I]=(0,l.useState)(""),[O,W]=(0,l.useState)(!1),[R,q]=(0,l.useState)(""),[L,K]=(0,l.useState)(null),[z,J]=(0,l.useState)(!1),[H,M]=(0,l.useState)(!1),[Q,Z]=(0,l.useState)(!1),[B,V]=(0,l.useState)(""),[G,X]=(0,l.useState)(!1),[Y,ee]=(0,l.useState)(""),[et,es]=(0,l.useState)(null),[ea,el]=(0,l.useState)(null),[er,en]=(0,l.useState)(!1),[ei,eo]=(0,l.useState)([]),[ec,ed]=(0,l.useState)(""),[ex,em]=(0,l.useState)(!1),[eh,eu]=(0,l.useState)(!1),[ep,eg]=(0,l.useState)(!1),eb=(0,l.useRef)(null),[ey,ef]=(0,l.useState)(new Set),{copied:ej,copy:ek}=(0,o.C)();(0,l.useEffect)(()=>{eb.current&&(eb.current.scrollTop=eb.current.scrollHeight)},[ei]),(0,l.useEffect)(()=>{eC(),ew()},[]);let ew=async()=>{$(!0);try{let[e,t]=await Promise.all([fetch("/api/settings"),fetch("/api/tunnel/status")]);if(e.ok){let t=await e.json();w(t.requireApiKey||!1),N(!1!==t.requireLogin),S(t.hasPassword||!1),_(t.tunnelDashboardAccess||!1)}if(t.ok){let e=await t.json(),s=e.tunnel?.enabled||!1,a=e.tunnel?.tunnelUrl||"",l=e.tunnel?.publicUrl||"";D(a),I(l);let r=e.tailscale?.enabled||!1,n=e.tailscale?.tunnelUrl||"";if(V(n),r&&n){X(!0),ee("Checking Tailscale...");let e=`${n}/api/health`;try{let t=await fetch(e,{mode:"no-cors",cache:"no-store"});if(t.ok||"opaque"===t.type)Z(!0);else{let e=await eE(n);Z(e),e||es({type:"warning",message:"Tailscale not reachable."})}}catch{let e=await eE(n);Z(e),e||es({type:"warning",message:"Tailscale not reachable."})}finally{X(!1),ee("")}}else Z(r);if(s&&(l||a)){let e=`${l||a}/api/health`;try{(await fetch(e,{cache:"no-store"})).ok?A(!0):eS(l||a)}catch{eS(l||a)}}else A(s)}}catch(e){console.log("Error loading settings:",e)}finally{$(!1)}},ev=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tunnelDashboardAccess:e})})).ok&&_(e)}catch(e){console.log("Error updating tunnelDashboardAccess:",e)}},eN=async e=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:e})})).ok&&w(e)}catch(e){console.log("Error updating requireApiKey:",e)}},eC=async()=>{try{let e=await fetch("/api/keys"),t=await e.json();e.ok&&s(t.keys||[])}catch(e){console.log("Error fetching data:",e)}finally{n(!1)}},eS=async e=>{W(!0),q("Waiting for tunnel ready...");let t=`${e}/api/health`,s=Date.now();for(;Date.now()-s<3e5;){await new Promise(e=>setTimeout(e,2e3));try{let e=await fetch(t,{mode:"no-cors",cache:"no-store"});if(e.ok||"opaque"===e.type)return A(!0),W(!1),q(""),!0}catch{}if((Date.now()-s)%1e4<2e3)try{let e=await fetch("/api/tunnel/status");if(e.ok){let t=await e.json();if(!t.tunnel?.enabled)return K({type:"error",message:"Tunnel process stopped unexpectedly."}),W(!1),q(""),!1}}catch{}}return K({type:"error",message:"Tunnel created but not reachable. Please try again."}),W(!1),q(""),!1},eT=async()=>{J(!1),W(!0),K(null),q("Creating tunnel...");try{let e=await fetch("/api/tunnel/enable",{method:"POST"}),t=await e.json();if(!e.ok)return void K({type:"error",message:t.error||"Failed to enable tunnel"});let s=t.publicUrl||t.tunnelUrl;if(!s)return void K({type:"error",message:"No tunnel URL returned"});D(t.tunnelUrl||""),I(t.publicUrl||""),await eS(s)}catch(e){K({type:"error",message:e.message})}finally{W(!1),q("")}},e_=async()=>{W(!0),K(null);try{let e=await fetch("/api/tunnel/disable",{method:"POST"}),t=await e.json();e.ok?(A(!1),D(""),I(""),M(!1),K({type:"success",message:"Tunnel disabled"})):K({type:"error",message:t.error||"Failed to disable tunnel"})}catch(e){K({type:"error",message:e.message})}finally{W(!1)}},eP=async()=>{el(null);try{let e=await fetch("/api/tunnel/tailscale-check");if(e.ok){let t=await e.json();return el(t.installed),t}}catch{}return el(!1),{installed:!1}},e$=async()=>{en(!0),es(null),eo([]);try{let e=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:ec})});ed("");let t=e.body.getReader(),s=new TextDecoder,a="";for(;;){let{done:e,value:l}=await t.read();if(e)break;let r=(a+=s.decode(l,{stream:!0})).split("\n\n");for(let e of(a=r.pop()||"",r)){let t=e.split("\n"),s="progress",a=null;for(let e of t)if(e.startsWith("event: ")&&(s=e.slice(7).trim()),e.startsWith("data: "))try{a=JSON.parse(e.slice(6))}catch{}if(a)if("progress"===s)eo(e=>[...e.slice(-50),a.message]);else if("done"===s){el(!0),en(!1);return}else"error"===s&&es({type:"error",message:a.error||"Install failed"})}}}catch(e){es({type:"error",message:e.message})}finally{en(!1)}},eE=async e=>{ee("Waiting for Tailscale ready...");let t=`${e}/api/health`,s=Date.now();for(;Date.now()-s<3e5;){await new Promise(e=>setTimeout(e,2e3));try{let e=await fetch(t,{mode:"no-cors",cache:"no-store"});if(e.ok||"opaque"===e.type)return!0}catch{}}return!1},eA=async e=>{let t=e||null;eu(!1),em(!0),X(!0),es(null),ee("Connecting...");try{let e=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),s=await e.json();if(e.ok&&s.success){t&&t.close(),V(s.tunnelUrl||""),await eE(s.tunnelUrl)?(Z(!0),es(null)):(Z(!0),es({type:"warning",message:"Connected but not reachable yet."}));return}if(s.needsLogin&&s.authUrl){t?t.location.href=s.authUrl:window.open(s.authUrl,"tailscale_auth","width=600,height=700"),ee("Waiting for login...");for(let e=0;e<40;e++){await new Promise(e=>setTimeout(e,3e3));try{let e=await fetch("/api/tunnel/tailscale-check");if(e.ok&&(await e.json()).loggedIn){ee("Starting funnel...");let e=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),s=await e.json();e.ok&&s.success?(t&&t.close(),V(s.tunnelUrl||""),await eE(s.tunnelUrl)?(Z(!0),es(null)):(Z(!0),es({type:"warning",message:"Connected but not reachable yet."}))):s.funnelNotEnabled&&s.enableUrl?await eU(s.enableUrl,t):es({type:"error",message:s.error||"Failed to start funnel"});return}}catch{}}es({type:"error",message:"Login timed out. Please try again."});return}if(s.funnelNotEnabled&&s.enableUrl)return void await eU(s.enableUrl,t);t&&t.close(),es({type:"error",message:s.error||"Failed to connect"})}catch(e){t&&t.close(),es({type:"error",message:e.message})}finally{X(!1),em(!1),ee("")}},eU=async(e,t)=>{t?t.location.href=e:window.open(e,"tailscale_auth","width=600,height=700"),ee("Enable Funnel in browser, waiting...");for(let e=0;e<40;e++){await new Promise(e=>setTimeout(e,3e3));try{let e=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),s=await e.json();if(e.ok&&s.success){t&&t.close(),V(s.tunnelUrl||""),await eE(s.tunnelUrl)?(Z(!0),es(null)):(Z(!0),es({type:"warning",message:"Connected but not reachable yet."}));return}if(s.funnelNotEnabled)continue;if(s.error)return void es({type:"error",message:s.error})}catch{}}es({type:"error",message:"Timed out waiting for Funnel to be enabled."})},eD=async()=>{X(!0),es(null);try{let e=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),t=await e.json();e.ok?(Z(!1),V(""),eg(!1),es({type:"success",message:"Tailscale disabled"})):es({type:"error",message:t.error||"Failed to disable Tailscale"})}catch(e){es({type:"error",message:e.message})}finally{X(!1)}},eF=async()=>{es(null),eo([]),eu(!0),await eP()},eI=async()=>{if(b.trim())try{let e=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})}),t=await e.json();e.ok&&(j(t.key),await eC(),y(""),g(!1))}catch(e){console.log("Error creating key:",e)}},eO=async e=>{if(confirm("Delete this API key?"))try{(await fetch(`/api/keys/${e}`,{method:"DELETE"})).ok&&(s(t.filter(t=>t.id!==e)),ef(t=>{let s=new Set(t);return s.delete(e),s}))}catch(e){console.log("Error deleting key:",e)}},eW=async(e,t)=>{try{(await fetch(`/api/keys/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:t})})).ok&&s(s=>s.map(s=>s.id===e?{...s,isActive:t}:s))}catch(e){console.log("Error toggling key:",e)}},[eR,eq]=(0,l.useState)("/v1");return((0,l.useEffect)(()=>{eq(`${window.location.origin}/v1`)},[]),r)?(0,a.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,a.jsx)(i.Qv,{}),(0,a.jsx)(i.Qv,{})]}):(0,a.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,a.jsxs)(i.Zp,{children:[(0,a.jsx)("h2",{className:"text-lg font-semibold mb-4",children:"API Endpoint"}),(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(x,{label:"Local",url:eR,copyId:"local_url",copied:ej,onCopy:ek}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[68px] text-center ${E?"bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400":"bg-sidebar text-text-muted"}`,children:"Tunnel"}),E&&!O?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.pd,{value:`${F||U}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsx)("button",{onClick:()=>ek(`${F||U}/v1`,"tunnel_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tunnel_url"===ej?"check":"content_copy"})}),(0,a.jsx)("button",{onClick:()=>M(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):O?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),R||"Creating tunnel..."]}),(0,a.jsx)("button",{onClick:()=>{W(!1),q("")},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):L?.type==="error"?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),L.message]}),(0,a.jsx)(i.$n,{size:"sm",icon:"cloud_upload",onClick:()=>J(!0),children:"Enable"})]}):P?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),(0,a.jsx)("button",{onClick:()=>$(!1),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):(0,a.jsx)(i.$n,{size:"sm",icon:"cloud_upload",onClick:()=>{k?J(!0):K({type:"error",message:'Security required: Enable "Require API key" before activating the tunnel.'})},className:"bg-linear-to-r from-primary to-blue-500 hover:from-primary-hover hover:to-blue-600 text-white!",children:"Enable"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[68px] text-center ${Q?"bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400":"bg-sidebar text-text-muted"}`,children:"Tailscale"}),Q&&!G?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.pd,{value:`${B}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsx)("button",{onClick:()=>ek(`${B}/v1`,"ts_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"ts_url"===ej?"check":"content_copy"})}),(0,a.jsx)("button",{onClick:()=>eg(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):G||ex?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),Y||"Connecting..."]}),(0,a.jsx)("button",{onClick:()=>{X(!1),em(!1),ee("")},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):et?.type==="error"?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),et.message]}),(0,a.jsx)(i.$n,{size:"sm",icon:"vpn_lock",onClick:eF,children:"Enable"})]}):(0,a.jsx)(i.$n,{size:"sm",icon:"vpn_lock",onClick:eF,className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Enable"})]})]}),(E||Q)&&(0,a.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[!k&&(0,a.jsx)(u,{message:"Require API key is disabled — your endpoint is publicly accessible without authentication.",action:{label:"Enable",href:"#require-api-key"}}),(!v||!C)&&(0,a.jsx)(u,{message:v?"Dashboard uses the default password — change it in Profile settings.":"Require login is disabled — anyone can access your dashboard via tunnel.",action:{label:v?"Change password":"Enable",href:"/dashboard/profile"}})]}),(E||Q)&&(0,a.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex items-center gap-3",children:[(0,a.jsx)(i.lM,{checked:T,onChange:()=>ev(!T)}),(0,a.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,a.jsx)("p",{className:"font-medium text-sm",children:"Allow dashboard access via tunnel"}),(0,a.jsx)(h,{text:"When enabled, the dashboard can be accessed through your tunnel or Tailscale URL (login still required). When disabled, dashboard access via tunnel/Tailscale is completely blocked."})]})]})]}),(0,a.jsxs)(i.Zp,{id:"require-api-key",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,a.jsx)("h2",{className:"text-lg font-semibold",children:"API Keys"}),(0,a.jsx)(i.$n,{icon:"add",onClick:()=>g(!0),children:"Create Key"})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Requests without a valid key will be rejected"})]}),(0,a.jsx)(i.lM,{checked:k,onChange:()=>eN(!k)})]}),0===t.length?(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"vpn_key"})}),(0,a.jsx)("p",{className:"text-text-main font-medium mb-1",children:"No API keys yet"}),(0,a.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Create your first API key to get started"}),(0,a.jsx)(i.$n,{icon:"add",onClick:()=>g(!0),children:"Create Key"})]}):(0,a.jsx)("div",{className:"flex flex-col",children:t.map(e=>{var t;return(0,a.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===e.isActive?"opacity-60":""}`,children:[(0,a.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,a.jsx)("p",{className:"text-sm font-medium",children:e.name}),(0,a.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,a.jsx)("code",{className:"text-xs text-text-muted font-mono",children:ey.has(e.id)?e.key:(t=e.key)?t.length>8?t.slice(0,8)+"...":t:""}),(0,a.jsx)("button",{onClick:()=>{var t;return t=e.id,void ef(e=>{let s=new Set(e);return s.has(t)?s.delete(t):s.add(t),s})},className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-0 group-hover:opacity-100 transition-all",title:ey.has(e.id)?"Hide key":"Show key",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ey.has(e.id)?"visibility_off":"visibility"})}),(0,a.jsx)("button",{onClick:()=>ek(e.key,e.id),className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-0 group-hover:opacity-100 transition-all",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ej===e.id?"check":"content_copy"})})]}),(0,a.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:["Created ",new Date(e.createdAt).toLocaleDateString()]}),!1===e.isActive&&(0,a.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(i.lM,{size:"sm",checked:e.isActive??!0,onChange:t=>{e.isActive&&!t?confirm(`Pause API key "${e.name}"?
2
+
3
+ This key will stop working immediately but can be resumed later.`)&&eW(e.id,t):eW(e.id,t)},title:e.isActive?"Pause key":"Resume key"}),(0,a.jsx)("button",{onClick:()=>eO(e.id),className:"p-2 hover:bg-red-500/10 rounded text-red-500 opacity-0 group-hover:opacity-100 transition-all",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},e.id)})})]}),(0,a.jsx)(i.aF,{isOpen:p,title:"Create API Key",onClose:()=>{g(!1),y("")},children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)(i.pd,{label:"Key Name",value:b,onChange:e=>y(e.target.value),placeholder:"Production Key"}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.$n,{onClick:eI,fullWidth:!0,disabled:!b.trim(),children:"Create"}),(0,a.jsx)(i.$n,{onClick:()=>{g(!1),y("")},variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,a.jsx)(i.aF,{isOpen:!!f,title:"API Key Created",onClose:()=>j(null),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,a.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:"Save this key now!"}),(0,a.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"This is the only time you will see this key. Store it securely."})]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.pd,{value:f||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsx)(i.$n,{variant:"secondary",icon:"created_key"===ej?"check":"content_copy",onClick:()=>ek(f,"created_key"),children:"created_key"===ej?"Copied!":"Copy"})]}),(0,a.jsx)(i.$n,{onClick:()=>j(null),fullWidth:!0,children:"Done"})]})}),(0,a.jsx)(i.aF,{isOpen:z,title:"Enable Tunnel",onClose:()=>J(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"cloud_upload"}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200 font-medium mb-1",children:"Cloudflare Tunnel"}),(0,a.jsx)("p",{className:"text-sm text-blue-700 dark:text-blue-300",children:"Expose your local 9Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere."})]})]})}),(0,a.jsx)("div",{className:"grid grid-cols-2 gap-3",children:c.map(e=>(0,a.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:e.icon}),(0,a.jsx)("p",{className:"text-xs font-semibold",children:e.title}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:e.desc})]},e.title))}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.$n,{onClick:eT,fullWidth:!0,className:"bg-linear-to-r from-primary to-blue-500 hover:from-primary-hover hover:to-blue-600 text-white!",children:"Start Tunnel"}),(0,a.jsx)(i.$n,{onClick:()=>J(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,a.jsx)(i.aF,{isOpen:H,title:"Disable Tunnel",onClose:()=>!O&&M(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.$n,{onClick:e_,fullWidth:!0,disabled:O,className:"bg-red-500! hover:bg-red-600! text-white!",children:O?"Disabling...":"Disable"}),(0,a.jsx)(i.$n,{onClick:()=>M(!1),variant:"ghost",fullWidth:!0,disabled:O,children:"Cancel"})]})]})}),(0,a.jsx)(i.aF,{isOpen:eh,title:"Tailscale Funnel",onClose:()=>{er||(eu(!1),ed(""),es(null))},children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[null===ea&&(0,a.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),!1===ea&&!er&&(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.$n,{onClick:e$,fullWidth:!0,className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Install Tailscale"}),(0,a.jsx)(i.$n,{onClick:()=>eu(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),er&&(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),ei.length>0&&(0,a.jsx)("div",{ref:eb,className:"bg-black/5 dark:bg-white/5 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:ei.map((e,t)=>(0,a.jsx)("div",{children:e},t))})]}),!0===ea&&!er&&(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.$n,{onClick:()=>{let e=window.open("","tailscale_auth","width=600,height=700");e&&e.document.write("<p style='font-family:sans-serif;text-align:center;margin-top:40px'>Connecting to Tailscale...</p>"),eA(e)},fullWidth:!0,className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Connect"}),(0,a.jsx)(i.$n,{onClick:()=>eu(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),et&&(0,a.jsx)(m,{status:et})]})}),(0,a.jsx)(i.aF,{isOpen:ep,title:"Disable Tailscale",onClose:()=>!G&&eg(!1),children:(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,a.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsx)(i.$n,{onClick:eD,fullWidth:!0,disabled:G,className:"bg-red-500! hover:bg-red-600! text-white!",children:G?"Disabling...":"Disable"}),(0,a.jsx)(i.$n,{onClick:()=>eg(!1),variant:"ghost",fullWidth:!0,disabled:G,children:"Cancel"})]})]})})]})}function x({label:e,url:t,copyId:s,copied:l,onCopy:r,badge:n,actions:o}){return(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[68px] text-center ${"CF"===n?"bg-orange-100 dark:bg-orange-900/30 text-orange-600 dark:text-orange-400":"TS"===n?"bg-purple-100 dark:bg-purple-900/30 text-purple-600 dark:text-purple-400":"bg-sidebar text-text-muted"}`,children:e}),(0,a.jsx)(i.pd,{value:t,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,a.jsx)("button",{onClick:()=>r(t,s),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:l===s?"check":"content_copy"})}),o]})}function m({status:e,className:t=""}){return(0,a.jsx)("div",{className:`p-2 rounded text-sm ${t} ${"success"===e.type?"bg-green-500/10 text-green-600 dark:text-green-400":"warning"===e.type?"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400":"info"===e.type?"bg-blue-500/10 text-blue-600 dark:text-blue-400":"bg-red-500/10 text-red-600 dark:text-red-400"}`,children:e.message.split(/(https?:\/\/[^\s]+)/g).map((e,t)=>/^https?:\/\//.test(e)?(0,a.jsx)("a",{href:e,target:"_blank",rel:"noreferrer",className:"underline font-medium",children:e},t):e)})}function h({text:e}){return(0,a.jsxs)("span",{className:"relative group inline-flex items-center",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted cursor-help",children:"help"}),(0,a.jsx)("span",{className:"pointer-events-none absolute left-5 top-1/2 -translate-y-1/2 z-50 w-64 rounded bg-gray-900 dark:bg-gray-800 text-white text-xs px-2.5 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg",children:e})]})}function u({message:e,action:t}){return(0,a.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px] shrink-0 mt-0.5",children:"warning"}),(0,a.jsx)("p",{className:"text-xs flex-1",children:e}),t&&(0,a.jsx)("a",{href:t.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:t.href.startsWith("#")?e=>{e.preventDefault(),document.getElementById(t.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:t.label})]})}d.propTypes={machineId:n().string.isRequired}},78035:(e,t,s)=>{Promise.resolve().then(s.bind(s,64795))}}]);
package/app/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "9router-app",
3
- "version": "0.3.87",
3
+ "version": "0.3.89",
4
4
  "description": "9Router web dashboard",
5
5
  "private": true,
6
6
  "scripts": {
@@ -1 +1 @@
1
- const a0_0x4b050e=a0_0x6ed2;(function(_0x233c08,_0x176589){const _0x481c36=a0_0x6ed2,_0x295775=_0x233c08();while(!![]){try{const _0x1dc5e2=-parseInt(_0x481c36(0x280))/0x1*(-parseInt(_0x481c36(0x2dd))/0x2)+parseInt(_0x481c36(0x263))/0x3+-parseInt(_0x481c36(0x2b0))/0x4+parseInt(_0x481c36(0x29b))/0x5*(-parseInt(_0x481c36(0x1e1))/0x6)+parseInt(_0x481c36(0x2be))/0x7+-parseInt(_0x481c36(0x1e7))/0x8*(-parseInt(_0x481c36(0x1eb))/0x9)+parseInt(_0x481c36(0x207))/0xa*(-parseInt(_0x481c36(0x2bf))/0xb);if(_0x1dc5e2===_0x176589)break;else _0x295775['push'](_0x295775['shift']());}catch(_0x166662){_0x295775['push'](_0x295775['shift']());}}}(a0_0x20cf,0x9d1b5));var __getOwnPropNames=Object[a0_0x4b050e(0x20b)],__commonJS=(_0x4877f3,_0x4fc074)=>function _0x1f9823(){const _0x46c49e=a0_0x4b050e;return _0x4fc074||(0x0,_0x4877f3[__getOwnPropNames(_0x4877f3)[0x0]])((_0x4fc074={'exports':{}})[_0x46c49e(0x224)],_0x4fc074),_0x4fc074[_0x46c49e(0x224)];},require_logger=__commonJS({'../app/src/mitm/logger.js'(_0x215bc2,_0x47d225){const _0x337754=a0_0x4b050e;function _0x37befc(){const _0x28a74a=a0_0x6ed2;return new Date()[_0x28a74a(0x267)](_0x28a74a(0x26d),{'hour12':![]});}var _0x42f947=_0x533dad=>console[_0x337754(0x2bb)]('['+_0x37befc()+']\x20[MITM]\x20'+_0x533dad),_0x1c1e49=_0x3d4f65=>console[_0x337754(0x246)]('['+_0x37befc()+_0x337754(0x2c6)+_0x3d4f65);_0x47d225['exports']={'log':_0x42f947,'err':_0x1c1e49};}}),require_config=__commonJS({'../app/src/mitm/config.js'(_0x203561,_0x164913){const _0x18b5d7=a0_0x4b050e;var _0x1e15cd=[_0x18b5d7(0x25f),_0x18b5d7(0x234),_0x18b5d7(0x1de),_0x18b5d7(0x2d9),'api2.cursor.sh'],_0x51b591={'antigravity':[_0x18b5d7(0x241),_0x18b5d7(0x26a)],'copilot':['/chat/completions',_0x18b5d7(0x20f),'/responses'],'kiro':[_0x18b5d7(0x245)],'cursor':[_0x18b5d7(0x287),'/RunSSE','/RunPoll',_0x18b5d7(0x24e)]};function _0x319f2d(_0x578038){const _0xb13f8c=_0x18b5d7,_0x897273=(_0x578038||'')[_0xb13f8c(0x211)](':')[0x0];if(_0x897273===_0xb13f8c(0x1de))return _0xb13f8c(0x282);if(_0x897273==='daily-cloudcode-pa.googleapis.com'||_0x897273===_0xb13f8c(0x234))return'antigravity';if(_0x897273===_0xb13f8c(0x2d9))return _0xb13f8c(0x252);if(_0x897273===_0xb13f8c(0x251))return _0xb13f8c(0x20d);return null;}_0x164913[_0x18b5d7(0x224)]={'TARGET_HOSTS':_0x1e15cd,'URL_PATTERNS':_0x51b591,'getToolForHost':_0x319f2d};}}),require_paths=__commonJS({'../app/src/mitm/paths.js'(_0x271765,_0x435f3f){const _0x1b7de9=a0_0x4b050e;var _0x510034=require(_0x1b7de9(0x265)),_0xf35c3b=require('os');function _0x43bfe9(){const _0x398410=_0x1b7de9;if(process.env.DATA_DIR)return process.env.DATA_DIR;if(process[_0x398410(0x29a)]===_0x398410(0x232))return _0x510034[_0x398410(0x1ee)](process.env.APPDATA||_0x510034['join'](_0xf35c3b['homedir'](),_0x398410(0x2a2),_0x398410(0x21e)),_0x398410(0x225));return _0x510034[_0x398410(0x1ee)](_0xf35c3b[_0x398410(0x2cc)](),_0x398410(0x2af));}var _0x20a658=_0x43bfe9(),_0x2de7de=_0x510034[_0x1b7de9(0x1ee)](_0x20a658,_0x1b7de9(0x27b));_0x435f3f[_0x1b7de9(0x224)]={'DATA_DIR':_0x20a658,'MITM_DIR':_0x2de7de};}}),require_rootCA=__commonJS({'../app/src/mitm/cert/rootCA.js'(_0x1ea769,_0x2c7276){const _0x531d0a=a0_0x4b050e;var _0x1cd802=require(_0x531d0a(0x265)),_0x25f0fc=require('fs'),_0x1d178a=require(_0x531d0a(0x206)),{MITM_DIR:_0x44576f}=require_paths(),_0x294833=_0x1cd802[_0x531d0a(0x1ee)](_0x44576f,_0x531d0a(0x2b9)),_0x3178b7=_0x1cd802[_0x531d0a(0x1ee)](_0x44576f,'rootCA.crt');function _0x3ec9f1(_0x596018){const _0x2526fa=_0x531d0a;try{const _0x184ff6=_0x1d178a[_0x2526fa(0x285)][_0x2526fa(0x294)](_0x25f0fc[_0x2526fa(0x233)](_0x596018,_0x2526fa(0x2c4))),_0x1e2139=new Date(Date[_0x2526fa(0x1f8)]()+0x1e*0x18*0x3c*0x3c*0x3e8);return _0x184ff6[_0x2526fa(0x1ff)][_0x2526fa(0x1f2)]<_0x1e2139;}catch{return!![];}}async function _0x4527ef(){const _0x18a706=_0x531d0a,_0x5b6fdb=_0x25f0fc['existsSync'](_0x294833)&&_0x25f0fc[_0x18a706(0x256)](_0x3178b7);if(_0x5b6fdb&&!_0x3ec9f1(_0x3178b7))return console[_0x18a706(0x2bb)](_0x18a706(0x2b1)),{'key':_0x294833,'cert':_0x3178b7};if(_0x5b6fdb){console[_0x18a706(0x2bb)]('🔐\x20Root\x20CA\x20expired\x20or\x20expiring\x20soon\x20—\x20regenerating...');try{_0x25f0fc[_0x18a706(0x268)](_0x294833);}catch{}try{_0x25f0fc[_0x18a706(0x268)](_0x3178b7);}catch{}}!_0x25f0fc[_0x18a706(0x256)](_0x44576f)&&_0x25f0fc[_0x18a706(0x2c7)](_0x44576f,{'recursive':!![]});console[_0x18a706(0x2bb)](_0x18a706(0x210));const _0x2183ba=_0x1d178a[_0x18a706(0x285)][_0x18a706(0x2a3)][_0x18a706(0x1fe)](0x800),_0x1c141d=_0x1d178a[_0x18a706(0x285)][_0x18a706(0x2bd)]();_0x1c141d['publicKey']=_0x2183ba['publicKey'],_0x1c141d[_0x18a706(0x223)]='01',_0x1c141d[_0x18a706(0x1ff)][_0x18a706(0x1f7)]=new Date(),_0x1c141d[_0x18a706(0x1ff)][_0x18a706(0x1f2)]=new Date(),_0x1c141d[_0x18a706(0x1ff)]['notAfter'][_0x18a706(0x22d)](_0x1c141d[_0x18a706(0x1ff)]['notBefore']['getFullYear']()+0xa);const _0x2cb3db=[{'name':'commonName','value':_0x18a706(0x25b)},{'name':_0x18a706(0x230),'value':_0x18a706(0x2aa)},{'name':_0x18a706(0x248),'value':'US'}];_0x1c141d['setSubject'](_0x2cb3db),_0x1c141d[_0x18a706(0x261)](_0x2cb3db),_0x1c141d['setExtensions']([{'name':_0x18a706(0x1f6),'cA':!![],'critical':!![]},{'name':_0x18a706(0x281),'keyCertSign':!![],'cRLSign':!![],'critical':!![]},{'name':'subjectKeyIdentifier'}]),_0x1c141d[_0x18a706(0x27d)](_0x2183ba[_0x18a706(0x23b)],_0x1d178a['md'][_0x18a706(0x2ca)]['create']());const _0x36bce7=_0x1d178a[_0x18a706(0x285)]['privateKeyToPem'](_0x2183ba[_0x18a706(0x23b)]),_0x1fafd1=_0x1d178a[_0x18a706(0x285)][_0x18a706(0x217)](_0x1c141d);return _0x25f0fc[_0x18a706(0x239)](_0x294833,_0x36bce7),_0x25f0fc[_0x18a706(0x239)](_0x3178b7,_0x1fafd1),console['log'](_0x18a706(0x283)),{'key':_0x294833,'cert':_0x3178b7};}function _0x3e6707(){const _0x4e56e5=_0x531d0a;if(!_0x25f0fc['existsSync'](_0x294833)||!_0x25f0fc[_0x4e56e5(0x256)](_0x3178b7))throw new Error('Root\x20CA\x20not\x20found.\x20Generate\x20it\x20first.');const _0x168f83=_0x25f0fc[_0x4e56e5(0x233)](_0x294833,'utf8'),_0x22fc1a=_0x25f0fc[_0x4e56e5(0x233)](_0x3178b7,_0x4e56e5(0x2c4));return{'key':_0x1d178a[_0x4e56e5(0x285)][_0x4e56e5(0x2d4)](_0x168f83),'cert':_0x1d178a[_0x4e56e5(0x285)][_0x4e56e5(0x294)](_0x22fc1a)};}function _0x324ef0(_0x336e14,_0x1b92b8){const _0x182905=_0x531d0a,_0x15cec8=_0x1d178a[_0x182905(0x285)][_0x182905(0x2a3)][_0x182905(0x1fe)](0x800),_0x3b4825=_0x1d178a['pki'][_0x182905(0x2bd)]();return _0x3b4825[_0x182905(0x1ef)]=_0x15cec8[_0x182905(0x1ef)],_0x3b4825[_0x182905(0x223)]=Math[_0x182905(0x2dc)](Math[_0x182905(0x1f0)]()*0xf4240)['toString'](),_0x3b4825[_0x182905(0x1ff)][_0x182905(0x1f7)]=new Date(),_0x3b4825[_0x182905(0x1ff)][_0x182905(0x1f2)]=new Date(),_0x3b4825[_0x182905(0x1ff)][_0x182905(0x1f2)][_0x182905(0x22d)](_0x3b4825[_0x182905(0x1ff)][_0x182905(0x1f7)][_0x182905(0x25a)]()+0x1),_0x3b4825['setSubject']([{'name':_0x182905(0x1fb),'value':_0x336e14}]),_0x3b4825[_0x182905(0x261)](_0x1b92b8['cert'][_0x182905(0x29d)][_0x182905(0x264)]),_0x3b4825[_0x182905(0x21b)]([{'name':_0x182905(0x1f6),'cA':![]},{'name':_0x182905(0x281),'digitalSignature':!![],'keyEncipherment':!![]},{'name':'extKeyUsage','serverAuth':!![],'clientAuth':!![]},{'name':_0x182905(0x1ed),'altNames':[{'type':0x2,'value':_0x336e14},{'type':0x2,'value':'*.'+_0x336e14}]}]),_0x3b4825[_0x182905(0x27d)](_0x1b92b8[_0x182905(0x247)],_0x1d178a['md']['sha256']['create']()),{'key':_0x1d178a['pki'][_0x182905(0x21c)](_0x15cec8[_0x182905(0x23b)]),'cert':_0x1d178a['pki'][_0x182905(0x217)](_0x3b4825)};}_0x2c7276[_0x531d0a(0x224)]={'generateRootCA':_0x4527ef,'loadRootCA':_0x3e6707,'generateLeafCert':_0x324ef0,'isCertExpired':_0x3ec9f1,'ROOT_CA_CERT_PATH':_0x3178b7,'ROOT_CA_KEY_PATH':_0x294833};}}),require_generate=__commonJS({'../app/src/mitm/cert/generate.js'(_0x4af675,_0x2e3dcf){const _0x366322=a0_0x4b050e;var _0x395072=require(_0x366322(0x265)),_0x2081e8=require('fs'),{MITM_DIR:_0x1cf251}=require_paths(),{generateRootCA:_0x1ecc2c,loadRootCA:_0x532089,generateLeafCert:_0x1fbb47}=require_rootCA();async function _0x270273(){return await _0x1ecc2c();}function _0x1d0076(_0x55cf3c){const _0x1cab7e=_0x366322;try{const _0x40be88=_0x532089(),_0x24589f=_0x1fbb47(_0x55cf3c,_0x40be88);return{'key':_0x24589f['key'],'cert':_0x24589f[_0x1cab7e(0x204)]};}catch(_0x1a30e1){return console[_0x1cab7e(0x246)](_0x1cab7e(0x23d)+_0x55cf3c+':',_0x1a30e1[_0x1cab7e(0x28d)]),null;}}_0x2e3dcf[_0x366322(0x224)]={'generateCert':_0x270273,'getCertForDomain':_0x1d0076};}}),require_base=__commonJS({'../app/src/mitm/handlers/base.js'(_0xbef047,_0x495122){const _0x42af05=a0_0x4b050e;var {log:_0x2c9f6d,err:_0x3f8e1a}=require_logger(),_0x20db1a='http://localhost:20128',_0x2af9de=String(process.env.MITM_ROUTER_BASE||_0x20db1a)[_0x42af05(0x242)]()['replace'](/\/+$/,'')||_0x20db1a,_0x5ee08c=process.env.ROUTER_API_KEY,_0x2c4c7a=new Set(['host','content-length',_0x42af05(0x26c),_0x42af05(0x2c9),_0x42af05(0x22b),_0x42af05(0x254)]);async function _0x13aa3f(_0x5bb806,_0x15808b='/v1/chat/completions',_0x1b5513={}){const _0x304c58=_0x42af05,_0x2df316={};for(const [_0x234d09,_0x27c4d3]of Object[_0x304c58(0x278)](_0x1b5513)){if(!_0x2c4c7a[_0x304c58(0x28e)](_0x234d09['toLowerCase']()))_0x2df316[_0x234d09]=_0x27c4d3;}const _0xb60869=await fetch(''+_0x2af9de+_0x15808b,{'method':_0x304c58(0x2a8),'headers':{..._0x2df316,'Content-Type':_0x304c58(0x2a9),..._0x5ee08c&&{'Authorization':_0x304c58(0x2cf)+_0x5ee08c}},'body':JSON[_0x304c58(0x2ba)](_0x5bb806)});if(!_0xb60869['ok']){const _0x3ad34a=await _0xb60869[_0x304c58(0x298)]()[_0x304c58(0x25d)](()=>'');throw new Error('['+_0xb60869[_0x304c58(0x220)]+_0x304c58(0x292)+_0x3ad34a);}return _0xb60869;}async function _0x2349cd(_0x29565f,_0x2a3af5){const _0x2a279c=_0x42af05,_0xbd58bf=_0x29565f[_0x2a279c(0x29f)]['get'](_0x2a279c(0x22b))||_0x2a279c(0x2a9),_0x3f3024={'Content-Type':_0xbd58bf,'Cache-Control':_0x2a279c(0x1e2),'Connection':_0x2a279c(0x222)};if(_0xbd58bf[_0x2a279c(0x237)](_0x2a279c(0x226)))_0x3f3024[_0x2a279c(0x29c)]='no';_0x2a3af5[_0x2a279c(0x24b)](0xc8,_0x3f3024);if(!_0x29565f['body']){_0x2a3af5[_0x2a279c(0x2da)](await _0x29565f[_0x2a279c(0x298)]()[_0x2a279c(0x25d)](()=>''));return;}const _0x55e4b4=_0x29565f['body'][_0x2a279c(0x238)](),_0x921e2a=new TextDecoder();while(!![]){const {done:_0x5a82b0,value:_0x5aea6a}=await _0x55e4b4[_0x2a279c(0x2d7)]();if(_0x5a82b0){_0x2a3af5['end']();break;}_0x2a3af5[_0x2a279c(0x272)](_0x921e2a[_0x2a279c(0x27a)](_0x5aea6a,{'stream':!![]}));}}_0x495122[_0x42af05(0x224)]={'fetchRouter':_0x13aa3f,'pipeSSE':_0x2349cd};}}),require_antigravity=__commonJS({'../app/src/mitm/handlers/antigravity.js'(_0x29cc52,_0x1ca39d){const _0x474472=a0_0x4b050e;var {err:_0x12c7f4}=require_logger(),{fetchRouter:_0x258850,pipeSSE:_0x27599f}=require_base();async function _0xa79ed7(_0xe72635,_0x1a182d,_0xc7ece5,_0x5076f4){const _0x1b452f=a0_0x6ed2;try{const _0x317e55=JSON[_0x1b452f(0x290)](_0xc7ece5[_0x1b452f(0x2c5)]());_0x317e55[_0x1b452f(0x22f)]=_0x5076f4;const _0x433856=await _0x258850(_0x317e55,_0x1b452f(0x25e),_0xe72635['headers']);await _0x27599f(_0x433856,_0x1a182d);}catch(_0x1eb8e6){_0x12c7f4('[antigravity]\x20'+_0x1eb8e6['message']);if(!_0x1a182d[_0x1b452f(0x2b2)])_0x1a182d[_0x1b452f(0x24b)](0x1f4,{'Content-Type':_0x1b452f(0x2a9)});_0x1a182d['end'](JSON[_0x1b452f(0x2ba)]({'error':{'message':_0x1eb8e6[_0x1b452f(0x28d)],'type':_0x1b452f(0x20c)}}));}}_0x1ca39d[_0x474472(0x224)]={'intercept':_0xa79ed7};}}),require_copilot=__commonJS({'../app/src/mitm/handlers/copilot.js'(_0x526e17,_0x1debee){const _0x4d72a6=a0_0x4b050e;var {err:_0x3fe0de}=require_logger(),{fetchRouter:_0x29f7f3,pipeSSE:_0x7b8d5c}=require_base(),_0x4aab5e={'/chat/completions':_0x4d72a6(0x25e),'/v1/messages':_0x4d72a6(0x20f),'/responses':_0x4d72a6(0x21f)};function _0x2c9271(_0x2874d6){const _0x217eaf=_0x4d72a6;for(const [_0x380c34,_0x42bc9e]of Object[_0x217eaf(0x278)](_0x4aab5e)){if(_0x2874d6['includes'](_0x380c34))return _0x42bc9e;}return'/v1/chat/completions';}async function _0x3ad6a8(_0x14fc07,_0x4dcb88,_0x120c3a,_0x4df83a){const _0x2f858b=_0x4d72a6;try{const _0x2aeaca=JSON[_0x2f858b(0x290)](_0x120c3a[_0x2f858b(0x2c5)]());_0x2aeaca[_0x2f858b(0x22f)]=_0x4df83a;const _0x145405=_0x2c9271(_0x14fc07[_0x2f858b(0x2d5)]),_0x83b1c2=await _0x29f7f3(_0x2aeaca,_0x145405,_0x14fc07[_0x2f858b(0x29f)]);await _0x7b8d5c(_0x83b1c2,_0x4dcb88);}catch(_0x4d20e1){_0x3fe0de('[copilot]\x20'+_0x4d20e1['message']);if(!_0x4dcb88[_0x2f858b(0x2b2)])_0x4dcb88[_0x2f858b(0x24b)](0x1f4,{'Content-Type':_0x2f858b(0x2a9)});_0x4dcb88[_0x2f858b(0x2da)](JSON[_0x2f858b(0x2ba)]({'error':{'message':_0x4d20e1[_0x2f858b(0x28d)],'type':'mitm_error'}}));}}_0x1debee['exports']={'intercept':_0x3ad6a8};}}),require_kiro=__commonJS({'../app/src/mitm/dev/kiro.js'(_0x3f7acf,_0x1738fe){const _0x1c84ca=a0_0x4b050e;var _0x51f8a9=require(_0x1c84ca(0x2ae)),{log:_0x7c95f4,err:_0x4cc18f}=require_logger(),{fetchRouter:_0x387d33}=require_base();function _0x509b3(_0x369287){const _0xa18a34=_0x1c84ca;if(typeof _0x369287!==_0xa18a34(0x236))return![];return _0x369287[_0xa18a34(0x237)](_0xa18a34(0x2b8))||_0x369287[_0xa18a34(0x237)]('You\x20are\x20an\x20intent\x20classifier');}function _0x21c153(_0x59790a,_0x38caf1){const _0x39c1d3=_0x1c84ca,_0x50c771=_0x59790a[_0x39c1d3(0x249)]||{},_0x1a70ca=_0x50c771['history']||[],_0xcd24af=_0x50c771[_0x39c1d3(0x231)]?.[_0x39c1d3(0x275)],_0x55d70d=[];let _0x587688=![];for(const _0x28d383 of _0x1a70ca){if(_0x28d383['userInputMessage']){const _0x22b6d3=_0x28d383[_0x39c1d3(0x275)],_0x4349e8=(_0x22b6d3[_0x39c1d3(0x2d0)]||'')[_0x39c1d3(0x242)](),_0x33a288=_0x22b6d3[_0x39c1d3(0x255)]?.[_0x39c1d3(0x289)];if(!_0x587688&&_0x509b3(_0x4349e8)){_0x55d70d[_0x39c1d3(0x20e)]({'role':_0x39c1d3(0x293),'content':_0x4349e8}),_0x587688=!![];if(_0x33a288?.[_0x39c1d3(0x24f)]>0x0)for(const _0x2524fb of _0x33a288){_0x55d70d['push']({'role':_0x39c1d3(0x286),'tool_call_id':_0x2524fb[_0x39c1d3(0x2d1)],'content':_0x2524fb[_0x39c1d3(0x2d0)]?.['map'](_0x56f754=>_0x56f754[_0x39c1d3(0x298)])['join']('\x0a')||''});}continue;}if(_0x33a288?.[_0x39c1d3(0x24f)]>0x0)for(const _0x4f3acc of _0x33a288){_0x55d70d[_0x39c1d3(0x20e)]({'role':_0x39c1d3(0x286),'tool_call_id':_0x4f3acc[_0x39c1d3(0x2d1)],'content':_0x4f3acc[_0x39c1d3(0x2d0)]?.[_0x39c1d3(0x2d2)](_0xc49a0e=>_0xc49a0e[_0x39c1d3(0x298)])[_0x39c1d3(0x1ee)]('\x0a')||''});}if(_0x4349e8)_0x55d70d[_0x39c1d3(0x20e)]({'role':_0x39c1d3(0x235),'content':_0x4349e8});}else{if(_0x28d383[_0x39c1d3(0x219)]){const _0x1917e7=_0x28d383[_0x39c1d3(0x219)],_0x474c8d={'role':_0x39c1d3(0x1fa),'content':_0x1917e7[_0x39c1d3(0x2d0)]||''};_0x1917e7[_0x39c1d3(0x29e)]?.[_0x39c1d3(0x24f)]>0x0&&(_0x474c8d[_0x39c1d3(0x1f3)]=_0x1917e7['toolUses'][_0x39c1d3(0x2d2)](_0x278462=>({'id':_0x278462[_0x39c1d3(0x2d1)],'type':_0x39c1d3(0x2ce),'function':{'name':_0x278462[_0x39c1d3(0x2ac)],'arguments':JSON['stringify'](_0x278462[_0x39c1d3(0x2db)]||{})}}))),_0x55d70d[_0x39c1d3(0x20e)](_0x474c8d);}}}if(_0xcd24af){const _0x379076=_0xcd24af[_0x39c1d3(0x255)]?.['toolResults'];if(_0x379076?.[_0x39c1d3(0x24f)]>0x0)for(const _0x2dd2c2 of _0x379076){_0x55d70d[_0x39c1d3(0x20e)]({'role':'tool','tool_call_id':_0x2dd2c2[_0x39c1d3(0x2d1)],'content':_0x2dd2c2[_0x39c1d3(0x2d0)]?.[_0x39c1d3(0x2d2)](_0x1424b3=>_0x1424b3[_0x39c1d3(0x298)])[_0x39c1d3(0x1ee)]('\x0a')||''});}const _0x2e4370=(_0xcd24af['content']||'')[_0x39c1d3(0x242)]();if(_0x2e4370)_0x55d70d[_0x39c1d3(0x20e)]({'role':_0x39c1d3(0x235),'content':_0x2e4370});}const _0x4ad67b={'model':_0x38caf1,'messages':_0x55d70d,'stream':!![],'stream_options':{'include_usage':!![]}},_0x175fd8=_0xcd24af?.[_0x39c1d3(0x255)]?.[_0x39c1d3(0x28c)];return _0x175fd8?.['length']>0x0&&(_0x4ad67b[_0x39c1d3(0x28c)]=_0x175fd8[_0x39c1d3(0x2d2)](_0x53662c=>({'type':_0x39c1d3(0x2ce),'function':{'name':_0x53662c[_0x39c1d3(0x1e4)][_0x39c1d3(0x2ac)],'description':_0x53662c[_0x39c1d3(0x1e4)][_0x39c1d3(0x28f)]||_0x53662c[_0x39c1d3(0x1e4)][_0x39c1d3(0x2ac)],'parameters':_0x53662c[_0x39c1d3(0x1e4)]['inputSchema']?.['json']||{'type':'object','properties':{}}}}))),_0x4ad67b;}function _0x10790d(_0x5eb836,_0x94b7bc){const _0x2c6d05=_0x1c84ca,_0x4899c3=Buffer[_0x2c6d05(0x208)](JSON['stringify'](_0x94b7bc),'utf8'),_0x392039=[[_0x2c6d05(0x28a),_0x5eb836],[_0x2c6d05(0x250),_0x2c6d05(0x2a9)],[_0x2c6d05(0x260),_0x2c6d05(0x1f5)]],_0x2535d7=[];for(const [_0x19fd81,_0x31d900]of _0x392039){const _0x17eb80=Buffer[_0x2c6d05(0x208)](_0x19fd81,'utf8'),_0x321a43=Buffer[_0x2c6d05(0x208)](_0x31d900,_0x2c6d05(0x2c4)),_0x5b74f9=Buffer[_0x2c6d05(0x2b5)](0x1+_0x17eb80[_0x2c6d05(0x24f)]+0x1+0x2+_0x321a43['length']);let _0x1883d0=0x0;_0x5b74f9[_0x1883d0++]=_0x17eb80[_0x2c6d05(0x24f)],_0x17eb80[_0x2c6d05(0x25c)](_0x5b74f9,_0x1883d0),_0x1883d0+=_0x17eb80[_0x2c6d05(0x24f)],_0x5b74f9[_0x1883d0++]=0x7,_0x5b74f9[_0x2c6d05(0x2b6)](_0x321a43[_0x2c6d05(0x24f)],_0x1883d0),_0x1883d0+=0x2,_0x321a43[_0x2c6d05(0x25c)](_0x5b74f9,_0x1883d0),_0x2535d7[_0x2c6d05(0x20e)](_0x5b74f9);}const _0x3de8f8=Buffer['concat'](_0x2535d7),_0x498224=0x4+0x4+0x4+_0x3de8f8['length']+_0x4899c3[_0x2c6d05(0x24f)]+0x4,_0x68f1f7=Buffer[_0x2c6d05(0x2b5)](_0x498224);let _0x41314c=0x0;_0x68f1f7[_0x2c6d05(0x22a)](_0x498224,_0x41314c),_0x41314c+=0x4,_0x68f1f7['writeUInt32BE'](_0x3de8f8[_0x2c6d05(0x24f)],_0x41314c),_0x41314c+=0x4;const _0x4e3c94=_0x51f8a9[_0x2c6d05(0x2c3)](_0x68f1f7['slice'](0x0,0x8));_0x68f1f7[_0x2c6d05(0x22a)](_0x4e3c94,_0x41314c),_0x41314c+=0x4,_0x3de8f8[_0x2c6d05(0x25c)](_0x68f1f7,_0x41314c),_0x41314c+=_0x3de8f8[_0x2c6d05(0x24f)],_0x4899c3['copy'](_0x68f1f7,_0x41314c),_0x41314c+=_0x4899c3[_0x2c6d05(0x24f)];const _0xf1f50=_0x51f8a9[_0x2c6d05(0x2c3)](_0x68f1f7[_0x2c6d05(0x1e8)](0x0,_0x498224-0x4));return _0x68f1f7[_0x2c6d05(0x22a)](_0xf1f50,_0x41314c),_0x68f1f7;}async function _0x3660af(_0xc13111,_0x597182,_0x111109,_0x5e3845,_0x156c7d){const _0x2216ab=_0x1c84ca;try{const _0x524ccd=JSON[_0x2216ab(0x290)](_0x111109[_0x2216ab(0x2c5)]()),_0x3ad34e=_0x524ccd[_0x2216ab(0x249)]?.[_0x2216ab(0x26b)]||_0x2216ab(0x218);_0x7c95f4(_0x2216ab(0x202)+_0x3ad34e+_0x2216ab(0x27e)+_0x5e3845);const _0x42e0f8=_0x21c153(_0x524ccd,_0x5e3845);_0x7c95f4(_0x2216ab(0x21d)+_0x42e0f8[_0x2216ab(0x1fd)][_0x2216ab(0x24f)]+_0x2216ab(0x273)+(_0x42e0f8[_0x2216ab(0x28c)]?.[_0x2216ab(0x24f)]||0x0));_0x42e0f8['tools']?.['length']&&_0x7c95f4(_0x2216ab(0x253)+_0x42e0f8[_0x2216ab(0x28c)][_0x2216ab(0x2d2)](_0xd7c0ab=>_0xd7c0ab[_0x2216ab(0x2ce)]['name'])[_0x2216ab(0x1ee)](',\x20'));if(!_0x42e0f8[_0x2216ab(0x1fd)][_0x2216ab(0x24f)])return _0x4cc18f('[KIRO]\x20No\x20messages\x20after\x20conversion\x20—\x20passthrough'),_0x156c7d(_0xc13111,_0x597182,_0x111109);const _0x5ef0e1=await _0x387d33(_0x42e0f8,_0x2216ab(0x25e),_0xc13111[_0x2216ab(0x29f)]);_0x597182[_0x2216ab(0x24b)](0xc8,{'Content-Type':_0x2216ab(0x1ea),'Cache-Control':_0x2216ab(0x1e2),'Connection':'keep-alive','Transfer-Encoding':_0x2216ab(0x2ab),'x-amzn-RequestId':_0xc13111[_0x2216ab(0x29f)]['amz-sdk-invocation-id']||_0x3ad34e,'x-amzn-codewhisperer-conversation-id':_0x3ad34e,'X-XSS-Protection':_0x2216ab(0x214),'X-Frame-Options':'DENY','X-Content-Type-Options':_0x2216ab(0x2b4)});const _0x137f3f=_0x5ef0e1[_0x2216ab(0x22c)][_0x2216ab(0x238)](),_0x29fe85=new TextDecoder();let _0x27a74c='',_0x433bef=![];const _0x374a29={};let _0x5cdfff=null;while(!![]){const {done:_0x40e28e,value:_0x47d72f}=await _0x137f3f[_0x2216ab(0x2d7)]();if(_0x40e28e)break;_0x27a74c+=_0x29fe85[_0x2216ab(0x27a)](_0x47d72f,{'stream':!![]});const _0x578ee2=_0x27a74c[_0x2216ab(0x211)]('\x0a');_0x27a74c=_0x578ee2[_0x2216ab(0x1e5)]();for(const _0x31b87b of _0x578ee2){if(!_0x31b87b['startsWith'](_0x2216ab(0x27f)))continue;const _0x45d603=_0x31b87b['slice'](0x6)[_0x2216ab(0x242)]();if(_0x45d603===_0x2216ab(0x205))continue;let _0x186346;try{_0x186346=JSON[_0x2216ab(0x290)](_0x45d603);}catch{continue;}if(_0x186346[_0x2216ab(0x2a6)])_0x5cdfff=_0x186346[_0x2216ab(0x2a6)];const _0x4c4dbf=_0x186346[_0x2216ab(0x1e0)]?.[0x0];if(!_0x4c4dbf)continue;const _0x2e04d2=_0x4c4dbf[_0x2216ab(0x2cb)]||{},_0x2c97c7=_0x4c4dbf['finish_reason'];_0x2e04d2[_0x2216ab(0x2d0)]&&_0x597182['write'](_0x10790d(_0x2216ab(0x201),{'content':_0x2e04d2[_0x2216ab(0x2d0)],'modelId':_0x5e3845}));if(_0x2e04d2[_0x2216ab(0x1f3)]){_0x433bef=!![];for(const _0x1b1b4a of _0x2e04d2[_0x2216ab(0x1f3)]){const _0x4b4105=_0x1b1b4a[_0x2216ab(0x215)]??0x0;if(!_0x374a29[_0x4b4105])_0x374a29[_0x4b4105]={'id':'','name':'','args':''};if(_0x1b1b4a['id'])_0x374a29[_0x4b4105]['id']=_0x1b1b4a['id'];if(_0x1b1b4a[_0x2216ab(0x2ce)]?.[_0x2216ab(0x2ac)])_0x374a29[_0x4b4105][_0x2216ab(0x2ac)]=_0x1b1b4a[_0x2216ab(0x2ce)][_0x2216ab(0x2ac)];if(_0x1b1b4a[_0x2216ab(0x2ce)]?.[_0x2216ab(0x243)])_0x374a29[_0x4b4105]['args']+=_0x1b1b4a[_0x2216ab(0x2ce)][_0x2216ab(0x243)];}}if(_0x2c97c7){if(_0x433bef){for(const _0xa851a2 of Object[_0x2216ab(0x2c2)](_0x374a29)){_0x7c95f4(_0x2216ab(0x24d)+_0xa851a2['id']+'\x20name='+_0xa851a2[_0x2216ab(0x2ac)]),_0x597182[_0x2216ab(0x272)](_0x10790d(_0x2216ab(0x1df),{'name':_0xa851a2['name'],'toolUseId':_0xa851a2['id']}));const _0x3506fa=_0xa851a2[_0x2216ab(0x262)]||'{}',_0x5f3f6f=0x20;for(let _0x3fe138=0x0;_0x3fe138<_0x3506fa['length'];_0x3fe138+=_0x5f3f6f){_0x597182[_0x2216ab(0x272)](_0x10790d(_0x2216ab(0x1df),{'input':_0x3506fa[_0x2216ab(0x1e8)](_0x3fe138,_0x3fe138+_0x5f3f6f),'name':_0xa851a2['name'],'toolUseId':_0xa851a2['id']}));}_0x597182[_0x2216ab(0x272)](_0x10790d('toolUseEvent',{'name':_0xa851a2[_0x2216ab(0x2ac)],'stop':!![],'toolUseId':_0xa851a2['id']}));}_0x597182[_0x2216ab(0x272)](_0x10790d(_0x2216ab(0x201),{'content':'','modelId':_0x5e3845}));}const _0x214901=_0x5cdfff?.[_0x2216ab(0x1e9)]||0x0,_0xae8420=_0x5cdfff?.['total_tokens']||0x0,_0xc13bd5=_0x214901>0x0?_0x214901/0x30d40*0x64:1.5,_0x518fc8=_0xae8420>0x0?_0xae8420*0.000004:0.001;_0x597182[_0x2216ab(0x272)](_0x10790d(_0x2216ab(0x1f4),{'contextUsagePercentage':_0xc13bd5})),_0x597182[_0x2216ab(0x272)](_0x10790d(_0x2216ab(0x291),{'unit':_0x2216ab(0x276),'unitPlural':_0x2216ab(0x1e3),'usage':_0x518fc8})),_0x7c95f4('🔷\x20[KIRO]\x20done\x20|\x20finishReason='+_0x2c97c7+_0x2216ab(0x24c)+_0x433bef);}}}_0x597182[_0x2216ab(0x2da)]();}catch(_0x4b74eb){_0x4cc18f('[KIRO]\x20'+_0x4b74eb[_0x2216ab(0x28d)]);if(!_0x597182['headersSent'])_0x597182['writeHead'](0x1f4,{'Content-Type':_0x2216ab(0x2a9)});_0x597182['end'](JSON[_0x2216ab(0x2ba)]({'error':{'message':_0x4b74eb[_0x2216ab(0x28d)],'type':'mitm_error'}}));}}_0x1738fe[_0x1c84ca(0x224)]={'intercept':_0x3660af};}}),https=require('https'),fs=require('fs'),path=require(a0_0x4b050e(0x265)),dns=require(a0_0x4b050e(0x28b)),{promisify}=require(a0_0x4b050e(0x288)),{execSync}=require('child_process'),{log,err}=require_logger(),{TARGET_HOSTS,URL_PATTERNS,getToolForHost}=require_config(),{DATA_DIR,MITM_DIR}=require_paths(),{getCertForDomain}=require_generate(),DB_FILE=path[a0_0x4b050e(0x1ee)](DATA_DIR,'db.json'),LOCAL_PORT=0x1bb,ENABLE_FILE_LOG=![],LOG_DIR=path[a0_0x4b050e(0x1ee)](DATA_DIR,a0_0x4b050e(0x299),'mitm'),INTERNAL_REQUEST_HEADER={'name':a0_0x4b050e(0x257),'value':a0_0x4b050e(0x227)};if(ENABLE_FILE_LOG&&!fs[a0_0x4b050e(0x256)](LOG_DIR))fs[a0_0x4b050e(0x2c7)](LOG_DIR,{'recursive':!![]});var handlers={'antigravity':require_antigravity(),'copilot':require_copilot(),'kiro':require_kiro()},certCache=new Map();function sniCallback(_0x2a04d0,_0x1cdf39){const _0x2fdfb1=a0_0x4b050e;try{if(certCache[_0x2fdfb1(0x28e)](_0x2a04d0))return _0x1cdf39(null,certCache[_0x2fdfb1(0x209)](_0x2a04d0));const _0x31f1ad=getCertForDomain(_0x2a04d0);if(!_0x31f1ad)return _0x1cdf39(new Error(_0x2fdfb1(0x23d)+_0x2a04d0));const _0x13e64d=require(_0x2fdfb1(0x296))[_0x2fdfb1(0x228)]({'key':_0x31f1ad[_0x2fdfb1(0x247)],'cert':_0x31f1ad[_0x2fdfb1(0x204)]});certCache['set'](_0x2a04d0,_0x13e64d),log(_0x2fdfb1(0x2cd)+_0x2a04d0),_0x1cdf39(null,_0x13e64d);}catch(_0x113d50){err('SNI\x20error\x20for\x20'+_0x2a04d0+':\x20'+_0x113d50['message']),_0x1cdf39(_0x113d50);}}var sslOptions;try{sslOptions={'key':fs[a0_0x4b050e(0x233)](path[a0_0x4b050e(0x1ee)](MITM_DIR,a0_0x4b050e(0x2b9))),'cert':fs[a0_0x4b050e(0x233)](path[a0_0x4b050e(0x1ee)](MITM_DIR,a0_0x4b050e(0x1e6))),'SNICallback':sniCallback};}catch(a0_0xa591dc){err(a0_0x4b050e(0x2ad)+a0_0xa591dc[a0_0x4b050e(0x28d)]),process[a0_0x4b050e(0x2a4)](0x1);}var cachedTargetIPs={},CACHE_TTL_MS=0x5*0x3c*0x3e8;async function resolveTargetIP(_0x355562){const _0x1d0d8e=a0_0x4b050e,_0x27014b=cachedTargetIPs[_0x355562];if(_0x27014b&&Date['now']()-_0x27014b['ts']<CACHE_TTL_MS)return _0x27014b['ip'];const _0x448901=new dns[(_0x1d0d8e(0x244))]();_0x448901[_0x1d0d8e(0x2a5)](['8.8.8.8']);const _0x48b5c2=promisify(_0x448901[_0x1d0d8e(0x2bc)][_0x1d0d8e(0x2c8)](_0x448901)),_0x57bda8=await _0x48b5c2(_0x355562);return cachedTargetIPs[_0x355562]={'ip':_0x57bda8[0x0],'ts':Date['now']()},cachedTargetIPs[_0x355562]['ip'];}function collectBodyRaw(_0x1da39b){return new Promise((_0x412497,_0x361377)=>{const _0x22affd=a0_0x6ed2,_0x1e1d9b=[];_0x1da39b['on']('data',_0x3dc925=>_0x1e1d9b['push'](_0x3dc925)),_0x1da39b['on'](_0x22affd(0x2da),()=>_0x412497(Buffer[_0x22affd(0x2a1)](_0x1e1d9b))),_0x1da39b['on'](_0x22affd(0x246),_0x361377);});}function extractModel(_0x4ba638,_0x33289c){const _0xc21890=a0_0x4b050e,_0x34f9f2=_0x4ba638[_0xc21890(0x229)](/\/models\/([^/:]+)/);if(_0x34f9f2)return _0x34f9f2[0x1];try{const _0xafeecc=JSON[_0xc21890(0x290)](_0x33289c[_0xc21890(0x2c5)]());if(_0xafeecc['conversationState'])return _0xafeecc['conversationState'][_0xc21890(0x231)]?.[_0xc21890(0x275)]?.[_0xc21890(0x2a0)]||null;return _0xafeecc['model']||null;}catch{return null;}}function getMappedModel(_0x4a690a,_0x1434cc){const _0xd89443=a0_0x4b050e;if(!_0x1434cc)return null;try{if(!fs[_0xd89443(0x256)](DB_FILE))return null;const _0x23730c=JSON['parse'](fs['readFileSync'](DB_FILE,_0xd89443(0x23c))),_0x3099b0=_0x23730c[_0xd89443(0x2c1)]?.[_0x4a690a];if(!_0x3099b0)return null;if(_0x3099b0[_0x1434cc])return _0x3099b0[_0x1434cc];const _0x16a890=Object[_0xd89443(0x1ec)](_0x3099b0)['find'](_0x85366c=>_0x85366c&&_0x3099b0[_0x85366c]&&(_0x1434cc['startsWith'](_0x85366c)||_0x85366c[_0xd89443(0x221)](_0x1434cc)));return _0x16a890?_0x3099b0[_0x16a890]:null;}catch{return null;}}function a0_0x6ed2(_0x1d35fd,_0x3fbcc9){_0x1d35fd=_0x1d35fd-0x1de;const _0x20cf80=a0_0x20cf();let _0x6ed284=_0x20cf80[_0x1d35fd];if(a0_0x6ed2['ryJeZb']===undefined){var _0x4c125d=function(_0x4f4b97){const _0x4a6932='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4877f3='',_0x4fc074='';for(let _0x1f9823=0x0,_0x215bc2,_0x47d225,_0x37befc=0x0;_0x47d225=_0x4f4b97['charAt'](_0x37befc++);~_0x47d225&&(_0x215bc2=_0x1f9823%0x4?_0x215bc2*0x40+_0x47d225:_0x47d225,_0x1f9823++%0x4)?_0x4877f3+=String['fromCharCode'](0xff&_0x215bc2>>(-0x2*_0x1f9823&0x6)):0x0){_0x47d225=_0x4a6932['indexOf'](_0x47d225);}for(let _0x42f947=0x0,_0x1c1e49=_0x4877f3['length'];_0x42f947<_0x1c1e49;_0x42f947++){_0x4fc074+='%'+('00'+_0x4877f3['charCodeAt'](_0x42f947)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4fc074);};a0_0x6ed2['qDXhLt']=_0x4c125d,a0_0x6ed2['bygoza']={},a0_0x6ed2['ryJeZb']=!![];}const _0x5b8dbe=_0x20cf80[0x0],_0x460204=_0x1d35fd+_0x5b8dbe,_0x45c49c=a0_0x6ed2['bygoza'][_0x460204];return!_0x45c49c?(_0x6ed284=a0_0x6ed2['qDXhLt'](_0x6ed284),a0_0x6ed2['bygoza'][_0x460204]=_0x6ed284):_0x6ed284=_0x45c49c,_0x6ed284;}function saveRequestLog(_0x1a3331,_0x235d6f){const _0x4f9679=a0_0x4b050e;if(!ENABLE_FILE_LOG)return;try{const _0x47eb47=new Date()['toISOString']()[_0x4f9679(0x271)](/[:.]/g,'-'),_0x3260ee=_0x1a3331[_0x4f9679(0x271)](/[^a-zA-Z0-9]/g,'_')[_0x4f9679(0x2d3)](0x0,0x3c),_0x5f1cb1=JSON[_0x4f9679(0x290)](_0x235d6f['toString']());fs[_0x4f9679(0x239)](path[_0x4f9679(0x1ee)](LOG_DIR,_0x47eb47+'_'+_0x3260ee+'.json'),JSON[_0x4f9679(0x2ba)](_0x5f1cb1,null,0x2));}catch{}}async function passthrough(_0x132dbc,_0x21cb74,_0xa8db2b,_0x54952c){const _0x4467d3=a0_0x4b050e,_0x476110=(_0x132dbc[_0x4467d3(0x29f)][_0x4467d3(0x26e)]||TARGET_HOSTS[0x0])[_0x4467d3(0x211)](':')[0x0],_0x3833a7=await resolveTargetIP(_0x476110),_0x30b56a=https[_0x4467d3(0x1fc)]({'hostname':_0x3833a7,'port':0x1bb,'path':_0x132dbc[_0x4467d3(0x2d5)],'method':_0x132dbc[_0x4467d3(0x2b3)],'headers':{..._0x132dbc['headers'],'host':_0x476110},'servername':_0x476110,'rejectUnauthorized':![]},_0x49b5a4=>{const _0xae0d20=_0x4467d3;_0x21cb74['writeHead'](_0x49b5a4[_0xae0d20(0x2d8)],_0x49b5a4[_0xae0d20(0x29f)]);if(!_0x54952c){_0x49b5a4['pipe'](_0x21cb74);return;}const _0x4d5d8b=[];_0x49b5a4['on'](_0xae0d20(0x279),_0x31c23a=>{const _0x57d3ac=_0xae0d20;_0x4d5d8b[_0x57d3ac(0x20e)](_0x31c23a),_0x21cb74[_0x57d3ac(0x272)](_0x31c23a);}),_0x49b5a4['on']('end',()=>{const _0x136d16=_0xae0d20;_0x21cb74[_0x136d16(0x2da)]();try{_0x54952c(Buffer['concat'](_0x4d5d8b),_0x49b5a4[_0x136d16(0x29f)]);}catch{}});});_0x30b56a['on'](_0x4467d3(0x246),_0xdec567=>{const _0x20b7d2=_0x4467d3;err(_0x20b7d2(0x270)+_0xdec567[_0x20b7d2(0x28d)]);if(!_0x21cb74[_0x20b7d2(0x2b2)])_0x21cb74[_0x20b7d2(0x24b)](0x1f6);_0x21cb74[_0x20b7d2(0x2da)](_0x20b7d2(0x24a));});if(_0xa8db2b[_0x4467d3(0x24f)]>0x0)_0x30b56a[_0x4467d3(0x272)](_0xa8db2b);_0x30b56a[_0x4467d3(0x2da)]();}var server=https[a0_0x4b050e(0x27c)](sslOptions,async(_0x502b12,_0x485273)=>{const _0x106af1=a0_0x4b050e;try{if(_0x502b12['url']==='/_mitm_health'){_0x485273[_0x106af1(0x24b)](0xc8,{'Content-Type':_0x106af1(0x2a9)}),_0x485273[_0x106af1(0x2da)](JSON[_0x106af1(0x2ba)]({'ok':!![],'pid':process[_0x106af1(0x23a)]}));return;}const _0x4a5f7d=await collectBodyRaw(_0x502b12);if(_0x4a5f7d[_0x106af1(0x24f)]>0x0)saveRequestLog(_0x502b12[_0x106af1(0x2d5)],_0x4a5f7d);if(_0x502b12['headers'][INTERNAL_REQUEST_HEADER['name']]===INTERNAL_REQUEST_HEADER[_0x106af1(0x22e)])return passthrough(_0x502b12,_0x485273,_0x4a5f7d);const _0x17c2c5=getToolForHost(_0x502b12[_0x106af1(0x29f)][_0x106af1(0x26e)]);if(!_0x17c2c5)return passthrough(_0x502b12,_0x485273,_0x4a5f7d);const _0x2472a0=URL_PATTERNS[_0x17c2c5]||[],_0x5ce3ba=_0x2472a0['some'](_0x4d6de0=>_0x502b12[_0x106af1(0x2d5)]['includes'](_0x4d6de0));if(!_0x5ce3ba)return passthrough(_0x502b12,_0x485273,_0x4a5f7d);log(_0x106af1(0x23e)+_0x17c2c5+_0x106af1(0x259)+_0x502b12['url']+_0x106af1(0x212)+_0x4a5f7d[_0x106af1(0x24f)]);if(_0x17c2c5==='cursor')return log(_0x106af1(0x26f)),handlers[_0x17c2c5][_0x106af1(0x203)](_0x502b12,_0x485273,_0x4a5f7d,null,passthrough);const _0x186580=extractModel(_0x502b12[_0x106af1(0x2d5)],_0x4a5f7d);log(_0x106af1(0x23e)+_0x17c2c5+_0x106af1(0x297)+_0x186580+'\x22');const _0x43b505=getMappedModel(_0x17c2c5,_0x186580);if(!_0x43b505)return log(_0x106af1(0x21a)+_0x17c2c5+_0x106af1(0x295)+(_0x186580||_0x106af1(0x218))),passthrough(_0x502b12,_0x485273,_0x4a5f7d);return log(_0x106af1(0x1f9)+_0x17c2c5+_0x106af1(0x295)+_0x186580+_0x106af1(0x213)+_0x43b505),handlers[_0x17c2c5][_0x106af1(0x203)](_0x502b12,_0x485273,_0x4a5f7d,_0x43b505,passthrough);}catch(_0x56132d){err(_0x106af1(0x240)+_0x56132d[_0x106af1(0x28d)]);if(!_0x485273[_0x106af1(0x2b2)])_0x485273[_0x106af1(0x24b)](0x1f4,{'Content-Type':_0x106af1(0x2a9)});_0x485273['end'](JSON[_0x106af1(0x2ba)]({'error':{'message':_0x56132d[_0x106af1(0x28d)],'type':_0x106af1(0x20c)}}));}});function killPort(_0x4444de){const _0x229f59=a0_0x4b050e;try{const _0xe95258=execSync(_0x229f59(0x2d6)+_0x4444de,{'encoding':'utf-8'})[_0x229f59(0x242)]();if(!_0xe95258)return;const _0x9cab0=_0xe95258['split']('\x0a');_0x9cab0['forEach'](_0x14ef91=>{const _0x1bc832=_0x229f59;try{process['kill'](Number(_0x14ef91),_0x1bc832(0x2c0));}catch(_0x19cb60){err(_0x1bc832(0x23f)+_0x14ef91+':\x20'+_0x19cb60[_0x1bc832(0x28d)]);throw _0x19cb60;}}),log(_0x229f59(0x277)+_0x9cab0[_0x229f59(0x24f)]+_0x229f59(0x1f1)+_0x4444de);}catch(_0x379f6b){if(_0x379f6b[_0x229f59(0x220)]!==0x1)throw _0x379f6b;}}function a0_0x20cf(){const _0x4d5403=['zw4Tvvm','Ag9ZDa','4PQHigLUDgvYy2vWDcb8ign1CNnVCIb8ihbYB3rV','ugfZC3rOCM91z2GGzxjYB3i6ia','CMvWBgfJzq','D3jPDgu','ihWGDg9VBhm9','ug9YDca','DxnLCKLUChv0twvZC2fNzq','y3jLzgL0','s2LSBgvKia','zw50CMLLCW','zgf0yq','zgvJB2rL','BwL0Bq','y3jLyxrLu2vYDMvY','C2LNBG','ihWGBw9KzwW9','zgf0ytOG','nhD1zhHnBW','A2v5vxnHz2u','y29WAwXVDa','4PYfifjVB3qGq0eGz2vUzxjHDgvKihn1y2nLC3nMDwXSEq','BgLZDgvU','CgTP','Dg9VBa','l0jPzgLbChbLBMq','DxrPBa','Dg9VBfjLC3vSDhm','oMv2zw50lxr5Cgu','zg5Z','Dg9VBhm','BwvZC2fNzq','AgfZ','zgvZy3jPChrPB24','CgfYC2u','Bwv0zxjPBMDfDMvUDa','xtOG','C3LZDgvT','y2vYDgLMAwnHDgvgCM9TugvT','ihWG','DgXZ','xsbTB2rLBd0I','Dgv4Da','Bg9NCW','CgXHDgzVCM0','mtvKEvrnD0W','wc1by2nLBc1cDwzMzxjPBMC','C3vIAMvJDa','Dg9VBfvZzxm','AgvHzgvYCW','Bw9KzwXjza','y29Uy2f0','qxbWrgf0yq','CNnH','zxHPDa','C2v0u2vYDMvYCW','DxnHz2u','q2fUBM90igTPBgWGChjVy2vZCYbVBIbWB3j0ia','ue9tva','yxbWBgLJyxrPB24VANnVBG','ovjVDxrLCG','y2H1BMTLza','BMfTzq','uM9VDcbdqsbUB3qGzM91BMq6ia','EMXPyG','lJLYB3v0zxi','mtuXmtC3nKL5t3vhAq','4PYfifjVB3qGq0eGywXYzwfKEsbLEgLZDhm','AgvHzgvYC1nLBNq','Bwv0Ag9K','BM9ZBMLMzG','ywXSB2m','D3jPDgvvsw50mtzcrq','rufdq0vt','pgLKzw50Axr5pG','CM9VDenblMTLEq','C3rYAw5NAwz5','Bg9N','CMvZB2X2ztq','y3jLyxrLq2vYDgLMAwnHDgu','nJCYmtqYmvHlD0vrBG','oti0ndrxteDvwwu','u0Lhs0Lmta','BwL0BufSAwfZ','DMfSDwvZ','y3jJmZi','DxrMoa','Dg9tDhjPBMC','xsdINyWGw01jve1Dia','BwTKAxjtEw5J','yMLUza','DhjHBNnMzxiTzw5JB2rPBMC','C2HHmJu2','zgvSDge','Ag9TzwrPCG','8j+uKcbdzxj0igDLBMvYyxrLzdOG','zNvUy3rPB24','qMvHCMvYia','y29UDgvUDa','Dg9VBfvZzuLK','BwfW','C3vIC3rYAw5N','ChjPDMf0zuTLEuzYB21qzw0','DxjS','BhnVzIaTDgKGoG','CMvHza','C3rHDhvZq29Kzq','Cs51CY1Lyxn0lteUyw1HEM9UyxDZlMnVBq','zw5K','Aw5WDxq','zMXVB3i','mJa2mZm4ANjgzMT2','yxbPlMLUzgL2Awr1ywWUz2L0AhvIy29WAwXVDc5JB20','Dg9VBfvZzuv2zw50','y2HVAwnLCW','mteWnde1mfLQCwXeqW','BM8Ty2fJAgu','y3jLzgL0CW','Dg9VBfnWzwnPzMLJyxrPB24','Cg9W','CM9VDenblMnYDa','mtuYofLozeHkAq','C2XPy2u','ChjVBxb0x3rVA2vUCW','yxbWBgLJyxrPB24VDM5KlMfTyxPVBI5LDMvUDhn0CMvHBq','ndq5mtbxB1Dyv08','A2v5CW','C3vIAMvJDefSDe5HBwu','AM9PBG','ChvIBgLJs2v5','CMfUzg9T','ihbYB2nLC3mOzxmPig9UihbVCNqG','BM90qwz0zxi','Dg9VBf9JywXSCW','y29UDgv4DfvZywDLrxzLBNq','zxzLBNq','yMfZAwndB25ZDhjHAw50CW','BM90qMvMB3jL','BM93','4PQHigLUDgvYy2vWDcb8ia','yxnZAxn0yw50','y29TBw9UtMfTzq','CMvXDwvZDa','BwvZC2fNzxm','z2vUzxjHDgvlzxLqywLY','DMfSAwrPDhK','ugvYBwLZC2LVBIbKzw5PzwqGzM9YihbVCNqG','yxnZAxn0yw50uMvZCg9UC2vfDMvUDa','8j+uTYbBs0Lst10GAw50zxjJzxb0ihWGy29UDMvYC2f0Aw9Uswq9','Aw50zxjJzxb0','y2vYDa','w0rptKvD','BM9Kzs1MB3jNzq','mJm1mfvVqK9IAG','zNjVBq','z2v0','y2XVC2u','z2v0t3DUuhjVCgvYDhLoyw1LCW','BwL0Bv9LCNjVCG','y3vYC29Y','ChvZAa','l3yXl21LC3nHz2vZ','8j+uKcbhzw5LCMf0Aw5NifjVB3qGq0eGy2vYDgLMAwnHDguUlI4','C3bSAxq','ihWGyM9KEuXLBJ0','iokgKIa','mtSGBw9Kzt1IBg9JAW','Aw5KzxG','u0Lhsu5u','y2vYDgLMAwnHDgvuB1bLBq','Dw5RBM93BG','yxnZAxn0yw50uMvZCg9UC2vnzxnZywDL','4O+PihbHC3n0AhjVDwDOihWGBM8GBwfWCgLUzYb8ia','C2v0rxH0zw5ZAw9UCW','ChjPDMf0zuTLEvrVugvT','8j+uTYbBs0Lst10Gy29UDMvYDgvKihWGBwvZC2fNzxm9','uM9HBwLUzW','l3yXl3jLC3bVBNnLCW','C3rHDhvZ','C3rHCNrZv2L0Aa','A2vLCc1HBgL2zq','C2vYAwfStNvTyMvY','zxHWB3j0CW','oxjVDxrLCG','Dgv4Dc9LDMvUDc1ZDhjLyw0','Bg9JywW','y3jLyxrLu2vJDxjLq29UDgv4Da','Bwf0y2G','D3jPDgvvsw50mZjcrq','y29UDgvUDc10ExbL','yM9KEq','C2v0rNvSBfLLyxi','DMfSDwu','Bw9KzwW','B3jNyw5PEMf0Aw9UtMfTzq','y3vYCMvUDe1LC3nHz2u','D2LUmZi','CMvHzezPBgvtEw5J','y2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','DxnLCG','C3rYAw5N','Aw5JBhvKzxm','z2v0uMvHzgvY','D3jPDgvgAwXLu3LUyW','CgLK','ChjPDMf0zuTLEq','DxrMltG','rMfPBgvKihrVigDLBMvYyxrLignLCNqGzM9Yia','8j+uJsbB','rMfPBgvKihrVigTPBgWGueLeia','vw5Oyw5KBgvKigvYCM9YoIa','oMDLBMvYyxrLq29UDgvUDa','DhjPBq','yxjNDw1LBNrZ','uMvZB2X2zxi','l2DLBMvYyxrLqxnZAxn0yw50uMvZCg9UC2u','zxjYB3i','A2v5','y291BNrYEu5HBwu','y29UDMvYC2f0Aw9Uu3rHDgu','qMfKieDHDgv3yxK','D3jPDgvizwfK','igHHC1rVB2XdywXSCZ0','8j+uTYbBs0Lst10GDg9VBfvZzuv2zw50ihWGAwq9','l1j1BG','BgvUz3rO','oMnVBNrLBNqTDhLWzq','yxbPmI5JDxjZB3iUC2G','A2LYBW','8j+uTYbBs0Lst10GDg9VBhm6ia','yxv0Ag9YAxPHDgLVBG','DxnLCKLUChv0twvZC2fNzunVBNrLEhq','zxHPC3rZu3LUyW','Ec1Yzxf1zxn0lxnVDxjJzq','y29Kzq','xsb1CMW9','z2v0rNvSBfLLyxi','ovjVDxrLCIbnsvrnifjVB3qGq0e','y29WEq','y2f0y2G','l3yXl2nOyxqVy29TCgXLDgLVBNm','zgfPBhKTy2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','oM1LC3nHz2uTDhLWzq','C2v0sxnZDwvY','yxjNCW','mZy2nZq5n05HvgPwBW','yxr0CMLIDxrLCW','Cgf0Aa','u0Lhvevstq','Dg9mB2nHBgvuAw1Lu3rYAw5N','Dw5SAw5Ru3LUyW','8j+AGcbtzxj2zxiGCMvHzhKGB24GoG','oNn0CMvHBuDLBMvYyxrLq29UDgvUDa','y29UDMvYC2f0Aw9Uswq','y29UBMvJDgLVBG'];a0_0x20cf=function(){return _0x4d5403;};return a0_0x20cf();}try{killPort(LOCAL_PORT);}catch(a0_0x3fd1a1){err(a0_0x4b050e(0x2a7)+LOCAL_PORT+':\x20'+a0_0x3fd1a1[a0_0x4b050e(0x28d)]),process[a0_0x4b050e(0x2a4)](0x1);}server[a0_0x4b050e(0x284)](LOCAL_PORT,()=>log(a0_0x4b050e(0x269)+LOCAL_PORT)),server['on'](a0_0x4b050e(0x246),_0x1075bf=>{const _0x38ed0f=a0_0x4b050e;if(_0x1075bf[_0x38ed0f(0x258)]==='EADDRINUSE')err(_0x38ed0f(0x274)+LOCAL_PORT+'\x20already\x20in\x20use');else{if(_0x1075bf['code']===_0x38ed0f(0x2b7))err(_0x38ed0f(0x200)+LOCAL_PORT);else err(_0x1075bf[_0x38ed0f(0x28d)]);}process[_0x38ed0f(0x2a4)](0x1);});var shutdown=()=>server[a0_0x4b050e(0x20a)](()=>process[a0_0x4b050e(0x2a4)](0x0));process['on'](a0_0x4b050e(0x266),shutdown),process['on'](a0_0x4b050e(0x216),shutdown);if(process[a0_0x4b050e(0x29a)]==='win32')process['on']('SIGBREAK',shutdown);
1
+ const a0_0x4863ae=a0_0x4f8e;(function(_0x59f31f,_0x3113e5){const _0x5dbd54=a0_0x4f8e,_0x380e9d=_0x59f31f();while(!![]){try{const _0x5db8f8=-parseInt(_0x5dbd54(0x115))/0x1+-parseInt(_0x5dbd54(0x149))/0x2+parseInt(_0x5dbd54(0xdf))/0x3+-parseInt(_0x5dbd54(0x124))/0x4*(-parseInt(_0x5dbd54(0xde))/0x5)+parseInt(_0x5dbd54(0x15b))/0x6*(-parseInt(_0x5dbd54(0xfd))/0x7)+parseInt(_0x5dbd54(0x188))/0x8+-parseInt(_0x5dbd54(0x170))/0x9*(-parseInt(_0x5dbd54(0x1b9))/0xa);if(_0x5db8f8===_0x3113e5)break;else _0x380e9d['push'](_0x380e9d['shift']());}catch(_0x26be54){_0x380e9d['push'](_0x380e9d['shift']());}}}(a0_0x5ce5,0xb178f));var __getOwnPropNames=Object[a0_0x4863ae(0x18a)],__commonJS=(_0x32a28b,_0x36d68d)=>function _0x57bae0(){const _0x4aaf9d=a0_0x4863ae;return _0x36d68d||(0x0,_0x32a28b[__getOwnPropNames(_0x32a28b)[0x0]])((_0x36d68d={'exports':{}})[_0x4aaf9d(0x11b)],_0x36d68d),_0x36d68d['exports'];},require_logger=__commonJS({'../app/src/mitm/logger.js'(_0x31fd68,_0x591186){const _0x5ab94f=a0_0x4863ae;function _0x301630(){const _0x5ff252=a0_0x4f8e;return new Date()[_0x5ff252(0x141)](_0x5ff252(0x144),{'hour12':![]});}var _0x4dc48b=_0x3c4904=>console['log']('['+_0x301630()+']\x20[MITM]\x20'+_0x3c4904),_0x4a0950=_0x6b4f73=>console['error']('['+_0x301630()+_0x5ab94f(0x13b)+_0x6b4f73);_0x591186['exports']={'log':_0x4dc48b,'err':_0x4a0950};}}),require_config=__commonJS({'../app/src/mitm/config.js'(_0x555fc2,_0x105646){const _0x275202=a0_0x4863ae;var _0x5aa515=[_0x275202(0x10a),'cloudcode-pa.googleapis.com','api.individual.githubcopilot.com',_0x275202(0x16b),'api2.cursor.sh'],_0x206d6f={'antigravity':[_0x275202(0xd1),_0x275202(0x117)],'copilot':[_0x275202(0x14e),'/v1/messages',_0x275202(0x179)],'kiro':[_0x275202(0x143)],'cursor':[_0x275202(0x154),_0x275202(0x160),_0x275202(0x118),_0x275202(0x1b8)]};function _0x367755(_0x2cfe49){const _0x2d8790=_0x275202,_0x444b86=(_0x2cfe49||'')['split'](':')[0x0];if(_0x444b86==='api.individual.githubcopilot.com')return _0x2d8790(0x180);if(_0x444b86===_0x2d8790(0x10a)||_0x444b86===_0x2d8790(0xc0))return _0x2d8790(0x120);if(_0x444b86===_0x2d8790(0x16b))return'kiro';if(_0x444b86===_0x2d8790(0xcb))return _0x2d8790(0xf5);return null;}_0x105646[_0x275202(0x11b)]={'TARGET_HOSTS':_0x5aa515,'URL_PATTERNS':_0x206d6f,'getToolForHost':_0x367755};}}),require_paths=__commonJS({'../app/src/mitm/paths.js'(_0x4a2872,_0x15ee93){const _0x2caacc=a0_0x4863ae;var _0x4a63e6=require('path'),_0x5bfa9e=require('os');function _0xb292e0(){const _0x227940=a0_0x4f8e;if(process.env.DATA_DIR)return process.env.DATA_DIR;if(process[_0x227940(0xff)]==='win32')return _0x4a63e6[_0x227940(0xc4)](process.env.APPDATA||_0x4a63e6[_0x227940(0xc4)](_0x5bfa9e[_0x227940(0xe6)](),_0x227940(0x165),_0x227940(0xdb)),_0x227940(0x199));return _0x4a63e6[_0x227940(0xc4)](_0x5bfa9e['homedir'](),_0x227940(0x185));}var _0x28de78=_0xb292e0(),_0x38dc59=_0x4a63e6[_0x2caacc(0xc4)](_0x28de78,_0x2caacc(0x17c));_0x15ee93[_0x2caacc(0x11b)]={'DATA_DIR':_0x28de78,'MITM_DIR':_0x38dc59};}}),require_rootCA=__commonJS({'../app/src/mitm/cert/rootCA.js'(_0x2a07c9,_0x4558e1){const _0x4156f6=a0_0x4863ae;var _0x1c53b6=require('path'),_0x879cea=require('fs'),_0x59e003=require(_0x4156f6(0x1ac)),{MITM_DIR:_0x58ac37}=require_paths(),_0x506b16=_0x1c53b6[_0x4156f6(0xc4)](_0x58ac37,'rootCA.key'),_0x546c3f=_0x1c53b6[_0x4156f6(0xc4)](_0x58ac37,_0x4156f6(0x123));function _0x228536(_0x2fcec3){const _0x3c1d4f=_0x4156f6;try{const _0x267259=_0x59e003[_0x3c1d4f(0x189)][_0x3c1d4f(0x151)](_0x879cea['readFileSync'](_0x2fcec3,_0x3c1d4f(0xcc))),_0x13efac=new Date(Date['now']()+0x1e*0x18*0x3c*0x3c*0x3e8);return _0x267259['validity'][_0x3c1d4f(0x153)]<_0x13efac;}catch{return!![];}}async function _0x48c953(){const _0x58fec4=_0x4156f6,_0x2c75e8=_0x879cea[_0x58fec4(0x14d)](_0x506b16)&&_0x879cea[_0x58fec4(0x14d)](_0x546c3f);if(_0x2c75e8&&!_0x228536(_0x546c3f))return console[_0x58fec4(0x166)](_0x58fec4(0xd8)),{'key':_0x506b16,'cert':_0x546c3f};if(_0x2c75e8){console[_0x58fec4(0x166)](_0x58fec4(0x198));try{_0x879cea[_0x58fec4(0x178)](_0x506b16);}catch{}try{_0x879cea[_0x58fec4(0x178)](_0x546c3f);}catch{}}!_0x879cea[_0x58fec4(0x14d)](_0x58ac37)&&_0x879cea[_0x58fec4(0xd4)](_0x58ac37,{'recursive':!![]});console[_0x58fec4(0x166)](_0x58fec4(0x1a4));const _0x27134e=_0x59e003[_0x58fec4(0x189)]['rsa'][_0x58fec4(0x116)](0x800),_0x24f382=_0x59e003[_0x58fec4(0x189)][_0x58fec4(0xd6)]();_0x24f382[_0x58fec4(0x12c)]=_0x27134e[_0x58fec4(0x12c)],_0x24f382['serialNumber']='01',_0x24f382[_0x58fec4(0x14b)][_0x58fec4(0x1a2)]=new Date(),_0x24f382['validity'][_0x58fec4(0x153)]=new Date(),_0x24f382['validity'][_0x58fec4(0x153)][_0x58fec4(0xc6)](_0x24f382[_0x58fec4(0x14b)][_0x58fec4(0x1a2)][_0x58fec4(0x133)]()+0xa);const _0x1d9042=[{'name':_0x58fec4(0x103),'value':_0x58fec4(0x14a)},{'name':'organizationName','value':_0x58fec4(0x100)},{'name':_0x58fec4(0x19b),'value':'US'}];_0x24f382['setSubject'](_0x1d9042),_0x24f382[_0x58fec4(0x113)](_0x1d9042),_0x24f382[_0x58fec4(0xc5)]([{'name':_0x58fec4(0x156),'cA':!![],'critical':!![]},{'name':_0x58fec4(0x187),'keyCertSign':!![],'cRLSign':!![],'critical':!![]},{'name':_0x58fec4(0xe9)}]),_0x24f382[_0x58fec4(0x129)](_0x27134e[_0x58fec4(0x15d)],_0x59e003['md'][_0x58fec4(0x1b7)][_0x58fec4(0x15a)]());const _0x50bf0e=_0x59e003[_0x58fec4(0x189)][_0x58fec4(0x122)](_0x27134e[_0x58fec4(0x15d)]),_0x11a9ac=_0x59e003[_0x58fec4(0x189)]['certificateToPem'](_0x24f382);return _0x879cea[_0x58fec4(0x1a8)](_0x506b16,_0x50bf0e),_0x879cea[_0x58fec4(0x1a8)](_0x546c3f,_0x11a9ac),console[_0x58fec4(0x166)]('✅\x20Root\x20CA\x20generated\x20successfully'),{'key':_0x506b16,'cert':_0x546c3f};}function _0x3097c7(){const _0x1b8a3f=_0x4156f6;if(!_0x879cea['existsSync'](_0x506b16)||!_0x879cea[_0x1b8a3f(0x14d)](_0x546c3f))throw new Error(_0x1b8a3f(0x19c));const _0xc4e6cb=_0x879cea['readFileSync'](_0x506b16,_0x1b8a3f(0xcc)),_0x3b004b=_0x879cea['readFileSync'](_0x546c3f,_0x1b8a3f(0xcc));return{'key':_0x59e003[_0x1b8a3f(0x189)][_0x1b8a3f(0xfe)](_0xc4e6cb),'cert':_0x59e003[_0x1b8a3f(0x189)][_0x1b8a3f(0x151)](_0x3b004b)};}function _0x5f50cd(_0x3b092,_0x3caef7){const _0x3f5a8d=_0x4156f6,_0x2c7ecc=_0x59e003['pki'][_0x3f5a8d(0x196)][_0x3f5a8d(0x116)](0x800),_0x459ce7=_0x59e003[_0x3f5a8d(0x189)][_0x3f5a8d(0xd6)]();return _0x459ce7['publicKey']=_0x2c7ecc[_0x3f5a8d(0x12c)],_0x459ce7[_0x3f5a8d(0x157)]=Math[_0x3f5a8d(0xd0)](Math[_0x3f5a8d(0xdc)]()*0xf4240)[_0x3f5a8d(0x190)](),_0x459ce7[_0x3f5a8d(0x14b)]['notBefore']=new Date(),_0x459ce7[_0x3f5a8d(0x14b)][_0x3f5a8d(0x153)]=new Date(),_0x459ce7[_0x3f5a8d(0x14b)]['notAfter']['setFullYear'](_0x459ce7[_0x3f5a8d(0x14b)][_0x3f5a8d(0x1a2)][_0x3f5a8d(0x133)]()+0x1),_0x459ce7[_0x3f5a8d(0x134)]([{'name':'commonName','value':_0x3b092}]),_0x459ce7[_0x3f5a8d(0x113)](_0x3caef7[_0x3f5a8d(0x106)]['subject'][_0x3f5a8d(0x17e)]),_0x459ce7[_0x3f5a8d(0xc5)]([{'name':_0x3f5a8d(0x156),'cA':![]},{'name':_0x3f5a8d(0x187),'digitalSignature':!![],'keyEncipherment':!![]},{'name':_0x3f5a8d(0x181),'serverAuth':!![],'clientAuth':!![]},{'name':_0x3f5a8d(0xe4),'altNames':[{'type':0x2,'value':_0x3b092},{'type':0x2,'value':'*.'+_0x3b092}]}]),_0x459ce7[_0x3f5a8d(0x129)](_0x3caef7['key'],_0x59e003['md'][_0x3f5a8d(0x1b7)][_0x3f5a8d(0x15a)]()),{'key':_0x59e003[_0x3f5a8d(0x189)]['privateKeyToPem'](_0x2c7ecc['privateKey']),'cert':_0x59e003[_0x3f5a8d(0x189)][_0x3f5a8d(0x140)](_0x459ce7)};}_0x4558e1['exports']={'generateRootCA':_0x48c953,'loadRootCA':_0x3097c7,'generateLeafCert':_0x5f50cd,'isCertExpired':_0x228536,'ROOT_CA_CERT_PATH':_0x546c3f,'ROOT_CA_KEY_PATH':_0x506b16};}}),require_generate=__commonJS({'../app/src/mitm/cert/generate.js'(_0x44d26b,_0x66ef20){const _0x422078=a0_0x4863ae;var _0x1a502d=require(_0x422078(0x142)),_0x421962=require('fs'),{MITM_DIR:_0x1cbf6e}=require_paths(),{generateRootCA:_0x2c6584,loadRootCA:_0x2dc78d,generateLeafCert:_0x579a0b}=require_rootCA();async function _0x454f5b(){return await _0x2c6584();}function _0x3c9ddf(_0x374457){const _0x4414b9=_0x422078;try{const _0x2e1859=_0x2dc78d(),_0x2dd5d4=_0x579a0b(_0x374457,_0x2e1859);return{'key':_0x2dd5d4[_0x4414b9(0x158)],'cert':_0x2dd5d4[_0x4414b9(0x106)]};}catch(_0x22981b){return console[_0x4414b9(0x10f)](_0x4414b9(0x1c4)+_0x374457+':',_0x22981b[_0x4414b9(0x127)]),null;}}_0x66ef20['exports']={'generateCert':_0x454f5b,'getCertForDomain':_0x3c9ddf};}}),require_base=__commonJS({'../app/src/mitm/handlers/base.js'(_0xca0877,_0x4e90fa){const _0x46f467=a0_0x4863ae;var {log:_0x664d25,err:_0x56099e}=require_logger(),_0x1551d2=_0x46f467(0x1ab),_0x4a1edd=String(process.env.MITM_ROUTER_BASE||_0x1551d2)[_0x46f467(0xe8)]()[_0x46f467(0x18e)](/\/+$/,'')||_0x1551d2,_0xe1505e=process.env.ROUTER_API_KEY,_0x4b303e=new Set([_0x46f467(0x1b4),_0x46f467(0xe0),_0x46f467(0x125),'transfer-encoding',_0x46f467(0x10c),_0x46f467(0xfa)]);async function _0x27b2ef(_0x1c0c63,_0x754c63='/v1/chat/completions',_0x46128c={}){const _0x396289=_0x46f467,_0x2975b4={};for(const [_0x1ff4f1,_0x5ca774]of Object[_0x396289(0xc1)](_0x46128c)){if(!_0x4b303e['has'](_0x1ff4f1[_0x396289(0x1a7)]()))_0x2975b4[_0x1ff4f1]=_0x5ca774;}const _0x3ad611=await fetch(''+_0x4a1edd+_0x754c63,{'method':_0x396289(0x10b),'headers':{..._0x2975b4,'Content-Type':_0x396289(0x126),..._0xe1505e&&{'Authorization':_0x396289(0x1c2)+_0xe1505e}},'body':JSON['stringify'](_0x1c0c63)});if(!_0x3ad611['ok']){const _0xf17b83=await _0x3ad611['text']()['catch'](()=>'');throw new Error('['+_0x3ad611[_0x396289(0x12d)]+']:\x20'+_0xf17b83);}return _0x3ad611;}async function _0x5dec7a(_0x3c0693,_0x3906bb){const _0x168a61=_0x46f467,_0x52318d=_0x3c0693['headers']['get'](_0x168a61(0x10c))||_0x168a61(0x126),_0x3d6021={'Content-Type':_0x52318d,'Cache-Control':_0x168a61(0xd7),'Connection':'keep-alive'};if(_0x52318d[_0x168a61(0x16e)](_0x168a61(0x11f)))_0x3d6021[_0x168a61(0x1bf)]='no';_0x3906bb[_0x168a61(0x182)](0xc8,_0x3d6021);if(!_0x3c0693[_0x168a61(0x104)]){_0x3906bb[_0x168a61(0xd3)](await _0x3c0693[_0x168a61(0x195)]()[_0x168a61(0xce)](()=>''));return;}const _0x4cd70e=_0x3c0693[_0x168a61(0x104)][_0x168a61(0x1b5)](),_0x3367a5=new TextDecoder();while(!![]){const {done:_0x574e8f,value:_0x21a763}=await _0x4cd70e[_0x168a61(0x19e)]();if(_0x574e8f){_0x3906bb[_0x168a61(0xd3)]();break;}_0x3906bb[_0x168a61(0xf0)](_0x3367a5[_0x168a61(0x105)](_0x21a763,{'stream':!![]}));}}_0x4e90fa[_0x46f467(0x11b)]={'fetchRouter':_0x27b2ef,'pipeSSE':_0x5dec7a};}}),require_antigravity=__commonJS({'../app/src/mitm/handlers/antigravity.js'(_0xabefd5,_0x576d13){const _0x3d7831=a0_0x4863ae;var {err:_0x318c81}=require_logger(),{fetchRouter:_0x21b077,pipeSSE:_0x3c53ad}=require_base();async function _0x128c7a(_0x335058,_0x378147,_0x240edf,_0x1016ba){const _0x5b3c2f=a0_0x4f8e;try{const _0x865b23=JSON[_0x5b3c2f(0x17f)](_0x240edf[_0x5b3c2f(0x190)]());_0x865b23['model']=_0x1016ba;const _0x52c230=await _0x21b077(_0x865b23,_0x5b3c2f(0x12e),_0x335058[_0x5b3c2f(0x14f)]);await _0x3c53ad(_0x52c230,_0x378147);}catch(_0x389d98){_0x318c81('[antigravity]\x20'+_0x389d98[_0x5b3c2f(0x127)]);if(!_0x378147['headersSent'])_0x378147[_0x5b3c2f(0x182)](0x1f4,{'Content-Type':_0x5b3c2f(0x126)});_0x378147[_0x5b3c2f(0xd3)](JSON[_0x5b3c2f(0x135)]({'error':{'message':_0x389d98['message'],'type':'mitm_error'}}));}}_0x576d13[_0x3d7831(0x11b)]={'intercept':_0x128c7a};}}),require_copilot=__commonJS({'../app/src/mitm/handlers/copilot.js'(_0x5933cd,_0x4dd3fc){const _0x24768d=a0_0x4863ae;var {err:_0x469222}=require_logger(),{fetchRouter:_0x156975,pipeSSE:_0x5485c9}=require_base(),_0x5c7e38={'/chat/completions':_0x24768d(0x12e),'/v1/messages':_0x24768d(0x173),'/responses':_0x24768d(0x192)};function _0x2e3b82(_0x4b4165){const _0x5b09d4=_0x24768d;for(const [_0x2b178a,_0x3ad904]of Object['entries'](_0x5c7e38)){if(_0x4b4165[_0x5b09d4(0x16e)](_0x2b178a))return _0x3ad904;}return _0x5b09d4(0x12e);}async function _0x4eef9c(_0x1108a1,_0x30c3aa,_0x36db00,_0x28708a){const _0x491693=_0x24768d;try{const _0x3c5924=JSON[_0x491693(0x17f)](_0x36db00[_0x491693(0x190)]());_0x3c5924[_0x491693(0x11a)]=_0x28708a;const _0x73f2bf=_0x2e3b82(_0x1108a1[_0x491693(0x1a6)]),_0x2639d5=await _0x156975(_0x3c5924,_0x73f2bf,_0x1108a1[_0x491693(0x14f)]);await _0x5485c9(_0x2639d5,_0x30c3aa);}catch(_0xdbe10c){_0x469222(_0x491693(0x1ad)+_0xdbe10c[_0x491693(0x127)]);if(!_0x30c3aa[_0x491693(0x1a1)])_0x30c3aa['writeHead'](0x1f4,{'Content-Type':'application/json'});_0x30c3aa[_0x491693(0xd3)](JSON[_0x491693(0x135)]({'error':{'message':_0xdbe10c[_0x491693(0x127)],'type':_0x491693(0xe1)}}));}}_0x4dd3fc[_0x24768d(0x11b)]={'intercept':_0x4eef9c};}}),require_kiro=__commonJS({'../app/src/mitm/dev/kiro.js'(_0x283ee0,_0x545d83){const _0x5dbb31=a0_0x4863ae;var _0x52d694=require(_0x5dbb31(0x163)),{log:_0x49b98a,err:_0xf73210}=require_logger(),{fetchRouter:_0xc7f329}=require_base();function _0x34fbad(_0x5c6298){const _0x1152b6=_0x5dbb31;if(typeof _0x5c6298!==_0x1152b6(0xbc))return![];return _0x5c6298['includes'](_0x1152b6(0x11c))||_0x5c6298[_0x1152b6(0x16e)]('You\x20are\x20an\x20intent\x20classifier');}function _0x1b50b4(_0x241b5b,_0x5545fd){const _0x513f81=_0x5dbb31,_0x2b5d4e=_0x241b5b[_0x513f81(0xd2)]||{},_0x41b16e=_0x2b5d4e[_0x513f81(0xd9)]||[],_0x5e67b2=_0x2b5d4e[_0x513f81(0xc9)]?.[_0x513f81(0x1bd)],_0x2e712a=[];let _0x58bcf8=![];for(const _0x443bab of _0x41b16e){if(_0x443bab['userInputMessage']){const _0x191c5e=_0x443bab['userInputMessage'],_0x975ac=(_0x191c5e[_0x513f81(0x177)]||'')[_0x513f81(0xe8)](),_0x1ce0fa=_0x191c5e['userInputMessageContext']?.[_0x513f81(0x121)];if(!_0x58bcf8&&_0x34fbad(_0x975ac)){_0x2e712a[_0x513f81(0x11d)]({'role':'system','content':_0x975ac}),_0x58bcf8=!![];if(_0x1ce0fa?.[_0x513f81(0x155)]>0x0)for(const _0x39c937 of _0x1ce0fa){_0x2e712a[_0x513f81(0x11d)]({'role':_0x513f81(0x1b2),'tool_call_id':_0x39c937[_0x513f81(0x111)],'content':_0x39c937[_0x513f81(0x177)]?.['map'](_0x4d58b9=>_0x4d58b9['text'])[_0x513f81(0xc4)]('\x0a')||''});}continue;}if(_0x1ce0fa?.[_0x513f81(0x155)]>0x0)for(const _0x58bae6 of _0x1ce0fa){_0x2e712a[_0x513f81(0x11d)]({'role':_0x513f81(0x1b2),'tool_call_id':_0x58bae6[_0x513f81(0x111)],'content':_0x58bae6[_0x513f81(0x177)]?.[_0x513f81(0x16a)](_0x12da6f=>_0x12da6f[_0x513f81(0x195)])['join']('\x0a')||''});}if(_0x975ac)_0x2e712a[_0x513f81(0x11d)]({'role':'user','content':_0x975ac});}else{if(_0x443bab[_0x513f81(0xbe)]){const _0x667adc=_0x443bab[_0x513f81(0xbe)],_0x208cc0={'role':_0x513f81(0x1a0),'content':_0x667adc['content']||''};_0x667adc[_0x513f81(0xed)]?.[_0x513f81(0x155)]>0x0&&(_0x208cc0['tool_calls']=_0x667adc[_0x513f81(0xed)][_0x513f81(0x16a)](_0x10762e=>({'id':_0x10762e['toolUseId'],'type':_0x513f81(0x114),'function':{'name':_0x10762e[_0x513f81(0xcf)],'arguments':JSON[_0x513f81(0x135)](_0x10762e[_0x513f81(0x107)]||{})}}))),_0x2e712a[_0x513f81(0x11d)](_0x208cc0);}}}if(_0x5e67b2){const _0x119517=_0x5e67b2['userInputMessageContext']?.['toolResults'];if(_0x119517?.[_0x513f81(0x155)]>0x0)for(const _0x240264 of _0x119517){_0x2e712a[_0x513f81(0x11d)]({'role':_0x513f81(0x1b2),'tool_call_id':_0x240264['toolUseId'],'content':_0x240264[_0x513f81(0x177)]?.['map'](_0x1b4dcb=>_0x1b4dcb[_0x513f81(0x195)])[_0x513f81(0xc4)]('\x0a')||''});}const _0x1e2c4b=(_0x5e67b2['content']||'')[_0x513f81(0xe8)]();if(_0x1e2c4b)_0x2e712a[_0x513f81(0x11d)]({'role':_0x513f81(0x164),'content':_0x1e2c4b});}const _0x5f1cd5={'model':_0x5545fd,'messages':_0x2e712a,'stream':!![],'stream_options':{'include_usage':!![]}},_0x1dc24e=_0x5e67b2?.[_0x513f81(0xc2)]?.[_0x513f81(0xc3)];return _0x1dc24e?.[_0x513f81(0x155)]>0x0&&(_0x5f1cd5['tools']=_0x1dc24e['map'](_0x4ca764=>({'type':_0x513f81(0x114),'function':{'name':_0x4ca764[_0x513f81(0x15f)][_0x513f81(0xcf)],'description':_0x4ca764['toolSpecification'][_0x513f81(0x12a)]||_0x4ca764['toolSpecification'][_0x513f81(0xcf)],'parameters':_0x4ca764[_0x513f81(0x15f)][_0x513f81(0x1a3)]?.[_0x513f81(0x13a)]||{'type':_0x513f81(0x1a5),'properties':{}}}}))),_0x5f1cd5;}function _0x54bc8(_0x7de792,_0x3cecd9){const _0x20c6cd=_0x5dbb31,_0x1b4ef1=Buffer[_0x20c6cd(0x102)](JSON[_0x20c6cd(0x135)](_0x3cecd9),_0x20c6cd(0xcc)),_0xfc7cf=[[_0x20c6cd(0x13c),_0x7de792],[_0x20c6cd(0x191),_0x20c6cd(0x126)],[_0x20c6cd(0x168),_0x20c6cd(0xef)]],_0x2397c5=[];for(const [_0x596297,_0x1797d2]of _0xfc7cf){const _0x14ead0=Buffer[_0x20c6cd(0x102)](_0x596297,'utf8'),_0x5037b2=Buffer[_0x20c6cd(0x102)](_0x1797d2,_0x20c6cd(0xcc)),_0x3bb49f=Buffer[_0x20c6cd(0x159)](0x1+_0x14ead0[_0x20c6cd(0x155)]+0x1+0x2+_0x5037b2['length']);let _0x5b1992=0x0;_0x3bb49f[_0x5b1992++]=_0x14ead0['length'],_0x14ead0[_0x20c6cd(0x132)](_0x3bb49f,_0x5b1992),_0x5b1992+=_0x14ead0[_0x20c6cd(0x155)],_0x3bb49f[_0x5b1992++]=0x7,_0x3bb49f[_0x20c6cd(0x167)](_0x5037b2[_0x20c6cd(0x155)],_0x5b1992),_0x5b1992+=0x2,_0x5037b2[_0x20c6cd(0x132)](_0x3bb49f,_0x5b1992),_0x2397c5[_0x20c6cd(0x11d)](_0x3bb49f);}const _0xddf040=Buffer['concat'](_0x2397c5),_0x4287b9=0x4+0x4+0x4+_0xddf040[_0x20c6cd(0x155)]+_0x1b4ef1[_0x20c6cd(0x155)]+0x4,_0x39c2ed=Buffer[_0x20c6cd(0x159)](_0x4287b9);let _0x3faadc=0x0;_0x39c2ed['writeUInt32BE'](_0x4287b9,_0x3faadc),_0x3faadc+=0x4,_0x39c2ed[_0x20c6cd(0xe3)](_0xddf040['length'],_0x3faadc),_0x3faadc+=0x4;const _0x496df1=_0x52d694[_0x20c6cd(0xcd)](_0x39c2ed['slice'](0x0,0x8));_0x39c2ed[_0x20c6cd(0xe3)](_0x496df1,_0x3faadc),_0x3faadc+=0x4,_0xddf040['copy'](_0x39c2ed,_0x3faadc),_0x3faadc+=_0xddf040['length'],_0x1b4ef1[_0x20c6cd(0x132)](_0x39c2ed,_0x3faadc),_0x3faadc+=_0x1b4ef1[_0x20c6cd(0x155)];const _0x51a8de=_0x52d694['crc32'](_0x39c2ed[_0x20c6cd(0x136)](0x0,_0x4287b9-0x4));return _0x39c2ed['writeUInt32BE'](_0x51a8de,_0x3faadc),_0x39c2ed;}async function _0x5e0213(_0x5f4aa2,_0x2b6a1c,_0x4297f8,_0x193e3e,_0x4e7c5b){const _0x304bc5=_0x5dbb31;try{const _0xe0b80a=JSON[_0x304bc5(0x17f)](_0x4297f8[_0x304bc5(0x190)]()),_0xeeb58=_0xe0b80a['conversationState']?.[_0x304bc5(0x12f)]||'unknown';_0x49b98a(_0x304bc5(0x148)+_0xeeb58+_0x304bc5(0x138)+_0x193e3e);const _0x299c76=_0x1b50b4(_0xe0b80a,_0x193e3e);_0x49b98a('🔷\x20[KIRO]\x20converted\x20|\x20messages='+_0x299c76[_0x304bc5(0x108)][_0x304bc5(0x155)]+_0x304bc5(0xfb)+(_0x299c76[_0x304bc5(0xc3)]?.[_0x304bc5(0x155)]||0x0));_0x299c76['tools']?.[_0x304bc5(0x155)]&&_0x49b98a(_0x304bc5(0xe5)+_0x299c76[_0x304bc5(0xc3)][_0x304bc5(0x16a)](_0x20531a=>_0x20531a['function'][_0x304bc5(0xcf)])[_0x304bc5(0xc4)](',\x20'));if(!_0x299c76[_0x304bc5(0x108)][_0x304bc5(0x155)])return _0xf73210('[KIRO]\x20No\x20messages\x20after\x20conversion\x20—\x20passthrough'),_0x4e7c5b(_0x5f4aa2,_0x2b6a1c,_0x4297f8);const _0x1f6e8e=await _0xc7f329(_0x299c76,'/v1/chat/completions',_0x5f4aa2[_0x304bc5(0x14f)]);_0x2b6a1c[_0x304bc5(0x182)](0xc8,{'Content-Type':_0x304bc5(0x119),'Cache-Control':_0x304bc5(0xd7),'Connection':_0x304bc5(0x1aa),'Transfer-Encoding':'chunked','x-amzn-RequestId':_0x5f4aa2['headers']['amz-sdk-invocation-id']||_0xeeb58,'x-amzn-codewhisperer-conversation-id':_0xeeb58,'X-XSS-Protection':_0x304bc5(0x1c3),'X-Frame-Options':_0x304bc5(0x183),'X-Content-Type-Options':_0x304bc5(0x12b)});const _0x197c95=_0x1f6e8e[_0x304bc5(0x104)][_0x304bc5(0x1b5)](),_0x32fe50=new TextDecoder();let _0xf8c91e='',_0x461d93=![];const _0x335506={};let _0x2e0fe0=null;while(!![]){const {done:_0x977123,value:_0x3a5174}=await _0x197c95['read']();if(_0x977123)break;_0xf8c91e+=_0x32fe50[_0x304bc5(0x105)](_0x3a5174,{'stream':!![]});const _0x451c56=_0xf8c91e[_0x304bc5(0x10e)]('\x0a');_0xf8c91e=_0x451c56['pop']();for(const _0x1ec438 of _0x451c56){if(!_0x1ec438['startsWith'](_0x304bc5(0x13d)))continue;const _0x4414e9=_0x1ec438[_0x304bc5(0x136)](0x6)['trim']();if(_0x4414e9==='[DONE]')continue;let _0x4c1bcd;try{_0x4c1bcd=JSON['parse'](_0x4414e9);}catch{continue;}if(_0x4c1bcd[_0x304bc5(0x109)])_0x2e0fe0=_0x4c1bcd[_0x304bc5(0x109)];const _0x5c6342=_0x4c1bcd[_0x304bc5(0x11e)]?.[0x0];if(!_0x5c6342)continue;const _0x559a17=_0x5c6342['delta']||{},_0x1a6e2e=_0x5c6342[_0x304bc5(0xf6)];_0x559a17['content']&&_0x2b6a1c[_0x304bc5(0xf0)](_0x54bc8(_0x304bc5(0x17a),{'content':_0x559a17['content'],'modelId':_0x193e3e}));if(_0x559a17[_0x304bc5(0x174)]){_0x461d93=!![];for(const _0x1bd24a of _0x559a17[_0x304bc5(0x174)]){const _0x51cb8f=_0x1bd24a['index']??0x0;if(!_0x335506[_0x51cb8f])_0x335506[_0x51cb8f]={'id':'','name':'','args':''};if(_0x1bd24a['id'])_0x335506[_0x51cb8f]['id']=_0x1bd24a['id'];if(_0x1bd24a[_0x304bc5(0x114)]?.['name'])_0x335506[_0x51cb8f][_0x304bc5(0xcf)]=_0x1bd24a[_0x304bc5(0x114)][_0x304bc5(0xcf)];if(_0x1bd24a[_0x304bc5(0x114)]?.[_0x304bc5(0xe2)])_0x335506[_0x51cb8f][_0x304bc5(0x101)]+=_0x1bd24a[_0x304bc5(0x114)][_0x304bc5(0xe2)];}}if(_0x1a6e2e){if(_0x461d93){for(const _0x25df0e of Object[_0x304bc5(0x18f)](_0x335506)){_0x49b98a('🔷\x20[KIRO]\x20toolUseEvent\x20|\x20id='+_0x25df0e['id']+_0x304bc5(0xea)+_0x25df0e[_0x304bc5(0xcf)]),_0x2b6a1c[_0x304bc5(0xf0)](_0x54bc8(_0x304bc5(0x147),{'name':_0x25df0e['name'],'toolUseId':_0x25df0e['id']}));const _0x3d3c41=_0x25df0e['args']||'{}',_0x4f2e7c=0x20;for(let _0x2a63d4=0x0;_0x2a63d4<_0x3d3c41[_0x304bc5(0x155)];_0x2a63d4+=_0x4f2e7c){_0x2b6a1c[_0x304bc5(0xf0)](_0x54bc8(_0x304bc5(0x147),{'input':_0x3d3c41['slice'](_0x2a63d4,_0x2a63d4+_0x4f2e7c),'name':_0x25df0e[_0x304bc5(0xcf)],'toolUseId':_0x25df0e['id']}));}_0x2b6a1c[_0x304bc5(0xf0)](_0x54bc8(_0x304bc5(0x147),{'name':_0x25df0e[_0x304bc5(0xcf)],'stop':!![],'toolUseId':_0x25df0e['id']}));}_0x2b6a1c['write'](_0x54bc8(_0x304bc5(0x17a),{'content':'','modelId':_0x193e3e}));}const _0x40d2a3=_0x2e0fe0?.[_0x304bc5(0xbf)]||0x0,_0x1af614=_0x2e0fe0?.[_0x304bc5(0x14c)]||0x0,_0x4a5164=_0x40d2a3>0x0?_0x40d2a3/0x30d40*0x64:1.5,_0x592537=_0x1af614>0x0?_0x1af614*0.000004:0.001;_0x2b6a1c[_0x304bc5(0xf0)](_0x54bc8(_0x304bc5(0x169),{'contextUsagePercentage':_0x4a5164})),_0x2b6a1c[_0x304bc5(0xf0)](_0x54bc8(_0x304bc5(0x15c),{'unit':_0x304bc5(0xbd),'unitPlural':_0x304bc5(0x1b0),'usage':_0x592537})),_0x49b98a(_0x304bc5(0xc8)+_0x1a6e2e+_0x304bc5(0x172)+_0x461d93);}}}_0x2b6a1c[_0x304bc5(0xd3)]();}catch(_0x34c30a){_0xf73210('[KIRO]\x20'+_0x34c30a['message']);if(!_0x2b6a1c[_0x304bc5(0x1a1)])_0x2b6a1c[_0x304bc5(0x182)](0x1f4,{'Content-Type':_0x304bc5(0x126)});_0x2b6a1c[_0x304bc5(0xd3)](JSON[_0x304bc5(0x135)]({'error':{'message':_0x34c30a[_0x304bc5(0x127)],'type':_0x304bc5(0xe1)}}));}}_0x545d83[_0x5dbb31(0x11b)]={'intercept':_0x5e0213};}}),https=require(a0_0x4863ae(0xd5)),fs=require('fs'),path=require(a0_0x4863ae(0x142)),dns=require(a0_0x4863ae(0xf4)),{promisify}=require(a0_0x4863ae(0x131)),{execSync}=require(a0_0x4863ae(0x17d)),{log,err}=require_logger(),{TARGET_HOSTS,URL_PATTERNS,getToolForHost}=require_config(),{DATA_DIR,MITM_DIR}=require_paths(),{getCertForDomain}=require_generate(),DB_FILE=path[a0_0x4863ae(0xc4)](DATA_DIR,a0_0x4863ae(0x146)),LOCAL_PORT=0x1bb,ENABLE_FILE_LOG=![],LOG_DIR=path[a0_0x4863ae(0xc4)](DATA_DIR,a0_0x4863ae(0xeb),a0_0x4863ae(0x17c)),INTERNAL_REQUEST_HEADER={'name':a0_0x4863ae(0xf3),'value':a0_0x4863ae(0x176)};if(ENABLE_FILE_LOG&&!fs[a0_0x4863ae(0x14d)](LOG_DIR))fs['mkdirSync'](LOG_DIR,{'recursive':!![]});function a0_0x5ce5(){const _0x28b92a=['zgf0ytOG','C29Tzq','vw5Oyw5KBgvKigvYCM9YoIa','y2vYDgLMAwnHDgvuB1bLBq','Dg9mB2nHBgvuAw1Lu3rYAw5N','Cgf0Aa','l2DLBMvYyxrLqxnZAxn0yw50uMvZCg9UC2u','zw4Tvvm','rMfPBgvKihrVigTPBgWGueLeia','zgiUANnVBG','Dg9VBfvZzuv2zw50','8j+uTYbBs0Lst10GAw50zxjJzxb0ihWGy29UDMvYC2f0Aw9Uswq9','mty0oteZohDPyKHRBW','ovjVDxrLCIbnsvrnifjVB3qGq0e','DMfSAwrPDhK','Dg90ywXFDg9Rzw5Z','zxHPC3rZu3LUyW','l2nOyxqVy29TCgXLDgLVBNm','AgvHzgvYCW','q2fUBM90igTPBgWGChjVy2vZCYbVBIbWB3j0ia','y2vYDgLMAwnHDgvgCM9TugvT','zxHPDa','BM90qwz0zxi','l0jPzgLbChbLBMq','BgvUz3rO','yMfZAwndB25ZDhjHAw50CW','C2vYAwfStNvTyMvY','A2v5','ywXSB2m','y3jLyxrL','nZm4mJrhBe1yvwq','Bwv0zxjPBMDfDMvUDa','ChjPDMf0zuTLEq','Dw5RBM93BG','Dg9VBfnWzwnPzMLJyxrPB24','l1j1BLntrq','8j+uKcbdzxj0igDLBMvYyxrLzdOG','u0Lhs0Lmta','EMXPyG','DxnLCG','qxbWrgf0yq','Bg9N','D3jPDgvvsw50mtzcrq','oM1LC3nHz2uTDhLWzq','y29UDgv4DfvZywDLrxzLBNq','BwfW','Cs51CY1Lyxn0lteUyw1HEM9UyxDZlMnVBq','rufdq0vt','A2v5CW','Aw5JBhvKzxm','y29Uy2f0','mteZndKZnNPbz3Dlta','8j+uJsbB','igHHC1rVB2XdywXSCZ0','l3yXl21LC3nHz2vZ','Dg9VBf9JywXSCW','D2LUmZi','Bg9JywW','y29UDgvUDa','Dw5SAw5Ru3LUyW','l3jLC3bVBNnLCW','yxnZAxn0yw50uMvZCg9UC2vfDMvUDa','ihWG','BwL0Bq','y2HPBgrFChjVy2vZCW','yxr0CMLIDxrLCW','CgfYC2u','y29WAwXVDa','zxH0s2v5vxnHz2u','D3jPDgvizwfK','revowq','A2LSBa','lJLYB3v0zxi','ihbYB2nLC3mOzxmPig9UihbVCNqG','A2v5vxnHz2u','mteZmJm3ndrKBLrNtxa','CgTP','z2v0t3DUuhjVCgvYDhLoyw1LCW','DMfSDwu','u0Lhsu5u','lMPZB24','CMvWBgfJzq','DMfSDwvZ','Dg9tDhjPBMC','oMnVBNrLBNqTDhLWzq','l3yXl3jLC3bVBNnLCW','qMfKieDHDgv3yxK','ugfZC3rOCM91z2GGzxjYB3i6ia','Dgv4Da','CNnH','Bwf0y2G','8j+uKcbsB290ienbigv4CgLYzwqGB3iGzxHWAxjPBMCGC29VBIdIGjqGCMvNzw5LCMf0Aw5NlI4U','oxjVDxrLCG','s2LSBgvKia','y291BNrYEu5HBwu','uM9VDcbdqsbUB3qGzM91BMqUieDLBMvYyxrLigL0igzPCNn0lG','zM9YrwfJAa','CMvHza','y2XVC2u','yxnZAxn0yw50','AgvHzgvYC1nLBNq','BM90qMvMB3jL','Aw5WDxrty2HLBwe','8j+uKcbhzw5LCMf0Aw5NifjVB3qGq0eGy2vYDgLMAwnHDguUlI4','B2jQzwn0','DxjS','Dg9mB3DLCKnHC2u','D3jPDgvgAwXLu3LUyW','4O+PihbHC3n0AhjVDwDOihWGBM8GBwfWCgLUzYb8ia','A2vLCc1HBgL2zq','Ahr0CdOVl2XVy2fSAg9ZDdOYmdeYoa','BM9Kzs1MB3jNzq','w2nVCgLSB3rDia','CMvZB2X2ztq','y29Kzq','y3jLzgL0CW','C2v0','Dg9VBa','y3jLyxrLu2vYDMvY','Ag9ZDa','z2v0uMvHzgvY','iokgKIa','C2HHmJu2','l1j1BG','ndbSExrTAeW','y3jLyxrLu2vJDxjLq29UDgv4Da','xsb1CMW9','zgf0yq','DxnLCKLUChv0twvZC2fNzq','C2v0u2vYDMvYCW','wc1by2nLBc1cDwzMzxjPBMC','DxrMltG','yMLUza','qMvHCMvYia','mtSGBw9Kzt1IBg9JAW','rMfPBgvKihrVigDLBMvYyxrLignLCNqGzM9Yia','C3rHDhvZq29Kzq','ug9YDca','C3rYAw5N','y3jLzgL0','yxnZAxn0yw50uMvZCg9UC2vnzxnZywDL','ChjVBxb0x3rVA2vUCW','y2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','zw50CMLLCW','DxnLCKLUChv0twvZC2fNzunVBNrLEhq','Dg9VBhm','AM9PBG','C2v0rxH0zw5ZAw9UCW','C2v0rNvSBfLLyxi','CMvHzezPBgvtEw5J','8j+uTYbBs0Lst10Gzg9Uzsb8igzPBMLZAfjLyxnVBJ0','y3vYCMvUDe1LC3nHz2u','CM9VDenblMTLEq','yxbPmI5JDxjZB3iUC2G','DxrMoa','y3jJmZi','y2f0y2G','BMfTzq','zMXVB3i','oMDLBMvYyxrLq29UDgvUDa','y29UDMvYC2f0Aw9Uu3rHDgu','zw5K','BwTKAxjtEw5J','Ahr0Chm','y3jLyxrLq2vYDgLMAwnHDgu','BM8Ty2fJAgu','4PYfifjVB3qGq0eGywXYzwfKEsbLEgLZDhm','AgLZDg9YEq','BgLZDgvU','uM9HBwLUzW','CMfUzg9T','l19TAxrTx2HLywX0Aa','mtbyA0Xqtey','mtm0odG5oxfoDe53qW','y29UDgvUDc1Szw5NDgG','BwL0Bv9LCNjVCG','yxjNDw1LBNrZ','D3jPDgvvsw50mZjcrq','C3vIAMvJDefSDe5HBwu','8j+uTYbBs0Lst10GDg9VBhm6ia','Ag9TzwrPCG','CgLWzq','DhjPBq','C3vIAMvJDeTLEuLKzw50AwzPzxi','ig5HBwu9','Bg9NCW','AgfZ','Dg9VBfvZzxm','CMvXDwvZDa','zxzLBNq','D3jPDgu','u05jigvYCM9YigzVCIa','C3vIC3rYAw5N','Ec1Yzxf1zxn0lxnVDxjJzq','zg5Z','y3vYC29Y','zMLUAxnOx3jLyxnVBG','BM93','uM9VDcbdqsbUB3qGzM91BMq6ia','Aw50zxjJzxb0','yxv0Ag9YAxPHDgLVBG','ihWGDg9VBhm9','u0LhqLjfquS','nJq0qNPUC056','ChjPDMf0zuTLEuzYB21qzw0','CgXHDgzVCM0','ovjVDxrLCG','yxjNCW','zNjVBq','y29TBw9UtMfTzq','yM9KEq','zgvJB2rL','y2vYDa','Aw5WDxq','BwvZC2fNzxm','DxnHz2u','zgfPBhKTy2XVDwrJB2rLlxbHlMDVB2DSzwfWAxmUy29T','ue9tva','y29UDgvUDc10ExbL','C3rHCNrZv2L0Aa','C3bSAxq','zxjYB3i','ruferfjjtLvtrq','Dg9VBfvZzuLK','ihWGyM9KEuXLBJ0','C2v0sxnZDwvY','zNvUy3rPB24','otyWnJq3z2HdD2jg','z2vUzxjHDgvlzxLqywLY','oNn0CMvHBuDLBMvYyxrLq29UDgvUDa','l1j1BLbVBgW','yxbWBgLJyxrPB24VDM5KlMfTyxPVBI5LDMvUDhn0CMvHBq','Bw9KzwW','zxHWB3j0CW','pgLKzw50Axr5pG','ChvZAa','y2HVAwnLCW','Dgv4Dc9LDMvUDc1ZDhjLyw0','yw50AwDYyxzPDhK','Dg9VBfjLC3vSDhm','ChjPDMf0zuTLEvrVugvT','CM9VDenblMnYDa','mJu0ote4ogLTAK9pvW','y29UBMvJDgLVBG','yxbWBgLJyxrPB24VANnVBG','BwvZC2fNzq','4PQHigLUDgvYy2vWDcb8ia','C2LNBG','zgvZy3jPChrPB24','BM9ZBMLMzG','ChvIBgLJs2v5','C3rHDhvZ','l3yXl2nOyxqVy29TCgXLDgLVBNm','y29UDMvYC2f0Aw9Uswq','BhnVzIaTDgKGoG','DxrPBa','y29WEq','z2v0rNvSBfLLyxi','C2v0u3vIAMvJDa','C3rYAw5NAwz5','C2XPy2u','zMLUza','ihWGBw9KzwW9','DgXZ','ANnVBG','xsdINyWGw01jve1Dia','oMv2zw50lxr5Cgu'];a0_0x5ce5=function(){return _0x28b92a;};return a0_0x5ce5();}var handlers={'antigravity':require_antigravity(),'copilot':require_copilot(),'kiro':require_kiro()},certCache=new Map();function sniCallback(_0x11ea45,_0x415d7f){const _0x2287a0=a0_0x4863ae;try{if(certCache[_0x2287a0(0xec)](_0x11ea45))return _0x415d7f(null,certCache['get'](_0x11ea45));const _0x228a57=getCertForDomain(_0x11ea45);if(!_0x228a57)return _0x415d7f(new Error('Failed\x20to\x20generate\x20cert\x20for\x20'+_0x11ea45));const _0x367cb4=require(_0x2287a0(0x139))[_0x2287a0(0x1ba)]({'key':_0x228a57[_0x2287a0(0x158)],'cert':_0x228a57[_0x2287a0(0x106)]});certCache[_0x2287a0(0x1b1)](_0x11ea45,_0x367cb4),log(_0x2287a0(0x161)+_0x11ea45),_0x415d7f(null,_0x367cb4);}catch(_0x515cfc){err(_0x2287a0(0xf1)+_0x11ea45+':\x20'+_0x515cfc['message']),_0x415d7f(_0x515cfc);}}var sslOptions;function a0_0x4f8e(_0x6a9fe3,_0x33a8df){_0x6a9fe3=_0x6a9fe3-0xbb;const _0x5ce564=a0_0x5ce5();let _0x4f8e72=_0x5ce564[_0x6a9fe3];if(a0_0x4f8e['pfbeXz']===undefined){var _0xf090d6=function(_0x4c71a3){const _0x8355d2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32a28b='',_0x36d68d='';for(let _0x57bae0=0x0,_0x31fd68,_0x591186,_0x301630=0x0;_0x591186=_0x4c71a3['charAt'](_0x301630++);~_0x591186&&(_0x31fd68=_0x57bae0%0x4?_0x31fd68*0x40+_0x591186:_0x591186,_0x57bae0++%0x4)?_0x32a28b+=String['fromCharCode'](0xff&_0x31fd68>>(-0x2*_0x57bae0&0x6)):0x0){_0x591186=_0x8355d2['indexOf'](_0x591186);}for(let _0x4dc48b=0x0,_0x4a0950=_0x32a28b['length'];_0x4dc48b<_0x4a0950;_0x4dc48b++){_0x36d68d+='%'+('00'+_0x32a28b['charCodeAt'](_0x4dc48b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36d68d);};a0_0x4f8e['AbHzwf']=_0xf090d6,a0_0x4f8e['WqissJ']={},a0_0x4f8e['pfbeXz']=!![];}const _0x237346=_0x5ce564[0x0],_0x12db9e=_0x6a9fe3+_0x237346,_0xc1e3de=a0_0x4f8e['WqissJ'][_0x12db9e];return!_0xc1e3de?(_0x4f8e72=a0_0x4f8e['AbHzwf'](_0x4f8e72),a0_0x4f8e['WqissJ'][_0x12db9e]=_0x4f8e72):_0x4f8e72=_0xc1e3de,_0x4f8e72;}try{sslOptions={'key':fs[a0_0x4863ae(0xc7)](path[a0_0x4863ae(0xc4)](MITM_DIR,a0_0x4863ae(0xca))),'cert':fs[a0_0x4863ae(0xc7)](path['join'](MITM_DIR,a0_0x4863ae(0x123))),'SNICallback':sniCallback};}catch(a0_0x1ec532){err(a0_0x4863ae(0xf8)+a0_0x1ec532['message']),process[a0_0x4863ae(0x152)](0x1);}var cachedTargetIPs={},CACHE_TTL_MS=0x5*0x3c*0x3e8;async function resolveTargetIP(_0xe1e014){const _0x1e670b=a0_0x4863ae,_0x190aea=cachedTargetIPs[_0xe1e014];if(_0x190aea&&Date[_0x1e670b(0xf7)]()-_0x190aea['ts']<CACHE_TTL_MS)return _0x190aea['ip'];const _0x506f42=new dns['Resolver']();_0x506f42[_0x1e670b(0x1be)](['8.8.8.8']);const _0x23278e=promisify(_0x506f42[_0x1e670b(0x1ae)][_0x1e670b(0x1c1)](_0x506f42)),_0x34484f=await _0x23278e(_0xe1e014);return cachedTargetIPs[_0xe1e014]={'ip':_0x34484f[0x0],'ts':Date[_0x1e670b(0xf7)]()},cachedTargetIPs[_0xe1e014]['ip'];}function collectBodyRaw(_0x7fc065){return new Promise((_0x497075,_0x35763b)=>{const _0x21c6d9=a0_0x4f8e,_0x52cdf1=[];_0x7fc065['on'](_0x21c6d9(0x1bc),_0x40438f=>_0x52cdf1[_0x21c6d9(0x11d)](_0x40438f)),_0x7fc065['on']('end',()=>_0x497075(Buffer[_0x21c6d9(0x16f)](_0x52cdf1))),_0x7fc065['on'](_0x21c6d9(0x10f),_0x35763b);});}function extractModel(_0x1064af,_0x463dc1){const _0x9e9f30=a0_0x4863ae,_0x2c116e=_0x1064af[_0x9e9f30(0x197)](/\/models\/([^/:]+)/);if(_0x2c116e)return _0x2c116e[0x1];try{const _0x4798cc=JSON[_0x9e9f30(0x17f)](_0x463dc1[_0x9e9f30(0x190)]());if(_0x4798cc[_0x9e9f30(0xd2)])return _0x4798cc['conversationState'][_0x9e9f30(0xc9)]?.[_0x9e9f30(0x1bd)]?.['modelId']||null;return _0x4798cc[_0x9e9f30(0x11a)]||null;}catch{return null;}}function getMappedModel(_0x19c62d,_0x4ff250){const _0x1b87ac=a0_0x4863ae;if(!_0x4ff250)return null;try{if(!fs[_0x1b87ac(0x14d)](DB_FILE))return null;const _0x1edb35=JSON[_0x1b87ac(0x17f)](fs[_0x1b87ac(0xc7)](DB_FILE,'utf-8')),_0x1c3648=_0x1edb35['mitmAlias']?.[_0x19c62d];if(!_0x1c3648)return null;if(_0x1c3648[_0x4ff250])return _0x1c3648[_0x4ff250];const _0x467f73=Object[_0x1b87ac(0x16d)](_0x1c3648)[_0x1b87ac(0x137)](_0xc9d788=>_0xc9d788&&_0x1c3648[_0xc9d788]&&(_0x4ff250['startsWith'](_0xc9d788)||_0xc9d788[_0x1b87ac(0x10d)](_0x4ff250)));return _0x467f73?_0x1c3648[_0x467f73]:null;}catch{return null;}}function saveRequestLog(_0x2a557a,_0x5e1d24){const _0x2b5aab=a0_0x4863ae;if(!ENABLE_FILE_LOG)return;try{const _0x2eaa4e=new Date()['toISOString']()['replace'](/[:.]/g,'-'),_0x39fa45=_0x2a557a[_0x2b5aab(0x18e)](/[^a-zA-Z0-9]/g,'_')[_0x2b5aab(0xf2)](0x0,0x3c),_0xdb7f42=JSON[_0x2b5aab(0x17f)](_0x5e1d24[_0x2b5aab(0x190)]());fs[_0x2b5aab(0x1a8)](path[_0x2b5aab(0xc4)](LOG_DIR,_0x2eaa4e+'_'+_0x39fa45+_0x2b5aab(0x18d)),JSON['stringify'](_0xdb7f42,null,0x2));}catch{}}async function passthrough(_0x4a140e,_0x581b68,_0x5be7cc,_0x307fd8){const _0x41e0f7=a0_0x4863ae,_0xa442de=(_0x4a140e['headers'][_0x41e0f7(0x1b4)]||TARGET_HOSTS[0x0])[_0x41e0f7(0x10e)](':')[0x0],_0x214c4d=await resolveTargetIP(_0xa442de),_0x2714fa=https[_0x41e0f7(0xee)]({'hostname':_0x214c4d,'port':0x1bb,'path':_0x4a140e[_0x41e0f7(0x1a6)],'method':_0x4a140e['method'],'headers':{..._0x4a140e[_0x41e0f7(0x14f)],'host':_0xa442de},'servername':_0xa442de,'rejectUnauthorized':![]},_0x13b8d4=>{const _0x243b75=_0x41e0f7;_0x581b68[_0x243b75(0x182)](_0x13b8d4[_0x243b75(0x1c5)],_0x13b8d4[_0x243b75(0x14f)]);if(!_0x307fd8){_0x13b8d4[_0x243b75(0xe7)](_0x581b68);return;}const _0x265280=[];_0x13b8d4['on'](_0x243b75(0x1bc),_0x607259=>{const _0x2215c1=_0x243b75;_0x265280['push'](_0x607259),_0x581b68[_0x2215c1(0xf0)](_0x607259);}),_0x13b8d4['on'](_0x243b75(0xd3),()=>{const _0xbfb64d=_0x243b75;_0x581b68[_0xbfb64d(0xd3)]();try{_0x307fd8(Buffer['concat'](_0x265280),_0x13b8d4[_0xbfb64d(0x14f)]);}catch{}});});_0x2714fa['on']('error',_0x547cf0=>{const _0x431e67=_0x41e0f7;err(_0x431e67(0x194)+_0x547cf0[_0x431e67(0x127)]);if(!_0x581b68['headersSent'])_0x581b68[_0x431e67(0x182)](0x1f6);_0x581b68[_0x431e67(0xd3)](_0x431e67(0x193));});if(_0x5be7cc[_0x41e0f7(0x155)]>0x0)_0x2714fa['write'](_0x5be7cc);_0x2714fa['end']();}var server=https[a0_0x4863ae(0x1b3)](sslOptions,async(_0x2577e0,_0xa56e1a)=>{const _0x24fb4f=a0_0x4863ae;try{if(_0x2577e0['url']===_0x24fb4f(0xdd)){_0xa56e1a['writeHead'](0xc8,{'Content-Type':_0x24fb4f(0x126)}),_0xa56e1a[_0x24fb4f(0xd3)](JSON[_0x24fb4f(0x135)]({'ok':!![],'pid':process['pid']}));return;}const _0x178c89=await collectBodyRaw(_0x2577e0);if(_0x178c89[_0x24fb4f(0x155)]>0x0)saveRequestLog(_0x2577e0[_0x24fb4f(0x1a6)],_0x178c89);if(_0x2577e0[_0x24fb4f(0x14f)][INTERNAL_REQUEST_HEADER[_0x24fb4f(0xcf)]]===INTERNAL_REQUEST_HEADER[_0x24fb4f(0x18b)])return passthrough(_0x2577e0,_0xa56e1a,_0x178c89);const _0x486d10=getToolForHost(_0x2577e0['headers'][_0x24fb4f(0x1b4)]);if(!_0x486d10)return passthrough(_0x2577e0,_0xa56e1a,_0x178c89);const _0x31cbbb=URL_PATTERNS[_0x486d10]||[],_0x54f072=_0x31cbbb[_0x24fb4f(0x13e)](_0xac2a74=>_0x2577e0[_0x24fb4f(0x1a6)]['includes'](_0xac2a74));if(!_0x54f072)return passthrough(_0x2577e0,_0xa56e1a,_0x178c89);log(_0x24fb4f(0x171)+_0x486d10+_0x24fb4f(0x1bb)+_0x2577e0[_0x24fb4f(0x1a6)]+_0x24fb4f(0x112)+_0x178c89[_0x24fb4f(0x155)]);if(_0x486d10===_0x24fb4f(0xf5))return log('⚡\x20intercept\x20|\x20cursor\x20|\x20proto'),handlers[_0x486d10]['intercept'](_0x2577e0,_0xa56e1a,_0x178c89,null,passthrough);const _0x2d5bed=extractModel(_0x2577e0[_0x24fb4f(0x1a6)],_0x178c89);log('🔍\x20['+_0x486d10+']\x20model=\x22'+_0x2d5bed+'\x22');const _0x131a0d=getMappedModel(_0x486d10,_0x2d5bed);if(!_0x131a0d)return log(_0x24fb4f(0x1a9)+_0x486d10+_0x24fb4f(0x17b)+(_0x2d5bed||_0x24fb4f(0x15e))),passthrough(_0x2577e0,_0xa56e1a,_0x178c89);return log(_0x24fb4f(0x128)+_0x486d10+'\x20|\x20'+_0x2d5bed+_0x24fb4f(0x1b6)+_0x131a0d),handlers[_0x486d10][_0x24fb4f(0xf9)](_0x2577e0,_0xa56e1a,_0x178c89,_0x131a0d,passthrough);}catch(_0x37043c){err(_0x24fb4f(0x13f)+_0x37043c[_0x24fb4f(0x127)]);if(!_0xa56e1a[_0x24fb4f(0x1a1)])_0xa56e1a[_0x24fb4f(0x182)](0x1f4,{'Content-Type':_0x24fb4f(0x126)});_0xa56e1a['end'](JSON['stringify']({'error':{'message':_0x37043c['message'],'type':_0x24fb4f(0xe1)}}));}});function killPort(_0xe579fe){const _0x11e42d=a0_0x4863ae;try{const _0x1d3330=execSync(_0x11e42d(0x130)+_0xe579fe,{'encoding':_0x11e42d(0x1c0)})[_0x11e42d(0xe8)]();if(!_0x1d3330)return;const _0x271435=_0x1d3330[_0x11e42d(0x10e)]('\x0a');_0x271435[_0x11e42d(0x19d)](_0x35dbe1=>{const _0x57725e=_0x11e42d;try{process[_0x57725e(0x184)](Number(_0x35dbe1),_0x57725e(0x162));}catch(_0x55809a){err(_0x57725e(0x145)+_0x35dbe1+':\x20'+_0x55809a[_0x57725e(0x127)]);throw _0x55809a;}}),log(_0x11e42d(0x19a)+_0x271435['length']+_0x11e42d(0x186)+_0xe579fe);}catch(_0x2cbe85){if(_0x2cbe85[_0x11e42d(0x12d)]!==0x1)throw _0x2cbe85;}}try{killPort(LOCAL_PORT);}catch(a0_0x2d512a){err(a0_0x4863ae(0x150)+LOCAL_PORT+':\x20'+a0_0x2d512a[a0_0x4863ae(0x127)]),process[a0_0x4863ae(0x152)](0x1);}server[a0_0x4863ae(0xda)](LOCAL_PORT,()=>log('🚀\x20Server\x20ready\x20on\x20:'+LOCAL_PORT)),server['on'](a0_0x4863ae(0x10f),_0xda1e2=>{const _0x450829=a0_0x4863ae;if(_0xda1e2[_0x450829(0x1af)]===_0x450829(0x110))err(_0x450829(0xbb)+LOCAL_PORT+'\x20already\x20in\x20use');else{if(_0xda1e2['code']===_0x450829(0x16c))err('Permission\x20denied\x20for\x20port\x20'+LOCAL_PORT);else err(_0xda1e2[_0x450829(0x127)]);}process[_0x450829(0x152)](0x1);});var shutdown=()=>server[a0_0x4863ae(0x19f)](()=>process[a0_0x4863ae(0x152)](0x0));process['on']('SIGTERM',shutdown),process['on'](a0_0x4863ae(0x18c),shutdown);if(process[a0_0x4863ae(0xff)]===a0_0x4863ae(0x175))process['on'](a0_0x4863ae(0xfc),shutdown);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "9router",
3
- "version": "0.3.87",
3
+ "version": "0.3.89",
4
4
  "description": "9Router CLI - Start and manage 9Router server",
5
5
  "bin": {
6
6
  "9router": "./cli.js"