@techysy/10router 1.6.4-test.1 → 1.6.4-test.2

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 (533) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +35 -35
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/experimental/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  56. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  59. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  60. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  61. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  62. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  63. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  64. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  65. package/app/.next-cli-build/server/app/_not-found.html +2 -2
  66. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  67. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  68. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
  69. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  70. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  73. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  76. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  77. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  79. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  80. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  82. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  83. package/app/.next-cli-build/server/app/api/auth/verify-password/route.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js +1 -1
  88. package/app/.next-cli-build/server/app/api/cli-tools/claude-profiles/route.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  90. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  91. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  92. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  93. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  95. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  101. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/external-quota/[source]/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/gateway-probe/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  116. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  118. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  119. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/keys/rotate/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/keys/rotate/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  136. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  142. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  144. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  146. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/models/caps/route.js +1 -1
  148. package/app/.next-cli-build/server/app/api/models/caps/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js +1 -1
  150. package/app/.next-cli-build/server/app/api/models/custom/bulk/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  152. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/network/egress-region/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/checkin/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/claim-compensation/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/export/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  166. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  168. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  180. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-login/route.js +1 -1
  184. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-login/route.js.nft.json +1 -1
  185. package/app/.next-cli-build/server/app/api/oauth/loomy/sms-send/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/oauth/qoder/checkin/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/oauth/qoder-cn/checkin/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/oauth/transfer/export/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/oauth/transfer/import/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-kill/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/desktop-status/route.js.nft.json +1 -1
  197. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  203. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  220. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  232. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  233. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/security/status/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/security/status/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/settings/database/import-usage/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  251. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  274. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/usage/dashboard/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/usage/quotas/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/usage/quotas/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  304. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/rerank/route.js +1 -1
  319. package/app/.next-cli-build/server/app/api/v1/rerank/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/version/shell-update/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  350. package/app/.next-cli-build/server/app/callback.html +2 -2
  351. package/app/.next-cli-build/server/app/callback.rsc +6 -6
  352. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
  353. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  354. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
  355. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  356. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
  357. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
  358. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
  359. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  360. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +2 -2
  361. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
  362. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
  363. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
  364. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  365. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  366. package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
  367. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
  368. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
  369. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  370. package/app/.next-cli-build/server/app/dashboard/endpoint.html +2 -2
  371. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  372. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  373. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  374. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  375. package/app/.next-cli-build/server/app/dashboard/experimental.html +2 -2
  376. package/app/.next-cli-build/server/app/dashboard/experimental.rsc +8 -8
  377. package/app/.next-cli-build/server/app/dashboard/experimental.segments/!KGRhc2hib2FyZCk/dashboard/experimental/__PAGE__.segment.rsc +8 -8
  378. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_full.segment.rsc +8 -8
  379. package/app/.next-cli-build/server/app/dashboard/experimental.segments/_tree.segment.rsc +2 -2
  380. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  381. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
  382. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
  383. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
  384. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  385. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  386. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
  387. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
  388. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
  389. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  390. package/app/.next-cli-build/server/app/dashboard/profile.html +2 -2
  391. package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
  392. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
  393. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
  394. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  395. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  396. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
  397. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
  398. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
  399. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  400. package/app/.next-cli-build/server/app/dashboard/providers.html +2 -2
  401. package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
  402. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
  403. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
  404. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  405. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  406. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
  407. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
  408. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
  409. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  410. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  411. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
  412. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +8 -8
  413. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
  414. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  415. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  416. package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
  417. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
  418. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
  419. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  420. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +2 -2
  423. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
  424. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
  425. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  426. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
  427. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  428. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  429. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  430. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  431. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/token-saver.html +2 -2
  433. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
  434. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +8 -8
  435. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
  436. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  438. package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
  439. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
  440. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
  441. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/usage.html +2 -2
  443. package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
  444. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
  445. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
  446. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard.html +2 -2
  448. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  449. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  450. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  451. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  452. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/index.html +1 -1
  454. package/app/.next-cli-build/server/app/index.rsc +6 -6
  455. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
  456. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  457. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  458. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  460. package/app/.next-cli-build/server/app/landing.html +2 -2
  461. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  462. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  463. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  464. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  465. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  467. package/app/.next-cli-build/server/app/login.html +2 -2
  468. package/app/.next-cli-build/server/app/login.rsc +7 -7
  469. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
  470. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  471. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
  472. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  473. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  475. package/app/.next-cli-build/server/app-paths-manifest.json +35 -35
  476. package/app/.next-cli-build/server/chunks/1310.js +9 -0
  477. package/app/.next-cli-build/server/chunks/1622.js +1 -1
  478. package/app/.next-cli-build/server/chunks/1806.js +1 -1
  479. package/app/.next-cli-build/server/chunks/1819.js +1 -1
  480. package/app/.next-cli-build/server/chunks/2812.js +1 -1
  481. package/app/.next-cli-build/server/chunks/3662.js +1 -1
  482. package/app/.next-cli-build/server/chunks/3771.js +1 -1
  483. package/app/.next-cli-build/server/chunks/3792.js +1 -1
  484. package/app/.next-cli-build/server/chunks/3962.js +1 -1
  485. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  486. package/app/.next-cli-build/server/chunks/4906.js +1 -1
  487. package/app/.next-cli-build/server/chunks/4927.js +1 -1
  488. package/app/.next-cli-build/server/chunks/5527.js +1 -1
  489. package/app/.next-cli-build/server/chunks/5757.js +1 -1
  490. package/app/.next-cli-build/server/chunks/5781.js +1 -1
  491. package/app/.next-cli-build/server/chunks/5787.js +9 -0
  492. package/app/.next-cli-build/server/chunks/5837.js +1 -1
  493. package/app/.next-cli-build/server/chunks/594.js +1 -0
  494. package/app/.next-cli-build/server/chunks/6212.js +1 -1
  495. package/app/.next-cli-build/server/chunks/6960.js +1 -1
  496. package/app/.next-cli-build/server/chunks/7067.js +1 -1
  497. package/app/.next-cli-build/server/chunks/7209.js +1 -1
  498. package/app/.next-cli-build/server/chunks/7274.js +1 -1
  499. package/app/.next-cli-build/server/chunks/8145.js +1 -1
  500. package/app/.next-cli-build/server/chunks/8172.js +1 -1
  501. package/app/.next-cli-build/server/chunks/8318.js +1 -1
  502. package/app/.next-cli-build/server/chunks/8370.js +7 -7
  503. package/app/.next-cli-build/server/chunks/8410.js +1 -1
  504. package/app/.next-cli-build/server/chunks/8439.js +1 -1
  505. package/app/.next-cli-build/server/chunks/8595.js +1 -1
  506. package/app/.next-cli-build/server/chunks/8775.js +1 -1
  507. package/app/.next-cli-build/server/chunks/922.js +9 -0
  508. package/app/.next-cli-build/server/chunks/9489.js +1 -1
  509. package/app/.next-cli-build/server/chunks/9781.js +1 -0
  510. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  511. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  512. package/app/.next-cli-build/server/middleware.js +5 -5
  513. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  514. package/app/.next-cli-build/server/pages/404.html +2 -2
  515. package/app/.next-cli-build/server/pages/500.html +1 -1
  516. package/app/.next-cli-build/static/chunks/1321-b8be93bbd911ff4d.js +1 -0
  517. package/app/.next-cli-build/static/chunks/{5497-100281ed6ce1f83b.js → 5497-f6d548a4a9538453.js} +1 -1
  518. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-a2f5c1fa12df475b.js → page-7c4e389aed972469.js} +1 -1
  519. package/app/.next-cli-build/static/css/{63c4d9ca82aea954.css → 02a46e8ee21b7aaa.css} +1 -1
  520. package/app/package.json +1 -1
  521. package/app/public/i18n/changelog/en.md +4 -0
  522. package/app/public/i18n/changelog/zh-CN.md +4 -0
  523. package/app/public/i18n/changelog/zh-TW.md +4 -0
  524. package/app/public/i18n/literals/zh-CN.json +2 -0
  525. package/app/public/i18n/literals/zh-TW.json +2 -0
  526. package/package.json +1 -1
  527. package/app/.next-cli-build/server/chunks/1386.js +0 -9
  528. package/app/.next-cli-build/server/chunks/3389.js +0 -1
  529. package/app/.next-cli-build/server/chunks/9451.js +0 -9
  530. package/app/.next-cli-build/server/chunks/976.js +0 -9
  531. package/app/.next-cli-build/static/chunks/1321-25956f9bfbc2e6da.js +0 -1
  532. /package/app/.next-cli-build/static/{ilH6FH_DABFzbJ122SgT6 → 27KqZx4tyAU8IQDuc2h_r}/_buildManifest.js +0 -0
  533. /package/app/.next-cli-build/static/{ilH6FH_DABFzbJ122SgT6 → 27KqZx4tyAU8IQDuc2h_r}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=1819,exports.ids=[1819,1998,3662,4755,5527,6457,8838],exports.modules={3662:(a,b,c)=>{"use strict";c.d(b,{$e:()=>i,AZ:()=>m,Dt:()=>k,EQ:()=>f,LY:()=>d,O:()=>e,X8:()=>j,fh:()=>h,qS:()=>o,t2:()=>l,wf:()=>g,yD:()=>n});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Not found (wrong endpoint path, or the model does not exist)",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=864e5,j={short:6e4,long:6e5},k=3e5,l=[{provider:"codex",text:"model is not supported when using codex with a chatgpt account",cooldownMs:18e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"unapproved channel",channelScope:!0,cooldownMs:j.short},{text:"illegal api invocation",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"conversation id missing",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"request illegal",channelScope:!0,cooldownMs:j.short},{text:"improperly formed request",cooldownMs:12e4},{text:"mimo desktop account",cooldownMs:0},{text:"11133",cooldownMs:0},{text:"rejected by the model provider",cooldownMs:0},{text:"请求体积已达极端量级",cooldownMs:0},{text:"extreme-size backstop",cooldownMs:0},{text:"real-name verification",cooldownMs:0},{text:"realname verification",cooldownMs:0},{text:"bind your alibaba cloud account",cooldownMs:0},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}],m=/real-name verification|realname|\bface verification\b|实名认证|bind your alibaba cloud account/i,n={"stepfun-plan-cn":"StepFun CN 的 Step Plan 免费套餐要求账号先完成实名(人脸)核验,未完成时上游一律拒绝,与本机额度、与 10Router 都无关。出路:1. 打开 https://account.stepfun.com/security?action=realname 完成人脸核验后重试(推荐);2. 或改用按量计费的 stepfun-cn 渠道(扣现金/代金券,无实名要求)。该账号不会被锁定,但在实名完成前每次调用都会得到这条提示。",modelscope:"ModelScope 魔搭要求账号先绑定阿里云账号(实名认证)才能使用免费推理 API。出路:打开 https://modelscope.cn/my/account 完成第三方账号「阿里云」绑定后重试。"},o="上游要求该账号先完成实名认证(real-name verification),未完成前所有调用都会被拒绝;请按上游提示的地址完成核验后重试。"},7803:(a,b,c)=>{"use strict";c.r(b),c.d(b,{debug:()=>o,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h++,a}function j(a){if(!a)return i();let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},29679:(a,b,c)=>{"use strict";c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},38709:(a,b,c)=>{"use strict";c.d(b,{M:()=>h});var d=c(90737),e=c(93943),f=c(39609);let g=`${d.Nr}/models`;async function h(a,b={}){let{fetchFn:c=f.proxyAwareFetch,log:i=console,proxyOptions:j=null,onCredentialsRefreshed:k}=b,l=a?.accessToken;if(!l)return{models:[],warning:"Grok CLI access token is missing."};let m=b=>c(g,{method:"GET",headers:function(a,b={}){let c={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":d.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-version":d.uG,"x-grok-client-identifier":d.rK,"x-grok-client-mode":"headless"},e=b?.email,f=b?.userId||b?.principalId;return e&&(c["x-email"]=e),f&&(c["x-userid"]=f),c}(b,a?.providerSpecificData)},j);try{let b=await m(l);if((401===b.status||403===b.status)&&a?.refreshToken){let c=await (0,e.Vq)("grok-cli",a,i,j);if(c?.accessToken){l=c.accessToken;try{await k?.(c)}catch(a){i?.warn?.("Grok CLI credential persistence failed",a)}b=await m(l)}}if(!b.ok){let a=await b.text().catch(()=>"");return{models:[],warning:`Grok CLI model discovery failed (${b.status})${a?`: ${a.slice(0,160)}`:""}`}}let c=function(a){let b,c=new Set,e=[];for(let[f,g]of(b=Array.isArray(a)?a:a?.data??a?.models??a?.results??[],Array.isArray(b)?b.map(a=>[null,a]):b&&"object"==typeof b?Object.entries(b):[])){let a="string"==typeof g?{id:g}:g;if(!a||"object"!=typeof a||Array.isArray(a))continue;let b=String(a.id??a.model_id??a.modelId??a.model??a.slug??f??a.name??"").trim();if(!b||c.has(b))continue;c.add(b);let h={...a,id:b,name:a.display_name??a.displayName??a.name??b},i=Number(a.context_length??a.contextLength??a.context_window??a.contextWindow),j=Number(a.max_output_tokens??a.maxOutputTokens);Number.isFinite(i)&&i>0&&(h.contextLength=i),Number.isFinite(j)&&j>0&&(h.maxOutputTokens=j),b===d.to&&(h.contextLength||=5e5,h.maxOutputTokens||=64e3),e.push(h)}return e}(await b.json());return c.length?{models:c}:{models:[],warning:"Grok CLI returned no selectable models."}}catch(a){return{models:[],warning:`Grok CLI model discovery failed: ${a.message}`}}}},39326:(a,b,c)=>{"use strict";c.d(b,{B:()=>j,p:()=>i});var d=c(71998),e=c(72082);function f(a){return null==a?"":String(a).trim()}function g(a){let b=f(a);if(!b)return"";if((0,e.isEncrypted)(b))try{return f((0,e.decryptSecret)(b))}catch(a){console.warn(`[ConnectionProxy] Could not decrypt proxy URL: ${a?.message||a}`)}return b}let h=new Map;function i(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=h.get(c)||{index:-1};return b.index=(b.index+1)%a.length,h.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function j(a={}){try{let b=f(a?.proxyPoolId),c="__none__"===b?"":b,e=function(a={}){let b=a?.connectionProxyEnabled===!0,c=g(a?.connectionProxyUrl),d=f(a?.connectionNoProxy);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d,strictProxy:a?.strictProxy===!0}}(a),h=!1;if(c){let a=await (0,d.hr)(c);h=a?.strictProxy===!0;let b=g(a?.proxyUrl),e=f(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:e,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:e,strictProxy:!0===a.strictProxy}}}if(e.connectionProxyEnabled&&e.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...e,strictProxy:h||e.strictProxy};return{source:"none",proxyPoolId:c||null,proxyPool:null,...e,strictProxy:h||e.strictProxy}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},69704:(a,b,c)=>{"use strict";c.d(b,{Dg:()=>k,F8:()=>u,KC:()=>w,L7:()=>d,OQ:()=>j,R$:()=>l,RB:()=>D,Ty:()=>z,UJ:()=>q,VD:()=>r,_G:()=>i,bR:()=>t,bg:()=>h,cT:()=>y,cn:()=>p,h3:()=>o,ii:()=>n,j9:()=>f,jJ:()=>m,li:()=>s,pM:()=>C,pr:()=>E,qk:()=>A,rf:()=>g,t6:()=>x,xG:()=>B});let d="https://openapi.qoder.sh",e="https://api3.qoder.sh",f="https://api2.qoder.sh",g="https://qoder.com/device/selectAccounts",h=`${d}/api/v1/deviceToken/poll`,i=`${d}/api/v1/userinfo`,j=`${d}/api/v1/jobToken/exchange`,k="https://qoder.com",l="https://gateway.qoder.com.cn",m="https://openapi.qoder.com.cn",n="https://qoder.cn/device/selectAccounts",o=`${m}/api/v1/deviceToken/poll`,p=`${m}/api/v1/userinfo`,q=`${m}/api/v1/jobToken/exchange`,r="https://qoder.cn",s=l,t=`${l}/algo/api/v2/model/list`,u="/api/v2/service/pro/sse/agent_chat_generation",v=`${e}/algo${u}?FetchKeys=llm_model_result&AgentId=agent_common`,w=`${v}&Encode=1`,x=`${e}/algo/api/v2/model/list`,y="1.0.0",z="5",A="disagree",B="v2",C="x86_64_windows",D="5",E=`-----BEGIN PUBLIC KEY-----
1
+ exports.id=1819,exports.ids=[1819,1998,3662,4755,5527,6457,8838],exports.modules={3662:(a,b,c)=>{"use strict";c.d(b,{$e:()=>i,AZ:()=>m,Dt:()=>k,EQ:()=>f,LY:()=>d,O:()=>e,X8:()=>j,fh:()=>h,qS:()=>o,t2:()=>l,wf:()=>g,yD:()=>n});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Not found (wrong endpoint path, or the model does not exist)",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=864e5,j={short:6e4,long:6e5},k=3e5,l=[{provider:"codex",text:"model is not supported when using codex with a chatgpt account",cooldownMs:18e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"unapproved channel",channelScope:!0,cooldownMs:j.short},{text:"illegal api invocation",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"conversation id missing",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"request illegal",channelScope:!0,cooldownMs:j.short},{text:"improperly formed request",cooldownMs:12e4},{text:"mimo desktop account",cooldownMs:0},{text:"11133",cooldownMs:0},{text:"rejected by the model provider",cooldownMs:0},{text:"请求体积已达极端量级",cooldownMs:0},{text:"extreme-size backstop",cooldownMs:0},{text:"real-name verification",cooldownMs:0},{text:"realname verification",cooldownMs:0},{text:"bind your alibaba cloud account",cooldownMs:0},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:18e5},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}],m=/real-name verification|realname|\bface verification\b|实名认证|bind your alibaba cloud account/i,n={"stepfun-plan-cn":"StepFun CN 的 Step Plan 免费套餐要求账号先完成实名(人脸)核验,未完成时上游一律拒绝,与本机额度、与 10Router 都无关。出路:1. 打开 https://account.stepfun.com/security?action=realname 完成人脸核验后重试(推荐);2. 或改用按量计费的 stepfun-cn 渠道(扣现金/代金券,无实名要求)。该账号不会被锁定,但在实名完成前每次调用都会得到这条提示。",modelscope:"ModelScope 魔搭要求账号先绑定阿里云账号(实名认证)才能使用免费推理 API。出路:打开 https://modelscope.cn/my/account 完成第三方账号「阿里云」绑定后重试。"},o="上游要求该账号先完成实名认证(real-name verification),未完成前所有调用都会被拒绝;请按上游提示的地址完成核验后重试。"},7803:(a,b,c)=>{"use strict";c.r(b),c.d(b,{debug:()=>o,error:()=>r,errorLine:()=>l,fmtThink:()=>m,info:()=>p,line:()=>k,maskKey:()=>v,nextTag:()=>i,request:()=>s,response:()=>t,stream:()=>u,tagForSession:()=>j,warn:()=>q});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[process.env.LOG_LEVEL?.toUpperCase?.()]??d.INFO;function f(){return new Date().toLocaleTimeString("en-US",{hour12:!1})}let g=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],h=0;function i(){let a=g[h%g.length];return h++,a}function j(a){if(!a)return i();let b=0;for(let c=0;c<a.length;c++)b=31*b+a.charCodeAt(c)|0;return g[Math.abs(b)%g.length]}function k(a,b,c){e>d.INFO||console.log(`[${f()}] ${a} ${b} ${c}`)}function l(a,b,c){console.log(`[${f()}] ${a} ${b} ${c}`)}function m(a){return a&&a.mode?"none"===a.mode?"off":"auto"===a.mode?"auto":"budget"===a.mode?a.budget>=1e3?`${Math.round(a.budget/1e3)}k`:`${a.budget}`:"level"===a.mode?a.level:null:null}function n(a){if(!a)return"";if("string"==typeof a)return a;try{return JSON.stringify(a)}catch{return String(a)}}function o(a,b,c){if(e<=d.DEBUG){let d=c?` ${n(c)}`:"";console.log(`[${f()}] 🔍 [${a}] ${b}${d}`)}}function p(a,b,c){if(e<=d.INFO){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ℹ️ [${a}] ${b}${d}`)}}function q(a,b,c){if(e<=d.WARN){let d=c?` ${n(c)}`:"";console.warn(`[${f()}] ⚠️ [${a}] ${b}${d}`)}}function r(a,b,c){if(e<=d.ERROR){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ❌ [${a}] ${b}${d}`)}}function s(a,b,c){let d=c?` ${n(c)}`:"";console.log(`\x1b[36m[${f()}] 📥 ${a} ${b}${d}\x1b[0m`)}function t(a,b,c){let d=c?` ${n(c)}`:"";console.log(`[${f()}] ${a<400?"\uD83D\uDCE4":"\uD83D\uDCA5"} ${a} (${b}ms)${d}`)}function u(a,b){let c=b?` ${n(b)}`:"";console.log(`[${f()}] 🌊 [STREAM] ${a}${c}`)}function v(a){return!a||a.length<8?"***":`${a.slice(0,4)}...${a.slice(-4)}`}},29679:(a,b,c)=>{"use strict";c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8590);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},38709:(a,b,c)=>{"use strict";c.d(b,{M:()=>h});var d=c(90737),e=c(93943),f=c(39609);let g=`${d.Nr}/models`;async function h(a,b={}){let{fetchFn:c=f.proxyAwareFetch,log:i=console,proxyOptions:j=null,onCredentialsRefreshed:k}=b,l=a?.accessToken;if(!l)return{models:[],warning:"Grok CLI access token is missing."};let m=b=>c(g,{method:"GET",headers:function(a,b={}){let c={Authorization:`Bearer ${a}`,Accept:"application/json","User-Agent":d.fZ,"x-xai-token-auth":"xai-grok-cli","x-grok-client-version":d.uG,"x-grok-client-identifier":d.rK,"x-grok-client-mode":"headless"},e=b?.email,f=b?.userId||b?.principalId;return e&&(c["x-email"]=e),f&&(c["x-userid"]=f),c}(b,a?.providerSpecificData)},j);try{let b=await m(l);if((401===b.status||403===b.status)&&a?.refreshToken){let c=await (0,e.Vq)("grok-cli",a,i,j);if(c?.accessToken){l=c.accessToken;try{await k?.(c)}catch(a){i?.warn?.("Grok CLI credential persistence failed",a)}b=await m(l)}}if(!b.ok){let a=await b.text().catch(()=>"");return{models:[],warning:`Grok CLI model discovery failed (${b.status})${a?`: ${a.slice(0,160)}`:""}`}}let c=function(a){let b,c=new Set,e=[];for(let[f,g]of(b=Array.isArray(a)?a:a?.data??a?.models??a?.results??[],Array.isArray(b)?b.map(a=>[null,a]):b&&"object"==typeof b?Object.entries(b):[])){let a="string"==typeof g?{id:g}:g;if(!a||"object"!=typeof a||Array.isArray(a))continue;let b=String(a.id??a.model_id??a.modelId??a.model??a.slug??f??a.name??"").trim();if(!b||c.has(b))continue;c.add(b);let h={...a,id:b,name:a.display_name??a.displayName??a.name??b},i=Number(a.context_length??a.contextLength??a.context_window??a.contextWindow),j=Number(a.max_output_tokens??a.maxOutputTokens);Number.isFinite(i)&&i>0&&(h.contextLength=i),Number.isFinite(j)&&j>0&&(h.maxOutputTokens=j),b===d.to&&(h.contextLength||=5e5,h.maxOutputTokens||=64e3),e.push(h)}return e}(await b.json());return c.length?{models:c}:{models:[],warning:"Grok CLI returned no selectable models."}}catch(a){return{models:[],warning:`Grok CLI model discovery failed: ${a.message}`}}}},39326:(a,b,c)=>{"use strict";c.d(b,{B:()=>j,p:()=>i});var d=c(71998),e=c(72082);function f(a){return null==a?"":String(a).trim()}function g(a){let b=f(a);if(!b)return"";if((0,e.isEncrypted)(b))try{return f((0,e.decryptSecret)(b))}catch(a){console.warn(`[ConnectionProxy] Could not decrypt proxy URL: ${a?.message||a}`)}return b}let h=new Map;function i(a,b,c){if(!a||0===a.length)return null;if(1===a.length)return a[0];if("round-robin"===b){let b=h.get(c)||{index:-1};return b.index=(b.index+1)%a.length,h.set(c,b),a[b.index]}return"random"===b?a[Math.floor(Math.random()*a.length)]:a[0]}async function j(a={}){try{let b=f(a?.proxyPoolId),c="__none__"===b?"":b,e=function(a={}){let b=a?.connectionProxyEnabled===!0,c=g(a?.connectionProxyUrl),d=f(a?.connectionNoProxy);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d,strictProxy:a?.strictProxy===!0}}(a),h=!1;if(c){let a=await (0,d.hr)(c);h=a?.strictProxy===!0;let b=g(a?.proxyUrl),e=f(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:e,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:e,strictProxy:!0===a.strictProxy}}}if(e.connectionProxyEnabled&&e.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...e,strictProxy:h||e.strictProxy};return{source:"none",proxyPoolId:c||null,proxyPool:null,...e,strictProxy:h||e.strictProxy}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},69704:(a,b,c)=>{"use strict";c.d(b,{Dg:()=>k,F8:()=>u,KC:()=>w,L7:()=>d,OQ:()=>j,R$:()=>l,RB:()=>D,Ty:()=>z,UJ:()=>q,VD:()=>r,_G:()=>i,bR:()=>t,bg:()=>h,cT:()=>y,cn:()=>p,h3:()=>o,ii:()=>n,j9:()=>f,jJ:()=>m,li:()=>s,pM:()=>C,pr:()=>E,qk:()=>A,rf:()=>g,t6:()=>x,xG:()=>B});let d="https://openapi.qoder.sh",e="https://api3.qoder.sh",f="https://api2.qoder.sh",g="https://qoder.com/device/selectAccounts",h=`${d}/api/v1/deviceToken/poll`,i=`${d}/api/v1/userinfo`,j=`${d}/api/v1/jobToken/exchange`,k="https://qoder.com",l="https://gateway.qoder.com.cn",m="https://openapi.qoder.com.cn",n="https://qoder.cn/device/selectAccounts",o=`${m}/api/v1/deviceToken/poll`,p=`${m}/api/v1/userinfo`,q=`${m}/api/v1/jobToken/exchange`,r="https://qoder.cn",s=l,t=`${l}/algo/api/v2/model/list`,u="/api/v2/service/pro/sse/agent_chat_generation",v=`${e}/algo${u}?FetchKeys=llm_model_result&AgentId=agent_common`,w=`${v}&Encode=1`,x=`${e}/algo/api/v2/model/list`,y="1.0.0",z="5",A="disagree",B="v2",C="x86_64_windows",D="5",E=`-----BEGIN PUBLIC KEY-----
2
2
  MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA8iMH5c02LilrsERw9t6Pv5Nc
3
3
  4k6Pz1EaDicBMpdpxKduSZu5OANqUq8er4GM95omAGIOPOh+Nx0spthYA2BqGz+l
4
4
  6HRkPJ7S236FZz73In/KVuLnwI8JJ2CbuJap8kvheCCZpmAWpb/cPx/3Vr/J6I17
@@ -1,2 +1,2 @@
1
- "use strict";exports.id=2812,exports.ids=[2812],exports.modules={92812:(a,b,c)=>{c.d(b,{t8:()=>s,Vu:()=>u,Pr:()=>v,vt:()=>x,UP:()=>t});var d=c(12557);let e=new Set(["content_filter","content-filter","sensitive","refusal","safety","security","blocked","filtered","flagged","blocklist","prohibited_content","recitation"]);function f(a){return"string"==typeof a&&e.has(a.trim().toLowerCase())}function g(a){if(!a||"object"!=typeof a)return{retryable:!1,empty:!1,filtered:!1};let b=Array.isArray(a.choices)?a.choices[0]:void 0;if(b){let a=b.message||{},c="string"==typeof a.content?""!==a.content:Array.isArray(a.content)&&a.content.some(a=>"string"==typeof a?""!==a:"string"==typeof a?.text&&""!==a.text),d="string"==typeof a.reasoning_content&&""!==a.reasoning_content||"string"==typeof a.reasoning&&""!==a.reasoning,e=Array.isArray(a.tool_calls)&&a.tool_calls.length>0,g=!c&&!d&&!e;return{retryable:g,empty:g,filtered:f(b.finish_reason)}}if(Array.isArray(a.content)){let b=a.content.some(a=>a?.type==="text"&&a.text||a?.type==="thinking"&&a.thinking||a?.type==="tool_use");return{retryable:!b,empty:!b,filtered:f(a.stop_reason)}}if(Array.isArray(a.candidates)){let b=a.candidates.some(a=>a?.content?.parts?.some(a=>"string"==typeof a?.text&&""!==a.text||a?.functionCall||a?.inlineData));return{retryable:!b,empty:!b,filtered:f(a.candidates[0]?.finishReason)}}return{retryable:!1,empty:!1,filtered:!1}}async function h(a){let b=(a.headers.get("content-type")||"").toLowerCase();if(!b.includes("text/event-stream")&&!b.includes("stream")){var c;let b=await a.text(),d=null;try{d=JSON.parse(b)}catch{}if(d){let{retryable:a}=g(d);if(a)return{action:"retry",meta:g(d)}}return{action:"commit",response:new Response(b,{status:(c=a).status,statusText:c.statusText,headers:c.headers})}}if(!a.body)return{action:"commit",response:a};let d=a.body.getReader(),e=function(){let a="",b=!1,c=!1,d=!1,e=new TextEncoder,g=new TextDecoder,h=[];function i(a){let d,e=a.trim();if(!e.startsWith("data:"))return;let g=e.slice(5).trim();if(!g)return;if("[DONE]"===g){c=!0;return}try{d=JSON.parse(g)}catch{return}let h=function(a){if(!a||"object"!=typeof a)return{valuable:!1,terminal:!1,filtered:!1};let b=Array.isArray(a.choices)?a.choices[0]:void 0;if(b){let a=b.delta||{},c="string"==typeof a.content&&""!==a.content,d="string"==typeof a.reasoning_content&&""!==a.reasoning_content||"string"==typeof a.reasoning&&""!==a.reasoning,e=Array.isArray(a.tool_calls)&&a.tool_calls.some(a=>a?.function?.arguments&&""!==a.function.arguments||a?.function?.name||a?.id),g=c||d||e;return b.finish_reason?{valuable:g,terminal:!0,filtered:f(b.finish_reason)}:{valuable:g,terminal:!1,filtered:!1}}if("response.completed"===a.type||"response.incomplete"===a.type){let b=Array.isArray(a.response?.output)?a.response.output:[],c=Array.isArray(a.response?.output_text)&&""!==a.response.output_text.join("")||b.some(a=>Array.isArray(a?.content)?a.content.some(a=>a?.text):"string"==typeof a?.text&&""!==a.text),d=b.some(a=>a?.type==="function_call"||a?.type==="custom_tool_call");return{valuable:c||d,terminal:!0,filtered:!1}}if("response.output_text.delta"===a.type||"response.reasoning_summary_text.delta"===a.type||"response.reason_summary_text.delta"===a.type||"response.function_call_arguments.delta"===a.type)return{valuable:"string"==typeof a.delta&&""!==a.delta,terminal:!1,filtered:!1};if("response.output_item.added"===a.type){let b=a.item?.type;return{valuable:"function_call"===b||"custom_tool_call"===b||"reasoning"===b,terminal:!1,filtered:!1}}if("content_block_delta"===a.type){let b=a.delta||{};return{valuable:"string"==typeof b.text&&""!==b.text||"string"==typeof b.thinking&&""!==b.thinking||"string"==typeof b.partial_json&&""!==b.partial_json,terminal:!1,filtered:!1}}if("message_delta"===a.type)return{valuable:!1,terminal:!0,filtered:f(a.delta?.stop_reason)};let c=Array.isArray(a.candidates)?a.candidates[0]:void 0;if(c){let a=c.content?.parts,b=Array.isArray(a)&&a.some(a=>"string"==typeof a?.text&&""!==a.text||a?.functionCall||a?.inlineData||a?.executableCode);return c.finishReason?{valuable:b,terminal:!0,filtered:f(c.finishReason)}:{valuable:b,terminal:!1,filtered:!1}}return{valuable:!1,terminal:!1,filtered:!1}}(d);h.valuable&&(b=!0),h.terminal&&(c=!0,h.filtered)}return{push(f){if(d)return{kind:"passthrough"};let j="string"==typeof f?e.encode(f):f;h.push(j);let k=(a+=g.decode(j,{stream:!0})).split("\n");for(let b of(a=k.pop()||"",k))i(b);return b?(d=!0,{kind:"commit"}):c?(d=!0,{kind:"retry"}):{kind:"buffered"}},finish:()=>((a+=g.decode())&&(i(a),a=""),d)?{kind:"passthrough"}:(d=!0,b?{kind:"commit"}:{kind:"retry"}),get bufferedBytes(){return h}}}(),h=null;for(;;){let{value:a,done:b}=await d.read();if(a){let b=e.push(a);if("commit"===b.kind){h={kind:"commit"};break}if("retry"===b.kind){h={kind:"retry"};break}continue}if(b){h={kind:"retry"===e.finish().kind?"retry":"commit"};break}}if("retry"===h.kind){try{for(;;){let{done:a}=await d.read();if(a)break}}catch{}return{action:"retry"}}let i=e.bufferedBytes;return{action:"commit",response:new Response(new ReadableStream({async start(a){for(let b of i)a.enqueue(b);try{for(;;){let{value:b,done:c}=await d.read();if(c)break;b&&a.enqueue(b)}}catch(b){a.error(b);return}a.close()},async cancel(a){try{await d.cancel(a)}catch{}}}),{status:a.status,statusText:a.statusText,headers:a.headers})}}var i=c(43659),j=c(66306),k=c(26922);let l=new Set(["vision","pdf","audioInput","videoInput"]);function m(a){return String(a||"").split("/")[0]}let n="[Called tools: ",o="[Tool result: ";function p(a){return a.filter(a=>a).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"assistant",content:`${o}${(0,k.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,k.kU)(c.content)||("string"==typeof c.content?c.content:"");return{...c,content:`${e}${e?"\n":""}${n}${d}]`}}if(Array.isArray(a.content)){let b=a.content.some(a=>"tool_use"===a.type),c=a.content.some(a=>"tool_result"===a.type);if(b||c){let b=[],c=[],d=[];for(let e of a.content)"text"===e.type&&e.text&&b.push(e.text),"tool_use"===e.type&&c.push(e.name||"tool"),"tool_result"===e.type&&d.push((0,k.kU)(e.content)||String(e.content??""));let{...e}=a,f=b.join("\n");return c.length>0&&(f=`${f}${f?"\n":""}${n}${c.join(", ")}]`),d.length>0&&(f=`${f}${f?"\n":""}${o}${d.join("\n")}]`),{...e,content:f}}}return a})}let q=new Map;function r(a){if(!Array.isArray(a)||0===a.length)return[];let b=a=>"assistant"===a||"model"===a,c=a.length-1;for(;c>=0&&!b(a[c]?.role);)c--;return a.slice(c+1)}function s(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{"string"==typeof a&&(a.startsWith("image/")?b.add("vision"):"application/pdf"===a?b.add("pdf"):a.startsWith("audio/")?b.add("audioInput"):a.startsWith("video/")&&b.add("videoInput"))},d=a=>{if(!a||"object"!=typeof a)return;let d=a.type;if(("image_url"===d||"image"===d||"input_image"===d)&&b.add("vision"),("input_audio"===d||"audio_url"===d||"audio"===d)&&b.add("audioInput"),("input_video"===d||"video_url"===d||"video"===d)&&b.add("videoInput"),"file"===d||"document"===d||"input_file"===d){let d=null;a.input_audio?.format?d=`audio/${a.input_audio.format}`:a.file?.file_data?d=String(a.file.file_data).match(/^data:([^;,]+)/)?.[1]:a.source?.media_type?d=a.source.media_type:a.source?.data&&(d=String(a.source.data).match(/^data:([^;,]+)/)?.[1]),d?c(d):b.add("pdf")}c(a.inlineData?.mimeType||a.fileData?.mimeType)},e=a=>{if(Array.isArray(a))for(let b of a)d(b)},f=a=>{if(!a||"object"!=typeof a)return;Array.isArray(a.images)&&a.images.length>0&&b.add("vision");let d=a.experimental_attachments||a.attachments;if(Array.isArray(d))for(let a of d){if(!a)continue;let d=a.contentType||a.mediaType||"string"==typeof a.url&&a.url.match(/^data:([^;,]+)/)?.[1];d?c(d):(a.url||a.data)&&b.add("vision")}(a.image_url||a.image)&&b.add("vision"),(a.audio_url||a.audio)&&b.add("audioInput"),e(a.content),"string"==typeof a.content&&(a.content.includes("data:image/")?b.add("vision"):a.content.includes("data:audio/")?b.add("audioInput"):a.content.includes("data:application/pdf")&&b.add("pdf"))};for(let b of r(a.messages))f(b);for(let b of r(a.input))e(b.content);for(let b of r(a.contents||a.request?.contents))e(b.parts);return b}function t(a){a?q.delete(a):q.clear()}function u(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?c.models:null}async function v({body:a,models:b,handleSingleModel:c,log:e,comboName:f,comboStrategy:g,comboStickyLimit:k=1,autoSwitch:n=!0,retryOnEmpty:o=!1,retryOnEmptyLimit:p=2}){let r=function(a,b,c,d=1){let e;if(!a||a.length<=1||"round-robin"!==c)return a;let f=b||"__default__",g=Number.isFinite(e=Number.parseInt(d,10))&&e>0?e:1,h=q.get(f),i="number"==typeof h?{index:h,consecutiveUseCount:0}:h||{index:0,consecutiveUseCount:0},j=i.index%a.length,k=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,j),l=i.consecutiveUseCount+1;return l>=g?q.set(f,{index:(j+1)%a.length,consecutiveUseCount:0}):q.set(f,{index:j,consecutiveUseCount:l}),k}(b,f,g,k);if(n){let b=s(a);if(b.size>0){let a=function(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>l.has(a)),d=[...b].filter(a=>!l.has(a));return a.map((a,b)=>{let e,f,g,h;return{m:a,i:b,t:(f=(e="string"==typeof a?a.indexOf("/"):-1)>0?a.slice(0,e):"",g=e>0?a.slice(e+1):a,h=(0,j.nl)(f,g),c.every(a=>!0===h[a])?+!d.every(a=>!0===h[a]):2)}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m)}(r,b);a[0]!==r[0]&&e.info("COMBO",`auto-switch for [${[...b].join(",")}] → ${a[0]}`),r=a}}let t=null,u=null,w=null,x=0;for(let b=0;b<r.length;b++){let f=r[b];e.info("COMBO",`Trying model ${b+1}/${r.length}: ${f}`);try{let g=await c(a,f);if(g.ok){if(b!==r.length-1&&(g.headers?.get?.("content-type")||"").includes("application/json"))try{let a=await g.clone().json();if(function(a){if(!a||"object"!=typeof a)return!1;if(Array.isArray(a.choices)){if(0===a.choices.length)return!0;let b=a.choices[0];if(!b)return!0;let c=b.message||b.delta,d=c?.content,e="string"==typeof d?d.trim().length>0:Array.isArray(d)&&d.length>0,f=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0||!!c?.function_call,g="string"==typeof c?.reasoning_content&&c.reasoning_content.trim().length>0,h=b.finish_reason;if(!e&&!f&&!g&&("stop"!==h&&"length"!==h&&"tool_calls"!==h&&"function_call"!==h||"in_progress"===h||"incomplete"===h))return!0}if(Array.isArray(a.content)){let b=a.content.some(a=>"text"===a.type&&a.text?.trim().length>0||"tool_use"===a.type),c=a.stop_reason;if(!b&&(!c||"in_progress"===c||"incomplete"===c))return!0}return!1}(a)){e.warn("COMBO",`Model ${f} returned HTTP 200 with zero usable content, falling back to next model`),t="Zero usable content",w=200;continue}}catch{}let a=b<r.length-1;if(o&&a&&x<p&&function(a){let b=String(a?.headers?.get?.("content-type")||"").toLowerCase();return b.includes("event-stream")||b.includes("json")}(g)){let a=await h(g);if("retry"===a.action){x++,t="empty response (content filtered or zero output tokens)";let a=r[b+1],c=m(a)===m(f);e.warn("COMBO",`Model ${f} ended with an empty filtered answer, trying next`+(c?` (WARNING: ${a} is the same provider — likely the same filter)`:"")+` [empty-retry ${x}/${p}]`);continue}return e.info("COMBO",`Model ${f} succeeded`),a.response}return o&&a&&x>=p&&e.warn("COMBO",`Model ${f}: empty-retry budget (${p}) exhausted, returning response as-is`),e.info("COMBO",`Model ${f} succeeded`),g}let i=g.statusText||"",j=null;try{let a=await g.clone().json();i=a?.error?.message||a?.error||a?.message||i,j=a?.retryAfter||null}catch{}if(j&&(!u||new Date(j)<new Date(u))&&(u=j),"string"!=typeof i)try{i=JSON.stringify(i)}catch{i=String(i)}let{shouldFallback:k,cooldownMs:l}=(0,d.hk)(g.status,i,0,m(f));if(!k)return e.warn("COMBO",`Model ${f} failed (no fallback)`,{status:g.status}),g;l&&l>0&&l<=5e3&&(503===g.status||502===g.status||504===g.status)&&(e.info("COMBO",`Model ${f} transient ${g.status}, waiting ${l}ms before next`),await new Promise(a=>setTimeout(a,l))),t=i||String(g.status),w||(w=g.status),e.warn("COMBO",`Model ${f} failed, trying next`,{status:g.status})}catch(a){t=a.message||String(a),w||(w=500),e.warn("COMBO",`Model ${f} threw error, trying next`,{error:t})}}let y=t&&t.toLowerCase().includes("no credentials")?503:w||503,z=(0,d.Hu)(t||"All combo models unavailable");if(u){let a=(0,d.Qo)(u);return e.warn("COMBO",`All models failed | ${z} (${a})`),(0,i.wO)(y,z,u,a)}return e.warn("COMBO",`All models failed | ${z}`),new Response(JSON.stringify({error:{message:z}}),{status:y,headers:{"Content-Type":"application/json"}})}let w={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};async function x({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g}){var h;let i,j,l=Array.isArray(b)?b.filter(Boolean):[];if(0===l.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===l.length)return c(a,l[0]);let m={...w,...g||{}},n=Math.min(Math.max(2,m.minPanel),l.length),o=f&&f.trim()?f.trim():l[0];d.info("FUSION",`Combo "${e}" | panel=${l.length} [${l.join(", ")}] | judge=${o} | quorum=${n}`);let{tools:q,tool_choice:r,stream_options:s,...t}=a,u={...t,stream:!1};Array.isArray(u.messages)?u.messages=p(u.messages):Array.isArray(u.input)&&(u.input=p(u.input));let v=Date.now(),y=l.map(a=>{var b,d;return b=c(u,a,!0),d=m.panelHardTimeoutMs,new Promise(a=>{let c=setTimeout(()=>a({__timeout:!0}),d);Promise.resolve(b).then(b=>{clearTimeout(c),a(b)}).catch(b=>{clearTimeout(c),a({__error:b})})})}),z=await function(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d}){return new Promise(e=>{let f=Array(a.length),g=0,h=0,i=!1,j=null,k=()=>{i||(i=!0,clearTimeout(l),j&&clearTimeout(j),e(f))},l=setTimeout(k,d);a.forEach((d,e)=>{Promise.resolve(d).then(a=>{f[e]=a}).catch(a=>{f[e]={__error:a}}).finally(()=>{if(g++,f[e]&&f[e].ok&&h++,g===a.length)return k();h>=b&&!j&&(j=setTimeout(k,c))})})})}(y,{...m,minPanel:n});d.info("FUSION",`fan-out collected in ${Date.now()-v}ms`);let A=[];for(let a=0;a<z.length;a++){let b=z[a],c=l[a];if(!b){d.warn("FUSION",`Panel ${c} dropped (straggler/timeout)`);continue}if(b.__timeout){d.warn("FUSION",`Panel ${c} timed out`);continue}if(b.__error){d.warn("FUSION",`Panel ${c} threw`,{error:b.__error?.message||String(b.__error)});continue}if(!b.ok){d.warn("FUSION",`Panel ${c} failed`,{status:b.status});continue}try{let a=await b.clone().json(),e=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=b.message??b.delta??{},c=(0,k.kU)(a.content);if(c.trim())return c;if("string"==typeof b.text&&b.text.trim())return b.text}let c=(0,k.kU)(a.content);if(c.trim())return c;let d=a.candidates?.[0]?.content?.parts;if(Array.isArray(d)){let a=d.map(a=>a?.text||"").join("");if(a.trim())return a}if(Array.isArray(a.output)){let b=a.output.flatMap(a=>Array.isArray(a.content)?a.content.map(a=>a?.text||""):[]).join("");if(b.trim())return b}return""}(a);e?(A.push({model:c,text:e}),d.info("FUSION",`Panel ${c} ok (${e.length} chars)`)):d.warn("FUSION",`Panel ${c} returned empty content`)}catch(a){d.warn("FUSION",`Panel ${c} unparseable`,{error:a.message||String(a)})}}if(0===A.length)return d.warn("FUSION","All panel models failed"),new Response(JSON.stringify({error:{message:"All fusion panel models failed"}}),{status:503,headers:{"Content-Type":"application/json"}});if(1===A.length)return d.info("FUSION",`Only ${A[0].model} succeeded — answering directly (no fusion)`),c(a,A[0].model);let B=(i=A.map((a,b)=>`[Source ${b+1}]
1
+ "use strict";exports.id=2812,exports.ids=[2812],exports.modules={92812:(a,b,c)=>{c.d(b,{t8:()=>s,Vu:()=>u,Pr:()=>v,vt:()=>x,UP:()=>t});var d=c(12557);let e=new Set(["content_filter","content-filter","sensitive","refusal","safety","security","blocked","filtered","flagged","blocklist","prohibited_content","recitation"]);function f(a){return"string"==typeof a&&e.has(a.trim().toLowerCase())}function g(a){if(!a||"object"!=typeof a)return{retryable:!1,empty:!1,filtered:!1};let b=Array.isArray(a.choices)?a.choices[0]:void 0;if(b){let a=b.message||{},c="string"==typeof a.content?""!==a.content:Array.isArray(a.content)&&a.content.some(a=>"string"==typeof a?""!==a:"string"==typeof a?.text&&""!==a.text),d="string"==typeof a.reasoning_content&&""!==a.reasoning_content||"string"==typeof a.reasoning&&""!==a.reasoning,e=Array.isArray(a.tool_calls)&&a.tool_calls.length>0,g=!c&&!d&&!e;return{retryable:g,empty:g,filtered:f(b.finish_reason)}}if(Array.isArray(a.content)){let b=a.content.some(a=>a?.type==="text"&&a.text||a?.type==="thinking"&&a.thinking||a?.type==="tool_use");return{retryable:!b,empty:!b,filtered:f(a.stop_reason)}}if(Array.isArray(a.candidates)){let b=a.candidates.some(a=>a?.content?.parts?.some(a=>"string"==typeof a?.text&&""!==a.text||a?.functionCall||a?.inlineData));return{retryable:!b,empty:!b,filtered:f(a.candidates[0]?.finishReason)}}return{retryable:!1,empty:!1,filtered:!1}}async function h(a){let b=(a.headers.get("content-type")||"").toLowerCase();if(!b.includes("text/event-stream")&&!b.includes("stream")){var c;let b=await a.text(),d=null;try{d=JSON.parse(b)}catch{}if(d){let{retryable:a}=g(d);if(a)return{action:"retry",meta:g(d)}}return{action:"commit",response:new Response(b,{status:(c=a).status,statusText:c.statusText,headers:c.headers})}}if(!a.body)return{action:"commit",response:a};let d=a.body.getReader(),e=function(){let a="",b=!1,c=!1,d=!1,e=new TextEncoder,g=new TextDecoder,h=[];function i(a){let d,e=a.trim();if(!e.startsWith("data:"))return;let g=e.slice(5).trim();if(!g)return;if("[DONE]"===g){c=!0;return}try{d=JSON.parse(g)}catch{return}let h=function(a){if(!a||"object"!=typeof a)return{valuable:!1,terminal:!1,filtered:!1};let b=Array.isArray(a.choices)?a.choices[0]:void 0;if(b){let a=b.delta||{},c="string"==typeof a.content&&""!==a.content,d="string"==typeof a.reasoning_content&&""!==a.reasoning_content||"string"==typeof a.reasoning&&""!==a.reasoning,e=Array.isArray(a.tool_calls)&&a.tool_calls.some(a=>a?.function?.arguments&&""!==a.function.arguments||a?.function?.name||a?.id),g=c||d||e;return b.finish_reason?{valuable:g,terminal:!0,filtered:f(b.finish_reason)}:{valuable:g,terminal:!1,filtered:!1}}if("response.completed"===a.type||"response.incomplete"===a.type){let b=Array.isArray(a.response?.output)?a.response.output:[],c=Array.isArray(a.response?.output_text)&&""!==a.response.output_text.join("")||b.some(a=>Array.isArray(a?.content)?a.content.some(a=>a?.text):"string"==typeof a?.text&&""!==a.text),d=b.some(a=>a?.type==="function_call"||a?.type==="custom_tool_call");return{valuable:c||d,terminal:!0,filtered:!1}}if("response.output_text.delta"===a.type||"response.reasoning_summary_text.delta"===a.type||"response.reason_summary_text.delta"===a.type||"response.function_call_arguments.delta"===a.type)return{valuable:"string"==typeof a.delta&&""!==a.delta,terminal:!1,filtered:!1};if("response.output_item.added"===a.type){let b=a.item?.type;return{valuable:"function_call"===b||"custom_tool_call"===b||"reasoning"===b,terminal:!1,filtered:!1}}if("content_block_delta"===a.type){let b=a.delta||{};return{valuable:"string"==typeof b.text&&""!==b.text||"string"==typeof b.thinking&&""!==b.thinking||"string"==typeof b.partial_json&&""!==b.partial_json,terminal:!1,filtered:!1}}if("message_delta"===a.type)return{valuable:!1,terminal:!0,filtered:f(a.delta?.stop_reason)};let c=Array.isArray(a.candidates)?a.candidates[0]:void 0;if(c){let a=c.content?.parts,b=Array.isArray(a)&&a.some(a=>"string"==typeof a?.text&&""!==a.text||a?.functionCall||a?.inlineData||a?.executableCode);return c.finishReason?{valuable:b,terminal:!0,filtered:f(c.finishReason)}:{valuable:b,terminal:!1,filtered:!1}}return{valuable:!1,terminal:!1,filtered:!1}}(d);h.valuable&&(b=!0),h.terminal&&(c=!0,h.filtered)}return{push(f){if(d)return{kind:"passthrough"};let j="string"==typeof f?e.encode(f):f;h.push(j);let k=(a+=g.decode(j,{stream:!0})).split("\n");for(let b of(a=k.pop()||"",k))i(b);return b?(d=!0,{kind:"commit"}):c?(d=!0,{kind:"retry"}):{kind:"buffered"}},finish:()=>((a+=g.decode())&&(i(a),a=""),d)?{kind:"passthrough"}:(d=!0,b?{kind:"commit"}:{kind:"retry"}),get bufferedBytes(){return h}}}(),h=null;for(;;){let{value:a,done:b}=await d.read();if(a){let b=e.push(a);if("commit"===b.kind){h={kind:"commit"};break}if("retry"===b.kind){h={kind:"retry"};break}continue}if(b){h={kind:"retry"===e.finish().kind?"retry":"commit"};break}}if("retry"===h.kind){try{for(;;){let{done:a}=await d.read();if(a)break}}catch{}return{action:"retry"}}let i=e.bufferedBytes;return{action:"commit",response:new Response(new ReadableStream({async start(a){for(let b of i)a.enqueue(b);try{for(;;){let{value:b,done:c}=await d.read();if(c)break;b&&a.enqueue(b)}}catch(b){a.error(b);return}a.close()},async cancel(a){try{await d.cancel(a)}catch{}}}),{status:a.status,statusText:a.statusText,headers:a.headers})}}var i=c(43659),j=c(66306),k=c(26922);let l=new Set(["vision","pdf","audioInput","videoInput"]);function m(a){return String(a||"").split("/")[0]}let n="[Called tools: ",o="[Tool result: ";function p(a){return a.filter(a=>a).map(a=>{if("tool"===a.role||"function"===a.role)return{role:"assistant",content:`${o}${(0,k.kU)(a.content)||String(a.content??"")}]`};if("assistant"===a.role&&Array.isArray(a.tool_calls)){let{tool_calls:b,...c}=a,d=b.map(a=>a?.function?.name||a?.name||"tool").join(", "),e=(0,k.kU)(c.content)||("string"==typeof c.content?c.content:"");return{...c,content:`${e}${e?"\n":""}${n}${d}]`}}if(Array.isArray(a.content)){let b=a.content.some(a=>"tool_use"===a.type),c=a.content.some(a=>"tool_result"===a.type);if(b||c){let b=[],c=[],d=[];for(let e of a.content)"text"===e.type&&e.text&&b.push(e.text),"tool_use"===e.type&&c.push(e.name||"tool"),"tool_result"===e.type&&d.push((0,k.kU)(e.content)||String(e.content??""));let{...e}=a,f=b.join("\n");return c.length>0&&(f=`${f}${f?"\n":""}${n}${c.join(", ")}]`),d.length>0&&(f=`${f}${f?"\n":""}${o}${d.join("\n")}]`),{...e,content:f}}}return a})}let q=new Map;function r(a){if(!Array.isArray(a)||0===a.length)return[];let b=a=>"assistant"===a||"model"===a,c=a.length-1;for(;c>=0&&!b(a[c]?.role);)c--;return a.slice(c+1)}function s(a){let b=new Set;if(!a||"object"!=typeof a)return b;let c=a=>{"string"==typeof a&&(a.startsWith("image/")?b.add("vision"):"application/pdf"===a?b.add("pdf"):a.startsWith("audio/")?b.add("audioInput"):a.startsWith("video/")&&b.add("videoInput"))},d=a=>{if(!a||"object"!=typeof a)return;let d=a.type;if(("image_url"===d||"image"===d||"input_image"===d)&&b.add("vision"),("input_audio"===d||"audio_url"===d||"audio"===d)&&b.add("audioInput"),("input_video"===d||"video_url"===d||"video"===d)&&b.add("videoInput"),"file"===d||"document"===d||"input_file"===d){let d=null;a.input_audio?.format?d=`audio/${a.input_audio.format}`:a.file?.file_data?d=String(a.file.file_data).match(/^data:([^;,]+)/)?.[1]:a.source?.media_type?d=a.source.media_type:a.source?.data&&(d=String(a.source.data).match(/^data:([^;,]+)/)?.[1]),d?c(d):b.add("pdf")}c(a.inlineData?.mimeType||a.fileData?.mimeType)},e=a=>{if(Array.isArray(a))for(let b of a)d(b)},f=a=>{if(!a||"object"!=typeof a)return;Array.isArray(a.images)&&a.images.length>0&&b.add("vision");let d=a.experimental_attachments||a.attachments;if(Array.isArray(d))for(let a of d){if(!a)continue;let d=a.contentType||a.mediaType||"string"==typeof a.url&&a.url.match(/^data:([^;,]+)/)?.[1];d?c(d):(a.url||a.data)&&b.add("vision")}(a.image_url||a.image)&&b.add("vision"),(a.audio_url||a.audio)&&b.add("audioInput"),e(a.content),"string"==typeof a.content&&(a.content.includes("data:image/")?b.add("vision"):a.content.includes("data:audio/")?b.add("audioInput"):a.content.includes("data:application/pdf")&&b.add("pdf"))};for(let b of r(a.messages))f(b);for(let b of r(a.input))e(b.content);for(let b of r(a.contents||a.request?.contents))e(b.parts);return b}function t(a){a?q.delete(a):q.clear()}function u(a,b){if(a.includes("/"))return null;let c=(Array.isArray(b)?b:b?.combos||[]).find(b=>b.name===a);return c&&c.models&&c.models.length>0?function(a,b){if(!Array.isArray(a)||!Array.isArray(b)||0===b.length)return a;let c=new Set(b);return a.filter(a=>!c.has(a))}(c.models,c.disabledModels):null}async function v({body:a,models:b,handleSingleModel:c,log:e,comboName:f,comboStrategy:g,comboStickyLimit:k=1,autoSwitch:n=!0,retryOnEmpty:o=!1,retryOnEmptyLimit:p=2}){let r=function(a,b,c,d=1){let e;if(!a||a.length<=1||"round-robin"!==c)return a;let f=b||"__default__",g=Number.isFinite(e=Number.parseInt(d,10))&&e>0?e:1,h=q.get(f),i="number"==typeof h?{index:h,consecutiveUseCount:0}:h||{index:0,consecutiveUseCount:0},j=i.index%a.length,k=function(a,b){let c=[...a];for(let a=0;a<b;a++){let a=c.shift();c.push(a)}return c}(a,j),l=i.consecutiveUseCount+1;return l>=g?q.set(f,{index:(j+1)%a.length,consecutiveUseCount:0}):q.set(f,{index:j,consecutiveUseCount:l}),k}(b,f,g,k);if(n){let b=s(a);if(b.size>0){let a=function(a,b){if(!b||0===b.size||!Array.isArray(a)||a.length<=1)return a;let c=[...b].filter(a=>l.has(a)),d=[...b].filter(a=>!l.has(a));return a.map((a,b)=>{let e,f,g,h;return{m:a,i:b,t:(f=(e="string"==typeof a?a.indexOf("/"):-1)>0?a.slice(0,e):"",g=e>0?a.slice(e+1):a,h=(0,j.nl)(f,g),c.every(a=>!0===h[a])?+!d.every(a=>!0===h[a]):2)}}).sort((a,b)=>a.t-b.t||a.i-b.i).map(a=>a.m)}(r,b);a[0]!==r[0]&&e.info("COMBO",`auto-switch for [${[...b].join(",")}] → ${a[0]}`),r=a}}let t=null,u=null,w=null,x=0;for(let b=0;b<r.length;b++){let f=r[b];e.info("COMBO",`Trying model ${b+1}/${r.length}: ${f}`);try{let g=await c(a,f);if(g.ok){if(b!==r.length-1&&(g.headers?.get?.("content-type")||"").includes("application/json"))try{let a=await g.clone().json();if(function(a){if(!a||"object"!=typeof a)return!1;if(Array.isArray(a.choices)){if(0===a.choices.length)return!0;let b=a.choices[0];if(!b)return!0;let c=b.message||b.delta,d=c?.content,e="string"==typeof d?d.trim().length>0:Array.isArray(d)&&d.length>0,f=Array.isArray(c?.tool_calls)&&c.tool_calls.length>0||!!c?.function_call,g="string"==typeof c?.reasoning_content&&c.reasoning_content.trim().length>0,h=b.finish_reason;if(!e&&!f&&!g&&("stop"!==h&&"length"!==h&&"tool_calls"!==h&&"function_call"!==h||"in_progress"===h||"incomplete"===h))return!0}if(Array.isArray(a.content)){let b=a.content.some(a=>"text"===a.type&&a.text?.trim().length>0||"tool_use"===a.type),c=a.stop_reason;if(!b&&(!c||"in_progress"===c||"incomplete"===c))return!0}return!1}(a)){e.warn("COMBO",`Model ${f} returned HTTP 200 with zero usable content, falling back to next model`),t="Zero usable content",w=200;continue}}catch{}let a=b<r.length-1;if(o&&a&&x<p&&function(a){let b=String(a?.headers?.get?.("content-type")||"").toLowerCase();return b.includes("event-stream")||b.includes("json")}(g)){let a=await h(g);if("retry"===a.action){x++,t="empty response (content filtered or zero output tokens)";let a=r[b+1],c=m(a)===m(f);e.warn("COMBO",`Model ${f} ended with an empty filtered answer, trying next`+(c?` (WARNING: ${a} is the same provider — likely the same filter)`:"")+` [empty-retry ${x}/${p}]`);continue}return e.info("COMBO",`Model ${f} succeeded`),a.response}return o&&a&&x>=p&&e.warn("COMBO",`Model ${f}: empty-retry budget (${p}) exhausted, returning response as-is`),e.info("COMBO",`Model ${f} succeeded`),g}let i=g.statusText||"",j=null;try{let a=await g.clone().json();i=a?.error?.message||a?.error||a?.message||i,j=a?.retryAfter||null}catch{}if(j&&(!u||new Date(j)<new Date(u))&&(u=j),"string"!=typeof i)try{i=JSON.stringify(i)}catch{i=String(i)}let{shouldFallback:k,cooldownMs:l}=(0,d.hk)(g.status,i,0,m(f));if(!k)return e.warn("COMBO",`Model ${f} failed (no fallback)`,{status:g.status}),g;l&&l>0&&l<=5e3&&(503===g.status||502===g.status||504===g.status)&&(e.info("COMBO",`Model ${f} transient ${g.status}, waiting ${l}ms before next`),await new Promise(a=>setTimeout(a,l))),t=i||String(g.status),w||(w=g.status),e.warn("COMBO",`Model ${f} failed, trying next`,{status:g.status})}catch(a){t=a.message||String(a),w||(w=500),e.warn("COMBO",`Model ${f} threw error, trying next`,{error:t})}}let y=t&&t.toLowerCase().includes("no credentials")?503:w||503,z=(0,d.Hu)(t||"All combo models unavailable");if(u){let a=(0,d.Qo)(u);return e.warn("COMBO",`All models failed | ${z} (${a})`),(0,i.wO)(y,z,u,a)}return e.warn("COMBO",`All models failed | ${z}`),new Response(JSON.stringify({error:{message:z}}),{status:y,headers:{"Content-Type":"application/json"}})}let w={minPanel:2,stragglerGraceMs:8e3,panelHardTimeoutMs:9e4};async function x({body:a,models:b,handleSingleModel:c,log:d,comboName:e,judgeModel:f,tuning:g}){var h;let i,j,l=Array.isArray(b)?b.filter(Boolean):[];if(0===l.length)return new Response(JSON.stringify({error:{message:"Fusion combo has no models"}}),{status:400,headers:{"Content-Type":"application/json"}});if(1===l.length)return c(a,l[0]);let m={...w,...g||{}},n=Math.min(Math.max(2,m.minPanel),l.length),o=f&&f.trim()?f.trim():l[0];d.info("FUSION",`Combo "${e}" | panel=${l.length} [${l.join(", ")}] | judge=${o} | quorum=${n}`);let{tools:q,tool_choice:r,stream_options:s,...t}=a,u={...t,stream:!1};Array.isArray(u.messages)?u.messages=p(u.messages):Array.isArray(u.input)&&(u.input=p(u.input));let v=Date.now(),y=l.map(a=>{var b,d;return b=c(u,a,!0),d=m.panelHardTimeoutMs,new Promise(a=>{let c=setTimeout(()=>a({__timeout:!0}),d);Promise.resolve(b).then(b=>{clearTimeout(c),a(b)}).catch(b=>{clearTimeout(c),a({__error:b})})})}),z=await function(a,{minPanel:b,stragglerGraceMs:c,panelHardTimeoutMs:d}){return new Promise(e=>{let f=Array(a.length),g=0,h=0,i=!1,j=null,k=()=>{i||(i=!0,clearTimeout(l),j&&clearTimeout(j),e(f))},l=setTimeout(k,d);a.forEach((d,e)=>{Promise.resolve(d).then(a=>{f[e]=a}).catch(a=>{f[e]={__error:a}}).finally(()=>{if(g++,f[e]&&f[e].ok&&h++,g===a.length)return k();h>=b&&!j&&(j=setTimeout(k,c))})})})}(y,{...m,minPanel:n});d.info("FUSION",`fan-out collected in ${Date.now()-v}ms`);let A=[];for(let a=0;a<z.length;a++){let b=z[a],c=l[a];if(!b){d.warn("FUSION",`Panel ${c} dropped (straggler/timeout)`);continue}if(b.__timeout){d.warn("FUSION",`Panel ${c} timed out`);continue}if(b.__error){d.warn("FUSION",`Panel ${c} threw`,{error:b.__error?.message||String(b.__error)});continue}if(!b.ok){d.warn("FUSION",`Panel ${c} failed`,{status:b.status});continue}try{let a=await b.clone().json(),e=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];if(b){let a=b.message??b.delta??{},c=(0,k.kU)(a.content);if(c.trim())return c;if("string"==typeof b.text&&b.text.trim())return b.text}let c=(0,k.kU)(a.content);if(c.trim())return c;let d=a.candidates?.[0]?.content?.parts;if(Array.isArray(d)){let a=d.map(a=>a?.text||"").join("");if(a.trim())return a}if(Array.isArray(a.output)){let b=a.output.flatMap(a=>Array.isArray(a.content)?a.content.map(a=>a?.text||""):[]).join("");if(b.trim())return b}return""}(a);e?(A.push({model:c,text:e}),d.info("FUSION",`Panel ${c} ok (${e.length} chars)`)):d.warn("FUSION",`Panel ${c} returned empty content`)}catch(a){d.warn("FUSION",`Panel ${c} unparseable`,{error:a.message||String(a)})}}if(0===A.length)return d.warn("FUSION","All panel models failed"),new Response(JSON.stringify({error:{message:"All fusion panel models failed"}}),{status:503,headers:{"Content-Type":"application/json"}});if(1===A.length)return d.info("FUSION",`Only ${A[0].model} succeeded — answering directly (no fusion)`),c(a,A[0].model);let B=(i=A.map((a,b)=>`[Source ${b+1}]
2
2
  ${a.text}`).join("\n\n"),h=[`You are the JUDGE in a model-fusion panel. ${A.length} expert models independently answered the user's most recent request. Their responses are below, anonymized by source.`,"\nDo NOT mention that multiple models were used, and do NOT refer to the sources. Produce ONE authoritative final answer addressed directly to the user.\n\nFirst, internally analyze the panel along these dimensions: consensus (points most sources agree on — treat as higher-confidence), contradictions (where they disagree — resolve with your own judgment), partial coverage, unique insights only one source surfaced, and blind spots every source missed. Then write the best possible final answer grounded in that analysis — more complete and correct than any single response, with no filler.\n\n=== PANEL RESPONSES ===",i,"=== END PANEL RESPONSES ===\n\nNow write the final answer to the user's original request."].join("\n"),j={...a},Array.isArray(a.messages)?j.messages=[...a.messages,{role:"user",content:h}]:Array.isArray(a.input)?j.input=[...a.input,{role:"user",content:h}]:Array.isArray(a.contents)?j.contents=[...a.contents,{role:"user",parts:[{text:h}]}]:j.messages=[{role:"user",content:h}],j);return d.info("FUSION",`Judging ${A.length} answers with ${o}`),c(B,o)}}};
@@ -1 +1 @@
1
- "use strict";exports.id=3662,exports.ids=[3662],exports.modules={3662:(a,b,c)=>{c.d(b,{$e:()=>i,AZ:()=>m,Dt:()=>k,EQ:()=>f,LY:()=>d,O:()=>e,X8:()=>j,fh:()=>h,qS:()=>o,t2:()=>l,wf:()=>g,yD:()=>n});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Not found (wrong endpoint path, or the model does not exist)",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=864e5,j={short:6e4,long:6e5},k=3e5,l=[{provider:"codex",text:"model is not supported when using codex with a chatgpt account",cooldownMs:18e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"unapproved channel",channelScope:!0,cooldownMs:j.short},{text:"illegal api invocation",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"conversation id missing",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"request illegal",channelScope:!0,cooldownMs:j.short},{text:"improperly formed request",cooldownMs:12e4},{text:"mimo desktop account",cooldownMs:0},{text:"11133",cooldownMs:0},{text:"rejected by the model provider",cooldownMs:0},{text:"请求体积已达极端量级",cooldownMs:0},{text:"extreme-size backstop",cooldownMs:0},{text:"real-name verification",cooldownMs:0},{text:"realname verification",cooldownMs:0},{text:"bind your alibaba cloud account",cooldownMs:0},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}],m=/real-name verification|realname|\bface verification\b|实名认证|bind your alibaba cloud account/i,n={"stepfun-plan-cn":"StepFun CN 的 Step Plan 免费套餐要求账号先完成实名(人脸)核验,未完成时上游一律拒绝,与本机额度、与 10Router 都无关。出路:1. 打开 https://account.stepfun.com/security?action=realname 完成人脸核验后重试(推荐);2. 或改用按量计费的 stepfun-cn 渠道(扣现金/代金券,无实名要求)。该账号不会被锁定,但在实名完成前每次调用都会得到这条提示。",modelscope:"ModelScope 魔搭要求账号先绑定阿里云账号(实名认证)才能使用免费推理 API。出路:打开 https://modelscope.cn/my/account 完成第三方账号「阿里云」绑定后重试。"},o="上游要求该账号先完成实名认证(real-name verification),未完成前所有调用都会被拒绝;请按上游提示的地址完成核验后重试。"}};
1
+ "use strict";exports.id=3662,exports.ids=[3662],exports.modules={3662:(a,b,c)=>{c.d(b,{$e:()=>i,AZ:()=>m,Dt:()=>k,EQ:()=>f,LY:()=>d,O:()=>e,X8:()=>j,fh:()=>h,qS:()=>o,t2:()=>l,wf:()=>g,yD:()=>n});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Not found (wrong endpoint path, or the model does not exist)",406:"Model not supported",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=864e5,j={short:6e4,long:6e5},k=3e5,l=[{provider:"codex",text:"model is not supported when using codex with a chatgpt account",cooldownMs:18e5},{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"unapproved channel",channelScope:!0,cooldownMs:j.short},{text:"illegal api invocation",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"conversation id missing",channelScope:!0,cooldownMs:j.short},{provider:"codebuddy-intl",text:"request illegal",channelScope:!0,cooldownMs:j.short},{text:"improperly formed request",cooldownMs:12e4},{text:"mimo desktop account",cooldownMs:0},{text:"11133",cooldownMs:0},{text:"rejected by the model provider",cooldownMs:0},{text:"请求体积已达极端量级",cooldownMs:0},{text:"extreme-size backstop",cooldownMs:0},{text:"real-name verification",cooldownMs:0},{text:"realname verification",cooldownMs:0},{text:"bind your alibaba cloud account",cooldownMs:0},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{status:401,cooldownMs:12e4},{status:402,cooldownMs:18e5},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:429,backoff:!0}],m=/real-name verification|realname|\bface verification\b|实名认证|bind your alibaba cloud account/i,n={"stepfun-plan-cn":"StepFun CN 的 Step Plan 免费套餐要求账号先完成实名(人脸)核验,未完成时上游一律拒绝,与本机额度、与 10Router 都无关。出路:1. 打开 https://account.stepfun.com/security?action=realname 完成人脸核验后重试(推荐);2. 或改用按量计费的 stepfun-cn 渠道(扣现金/代金券,无实名要求)。该账号不会被锁定,但在实名完成前每次调用都会得到这条提示。",modelscope:"ModelScope 魔搭要求账号先绑定阿里云账号(实名认证)才能使用免费推理 API。出路:打开 https://modelscope.cn/my/account 完成第三方账号「阿里云」绑定后重试。"},o="上游要求该账号先完成实名认证(real-name verification),未完成前所有调用都会被拒绝;请按上游提示的地址完成核验后重试。"}};