9router 0.5.35 → 0.5.45

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 (1058) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +3 -2
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/react-loadable-manifest.json +2 -2
  5. package/app/.next-cli-build/required-server-files.json +2 -1
  6. package/app/.next-cli-build/routes-manifest.json +6 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +7 -3
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +4 -4
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +5 -5
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  77. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  87. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  88. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  91. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  92. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  93. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
  95. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  98. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +16 -11
  113. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -0
  135. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -0
  136. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route_client-reference-manifest.js +1 -0
  137. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +15 -10
  140. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  172. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  174. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  178. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  180. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  196. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  198. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  200. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  202. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  210. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  262. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  264. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  268. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  270. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  272. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  274. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  276. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  278. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  280. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  282. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  284. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  300. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  342. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  396. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  398. package/app/.next-cli-build/server/app/callback.html +1 -1
  399. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  400. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  401. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  402. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
  403. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  404. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  405. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  406. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  407. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  408. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  409. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  410. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  411. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  412. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  413. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  415. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  416. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  417. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  418. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  419. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  422. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  423. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  424. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  425. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  427. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  428. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  429. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  430. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  431. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  433. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  434. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  435. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  438. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  439. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  440. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  441. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  443. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  444. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  445. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  446. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  448. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  449. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  453. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  455. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  456. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  457. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  458. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  459. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  462. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  463. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  464. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  465. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  466. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  467. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  468. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  469. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  470. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  472. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  474. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  475. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  476. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  477. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  478. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  479. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  482. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  483. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  484. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  485. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  487. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  488. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  489. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  490. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  491. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  492. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  493. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  494. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  495. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  497. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  498. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  499. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  500. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  501. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  502. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  503. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  504. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  505. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  507. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  508. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  510. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  511. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  513. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  514. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  515. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  516. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +5 -5
  517. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  520. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  521. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  522. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  523. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  524. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  525. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  526. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  527. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  528. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  531. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  532. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  533. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  534. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  535. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  536. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  537. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  542. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  543. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  544. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  545. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  546. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  547. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  548. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  549. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  550. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  551. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  552. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  553. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  554. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  555. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  556. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  557. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  558. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  559. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
  560. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  561. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  563. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  564. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  566. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  567. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  568. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  569. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  570. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  571. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  573. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  574. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  576. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  577. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  578. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  579. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  580. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  581. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  582. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  583. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  584. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  586. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  587. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  588. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
  589. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  591. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  592. package/app/.next-cli-build/server/app/index.html +1 -1
  593. package/app/.next-cli-build/server/app/index.rsc +5 -5
  594. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  595. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  596. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  597. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
  598. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  600. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  601. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  602. package/app/.next-cli-build/server/app/landing.html +1 -1
  603. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  604. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  605. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  606. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
  607. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  608. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  609. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  610. package/app/.next-cli-build/server/app/login/page.js +2 -2
  611. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  612. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  613. package/app/.next-cli-build/server/app/login.html +1 -1
  614. package/app/.next-cli-build/server/app/login.rsc +6 -6
  615. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  616. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  617. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
  618. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  619. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  620. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  621. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  622. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  623. package/app/.next-cli-build/server/app/page.js +2 -2
  624. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  625. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  626. package/app/.next-cli-build/server/app-paths-manifest.json +3 -2
  627. package/app/.next-cli-build/server/chunks/1829.js +1 -1
  628. package/app/.next-cli-build/server/chunks/{4329.js → 1882.js} +1 -1
  629. package/app/.next-cli-build/server/chunks/203.js +10 -0
  630. package/app/.next-cli-build/server/chunks/2112.js +1 -1
  631. package/app/.next-cli-build/server/chunks/2194.js +1 -0
  632. package/app/.next-cli-build/server/chunks/2573.js +1 -0
  633. package/app/.next-cli-build/server/chunks/318.js +78 -18
  634. package/app/.next-cli-build/server/chunks/3350.js +1 -1
  635. package/app/.next-cli-build/server/chunks/3535.js +1 -1
  636. package/app/.next-cli-build/server/chunks/3558.js +1 -1
  637. package/app/.next-cli-build/server/chunks/3610.js +1 -0
  638. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  639. package/app/.next-cli-build/server/chunks/412.js +3 -3
  640. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  641. package/app/.next-cli-build/server/chunks/4664.js +1 -1
  642. package/app/.next-cli-build/server/chunks/507.js +1 -1
  643. package/app/.next-cli-build/server/chunks/5258.js +1 -1
  644. package/app/.next-cli-build/server/chunks/5612.js +1 -1
  645. package/app/.next-cli-build/server/chunks/5615.js +3 -3
  646. package/app/.next-cli-build/server/chunks/5699.js +1 -1
  647. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  648. package/app/.next-cli-build/server/chunks/615.js +1 -1
  649. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  650. package/app/.next-cli-build/server/chunks/6457.js +1 -1
  651. package/app/.next-cli-build/server/chunks/6763.js +1 -1
  652. package/app/.next-cli-build/server/chunks/6832.js +1 -0
  653. package/app/.next-cli-build/server/chunks/7011.js +1 -1
  654. package/app/.next-cli-build/server/chunks/7108.js +2 -2
  655. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  656. package/app/.next-cli-build/server/chunks/7807.js +3 -0
  657. package/app/.next-cli-build/server/chunks/8038.js +26 -15
  658. package/app/.next-cli-build/server/chunks/827.js +1 -1
  659. package/app/.next-cli-build/server/chunks/8499.js +71 -0
  660. package/app/.next-cli-build/server/chunks/869.js +1 -1
  661. package/app/.next-cli-build/server/chunks/8895.js +8 -8
  662. package/app/.next-cli-build/server/chunks/8910.js +1 -1
  663. package/app/.next-cli-build/server/chunks/8920.js +1 -1
  664. package/app/.next-cli-build/server/chunks/915.js +1 -1
  665. package/app/.next-cli-build/server/instrumentation.js +1 -0
  666. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  667. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  668. package/app/.next-cli-build/server/middleware.js +4 -4
  669. package/app/.next-cli-build/server/pages/404.html +1 -1
  670. package/app/.next-cli-build/server/pages/500.html +1 -1
  671. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  672. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  673. package/app/.next-cli-build/static/JWImzQkckVcSebM83PuaS/_buildManifest.js +1 -0
  674. package/app/.next-cli-build/static/chunks/1321-3cb00d56de5fba92.js +1 -0
  675. package/app/.next-cli-build/static/chunks/1a258343.e25ce4decd2c9ea4.js +1 -0
  676. package/app/.next-cli-build/static/chunks/3521.a9e2daf685420cc7.js +1 -0
  677. package/app/.next-cli-build/static/chunks/5116-cb256a4ded35d6c3.js +74 -0
  678. package/app/.next-cli-build/static/chunks/5497-ec8d04fe35d82d0b.js +7 -0
  679. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-3fea5e5140e9e9e2.js → page-b581f847e6f172c7.js} +1 -1
  680. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-ffde99503dc31523.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-f99b581b394e9850.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-217b751496114bf0.js → page-6226ad0df4077bca.js} +11 -11
  683. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-108328d1577f1b0f.js → page-87777e15e4d22276.js} +3 -3
  684. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-ff73f5f0dde36128.js +12 -0
  685. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-cf54417bb10c6b95.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c31a0e5c041fa35d.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/_global-error/page-b84804a8130c8ef9.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-b84804a8130c8ef9.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-b84804a8130c8ef9.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-b84804a8130c8ef9.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-b84804a8130c8ef9.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-b84804a8130c8ef9.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-b84804a8130c8ef9.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-b84804a8130c8ef9.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-b84804a8130c8ef9.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-b84804a8130c8ef9.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-b84804a8130c8ef9.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-b84804a8130c8ef9.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-b84804a8130c8ef9.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-b84804a8130c8ef9.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-b84804a8130c8ef9.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-b84804a8130c8ef9.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-b84804a8130c8ef9.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-b84804a8130c8ef9.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-b84804a8130c8ef9.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-b84804a8130c8ef9.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-b84804a8130c8ef9.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-b84804a8130c8ef9.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-b84804a8130c8ef9.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-b84804a8130c8ef9.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-b84804a8130c8ef9.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-b84804a8130c8ef9.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-b84804a8130c8ef9.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-b84804a8130c8ef9.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/combos/route-b84804a8130c8ef9.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-b84804a8130c8ef9.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-b84804a8130c8ef9.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-b84804a8130c8ef9.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-b84804a8130c8ef9.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-b84804a8130c8ef9.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-b84804a8130c8ef9.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/health/route-b84804a8130c8ef9.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/init/route-b84804a8130c8ef9.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-b84804a8130c8ef9.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/keys/route-b84804a8130c8ef9.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/locale/route-b84804a8130c8ef9.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-b84804a8130c8ef9.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-b84804a8130c8ef9.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-b84804a8130c8ef9.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-b84804a8130c8ef9.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-b84804a8130c8ef9.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-b84804a8130c8ef9.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-b84804a8130c8ef9.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-b84804a8130c8ef9.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-b84804a8130c8ef9.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-b84804a8130c8ef9.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-b84804a8130c8ef9.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/models/route-b84804a8130c8ef9.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/models/test/route-b84804a8130c8ef9.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-b84804a8130c8ef9.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-b84804a8130c8ef9.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-b84804a8130c8ef9.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-b84804a8130c8ef9.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-b84804a8130c8ef9.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-b84804a8130c8ef9.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-b84804a8130c8ef9.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-b84804a8130c8ef9.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-b84804a8130c8ef9.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-b84804a8130c8ef9.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-b84804a8130c8ef9.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-b84804a8130c8ef9.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-b84804a8130c8ef9.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/pricing/route-b84804a8130c8ef9.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-b84804a8130c8ef9.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-b84804a8130c8ef9.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-b84804a8130c8ef9.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-b84804a8130c8ef9.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-b84804a8130c8ef9.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-b84804a8130c8ef9.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-b84804a8130c8ef9.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-b84804a8130c8ef9.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-b84804a8130c8ef9.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/providers/route-b84804a8130c8ef9.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-b84804a8130c8ef9.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-b84804a8130c8ef9.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-b84804a8130c8ef9.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-b84804a8130c8ef9.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-b84804a8130c8ef9.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-b84804a8130c8ef9.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-b84804a8130c8ef9.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-b84804a8130c8ef9.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-b84804a8130c8ef9.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-b84804a8130c8ef9.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-b84804a8130c8ef9.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-b84804a8130c8ef9.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-b84804a8130c8ef9.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-b84804a8130c8ef9.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-b84804a8130c8ef9.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-b84804a8130c8ef9.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-b84804a8130c8ef9.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-b84804a8130c8ef9.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-b84804a8130c8ef9.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-b84804a8130c8ef9.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/settings/route-b84804a8130c8ef9.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-b84804a8130c8ef9.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/tags/route-b84804a8130c8ef9.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-b84804a8130c8ef9.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-b84804a8130c8ef9.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-b84804a8130c8ef9.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-b84804a8130c8ef9.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-b84804a8130c8ef9.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-b84804a8130c8ef9.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-b84804a8130c8ef9.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-b84804a8130c8ef9.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-b84804a8130c8ef9.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-b84804a8130c8ef9.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-b84804a8130c8ef9.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-b84804a8130c8ef9.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-b84804a8130c8ef9.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-b84804a8130c8ef9.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-b84804a8130c8ef9.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-b84804a8130c8ef9.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-b84804a8130c8ef9.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-b84804a8130c8ef9.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-b84804a8130c8ef9.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-b84804a8130c8ef9.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-b84804a8130c8ef9.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-b84804a8130c8ef9.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-b84804a8130c8ef9.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-b84804a8130c8ef9.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-b84804a8130c8ef9.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-b84804a8130c8ef9.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-b84804a8130c8ef9.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-b84804a8130c8ef9.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-b84804a8130c8ef9.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-b84804a8130c8ef9.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-b84804a8130c8ef9.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-b84804a8130c8ef9.js +1 -0
  819. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-b84804a8130c8ef9.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-b84804a8130c8ef9.js +1 -0
  821. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-b84804a8130c8ef9.js +1 -0
  822. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-b84804a8130c8ef9.js +1 -0
  823. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-b84804a8130c8ef9.js +1 -0
  824. package/app/.next-cli-build/static/chunks/app/api/v1/route-b84804a8130c8ef9.js +1 -0
  825. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-b84804a8130c8ef9.js +1 -0
  826. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-b84804a8130c8ef9.js +1 -0
  827. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-b84804a8130c8ef9.js +1 -0
  828. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-b84804a8130c8ef9.js +1 -0
  829. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-b84804a8130c8ef9.js +1 -0
  830. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-b84804a8130c8ef9.js +1 -0
  831. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-b84804a8130c8ef9.js +1 -0
  832. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-b84804a8130c8ef9.js +1 -0
  833. package/app/.next-cli-build/static/chunks/app/api/version/route-b84804a8130c8ef9.js +1 -0
  834. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-b84804a8130c8ef9.js +1 -0
  835. package/app/.next-cli-build/static/chunks/app/api/version/update/route-b84804a8130c8ef9.js +1 -0
  836. package/app/.next-cli-build/static/chunks/app/landing/page-a27674e6c5b0a2a5.js +1 -0
  837. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-b84804a8130c8ef9.js +1 -0
  838. package/app/.next-cli-build/static/chunks/app/page-b84804a8130c8ef9.js +1 -0
  839. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-b84804a8130c8ef9.js +1 -0
  840. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-b84804a8130c8ef9.js +1 -0
  841. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-b84804a8130c8ef9.js +1 -0
  842. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-b84804a8130c8ef9.js +1 -0
  843. package/app/.next-cli-build/static/chunks/webpack-c3c4abfc45a2a611.js +1 -0
  844. package/app/.next-cli-build/static/css/cc29e6f232c039ff.css +1 -0
  845. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  846. package/app/package.json +1 -1
  847. package/app/public/i18n/literals/km.json +1396 -0
  848. package/app/public/i18n/literals/pt-BR.json +957 -164
  849. package/app/public/providers/agentrouter.png +0 -0
  850. package/app/public/providers/api-airforce.png +0 -0
  851. package/app/public/providers/baidu.png +0 -0
  852. package/app/public/providers/bazaarlink.png +0 -0
  853. package/app/public/providers/bluesminds.png +0 -0
  854. package/app/public/providers/codebuddy-cn.png +0 -0
  855. package/app/public/providers/codebuddy-intl.png +0 -0
  856. package/app/public/providers/commandcode.png +0 -0
  857. package/app/public/providers/devin-cli.png +0 -0
  858. package/app/public/providers/featherless.png +0 -0
  859. package/app/public/providers/gitlab.png +0 -0
  860. package/app/public/providers/kilo-gateway.png +0 -0
  861. package/app/public/providers/llm7.png +0 -0
  862. package/app/public/providers/longcat.png +0 -0
  863. package/app/public/providers/mmf.png +0 -0
  864. package/app/public/providers/morph.png +0 -0
  865. package/app/public/providers/novita.png +0 -0
  866. package/app/public/providers/perplexity-agent.png +0 -0
  867. package/app/public/providers/poolside.png +0 -0
  868. package/app/public/providers/qoder.png +0 -0
  869. package/app/public/providers/reka.png +0 -0
  870. package/app/public/providers/sambanova.png +0 -0
  871. package/app/public/providers/tencent.png +0 -0
  872. package/app/public/providers/trae.png +0 -0
  873. package/app/public/providers/venice.png +0 -0
  874. package/app/public/providers/vercel-ai-gateway.png +0 -0
  875. package/app/public/providers/vercel.png +0 -0
  876. package/app/public/providers/windsurf.png +0 -0
  877. package/app/public/providers/workbuddy.png +0 -0
  878. package/app/public/providers/zed.png +0 -0
  879. package/app/src/lib/db/adapters/betterSqliteAdapter.js +3 -3
  880. package/app/src/mitm/server.js +21 -21
  881. package/cli.js +2 -2
  882. package/package.json +1 -1
  883. package/src/cli/menus/providers.js +6 -1
  884. package/app/.next-cli-build/server/chunks/112.js +0 -3
  885. package/app/.next-cli-build/server/chunks/2056.js +0 -1
  886. package/app/.next-cli-build/server/chunks/3813.js +0 -1
  887. package/app/.next-cli-build/server/chunks/5491.js +0 -1
  888. package/app/.next-cli-build/server/chunks/6805.js +0 -73
  889. package/app/.next-cli-build/server/chunks/8335.js +0 -10
  890. package/app/.next-cli-build/static/chunks/1321-7f70ea1854851a9b.js +0 -1
  891. package/app/.next-cli-build/static/chunks/1a258343.5938f676ed376386.js +0 -1
  892. package/app/.next-cli-build/static/chunks/3521.8dce45f121472d5c.js +0 -1
  893. package/app/.next-cli-build/static/chunks/5116-abbb531d1c70d939.js +0 -63
  894. package/app/.next-cli-build/static/chunks/5497-25476bc01a0ff241.js +0 -7
  895. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-500933e92ec9d704.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-00ee45b3da219332.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b2d9fdc7aa9d2bfd.js +0 -12
  898. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-a2ed056ba7f0b270.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-4a4e8b584d49bc4c.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/_global-error/page-0b074c453edbc4ed.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/auth/login/route-0b074c453edbc4ed.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-0b074c453edbc4ed.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-0b074c453edbc4ed.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-0b074c453edbc4ed.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-0b074c453edbc4ed.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-0b074c453edbc4ed.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-0b074c453edbc4ed.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-0b074c453edbc4ed.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-0b074c453edbc4ed.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-0b074c453edbc4ed.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-0b074c453edbc4ed.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-0b074c453edbc4ed.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-0b074c453edbc4ed.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-0b074c453edbc4ed.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-0b074c453edbc4ed.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-0b074c453edbc4ed.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-0b074c453edbc4ed.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-0b074c453edbc4ed.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-0b074c453edbc4ed.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-0b074c453edbc4ed.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-0b074c453edbc4ed.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-0b074c453edbc4ed.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-0b074c453edbc4ed.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-0b074c453edbc4ed.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-0b074c453edbc4ed.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-0b074c453edbc4ed.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/combos/route-0b074c453edbc4ed.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-0b074c453edbc4ed.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-0b074c453edbc4ed.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-0b074c453edbc4ed.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-0b074c453edbc4ed.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-0b074c453edbc4ed.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-0b074c453edbc4ed.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/health/route-0b074c453edbc4ed.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/init/route-0b074c453edbc4ed.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-0b074c453edbc4ed.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/keys/route-0b074c453edbc4ed.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/locale/route-0b074c453edbc4ed.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-0b074c453edbc4ed.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-0b074c453edbc4ed.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-0b074c453edbc4ed.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-0b074c453edbc4ed.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-0b074c453edbc4ed.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-0b074c453edbc4ed.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-0b074c453edbc4ed.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-0b074c453edbc4ed.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-0b074c453edbc4ed.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-0b074c453edbc4ed.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-0b074c453edbc4ed.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/models/route-0b074c453edbc4ed.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/models/test/route-0b074c453edbc4ed.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-0b074c453edbc4ed.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-0b074c453edbc4ed.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-0b074c453edbc4ed.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-0b074c453edbc4ed.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-0b074c453edbc4ed.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-0b074c453edbc4ed.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-0b074c453edbc4ed.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-0b074c453edbc4ed.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-0b074c453edbc4ed.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-0b074c453edbc4ed.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-0b074c453edbc4ed.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-0b074c453edbc4ed.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-0b074c453edbc4ed.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/pricing/route-0b074c453edbc4ed.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-0b074c453edbc4ed.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-0b074c453edbc4ed.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-0b074c453edbc4ed.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-0b074c453edbc4ed.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-0b074c453edbc4ed.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-0b074c453edbc4ed.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-0b074c453edbc4ed.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-0b074c453edbc4ed.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-0b074c453edbc4ed.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/providers/route-0b074c453edbc4ed.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-0b074c453edbc4ed.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-0b074c453edbc4ed.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-0b074c453edbc4ed.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-0b074c453edbc4ed.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-0b074c453edbc4ed.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-0b074c453edbc4ed.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-0b074c453edbc4ed.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-0b074c453edbc4ed.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-0b074c453edbc4ed.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-0b074c453edbc4ed.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-0b074c453edbc4ed.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-0b074c453edbc4ed.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-0b074c453edbc4ed.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-0b074c453edbc4ed.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-0b074c453edbc4ed.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-0b074c453edbc4ed.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-0b074c453edbc4ed.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-0b074c453edbc4ed.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-0b074c453edbc4ed.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-0b074c453edbc4ed.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/settings/route-0b074c453edbc4ed.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-0b074c453edbc4ed.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/tags/route-0b074c453edbc4ed.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-0b074c453edbc4ed.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-0b074c453edbc4ed.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-0b074c453edbc4ed.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-0b074c453edbc4ed.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-0b074c453edbc4ed.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-0b074c453edbc4ed.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-0b074c453edbc4ed.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-0b074c453edbc4ed.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-0b074c453edbc4ed.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-0b074c453edbc4ed.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-0b074c453edbc4ed.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-0b074c453edbc4ed.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-0b074c453edbc4ed.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-0b074c453edbc4ed.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-0b074c453edbc4ed.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-0b074c453edbc4ed.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-0b074c453edbc4ed.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-0b074c453edbc4ed.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-0b074c453edbc4ed.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-0b074c453edbc4ed.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-0b074c453edbc4ed.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-0b074c453edbc4ed.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-0b074c453edbc4ed.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-0b074c453edbc4ed.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-0b074c453edbc4ed.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-0b074c453edbc4ed.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-0b074c453edbc4ed.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-0b074c453edbc4ed.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-0b074c453edbc4ed.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-0b074c453edbc4ed.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-0b074c453edbc4ed.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-0b074c453edbc4ed.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-0b074c453edbc4ed.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-0b074c453edbc4ed.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-0b074c453edbc4ed.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-0b074c453edbc4ed.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-0b074c453edbc4ed.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/v1/route-0b074c453edbc4ed.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-0b074c453edbc4ed.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-0b074c453edbc4ed.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-0b074c453edbc4ed.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-0b074c453edbc4ed.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-0b074c453edbc4ed.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-0b074c453edbc4ed.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-0b074c453edbc4ed.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-0b074c453edbc4ed.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/version/route-0b074c453edbc4ed.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-0b074c453edbc4ed.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/version/update/route-0b074c453edbc4ed.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/landing/page-38fb1c1cf15b58e6.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-0b074c453edbc4ed.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/page-0b074c453edbc4ed.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-0b074c453edbc4ed.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-0b074c453edbc4ed.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-0b074c453edbc4ed.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-0b074c453edbc4ed.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/webpack-9f85387c1012d8a6.js +0 -1
  1056. package/app/.next-cli-build/static/css/da4a0bfccb4cb38e.css +0 -1
  1057. package/app/.next-cli-build/static/sQN_jz73W79rVHaflXPWr/_buildManifest.js +0 -1
  1058. /package/app/.next-cli-build/static/{sQN_jz73W79rVHaflXPWr → JWImzQkckVcSebM83PuaS}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=6457,exports.ids=[6457],exports.modules={66457:(a,b,c)=>{c.d(b,{rI:()=>bd,cw:()=>bb,Lh:()=>ba,Z2:()=>aq,Lx:()=>be,DA:()=>bc,u7:()=>a9,rH:()=>a5,Rg:()=>ae,mh:()=>a4,cb:()=>ad,Al:()=>J,jd:()=>o,Dd:()=>H,SF:()=>aB,oN:()=>a2,H4:()=>a6,Qn:()=>$,Jv:()=>af,A1:()=>aM,nN:()=>Q,si:()=>aT,D:()=>aJ,xh:()=>aC,a$:()=>aG,Kp:()=>aH,hp:()=>aI,ss:()=>P,C7:()=>m,X$:()=>aa,LC:()=>aX});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.n,"tunnel"),j=g().join(i,"state.json"),k="abcdefghijklmnpqrstuvwxyz23456789";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{}return null}function n(a){l(),e().writeFileSync(j,JSON.stringify(a,null,2))}function o(){let a="";for(let b=0;b<6;b++)a+=k.charAt(Math.floor(Math.random()*k.length));return a}var p=c(55591),q=c.n(p),r=c(21820),s=c.n(r),t=c(79646);let u=g().join(i,"cloudflared.pid");function v(){try{if(e().existsSync(u))return parseInt(e().readFileSync(u,"utf8"))}catch{}return null}function w(){try{e().existsSync(u)&&e().unlinkSync(u)}catch{}}let x=g().join(h.n,"bin"),y="cloudflared",z="win32"===s().platform(),A=z?`${y}.exe`:y,B=g().join(x,A),C="http2",D=new Set(["http2","quic","auto"]),E={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"}},F={darwin:"cloudflared-darwin-amd64.tgz",win32:"cloudflared-windows-386.exe",linux:"cloudflared-linux-amd64"},G={downloading:!1,progress:0};function H(){return{downloading:G.downloading,progress:G.progress}}let I=null;async function J(){return I||(I=K().finally(()=>{I=null}))}async function K(){e().existsSync(x)||e().mkdirSync(x,{recursive:!0});let a=`${B}.tmp`;if(e().existsSync(a))try{e().unlinkSync(a)}catch{}if(e().existsSync(B))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(z)return d.startsWith("4d5a");if("darwin"===s().platform())return d.startsWith("cffaedfe")||d.startsWith("cefaedfe");return d.startsWith("7f454c46")}catch{return!1}}(B))return z||e().chmodSync(B,"755"),B;else console.log("[cloudflared] Invalid binary detected, re-downloading..."),e().unlinkSync(B);let b=function(){let a=s().platform(),b=s().arch(),c=E[a];if(!c)throw Error(`Unsupported platform: ${a}`);let d=c[b]||F[a];return`https://github.com/cloudflare/cloudflared/releases/latest/download/${d}`}(),c=b.endsWith(".tgz"),d=c?g().join(x,"cloudflared.tgz.tmp"):a;return await function a(b,c){return new Promise((d,f)=>{let g=e().createWriteStream(c);q().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;G.downloading=!0,G.progress=0,b.on("data",a=>{i+=a.length,h>0&&(G.progress=Math.round(i/h*100))}),b.pipe(g),g.on("finish",()=>{G.downloading=!1,G.progress=100,g.close(()=>d(c))}),g.on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().unlinkSync(c),f(a)})}).on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().existsSync(c)&&e().unlinkSync(c),f(a)})})}(b,d),c?((0,t.execSync)(`tar -xzf "${d}" -C "${x}"`,{stdio:"pipe",windowsHide:!0}),e().unlinkSync(d)):e().renameSync(d,B),z||e().chmodSync(B,"755"),B}let L=null,M=null,N=!1;async function O(a,b){var c;let d=await J(),f=e().mkdtempSync(g().join(s().tmpdir(),"cloudflared-quick-")),h=g().join(f,"config.yml");e().writeFileSync(h,"# quick-tunnel config placeholder\n","utf8");let i=!1,j=()=>{if(!i){i=!0;try{e().rmSync(f,{recursive:!0,force:!0})}catch(a){}}},k=String(process.env.TUNNEL_TRANSPORT_PROTOCOL||process.env.CLOUDFLARED_PROTOCOL||C).trim().toLowerCase(),m=D.has(k)?k:C,n=(0,t.spawn)(d,["tunnel","--url",`http://127.0.0.1:${a}`,"--config",h,"--no-autoupdate","--retries","99"],{detached:!1,windowsHide:!0,cwd:s().tmpdir(),env:{...process.env,TUNNEL_TRANSPORT_PROTOCOL:m},stdio:["ignore","pipe","pipe"]});return L=n,c=n.pid,l(),e().writeFileSync(u,c.toString()),new Promise((c,d)=>{let e=!1,f="",g=setTimeout(()=>{e||(e=!0,j(),d(Error(`Quick tunnel timed out. Last log: ${f.slice(-800)||"(empty)"}`)))},9e4),h=null,i=a=>{let d=a.toString();f=(f+d).slice(-4e3);let i=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(i){if(!e){e=!0,h=i,clearTimeout(g),j(),console.log(`[Tunnel] cloudflared URL: ${i}`),c({child:n,tunnelUrl:i});return}i!==h&&(console.log(`[Tunnel] cloudflared URL changed: ${i}`),h=i,b&&b(i))}};n.stdout.on("data",i),n.stderr.on("data",i),n.on("error",a=>{e||(e=!0,clearTimeout(g),j(),d(a))}),n.on("exit",(b,c)=>{if(L=null,w(),N){N=!1,clearTimeout(g),j(),e||(e=!0,d(Error("cloudflared killed")));return}if(console.log(`[Tunnel] cloudflared exit code=${b} signal=${c}`),!e){e=!0,clearTimeout(g),j();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}M&&M(),j()})})}function P(a){if(N=!0,L){try{L.kill()}catch(a){}L=null}let b=v();if(b){try{process.kill(b)}catch(a){}w()}if(a)try{if(z){let b=`Get-CimInstance Win32_Process -Filter \\"Name='cloudflared.exe'\\" | Where-Object { $_.CommandLine -match ':${a}(\\D|$)' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }`;(0,t.execSync)(`powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "${b}"`,{stdio:"ignore",windowsHide:!0})}else(0,t.execSync)(`pkill -f "cloudflared.*:${a}([^0-9]|$)" 2>/dev/null || true`,{stdio:"ignore",windowsHide:!0})}catch(a){}}function Q(){let a=v();if(!a)return!1;try{return process.kill(a,0),!0}catch(a){return!1}}var R=c(14985),S=c.n(R);let T=new(S()).promises.Resolver;async function U(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(()=>T.resolve4(a))||c(()=>S().promises.resolve4(a))}T.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);let V=process.env.TUNNEL_WORKER_URL||"https://abc-tunnel.us";async function W(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,2e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function X(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<6e4;){if(b.cancelled)throw Error("cancelled");if(await W(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 60000ms")}var Y=c(89718);let Z={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function $(){return Z}let _=null;function aa(a){_=a}async function ab(a,b){await fetch(`${V}/api/tunnel/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shortId:a,tunnelUrl:b})})}function ac(a){if(a.cancelled)throw Error("tunnel cancelled")}async function ad(a=20128){console.log(`[Tunnel] enable start (port=${a})`),Z.cancelToken={cancelled:!1},Z.activeLocalPort=a,Z.spawnInProgress=!0;let b=Z.cancelToken;try{if(Q()){let a=m();if(a?.tunnelUrl&&a?.shortId){let b=`https://r${a.shortId}.abc-tunnel.us`,[c,d]=await Promise.all([W(a.tunnelUrl),W(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`)}}P(a),console.log("[Tunnel] killed existing cloudflared"),ac(b);let c=m(),d=c?.shortId||o(),e=async a=>{b.cancelled||(console.log(`[Tunnel] url updated: ${a}`),await ab(d,a),n({shortId:d,tunnelUrl:a}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:a}))};M=()=>{console.warn("[Tunnel] cloudflared exited unexpectedly, scheduling respawn"),_&&_()};let{tunnelUrl:f}=await O(a,e);console.log(`[Tunnel] spawned: ${f}`),ac(b);let g=`https://r${d}.abc-tunnel.us`;return await ab(d,f),n({shortId:d,tunnelUrl:f}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:f}),console.log(`[Tunnel] registered shortId=${d} publicUrl=${g}`),await X(g,b),console.log("[Tunnel] public URL healthy"),await W(f)?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:f,shortId:d,publicUrl:g}}catch(a){throw/cloudflared killed|tunnel cancelled/.test(a.message)||console.error(`[Tunnel] enable error: ${a.message}`),a}finally{Z.spawnInProgress=!1}}async function ae(){console.log("[Tunnel] disable"),Z.cancelToken.cancelled=!0,M=null;try{P(Z.activeLocalPort)}catch(a){console.warn(`[Tunnel] kill warn: ${a.message}`)}w();let a=m();return a&&n({shortId:a.shortId,tunnelUrl:null}),await (0,Y.Xx)({tunnelEnabled:!1,tunnelUrl:""}),Z.spawnInProgress=!1,Z.activeLocalPort=null,{success:!0}}async function af(){let a=!0===(await (0,Y.mt)()).tunnelEnabled,b=m(),c=b?.shortId||"",d=c?`https://r${c}.abc-tunnel.us`:"",e=b?.tunnelUrl||"",f=!!a&&Q();return{enabled:a&&f,settingsEnabled:a,tunnelUrl:e,shortId:c,publicUrl:d,running:f}}var ag=c(55511),ah=c.n(ag),ai=c(28354),aj=c(66936);let ak=(0,ai.promisify)(t.exec),al=g().join(h.n,"bin"),am="darwin"===s().platform();s().platform();let an="win32"===s().platform(),ao=g().join(al,an?"tailscale.exe":"tailscale"),ap=g().join(h.n,"tailscale"),aq=g().join(ap,"tailscaled.sock"),ar=an?[]:["--socket",aq],as=an?null:"/var/run/tailscale/tailscaled.sock",at=as?["--socket",as]:[],au="C:\\Program Files\\Tailscale\\tailscale.exe",av=["/usr/local/bin/tailscale","/opt/homebrew/bin/tailscale","/usr/sbin/tailscale","/usr/bin/tailscale","/snap/bin/tailscale"],aw={value:void 0,fetchedAt:0,refreshing:!1},ax={value:!1,fetchedAt:0,refreshing:!1},ay={value:!1,fetchedAt:0,refreshing:!1},az={value:null,port:null,fetchedAt:0,refreshing:!1};function aA(){return e().existsSync(ao)?ao:an&&e().existsSync(au)?au:!an&&av.find(a=>e().existsSync(a))||null}function aB(){return Date.now()-aw.fetchedAt>1e4&&(aw.refreshing||(aw.refreshing=!0,ak(an?"where tailscale 2>nul":"which tailscale 2>/dev/null",{windowsHide:!0,timeout:1500,env:{...process.env,PATH:aN}}).then(({stdout:a})=>{aw.value=a.trim()||aA()}).catch(()=>{aw.value=aA()}).finally(()=>{aw.fetchedAt=Date.now(),aw.refreshing=!1}))),void 0===aw.value&&(e().existsSync(ao)?aw.value=ao:an&&e().existsSync(au)?aw.value=au:an?aw.value=null:aw.value=av.find(a=>e().existsSync(a))||null),aw.value}function aC(){return null!==aB()}function aD(...a){return[...ar,...a]}async function aE(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d="Running"===c.BackendState&&c.Self?.Online===!0;return ay.value=d,ay.fetchedAt=Date.now(),d}catch{return!1}}async function aF(a){for(let b of[ar,at])try{let{stdout:c}=await ak(`"${a}" ${b.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return JSON.parse(c)}catch{}return null}function aG(){return Date.now()-ay.fetchedAt>1e4&&function(){if(ay.refreshing)return;let a=aB();if(!a){ay.value=!1,ay.fetchedAt=Date.now();return}ay.refreshing=!0,aF(a).then(a=>{ay.value=!!a&&"Running"===a.BackendState&&a.Self?.Online===!0}).catch(()=>{ay.value=!1}).finally(()=>{ay.fetchedAt=Date.now(),ay.refreshing=!1})}(),ay.value}function aH(){return Date.now()-ax.fetchedAt>1e4&&function(){if(ax.refreshing)return;let a=aB();if(!a){ax.value=!1,ax.fetchedAt=Date.now();return}ax.refreshing=!0,ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a);ax.value=Object.keys(b.AllowFunnel||{}).length>0}catch{ax.value=!1}}).catch(()=>{ax.value=!1}).finally(()=>{ax.fetchedAt=Date.now(),ax.refreshing=!1})}(),ax.value}async function aI(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}),c=JSON.parse(b),d=Object.keys(c.AllowFunnel||{}).length>0;return ax.value=d,ax.fetchedAt=Date.now(),d}catch{return!1}}function aJ(){if(an||!as||!e().existsSync(as))return!1;let a=aB();if(!a)return!1;try{let b=(0,t.execSync)(`"${a}" ${at.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return"Running"===JSON.parse(b).BackendState}catch{return!1}}function aK(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d=c.Self?.DNSName?.replace(/\.$/,"");return d?`https://${d}`:null}catch{return null}}function aL(a){return(Date.now()-az.fetchedAt>1e4||az.port!==a)&&function(a){if(az.refreshing)return;let b=aB();b&&(az.refreshing=!0,ak(`"${b}" ${ar.join(" ")} status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a),c=b.Self?.DNSName?.replace(/\.$/,"");az.value=c?`https://${c}`:null}catch{}}).catch(()=>{}).finally(()=>{az.port=a,az.fetchedAt=Date.now(),az.refreshing=!1}))}(a),az.value}async function aM(a,b,c){let d=c||(()=>{});return an?(await aQ(d),{success:!0}):(am?await aO(a,d):await aP(a,d),d("Starting daemon..."),await aU(a),d("Logging in..."),aW(b))}let aN=`/usr/local/bin:/opt/homebrew/bin:/usr/sbin:/usr/bin:/bin:/snap/bin:${process.env.PATH||""}`;async function aO(a,b){if(function(){try{return(0,t.execSync)("which brew",{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:aN}}),!0}catch{return!1}}()){b("Installing via Homebrew..."),await new Promise((a,c)=>{let d=(0,t.spawn)("brew",["install","tailscale"],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,PATH:aN}});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(s().tmpdir(),"tailscale.pkg");b("Downloading Tailscale package..."),await new Promise((a,d)=>{let e=(0,t.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,t.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,t.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=6457,exports.ids=[6457],exports.modules={66457:(a,b,c)=>{c.d(b,{rI:()=>bd,cw:()=>bb,Lh:()=>ba,Z2:()=>aq,Lx:()=>be,DA:()=>bc,u7:()=>a9,rH:()=>a5,Rg:()=>ae,mh:()=>a4,cb:()=>ad,Al:()=>J,jd:()=>o,Dd:()=>H,SF:()=>aB,oN:()=>a2,H4:()=>a6,Qn:()=>$,Jv:()=>af,A1:()=>aM,nN:()=>Q,si:()=>aT,D:()=>aJ,xh:()=>aC,a$:()=>aG,Kp:()=>aH,hp:()=>aI,ss:()=>P,C7:()=>m,X$:()=>aa,LC:()=>aX});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(49120);let i=g().join(h.n,"tunnel"),j=g().join(i,"state.json"),k="abcdefghijklmnpqrstuvwxyz23456789";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{}return null}function n(a){l(),e().writeFileSync(j,JSON.stringify(a,null,2))}function o(){let a="";for(let b=0;b<6;b++)a+=k.charAt(Math.floor(Math.random()*k.length));return a}var p=c(55591),q=c.n(p),r=c(21820),s=c.n(r),t=c(79646);let u=g().join(i,"cloudflared.pid");function v(){try{if(e().existsSync(u))return parseInt(e().readFileSync(u,"utf8"))}catch{}return null}function w(a=null){try{if(!e().existsSync(u)||null!==a&&v()!==a)return!1;return e().unlinkSync(u),!0}catch{}return!1}let x=g().join(h.n,"bin"),y="cloudflared",z="win32"===s().platform(),A=z?`${y}.exe`:y,B=g().join(x,A),C="http2",D=new Set(["http2","quic","auto"]),E={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"}},F={darwin:"cloudflared-darwin-amd64.tgz",win32:"cloudflared-windows-386.exe",linux:"cloudflared-linux-amd64"},G={downloading:!1,progress:0};function H(){return{downloading:G.downloading,progress:G.progress}}let I=null;async function J(){return I||(I=K().finally(()=>{I=null}))}async function K(){e().existsSync(x)||e().mkdirSync(x,{recursive:!0});let a=`${B}.tmp`;if(e().existsSync(a))try{e().unlinkSync(a)}catch{}if(e().existsSync(B))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(z)return d.startsWith("4d5a");if("darwin"===s().platform())return d.startsWith("cffaedfe")||d.startsWith("cefaedfe");return d.startsWith("7f454c46")}catch{return!1}}(B))return z||e().chmodSync(B,"755"),B;else console.log("[cloudflared] Invalid binary detected, re-downloading..."),e().unlinkSync(B);let b=function(){let a=s().platform(),b=s().arch(),c=E[a];if(!c)throw Error(`Unsupported platform: ${a}`);let d=c[b]||F[a];return`https://github.com/cloudflare/cloudflared/releases/latest/download/${d}`}(),c=b.endsWith(".tgz"),d=c?g().join(x,"cloudflared.tgz.tmp"):a;return await function a(b,c){return new Promise((d,f)=>{let g=e().createWriteStream(c);q().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;G.downloading=!0,G.progress=0,b.on("data",a=>{i+=a.length,h>0&&(G.progress=Math.round(i/h*100))}),b.pipe(g),g.on("finish",()=>{G.downloading=!1,G.progress=100,g.close(()=>d(c))}),g.on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().unlinkSync(c),f(a)})}).on("error",a=>{G.downloading=!1,G.progress=0,g.close(),e().existsSync(c)&&e().unlinkSync(c),f(a)})})}(b,d),c?((0,t.execSync)(`tar -xzf "${d}" -C "${x}"`,{stdio:"pipe",windowsHide:!0}),e().unlinkSync(d)):e().renameSync(d,B),z||e().chmodSync(B,"755"),B}let L=null,M=null,N=!1;async function O(a,b){var c;let d=await J(),f=e().mkdtempSync(g().join(s().tmpdir(),"cloudflared-quick-")),h=g().join(f,"config.yml");e().writeFileSync(h,"# quick-tunnel config placeholder\n","utf8");let i=!1,j=()=>{if(!i){i=!0;try{e().rmSync(f,{recursive:!0,force:!0})}catch(a){}}},k=String(process.env.TUNNEL_TRANSPORT_PROTOCOL||process.env.CLOUDFLARED_PROTOCOL||C).trim().toLowerCase(),m=D.has(k)?k:C,n=(0,t.spawn)(d,["tunnel","--url",`http://127.0.0.1:${a}`,"--config",h,"--no-autoupdate","--retries","99"],{detached:!1,windowsHide:!0,cwd:s().tmpdir(),env:{...process.env,TUNNEL_TRANSPORT_PROTOCOL:m},stdio:["ignore","pipe","pipe"]});return L=n,c=n.pid,l(),e().writeFileSync(u,c.toString()),new Promise((c,d)=>{let e=!1,f="",g=setTimeout(()=>{e||(e=!0,j(),d(Error(`Quick tunnel timed out. Last log: ${f.slice(-800)||"(empty)"}`)))},9e4),h=null,i=a=>{let d=a.toString();f=(f+d).slice(-4e3);let i=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(i){if(!e){e=!0,h=i,clearTimeout(g),j(),console.log(`[Tunnel] cloudflared URL: ${i}`),c({child:n,tunnelUrl:i});return}i!==h&&(console.log(`[Tunnel] cloudflared URL changed: ${i}`),h=i,b&&b(i))}};n.stdout.on("data",i),n.stderr.on("data",i),n.on("error",a=>{e||(e=!0,clearTimeout(g),j(),d(a))}),n.on("exit",(b,c)=>{if(L===n&&(L=null),w(n.pid),N){N=!1,clearTimeout(g),j(),e||(e=!0,d(Error("cloudflared killed")));return}if(console.log(`[Tunnel] cloudflared exit code=${b} signal=${c}`),!e){e=!0,clearTimeout(g),j();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}M&&M(),j()})})}function P(a){if(N=!0,L){try{L.kill()}catch(a){}L=null}let b=v();if(b){try{process.kill(b)}catch(a){}w()}if(a)try{if(z){let b=`Get-CimInstance Win32_Process -Filter \\"Name='cloudflared.exe'\\" | Where-Object { $_.CommandLine -match ':${a}(\\D|$)' } | ForEach-Object { Stop-Process -Id $_.ProcessId -Force }`;(0,t.execSync)(`powershell -NoProfile -NonInteractive -WindowStyle Hidden -Command "${b}"`,{stdio:"ignore",windowsHide:!0})}else(0,t.execSync)(`pkill -f "cloudflared.*:${a}([^0-9]|$)" 2>/dev/null || true`,{stdio:"ignore",windowsHide:!0})}catch(a){}}function Q(){let a=v();if(!a)return!1;try{return process.kill(a,0),!0}catch(a){return!1}}var R=c(14985),S=c.n(R);let T=new(S()).promises.Resolver;async function U(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(()=>T.resolve4(a))||c(()=>S().promises.resolve4(a))}T.setServers(["1.1.1.1","1.0.0.1","8.8.8.8"]);let V=process.env.TUNNEL_WORKER_URL||"https://abc-tunnel.us";async function W(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,2e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(5e3)})).ok}catch{return!1}}async function X(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<6e4;){if(b.cancelled)throw Error("cancelled");if(await W(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 60000ms")}var Y=c(89718);let Z={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function $(){return Z}let _=null;function aa(a){_=a}async function ab(a,b){await fetch(`${V}/api/tunnel/register`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({shortId:a,tunnelUrl:b})})}function ac(a){if(a.cancelled)throw Error("tunnel cancelled")}async function ad(a=20128){console.log(`[Tunnel] enable start (port=${a})`),Z.cancelToken={cancelled:!1},Z.activeLocalPort=a,Z.spawnInProgress=!0;let b=Z.cancelToken;try{if(Q()){let a=m();if(a?.tunnelUrl&&a?.shortId){let b=`https://r${a.shortId}.abc-tunnel.us`,[c,d]=await Promise.all([W(a.tunnelUrl),W(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`)}}P(a),console.log("[Tunnel] killed existing cloudflared"),ac(b);let c=m(),d=c?.shortId||o(),e=async a=>{b.cancelled||(console.log(`[Tunnel] url updated: ${a}`),await ab(d,a),n({shortId:d,tunnelUrl:a}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:a}))};M=()=>{console.warn("[Tunnel] cloudflared exited unexpectedly, scheduling respawn"),_&&_()};let{tunnelUrl:f}=await O(a,e);console.log(`[Tunnel] spawned: ${f}`),ac(b);let g=`https://r${d}.abc-tunnel.us`;return await ab(d,f),n({shortId:d,tunnelUrl:f}),await (0,Y.Xx)({tunnelEnabled:!0,tunnelUrl:f}),console.log(`[Tunnel] registered shortId=${d} publicUrl=${g}`),await X(g,b),console.log("[Tunnel] public URL healthy"),await W(f)?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:f,shortId:d,publicUrl:g}}catch(a){throw/cloudflared killed|tunnel cancelled/.test(a.message)||console.error(`[Tunnel] enable error: ${a.message}`),a}finally{Z.spawnInProgress=!1}}async function ae(){console.log("[Tunnel] disable"),Z.cancelToken.cancelled=!0,M=null;try{P(Z.activeLocalPort)}catch(a){console.warn(`[Tunnel] kill warn: ${a.message}`)}w();let a=m();return a&&n({shortId:a.shortId,tunnelUrl:null}),await (0,Y.Xx)({tunnelEnabled:!1,tunnelUrl:""}),Z.spawnInProgress=!1,Z.activeLocalPort=null,{success:!0}}async function af(){let a=!0===(await (0,Y.mt)()).tunnelEnabled,b=m(),c=b?.shortId||"",d=c?`https://r${c}.abc-tunnel.us`:"",e=b?.tunnelUrl||"",f=!!a&&Q();return{enabled:a&&f,settingsEnabled:a,tunnelUrl:e,shortId:c,publicUrl:d,running:f}}var ag=c(55511),ah=c.n(ag),ai=c(28354),aj=c(66936);let ak=(0,ai.promisify)(t.exec),al=g().join(h.n,"bin"),am="darwin"===s().platform();s().platform();let an="win32"===s().platform(),ao=g().join(al,an?"tailscale.exe":"tailscale"),ap=g().join(h.n,"tailscale"),aq=g().join(ap,"tailscaled.sock"),ar=an?[]:["--socket",aq],as=an?null:"/var/run/tailscale/tailscaled.sock",at=as?["--socket",as]:[],au="C:\\Program Files\\Tailscale\\tailscale.exe",av=["/usr/local/bin/tailscale","/opt/homebrew/bin/tailscale","/usr/sbin/tailscale","/usr/bin/tailscale","/snap/bin/tailscale"],aw={value:void 0,fetchedAt:0,refreshing:!1},ax={value:!1,fetchedAt:0,refreshing:!1},ay={value:!1,fetchedAt:0,refreshing:!1},az={value:null,port:null,fetchedAt:0,refreshing:!1};function aA(){return e().existsSync(ao)?ao:an&&e().existsSync(au)?au:!an&&av.find(a=>e().existsSync(a))||null}function aB(){return Date.now()-aw.fetchedAt>1e4&&(aw.refreshing||(aw.refreshing=!0,ak(an?"where tailscale 2>nul":"which tailscale 2>/dev/null",{windowsHide:!0,timeout:1500,env:{...process.env,PATH:aN}}).then(({stdout:a})=>{aw.value=a.trim()||aA()}).catch(()=>{aw.value=aA()}).finally(()=>{aw.fetchedAt=Date.now(),aw.refreshing=!1}))),void 0===aw.value&&(e().existsSync(ao)?aw.value=ao:an&&e().existsSync(au)?aw.value=au:an?aw.value=null:aw.value=av.find(a=>e().existsSync(a))||null),aw.value}function aC(){return null!==aB()}function aD(...a){return[...ar,...a]}async function aE(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d="Running"===c.BackendState&&c.Self?.Online===!0;return ay.value=d,ay.fetchedAt=Date.now(),d}catch{return!1}}async function aF(a){for(let b of[ar,at])try{let{stdout:c}=await ak(`"${a}" ${b.join(" ")} status --json`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return JSON.parse(c)}catch{}return null}function aG(){return Date.now()-ay.fetchedAt>1e4&&function(){if(ay.refreshing)return;let a=aB();if(!a){ay.value=!1,ay.fetchedAt=Date.now();return}ay.refreshing=!0,aF(a).then(a=>{ay.value=!!a&&"Running"===a.BackendState&&a.Self?.Online===!0}).catch(()=>{ay.value=!1}).finally(()=>{ay.fetchedAt=Date.now(),ay.refreshing=!1})}(),ay.value}function aH(){return Date.now()-ax.fetchedAt>1e4&&function(){if(ax.refreshing)return;let a=aB();if(!a){ax.value=!1,ax.fetchedAt=Date.now();return}ax.refreshing=!0,ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a);ax.value=Object.keys(b.AllowFunnel||{}).length>0}catch{ax.value=!1}}).catch(()=>{ax.value=!1}).finally(()=>{ax.fetchedAt=Date.now(),ax.refreshing=!1})}(),ax.value}async function aI(){let a=aB();if(!a)return!1;try{let{stdout:b}=await ak(`"${a}" ${ar.join(" ")} funnel status --json`,{windowsHide:!0,timeout:1500}),c=JSON.parse(b),d=Object.keys(c.AllowFunnel||{}).length>0;return ax.value=d,ax.fetchedAt=Date.now(),d}catch{return!1}}function aJ(){if(an||!as||!e().existsSync(as))return!1;let a=aB();if(!a)return!1;try{let b=(0,t.execSync)(`"${a}" ${at.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:1500});return"Running"===JSON.parse(b).BackendState}catch{return!1}}function aK(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{encoding:"utf8",windowsHide:!0,env:{...process.env,PATH:aN},timeout:5e3}),c=JSON.parse(b),d=c.Self?.DNSName?.replace(/\.$/,"");return d?`https://${d}`:null}catch{return null}}function aL(a){return(Date.now()-az.fetchedAt>1e4||az.port!==a)&&function(a){if(az.refreshing)return;let b=aB();b&&(az.refreshing=!0,ak(`"${b}" ${ar.join(" ")} status --json`,{windowsHide:!0,timeout:1500}).then(({stdout:a})=>{try{let b=JSON.parse(a),c=b.Self?.DNSName?.replace(/\.$/,"");az.value=c?`https://${c}`:null}catch{}}).catch(()=>{}).finally(()=>{az.port=a,az.fetchedAt=Date.now(),az.refreshing=!1}))}(a),az.value}async function aM(a,b,c){let d=c||(()=>{});return an?(await aQ(d),{success:!0}):(am?await aO(a,d):await aP(a,d),d("Starting daemon..."),await aU(a),d("Logging in..."),aW(b))}let aN=`/usr/local/bin:/opt/homebrew/bin:/usr/sbin:/usr/bin:/bin:/snap/bin:${process.env.PATH||""}`;async function aO(a,b){if(function(){try{return(0,t.execSync)("which brew",{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:aN}}),!0}catch{return!1}}()){b("Installing via Homebrew..."),await new Promise((a,c)=>{let d=(0,t.spawn)("brew",["install","tailscale"],{stdio:["ignore","pipe","pipe"],windowsHide:!0,env:{...process.env,PATH:aN}});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(s().tmpdir(),"tailscale.pkg");b("Downloading Tailscale package..."),await new Promise((a,d)=>{let e=(0,t.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,t.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,t.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 aP(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,t.spawn)("curl",["-fsSL","https://tailscale.com/install.sh"],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),h="",i="";f.stdout.on("data",a=>{h+=a.toString()}),f.stderr.on("data",a=>{i+=a.toString()}),f.on("exit",f=>{if(0!==f)return d(Error(`Failed to download install script: ${i}`));b("Running install script...");let j=g().join(s().tmpdir(),`tailscale-install-${ah().randomBytes(8).toString("hex")}.sh`);try{e().writeFileSync(j,h,{mode:448})}catch(a){return d(Error(`Failed to write install script: ${a.message}`))}let k=()=>{try{e().unlinkSync(j)}catch{}},l=(0,t.spawn)("sudo",["-S","sh",j],{stdio:["pipe","pipe","pipe"],windowsHide:!0}),m="";l.stdout.on("data",a=>{let c=a.toString().trim();c&&b(c)}),l.stderr.on("data",a=>{m+=a.toString()}),l.on("close",a=>{k(),0===a?c():d(Error(m.includes("incorrect password")||m.includes("Sorry")?"Wrong sudo password":m||`Exit code ${a}`))}),l.on("error",a=>{k(),d(a)}),l.stdin.write(`${a}
3
3
  `),l.stdin.end()}),f.on("error",d)})}async function aQ(a){let b=g().join(s().tmpdir(),"tailscale-setup.msi");a("Downloading Tailscale installer..."),await new Promise((c,d)=>{let e=(0,t.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,t.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(au))return void a("Installation complete.");await new Promise(a=>setTimeout(a,1e3))}throw Error("Installation finished but tailscale.exe not found")}async function aR(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,t.execSync)(`chown -R ${b}:${c} "${a}"`,{stdio:"ignore",timeout:3e3})}catch{try{(0,t.execSync)(`sudo -n chown -R ${b}:${c} "${a}"`,{stdio:"ignore",timeout:3e3})}catch{}}}catch{}}function aS(){try{let a=(0,t.execSync)(`pgrep -af "tailscaled.*${aq}"`,{encoding:"utf8",timeout:2e3}).trim();if(!a)return null;return!a.includes("--tun=userspace-networking")}catch{return null}}function aT(){return null!==aS()}async function aU(a){if(an){let a=aB();console.log("[Tailscale] win: net start Tailscale");try{(0,t.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,t.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=aS(),c=!!a||!0===b;if(null!==b&&b===c)try{let a=aB()||"tailscale";(0,t.execSync)(`"${a}" ${ar.join(" ")} status --json`,{stdio:"ignore",windowsHide:!0,env:{...process.env,PATH:aN},timeout:3e3});return}catch{}try{(0,t.execSync)(`pkill -9 -f "tailscaled.*${aq}"`,{stdio:"ignore",timeout:3e3})}catch{}if(a)try{await (0,aj.execWithPassword)(`pkill -9 -f "tailscaled.*${aq}"`,a)}catch{}else try{(0,t.execSync)(`sudo -n pkill -9 -f "tailscaled.*${aq}"`,{stdio:"ignore",timeout:3e3})}catch{}await new Promise(a=>setTimeout(a,1500)),await aR(ap);let d=am?"/usr/local/bin/tailscaled":"tailscaled",e=[`--socket=${aq}`,`--statedir=${ap}`];if(c||e.push("--tun=userspace-networking"),c){let b=(0,t.spawn)("sudo",["-S",d,...e],{detached:!0,stdio:["pipe","ignore","ignore"],cwd:s().tmpdir(),env:{...process.env,PATH:aN}});b.stdin.write(`${a}
4
4
  `),b.stdin.end(),b.unref()}else(0,t.spawn)(d,e,{detached:!0,stdio:"ignore",cwd:s().tmpdir(),env:{...process.env,PATH:aN}}).unref();await new Promise(a=>setTimeout(a,3e3))}function aV(){let a=aB();if(!a)return null;try{let b=(0,t.execSync)(`"${a}" ${ar.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 aW(a){let b=aB();return b?new Promise((c,d)=>{if(aU("").catch(()=>{}),aG())return void c({alreadyLoggedIn:!0});let e=aD("up","--accept-routes");a&&e.push(`--hostname=${a}`);let f=(0,t.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(l),clearInterval(k),console.log(`[Tailscale] login authUrl detected (${b})`),f.unref(),c({authUrl:a}))},k=setInterval(()=>{if(g)return;let a=aV();a&&j(a,"status")},500),l=setTimeout(()=>{if(g)return;g=!0,clearInterval(k),f.unref();let a=i(h)||aV();a?c({authUrl:a}):d(Error("tailscale up timed out without auth URL"))},15e3),m=a=>{let b=i(h+=a.toString());b&&j(b,"stdout")};f.stdout.on("data",m),f.stderr.on("data",m),f.on("error",a=>{g||(g=!0,clearTimeout(l),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)||aV();if(b)return void j(b,"exit");if(aG()){g=!0,clearTimeout(l),clearInterval(k),c({alreadyLoggedIn:!0});return}})}):Promise.reject(Error("Tailscale not installed"))}async function aX(a){let b=aB();if(!b)throw Error("Tailscale not installed");try{(0,t.execSync)(`"${b}" ${ar.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}return new Promise((c,d)=>{let e=(0,t.spawn)(b,aD("funnel","--bg",`${a}`),{stdio:["ignore","pipe","pipe"],windowsHide:!0}),f=!1,g="",h=setTimeout(()=>{if(f)return;f=!0;let b=aK()||aL(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=aK();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=aK()||aL(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 aY(a){let b=aB();if(!b||!a)return;let c=g().join(ap,"certs");e().mkdirSync(c,{recursive:!0});let d=g().join(c,`${a}.crt`),f=g().join(c,`${a}.key`);try{await ak(`"${b}" ${ar.join(" ")} cert --cert-file "${d}" --key-file "${f}" "${a}"`,{windowsHide:!0,env:{...process.env,PATH:aN},timeout:3e4}),console.log(`[Tailscale] cert provisioned for ${a}`)}catch(a){console.warn(`[Tailscale] cert provision failed (non-fatal): ${a.message}`)}}function aZ(){let a=aB();if(a)try{(0,t.execSync)(`"${a}" ${ar.join(" ")} funnel --bg reset`,{stdio:"ignore",windowsHide:!0})}catch(a){}}async function a$(a){let b;if(!a)return!1;try{b=new URL(a).hostname}catch{return!1}if(!await U(b,3e3))return!1;try{return(await fetch(`${a}/api/health`,{signal:AbortSignal.timeout(8e3)})).ok}catch{return!1}}async function a_(a,b={cancelled:!1}){let c=Date.now();for(;Date.now()-c<18e4;){if(b.cancelled)throw Error("cancelled");if(await a$(a))return!0;await new Promise(a=>setTimeout(a,2e3))}throw Error("Health check timeout after 180000ms")}var a0=c(96182);(0,a0.initDbHooks)(Y.mt,Y.Xx);let a1={cancelToken:{cancelled:!1},spawnInProgress:!1,lastRestartAt:0,activeLocalPort:null};function a2(){return a1}function a3(a){if(a.cancelled)throw Error("tailscale cancelled")}async function a4(a=20128){console.log(`[Tailscale] enable start (port=${a})`),a1.cancelToken={cancelled:!1},a1.activeLocalPort=a,a1.spawnInProgress=!0;let b=a1.cancelToken;try{let c,d=(0,a0.getCachedPassword)()||await (0,a0.loadEncryptedPassword)()||"";await aU(d),console.log("[Tailscale] daemon ready"),a3(b);let e=m(),f=e?.shortId||o(),g=await aE();if(console.log(`[Tailscale] loggedIn=${g}`),!g){let a=await aW(f);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")}a3(b),aZ();try{console.log("[Tailscale] starting funnel"),c=await aX(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 aW(f);if(a.authUrl)return{success:!1,needsLogin:!0,authUrl:a.authUrl}}throw a}if(a3(b),c.funnelNotEnabled)return console.log(`[Tailscale] funnel not enabled, enableUrl=${c.enableUrl}`),{success:!1,funnelNotEnabled:!0,enableUrl:c.enableUrl};if(!await aE()||!await aI())return console.error("[Tailscale] strict probe failed (device removed?)"),aZ(),{success:!1,error:"Tailscale not connected. Device may have been removed. Please re-login."};await (0,Y.Xx)({tailscaleEnabled:!0,tailscaleUrl:c.tunnelUrl}),console.log(`[Tailscale] funnel up: ${c.tunnelUrl}`);let h=new URL(c.tunnelUrl).hostname;await aY(h);let i=!1;try{await a_(c.tunnelUrl,b),i=!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=${i})`),{success:!0,tunnelUrl:c.tunnelUrl}}catch(a){throw console.error(`[Tailscale] enable error: ${a.message}`),a}finally{a1.spawnInProgress=!1}}async function a5(){return console.log("[Tailscale] disable"),a1.cancelToken.cancelled=!0,aZ(),await (0,Y.Xx)({tailscaleEnabled:!1,tailscaleUrl:""}),{success:!0}}async function a6(){let a=await (0,Y.mt)(),b=!0===a.tailscaleEnabled,c=a.tailscaleUrl||"",d=!!b&&aG(),e=!!d&&aH();return{enabled:b&&e,settingsEnabled:b,tunnelUrl:c,running:e,loggedIn:d}}var a7=c(91645),a8=c.n(a7);function a9(){return new Promise(a=>{let b=new(a8()).Socket,c=!1,d=d=>{if(!c){c=!0;try{b.destroy()}catch{}a(d)}};b.setTimeout(3e3),b.once("connect",()=>d(!0)),b.once("timeout",()=>d(!1)),b.once("error",()=>d(!1));try{b.connect(443,"1.1.1.1")}catch{d(!1)}})}let ba=12e4,bb=2500,bc=6e4,bd=5e3,be=/^(utun|awdl|llw|anpi|bridge|gif|stf|ipsec|ap|tun|tap|vmnet|veth|docker)/i}};
