@ltgiang/9router 0.4.56 → 0.4.60

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 (888) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +14 -11
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/routes-manifest.json +18 -0
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +9 -9
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  68. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  69. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  70. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  71. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  72. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  73. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  74. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  75. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  80. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  83. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  84. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  85. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  87. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  90. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  91. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  103. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  105. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  123. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -0
  139. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -0
  140. package/app/.next-cli-build/server/app/api/combos/reorder/route_client-reference-manifest.js +1 -0
  141. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  154. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/models/order/route.js +1 -0
  176. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -0
  177. package/app/.next-cli-build/server/app/api/models/order/route_client-reference-manifest.js +1 -0
  178. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -6
  183. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -0
  185. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
  186. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -0
  187. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  188. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  238. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  254. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  268. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +2 -2
  280. package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  296. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  310. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  342. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  344. package/app/.next-cli-build/server/app/callback.html +1 -1
  345. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  346. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  347. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  348. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  349. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  350. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  351. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  352. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  353. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  354. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  355. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  356. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  357. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  358. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  359. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  360. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  361. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  362. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  363. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  364. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  365. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  366. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  367. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  368. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  369. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  370. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  371. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  372. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  373. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  374. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  375. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  376. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  377. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  379. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  380. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  381. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  382. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  383. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
  384. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  386. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  387. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  388. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
  389. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  390. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  391. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  392. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  393. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  394. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  395. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  396. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  397. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  398. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  399. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  400. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  401. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  402. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  403. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  405. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  406. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  409. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  410. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  411. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  412. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  413. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  415. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  416. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  419. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  420. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  422. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  423. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  425. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  431. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  433. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  436. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  441. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  443. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  446. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  448. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  450. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  451. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  453. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  454. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  456. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  457. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  461. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  463. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  465. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  467. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  469. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  470. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  472. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  474. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  477. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  479. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  483. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  484. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  485. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  486. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  487. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  488. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  489. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  492. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  493. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  494. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  495. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  496. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  497. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  498. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  499. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  503. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  504. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  505. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  506. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  507. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  508. package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
  509. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  510. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  511. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
  513. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  515. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  516. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  517. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  518. package/app/.next-cli-build/server/app/index.html +1 -1
  519. package/app/.next-cli-build/server/app/index.rsc +4 -4
  520. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  521. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  522. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  523. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  524. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  525. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  526. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  527. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  528. package/app/.next-cli-build/server/app/landing.html +1 -1
  529. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  530. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  531. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  532. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  533. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  534. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  535. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/login/page.js +2 -2
  537. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  538. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  539. package/app/.next-cli-build/server/app/login.html +1 -1
  540. package/app/.next-cli-build/server/app/login.rsc +5 -5
  541. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  542. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  543. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  544. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  545. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  546. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  547. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  548. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  549. package/app/.next-cli-build/server/app/page.js +2 -2
  550. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  551. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  552. package/app/.next-cli-build/server/app-paths-manifest.json +14 -11
  553. package/app/.next-cli-build/server/chunks/1051.js +1 -0
  554. package/app/.next-cli-build/server/chunks/1140.js +1 -1
  555. package/app/.next-cli-build/server/chunks/1998.js +1 -0
  556. package/app/.next-cli-build/server/chunks/2409.js +1 -1
  557. package/app/.next-cli-build/server/chunks/2506.js +1 -1
  558. package/app/.next-cli-build/server/chunks/2971.js +1 -1
  559. package/app/.next-cli-build/server/chunks/3104.js +43 -0
  560. package/app/.next-cli-build/server/chunks/3110.js +1 -1
  561. package/app/.next-cli-build/server/chunks/318.js +11 -9
  562. package/app/.next-cli-build/server/chunks/3381.js +2 -2
  563. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  564. package/app/.next-cli-build/server/chunks/3813.js +1 -0
  565. package/app/.next-cli-build/server/chunks/4055.js +1 -1
  566. package/app/.next-cli-build/server/chunks/412.js +1 -1
  567. package/app/.next-cli-build/server/chunks/4177.js +1 -0
  568. package/app/.next-cli-build/server/chunks/4404.js +1 -1
  569. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  570. package/app/.next-cli-build/server/chunks/4657.js +1 -0
  571. package/app/.next-cli-build/server/chunks/4739.js +1 -1
  572. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  573. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  574. package/app/.next-cli-build/server/chunks/5010.js +1 -1
  575. package/app/.next-cli-build/server/chunks/507.js +1 -1
  576. package/app/.next-cli-build/server/chunks/5217.js +1 -1
  577. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  578. package/app/.next-cli-build/server/chunks/5422.js +13 -0
  579. package/app/.next-cli-build/server/chunks/{1655.js → 5433.js} +1 -1
  580. package/app/.next-cli-build/server/chunks/5681.js +1 -1
  581. package/app/.next-cli-build/server/chunks/5852.js +8 -0
  582. package/app/.next-cli-build/server/chunks/6064.js +1 -0
  583. package/app/.next-cli-build/server/chunks/6182.js +3 -3
  584. package/app/.next-cli-build/server/chunks/6936.js +1 -1
  585. package/app/.next-cli-build/server/chunks/698.js +1 -1
  586. package/app/.next-cli-build/server/chunks/7153.js +1 -1
  587. package/app/.next-cli-build/server/chunks/7250.js +1 -1
  588. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  589. package/app/.next-cli-build/server/chunks/8255.js +1 -1
  590. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  591. package/app/.next-cli-build/server/chunks/8590.js +1 -0
  592. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  593. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  594. package/app/.next-cli-build/server/middleware.js +5 -5
  595. package/app/.next-cli-build/server/pages/404.html +1 -1
  596. package/app/.next-cli-build/server/pages/500.html +1 -1
  597. package/app/.next-cli-build/static/Y7UbUy_s5WLTuHEIbjB6o/_buildManifest.js +1 -0
  598. package/app/.next-cli-build/static/chunks/1321-62ec4b372b24e0ef.js +1 -0
  599. package/app/.next-cli-build/static/chunks/5497-a745e8d5e628b264.js +7 -0
  600. package/app/.next-cli-build/static/chunks/914-573e927dd0d28804.js +3 -0
  601. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-f51fdb8b8935fd11.js +1 -0
  602. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-a357671c9472c787.js → page-0518b1d85c00fe3e.js} +6 -6
  603. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b472ea378da03bc3.js +3 -0
  604. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-7d8ba7acdca3b1c6.js +1 -0
  605. package/app/.next-cli-build/static/chunks/app/_global-error/page-eb759813c7c6ab7c.js +1 -0
  606. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-eb759813c7c6ab7c.js +1 -0
  607. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-eb759813c7c6ab7c.js +1 -0
  608. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-eb759813c7c6ab7c.js +1 -0
  609. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-eb759813c7c6ab7c.js +1 -0
  610. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-eb759813c7c6ab7c.js +1 -0
  611. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-eb759813c7c6ab7c.js +1 -0
  612. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-eb759813c7c6ab7c.js +1 -0
  613. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-eb759813c7c6ab7c.js +1 -0
  614. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-eb759813c7c6ab7c.js +1 -0
  615. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-eb759813c7c6ab7c.js +1 -0
  616. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-eb759813c7c6ab7c.js +1 -0
  617. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-eb759813c7c6ab7c.js +1 -0
  618. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-eb759813c7c6ab7c.js +1 -0
  619. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-eb759813c7c6ab7c.js +1 -0
  620. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-eb759813c7c6ab7c.js +1 -0
  621. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-eb759813c7c6ab7c.js +1 -0
  622. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-eb759813c7c6ab7c.js +1 -0
  623. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-eb759813c7c6ab7c.js +1 -0
  624. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-eb759813c7c6ab7c.js +1 -0
  625. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-eb759813c7c6ab7c.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-eb759813c7c6ab7c.js +1 -0
  627. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-eb759813c7c6ab7c.js +1 -0
  628. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-eb759813c7c6ab7c.js +1 -0
  629. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-eb759813c7c6ab7c.js +1 -0
  630. package/app/.next-cli-build/static/chunks/app/api/combos/reorder/route-eb759813c7c6ab7c.js +1 -0
  631. package/app/.next-cli-build/static/chunks/app/api/combos/route-eb759813c7c6ab7c.js +1 -0
  632. package/app/.next-cli-build/static/chunks/app/api/health/route-eb759813c7c6ab7c.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/api/init/route-eb759813c7c6ab7c.js +1 -0
  634. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-eb759813c7c6ab7c.js +1 -0
  635. package/app/.next-cli-build/static/chunks/app/api/keys/route-eb759813c7c6ab7c.js +1 -0
  636. package/app/.next-cli-build/static/chunks/app/api/locale/route-eb759813c7c6ab7c.js +1 -0
  637. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-eb759813c7c6ab7c.js +1 -0
  638. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-eb759813c7c6ab7c.js +1 -0
  639. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-eb759813c7c6ab7c.js +1 -0
  640. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-eb759813c7c6ab7c.js +1 -0
  641. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-eb759813c7c6ab7c.js +1 -0
  642. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-eb759813c7c6ab7c.js +1 -0
  643. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-eb759813c7c6ab7c.js +1 -0
  644. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-eb759813c7c6ab7c.js +1 -0
  645. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-eb759813c7c6ab7c.js +1 -0
  646. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-eb759813c7c6ab7c.js +1 -0
  647. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-eb759813c7c6ab7c.js +1 -0
  648. package/app/.next-cli-build/static/chunks/app/api/models/order/route-eb759813c7c6ab7c.js +1 -0
  649. package/app/.next-cli-build/static/chunks/app/api/models/route-eb759813c7c6ab7c.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/models/test/route-eb759813c7c6ab7c.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-eb759813c7c6ab7c.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-eb759813c7c6ab7c.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-eb759813c7c6ab7c.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-eb759813c7c6ab7c.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-eb759813c7c6ab7c.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-eb759813c7c6ab7c.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-eb759813c7c6ab7c.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-eb759813c7c6ab7c.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-eb759813c7c6ab7c.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-eb759813c7c6ab7c.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/pricing/route-eb759813c7c6ab7c.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-eb759813c7c6ab7c.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-eb759813c7c6ab7c.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-eb759813c7c6ab7c.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-eb759813c7c6ab7c.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-eb759813c7c6ab7c.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-eb759813c7c6ab7c.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-eb759813c7c6ab7c.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-eb759813c7c6ab7c.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-eb759813c7c6ab7c.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/providers/route-eb759813c7c6ab7c.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-eb759813c7c6ab7c.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-eb759813c7c6ab7c.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-eb759813c7c6ab7c.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-eb759813c7c6ab7c.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-eb759813c7c6ab7c.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-eb759813c7c6ab7c.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-eb759813c7c6ab7c.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-eb759813c7c6ab7c.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-eb759813c7c6ab7c.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-eb759813c7c6ab7c.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/settings/route-eb759813c7c6ab7c.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-eb759813c7c6ab7c.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/tags/route-eb759813c7c6ab7c.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-eb759813c7c6ab7c.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-eb759813c7c6ab7c.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-eb759813c7c6ab7c.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-eb759813c7c6ab7c.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-eb759813c7c6ab7c.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-eb759813c7c6ab7c.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-eb759813c7c6ab7c.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-eb759813c7c6ab7c.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-eb759813c7c6ab7c.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-eb759813c7c6ab7c.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-eb759813c7c6ab7c.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-eb759813c7c6ab7c.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-eb759813c7c6ab7c.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-eb759813c7c6ab7c.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-eb759813c7c6ab7c.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-eb759813c7c6ab7c.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-eb759813c7c6ab7c.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-eb759813c7c6ab7c.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-eb759813c7c6ab7c.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-eb759813c7c6ab7c.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-eb759813c7c6ab7c.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-eb759813c7c6ab7c.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-eb759813c7c6ab7c.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-eb759813c7c6ab7c.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-eb759813c7c6ab7c.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-eb759813c7c6ab7c.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-eb759813c7c6ab7c.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-eb759813c7c6ab7c.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-eb759813c7c6ab7c.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-eb759813c7c6ab7c.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-eb759813c7c6ab7c.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-eb759813c7c6ab7c.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-eb759813c7c6ab7c.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-eb759813c7c6ab7c.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-eb759813c7c6ab7c.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-eb759813c7c6ab7c.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-eb759813c7c6ab7c.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/v1/route-eb759813c7c6ab7c.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-eb759813c7c6ab7c.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-eb759813c7c6ab7c.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-eb759813c7c6ab7c.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-eb759813c7c6ab7c.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/version/route-eb759813c7c6ab7c.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-eb759813c7c6ab7c.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/version/update/route-eb759813c7c6ab7c.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/login/page-756b163b5203414c.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-eb759813c7c6ab7c.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/page-eb759813c7c6ab7c.js +1 -0
  733. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-eb759813c7c6ab7c.js +1 -0
  734. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-eb759813c7c6ab7c.js +1 -0
  735. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-eb759813c7c6ab7c.js +1 -0
  736. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-eb759813c7c6ab7c.js +1 -0
  737. package/app/.next-cli-build/static/css/{1db2ff3a7369d178.css → 8f5036fca165eebd.css} +1 -1
  738. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.4.47-to-0.4.53-0.4.53-20260518-093628 → upgrade-0.4.55-to-0.4.56-0.4.56-20260521-162223}/data.sqlite +0 -0
  739. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.4.46-to-0.4.47-0.4.47-20260516-124227 → upgrade-0.4.56-to-0.4.59-0.4.59-20260522-103707}/data.sqlite +0 -0
  740. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  741. package/app/package.json +1 -1
  742. package/app/src/lib/oauth/services/xai.js +238 -0
  743. package/app/src/mitm/server.js +23 -23
  744. package/cli.js +12 -12
  745. package/package.json +1 -1
  746. package/src/cli/api/client.js +20 -1
  747. package/app/.next-cli-build/server/chunks/2549.js +0 -1
  748. package/app/.next-cli-build/server/chunks/4884.js +0 -13
  749. package/app/.next-cli-build/server/chunks/7501.js +0 -1
  750. package/app/.next-cli-build/server/chunks/7828.js +0 -1
  751. package/app/.next-cli-build/server/chunks/8491.js +0 -1
  752. package/app/.next-cli-build/static/chunks/1321-d037a8598e0ed4cf.js +0 -1
  753. package/app/.next-cli-build/static/chunks/5497-ebaac20f2fcfd25c.js +0 -7
  754. package/app/.next-cli-build/static/chunks/914-5d7d110eb3b938ed.js +0 -3
  755. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-0834cdd2712e896e.js +0 -1
  756. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-6dab1b1de42ced97.js +0 -3
  757. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-44a8b419b6016726.js +0 -1
  758. package/app/.next-cli-build/static/chunks/app/_global-error/page-6b02c15143bc1cca.js +0 -1
  759. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-6b02c15143bc1cca.js +0 -1
  760. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-6b02c15143bc1cca.js +0 -1
  761. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-6b02c15143bc1cca.js +0 -1
  762. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-6b02c15143bc1cca.js +0 -1
  763. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-6b02c15143bc1cca.js +0 -1
  764. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-6b02c15143bc1cca.js +0 -1
  765. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-6b02c15143bc1cca.js +0 -1
  766. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6b02c15143bc1cca.js +0 -1
  767. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-6b02c15143bc1cca.js +0 -1
  768. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-6b02c15143bc1cca.js +0 -1
  769. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-6b02c15143bc1cca.js +0 -1
  770. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-6b02c15143bc1cca.js +0 -1
  771. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-6b02c15143bc1cca.js +0 -1
  772. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-6b02c15143bc1cca.js +0 -1
  773. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-6b02c15143bc1cca.js +0 -1
  774. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-6b02c15143bc1cca.js +0 -1
  775. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-6b02c15143bc1cca.js +0 -1
  776. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-6b02c15143bc1cca.js +0 -1
  777. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-6b02c15143bc1cca.js +0 -1
  778. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-6b02c15143bc1cca.js +0 -1
  779. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-6b02c15143bc1cca.js +0 -1
  780. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-6b02c15143bc1cca.js +0 -1
  781. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-6b02c15143bc1cca.js +0 -1
  782. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-6b02c15143bc1cca.js +0 -1
  783. package/app/.next-cli-build/static/chunks/app/api/combos/route-6b02c15143bc1cca.js +0 -1
  784. package/app/.next-cli-build/static/chunks/app/api/health/route-6b02c15143bc1cca.js +0 -1
  785. package/app/.next-cli-build/static/chunks/app/api/init/route-6b02c15143bc1cca.js +0 -1
  786. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-6b02c15143bc1cca.js +0 -1
  787. package/app/.next-cli-build/static/chunks/app/api/keys/route-6b02c15143bc1cca.js +0 -1
  788. package/app/.next-cli-build/static/chunks/app/api/locale/route-6b02c15143bc1cca.js +0 -1
  789. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-6b02c15143bc1cca.js +0 -1
  790. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-6b02c15143bc1cca.js +0 -1
  791. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-6b02c15143bc1cca.js +0 -1
  792. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-6b02c15143bc1cca.js +0 -1
  793. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-6b02c15143bc1cca.js +0 -1
  794. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-6b02c15143bc1cca.js +0 -1
  795. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-6b02c15143bc1cca.js +0 -1
  796. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-6b02c15143bc1cca.js +0 -1
  797. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-6b02c15143bc1cca.js +0 -1
  798. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-6b02c15143bc1cca.js +0 -1
  799. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-6b02c15143bc1cca.js +0 -1
  800. package/app/.next-cli-build/static/chunks/app/api/models/route-6b02c15143bc1cca.js +0 -1
  801. package/app/.next-cli-build/static/chunks/app/api/models/test/route-6b02c15143bc1cca.js +0 -1
  802. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-6b02c15143bc1cca.js +0 -1
  803. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-6b02c15143bc1cca.js +0 -1
  804. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-6b02c15143bc1cca.js +0 -1
  805. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-6b02c15143bc1cca.js +0 -1
  806. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-6b02c15143bc1cca.js +0 -1
  807. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-6b02c15143bc1cca.js +0 -1
  808. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-6b02c15143bc1cca.js +0 -1
  809. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-6b02c15143bc1cca.js +0 -1
  810. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-6b02c15143bc1cca.js +0 -1
  811. package/app/.next-cli-build/static/chunks/app/api/pricing/route-6b02c15143bc1cca.js +0 -1
  812. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-6b02c15143bc1cca.js +0 -1
  813. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-6b02c15143bc1cca.js +0 -1
  814. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-6b02c15143bc1cca.js +0 -1
  815. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-6b02c15143bc1cca.js +0 -1
  816. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-6b02c15143bc1cca.js +0 -1
  817. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-6b02c15143bc1cca.js +0 -1
  818. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-6b02c15143bc1cca.js +0 -1
  819. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-6b02c15143bc1cca.js +0 -1
  820. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-6b02c15143bc1cca.js +0 -1
  821. package/app/.next-cli-build/static/chunks/app/api/providers/route-6b02c15143bc1cca.js +0 -1
  822. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-6b02c15143bc1cca.js +0 -1
  823. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-6b02c15143bc1cca.js +0 -1
  824. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-6b02c15143bc1cca.js +0 -1
  825. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-6b02c15143bc1cca.js +0 -1
  826. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-6b02c15143bc1cca.js +0 -1
  827. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-6b02c15143bc1cca.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-6b02c15143bc1cca.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-6b02c15143bc1cca.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-6b02c15143bc1cca.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-6b02c15143bc1cca.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/api/settings/route-6b02c15143bc1cca.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-6b02c15143bc1cca.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/api/tags/route-6b02c15143bc1cca.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-6b02c15143bc1cca.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-6b02c15143bc1cca.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-6b02c15143bc1cca.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-6b02c15143bc1cca.js +0 -1
  839. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-6b02c15143bc1cca.js +0 -1
  840. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-6b02c15143bc1cca.js +0 -1
  841. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-6b02c15143bc1cca.js +0 -1
  842. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-6b02c15143bc1cca.js +0 -1
  843. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-6b02c15143bc1cca.js +0 -1
  844. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-6b02c15143bc1cca.js +0 -1
  845. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-6b02c15143bc1cca.js +0 -1
  846. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-6b02c15143bc1cca.js +0 -1
  847. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-6b02c15143bc1cca.js +0 -1
  848. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-6b02c15143bc1cca.js +0 -1
  849. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-6b02c15143bc1cca.js +0 -1
  850. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-6b02c15143bc1cca.js +0 -1
  851. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-6b02c15143bc1cca.js +0 -1
  852. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-6b02c15143bc1cca.js +0 -1
  853. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-6b02c15143bc1cca.js +0 -1
  854. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-6b02c15143bc1cca.js +0 -1
  855. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-6b02c15143bc1cca.js +0 -1
  856. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-6b02c15143bc1cca.js +0 -1
  857. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-6b02c15143bc1cca.js +0 -1
  858. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-6b02c15143bc1cca.js +0 -1
  859. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-6b02c15143bc1cca.js +0 -1
  860. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-6b02c15143bc1cca.js +0 -1
  861. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-6b02c15143bc1cca.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-6b02c15143bc1cca.js +0 -1
  863. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-6b02c15143bc1cca.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-6b02c15143bc1cca.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-6b02c15143bc1cca.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-6b02c15143bc1cca.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-6b02c15143bc1cca.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-6b02c15143bc1cca.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-6b02c15143bc1cca.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-6b02c15143bc1cca.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-6b02c15143bc1cca.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/v1/route-6b02c15143bc1cca.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-6b02c15143bc1cca.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-6b02c15143bc1cca.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-6b02c15143bc1cca.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-6b02c15143bc1cca.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/version/route-6b02c15143bc1cca.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-6b02c15143bc1cca.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/version/update/route-6b02c15143bc1cca.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/login/page-ecf983fcd7ff9995.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-6b02c15143bc1cca.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/page-6b02c15143bc1cca.js +0 -1
  883. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-6b02c15143bc1cca.js +0 -1
  884. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-6b02c15143bc1cca.js +0 -1
  885. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-6b02c15143bc1cca.js +0 -1
  886. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-6b02c15143bc1cca.js +0 -1
  887. package/app/.next-cli-build/static/ufC8FPl2yBPeh7OMV4m8N/_buildManifest.js +0 -1
  888. /package/app/.next-cli-build/static/{ufC8FPl2yBPeh7OMV4m8N → Y7UbUy_s5WLTuHEIbjB6o}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- "use strict";exports.id=2409,exports.ids=[2409],exports.modules={62409:(a,b,c)=>{c.d(b,{v:()=>f});var d=c(92990);let e="https://prod.us-east-1.auth.desktop.kiro.dev";class f{async registerClient(a="us-east-1"){let b=`https://oidc.${a}.amazonaws.com/client/register`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientName:d.Tx.clientName,clientType:d.Tx.clientType,scopes:d.Tx.scopes,grantTypes:d.Tx.grantTypes,issuerUrl:d.Tx.issuerUrl})});if(!c.ok){let a=await c.text();throw Error(`Failed to register client: ${a}`)}let e=await c.json();return{clientId:e.clientId,clientSecret:e.clientSecret,clientSecretExpiresAt:e.clientSecretExpiresAt}}async startDeviceAuthorization(a,b,c,d="us-east-1"){let e=`https://oidc.${d}.amazonaws.com/device_authorization`,f=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:a,clientSecret:b,startUrl:c})});if(!f.ok){let a=await f.text();throw Error(`Failed to start device authorization: ${a}`)}let g=await f.json();return{deviceCode:g.deviceCode,userCode:g.userCode,verificationUri:g.verificationUri,verificationUriComplete:g.verificationUriComplete,expiresIn:g.expiresIn,interval:g.interval||5}}async pollDeviceToken(a,b,c,d="us-east-1"){let e=`https://oidc.${d}.amazonaws.com/token`,f=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:a,clientSecret:b,deviceCode:c,grantType:"urn:ietf:params:oauth:grant-type:device_code"})}),g=await f.json();return!f.ok||g.error?{success:!1,error:g.error,errorDescription:g.error_description,pending:"authorization_pending"===g.error||"slow_down"===g.error}:{success:!0,tokens:{accessToken:g.accessToken,refreshToken:g.refreshToken,expiresIn:g.expiresIn,tokenType:g.tokenType}}}buildSocialLoginUrl(a,b,c){return`${e}/login?idp=${"google"===a?"Google":"Github"}&redirect_uri=${encodeURIComponent("kiro://kiro.kiroAgent/authenticate-success")}&code_challenge=${b}&code_challenge_method=S256&state=${c}&prompt=select_account`}async exchangeSocialCode(a,b){let c=await fetch(`${e}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,code_verifier:b,redirect_uri:"kiro://kiro.kiroAgent/authenticate-success"})});if(!c.ok){let a=await c.text();throw Error(`Token exchange failed: ${a}`)}let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken,profileArn:d.profileArn,expiresIn:d.expiresIn||3600}}async refreshToken(a,b={}){let{authMethod:c,clientId:d,clientSecret:f,region:g}=b;if(d&&f){let b=`https://oidc.${g||"us-east-1"}.amazonaws.com/token`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:d,clientSecret:f,refreshToken:a,grantType:"refresh_token"})});if(!c.ok){let a=await c.text();throw Error(`Token refresh failed: ${a}`)}let e=await c.json();return{accessToken:e.accessToken,refreshToken:e.refreshToken||a,expiresIn:e.expiresIn}}let h=await fetch(`${e}/refreshToken`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:a})});if(!h.ok){let a=await h.text();throw Error(`Token refresh failed: ${a}`)}let i=await h.json();return{accessToken:i.accessToken,refreshToken:i.refreshToken||a,profileArn:i.profileArn,expiresIn:i.expiresIn||3600}}async validateImportToken(a){if(!a.startsWith("aorAAAAAG"))throw Error("Invalid token format. Token should start with aorAAAAAG...");try{let b=await this.refreshToken(a);return{accessToken:b.accessToken,refreshToken:b.refreshToken||a,profileArn:b.profileArn,expiresIn:b.expiresIn,authMethod:"imported"}}catch(a){throw Error(`Token validation failed: ${a.message}`)}}async listAvailableModels(a,b){let c=await fetch("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.ListAvailableModels",Authorization:`Bearer ${a}`,Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:b})});if(!c.ok){let a=await c.text();throw Error(`Failed to list models: ${a}`)}return((await c.json()).models||[]).map(a=>({id:a.modelId,name:a.modelName||a.modelId,description:a.description,rateMultiplier:a.rateMultiplier,rateUnit:a.rateUnit,maxInputTokens:a.tokenLimits?.maxInputTokens||0}))}extractEmailFromJWT(a){try{let b=a.split(".");if(3!==b.length)return null;let c=b[1];for(;c.length%4;)c+="=";let d=JSON.parse(atob(c.replace(/-/g,"+").replace(/_/g,"/")));return d.email||d.preferred_username||d.sub}catch{return null}}}},92990:(a,b,c)=>{c.d(b,{DI:()=>e,Hp:()=>g,LT:()=>f,MZ:()=>o,Nl:()=>r,Nu:()=>k,OV:()=>d,Tx:()=>l,WN:()=>m,YT:()=>j,ZL:()=>i,f7:()=>q,hF:()=>h,lB:()=>p,t:()=>n}),c(21820);let d={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},e={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},f={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},g={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},h={apiBaseUrl:"https://api2.qoder.sh",deviceTokenUrl:"https://api2.qoder.sh/api/v1/deviceToken/poll",deviceRefreshUrl:"https://api2.qoder.sh/api/v1/deviceToken/refresh",refreshUrl:"https://api2.qoder.sh/api/v3/user/refresh_token",userInfoUrl:"https://api2.qoder.sh/api/v1/userinfo",statusUrl:"https://api2.qoder.sh/api/v3/user/status",loginUrl:"https://qoder.com/login"},i={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},j={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:"IDE_UNSPECIFIED",platform:"PLATFORM_UNSPECIFIED",pluginType:"GEMINI"})},k={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},l={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},m={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},n={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},o={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},p={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},q={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},r={baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3}}};
1
+ "use strict";exports.id=2409,exports.ids=[2409],exports.modules={62409:(a,b,c)=>{c.d(b,{v:()=>f});var d=c(92990);let e="https://prod.us-east-1.auth.desktop.kiro.dev";class f{async registerClient(a="us-east-1"){let b=`https://oidc.${a}.amazonaws.com/client/register`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientName:d.Tx.clientName,clientType:d.Tx.clientType,scopes:d.Tx.scopes,grantTypes:d.Tx.grantTypes,issuerUrl:d.Tx.issuerUrl})});if(!c.ok){let a=await c.text();throw Error(`Failed to register client: ${a}`)}let e=await c.json();return{clientId:e.clientId,clientSecret:e.clientSecret,clientSecretExpiresAt:e.clientSecretExpiresAt}}async startDeviceAuthorization(a,b,c,d="us-east-1"){let e=`https://oidc.${d}.amazonaws.com/device_authorization`,f=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:a,clientSecret:b,startUrl:c})});if(!f.ok){let a=await f.text();throw Error(`Failed to start device authorization: ${a}`)}let g=await f.json();return{deviceCode:g.deviceCode,userCode:g.userCode,verificationUri:g.verificationUri,verificationUriComplete:g.verificationUriComplete,expiresIn:g.expiresIn,interval:g.interval||5}}async pollDeviceToken(a,b,c,d="us-east-1"){let e=`https://oidc.${d}.amazonaws.com/token`,f=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:a,clientSecret:b,deviceCode:c,grantType:"urn:ietf:params:oauth:grant-type:device_code"})}),g=await f.json();return!f.ok||g.error?{success:!1,error:g.error,errorDescription:g.error_description,pending:"authorization_pending"===g.error||"slow_down"===g.error}:{success:!0,tokens:{accessToken:g.accessToken,refreshToken:g.refreshToken,expiresIn:g.expiresIn,tokenType:g.tokenType}}}buildSocialLoginUrl(a,b,c){return`${e}/login?idp=${"google"===a?"Google":"Github"}&redirect_uri=${encodeURIComponent("kiro://kiro.kiroAgent/authenticate-success")}&code_challenge=${b}&code_challenge_method=S256&state=${c}&prompt=select_account`}async exchangeSocialCode(a,b){let c=await fetch(`${e}/oauth/token`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({code:a,code_verifier:b,redirect_uri:"kiro://kiro.kiroAgent/authenticate-success"})});if(!c.ok){let a=await c.text();throw Error(`Token exchange failed: ${a}`)}let d=await c.json();return{accessToken:d.accessToken,refreshToken:d.refreshToken,profileArn:d.profileArn,expiresIn:d.expiresIn||3600}}async refreshToken(a,b={}){let{authMethod:c,clientId:d,clientSecret:f,region:g}=b;if(d&&f){let b=`https://oidc.${g||"us-east-1"}.amazonaws.com/token`,c=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({clientId:d,clientSecret:f,refreshToken:a,grantType:"refresh_token"})});if(!c.ok){let a=await c.text();throw Error(`Token refresh failed: ${a}`)}let e=await c.json();return{accessToken:e.accessToken,refreshToken:e.refreshToken||a,expiresIn:e.expiresIn}}let h=await fetch(`${e}/refreshToken`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:a})});if(!h.ok){let a=await h.text();throw Error(`Token refresh failed: ${a}`)}let i=await h.json();return{accessToken:i.accessToken,refreshToken:i.refreshToken||a,profileArn:i.profileArn,expiresIn:i.expiresIn||3600}}async validateImportToken(a){if(!a.startsWith("aorAAAAAG"))throw Error("Invalid token format. Token should start with aorAAAAAG...");try{let b=await this.refreshToken(a);return{accessToken:b.accessToken,refreshToken:b.refreshToken||a,profileArn:b.profileArn,expiresIn:b.expiresIn,authMethod:"imported"}}catch(a){throw Error(`Token validation failed: ${a.message}`)}}async listAvailableModels(a,b){let c=await fetch("https://codewhisperer.us-east-1.amazonaws.com",{method:"POST",headers:{"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.ListAvailableModels",Authorization:`Bearer ${a}`,Accept:"application/json"},body:JSON.stringify({origin:"AI_EDITOR",profileArn:b})});if(!c.ok){let a=await c.text();throw Error(`Failed to list models: ${a}`)}return((await c.json()).models||[]).map(a=>({id:a.modelId,name:a.modelName||a.modelId,description:a.description,rateMultiplier:a.rateMultiplier,rateUnit:a.rateUnit,maxInputTokens:a.tokenLimits?.maxInputTokens||0}))}extractEmailFromJWT(a){try{let b=a.split(".");if(3!==b.length)return null;let c=b[1];for(;c.length%4;)c+="=";let d=JSON.parse(atob(c.replace(/-/g,"+").replace(/_/g,"/")));return d.email||d.preferred_username||d.sub}catch{return null}}}},92990:(a,b,c)=>{c.d(b,{DI:()=>g,Hp:()=>i,LT:()=>h,MZ:()=>r,Nl:()=>u,Nu:()=>n,OV:()=>f,Tx:()=>o,WN:()=>p,Ww:()=>v,YT:()=>l,ZL:()=>k,cD:()=>m,f7:()=>t,hF:()=>j,lB:()=>s,t:()=>q});var d=c(21820);function e(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let f={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},g={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},h={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},i={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},j={apiBaseUrl:"https://api2.qoder.sh",deviceTokenUrl:"https://api2.qoder.sh/api/v1/deviceToken/poll",deviceRefreshUrl:"https://api2.qoder.sh/api/v1/deviceToken/refresh",refreshUrl:"https://api2.qoder.sh/api/v3/user/refresh_token",userInfoUrl:"https://api2.qoder.sh/api/v1/userinfo",statusUrl:"https://api2.qoder.sh/api/v3/user/status",loginUrl:"https://qoder.com/login"},k={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},l={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:e(),pluginType:2})};function m(){return{ideType:9,platform:e(),pluginType:2}}let n={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},o={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},p={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},q={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},r={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},s={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},t={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},u={baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},v=3e5}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=2506,exports.ids=[2506],exports.modules={12506:(a,b,c)=>{c.d(b,{A1:()=>L,Kp:()=>H,LC:()=>U,OZ:()=>R,PZ:()=>W,S3:()=>V,Z2:()=>v,a$:()=>G,c$:()=>T,hp:()=>I,xh:()=>E});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(55511),k=c.n(j),l=c(79646),m=c(28354),n=c(66936);c(85567);var o=c(49120);let p=(0,m.promisify)(l.exec),q=g().join(o.DATA_DIR,"bin"),r="darwin"===i().platform();i().platform();let s="win32"===i().platform(),t=g().join(q,s?"tailscale.exe":"tailscale"),u=g().join(o.DATA_DIR,"tailscale"),v=g().join(u,"tailscaled.sock"),w=s?[]:["--socket",v],x="C:\\Program Files\\Tailscale\\tailscale.exe",y=["/usr/local/bin/tailscale","/opt/homebrew/bin/tailscale","/usr/bin/tailscale"],z={value:void 0,fetchedAt:0,refreshing:!1},A={value:!1,fetchedAt:0,refreshing:!1},B={value:null,port:null,fetchedAt:0,refreshing:!1};function C(){return e().existsSync(t)?t:s&&e().existsSync(x)?x:!s&&y.find(a=>e().existsSync(a))||null}function D(){return Date.now()-z.fetchedAt>1e4&&(z.refreshing||(z.refreshing=!0,p("which tailscale 2>/dev/null || where tailscale 2>nul",{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{z.value=a.trim()||C()}).catch(()=>{z.value=C()}).finally(()=>{z.fetchedAt=Date.now(),z.refreshing=!1}))),void 0===z.value&&(e().existsSync(t)?z.value=t:s&&e().existsSync(x)?z.value=x:s?z.value=null:z.value=y.find(a=>e().existsSync(a))||null),z.value}function E(){return null!==D()}function F(...a){return[...w,...a]}function G(){let a=D();if(!a)return!1;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:M},timeout:5e3}),c=JSON.parse(b);return"Running"===c.BackendState&&c.Self?.Online===!0}catch(a){return!1}}function H(){return Date.now()-A.fetchedAt>1e4&&function(){if(A.refreshing)return;let a=D();if(!a){A.value=!1,A.fetchedAt=Date.now();return}A.refreshing=!0,p(`"${a}" ${w.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a);A.value=Object.keys(b.AllowFunnel||{}).length>0}catch{A.value=!1}}).catch(()=>{A.value=!1}).finally(()=>{A.fetchedAt=Date.now(),A.refreshing=!1})}(),A.value}function I(){let a=D();if(!a)return!1;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} funnel status --json 2>/dev/null`,{encoding:"utf8",windowsHide:!0,timeout:1500}),c=JSON.parse(b),d=Object.keys(c.AllowFunnel||{}).length>0;return A.value=d,A.fetchedAt=Date.now(),d}catch{return!1}}function J(){let a=D();if(!a)return null;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:M},timeout:5e3}),c=JSON.parse(b),d=c.Self?.DNSName?.replace(/\.$/,"");return d?`https://${d}`:null}catch{return null}}function K(a){return(Date.now()-B.fetchedAt>1e4||B.port!==a)&&function(a){if(B.refreshing)return;let b=D();b&&(B.refreshing=!0,p(`"${b}" ${w.join(" ")} status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a),c=b.Self?.DNSName?.replace(/\.$/,"");B.value=c?`https://${c}`:null}catch{}}).catch(()=>{}).finally(()=>{B.port=a,B.fetchedAt=Date.now(),B.refreshing=!1}))}(a),B.value}async function L(a,b,c){let d=c||(()=>{});return s?(await P(d),{success:!0}):(r?await N(a,d):await O(a,d),d("Starting daemon..."),await R(a),d("Logging in..."),T(b))}let M=`/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:${process.env.PATH||""}`;async function N(a,b){if(function(){try{return(0,l.execSync)("which brew",{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:M}}),!0}catch{return!1}}()){b("Installing via Homebrew..."),await new Promise((a,c)=>{let d=(0,l.spawn)("brew",["install","tailscale"],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,PATH:M}});d.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.on("close",b=>{0===b?a():c(Error(`brew install failed (code ${b})`))}),d.on("error",c)});return}let c=g().join(i().tmpdir(),"tailscale.pkg");b("Downloading Tailscale package..."),await new Promise((a,d)=>{let e=(0,l.spawn)("curl",["-fL","--progress-bar","https://pkgs.tailscale.com/stable/tailscale-latest.pkg","-o",c],{stdio:["ignore","pipe","pipe"],windowsHide:!0});e.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),e.on("close",b=>{0===b?a():d(Error("Download failed"))}),e.on("error",d)}),b("Installing package..."),await new Promise((d,e)=>{let f=(0,l.spawn)("sudo",["-S","installer","-pkg",c,"-target","/"],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),g="";f.stderr.on("data",a=>{g+=a.toString()}),f.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),f.on("close",a=>{try{(0,l.execSync)(`rm -f ${c}`,{stdio:"ignore",windowsHide:!0})}catch{}0===a?d():e(Error(g.includes("incorrect password")||g.includes("Sorry")?"Wrong sudo password":g||`Exit code ${a}`))}),f.on("error",e),f.stdin.write(`${a}
1
+ "use strict";exports.id=2506,exports.ids=[2506],exports.modules={12506:(a,b,c)=>{c.d(b,{A1:()=>L,Kp:()=>H,LC:()=>U,OZ:()=>R,PZ:()=>W,S3:()=>V,Z2:()=>v,a$:()=>G,c$:()=>T,hp:()=>I,xh:()=>E});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(55511),k=c.n(j),l=c(79646),m=c(28354),n=c(66936);c(85567);var o=c(49120);let p=(0,m.promisify)(l.exec),q=g().join(o.DATA_DIR,"bin"),r="darwin"===i().platform();i().platform();let s="win32"===i().platform(),t=g().join(q,s?"tailscale.exe":"tailscale"),u=g().join(o.DATA_DIR,"tailscale"),v=g().join(u,"tailscaled.sock"),w=s?[]:["--socket",v],x="C:\\Program Files\\Tailscale\\tailscale.exe",y=["/usr/local/bin/tailscale","/opt/homebrew/bin/tailscale","/usr/bin/tailscale"],z={value:void 0,fetchedAt:0,refreshing:!1},A={value:!1,fetchedAt:0,refreshing:!1},B={value:null,port:null,fetchedAt:0,refreshing:!1};function C(){return e().existsSync(t)?t:s&&e().existsSync(x)?x:!s&&y.find(a=>e().existsSync(a))||null}function D(){return Date.now()-z.fetchedAt>1e4&&(z.refreshing||(z.refreshing=!0,p(s?"where tailscale 2>nul":"which tailscale 2>/dev/null",{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{z.value=a.trim()||C()}).catch(()=>{z.value=C()}).finally(()=>{z.fetchedAt=Date.now(),z.refreshing=!1}))),void 0===z.value&&(e().existsSync(t)?z.value=t:s&&e().existsSync(x)?z.value=x:s?z.value=null:z.value=y.find(a=>e().existsSync(a))||null),z.value}function E(){return null!==D()}function F(...a){return[...w,...a]}function G(){let a=D();if(!a)return!1;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:M},timeout:5e3}),c=JSON.parse(b);return"Running"===c.BackendState&&c.Self?.Online===!0}catch(a){return!1}}function H(){return Date.now()-A.fetchedAt>1e4&&function(){if(A.refreshing)return;let a=D();if(!a){A.value=!1,A.fetchedAt=Date.now();return}A.refreshing=!0,p(`"${a}" ${w.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a);A.value=Object.keys(b.AllowFunnel||{}).length>0}catch{A.value=!1}}).catch(()=>{A.value=!1}).finally(()=>{A.fetchedAt=Date.now(),A.refreshing=!1})}(),A.value}function I(){let a=D();if(!a)return!1;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} funnel status --json`,{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"],timeout:1500}),c=JSON.parse(b),d=Object.keys(c.AllowFunnel||{}).length>0;return A.value=d,A.fetchedAt=Date.now(),d}catch{return!1}}function J(){let a=D();if(!a)return null;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:M},timeout:5e3}),c=JSON.parse(b),d=c.Self?.DNSName?.replace(/\.$/,"");return d?`https://${d}`:null}catch{return null}}function K(a){return(Date.now()-B.fetchedAt>1e4||B.port!==a)&&function(a){if(B.refreshing)return;let b=D();b&&(B.refreshing=!0,p(`"${b}" ${w.join(" ")} status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a),c=b.Self?.DNSName?.replace(/\.$/,"");B.value=c?`https://${c}`:null}catch{}}).catch(()=>{}).finally(()=>{B.port=a,B.fetchedAt=Date.now(),B.refreshing=!1}))}(a),B.value}async function L(a,b,c){let d=c||(()=>{});return s?(await P(d),{success:!0}):(r?await N(a,d):await O(a,d),d("Starting daemon..."),await R(a),d("Logging in..."),T(b))}let M=`/usr/local/bin:/opt/homebrew/bin:/usr/bin:/bin:${process.env.PATH||""}`;async function N(a,b){if(function(){try{return(0,l.execSync)("which brew",{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:M}}),!0}catch{return!1}}()){b("Installing via Homebrew..."),await new Promise((a,c)=>{let d=(0,l.spawn)("brew",["install","tailscale"],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,PATH:M}});d.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),d.on("close",b=>{0===b?a():c(Error(`brew install failed (code ${b})`))}),d.on("error",c)});return}let c=g().join(i().tmpdir(),"tailscale.pkg");b("Downloading Tailscale package..."),await new Promise((a,d)=>{let e=(0,l.spawn)("curl",["-fL","--progress-bar","https://pkgs.tailscale.com/stable/tailscale-latest.pkg","-o",c],{stdio:["ignore","pipe","pipe"],windowsHide:!0});e.stderr.on("data",a=>{let c=a.toString().trim();c&&b(c)}),e.on("close",b=>{0===b?a():d(Error("Download failed"))}),e.on("error",d)}),b("Installing package..."),await new Promise((d,e)=>{let f=(0,l.spawn)("sudo",["-S","installer","-pkg",c,"-target","/"],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),g="";f.stderr.on("data",a=>{g+=a.toString()}),f.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),f.on("close",a=>{try{(0,l.execSync)(`rm -f ${c}`,{stdio:"ignore",windowsHide:!0})}catch{}0===a?d():e(Error(g.includes("incorrect password")||g.includes("Sorry")?"Wrong sudo password":g||`Exit code ${a}`))}),f.on("error",e),f.stdin.write(`${a}
2
2
  `),f.stdin.end()})}async function O(a,b){if("string"!=typeof a||a.includes("\n"))throw Error("Invalid sudo password");return b("Downloading install script..."),new Promise((c,d)=>{let f=(0,l.spawn)("curl",["-fsSL","https://tailscale.com/install.sh"],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),h="",j="";f.stdout.on("data",a=>{h+=a.toString()}),f.stderr.on("data",a=>{j+=a.toString()}),f.on("exit",f=>{if(0!==f)return d(Error(`Failed to download install script: ${j}`));b("Running install script...");let m=g().join(i().tmpdir(),`tailscale-install-${k().randomBytes(8).toString("hex")}.sh`);try{e().writeFileSync(m,h,{mode:448})}catch(a){return d(Error(`Failed to write install script: ${a.message}`))}let n=()=>{try{e().unlinkSync(m)}catch{}},o=(0,l.spawn)("sudo",["-S","sh",m],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),p="";o.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),o.stderr.on("data",a=>{p+=a.toString()}),o.on("close",a=>{n(),0===a?c():d(Error(p.includes("incorrect password")||p.includes("Sorry")?"Wrong sudo password":p||`Exit code ${a}`))}),o.on("error",a=>{n(),d(a)}),o.stdin.write(`${a}
3
3
  `),o.stdin.end()}),f.on("error",d)})}async function P(a){let b=g().join(i().tmpdir(),"tailscale-setup.msi");a("Downloading Tailscale installer..."),await new Promise((c,d)=>{let e=(0,l.spawn)("curl.exe",["-L","-#","-o",b,"https://pkgs.tailscale.com/stable/tailscale-setup-latest-amd64.msi"],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),f="";e.stderr.on("data",b=>{let c=b.toString().match(/(\d+\.\d)%/);c&&c[1]!==f&&(f=c[1],a(`Downloading... ${f}%`))}),e.on("close",a=>0===a?c():d(Error("Download failed"))),e.on("error",d)}),a("Installing Tailscale (UAC prompt may appear)..."),await new Promise((c,d)=>{let f=`'/i','${b}','TS_NOLAUNCH=true','/quiet','/norestart'`,g=(0,l.spawn)("powershell",["-NoProfile","-NonInteractive","-Command",`Start-Process msiexec -ArgumentList ${f} -Verb RunAs -Wait`],{stdio:["ignore","pipe","pipe"],windowsHide:!0});g.stderr.on("data",b=>{let c=b.toString().trim();c&&a(c)}),g.on("close",a=>{try{e().unlinkSync(b)}catch{}0===a?c():d(Error(`msiexec failed (code ${a})`))}),g.on("error",d)}),a("Verifying installation...");let c=Date.now();for(;Date.now()-c<1e4;){if(e().existsSync(x))return void a("Installation complete.");await new Promise(a=>setTimeout(a,1e3))}throw Error("Installation finished but tailscale.exe not found")}async function Q(a){try{if(!e().existsSync(a))return void e().mkdirSync(a,{recursive:!0});let b=process.getuid(),c=process.getgid();if(!(()=>{let c=[a];for(;c.length;){let a=c.pop();try{let d=e().statSync(a);if(d.uid!==b)return!0;if(d.isDirectory())for(let b of e().readdirSync(a))c.push(g().join(a,b))}catch{}}return!1})())return;try{(0,l.execSync)(`chown -R ${b}:${c} "${a}"`,{stdio:"ignore",timeout:3e3})}catch{try{(0,l.execSync)(`sudo -n chown -R ${b}:${c} "${a}"`,{stdio:"ignore",timeout:3e3})}catch{}}}catch{}}async function R(a){if(s){let a=D();console.log("[Tailscale] win: net start Tailscale");try{(0,l.execSync)("net start Tailscale",{stdio:"ignore",windowsHide:!0,timeout:1e4})}catch{}if(!a)return;for(let b=0;b<20;b++){try{let c=(0,l.execSync)(`"${a}" status --json`,{encoding:"utf8",windowsHide:!0,timeout:2e3}),d=JSON.parse(c);if(d.BackendState&&"NoState"!==d.BackendState)return void console.log(`[Tailscale] win: BackendState=${d.BackendState} after ${500*b}ms`)}catch{}await new Promise(a=>setTimeout(a,500))}console.log("[Tailscale] win: BackendState still NoState after poll");return}let b=!!a,c=function(){try{let a=(0,l.execSync)(`pgrep -af "tailscaled.*${v}"`,{encoding:"utf8",timeout:2e3}).trim();if(!a)return null;return!a.includes("--tun=userspace-networking")}catch{return null}}();if(null!==c&&c===b)try{let a=D()||"tailscale";(0,l.execSync)(`"${a}" ${w.join(" ")} status --json`,{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:M},timeout:3e3});return}catch{}try{(0,l.execSync)(`pkill -9 -f "tailscaled.*${v}"`,{stdio:"ignore",timeout:3e3})}catch{}if(a)try{await (0,n.execWithPassword)(`pkill -9 -f "tailscaled.*${v}"`,a)}catch{}else try{(0,l.execSync)(`sudo -n pkill -9 -f "tailscaled.*${v}"`,{stdio:"ignore",timeout:3e3})}catch{}await new Promise(a=>setTimeout(a,1500)),await Q(u);let d=r?"/usr/local/bin/tailscaled":"tailscaled",e=[`--socket=${v}`,`--statedir=${u}`];if(b||e.push("--tun=userspace-networking"),b){let b=(0,l.spawn)("sudo",["-S",d,...e],{detached:!0,stdio:["pipe","ignore","ignore"],cwd:i().tmpdir(),env:{...process.env,PATH:M}});b.stdin.write(`${a}
4
4
  `),b.stdin.end(),b.unref()}else(0,l.spawn)(d,e,{detached:!0,stdio:"ignore",cwd:i().tmpdir(),env:{...process.env,PATH:M}}).unref();await new Promise(a=>setTimeout(a,3e3))}function S(){let a=D();if(!a)return null;try{let b=(0,l.execSync)(`"${a}" ${w.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,timeout:2e3}),c=JSON.parse(b);if(c.AuthURL)return c.AuthURL;return null}catch{return null}}function T(a){let b=D();return b?new Promise((c,d)=>{if(R("").catch(()=>{}),G())return void c({alreadyLoggedIn:!0});let e=F("up","--accept-routes");a&&e.push(`--hostname=${a}`);let f=(0,l.spawn)(b,e,{stdio:["ignore","pipe","pipe"],detached:!0,windowsHide:!0}),g=!1,h="",i=a=>{let b=a.match(/https:\/\/login\.tailscale\.com\/a\/[a-zA-Z0-9]+/);return b?b[0]:null},j=(a,b)=>{g||(g=!0,clearTimeout(m),clearInterval(k),console.log(`[Tailscale] login authUrl detected (${b})`),f.unref(),c({authUrl:a}))},k=setInterval(()=>{if(g)return;let a=S();a&&j(a,"status")},500),m=setTimeout(()=>{if(g)return;g=!0,clearInterval(k),f.unref();let a=i(h)||S();a?c({authUrl:a}):d(Error("tailscale up timed out without auth URL"))},15e3),n=a=>{let b=i(h+=a.toString());b&&j(b,"stdout")};f.stdout.on("data",n),f.stderr.on("data",n),f.on("error",a=>{g||(g=!0,clearTimeout(m),clearInterval(k),console.error(`[Tailscale] login spawn error: ${a.message}`),d(a))}),f.on("exit",a=>{if(g)return;console.log(`[Tailscale] login exit code=${a}`);let b=i(h)||S();if(b)return void j(b,"exit");if(G()){g=!0,clearTimeout(m),clearInterval(k),c({alreadyLoggedIn:!0});return}})}):Promise.reject(Error("Tailscale not installed"))}async function U(a){let b=D();if(!b)throw Error("Tailscale not installed");try{(0,l.execSync)(`"${b}" ${w.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}return new Promise((c,d)=>{let e=(0,l.spawn)(b,F("funnel","--bg",`${a}`),{stdio:["ignore","pipe","pipe"],windowsHide:!0}),f=!1,g="",h=setTimeout(()=>{if(f)return;f=!0;let b=J()||K(a);b?c({tunnelUrl:b}):d(Error(`Tailscale funnel timed out: ${g.trim()||"no output"}`))},3e4),i=!1,j=a=>{if((g+=a.toString()).includes("Funnel is not enabled")&&(i=!0),i&&!f){let a=g.match(/https:\/\/login\.tailscale\.com\/[^\s]+/);if(a){f=!0,clearTimeout(h),e.kill(),c({funnelNotEnabled:!0,enableUrl:a[0]});return}}let b=J();b&&!f&&(f=!0,clearTimeout(h),c({tunnelUrl:b}))};e.stdout.on("data",j),e.stderr.on("data",j),e.on("exit",b=>{if(f)return;f=!0,clearTimeout(h),console.log(`[Tailscale] funnel exit code=${b} output="${g.trim().slice(0,200)}"`);let e=J()||K(a);e?c({tunnelUrl:e}):d(Error(`tailscale funnel failed (code ${b}): ${g.trim()}`))}),e.on("error",a=>{f||(f=!0,clearTimeout(h),d(a))})})}async function V(a){let b=D();if(!b||!a)return;let c=g().join(u,"certs");e().mkdirSync(c,{recursive:!0});let d=g().join(c,`${a}.crt`),f=g().join(c,`${a}.key`);try{await p(`"${b}" ${w.join(" ")} cert --cert-file "${d}" --key-file "${f}" "${a}"`,{windowsHide:!0,env:{...process.env,PATH:M},timeout:3e4}),console.log(`[Tailscale] cert provisioned for ${a}`)}catch(a){console.warn(`[Tailscale] cert provision failed (non-fatal): ${a.message}`)}}function W(){let a=D();if(a)try{(0,l.execSync)(`"${a}" ${w.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}}},85567:(a,b,c)=>{c.d(b,{C7:()=>m,Cr:()=>p,LZ:()=>n,jd:()=>s,r4:()=>q,xS:()=>o});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.DATA_DIR,"tunnel"),j=g().join(i,"state.json"),k=g().join(i,"cloudflared.pid");function l(){e().existsSync(i)||e().mkdirSync(i,{recursive:!0})}function m(){try{if(e().existsSync(j))return JSON.parse(e().readFileSync(j,"utf8"))}catch(a){}return null}function n(a){l(),e().writeFileSync(j,JSON.stringify(a,null,2))}function o(a){l(),e().writeFileSync(k,a.toString())}function p(){try{if(e().existsSync(k))return parseInt(e().readFileSync(k,"utf8"))}catch(a){}return null}function q(){try{e().existsSync(k)&&e().unlinkSync(k)}catch(a){}}g().join(i,"tailscale.pid");let r="abcdefghijklmnpqrstuvwxyz23456789";function s(){let a="";for(let b=0;b<6;b++)a+=r.charAt(Math.floor(Math.random()*r.length));return a}}};
@@ -1 +1 @@
1
- "use strict";exports.id=2971,exports.ids=[2971],exports.modules={3179:(a,b,c)=>{c.d(b,{Dd:()=>y,es:()=>E,fn:()=>F,nN:()=>H,ss:()=>G});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(55591),i=c.n(h),j=c(21820),k=c.n(j),l=c(79646),m=c(85567),n=c(49120);let o=g().join(n.DATA_DIR,"bin"),p="cloudflared",q="win32"===k().platform(),r=q?`${p}.exe`:p,s=g().join(o,r),t="http2",u=new Set(["http2","quic","auto"]),v={darwin:{x64:"cloudflared-darwin-amd64.tgz",arm64:"cloudflared-darwin-arm64.tgz"},win32:{x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-386.exe"},linux:{x64:"cloudflared-linux-amd64",arm64:"cloudflared-linux-arm64"}},w={darwin:"cloudflared-darwin-amd64.tgz",win32:"cloudflared-windows-386.exe",linux:"cloudflared-linux-amd64"},x={downloading:!1,progress:0};function y(){return{downloading:x.downloading,progress:x.progress}}let z=null;async function A(){return z||(z=B().finally(()=>{z=null}))}async function B(){e().existsSync(o)||e().mkdirSync(o,{recursive:!0});let a=`${s}.tmp`;if(e().existsSync(a))try{e().unlinkSync(a)}catch{}if(e().existsSync(s))if(function(a){try{if(e().statSync(a).size<1048576)return!1;let b=e().openSync(a,"r"),c=Buffer.alloc(4);e().readSync(b,c,0,4,0),e().closeSync(b);let d=c.toString("hex");if(q)return d.startsWith("4d5a");if("darwin"===k().platform())return d.startsWith("cffaedfe")||d.startsWith("cefaedfe");return d.startsWith("7f454c46")}catch{return!1}}(s))return q||e().chmodSync(s,"755"),s;else console.log("[cloudflared] Invalid binary detected, re-downloading..."),e().unlinkSync(s);let b=function(){let a=k().platform(),b=k().arch(),c=v[a];if(!c)throw Error(`Unsupported platform: ${a}`);let d=c[b]||w[a];return`https://github.com/cloudflare/cloudflared/releases/latest/download/${d}`}(),c=b.endsWith(".tgz"),d=c?g().join(o,"cloudflared.tgz.tmp"):a;return await function a(b,c){return new Promise((d,f)=>{let g=e().createWriteStream(c);i().get(b,b=>{if([301,302,303,307,308].includes(b.statusCode)){g.close(),e().unlinkSync(c),a(b.headers.location,c).then(d).catch(f);return}if(200!==b.statusCode){g.close(),e().unlinkSync(c),f(Error(`Download failed with status ${b.statusCode}`));return}let h=parseInt(b.headers["content-length"],10)||0,i=0;x.downloading=!0,x.progress=0,b.on("data",a=>{i+=a.length,h>0&&(x.progress=Math.round(i/h*100))}),b.pipe(g),g.on("finish",()=>{x.downloading=!1,x.progress=100,g.close(()=>d(c))}),g.on("error",a=>{x.downloading=!1,x.progress=0,g.close(),e().unlinkSync(c),f(a)})}).on("error",a=>{x.downloading=!1,x.progress=0,g.close(),e().existsSync(c)&&e().unlinkSync(c),f(a)})})}(b,d),c?((0,l.execSync)(`tar -xzf "${d}" -C "${o}"`,{stdio:"pipe",windowsHide:!0}),e().unlinkSync(d)):e().renameSync(d,s),q||e().chmodSync(s,"755"),s}let C=null,D=null;function E(a){D=a}async function F(a,b){let c=await A(),d=e().mkdtempSync(g().join(k().tmpdir(),"cloudflared-quick-")),f=g().join(d,"config.yml");e().writeFileSync(f,"# quick-tunnel config placeholder\n","utf8");let h=!1,i=()=>{if(!h){h=!0;try{e().rmSync(d,{recursive:!0,force:!0})}catch(a){}}},j=String(process.env.TUNNEL_TRANSPORT_PROTOCOL||process.env.CLOUDFLARED_PROTOCOL||t).trim().toLowerCase(),n=u.has(j)?j:t,o=(0,l.spawn)(c,["tunnel","--url",`http://127.0.0.1:${a}`,"--config",f,"--no-autoupdate"],{detached:!1,windowsHide:!0,cwd:k().tmpdir(),env:{...process.env,TUNNEL_TRANSPORT_PROTOCOL:n},stdio:["ignore","pipe","pipe"]});return C=o,(0,m.xS)(o.pid),new Promise((a,c)=>{let d=!1,e=setTimeout(()=>{d||(d=!0,i(),c(Error("Quick tunnel timed out")))},9e4),f=null,g=c=>{let g=function(a){let b=[];for(let c of a.matchAll(/https:\/\/([a-z0-9-]+)\.trycloudflare\.com/gi)){let a=c[1];"api"!==a&&b.push(`https://${a}.trycloudflare.com`)}return b.length?b[b.length-1]:null}(c.toString());if(g){if(!d){d=!0,f=g,clearTimeout(e),i(),console.log(`[Tunnel] cloudflared URL: ${g}`),a({child:o,tunnelUrl:g});return}g!==f&&(console.log(`[Tunnel] cloudflared URL changed: ${g}`),f=g,b&&b(g))}};o.stdout.on("data",g),o.stderr.on("data",g),o.on("error",a=>{d||(d=!0,clearTimeout(e),i(),c(a))}),o.on("exit",(a,b)=>{if(C=null,(0,m.r4)(),console.log(`[Tunnel] cloudflared exit code=${a} signal=${b}`),!d){d=!0,clearTimeout(e),i(),1===a?c(Error(`cloudflared exited with code ${a}. This often means: (1) the tunnel token is invalid or expired, (2) network connectivity issues, or (3) cloudflared cannot reach the local server.`)):2===a?c(Error(`cloudflared exited with code ${a}. Check that arguments are correct.`)):c(Error(`cloudflared exited with code ${a}`));return}D&&D(),i()})})}function G(a){if(C){try{C.kill()}catch(a){}C=null}let b=(0,m.Cr)();if(b){try{process.kill(b)}catch(a){}(0,m.r4)()}if(a)try{if(q){let b=`Get-CimInstance Win32_Process -Filter \\"Name='cloudflared.exe'\\" | Where-Object { $_.CommandLine -match ':${a}(\\D|$)' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }`;(0,l.execSync)(`powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "${b}"`,{stdio:"ignore",windowsHide:!0})}else(0,l.execSync)(`pkill -f "cloudflared.*:${a}([^0-9]|$)" 2>/dev/null || true`,{stdio:"ignore",windowsHide:!0})}catch(a){}}function H(){let a=(0,m.Cr)();if(!a)return!1;try{return process.kill(a,0),!0}catch(a){return!1}}},3801:(a,b,c)=>{c.d(b,{rH:()=>C,Rg:()=>z,mh:()=>B,cb:()=>y,H4:()=>D,Jv:()=>A});var d=c(55511),e=c.n(d),f=c(85567),g=c(3179),h=c(12506),i=c(89718),j=c(96182);c(91645);var k=c(14985),l=c.n(k);let m=new(l()).promises.Resolver;async function n(a,b){let c=a=>Promise.race([a(),new Promise((a,c)=>setTimeout(()=>c(Error("dns timeout")),b))]).then(()=>!0).catch(()=>!1);return!!await c(()=>m.resolve4(a))||c(()=>l().promises.resolve4(a))}async function o(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await n(b,2e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function p(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<18e4;){if(b.cancelled)throw Error("cancelled");if(await o(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 180000ms")}m.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]),(0,j.initDbHooks)(i.mt,i.Xx);let q=process.env.TUNNEL_WORKER_URL||"https://abc-tunnel.us",r={cancelToken:{cancelled:!1},spawnInProgress:!1,activeLocalPort:null},s={cancelToken:{cancelled:!1},spawnInProgress:!1,activeLocalPort:null},t={value:!1,url:null,fetchedAt:0,refreshing:!1},u={value:!1,url:null,fetchedAt:0,refreshing:!1};function v(a,b){return a.url!==b&&(a.value=!1,a.fetchedAt=0),Date.now()-a.fetchedAt>3e4&&function(a,b){if(!a.refreshing){if(!b){a.value=!1,a.url=null,a.fetchedAt=Date.now();return}a.refreshing=!0,o(b).then(b=>{a.value=b}).catch(()=>{a.value=!1}).finally(()=>{a.url=b,a.fetchedAt=Date.now(),a.refreshing=!1})}}(a,b),a.value}async function w(a,b){await fetch(`${q}/api/tunnel/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shortId:a,tunnelUrl:b})})}function x(a,b){if(a.cancelled)throw Error(`${b} cancelled`)}async function y(a=20128){console.log(`[Tunnel] enable start (port=${a})`),r.cancelToken={cancelled:!1},r.activeLocalPort=a,r.spawnInProgress=!0;let b=r.cancelToken;try{if((0,g.nN)()){let a=(0,f.C7)();if(a?.tunnelUrl&&await o(a.tunnelUrl)){let b=`https://r${a.shortId}.abc-tunnel.us`;return console.log(`[Tunnel] already running, reuse: ${a.tunnelUrl}`),{success:!0,tunnelUrl:a.tunnelUrl,shortId:a.shortId,publicUrl:b,alreadyRunning:!0}}}(0,g.ss)(a),console.log("[Tunnel] killed existing cloudflared"),x(b,"tunnel");let d=function(){try{let{machineIdSync:a}=c(19713),b=a();return e().createHash("sha256").update(b+"9router-tunnel-salt").digest("hex").substring(0,16)}catch(a){return e().randomUUID().replace(/-/g,"").substring(0,16)}}(),h=(0,f.C7)(),j=h?.shortId||(0,f.jd)(),k=async a=>{b.cancelled||(console.log(`[Tunnel] url updated: ${a}`),await w(j,a),(0,f.LZ)({shortId:j,machineId:d,tunnelUrl:a}),await (0,i.Xx)({tunnelEnabled:!0,tunnelUrl:a}))},{tunnelUrl:l}=await (0,g.fn)(a,k);console.log(`[Tunnel] spawned: ${l}`),x(b,"tunnel");let m=`https://r${j}.abc-tunnel.us`;return await w(j,l),(0,f.LZ)({shortId:j,machineId:d,tunnelUrl:l}),await (0,i.Xx)({tunnelEnabled:!0,tunnelUrl:l}),console.log(`[Tunnel] registered shortId=${j} publicUrl=${m}`),await p(l,b),console.log("[Tunnel] direct URL healthy"),await p(m,b),console.log("[Tunnel] public URL healthy"),t.value=!0,t.url=l,t.fetchedAt=Date.now(),console.log("[Tunnel] enable success"),{success:!0,tunnelUrl:l,shortId:j,publicUrl:m}}catch(a){throw console.error(`[Tunnel] enable error: ${a.message}`),a}finally{r.spawnInProgress=!1}}async function z(){console.log("[Tunnel] disable"),r.cancelToken.cancelled=!0,(0,g.es)(null),(0,g.ss)(r.activeLocalPort);let a=(0,f.C7)();return a&&(0,f.LZ)({shortId:a.shortId,machineId:a.machineId,tunnelUrl:null}),await (0,i.Xx)({tunnelEnabled:!1,tunnelUrl:""}),t.value=!1,t.url=null,t.fetchedAt=Date.now(),{success:!0}}async function A(){let a=!0===(await (0,i.mt)()).tunnelEnabled,b=(0,f.C7)(),c=b?.shortId||"",d=c?`https://r${c}.abc-tunnel.us`:"",e=b?.tunnelUrl||"",h=!!a&&(0,g.nN)(),j=!!a&&!!h&&v(t,e);return{enabled:a&&h,settingsEnabled:a,tunnelUrl:e,shortId:c,publicUrl:d,running:h,reachable:j}}async function B(a=20128){console.log(`[Tailscale] enable start (port=${a})`),s.cancelToken={cancelled:!1},s.activeLocalPort=a,s.spawnInProgress=!0;let b=s.cancelToken;try{let c,d=(0,j.getCachedPassword)()||await (0,j.loadEncryptedPassword)()||"";await (0,h.OZ)(d),console.log("[Tailscale] daemon ready"),x(b,"tailscale");let e=(0,f.C7)(),g=e?.shortId||(0,f.jd)(),k=(0,h.a$)();if(console.log(`[Tailscale] loggedIn=${k}`),!k){let a=await (0,h.c$)(g);if(a.authUrl)return console.log(`[Tailscale] needs login, authUrl=${a.authUrl}`),{success:!1,needsLogin:!0,authUrl:a.authUrl};console.log("[Tailscale] login resolved alreadyLoggedIn")}x(b,"tailscale"),(0,h.PZ)();try{console.log("[Tailscale] starting funnel"),c=await (0,h.LC)(a)}catch(a){if(console.error(`[Tailscale] funnel error: ${a.message}`),/NoState|unexpected state|not logged in|Logged ?out|NeedsLogin/i.test(a.message||"")){console.log("[Tailscale] retry via startLogin");let a=await (0,h.c$)(g);if(a.authUrl)return{success:!1,needsLogin:!0,authUrl:a.authUrl}}throw a}if(x(b,"tailscale"),c.funnelNotEnabled)return console.log(`[Tailscale] funnel not enabled, enableUrl=${c.enableUrl}`),{success:!1,funnelNotEnabled:!0,enableUrl:c.enableUrl};if(!(0,h.a$)()||!(0,h.hp)())return console.error("[Tailscale] strict probe failed (device removed?)"),(0,h.PZ)(),{success:!1,error:"Tailscale not connected. Device may have been removed. Please re-login."};await (0,i.Xx)({tailscaleEnabled:!0,tailscaleUrl:c.tunnelUrl}),console.log(`[Tailscale] funnel up: ${c.tunnelUrl}`);let l=new URL(c.tunnelUrl).hostname;await (0,h.S3)(l);let m=!1;try{await p(c.tunnelUrl,b),m=!0}catch(a){if(!a.message.startsWith("Health check timeout"))throw a;console.warn("[Tailscale] health check timed out, will retry via watchdog")}return m&&(u.value=!0,u.url=c.tunnelUrl,u.fetchedAt=Date.now()),console.log(`[Tailscale] enable success (reachable=${m})`),{success:!0,tunnelUrl:c.tunnelUrl}}catch(a){throw console.error(`[Tailscale] enable error: ${a.message}`),a}finally{s.spawnInProgress=!1}}async function C(){return console.log("[Tailscale] disable"),s.cancelToken.cancelled=!0,(0,h.PZ)(),await (0,i.Xx)({tailscaleEnabled:!1,tailscaleUrl:""}),u.value=!1,u.url=null,u.fetchedAt=Date.now(),{success:!0}}async function D(){let a=await (0,i.mt)(),b=!0===a.tailscaleEnabled,c=a.tailscaleUrl||"",d=!!b&&(0,h.a$)(),e=!!d&&(0,h.Kp)(),f=!!b&&!!e&&v(u,c);return{enabled:b&&e,settingsEnabled:b,tunnelUrl:c,running:e,loggedIn:d,reachable:f}}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
1
+ "use strict";exports.id=2971,exports.ids=[2971],exports.modules={3179:(a,b,c)=>{c.d(b,{Dd:()=>y,es:()=>E,fn:()=>F,nN:()=>H,ss:()=>G});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(55591),i=c.n(h),j=c(21820),k=c.n(j),l=c(79646),m=c(85567),n=c(49120);let o=g().join(n.DATA_DIR,"bin"),p="cloudflared",q="win32"===k().platform(),r=q?`${p}.exe`:p,s=g().join(o,r),t="http2",u=new Set(["http2","quic","auto"]),v={darwin:{x64:"cloudflared-darwin-amd64.tgz",arm64:"cloudflared-darwin-arm64.tgz"},win32:{x64:"cloudflared-windows-amd64.exe",ia32:"cloudflared-windows-386.exe",arm64:"cloudflared-windows-386.exe"},linux:{x64:"cloudflared-linux-amd64",arm64:"cloudflared-linux-arm64"}},w={darwin:"cloudflared-darwin-amd64.tgz",win32:"cloudflared-windows-386.exe",linux:"cloudflared-linux-amd64"},x={downloading:!1,progress:0};function y(){return{downloading:x.downloading,progress:x.progress}}let z=null;async function A(){return z||(z=B().finally(()=>{z=null}))}async function B(){e().existsSync(o)||e().mkdirSync(o,{recursive:!0});let a=`${s}.tmp`;if(e().existsSync(a))try{e().unlinkSync(a)}catch{}if(e().existsSync(s))if(function(a){try{if(e().statSync(a).size<1048576)return!1;let b=e().openSync(a,"r"),c=Buffer.alloc(4);e().readSync(b,c,0,4,0),e().closeSync(b);let d=c.toString("hex");if(q)return d.startsWith("4d5a");if("darwin"===k().platform())return d.startsWith("cffaedfe")||d.startsWith("cefaedfe");return d.startsWith("7f454c46")}catch{return!1}}(s))return q||e().chmodSync(s,"755"),s;else console.log("[cloudflared] Invalid binary detected, re-downloading..."),e().unlinkSync(s);let b=function(){let a=k().platform(),b=k().arch(),c=v[a];if(!c)throw Error(`Unsupported platform: ${a}`);let d=c[b]||w[a];return`https://github.com/cloudflare/cloudflared/releases/latest/download/${d}`}(),c=b.endsWith(".tgz"),d=c?g().join(o,"cloudflared.tgz.tmp"):a;return await function a(b,c){return new Promise((d,f)=>{let g=e().createWriteStream(c);i().get(b,b=>{if([301,302,303,307,308].includes(b.statusCode)){g.close(),e().unlinkSync(c),a(b.headers.location,c).then(d).catch(f);return}if(200!==b.statusCode){g.close(),e().unlinkSync(c),f(Error(`Download failed with status ${b.statusCode}`));return}let h=parseInt(b.headers["content-length"],10)||0,i=0;x.downloading=!0,x.progress=0,b.on("data",a=>{i+=a.length,h>0&&(x.progress=Math.round(i/h*100))}),b.pipe(g),g.on("finish",()=>{x.downloading=!1,x.progress=100,g.close(()=>d(c))}),g.on("error",a=>{x.downloading=!1,x.progress=0,g.close(),e().unlinkSync(c),f(a)})}).on("error",a=>{x.downloading=!1,x.progress=0,g.close(),e().existsSync(c)&&e().unlinkSync(c),f(a)})})}(b,d),c?((0,l.execSync)(`tar -xzf "${d}" -C "${o}"`,{stdio:"pipe",windowsHide:!0}),e().unlinkSync(d)):e().renameSync(d,s),q||e().chmodSync(s,"755"),s}let C=null,D=null;function E(a){D=a}async function F(a,b){let c=await A(),d=e().mkdtempSync(g().join(k().tmpdir(),"cloudflared-quick-")),f=g().join(d,"config.yml");e().writeFileSync(f,"# quick-tunnel config placeholder\n","utf8");let h=!1,i=()=>{if(!h){h=!0;try{e().rmSync(d,{recursive:!0,force:!0})}catch(a){}}},j=String(process.env.TUNNEL_TRANSPORT_PROTOCOL||process.env.CLOUDFLARED_PROTOCOL||t).trim().toLowerCase(),n=u.has(j)?j:t,o=(0,l.spawn)(c,["tunnel","--url",`http://127.0.0.1:${a}`,"--config",f,"--no-autoupdate","--retries","99"],{detached:!1,windowsHide:!0,cwd:k().tmpdir(),env:{...process.env,TUNNEL_TRANSPORT_PROTOCOL:n},stdio:["ignore","pipe","pipe"]});return C=o,(0,m.xS)(o.pid),new Promise((c,d)=>{let e=!1,f="",g=setTimeout(()=>{e||(e=!0,i(),d(Error(`Quick tunnel timed out. Last log: ${f.slice(-800)||"(empty)"}`)))},9e4),h=null,j=a=>{let d=a.toString();f=(f+d).slice(-4e3);let j=function(a){let b=[];for(let c of a.matchAll(/https:\/\/([a-z0-9-]+)\.trycloudflare\.com/gi)){let a=c[1];"api"!==a&&b.push(`https://${a}.trycloudflare.com`)}return b.length?b[b.length-1]:null}(d);if(j){if(!e){e=!0,h=j,clearTimeout(g),i(),console.log(`[Tunnel] cloudflared URL: ${j}`),c({child:o,tunnelUrl:j});return}j!==h&&(console.log(`[Tunnel] cloudflared URL changed: ${j}`),h=j,b&&b(j))}};o.stdout.on("data",j),o.stderr.on("data",j),o.on("error",a=>{e||(e=!0,clearTimeout(g),i(),d(a))}),o.on("exit",(b,c)=>{if(C=null,(0,m.r4)(),console.log(`[Tunnel] cloudflared exit code=${b} signal=${c}`),!e){e=!0,clearTimeout(g),i();let c=f.slice(-600).trim()||"(empty)";1===b?d(Error(`cloudflared quick tunnel exited (code 1). Common causes: (1) outbound port 7844 (TCP/UDP) blocked, (2) TryCloudflare service issue, (3) cannot reach 127.0.0.1:${a}, (4) protocol (http2/quic) blocked by network. Last log: ${c}`)):2===b?d(Error(`cloudflared exited (code 2). Bad arguments. Last log: ${c}`)):d(Error(`cloudflared exited (code ${b}). Last log: ${c}`));return}D&&D(),i()})})}function G(a){if(C){try{C.kill()}catch(a){}C=null}let b=(0,m.Cr)();if(b){try{process.kill(b)}catch(a){}(0,m.r4)()}if(a)try{if(q){let b=`Get-CimInstance Win32_Process -Filter \\"Name='cloudflared.exe'\\" | Where-Object { $_.CommandLine -match ':${a}(\\D|$)' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }`;(0,l.execSync)(`powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "${b}"`,{stdio:"ignore",windowsHide:!0})}else(0,l.execSync)(`pkill -f "cloudflared.*:${a}([^0-9]|$)" 2>/dev/null || true`,{stdio:"ignore",windowsHide:!0})}catch(a){}}function H(){let a=(0,m.Cr)();if(!a)return!1;try{return process.kill(a,0),!0}catch(a){return!1}}},3801:(a,b,c)=>{c.d(b,{rH:()=>x,Rg:()=>u,mh:()=>w,cb:()=>t,H4:()=>y,Jv:()=>v});var d=c(85567),e=c(3179),f=c(12506),g=c(89718),h=c(96182);c(91645);var i=c(14985),j=c.n(i);let k=new(j()).promises.Resolver;async function l(a,b){let c=a=>Promise.race([a(),new Promise((a,c)=>setTimeout(()=>c(Error("dns timeout")),b))]).then(()=>!0).catch(()=>!1);return!!await c(()=>k.resolve4(a))||c(()=>j().promises.resolve4(a))}async function m(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await l(b,2e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function n(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<18e4;){if(b.cancelled)throw Error("cancelled");if(await m(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 180000ms")}k.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]),(0,h.initDbHooks)(g.mt,g.Xx);let o=process.env.TUNNEL_WORKER_URL||"https://abc-tunnel.us",p={cancelToken:{cancelled:!1},spawnInProgress:!1,activeLocalPort:null},q={cancelToken:{cancelled:!1},spawnInProgress:!1,activeLocalPort:null};async function r(a,b){await fetch(`${o}/api/tunnel/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shortId:a,tunnelUrl:b})})}function s(a,b){if(a.cancelled)throw Error(`${b} cancelled`)}async function t(a=20128){console.log(`[Tunnel] enable start (port=${a})`),p.cancelToken={cancelled:!1},p.activeLocalPort=a,p.spawnInProgress=!0;let b=p.cancelToken;try{if((0,e.nN)()){let a=(0,d.C7)();if(a?.tunnelUrl&&a?.shortId){let b=`https://r${a.shortId}.abc-tunnel.us`,[c,d]=await Promise.all([m(a.tunnelUrl),m(b)]);if(c&&d)return console.log(`[Tunnel] already running, reuse: ${a.tunnelUrl}`),{success:!0,tunnelUrl:a.tunnelUrl,shortId:a.shortId,publicUrl:b,alreadyRunning:!0};console.log(`[Tunnel] stale (direct=${c} public=${d}), respawn`)}}(0,e.ss)(a),console.log("[Tunnel] killed existing cloudflared"),s(b,"tunnel");let c=(0,d.C7)(),f=c?.shortId||(0,d.jd)(),h=async a=>{b.cancelled||(console.log(`[Tunnel] url updated: ${a}`),await r(f,a),(0,d.LZ)({shortId:f,tunnelUrl:a}),await (0,g.Xx)({tunnelEnabled:!0,tunnelUrl:a}))};(0,e.es)(()=>{console.warn("[Tunnel] cloudflared exited unexpectedly, scheduling respawn")});let{tunnelUrl:i}=await (0,e.fn)(a,h);console.log(`[Tunnel] spawned: ${i}`),s(b,"tunnel");let j=`https://r${f}.abc-tunnel.us`;return await r(f,i),(0,d.LZ)({shortId:f,tunnelUrl:i}),await (0,g.Xx)({tunnelEnabled:!0,tunnelUrl:i}),console.log(`[Tunnel] registered shortId=${f} publicUrl=${j}`),await n(j,b),console.log("[Tunnel] public URL healthy"),await m(i)?console.log("[Tunnel] direct URL healthy"):console.warn("[Tunnel] direct URL not reachable yet, continuing via publicUrl"),console.log("[Tunnel] enable success"),{success:!0,tunnelUrl:i,shortId:f,publicUrl:j}}catch(a){throw console.error(`[Tunnel] enable error: ${a.message}`),a}finally{p.spawnInProgress=!1}}async function u(){console.log("[Tunnel] disable"),p.cancelToken.cancelled=!0,(0,e.es)(null);try{(0,e.ss)(p.activeLocalPort)}catch(a){console.warn(`[Tunnel] kill warn: ${a.message}`)}(0,d.r4)();let a=(0,d.C7)();return a&&(0,d.LZ)({shortId:a.shortId,tunnelUrl:null}),await (0,g.Xx)({tunnelEnabled:!1,tunnelUrl:""}),p.spawnInProgress=!1,p.activeLocalPort=null,{success:!0}}async function v(){let a=!0===(await (0,g.mt)()).tunnelEnabled,b=(0,d.C7)(),c=b?.shortId||"",f=c?`https://r${c}.abc-tunnel.us`:"",h=b?.tunnelUrl||"",i=!!a&&(0,e.nN)();return{enabled:a&&i,settingsEnabled:a,tunnelUrl:h,shortId:c,publicUrl:f,running:i}}async function w(a=20128){console.log(`[Tailscale] enable start (port=${a})`),q.cancelToken={cancelled:!1},q.activeLocalPort=a,q.spawnInProgress=!0;let b=q.cancelToken;try{let c,e=(0,h.getCachedPassword)()||await (0,h.loadEncryptedPassword)()||"";await (0,f.OZ)(e),console.log("[Tailscale] daemon ready"),s(b,"tailscale");let i=(0,d.C7)(),j=i?.shortId||(0,d.jd)(),k=(0,f.a$)();if(console.log(`[Tailscale] loggedIn=${k}`),!k){let a=await (0,f.c$)(j);if(a.authUrl)return console.log(`[Tailscale] needs login, authUrl=${a.authUrl}`),{success:!1,needsLogin:!0,authUrl:a.authUrl};console.log("[Tailscale] login resolved alreadyLoggedIn")}s(b,"tailscale"),(0,f.PZ)();try{console.log("[Tailscale] starting funnel"),c=await (0,f.LC)(a)}catch(a){if(console.error(`[Tailscale] funnel error: ${a.message}`),/NoState|unexpected state|not logged in|Logged ?out|NeedsLogin/i.test(a.message||"")){console.log("[Tailscale] retry via startLogin");let a=await (0,f.c$)(j);if(a.authUrl)return{success:!1,needsLogin:!0,authUrl:a.authUrl}}throw a}if(s(b,"tailscale"),c.funnelNotEnabled)return console.log(`[Tailscale] funnel not enabled, enableUrl=${c.enableUrl}`),{success:!1,funnelNotEnabled:!0,enableUrl:c.enableUrl};if(!(0,f.a$)()||!(0,f.hp)())return console.error("[Tailscale] strict probe failed (device removed?)"),(0,f.PZ)(),{success:!1,error:"Tailscale not connected. Device may have been removed. Please re-login."};await (0,g.Xx)({tailscaleEnabled:!0,tailscaleUrl:c.tunnelUrl}),console.log(`[Tailscale] funnel up: ${c.tunnelUrl}`);let l=new URL(c.tunnelUrl).hostname;await (0,f.S3)(l);let m=!1;try{await n(c.tunnelUrl,b),m=!0}catch(a){if(!a.message.startsWith("Health check timeout"))throw a;console.warn("[Tailscale] health check timed out, will retry via watchdog")}return console.log(`[Tailscale] enable success (reachable=${m})`),{success:!0,tunnelUrl:c.tunnelUrl}}catch(a){throw console.error(`[Tailscale] enable error: ${a.message}`),a}finally{q.spawnInProgress=!1}}async function x(){return console.log("[Tailscale] disable"),q.cancelToken.cancelled=!0,(0,f.PZ)(),await (0,g.Xx)({tailscaleEnabled:!1,tailscaleUrl:""}),{success:!0}}async function y(){let a=await (0,g.mt)(),b=!0===a.tailscaleEnabled,c=a.tailscaleUrl||"",d=!!b&&(0,f.a$)(),e=!!d&&(0,f.Kp)();return{enabled:b&&e,settingsEnabled:b,tunnelUrl:c,running:e,loggedIn:d}}},50122:(a,b,c)=>{c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,Rp:()=>d.Rp,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(17458)},94755:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(77598);let e={randomUUID:d.randomUUID},f=new Uint8Array(256),g=f.length;var h=c(50122);let i=function(a,b,c){if(e.randomUUID&&!b&&!a)return e.randomUUID();var i=a,j=c;let k=(i=i||{}).random??i.rng?.()??(g>f.length-16&&((0,d.randomFillSync)(f),g=0),f.slice(g,g+=16));if(k.length<16)throw Error("Random bytes length must be >= 16");if(k[6]=15&k[6]|64,k[8]=63&k[8]|128,b){if((j=j||0)<0||j+16>b.length)throw RangeError(`UUID byte range ${j}:${j+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[j+a]=k[a];return b}return(0,h.k)(k)}}};
@@ -0,0 +1,43 @@
1
+ "use strict";exports.id=3104,exports.ids=[3104],exports.modules={13808:(a,b,c)=>{c.d(b,{$N:()=>f,OK:()=>g,Zl:()=>h,lz:()=>i});var d=c(55511),e=c.n(d);function f(a=32){return e().randomBytes(a).toString("base64url")}function g(a){return e().createHash("sha256").update(a).digest("base64url")}function h(){return e().randomBytes(32).toString("base64url")}function i(a=32){let b=f(a),c=g(b);return{codeVerifier:b,codeChallenge:c,state:h()}}},22898:(a,b,c)=>{c.d(b,{Hd:()=>k,IF:()=>p,Pd:()=>g,Y0:()=>o,ZP:()=>u,_V:()=>t,cn:()=>l,dR:()=>m,jl:()=>w,nu:()=>x,uw:()=>v});var d=c(81630),e=c.n(d),f=c(1932);function g(a,b=null){return new Promise((c,d)=>{let g=e().createServer((b,c)=>{let d=new f.URL(b.url,"http://localhost");if("/callback"===d.pathname||"/auth/callback"===d.pathname){let b=Object.fromEntries(d.searchParams);c.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),c.end(`<!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Authentication Successful</title>
6
+ <style>
7
+ body { font-family: system-ui; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #f5f5f5; }
8
+ .container { text-align: center; padding: 2rem; background: white; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
9
+ .success { color: #22c55e; font-size: 3rem; }
10
+ h1 { margin: 1rem 0; }
11
+ p { color: #666; }
12
+ #countdown { font-weight: bold; }
13
+ </style>
14
+ </head>
15
+ <body>
16
+ <div class="container">
17
+ <div class="success">&#10003;</div>
18
+ <h1>Authentication Successful</h1>
19
+ <p id="message">Closing in <span id="countdown">3</span> seconds...</p>
20
+ </div>
21
+ <script>
22
+ let count = 3;
23
+ const countdown = document.getElementById("countdown");
24
+ const message = document.getElementById("message");
25
+ const timer = setInterval(() => {
26
+ count--;
27
+ countdown.textContent = count;
28
+ if (count <= 0) {
29
+ clearInterval(timer);
30
+ window.close();
31
+ setTimeout(() => {
32
+ message.textContent = "Please close this tab manually.";
33
+ }, 500);
34
+ }
35
+ }, 1000);
36
+ </script>
37
+ </body>
38
+ </html>`),a(b)}else c.writeHead(404),c.end("Not found")});g.listen(b||0,"127.0.0.1",()=>{let{port:a}=g.address();c({server:g,port:a,close:()=>g.close()})}),g.on("error",a=>{"EADDRINUSE"===a.code&&b?d(Error(`Port ${b} is already in use. Please close other applications using this port.`)):d(a)})})}let h=null,i=null,j=new Map;function k({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(j.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function l(a){return j.get(a)||null}function m(a){j.delete(a)}function n(a,b){let c=a?"Authentication Successful":"Authentication Failed";return`<!DOCTYPE html>
39
+ <html><head><meta charset="utf-8"><title>${c}</title>
40
+ <style>body{font-family:system-ui;display:flex;justify-content:center;align-items:center;height:100vh;margin:0;background:#f5f5f5}.c{text-align:center;padding:2rem;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1)}.i{color:${a?"#22c55e":"#ef4444"};font-size:3rem}h1{margin:1rem 0}p{color:#666}</style>
41
+ </head><body><div class="c"><div class="i">${a?"&#10003;":"&#10007;"}</div><h1>${c}</h1><p>${b}</p><p>Closing in <span id="cd">3</span>s...</p>
42
+ <script>let n=3;const c=document.getElementById("cd");const t=setInterval(()=>{n--;c.textContent=n;if(n<=0){clearInterval(t);window.close();}},1000);</script>
43
+ </div></body></html>`}function o(a){return new Promise(b=>{if(h)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),k=h?j.get(h):null;if(k){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(4404),c.e(3110),c.e(318),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("codex",g,k.redirectUri,k.codeVerifier,h),j=await b({provider:"codex",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});k.status="done",k.connectionId=j.id,k.email=j.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){k.status="error",k.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{p()}return}let l=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:l}),d.end(),p()});d.listen(1455,"127.0.0.1",()=>{h=d,i=setTimeout(()=>p(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function p(){i&&(clearTimeout(i),i=null),h&&(h.close(),h=null)}let q=null,r=null,s=new Map;function t({state:a,codeVerifier:b,redirectUri:c}){return!!a&&!!b&&!!c&&(s.set(a,{codeVerifier:b,redirectUri:c,status:"pending",createdAt:Date.now()}),!0)}function u(a){return s.get(a)||null}function v(a){s.delete(a)}function w(a){return new Promise(b=>{if(q)return void b({success:!0});let d=e().createServer(async(b,d)=>{let e=new f.URL(b.url,"http://localhost");if("/callback"!==e.pathname&&"/auth/callback"!==e.pathname){d.writeHead(404),d.end("Not found");return}let g=e.searchParams.get("code"),h=e.searchParams.get("state"),i=e.searchParams.get("error"),j=h?s.get(h):null;if(j){try{if(i)throw Error(e.searchParams.get("error_description")||i);if(!g)throw Error("No authorization code received");let{exchangeTokens:a}=await Promise.all([c.e(5433),c.e(4404),c.e(3110),c.e(318),c.e(8895),c.e(4177)]).then(c.bind(c,74177)),{createProviderConnection:b}=await c.e(1998).then(c.bind(c,71998)),f=await a("xai",g,j.redirectUri,j.codeVerifier,h),k=await b({provider:"xai",authType:"oauth",...f,expiresAt:f.expiresIn?new Date(Date.now()+1e3*f.expiresIn).toISOString():null,testStatus:"active"});j.status="done",j.connectionId=k.id,j.email=k.email,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!0,"You can close this window."))}catch(a){j.status="error",j.error=a.message,d.writeHead(200,{"Content-Type":"text/html; charset=utf-8"}),d.end(n(!1,a.message))}finally{x()}return}let k=`http://localhost:${a}/callback${e.search}`;d.writeHead(302,{Location:k}),d.end(),x()});d.listen(56121,"127.0.0.1",()=>{q=d,r=setTimeout(()=>x(),3e5),b({success:!0})}),d.on("error",a=>{"EADDRINUSE"===a.code?b({success:!1,reason:"port_busy"}):b({success:!1,reason:a.message})})})}function x(){r&&(clearTimeout(r),r=null),q&&(q.close(),q=null)}},73159:(a,b,c)=>{c.d(b,{Ue:()=>i,oT:()=>j});let d="https://auth.x.ai",e="/oauth2/authorize",f="/oauth2/token",g="/.well-known/openid-configuration",h="/callback",i=96,j={clientId:"b1a00492-073a-47ea-816f-4c329264a828",issuer:d,authEndpointPath:e,tokenEndpointPath:f,discoveryPath:g,authorizeUrl:`${d}${e}`,tokenUrl:`${d}${f}`,discoveryUrl:`${d}${g}`,scope:"openid profile email offline_access grok-cli:access api:access",apiBaseUrl:"https://api.x.ai/v1",redirectUri:`http://127.0.0.1:56121${h}`,loopbackPort:56121,callbackPath:h,pkceVerifierBytes:96,refreshLeadSeconds:300,userAgent:"grok-cli/9router",codeChallengeMethod:"S256"}},92990:(a,b,c)=>{c.d(b,{DI:()=>g,Hp:()=>i,LT:()=>h,MZ:()=>r,Nl:()=>u,Nu:()=>n,OV:()=>f,Tx:()=>o,WN:()=>p,Ww:()=>v,YT:()=>l,ZL:()=>k,cD:()=>m,f7:()=>t,hF:()=>j,lB:()=>s,t:()=>q});var d=c(21820);function e(){let a=(0,d.platform)(),b=(0,d.arch)();return"darwin"===a?"arm64"===b?2:1:"linux"===a?"arm64"===b?4:3:5*("win32"===a)}let f={clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",authorizeUrl:"https://claude.ai/oauth/authorize",tokenUrl:"https://api.anthropic.com/v1/oauth/token",scopes:["org:create_api_key","user:profile","user:inference"],codeChallengeMethod:"S256"},g={clientId:"app_EMoamEEZ73f0CkXaXp7hrann",authorizeUrl:"https://auth.openai.com/oauth/authorize",tokenUrl:"https://auth.openai.com/oauth/token",scope:"openid profile email offline_access",codeChallengeMethod:"S256",extraParams:{id_token_add_organizations:"true",codex_cli_simplified_flow:"true",originator:"codex_cli_rs"}},h={clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile"]},i={clientId:"f0304373b74a44d2b584a3fb70ca9e56",deviceCodeUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",scope:"openid profile email model.completion",codeChallengeMethod:"S256"},j={apiBaseUrl:"https://api2.qoder.sh",deviceTokenUrl:"https://api2.qoder.sh/api/v1/deviceToken/poll",deviceRefreshUrl:"https://api2.qoder.sh/api/v1/deviceToken/refresh",refreshUrl:"https://api2.qoder.sh/api/v3/user/refresh_token",userInfoUrl:"https://api2.qoder.sh/api/v1/userinfo",statusUrl:"https://api2.qoder.sh/api/v3/user/status",loginUrl:"https://qoder.com/login"},k={clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",authorizeUrl:"https://iflow.cn/oauth",tokenUrl:"https://iflow.cn/oauth/token",userInfoUrl:"https://iflow.cn/api/oauth/getUserInfo",extraParams:{loginMethod:"phone",type:"phone"}},l={clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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",authorizeUrl:"https://accounts.google.com/o/oauth2/v2/auth",tokenUrl:"https://oauth2.googleapis.com/token",userInfoUrl:"https://www.googleapis.com/oauth2/v1/userinfo",scopes:["https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/userinfo.email","https://www.googleapis.com/auth/userinfo.profile","https://www.googleapis.com/auth/cclog","https://www.googleapis.com/auth/experimentsandconfigs"],apiEndpoint:"https://cloudcode-pa.googleapis.com",apiVersion:"v1internal",loadCodeAssistEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",onboardUserEndpoint:"https://cloudcode-pa.googleapis.com/v1internal:onboardUser",loadCodeAssistUserAgent:"google-api-nodejs-client/9.15.1",loadCodeAssistApiClient:"google-cloud-sdk vscode_cloudshelleditor/0.1",loadCodeAssistClientMetadata:JSON.stringify({ideType:9,platform:e(),pluginType:2})};function m(){return{ideType:9,platform:e(),pluginType:2}}let n={clientId:"Iv1.b507a08c87ecfe98",deviceCodeUrl:"https://github.com/login/device/code",tokenUrl:"https://github.com/login/oauth/access_token",userInfoUrl:"https://api.github.com/user",scopes:"read:user",apiVersion:"2022-11-28",copilotTokenUrl:"https://api.github.com/copilot_internal/v2/token",userAgent:"GitHubCopilotChat/0.26.7",editorVersion:"vscode/1.85.0",editorPluginVersion:"copilot-chat/0.26.7"},o={ssoOidcEndpoint:"https://oidc.us-east-1.amazonaws.com",registerClientUrl:"https://oidc.us-east-1.amazonaws.com/client/register",deviceAuthUrl:"https://oidc.us-east-1.amazonaws.com/device_authorization",tokenUrl:"https://oidc.us-east-1.amazonaws.com/token",startUrl:"https://view.awsapps.com/start",clientName:"kiro-oauth-client",clientType:"public",scopes:["codewhisperer:completions","codewhisperer:analysis","codewhisperer:conversations"],grantTypes:["urn:ietf:params:oauth:grant-type:device_code","refresh_token"],issuerUrl:"https://identitycenter.amazonaws.com/ssoins-722374e8c3c8e6c6",socialAuthEndpoint:"https://prod.us-east-1.auth.desktop.kiro.dev",socialLoginUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/login",socialTokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/oauth/token",socialRefreshUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authMethods:["builder-id","idc","google","github","import"]},p={apiEndpoint:"https://api2.cursor.sh",chatEndpoint:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",modelsEndpoint:"/aiserver.v1.AiService/GetDefaultModelNudgeData",api3Endpoint:"https://api3.cursor.sh",agentEndpoint:"https://agent.api5.cursor.sh",agentNonPrivacyEndpoint:"https://agentn.api5.cursor.sh",clientVersion:"3.1.0",clientType:"ide",tokenStoragePaths:{linux:"~/.config/Cursor/User/globalStorage/state.vscdb",macos:"/Users/<user>/Library/Application Support/Cursor/User/globalStorage/state.vscdb",windows:"%APPDATA%\\Cursor\\User\\globalStorage\\state.vscdb"},dbKeys:{accessToken:"cursorAuth/accessToken",machineId:"storage.serviceMachineId"}},q={clientId:process.env.KIMI_CODING_OAUTH_CLIENT_ID||"17e5f671-d194-4dfb-9706-5516cb48c098",deviceCodeUrl:"https://auth.kimi.com/api/oauth/device_authorization",tokenUrl:"https://auth.kimi.com/api/oauth/token"},r={apiBaseUrl:"https://api.kilo.ai",initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},s={appBaseUrl:"https://app.cline.bot",apiBaseUrl:"https://api.cline.bot",authorizeUrl:"https://api.cline.bot/api/v1/auth/authorize",tokenExchangeUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},t={defaultBaseUrl:"https://gitlab.com",authorizeUrlPath:"/oauth/authorize",tokenUrlPath:"/oauth/token",userInfoUrlPath:"/api/v4/user",scope:"api read_user",codeChallengeMethod:"S256"},u={baseUrl:"https://copilot.tencent.com",stateUrl:"https://copilot.tencent.com/v2/plugin/auth/state",tokenUrl:"https://copilot.tencent.com/v2/plugin/auth/token",refreshUrl:"https://copilot.tencent.com/v2/plugin/auth/token/refresh",userAgent:"CLI/2.63.2 CodeBuddy/2.63.2",platform:"CLI",pollInterval:5e3},v=3e5}};