@@ -1 +1 @@
1
- "use strict";exports.id=6763,exports.ids=[6763],exports.modules={26763:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>e,calculateCostFromTokens:()=>i,getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-fable-5":{input:10,output:50,cached:1,reasoning:50,cache_creation:12.5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5-mini":{input:.25,output:2,cached:.125,reasoning:2,cache_creation:.25},"gpt-5-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.2-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},"gpt-5.6":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-luna":{input:1,output:6,cached:.1,reasoning:6,cache_creation:1},"gpt-5.6-terra":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-sol":{input:5,output:30,cached:.5,reasoning:30,cache_creation:5},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-none",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.6-*",pricing:{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-5.3-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.2-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.1-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}function i(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}}};
1
+ "use strict";exports.id=6763,exports.ids=[6763],exports.modules={26763:(a,b,c)=>{c.d(b,{PROVIDER_PRICING:()=>e,calculateCostFromTokens:()=>i,getPricingForModel:()=>h});let d={"claude-opus-4-6":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-opus-4-5-20251101":{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25},"claude-sonnet-4-6":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-sonnet-4-5-20250929":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75},"claude-haiku-4-5-20251001":{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25},"claude-sonnet-4-20250514":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-opus-4-20250514":{input:15,output:25,cached:7.5,reasoning:112.5,cache_creation:15},"claude-3-5-sonnet-20241022":{input:3,output:15,cached:1.5,reasoning:15,cache_creation:3},"claude-haiku-4.5":{input:.5,output:2.5,cached:.05,reasoning:3.75,cache_creation:.5},"claude-opus-4.1":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.5":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4.6":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-sonnet-4":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.5":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-sonnet-4.6":{input:3,output:15,cached:.3,reasoning:22.5,cache_creation:3},"claude-opus-4-5-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-opus-4-6-thinking":{input:5,output:25,cached:.5,reasoning:37.5,cache_creation:5},"claude-fable-5":{input:10,output:50,cached:1,reasoning:50,cache_creation:12.5},"gpt-3.5-turbo":{input:.5,output:1.5,cached:.25,reasoning:2.25,cache_creation:.5},"gpt-4":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4-turbo":{input:10,output:30,cached:5,reasoning:45,cache_creation:10},"gpt-4o":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-4o-mini":{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15},"gpt-4.1":{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5},"gpt-5":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5-mini":{input:.25,output:2,cached:.125,reasoning:2,cache_creation:.25},"gpt-5-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex":{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25},"gpt-5.1-codex-mini":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"gpt-5.1-codex-mini-high":{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"gpt-5.1-codex-max":{input:8,output:32,cached:4,reasoning:48,cache_creation:8},"gpt-5.2":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.2-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75},"gpt-5.3-codex-spark":{input:3,output:12,cached:.3,reasoning:12,cache_creation:3},"gpt-5.6":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-luna":{input:1,output:6,cached:.1,reasoning:6,cache_creation:1},"gpt-5.6-terra":{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5},"gpt-5.6-sol":{input:5,output:30,cached:.5,reasoning:30,cache_creation:5},o1:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15},"o1-mini":{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3},"gemini-3.6-flash":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-high":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-medium":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.6-flash-low":{input:1.5,output:7.5,cached:.15,reasoning:11.25,cache_creation:1.875},"gemini-3.5-flash-lite":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.375},"gemini-3.5-flash-high":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash-preview":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-pro-preview":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-low":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-3.1-pro-high":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-pro-agent":{input:4,output:18,cached:.5,reasoning:27,cache_creation:4},"gemini-3-flash-agent":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3.5-flash-extra-low":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-3-flash":{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5},"gemini-2.5-pro":{input:2,output:12,cached:.25,reasoning:18,cache_creation:2},"gemini-2.5-flash":{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3},"gemini-2.5-flash-lite":{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15},"qwen3-coder-plus":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"qwen3-coder-flash":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"kimi-k3":{input:3,output:15,cached:.3,reasoning:15,cache_creation:3},k3:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3},"kimi-k2.7-code":{input:.95,output:4,cached:.19,reasoning:4,cache_creation:.95},"kimi-k2.7-code-highspeed":{input:1.9,output:8,cached:.38,reasoning:8,cache_creation:1.9},"kimi-for-coding":{input:.95,output:4,cached:.19,reasoning:4,cache_creation:.95},"kimi-for-coding-highspeed":{input:1.9,output:8,cached:.38,reasoning:8,cache_creation:1.9},"kimi-k2":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-k2-thinking":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"kimi-k2.5":{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2},"kimi-k2.5-thinking":{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8},"kimi-k2.6":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"kimi-latest":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"deepseek-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-r1":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-chat":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v3.2-reasoner":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-flash":{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14},"deepseek-v4-pro":{input:.435,output:.87,cached:.003625,reasoning:.87,cache_creation:.435},"glm-4.6":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"glm-4.6v":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-4.7":{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75},"glm-5":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"MiniMax-M3":{input:.3,output:1.2,cached:.06,reasoning:1.8,cache_creation:.3},"MiniMax-M2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.5":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"MiniMax-M2.7":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"minimax-m2.5":{input:.6,output:2.4,cached:.3,reasoning:3.6,cache_creation:.6},"grok-code-fast-1":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},auto:{input:2,output:8,cached:1,reasoning:12,cache_creation:2},"oswe-vscode-prime":{input:1,output:4,cached:.5,reasoning:6,cache_creation:1},"gpt-oss-120b-medium":{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5},"vision-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5},"coder-model":{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},e={gh:{"gpt-5.3-codex":{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}}},f=[{pattern:"*-codex-xhigh",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"*-codex-high",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-max",pricing:{input:8,output:32,cached:4,reasoning:48,cache_creation:8}},{pattern:"*-codex-mini-*",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-mini",pricing:{input:1.5,output:6,cached:.75,reasoning:9,cache_creation:1.5}},{pattern:"*-codex-low",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-none",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex-spark",pricing:{input:3,output:12,cached:.3,reasoning:12,cache_creation:3}},{pattern:"codex-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"*-codex",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"claude-opus-*",pricing:{input:5,output:25,cached:.5,reasoning:25,cache_creation:6.25}},{pattern:"claude-sonnet-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"claude-haiku-*",pricing:{input:1,output:5,cached:.1,reasoning:5,cache_creation:1.25}},{pattern:"claude-*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3.75}},{pattern:"gemini-*-flash-lite",pricing:{input:.15,output:1.25,cached:.015,reasoning:1.875,cache_creation:.15}},{pattern:"gemini-*-flash",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*-pro",pricing:{input:2,output:12,cached:.25,reasoning:18,cache_creation:2}},{pattern:"gemini-3-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gemini-2.5-*",pricing:{input:.3,output:2.5,cached:.03,reasoning:3.75,cache_creation:.3}},{pattern:"gemini-*",pricing:{input:.5,output:3,cached:.03,reasoning:4.5,cache_creation:.5}},{pattern:"gpt-5.6-*",pricing:{input:2.5,output:15,cached:.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-5.3-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.2-*",pricing:{input:1.75,output:14,cached:.175,reasoning:14,cache_creation:1.75}},{pattern:"gpt-5.1-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5-*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-5*",pricing:{input:1.25,output:10,cached:.625,reasoning:10,cache_creation:1.25}},{pattern:"gpt-4o-*",pricing:{input:.15,output:.6,cached:.075,reasoning:.9,cache_creation:.15}},{pattern:"gpt-4o",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"gpt-4*",pricing:{input:2.5,output:10,cached:1.25,reasoning:15,cache_creation:2.5}},{pattern:"o1-*",pricing:{input:3,output:12,cached:1.5,reasoning:18,cache_creation:3}},{pattern:"o1",pricing:{input:15,output:60,cached:7.5,reasoning:90,cache_creation:15}},{pattern:"o3-*",pricing:{input:10,output:40,cached:5,reasoning:60,cache_creation:10}},{pattern:"o4-*",pricing:{input:2,output:8,cached:1,reasoning:12,cache_creation:2}},{pattern:"qwen3-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*-coder-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"qwen*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"kimi-*-thinking",pricing:{input:1.8,output:7.2,cached:.9,reasoning:10.8,cache_creation:1.8}},{pattern:"kimi-k3*",pricing:{input:3,output:15,cached:.3,reasoning:15,cache_creation:3}},{pattern:"kimi-k2*",pricing:{input:1.2,output:4.8,cached:.6,reasoning:7.2,cache_creation:1.2}},{pattern:"kimi-*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"deepseek-*reasoner*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-r*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-v*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"deepseek-*",pricing:{input:.14,output:.28,cached:.0028,reasoning:.28,cache_creation:.14}},{pattern:"glm-5*",pricing:{input:1,output:4,cached:.5,reasoning:6,cache_creation:1}},{pattern:"glm-4*",pricing:{input:.75,output:3,cached:.375,reasoning:4.5,cache_creation:.75}},{pattern:"glm-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"MiniMax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"minimax-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-code-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}},{pattern:"grok-*",pricing:{input:.5,output:2,cached:.25,reasoning:3,cache_creation:.5}}];function g(a,b){return RegExp("^"+a.split("*").map(a=>a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join(".*")+"$","i").test(b)}function h(a,b){if(!b)return null;if(a&&e[a]?.[b])return e[a][b];let c=b.includes("/")?b.split("/").pop():b;if(d[c])return d[c];if(d[b])return d[b];for(let{pattern:a,pricing:d}of f)if(g(a,c)||g(a,b))return d;return null}function i(a,b){if(!a||!b)return 0;let c=0,d=a.prompt_tokens||a.input_tokens||0,e=a.cached_tokens||a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0;c+=Math.max(0,d-e-f)*(b.input/1e6),e>0&&(c+=e*((b.cached||b.input)/1e6)),c+=(a.completion_tokens||a.output_tokens||0)*(b.output/1e6);let g=a.reasoning_tokens||0;return g>0&&(c+=g*((b.reasoning||b.output)/1e6)),f>0&&(c+=f*((b.cache_creation||b.input)/1e6)),c}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=6832,exports.ids=[6832],exports.modules={220:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(92990);let e={config:d.LT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b=await fetch(`${d.LT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`}}),c=b.ok?await b.json():{},e="";try{let b=await fetch("https://cloudcode-pa.googleapis.com/v1internal:loadCodeAssist",{method:"POST",headers:{Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:(0,d.cD)(),mode:1})});if(b.ok){let a=await b.json();e=a.cloudaicompanionProject?.id||a.cloudaicompanionProject||""}}catch(a){console.log("Failed to fetch project ID:",a)}return{userInfo:c,projectId:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})}},3198:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(55511),e=c.n(d);let f={config:c(92990).aV,flowType:"device_code",requestDeviceCode:async a=>{let{buildKimiHeaders:b}=await Promise.resolve().then(c.bind(c,75924)),d=e().randomUUID(),f={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...b(d)},g=await fetch(a.deviceCodeUrl,{method:"POST",headers:f,body:new URLSearchParams({client_id:a.clientId})});if(!g.ok){let a=await g.text();throw Error(`Device code request failed: ${a}`)}let h=await g.json(),i=a.authorizeDeviceUrl||"https://www.kimi.com/code/authorize_device";return{device_code:h.device_code,user_code:h.user_code,verification_uri:h.verification_uri||i,verification_uri_complete:h.verification_uri_complete||`${i}?user_code=${h.user_code}`,expires_in:h.expires_in,interval:h.interval||5,_kimiDeviceId:d}},pollToken:async(a,b,d,e)=>{let f,{buildKimiHeaders:g}=await Promise.resolve().then(c.bind(c,75924)),h=e?._kimiDeviceId,i={"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",...g(h)},j=await fetch(a.tokenUrl,{method:"POST",headers:i,body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b})});try{f=await j.json()}catch{f={error:"invalid_response",error_description:"non-json token response"}}return"authorization_pending"===f.error||"slow_down"===f.error?{ok:!0,data:f}:(f.access_token&&h&&(f._kimiDeviceId=h),{ok:j.ok||!!f.access_token||!!f.error,data:f})},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{authMethod:"device_code",...a._kimiDeviceId?{deviceId:a._kimiDeviceId}:{}}})}},12557:(a,b,c)=>{c.d(b,{Bl:()=>j,Qo:()=>f,S5:()=>l,hk:()=>e,kJ:()=>k});var d=c(3662);function e(a,b,c=0){let f=b?("string"==typeof b?b:JSON.stringify(b)).toLowerCase():"";for(let b of d.t2)if(b.text&&f&&f.includes(b.text)||b.status&&b.status===a){if(b.backoff){let a=Math.min(c+1,d.EQ.maxLevel);return{shouldFallback:!0,cooldownMs:function(a=0){let b=Math.max(0,a-1);return Math.min(d.EQ.base*Math.pow(2,b),d.EQ.max)}(a),newBackoffLevel:a}}return{shouldFallback:!0,cooldownMs:b.cooldownMs}}return{shouldFallback:!0,cooldownMs:d.wf}}function f(a){if(!a)return"";let b=new Date(a).getTime()-Date.now();if(b<=0)return"reset after 0s";let c=Math.ceil(b/1e3),d=Math.floor(c/3600),e=Math.floor(c%3600/60),f=c%60,g=[];return d>0&&g.push(`${d}h`),e>0&&g.push(`${e}m`),(f>0||0===g.length)&&g.push(`${f}s`),`reset after ${g.join(" ")}`}let g="modelLock_",h=`${g}__all`;function i(a){return a?`${g}${a}`:h}function j(a,b){let c=a[i(b)]||a[h];return!!c&&new Date(c).getTime()>Date.now()}function k(a){if(!a)return null;let b=null,c=Date.now();for(let[d,e]of Object.entries(a)){if(!d.startsWith(g)||!e)continue;let a=new Date(e).getTime();a<=c||(!b||a<b)&&(b=a)}return b?new Date(b).toISOString():null}function l(a,b){return{[i(a)]:new Date(Date.now()+b).toISOString()}}},13342:(a,b,c)=>{c.d(b,{A:()=>i});var d=c(92990),e=c(23358);async function f(a,b,c){let e=`${a.replace(/\/$/,"")}${b}`,f=await fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":d.eD.userAgent},body:JSON.stringify(c)}),g=await f.text();if(!f.ok)throw Error(`Windsurf ${b} HTTP ${f.status}: ${g.slice(0,200)}`);try{return JSON.parse(g)}catch{throw Error(`Windsurf ${b} invalid JSON`)}}async function g(a){let b=await f(d.eD.registerApiBaseUrl,d.eD.registerPath,{firebase_id_token:a}),c=(0,e.j)(b,[["apiKey"],["api_key"]]);if(!c)throw Error("Windsurf RegisterUser missing apiKey");return{apiKey:c,apiServerUrl:(0,e.j)(b,[["apiServerUrl"],["api_server_url"]])||d.eD.defaultApiServerUrl,name:(0,e.j)(b,[["name"]])}}async function h(a,b){try{let c=await f(a,d.eD.oneTimeAuthPath,{firebaseIdToken:b}),g=(0,e.j)(c,[["authToken"],["auth_token"]]);if(!g)return{email:null,name:null};let h=await f(a,d.eD.currentUserPath,{authToken:g,includeSubscription:!0}),i=h.user||h;return{email:(0,e.j)(i,[["email"]]),name:(0,e.j)(i,[["name"]])}}catch{return{email:null,name:null}}}let i={config:d.eD,flowType:"authorization_code",callbackPath:d.eD.callbackPath,buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({response_type:"token",client_id:a.clientId,redirect_uri:b,state:c,prompt:"login",redirect_parameters_type:"query",workflow:"onboarding"});return`${a.authBaseUrl}${a.signInPath}?${d.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=String(b||"").trim();if(!(f.includes("?")||f.includes("access_token="))){let b=f.replace(/^Bearer\s+/i,"");if(b.startsWith("sk-ws-"))return{accessToken:b,refreshToken:null,expiresIn:null,apiServerUrl:a.defaultApiServerUrl,firebaseIdToken:null,_authMethod:"imported"};let c=await g(b);return{accessToken:c.apiKey,refreshToken:null,expiresIn:null,apiServerUrl:c.apiServerUrl,firebaseIdToken:b,_authMethod:"imported"}}let{firebaseIdToken:h}=function(a,b){let c=String(a||"").trim(),d=c;c.includes("?")&&(d=c.slice(c.indexOf("?")+1)),c.startsWith("#")&&(d=c.slice(1));let e=Object.fromEntries(new URLSearchParams(d)),f=a=>{for(let b of a){let a=e[b];if(a&&String(a).trim())return String(a).trim()}return null},g=f(["error"]);if(g){let a=f(["error_description"]);throw Error(a?`Windsurf auth failed: ${g} (${a})`:`Windsurf auth failed: ${g}`)}let h=f(["access_token","token"]);if(!h)throw Error("Windsurf callback missing access_token");let i=f(["state"]);if(b&&i&&i!==b)throw Error("Windsurf callback state mismatch");return{firebaseIdToken:h}}(f,e),i=await g(h);return{accessToken:i.apiKey,refreshToken:null,expiresIn:null,apiServerUrl:i.apiServerUrl,firebaseIdToken:h,_authMethod:"oauth"}},postExchange:async a=>a.firebaseIdToken?{userInfo:await h(a.apiServerUrl,a.firebaseIdToken)}:{userInfo:{email:null,name:null}},mapTokens:(a,b)=>({accessToken:a.accessToken,refreshToken:null,expiresIn:null,email:b?.userInfo?.email||void 0,displayName:b?.userInfo?.name||void 0,providerSpecificData:{authMethod:a._authMethod||"oauth",apiServerUrl:a.apiServerUrl,firebaseIdToken:a.firebaseIdToken}})}},17691:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).Td,flowType:"browser_token",buildAuthUrl:(a,b,c)=>{let d=(a.webAppUrl||"https://app.kimchi.dev").replace(/\/+$/,""),e=new URLSearchParams({callback:b,state:c});return`${d}/cli-auth?${e.toString()}`},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!c)throw Error("Missing Kimchi token");let d=a.validationUrl||"https://api.cast.ai/v1/llm/openai/supported-providers",e=await fetch(d,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});if(!e.ok)throw Error(`Kimchi token validation failed: ${e.status}`);let f={};if(a.userInfoUrl)try{let b=await fetch(a.userInfoUrl,{method:"GET",headers:{Accept:"application/json",Authorization:`Bearer ${c}`}});b.ok&&(f=await b.json())}catch{f={}}return{access_token:c,token_type:"Bearer",_kimchiUser:f}},mapTokens:a=>{let b=a._kimchiUser||{},c=b.id?String(b.id):"",d=b.username||"",e=b.email||(c?`kimchi-user-${c}`:null);return{accessToken:a.access_token,refreshToken:null,email:e,displayName:b.name||d||null,providerSpecificData:{authMethod:"browser_token",userId:c,username:d}}}}},18245:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(92990),e=c(49804);let f={config:d.RY,flowType:"authorization_code",callbackPath:"/",prepareConfig:async(a,b)=>{let c=Number(b?.nativeAppPort)||d.RY.defaultNativeAppPort,f=(0,e.le)(a,{nativeAppPort:c});return{...a,...f}},buildAuthUrl:(a,b,c)=>a.authUrl,exchangeToken:async(a,b,c,d,f)=>{let{userId:g,encryptedAccessToken:h}=(0,e.Q_)(b);return{accessToken:(0,e.Wc)(h,d),userId:g,systemId:a.systemId}},postExchange:async a=>{let b={accessToken:a.accessToken,providerSpecificData:{userId:a.userId,systemId:a.systemId}},c=null;try{c=await (0,e.qJ)(b,{config:d.RY})}catch{}let f=(0,e.k9)(b,c);return{userInfo:c,organizationId:f,email:c?.email||null,name:c?.name||c?.display_name||null}},mapTokens:(a,b)=>({accessToken:a.accessToken,refreshToken:null,expiresIn:null,email:b?.email||void 0,displayName:b?.name||void 0,providerSpecificData:{authMethod:"oauth",userId:a.userId,systemId:a.systemId,organizationId:b?.organizationId||""}})}},18941:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).lB,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Cline token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})}},23358:(a,b,c)=>{c.d(b,{j:()=>d});function d(a,b){for(let c of b){let b=a;for(let a of c){if(null==b||"object"!=typeof b){b=void 0;break}b=b[a]}if("string"==typeof b&&b.trim())return b.trim();if("number"==typeof b)return String(b)}return null}},24329:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(92990),e=c(53129);let f={config:d.DI,flowType:"authorization_code_pkce",fixedPort:d.DI.fixedPort,callbackPath:d.DI.callbackPath,buildAuthUrl:(a,b,c,d)=>{let e=Object.entries({response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,...a.extraParams,state:c}).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${e}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b=(0,e.YR)(a.id_token),c={accessToken:a.access_token,refreshToken:a.refresh_token,idToken:a.id_token,expiresIn:a.expires_in,lastRefreshAt:new Date().toISOString()},d=b.email||(0,e.J_)(a.access_token);return d&&(c.email=d),(b.chatgptAccountId||b.chatgptPlanType)&&(c.providerSpecificData={chatgptAccountId:b.chatgptAccountId,chatgptPlanType:b.chatgptPlanType}),c}}},24336:(a,b,c)=>{c.d(b,{A:()=>l});var d=c(55511),e=c.n(d),f=c(92990),g=c(23358);async function h(a){let b=JSON.stringify({loginTraceID:a,login_trace_id:a}),c="no successful response";for(let a of f.SK.loginGuidanceUrls)try{let d=await fetch(a,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent},body:b});if(!d.ok){c=`${a} HTTP ${d.status}`;continue}let e=await d.json(),h=(0,g.j)(e,[["Result","LoginHost"],["Result","loginHost"],["Result","LoginURL"],["result","loginHost"],["data","Result","LoginHost"],["data","loginHost"],["LoginHost"],["loginHost"]]);if(h)return h;c=`${a} missing LoginHost`}catch(b){c=`${a} ${b.message}`}throw Error(`Trae GetLoginGuidance failed: ${c}`)}function i(){return[...f.SK.apiOrigins]}async function j(a,b){let c=JSON.stringify({ClientID:f.SK.clientId,RefreshToken:a,ClientSecret:f.SK.clientSecret,UserID:""}),d="no successful response";for(let e of i()){let h=`${e.replace(/\/$/,"")}${f.SK.exchangeTokenPath}`;try{let e,i={Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent};b&&(i["x-cloudide-token"]=b);let j=await fetch(h,{method:"POST",headers:i,body:c}),k=await j.text();if(!j.ok){d=`${h} HTTP ${j.status}`;continue}try{e=JSON.parse(k)}catch{d=`${h} invalid JSON`;continue}let l=(0,g.j)(e,[["Result","AccessToken"],["Result","accessToken"],["result","access_token"],["accessToken"]]);if(!l){let a=(0,g.j)(e,[["message"],["msg"],["error"],["Result","Message"]])||"missing AccessToken";d=`${h} ${a}`;continue}return{accessToken:l,refreshToken:(0,g.j)(e,[["Result","RefreshToken"],["result","refresh_token"],["refreshToken"]])||a,expiresIn:null,expiresAt:(0,g.j)(e,[["Result","ExpiresAt"],["Result","expiresAt"],["result","expires_at"],["expiresAt"]])}}catch(a){d=`${h} ${a.message}`}}throw Error(`Trae ExchangeToken failed: ${d}`)}async function k(a){for(let b of i()){let c=`${b.replace(/\/$/,"")}${f.SK.getUserInfoPath}`;try{let b=await fetch(c,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json","User-Agent":f.SK.userAgent,"x-cloudide-token":a},body:JSON.stringify({})});if(!b.ok)continue;let d=await b.json();return{email:(0,g.j)(d,[["Result","NonPlainTextEmail"],["Result","Email"],["Result","email"],["email"],["data","email"]]),name:(0,g.j)(d,[["Result","ScreenName"],["Result","Nickname"],["Result","Name"],["result","nickname"],["nickname"],["name"]]),aiRegion:(0,g.j)(d,[["Result","AIRegion"],["Result","aiRegion"],["aiRegion"]]),region:(0,g.j)(d,[["Result","Region"],["Result","region"],["region"]]),tenant:(0,g.j)(d,[["Result","TenantID"],["Result","tenantId"],["tenantId"]]),userId:(0,g.j)(d,[["Result","UserID"],["Result","userId"],["userId"]])}}catch{}}return{email:null,name:null}}let l={config:f.SK,flowType:"authorization_code",callbackPath:f.SK.callbackPath,prepareConfig:async a=>{let b=e().randomUUID(),c=await h(b);return{...a,loginTraceID:b,loginHost:c}},buildAuthUrl:(a,b,c)=>{var d;let g,h,i={plugin_version:f.SK.defaultPluginVersion,machine_id:e().randomUUID(),device_id:f.SK.defaultDeviceId,x_device_brand:"unknown",x_device_type:"unknown",x_os_version:"unknown",x_env:"",x_app_version:f.SK.defaultAppVersion,x_app_type:f.SK.defaultAppType},j=a.loginTraceID||c;return d=a.loginHost,(g=new URL(d.startsWith("http")?d:`https://${d.replace(/^\/+/,"")}`)).pathname=f.SK.authorizationPath,(h=new URLSearchParams).set("login_version","1"),h.set("auth_from","trae"),h.set("login_channel","native_ide"),h.set("plugin_version",i.plugin_version),h.set("auth_type","local"),h.set("client_id",f.SK.clientId),h.set("redirect","0"),h.set("login_trace_id",j),h.set("auth_callback_url",b),h.set("machine_id",i.machine_id),h.set("device_id",i.device_id),h.set("x_device_id",i.device_id),h.set("x_machine_id",i.machine_id),h.set("x_device_brand",i.x_device_brand),h.set("x_device_type",i.x_device_type),h.set("x_os_version",i.x_os_version),h.set("x_env",i.x_env),h.set("x_app_version",i.x_app_version),h.set("x_app_type",i.x_app_type),g.search=h.toString(),g.toString()},exchangeToken:async(a,b)=>{let c=String(b||"").trim();if(!(/[?=&]/.test(c)&&(c.includes("refreshToken")||c.includes("refresh_token"))))return{accessToken:c.replace(/^(Cloud-IDE-JWT|Bearer)\s+/i,""),refreshToken:null,expiresIn:24*f.SK.tokenLifetimeDays*3600,_authMethod:"imported"};let{refreshToken:d,cloudideToken:e}=function(a){let b=String(a||"").trim(),c=b;b.includes("?")&&(c=b.slice(b.indexOf("?")+1)),b.startsWith("#")&&(c=b.slice(1));let d=Object.fromEntries(new URLSearchParams(c)),e=a=>{for(let b of a){let a=d[b];if(a&&String(a).trim())return String(a).trim()}return null},f=e(["error","error_code","errorCode"]);if(f){let a=e(["error_description","error_desc","message"]);throw Error(a?`Trae auth failed: ${f} (${a})`:`Trae auth failed: ${f}`)}let g=e(["refreshToken","refresh_token","RefreshToken"]);if(!g)throw Error("Trae callback missing refreshToken");let h=e(["loginHost","login_host","LoginHost","host","consoleHost"]);if(!h)throw Error("Trae callback missing loginHost");return{refreshToken:g,loginHost:h,cloudideToken:e(["x-cloudide-token","xCloudideToken","accessToken","access_token","token"])}}(c);return{...await j(d,e),_authMethod:"oauth"}},postExchange:async a=>({userInfo:await k(a.accessToken)}),mapTokens:(a,b)=>{let c,d=a.expiresIn||(a.expiresAt?Math.max(60,Number(a.expiresAt)-Math.floor(Date.now()/1e3)):24*f.SK.tokenLifetimeDays*3600),e=b?.userInfo||{},g=e.aiRegion||"US-East";return{accessToken:a.accessToken,refreshToken:a.refreshToken,expiresIn:d,email:e.email||void 0,displayName:e.name||void 0,providerSpecificData:{authMethod:a._authMethod||"oauth",aiRegion:g,region:e.region||g,tenant:e.tenant||"marscode",userId:e.userId||"",scope:"sg"===(c=(g||"").toLowerCase())||c.includes("singapore")?"marscode-sg":"cn"===c||c.includes("cn")||c.includes("china")?"marscode-cn":"marscode-us",webId:"",bizUserId:"",userUniqueId:"",appLanguage:"en",appVersion:f.SK.defaultAppVersion,userRegion:"SG"===g?"SG":"US",userIdentity:"Free"}}}}},26922:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(62842),e=c(55673);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(0===Object.keys(b).length){b.type="object",b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"];return}for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}}(a)),a}},34940:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(92990),e=c(53129);let f={config:d.qp,flowType:"device_code",requestDeviceCode:async a=>{let b=new URLSearchParams({client_id:a.clientId,scope:a.scope});a.referrer&&b.set("referrer",a.referrer);let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)"},body:b});if(!c.ok){let a=await c.text();throw Error(`Grok CLI device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:b,client_id:a.clientId})});try{c=await d.json()}catch{c={error:"invalid_response",error_description:await d.text()}}let e=c?.error==="authorization_pending"||c?.error==="slow_down";return{ok:d.ok||e,data:c}},postExchange:async a=>{try{let b=await fetch("https://cli-chat-proxy.grok.com/v1/user",{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","User-Agent":"grok-pager/0.2.93 grok-shell/0.2.93 (linux; x86_64)","x-xai-token-auth":"xai-grok-cli","x-grok-client-version":"0.2.93"}});if(b.ok)return{user:await b.json()}}catch{}return{user:null}},mapTokens:(a,b)=>{let c=(0,e.pG)(a.id_token)||(0,e.J_)(a.access_token)||b?.user?.email||null,d=b?.user?.userId||b?.user?.principalId||null,f=[b?.user?.firstName,b?.user?.lastName].filter(Boolean).join(" ").trim()||null,g=a.expires_in?new Date(Date.now()+1e3*a.expires_in).toISOString():null;return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,expiresAt:g,scope:a.scope,email:c||void 0,displayName:f||void 0,providerSpecificData:{authMethod:"device_code",idToken:a.id_token||null,email:c||null,userId:d,hasGrokCodeAccess:b?.user?.hasGrokCodeAccess??null,subscriptionTier:b?.user?.subscriptionTier??null}}}}},35152:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).w1,flowType:"authorization_code",buildAuthUrl:(a,b)=>{let c=new URLSearchParams({client_type:"extension",callback_url:b,redirect_uri:b});return`${a.authorizeUrl}?${c.toString()}`},exchangeToken:async(a,b,c)=>{try{let a=b,c=4-a.length%4;4!==c&&(a+="=".repeat(c));let d=Buffer.from(a,"base64").toString("utf-8"),e=d.lastIndexOf("}");if(-1===e)throw Error("No JSON found in decoded code");let f=JSON.parse(d.substring(0,e+1));return{access_token:f.accessToken,refresh_token:f.refreshToken,email:f.email,firstName:f.firstName,lastName:f.lastName,expires_at:f.expiresAt}}catch(f){let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"authorization_code",code:b,client_type:"extension",redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`ClinePass token exchange failed: ${a}`)}let e=await d.json();return{access_token:e.data?.accessToken||e.accessToken,refresh_token:e.data?.refreshToken||e.refreshToken,email:e.data?.userInfo?.email||"",expires_at:e.data?.expiresAt||e.expiresAt}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_at?Math.floor((new Date(a.expires_at).getTime()-Date.now())/1e3):3600,email:a.email,providerSpecificData:{firstName:a.firstName,lastName:a.lastName}})}},41902:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).OV,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d)=>{let e=new URLSearchParams({code:"true",client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c});return`${a.authorizeUrl}?${e.toString()}`},exchangeToken:async(a,b,c,d,e)=>{let f=b,g="";if(f.includes("#")){let a=f.split("#");f=a[0],g=a[1]||""}let h=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({code:f,state:g||e,grant_type:"authorization_code",client_id:a.clientId,redirect_uri:c,code_verifier:d})});if(!h.ok){let a=await h.text();throw Error(`Token exchange failed: ${a}`)}return await h.json()},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope})}},43659:(a,b,c)=>{c.d(b,{A1:()=>g,lR:()=>i,wO:()=>h,yj:()=>e,zL:()=>f});var d=c(3662);function e(a,b){let c;return new Response(JSON.stringify((c=d.LY[a]||(a>=500?{type:"server_error",code:"internal_server_error"}:{type:"invalid_request_error",code:""}),{error:{message:b||d.O[a]||"An error occurred",type:c.type,code:c.code}})),{status:a,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}async function f(a,b=null){let c="";try{c=await a.text()}catch{c=""}if(b&&"function"==typeof b.parseError)try{let e=b.parseError(a,c);if(e&&"object"==typeof e){let b=e.message||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:e.status||a.status,message:b,resetsAtMs:e.resetsAtMs}}}catch{}let e="";try{let a=JSON.parse(c);e=a.error?.message||a.message||a.error||c}catch{e=c}let g=("string"==typeof e?e:JSON.stringify(e))||d.O[a.status]||`Upstream error: ${a.status}`;return{statusCode:a.status,message:g}}function g(a,b,c){return{success:!1,status:a,error:b,resetsAtMs:c,response:e(a,b)}}function h(a,b,c,d){let e=Math.max(Math.ceil((new Date(c).getTime()-Date.now())/1e3),1);return new Response(JSON.stringify({error:{message:`${b} (${d})`}}),{status:a,headers:{"Content-Type":"application/json","Retry-After":String(e)}})}function i(a,b,c,d){let e=d||a.code||"FETCH_FAILED",f=a.message||"Unknown error",g=a.cause?.code,h=a.cause?.message,i=g||h?` (cause: ${[g,h].filter(Boolean).join(": ")})`:"";return`[${e}]: ${f}${i}`}},45699:(a,b,c)=>{c.d(b,{Xg:()=>q,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>s,ux:()=>m,OA:()=>n,kt:()=>o,KC:()=>r,SM:()=>i});var d=c(35024),e=c(3610),f=c(26070),g=c(99511);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}let k=new Set(["kr","kiro"]);function l(a,b,c){if(!a)return;let d=a.find(a=>a.id===b);if(d)return d;if(!k.has(c))return;let e=(0,g.Kq)(b);if(e!==b)return a.find(a=>a.id===e)}function m(a,b){let c=f.vq[a];return c?(0,g.gr)(l(c,b,a)):null}function n(a,b){let c=f.vq[a];if(!c)return null;let d=l(c,b,a);return d?.kind||d?.type||null}function o(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",e=d?b.slice(0,c.index).trim():b,g=l(f.vq[a],e,a),i=g?.upstreamModelId||g?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof e&&e.endsWith(h)?e.slice(0,-h.length)+d:e+d}let p=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),q=Object.fromEntries(Object.keys(d.xq).map(a=>[a,p[a]||a]));function r(a){let b=q[a]||a;return f.vq[b]||[]}function s(a,b){return(0,g.g5)(l(f.vq[a],b,a))}},49475:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(92990);let e={config:d.Nu,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scopes})});if(!b.ok){let a=await b.text();throw Error(`Device code request failed: ${a}`)}return await b.json()},pollToken:async(a,b)=>{let c,d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,device_code:b,grant_type:"urn:ietf:params:oauth:grant-type:device_code"})});try{c=await d.json()}catch(a){c={error:"invalid_response",error_description:await d.text()}}return{ok:d.ok,data:c}},postExchange:async a=>{let b=await fetch(d.Nu.copilotTokenUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":d.Nu.apiVersion,"User-Agent":d.Nu.userAgent}}),c=b.ok?await b.json():{},e=await fetch(d.Nu.userInfoUrl,{headers:{Authorization:`Bearer ${a.access_token}`,Accept:"application/json","X-GitHub-Api-Version":d.Nu.apiVersion,"User-Agent":d.Nu.userAgent}});return{copilotToken:c,userInfo:e.ok?await e.json():{}}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,name:b?.userInfo?.login||b?.userInfo?.name,displayName:b?.userInfo?.name||b?.userInfo?.login,email:b?.userInfo?.email||null,providerSpecificData:{copilotToken:b?.copilotToken?.token,copilotTokenExpiresAt:b?.copilotToken?.expires_at,githubUserId:b?.userInfo?.id,githubLogin:b?.userInfo?.login,githubName:b?.userInfo?.name,githubEmail:b?.userInfo?.email}})}},53129:(a,b,c)=>{function d(a,b){let c,d=String(a||"").trim();if(!d)throw Error(`xai discovery ${b} is empty`);try{c=new URL(d)}catch(a){throw Error(`xai discovery ${b} is invalid: ${a.message}`)}if("https:"!==c.protocol)throw Error(`xai discovery ${b} must use https: ${d}`);let e=c.hostname.toLowerCase().trim();if("x.ai"!==e&&!e.endsWith(".x.ai"))throw Error(`xai discovery ${b} host ${e} is not on x.ai`);return d}function e(a){if(!a||"string"!=typeof a)return;let b=a.split(".");if(3===b.length)try{let a=b[1].replace(/-/g,"+").replace(/_/g,"/"),c=(4-a.length%4)%4,d=Buffer.from(a+"=".repeat(c),"base64").toString("utf8"),e=JSON.parse(d);return e.email||e.preferred_username||e.sub||void 0}catch{return}}function f(a){try{if(!a||"string"!=typeof a)return null;let b=a.split(".");if(3!==b.length)return null;let c=b[1].replace(/-/g,"+").replace(/_/g,"/"),d=(4-c.length%4)%4,e=c+"=".repeat(d);return JSON.parse(Buffer.from(e,"base64").toString("utf8"))}catch{return null}}function g(a){let b=f(a);if(b)return b.email||b.preferred_username||b.sub||void 0}async function h(a){if(!a)return null;try{let b=await fetch("https://codewhisperer.us-east-1.amazonaws.com/ListAvailableProfiles",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:`Bearer ${a}`},body:JSON.stringify({maxResults:10})});if(!b.ok)return null;let c=await b.json();return c.profiles?.find(a=>a.arn?.trim())?.arn?.trim()||null}catch{return null}}function i(a){let b=f(a);if(!b)return{};let c=b["https://api.openai.com/auth"]||{};return{email:b.email,chatgptAccountId:c.chatgpt_account_id||b.account_id,chatgptPlanType:c.chatgpt_plan_type||b.plan_type}}c.d(b,{J_:()=>g,YR:()=>i,gR:()=>h,js:()=>d,pG:()=>e})},55673:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(69320);let k="unknown",l="image/png"},56187:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).f7,flowType:"authorization_code_pkce",buildAuthUrl:(a,b,c,d,e={})=>{let f=e.baseUrl||a.defaultBaseUrl,g=new URLSearchParams({client_id:e.clientId||"",redirect_uri:b,response_type:"code",state:c,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod});return`${f}${a.authorizeUrlPath}?${g.toString()}`},exchangeToken:async(a,b,c,d,e,f={})=>{let g=f.baseUrl||a.defaultBaseUrl,h=f.clientId||"",i=f.clientSecret||"",j=new URLSearchParams({client_id:h,grant_type:"authorization_code",code:b,redirect_uri:c,code_verifier:d});i&&j.set("client_secret",i);let k=await fetch(`${g}${a.tokenUrlPath}`,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:j.toString()});if(!k.ok)throw Error(`GitLab token exchange failed: ${await k.text()}`);let l=await k.json(),m=await fetch(`${g}${a.userInfoUrlPath}`,{headers:{Authorization:`Bearer ${l.access_token}`}}),n=m.ok?await m.json():{};return{...l,_user:n,_baseUrl:g,_clientId:h}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,providerSpecificData:{username:a._user?.username||"",email:a._user?.email||a._user?.public_email||"",name:a._user?.name||"",baseUrl:a._baseUrl,clientId:a._clientId,authKind:"oauth"}})}},62842:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},66678:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{Gj:()=>H,PY:()=>K,Re:()=>I,Su:()=>J,YR:()=>g.YR,gR:()=>g.gR,kP:()=>G,sO:()=>F});var e=c(48895),f=c(13808),g=c(53129),h=c(41902),i=c(24329),j=c(72520),k=c(34940),l=c(220),m=c(79188),n=c(86725),o=c(67377),p=c(98287),q=c(49475),r=c(93551),s=c(68446),t=c(3198),u=c(67096),v=c(18941),w=c(35152),x=c(56187),y=c(99799),z=c(86857),A=c(17691),B=c(24336),C=c(13342),D=c(18245),E=a([e]);e=(E.then?(await E)():E)[0];let L={claude:h.A,codex:i.A,xai:j.A,"grok-cli":k.A,"gemini-cli":l.A,antigravity:m.A,iflow:n.A,qoder:o.A,qwen:p.A,github:q.A,kiro:r.A,cursor:s.A,kimi:t.A,kilocode:u.A,cline:v.A,clinepass:w.A,gitlab:x.A,"codebuddy-cn":y.A,"codebuddy-intl":z.A,kimchi:A.A,trae:B.A,windsurf:C.A,zed:D.A};function F(a){let b=L["kimi-coding"===a?"kimi":a];if(!b)throw Error(`Unknown provider: ${a}`);return b}async function G(a,b,c){let d=F(a),e=d.prepareConfig?await d.prepareConfig(d.config,c||{}):d.config,{codeVerifier:g,codeChallenge:h,state:i}=(0,f.lz)(d.pkceVerifierBytes),j=e.loginTraceID||i,k=e.privateKeyVerifier||g;return{authUrl:"device_code"===d.flowType?null:"authorization_code_pkce"===d.flowType?d.buildAuthUrl(e,b,j,h,c||{}):d.buildAuthUrl(e,b,j,void 0,c||{}),state:j,codeVerifier:k,codeChallenge:h,redirectUri:b,flowType:d.flowType,fixedPort:d.fixedPort,callbackPath:d.callbackPath||"/callback"}}async function H(a,b,c,d,e,f){let g=F(a),h=g.prepareConfig?await g.prepareConfig(g.config,f||{}):g.config,i=await g.exchangeToken(h,b,c,d,e,f||{}),j=null;return g.postExchange&&(j=await g.postExchange(i)),g.mapTokens(i,j)}async function I(a,b,c){let d=F(a);if("device_code"!==d.flowType)throw Error(`Provider ${a} does not support device code flow`);return await d.requestDeviceCode(d.config,b,c||{})}async function J(a,b,c,d){let e=F(a);if("device_code"!==e.flowType)throw Error(`Provider ${a} does not support device code flow`);let f=await e.pollToken(e.config,b,c,d);if(f.ok)if(f.data.access_token){let b=null;e.postExchange&&(b=await e.postExchange(f.data));let c=e.mapTokens(f.data,b);if("kiro"===a&&!c.providerSpecificData?.profileArn){let a=await (0,g.gR)(c.accessToken);a&&(c.providerSpecificData.profileArn=a)}return{success:!0,tokens:c}}else if("authorization_pending"===f.data.error||"slow_down"===f.data.error)return{success:!1,error:f.data.error,errorDescription:f.data.error_description||f.data.message,pending:"authorization_pending"===f.data.error};else return{success:!1,error:f.data.error||"no_access_token",errorDescription:f.data.error_description||f.data.message||"No access token received"};return{success:!1,error:f.data.error,errorDescription:f.data.error_description}}let M=!1;async function K(){if(!M){M=!0;try{let{getProviderConnections:a,updateProviderConnection:b}=await Promise.resolve().then(c.bind(c,89718));for(let c of(await a()).filter(a=>{if("codex"!==a.provider||"oauth"!==a.authType||!a.idToken)return!1;let b=!!a.email,c=!!a.providerSpecificData?.chatgptAccountId;return!b||!c})){let a=(0,g.YR)(c.idToken);if(!a.email&&!a.chatgptAccountId)continue;let d={};!c.email&&a.email&&(d.email=a.email),(a.chatgptAccountId||a.chatgptPlanType)&&(d.providerSpecificData={...c.providerSpecificData||{},chatgptAccountId:a.chatgptAccountId,chatgptPlanType:a.chatgptPlanType}),Object.keys(d).length&&await b(c.id,d)}}catch(a){M=!1,console.log("backfillCodexEmails failed:",a?.message||a)}}}d()}catch(a){d(a)}})},67096:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).MZ,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(a.initiateUrl,{method:"POST",headers:{"Content-Type":"application/json"}});if(!b.ok){if(429===b.status)throw Error("Too many pending authorization requests. Please try again later.");let a=await b.text();throw Error(`Device auth initiation failed: ${a}`)}let c=await b.json();return{device_code:c.code,user_code:c.code,verification_uri:c.verificationUrl,verification_uri_complete:c.verificationUrl,expires_in:c.expiresIn||300,interval:3}},pollToken:async(a,b)=>{let c=await fetch(`${a.pollUrlBase}/${b}`);if(202===c.status)return{ok:!1,data:{error:"authorization_pending"}};if(403===c.status)return{ok:!1,data:{error:"access_denied",error_description:"Authorization denied by user"}};if(410===c.status)return{ok:!1,data:{error:"expired_token",error_description:"Authorization code expired"}};if(!c.ok)return{ok:!1,data:{error:"poll_failed",error_description:`Poll failed: ${c.status}`}};let d=await c.json();if("approved"===d.status&&d.token){let b=null;try{let c=await fetch(`${a.apiBaseUrl}/api/profile`,{headers:{Authorization:`Bearer ${d.token}`}});if(c.ok){let a=await c.json();b=a.organizations?.[0]?.id||null}}catch{}return{ok:!0,data:{access_token:d.token,_userEmail:d.userEmail,_orgId:b}}}return{ok:!1,data:{error:"authorization_pending"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:null,expiresIn:null,email:a._userEmail,...a._orgId?{providerSpecificData:{orgId:a._orgId}}:{}})}},67377:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).hF,flowType:"device_code",requestDeviceCode:async a=>{let{QoderService:b}=await c.e(3546).then(c.bind(c,73546)),d=new b().initiateDeviceFlow();return{device_code:d.nonce,user_code:d.nonce.slice(0,8).toUpperCase(),verification_uri:a.loginUrl,verification_uri_complete:d.verificationUriComplete,expires_in:300,interval:2,codeVerifier:d.codeVerifier,_qoderNonce:d.nonce,_qoderMachineId:d.machineId}},pollToken:async(a,b,d,e)=>{let f,{QoderService:g}=await c.e(3546).then(c.bind(c,73546)),h=new g,i=b||e?._qoderNonce,j=d||e?._qoderVerifier;if(!i||!j)return{ok:!1,data:{error:"invalid_request",error_description:"Missing nonce/verifier"}};try{f=await h.pollDeviceToken({nonce:i,codeVerifier:j})}catch(a){return{ok:!1,data:{error:"poll_failed",error_description:a.message}}}if("pending"===f.status)return{ok:!1,data:{error:"authorization_pending"}};let k=await h.fetchUserInfo(f.accessToken),l=Math.max(86400,Math.floor((f.expireTime-Date.now())/1e3));return{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:l,_qoderUserId:f.userId,_qoderMachineId:e?._qoderMachineId||"",_qoderName:k.name,_qoderEmail:k.email,_qoderOrganizationId:k.organizationId}}},mapTokens:a=>{let b=(a._qoderEmail||"").trim(),c=(a._qoderName||"").trim()||null,d=a._qoderUserId||"",e=b||(d?`qoder-user-${d}`:null);return{accessToken:a.access_token,refreshToken:a.refresh_token||null,expiresIn:a.expires_in,email:e,displayName:c,providerSpecificData:{authMethod:"device",userId:d,machineId:a._qoderMachineId||"",organizationId:a._qoderOrganizationId||""}}}}},68446:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).WN,flowType:"import_token",mapTokens:a=>({accessToken:a.accessToken,refreshToken:null,expiresIn:a.expiresIn||86400,providerSpecificData:{machineId:a.machineId,authMethod:"imported"}})}},69320:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},72520:(a,b,c)=>{c.d(b,{A:()=>j});var d=c(55511),e=c.n(d),f=c(73159),g=c(53129);let h=null;async function i(){if(h)return h;try{let a=await fetch(f.oT.discoveryUrl,{headers:{Accept:"application/json"}});if(a.ok){let b=await a.json();return h={authorizeUrl:(0,g.js)(b.authorization_endpoint,"authorization_endpoint"),tokenUrl:(0,g.js)(b.token_endpoint,"token_endpoint")}}}catch{}return h={authorizeUrl:f.oT.authorizeUrl,tokenUrl:f.oT.tokenUrl}}let j={config:f.oT,flowType:"authorization_code_pkce",fixedPort:f.oT.loopbackPort,callbackPath:f.oT.callbackPath,pkceVerifierBytes:f.Ue,prepareConfig:async a=>{let b=await i();return{...a,authorizeUrl:b.authorizeUrl,tokenUrl:b.tokenUrl}},buildAuthUrl:(a,b,c,d)=>{let f=e().randomBytes(16).toString("hex"),g=Object.entries({response_type:"code",client_id:a.clientId,redirect_uri:b,scope:a.scope,code_challenge:d,code_challenge_method:a.codeChallengeMethod,state:c,nonce:f,plan:"generic",referrer:"cli-proxy-api"}).map(([a,b])=>`${a}=${encodeURIComponent(b)}`).join("&");return`${a.authorizeUrl}?${g}`},exchangeToken:async(a,b,c,d)=>{let e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,code:b,redirect_uri:c,code_verifier:d})});if(!e.ok){let a=await e.text();throw Error(`xAI token exchange failed: ${a}`)}return await e.json()},mapTokens:a=>{let b={accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope},c=(0,g.pG)(a.id_token);return c&&(b.email=c),a.id_token&&(b.providerSpecificData={idToken:a.id_token}),b}}},74177:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{PY:()=>e.PY,Re:()=>e.Re,Su:()=>e.Su,exchangeTokens:()=>e.Gj,extractCodexAccountInfo:()=>e.YR,fetchKiroProfileArn:()=>e.gR,kP:()=>e.kP,sO:()=>e.sO});var e=c(66678),f=a([e]);e=(f.then?(await f)():f)[0],d()}catch(a){d(a)}})},79188:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(92990);let e={config:d.YT,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({client_id:a.clientId,response_type:"code",redirect_uri:b,scope:a.scopes.join(" "),state:c,access_type:"offline",prompt:"consent"});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"authorization_code",client_id:a.clientId,client_secret:a.clientSecret,code:b,redirect_uri:c})});if(!d.ok){let a=await d.text();throw Error(`Token exchange failed: ${a}`)}return await d.json()},postExchange:async a=>{let b={Authorization:`Bearer ${a.access_token}`,"Content-Type":"application/json","User-Agent":d.YT.loadCodeAssistUserAgent,"X-Goog-Api-Client":d.YT.loadCodeAssistApiClient,"Client-Metadata":d.YT.loadCodeAssistClientMetadata,"x-request-source":"local"},c=(0,d.cD)(),e=await fetch(`${d.YT.userInfoUrl}?alt=json`,{headers:{Authorization:`Bearer ${a.access_token}`,"x-request-source":"local"}}),f=e.ok?await e.json():{},g="",h="legacy-tier";try{let a=await fetch(d.YT.loadCodeAssistEndpoint,{method:"POST",headers:b,body:JSON.stringify({metadata:c})});if(a.ok){let b=await a.json();if(g=b.cloudaicompanionProject?.id||b.cloudaicompanionProject||"",Array.isArray(b.allowedTiers)){for(let a of b.allowedTiers)if(a.isDefault&&a.id){h=a.id.trim();break}}}}catch(a){console.log("Failed to load code assist:",a)}return g&&(async()=>{for(let a=0;a<10;a++){try{let a=await fetch(d.YT.onboardUserEndpoint,{method:"POST",headers:b,body:JSON.stringify({tierId:h,metadata:c})});if(a.ok){let b=await a.json();if(!0===b.done)break}}catch(a){break}await new Promise(a=>setTimeout(a,5e3))}})().catch(()=>{}),{userInfo:f,projectId:g}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,scope:a.scope,email:b?.userInfo?.email,projectId:b?.projectId})}},86725:(a,b,c)=>{c.d(b,{A:()=>e});var d=c(92990);let e={config:d.ZL,flowType:"authorization_code",buildAuthUrl:(a,b,c)=>{let d=new URLSearchParams({loginMethod:a.extraParams.loginMethod,type:a.extraParams.type,redirect:b,state:c,client_id:a.clientId});return`${a.authorizeUrl}?${d.toString()}`},exchangeToken:async(a,b,c)=>{let d=Buffer.from(`${a.clientId}:${a.clientSecret}`).toString("base64"),e=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${d}`},body:new URLSearchParams({grant_type:"authorization_code",code:b,redirect_uri:c,client_id:a.clientId,client_secret:a.clientSecret})});if(!e.ok){let a=await e.text();throw Error(`Token exchange failed: ${a}`)}return await e.json()},postExchange:async a=>{let b=await fetch(`${d.ZL.userInfoUrl}?accessToken=${encodeURIComponent(a.access_token)}`,{headers:{Accept:"application/json"}});if(!b.ok){let a=await b.text();throw Error(`Failed to fetch user info: ${a}`)}let c=await b.json();if(!c.success)throw Error(`User info request failed: ${c.message||"Unknown error"}`);let e=c.data||{};if(!e.apiKey||""===e.apiKey.trim())throw Error("Empty API key returned from iFlow");if(!(e.email?.trim()||e.phone?.trim()))throw Error("Missing account email/phone in user info");return{userInfo:e}},mapTokens:(a,b)=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,apiKey:b?.userInfo?.apiKey,email:b?.userInfo?.email||b?.userInfo?.phone,displayName:b?.userInfo?.nickname||b?.userInfo?.name})}},86857:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).DV,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy Intl state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy Intl state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"www.codebuddy.ai","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})}},93551:(a,b,c)=>{c.d(b,{A:()=>f});var d=c(92990),e=c(53129);let f={config:d.Tx,flowType:"device_code",requestDeviceCode:async(a,b,c={})=>{let e=("string"==typeof c.region?c.region.trim():"")||"us-east-1";(0,d.S6)(e);let f=("string"==typeof c.startUrl?c.startUrl.trim():"")||a.startUrl,g="idc"===c.authMethod?"idc":"builder-id",h=`https://oidc.${e}.amazonaws.com/client/register`,i=`https://oidc.${e}.amazonaws.com/device_authorization`,j=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientName:a.clientName,clientType:a.clientType,scopes:a.scopes,grantTypes:a.grantTypes,issuerUrl:a.issuerUrl})});if(!j.ok){let a=await j.text();throw Error(`Client registration failed: ${a}`)}let k=await j.json(),l=await fetch(i,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:k.clientId,clientSecret:k.clientSecret,startUrl:f})});if(!l.ok){let a=await l.text();throw Error(`Device authorization failed: ${a}`)}let m=await l.json();return{device_code:m.deviceCode,user_code:m.userCode,verification_uri:m.verificationUri,verification_uri_complete:m.verificationUriComplete,expires_in:m.expiresIn,interval:m.interval||5,_clientId:k.clientId,_clientSecret:k.clientSecret,_region:e,_authMethod:g,_startUrl:f}},pollToken:async(a,b,c,e)=>{let f,g=e?._region||"us-east-1";(0,d.S6)(g);let h=`https://oidc.${g}.amazonaws.com/token`,i=await fetch(h,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:e?._clientId,clientSecret:e?._clientSecret,deviceCode:b,grantType:"urn:ietf:params:oauth:grant-type:device_code"})});try{f=await i.json()}catch(a){f={error:"invalid_response",error_description:await i.text()}}return f.accessToken?{ok:!0,data:{access_token:f.accessToken,refresh_token:f.refreshToken,expires_in:f.expiresIn,profile_arn:f?.profileArn||null,_clientId:e?._clientId,_clientSecret:e?._clientSecret,_region:e?._region,_authMethod:e?._authMethod,_startUrl:e?._startUrl}}:{ok:!1,data:{error:f.error||"authorization_pending",error_description:f.error_description||f.message}}},mapTokens:a=>{let b=(0,e.J_)(a.access_token);return{accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,email:b,providerSpecificData:{profileArn:a?.profile_arn||null,clientId:a._clientId,clientSecret:a._clientSecret,region:a._region||"us-east-1",authMethod:a._authMethod||"builder-id",startUrl:a._startUrl||d.Tx.startUrl}}}}},98287:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).Hp,flowType:"device_code",requestDeviceCode:async(a,b)=>{let c=await fetch(a.deviceCodeUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({client_id:a.clientId,scope:a.scope,code_challenge:b,code_challenge_method:a.codeChallengeMethod})});if(!c.ok){let a=await c.text();throw Error(`Device code request failed: ${a}`)}return await c.json()},pollToken:async(a,b,c)=>{let d=await fetch(a.tokenUrl,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"urn:ietf:params:oauth:grant-type:device_code",client_id:a.clientId,device_code:b,code_verifier:c})});return{ok:d.ok,data:await d.json()}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in,providerSpecificData:{resourceUrl:a.resource_url}})}},99799:(a,b,c)=>{c.d(b,{A:()=>d});let d={config:c(92990).Nl,flowType:"device_code",requestDeviceCode:async a=>{let b=await fetch(`${a.stateUrl}?platform=${a.platform}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-Product":"SaaS"},body:"{}"});if(!b.ok)throw Error(`CodeBuddy state request failed: ${await b.text()}`);let c=await b.json();if(0!==c.code||!c.data?.state||!c.data?.authUrl)throw Error(`CodeBuddy state error: ${c.msg||"missing state/authUrl"}`);return{device_code:c.data.state,verification_uri:c.data.authUrl,user_code:"",interval:a.pollInterval/1e3,_isCodeBuddy:!0}},pollToken:async(a,b)=>{let c=await fetch(`${a.tokenUrl}?state=${encodeURIComponent(b)}`,{method:"GET",headers:{Accept:"application/json","User-Agent":a.userAgent,"X-Requested-With":"XMLHttpRequest","X-Domain":"copilot.tencent.com","X-No-Authorization":"true","X-No-User-Id":"true","X-No-Enterprise-Id":"true","X-No-Department-Info":"true","X-Product":"SaaS"}});if(!c.ok)return{ok:!1,data:{error:"request_failed"}};let d=await c.json();return 0===d.code&&d.data?.accessToken?{ok:!0,data:{access_token:d.data.accessToken,refresh_token:d.data.refreshToken||"",token_type:d.data.tokenType||"Bearer",expires_in:d.data.expiresIn}}:11217===d.code?{ok:!0,data:{error:"authorization_pending"}}:{ok:!1,data:{error:d.msg||"unknown_error"}}},mapTokens:a=>({accessToken:a.access_token,refreshToken:a.refresh_token,expiresIn:a.expires_in||86400,providerSpecificData:{}})}}};