tokenhop 1.0.0 → 1.0.3

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 (622) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +4 -4
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +43 -43
  6. package/app/.next-cli-build/required-server-files.json +1 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  77. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  80. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  81. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  82. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js +1 -1
  83. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js.nft.json +1 -1
  84. package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page_client-reference-manifest.js +1 -1
  85. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  86. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  87. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  88. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  91. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  95. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  96. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  98. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  99. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  100. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  101. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
  102. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  103. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tool-settings/[toolId]/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tool-settings/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  117. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  122. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
  124. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +3 -3
  126. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  128. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  136. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  138. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  140. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  142. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  144. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  146. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  148. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js +1 -1
  154. package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js.nft.json +1 -1
  155. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  156. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
  158. package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  160. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  161. package/app/.next-cli-build/server/app/api/gateway/status/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  167. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/home/live-routes/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/home/quota/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/home/quota/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/home/summary/route.js.nft.json +1 -1
  173. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  179. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  190. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  191. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  192. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  226. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  227. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/settings/config/export/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/settings/config/import/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/settings/config/import/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/settings/environment/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/shell/savings-milestone/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/shell/summary/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/shell/summary/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/translator/send/route.js +9 -1
  282. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/translator/translate/route.js +9 -1
  284. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  290. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  292. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +9 -1
  294. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +9 -1
  296. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/usage/last-activity/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/usage/savings/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  308. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  313. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  314. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +9 -1
  319. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  320. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  321. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  325. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  326. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  331. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  332. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  337. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  338. package/app/.next-cli-build/server/app/api/v1/search/route.js +2 -2
  339. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  341. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  343. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  344. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  345. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  350. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  356. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  358. package/app/.next-cli-build/server/app/callback.html +1 -1
  359. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  360. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  361. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  362. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  363. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
  364. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +11 -11
  365. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +11 -11
  366. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +11 -11
  367. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  368. package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
  369. package/app/.next-cli-build/server/app/dashboard/combos.rsc +11 -11
  370. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +11 -11
  371. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +11 -11
  372. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  373. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  374. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
  375. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  376. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
  377. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  378. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
  379. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +11 -11
  380. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +11 -11
  381. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +11 -11
  382. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  383. package/app/.next-cli-build/server/app/dashboard/media-providers.html +1 -1
  384. package/app/.next-cli-build/server/app/dashboard/media-providers.rsc +10 -10
  385. package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/__PAGE__.segment.rsc +10 -10
  386. package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_full.segment.rsc +10 -10
  387. package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_tree.segment.rsc +2 -2
  388. package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
  389. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +11 -11
  390. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +11 -11
  391. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +11 -11
  392. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  393. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  394. package/app/.next-cli-build/server/app/dashboard/profile.rsc +10 -10
  395. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +10 -10
  396. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +10 -10
  397. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  398. package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
  399. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +11 -11
  400. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +11 -11
  401. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +11 -11
  402. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  403. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
  404. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +10 -10
  405. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +10 -10
  406. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +10 -10
  407. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  408. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
  409. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +10 -10
  410. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +10 -10
  411. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +10 -10
  412. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  413. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  414. package/app/.next-cli-build/server/app/dashboard/quota.rsc +11 -11
  415. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +11 -11
  416. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +11 -11
  417. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  418. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  423. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  424. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  425. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  426. package/app/.next-cli-build/server/app/dashboard/settings.html +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/settings.rsc +11 -11
  428. package/app/.next-cli-build/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +11 -11
  429. package/app/.next-cli-build/server/app/dashboard/settings.segments/_full.segment.rsc +11 -11
  430. package/app/.next-cli-build/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
  431. package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
  432. package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
  433. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
  434. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
  435. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  436. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  437. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +11 -11
  438. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +11 -11
  439. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +11 -11
  440. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  441. package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
  442. package/app/.next-cli-build/server/app/dashboard/translator.rsc +11 -11
  443. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +11 -11
  444. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +11 -11
  445. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  446. package/app/.next-cli-build/server/app/dashboard/ui-kit.html +1 -1
  447. package/app/.next-cli-build/server/app/dashboard/ui-kit.rsc +10 -10
  448. package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/!KGRhc2hib2FyZCk/dashboard/ui-kit/__PAGE__.segment.rsc +10 -10
  449. package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_full.segment.rsc +10 -10
  450. package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_tree.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  452. package/app/.next-cli-build/server/app/dashboard/usage.rsc +11 -11
  453. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +11 -11
  454. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +11 -11
  455. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  456. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  457. package/app/.next-cli-build/server/app/dashboard.rsc +11 -11
  458. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +11 -11
  459. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +11 -11
  460. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/index.html +1 -1
  462. package/app/.next-cli-build/server/app/index.rsc +5 -5
  463. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
  464. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  465. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  466. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  467. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/landing.html +1 -1
  470. package/app/.next-cli-build/server/app/landing.rsc +6 -6
  471. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
  472. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  473. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
  474. package/app/.next-cli-build/server/app/login/page.js +1 -1
  475. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  476. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  477. package/app/.next-cli-build/server/app/login.html +1 -1
  478. package/app/.next-cli-build/server/app/login.rsc +5 -5
  479. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  480. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  481. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  482. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/page.js +1 -1
  484. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  485. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  486. package/app/.next-cli-build/server/app/skills/[...slug]/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app-paths-manifest.json +4 -4
  488. package/app/.next-cli-build/server/chunks/1004.js +1 -0
  489. package/app/.next-cli-build/server/chunks/1152.js +1 -1
  490. package/app/.next-cli-build/server/chunks/1215.js +1 -0
  491. package/app/.next-cli-build/server/chunks/1336.js +1 -1
  492. package/app/.next-cli-build/server/chunks/1432.js +1 -1
  493. package/app/.next-cli-build/server/chunks/1533.js +1 -1
  494. package/app/.next-cli-build/server/chunks/2217.js +1 -1
  495. package/app/.next-cli-build/server/chunks/2380.js +7 -7
  496. package/app/.next-cli-build/server/chunks/24.js +1 -1
  497. package/app/.next-cli-build/server/chunks/2460.js +1 -1
  498. package/app/.next-cli-build/server/chunks/257.js +10 -0
  499. package/app/.next-cli-build/server/chunks/2592.js +1 -1
  500. package/app/.next-cli-build/server/chunks/2705.js +9 -0
  501. package/app/.next-cli-build/server/chunks/318.js +9 -16
  502. package/app/.next-cli-build/server/chunks/3593.js +1 -1
  503. package/app/.next-cli-build/server/chunks/3919.js +1 -1
  504. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  505. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  506. package/app/.next-cli-build/server/chunks/4125.js +1 -1
  507. package/app/.next-cli-build/server/chunks/4334.js +1 -1
  508. package/app/.next-cli-build/server/chunks/4406.js +2 -2
  509. package/app/.next-cli-build/server/chunks/4521.js +1 -1
  510. package/app/.next-cli-build/server/chunks/4730.js +1 -1
  511. package/app/.next-cli-build/server/chunks/4780.js +1 -1
  512. package/app/.next-cli-build/server/chunks/5055.js +1 -0
  513. package/app/.next-cli-build/server/chunks/5230.js +1 -0
  514. package/app/.next-cli-build/server/chunks/{1026.js → 5260.js} +1 -1
  515. package/app/.next-cli-build/server/chunks/5335.js +1 -0
  516. package/app/.next-cli-build/server/chunks/5559.js +9 -0
  517. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  518. package/app/.next-cli-build/server/chunks/5649.js +1 -0
  519. package/app/.next-cli-build/server/chunks/5765.js +1 -0
  520. package/app/.next-cli-build/server/chunks/5827.js +1 -0
  521. package/app/.next-cli-build/server/chunks/5869.js +9 -0
  522. package/app/.next-cli-build/server/chunks/5908.js +1 -0
  523. package/app/.next-cli-build/server/chunks/620.js +1 -0
  524. package/app/.next-cli-build/server/chunks/6252.js +1 -1
  525. package/app/.next-cli-build/server/chunks/6328.js +1 -0
  526. package/app/.next-cli-build/server/chunks/6355.js +1 -0
  527. package/app/.next-cli-build/server/chunks/6493.js +1 -0
  528. package/app/.next-cli-build/server/chunks/6496.js +1 -1
  529. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  530. package/app/.next-cli-build/server/chunks/7485.js +9 -0
  531. package/app/.next-cli-build/server/chunks/7616.js +1 -1
  532. package/app/.next-cli-build/server/chunks/7695.js +1 -0
  533. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  534. package/app/.next-cli-build/server/chunks/7819.js +1 -1
  535. package/app/.next-cli-build/server/chunks/7828.js +1 -1
  536. package/app/.next-cli-build/server/chunks/8171.js +1 -1
  537. package/app/.next-cli-build/server/chunks/8255.js +1 -1
  538. package/app/.next-cli-build/server/chunks/8261.js +1 -0
  539. package/app/.next-cli-build/server/chunks/8416.js +1 -1
  540. package/app/.next-cli-build/server/chunks/878.js +1 -0
  541. package/app/.next-cli-build/server/chunks/8895.js +13 -13
  542. package/app/.next-cli-build/server/chunks/8954.js +1 -0
  543. package/app/.next-cli-build/server/chunks/8988.js +1 -0
  544. package/app/.next-cli-build/server/chunks/9016.js +9 -0
  545. package/app/.next-cli-build/server/chunks/9243.js +1 -0
  546. package/app/.next-cli-build/server/chunks/9326.js +1 -0
  547. package/app/.next-cli-build/server/chunks/9343.js +1 -1
  548. package/app/.next-cli-build/server/chunks/9421.js +1 -1
  549. package/app/.next-cli-build/server/chunks/9489.js +3 -0
  550. package/app/.next-cli-build/server/chunks/9578.js +1 -1
  551. package/app/.next-cli-build/server/chunks/9594.js +1 -0
  552. package/app/.next-cli-build/server/chunks/965.js +1 -1
  553. package/app/.next-cli-build/server/chunks/9899.js +1 -1
  554. package/app/.next-cli-build/server/instrumentation.js +1 -1
  555. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  556. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  557. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  558. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  559. package/app/.next-cli-build/server/pages/404.html +1 -1
  560. package/app/.next-cli-build/server/pages/500.html +1 -1
  561. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  562. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  563. package/app/.next-cli-build/static/chunks/{198-145d0ed2ec3c54f5.js → 198-7c5bbea89ef8bc14.js} +1 -1
  564. package/app/.next-cli-build/static/chunks/{3670-e7a22341025498f8.js → 3670-d6dc44bc181c9b8a.js} +1 -1
  565. package/app/.next-cli-build/static/chunks/5014-a5d960f4c6bc6297.js +1 -0
  566. package/app/.next-cli-build/static/chunks/{6174.18e2c57e892d721a.js → 6174.a18fedfa3d765b1e.js} +1 -1
  567. package/app/.next-cli-build/static/chunks/6448-71a8c2ac8d9ecc09.js +1 -0
  568. package/app/.next-cli-build/static/chunks/7899-a12f962af02edf7f.js +1 -0
  569. package/app/.next-cli-build/static/chunks/8105-71d1aea9708976db.js +1 -0
  570. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-8147ae8fa9c04381.js → page-42bfc760fbea3b96.js} +1 -1
  571. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-9cbf62f78701882a.js → page-1df6ad7d9adfc2a7.js} +1 -1
  572. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-5f91e148400a241b.js → page-59ee0b412f972940.js} +3 -3
  573. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-dac4ab98fc595054.js → page-25d06b77bd1a5edb.js} +1 -1
  574. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-463f9fa33be9426a.js +1 -0
  575. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-06f4e52ee3b63f82.js → page-5bb99ecaf48bde39.js} +1 -1
  576. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ui-kit/{page-6c982cc50b6af101.js → page-1bc393f267badc04.js} +1 -1
  577. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-923f864ec0be0fc8.js +1 -0
  578. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-dd9d1e49b2f69197.js → layout-a94f45e334f1841b.js} +1 -1
  579. package/app/.next-cli-build/static/chunks/app/landing/{page-02b7bfebd65c41f1.js → page-98f05847e3372b16.js} +1 -1
  580. package/app/.next-cli-build/static/chunks/app/{layout-c266f1acedfb4651.js → layout-29d74e164758a126.js} +1 -1
  581. package/app/.next-cli-build/static/chunks/webpack-1e19a4b05298b49d.js +1 -0
  582. package/app/.next-cli-build/static/css/{9f0b95a0d0bc5e51.css → ffa1d9c3cbb4e959.css} +1 -1
  583. package/app/custom-server.js +0 -37
  584. package/app/package.json +4 -5
  585. package/app/server.js +1 -1
  586. package/app/src/lib/db/adapters/sqljsAdapter.js +39 -4
  587. package/app/src/lib/oauth/services/xai.js +19 -12
  588. package/app/src/shared/services/quotaAutoPing.js +43 -8
  589. package/app/src/shared/services/quotaSnapshotPoller.js +2 -1
  590. package/app/src/sse/services/backgroundTokenRefresh.js +13 -1
  591. package/package.json +1 -1
  592. package/src/cli/menus/combos.js +3 -1
  593. package/app/.next-cli-build/server/chunks/1764.js +0 -1
  594. package/app/.next-cli-build/server/chunks/2384.js +0 -1
  595. package/app/.next-cli-build/server/chunks/3093.js +0 -1
  596. package/app/.next-cli-build/server/chunks/3306.js +0 -1
  597. package/app/.next-cli-build/server/chunks/331.js +0 -1
  598. package/app/.next-cli-build/server/chunks/3414.js +0 -1
  599. package/app/.next-cli-build/server/chunks/3558.js +0 -1
  600. package/app/.next-cli-build/server/chunks/3586.js +0 -1
  601. package/app/.next-cli-build/server/chunks/3676.js +0 -1
  602. package/app/.next-cli-build/server/chunks/4037.js +0 -1
  603. package/app/.next-cli-build/server/chunks/4199.js +0 -2
  604. package/app/.next-cli-build/server/chunks/4278.js +0 -1
  605. package/app/.next-cli-build/server/chunks/6158.js +0 -1
  606. package/app/.next-cli-build/server/chunks/6354.js +0 -1
  607. package/app/.next-cli-build/server/chunks/6734.js +0 -1
  608. package/app/.next-cli-build/server/chunks/6769.js +0 -1
  609. package/app/.next-cli-build/server/chunks/7261.js +0 -1
  610. package/app/.next-cli-build/server/chunks/7901.js +0 -1
  611. package/app/.next-cli-build/server/chunks/8372.js +0 -1
  612. package/app/.next-cli-build/server/chunks/8635.js +0 -3
  613. package/app/.next-cli-build/server/chunks/994.js +0 -1
  614. package/app/.next-cli-build/static/chunks/5014-a441cde708542153.js +0 -1
  615. package/app/.next-cli-build/static/chunks/6448-4eabf683083596e6.js +0 -1
  616. package/app/.next-cli-build/static/chunks/7899-e6a70cb9d3684f7f.js +0 -1
  617. package/app/.next-cli-build/static/chunks/8105-5c7e7c73b4bd532d.js +0 -1
  618. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-9fadf2c38665c20c.js +0 -1
  619. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7571538830147099.js +0 -1
  620. package/app/.next-cli-build/static/chunks/webpack-187fa25c98ba99f3.js +0 -1
  621. /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_buildManifest.js +0 -0
  622. /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_ssgManifest.js +0 -0
@@ -10,4 +10,4 @@
10
10
  VALUES(?, ?, ?, ?, ?, ?)
11
11
  ON CONFLICT(id) DO UPDATE SET
12
12
  isActive=excluded.isActive, testStatus=excluded.testStatus,
13
- data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.isActive,c.testStatus,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,d.c)(),c=[],e=[];void 0!==a.isActive&&(c.push("isActive = ?"),e.push(+!!a.isActive)),a.testStatus&&(c.push("testStatus = ?"),e.push(a.testStatus));let f=`SELECT * FROM proxyPools${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,e).map(j);return g.sort((a,b)=>new Date(b.updatedAt||0)-new Date(a.updatedAt||0)),g}async function m(a){return j((await (0,d.c)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))}async function n(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:a.id||(0,i.A)(),name:a.name,proxyUrl:a.proxyUrl,noProxy:a.noProxy||"",type:a.type||"http",isActive:void 0===a.isActive||a.isActive,strictProxy:!0===a.strictProxy,testStatus:a.testStatus||"unknown",lastTestedAt:a.lastTestedAt||null,lastError:a.lastError||null,createdAt:c,updatedAt:c};return k(b,e),e}async function o(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM proxyPools WHERE id = ?",[a]);if(!d)return;let f={...j(d),...b,updatedAt:new Date().toISOString()};k(c,f),e=f}),e}async function p(a){let b=await (0,d.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM proxyPools WHERE id = ?",[a]);d&&(c=j(d),b.run("DELETE FROM proxyPools WHERE id = ?",[a]))}),c}var q=c(74452);async function r(){let a=await (0,d.c)(),b=a.all("SELECT apiKey, MAX(timestamp) AS lastUsed FROM usageHistory WHERE apiKey IS NOT NULL AND apiKey != '' GROUP BY apiKey"),c=new Date;c.setHours(0,0,0,0);let e=a.all("SELECT apiKey, COUNT(*) AS n FROM usageHistory WHERE apiKey IS NOT NULL AND apiKey != '' AND timestamp >= ? GROUP BY apiKey",[c.toISOString()]);return{lastUsed:Object.fromEntries(b.map(a=>[a.apiKey,a.lastUsed])),today:Object.fromEntries(e.map(a=>[a.apiKey,a.n]))}}var s=c(99703),t=c(1541),u=c(9460);let v=(0,c(22846).U)("cliToolSettings");async function w(a){return a?await v.get(a)||{}:await v.getAll()}async function x(a,b){await v.set(a,b||{})}async function y(a){await v.remove(a)}var z=c(97914);let A="disabledModels";async function B(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[A]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function C(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[A,a]),f=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[A,a,(0,e.s)(f)])})}async function D(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[A,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[A,a]),f=d&&(0,e.q)(d.value,[])||[],g=new Set(b),h=f.filter(a=>!g.has(a));0===h.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[A,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[A,a,(0,e.s)(h)])})}var E=c(67976);let F=null,G=0;async function H(){if(F&&Date.now()-G<5e3)return F;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return F={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},G=Date.now(),F;let e="false"!==process.env.OBSERVABILITY_ENABLED,f="boolean"==typeof b.requestLogsEnabled?b.requestLogsEnabled:null,g="boolean"==typeof b.enableObservability?b.enableObservability:null;F={enabled:!0===f||!0===g||null===f&&null===g&&e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{F={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return G=Date.now(),F}let I=[],J=null,K=!1;function L(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function M(){if(!K&&0!==I.length){K=!0;try{for(;I.length>0;){let[a,b]=await Promise.all([(0,d.c)(),H()]),c=I.splice(0,I.length);N(a,c,b)}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{K=!1}}}function N(a,b,c){a.transaction(()=>{for(let d of b){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let b={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:L(d.request,c.maxJsonSize),providerRequest:L(d.providerRequest,c.maxJsonSize),providerResponse:L(d.providerResponse,c.maxJsonSize),response:L(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};a.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[b.id,b.timestamp,b.provider,b.model,b.connectionId,b.status,(0,e.s)(b)])}let d=a.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&a.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}async function O(a){let b=await H();b.enabled&&(I.push(a),I.length>=b.batchSize?(J&&(clearTimeout(J),J=null),M().catch(a=>console.error("[requestDetailsRepo] flush err:",a))):J||(J=setTimeout(()=>{J=null,M().catch(()=>{})},b.flushIntervalMs)))}async function P(a={}){let b=await (0,d.c)(),c=[],f=[];a.provider&&(c.push("provider = ?"),f.push(a.provider)),a.model&&(c.push("model = ?"),f.push(a.model)),a.connectionId&&(c.push("connectionId = ?"),f.push(a.connectionId)),a.status&&(c.push("status = ?"),f.push(a.status)),a.startDate&&(c.push("timestamp >= ?"),f.push(new Date(a.startDate).toISOString())),a.endDate&&(c.push("timestamp <= ?"),f.push(new Date(a.endDate).toISOString()));let g=c.length?`WHERE ${c.join(" AND ")}`:"",h=b.get(`SELECT COUNT(*) as c FROM requestDetails ${g}`,f),i=h?h.c:0,j=a.page||1,k=a.pageSize||50,l=Math.ceil(i/k);return{details:b.all(`SELECT data FROM requestDetails ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`,[...f,k,(j-1)*k]).map(a=>(0,e.q)(a.data,{})),pagination:{page:j,pageSize:k,totalItems:i,totalPages:l,hasNext:j<l,hasPrev:j>1}}}async function Q(){return(await (0,d.c)()).all("SELECT DISTINCT provider FROM requestDetails WHERE provider IS NOT NULL ORDER BY provider ASC").map(a=>a.provider)}function R(){if(J&&(clearTimeout(J),J=null),0===I.length)return;let a=I.splice(0,I.length);try{N((0,d.r)(),a,F??{maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120})}catch(a){try{console.error("[requestDetailsRepo] Shutdown flush failed:",a)}catch{}}}(0,E.B)("requestDetails",R);let S=["beforeExit","SIGINT","SIGTERM","exit"],T=globalThis.__requestDetailsFlushSync;if(T)for(let a of S)process.off(a,T);for(let a of(globalThis.__requestDetailsFlushSync=R,S))process.on(a,R);async function U(){let a=await (0,d.c)(),{exportSettings:b}=await Promise.resolve().then(c.bind(c,42655)),f={settings:await b(),providerConnections:a.all("SELECT * FROM providerConnections").map(a=>({...(0,e.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt})),providerNodes:a.all("SELECT * FROM providerNodes").map(a=>({...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt})),proxyPools:a.all("SELECT * FROM proxyPools").map(a=>({...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt})),apiKeys:a.all("SELECT * FROM apiKeys").map(a=>({id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive,createdAt:a.createdAt})),combos:a.all("SELECT * FROM combos").map(a=>({id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),createdAt:a.createdAt,updatedAt:a.updatedAt})),modelAliases:{},customModels:[],mitmAlias:{},cliToolSettings:{},pricing:{}};for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'modelAliases'"))f.modelAliases[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'customModels'"))f.customModels.push((0,e.q)(b.value));for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'mitmAlias'"))f.mitmAlias[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'cliToolSettings'"))f.cliToolSettings[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'pricing'"))f.pricing[b.key]=(0,e.q)(b.value);return f}async function V(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid database payload");let b=await (0,d.c)();return b.transaction(()=>{for(let c of(b.run("DELETE FROM settings"),b.run("DELETE FROM providerConnections"),b.run("DELETE FROM providerNodes"),b.run("DELETE FROM proxyPools"),b.run("DELETE FROM apiKeys"),b.run("DELETE FROM combos"),b.run("DELETE FROM kv WHERE scope IN ('modelAliases', 'customModels', 'mitmAlias', 'cliToolSettings', 'pricing')"),a.settings&&b.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(a.settings)]),a.providerConnections||[])){let{id:a,provider:d,authType:f,name:g,email:h,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=c;b.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a,d,f||"oauth",g||null,h||null,i||null,+(!1!==j),(0,e.s)(m),k||new Date().toISOString(),l||new Date().toISOString()])}for(let c of a.providerNodes||[]){let{id:a,type:d,name:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,d||null,f||null,(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.proxyPools||[]){let{id:a,isActive:d,testStatus:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,+(!1!==d),f||"unknown",(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.apiKeys||[])b.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.key,c.name||null,c.machineId||null,+(!1!==c.isActive),c.createdAt||new Date().toISOString()]);for(let c of a.combos||[])b.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.name,c.kind||null,(0,e.s)(c.models||[]),c.createdAt||new Date().toISOString(),c.updatedAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.modelAliases||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[c,(0,e.s)(d)]);for(let c of a.customModels||[]){let a=`${c.providerAlias}|${c.id}|${c.type||"llm"}`;b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[a,(0,e.s)(c)])}for(let[c,d]of Object.entries(a.mitmAlias||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.cliToolSettings||{}))!d||"object"!=typeof d||Array.isArray(d)||b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('cliToolSettings', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.pricing||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[c,(0,e.s)(d||{})])}),await U()}},97914:(a,b,c)=>{c.d(b,{GY:()=>o,KJ:()=>l,VT:()=>n,getPricingForModel:()=>k,kc:()=>i,r4:()=>j,yF:()=>m});var d=c(36366),e=c(644);let f=(0,c(22846).U)("pricing"),g={value:null,expiresAt:0};function h(){g={value:null,expiresAt:0}}async function i(){return await f.getAll()}async function j(){let a=Date.now();if(g.value&&g.expiresAt>a)return g.value;let b=await i(),{PROVIDER_PRICING:d}=await c.e(8920).then(c.bind(c,58920)),e={};for(let[a,c]of Object.entries(d))if(e[a]={...c},b[a])for(let[c,d]of Object.entries(b[a]))e[a][c]=e[a][c]?{...e[a][c],...d}:d;for(let[a,c]of Object.entries(b))if(e[a])for(let[b,d]of Object.entries(c))e[a][b]||(e[a][b]=d);else e[a]={...c};return g={value:e,expiresAt:a+5e3},e}async function k(a,b){if(!b)return null;let d=await i(),e=a&&d[a]?.[b],{getPricingForModel:f}=await c.e(8920).then(c.bind(c,58920)),g=f(a,b);return e&&g?{...g,...e}:e||g}async function l(a){let b=await (0,d.c)();return b.transaction(()=>{for(let[c,d]of Object.entries(a)){let a=b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[c]),f={...a&&(0,e.q)(a.value,{})||{}};for(let[a,b]of Object.entries(d))f[a]=b;b.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[c,(0,e.s)(f)])}}),h(),await i()}async function m(a,b){if(!a)return await i();let c=await (0,d.c)();return c.transaction(()=>{if(!b)return void c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]);let d=c.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[a]),f=d&&(0,e.q)(d.value,{})||{};delete f[b],0===Object.keys(f).length?c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]):c.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,(0,e.s)(f)])}),h(),await i()}async function n(){return await f.clear(),h(),{}}function o(){h()}}};
13
+ data=excluded.data, updatedAt=excluded.updatedAt`,[c.id,c.isActive,c.testStatus,c.data,c.createdAt,c.updatedAt])}async function l(a={}){let b=await (0,d.c)(),c=[],e=[];void 0!==a.isActive&&(c.push("isActive = ?"),e.push(+!!a.isActive)),a.testStatus&&(c.push("testStatus = ?"),e.push(a.testStatus));let f=`SELECT * FROM proxyPools${c.length?` WHERE ${c.join(" AND ")}`:""}`,g=b.all(f,e).map(j);return g.sort((a,b)=>new Date(b.updatedAt||0)-new Date(a.updatedAt||0)),g}async function m(a){return j((await (0,d.c)()).get("SELECT * FROM proxyPools WHERE id = ?",[a]))}async function n(a){let b=await (0,d.c)(),c=new Date().toISOString(),e={id:a.id||(0,i.A)(),name:a.name,proxyUrl:a.proxyUrl,noProxy:a.noProxy||"",type:a.type||"http",isActive:void 0===a.isActive||a.isActive,strictProxy:!0===a.strictProxy,testStatus:a.testStatus||"unknown",lastTestedAt:a.lastTestedAt||null,lastError:a.lastError||null,createdAt:c,updatedAt:c};return k(b,e),e}async function o(a,b){let c=await (0,d.c)(),e=null;return c.transaction(()=>{let d=c.get("SELECT * FROM proxyPools WHERE id = ?",[a]);if(!d)return;let f={...j(d),...b,updatedAt:new Date().toISOString()};k(c,f),e=f}),e}async function p(a){let b=await (0,d.c)(),c=null;return b.transaction(()=>{let d=b.get("SELECT * FROM proxyPools WHERE id = ?",[a]);d&&(c=j(d),b.run("DELETE FROM proxyPools WHERE id = ?",[a]))}),c}var q=c(74452);async function r(){let a=await (0,d.c)(),b=a.all("SELECT apiKey, MAX(timestamp) AS lastUsed FROM usageHistory WHERE apiKey IS NOT NULL AND apiKey != '' GROUP BY apiKey"),c=new Date;c.setHours(0,0,0,0);let e=a.all("SELECT apiKey, COUNT(*) AS n FROM usageHistory WHERE apiKey IS NOT NULL AND apiKey != '' AND timestamp >= ? GROUP BY apiKey",[c.toISOString()]);return{lastUsed:Object.fromEntries(b.map(a=>[a.apiKey,a.lastUsed])),today:Object.fromEntries(e.map(a=>[a.apiKey,a.n]))}}var s=c(99703),t=c(1541),u=c(9460);let v=(0,c(22846).U)("cliToolSettings");async function w(a){return a?await v.get(a)||{}:await v.getAll()}async function x(a,b){await v.set(a,b||{})}async function y(a){await v.remove(a)}var z=c(97914);let A="disabledModels";async function B(){let a=(await (0,d.c)()).all("SELECT key, value FROM kv WHERE scope = ?",[A]),b={};for(let c of a)b[c.key]=(0,e.q)(c.value,[]);return b}async function C(a,b){if(!a||!Array.isArray(b))return;let c=await (0,d.c)();c.transaction(()=>{let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[A,a]),f=[...new Set([...d&&(0,e.q)(d.value,[])||[],...b])];c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[A,a,(0,e.s)(f)])})}async function D(a,b){if(!a)return;let c=await (0,d.c)();c.transaction(()=>{if(!Array.isArray(b)||0===b.length)return void c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[A,a]);let d=c.get("SELECT value FROM kv WHERE scope = ? AND key = ?",[A,a]),f=d&&(0,e.q)(d.value,[])||[],g=new Set(b),h=f.filter(a=>!g.has(a));0===h.length?c.run("DELETE FROM kv WHERE scope = ? AND key = ?",[A,a]):c.run("INSERT INTO kv(scope, key, value) VALUES(?, ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[A,a,(0,e.s)(h)])})}var E=c(67976);let F=null,G=0;async function H(){if(F&&Date.now()-G<5e3)return F;try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a(),d=process.env.ENABLE_REQUEST_LOGS;if(void 0!==d)return F={enabled:"true"===d.toLowerCase(),maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))},G=Date.now(),F;let e="false"!==process.env.OBSERVABILITY_ENABLED,f="boolean"==typeof b.requestLogsEnabled?b.requestLogsEnabled:null,g="boolean"==typeof b.enableObservability?b.enableObservability:null;F={enabled:!0===f||!0===g||null===f&&null===g&&e,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{F={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return G=Date.now(),F}let I=[],J=null,K=!1;function L(a,b){let c=JSON.stringify(a||{});return c.length>b?{_truncated:!0,_originalSize:c.length,_preview:c.substring(0,200)}:a||{}}async function M(){if(!K&&0!==I.length){K=!0;try{for(;I.length>0;){let[a,b]=await Promise.all([(0,d.c)(),H()]),c=I.splice(0,I.length);N(a,c,b)}}catch(a){console.error("[requestDetailsRepo] Batch write failed:",a)}finally{K=!1}}}function N(a,b,c){a.transaction(()=>{for(let d of b){d.id||(d.id=function(a){let b=new Date().toISOString(),c=Math.random().toString(36).substring(2,8),d=a?a.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${b}-${c}-${d}`}(d.model)),d.timestamp||(d.timestamp=new Date().toISOString()),d.request?.headers&&(d.request.headers=function(a){if(!a||"object"!=typeof a)return{};let b=["authorization","x-api-key","cookie","token","api-key"],c={...a};for(let a of Object.keys(c))b.some(b=>a.toLowerCase().includes(b))&&delete c[a];return c}(d.request.headers));let b={id:d.id,provider:d.provider||null,model:d.model||null,connectionId:d.connectionId||null,timestamp:d.timestamp,status:d.status||null,latency:d.latency||{},tokens:d.tokens||{},request:L(d.request,c.maxJsonSize),providerRequest:L(d.providerRequest,c.maxJsonSize),providerResponse:L(d.providerResponse,c.maxJsonSize),response:L(d.response,c.maxJsonSize),pxpipe:d.pxpipe||void 0};a.run("INSERT INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?) ON CONFLICT(id) DO UPDATE SET timestamp = excluded.timestamp, provider = excluded.provider, model = excluded.model, connectionId = excluded.connectionId, status = excluded.status, data = excluded.data",[b.id,b.timestamp,b.provider,b.model,b.connectionId,b.status,(0,e.s)(b)])}let d=a.get("SELECT COUNT(*) as c FROM requestDetails");d&&d.c>c.maxRecords&&a.run("DELETE FROM requestDetails WHERE id IN (SELECT id FROM requestDetails ORDER BY timestamp ASC LIMIT ?)",[d.c-c.maxRecords])})}async function O(a){let b=await H();b.enabled&&(I.push(a),I.length>=b.batchSize?(J&&(clearTimeout(J),J=null),M().catch(a=>console.error("[requestDetailsRepo] flush err:",a))):J||(J=setTimeout(()=>{J=null,M().catch(()=>{})},b.flushIntervalMs)))}async function P(a={}){let b=await (0,d.c)(),c=[],f=[];a.provider&&(c.push("provider = ?"),f.push(a.provider)),a.model&&(c.push("model = ?"),f.push(a.model)),a.connectionId&&(c.push("connectionId = ?"),f.push(a.connectionId)),a.status&&(c.push("status = ?"),f.push(a.status)),a.startDate&&(c.push("timestamp >= ?"),f.push(new Date(a.startDate).toISOString())),a.endDate&&(c.push("timestamp <= ?"),f.push(new Date(a.endDate).toISOString()));let g=c.length?`WHERE ${c.join(" AND ")}`:"",h=b.get(`SELECT COUNT(*) as c FROM requestDetails ${g}`,f),i=h?h.c:0,j=a.page||1,k=a.pageSize||50,l=Math.ceil(i/k);return{details:b.all(`SELECT data FROM requestDetails ${g} ORDER BY timestamp DESC LIMIT ? OFFSET ?`,[...f,k,(j-1)*k]).map(a=>(0,e.q)(a.data,{})),pagination:{page:j,pageSize:k,totalItems:i,totalPages:l,hasNext:j<l,hasPrev:j>1}}}async function Q(){return(await (0,d.c)()).all("SELECT DISTINCT provider FROM requestDetails WHERE provider IS NOT NULL ORDER BY provider ASC").map(a=>a.provider)}function R(){if(J&&(clearTimeout(J),J=null),0===I.length)return;let a=I.splice(0,I.length);try{N((0,d.r)(),a,F??{maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120})}catch(a){try{console.error("[requestDetailsRepo] Shutdown flush failed:",a)}catch{}}}(0,E.B)("requestDetails",R);let S=["beforeExit","SIGINT","SIGTERM","exit"],T=globalThis.__requestDetailsFlushSync;if(T)for(let a of S)process.off(a,T);for(let a of(globalThis.__requestDetailsFlushSync=R,S))process.on(a,R);async function U(){let a=await (0,d.c)(),{exportSettings:b}=await Promise.resolve().then(c.bind(c,42655)),f={settings:await b(),providerConnections:a.all("SELECT * FROM providerConnections").map(a=>({...(0,e.q)(a.data,{}),id:a.id,provider:a.provider,authType:a.authType,name:a.name,email:a.email,priority:a.priority,isActive:1===a.isActive,createdAt:a.createdAt,updatedAt:a.updatedAt})),providerNodes:a.all("SELECT * FROM providerNodes").map(a=>({...(0,e.q)(a.data,{}),id:a.id,type:a.type,name:a.name,createdAt:a.createdAt,updatedAt:a.updatedAt})),proxyPools:a.all("SELECT * FROM proxyPools").map(a=>({...(0,e.q)(a.data,{}),id:a.id,isActive:1===a.isActive,testStatus:a.testStatus,createdAt:a.createdAt,updatedAt:a.updatedAt})),apiKeys:a.all("SELECT * FROM apiKeys").map(a=>({id:a.id,key:a.key,name:a.name,machineId:a.machineId,isActive:1===a.isActive,createdAt:a.createdAt})),combos:a.all("SELECT * FROM combos").map(a=>({id:a.id,name:a.name,kind:a.kind,models:(0,e.q)(a.models,[]),createdAt:a.createdAt,updatedAt:a.updatedAt})),modelAliases:{},disabledModels:{},customModels:[],mitmAlias:{},cliToolSettings:{},pricing:{}};for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'modelAliases'"))f.modelAliases[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'disabledModels'")){let a=(0,e.q)(b.value,[]);f.disabledModels[b.key]=Array.isArray(a)?a:[]}for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'customModels'"))f.customModels.push((0,e.q)(b.value));for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'mitmAlias'"))f.mitmAlias[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'cliToolSettings'"))f.cliToolSettings[b.key]=(0,e.q)(b.value);for(let b of a.all("SELECT key, value FROM kv WHERE scope = 'pricing'"))f.pricing[b.key]=(0,e.q)(b.value);return f}async function V(a){if(!a||"object"!=typeof a||Array.isArray(a))throw Error("Invalid database payload");if(Object.hasOwn(a,"disabledModels")){let b=a.disabledModels;if(!b||"object"!=typeof b||![Object.prototype,null].includes(Object.getPrototypeOf(b)))throw Error("disabledModels must be an object");for(let a of Object.values(b))if(!Array.isArray(a)||a.some(a=>"string"!=typeof a))throw Error("disabledModels entries must be arrays of strings")}let b=await (0,d.c)();return b.transaction(()=>{for(let c of(b.run("DELETE FROM settings"),b.run("DELETE FROM providerConnections"),b.run("DELETE FROM providerNodes"),b.run("DELETE FROM proxyPools"),b.run("DELETE FROM apiKeys"),b.run("DELETE FROM combos"),b.run("DELETE FROM kv WHERE scope IN ('modelAliases', 'disabledModels', 'customModels', 'mitmAlias', 'cliToolSettings', 'pricing')"),a.settings&&b.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,e.s)(a.settings)]),a.providerConnections||[])){let{id:a,provider:d,authType:f,name:g,email:h,priority:i,isActive:j,createdAt:k,updatedAt:l,...m}=c;b.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[a,d,f||"oauth",g||null,h||null,i||null,+(!1!==j),(0,e.s)(m),k||new Date().toISOString(),l||new Date().toISOString()])}for(let c of a.providerNodes||[]){let{id:a,type:d,name:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,d||null,f||null,(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.proxyPools||[]){let{id:a,isActive:d,testStatus:f,createdAt:g,updatedAt:h,...i}=c;b.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[a,+(!1!==d),f||"unknown",(0,e.s)(i),g||new Date().toISOString(),h||new Date().toISOString()])}for(let c of a.apiKeys||[])b.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.key,c.name||null,c.machineId||null,+(!1!==c.isActive),c.createdAt||new Date().toISOString()]);for(let c of a.combos||[])b.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c.id,c.name,c.kind||null,(0,e.s)(c.models||[]),c.createdAt||new Date().toISOString(),c.updatedAt||new Date().toISOString()]);for(let[c,d]of Object.entries(a.modelAliases||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[c,(0,e.s)(d)]);for(let[c,d]of Object.entries(a.disabledModels||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[c,(0,e.s)(d)]);for(let c of a.customModels||[]){let a=`${c.providerAlias}|${c.id}|${c.type||"llm"}`;b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[a,(0,e.s)(c)])}for(let[c,d]of Object.entries(a.mitmAlias||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.cliToolSettings||{}))!d||"object"!=typeof d||Array.isArray(d)||b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('cliToolSettings', ?, ?)",[c,(0,e.s)(d||{})]);for(let[c,d]of Object.entries(a.pricing||{}))b.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[c,(0,e.s)(d||{})])}),await U()}},97914:(a,b,c)=>{c.d(b,{GY:()=>o,KJ:()=>l,VT:()=>n,getPricingForModel:()=>k,kc:()=>i,r4:()=>j,yF:()=>m});var d=c(36366),e=c(644);let f=(0,c(22846).U)("pricing"),g={value:null,expiresAt:0};function h(){g={value:null,expiresAt:0}}async function i(){return await f.getAll()}async function j(){let a=Date.now();if(g.value&&g.expiresAt>a)return g.value;let b=await i(),{PROVIDER_PRICING:d}=await c.e(8920).then(c.bind(c,58920)),e={};for(let[a,c]of Object.entries(d))if(e[a]={...c},b[a])for(let[c,d]of Object.entries(b[a]))e[a][c]=e[a][c]?{...e[a][c],...d}:d;for(let[a,c]of Object.entries(b))if(e[a])for(let[b,d]of Object.entries(c))e[a][b]||(e[a][b]=d);else e[a]={...c};return g={value:e,expiresAt:a+5e3},e}async function k(a,b){if(!b)return null;let d=await i(),e=a&&d[a]?.[b],{getPricingForModel:f}=await c.e(8920).then(c.bind(c,58920)),g=f(a,b);return e&&g?{...g,...e}:e||g}async function l(a){let b=await (0,d.c)();return b.transaction(()=>{for(let[c,d]of Object.entries(a)){let a=b.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[c]),f={...a&&(0,e.q)(a.value,{})||{}};for(let[a,b]of Object.entries(d))f[a]=b;b.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[c,(0,e.s)(f)])}}),h(),await i()}async function m(a,b){if(!a)return await i();let c=await (0,d.c)();return c.transaction(()=>{if(!b)return void c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]);let d=c.get("SELECT value FROM kv WHERE scope = 'pricing' AND key = ?",[a]),f=d&&(0,e.q)(d.value,{})||{};delete f[b],0===Object.keys(f).length?c.run("DELETE FROM kv WHERE scope = 'pricing' AND key = ?",[a]):c.run("INSERT INTO kv(scope, key, value) VALUES('pricing', ?, ?) ON CONFLICT(scope, key) DO UPDATE SET value = excluded.value",[a,(0,e.s)(f)])}),h(),await i()}async function n(){return await f.clear(),h(),{}}function o(){h()}}};
@@ -0,0 +1,3 @@
1
+ "use strict";exports.id=9489,exports.ids=[9489],exports.modules={3894:(a,b,c)=>{c.d(b,{F_:()=>g,Nc:()=>h,Qh:()=>t,Su:()=>q,ag:()=>o,kI:()=>p,rl:()=>u,sy:()=>s});var d=c(79646),e=c(33873),f=c.n(e);let g=["code","ml"],h={code:["tree-sitter","tree-sitter-language-pack"],ml:["torch","huggingface-hub"]},i="win32"===process.platform,j=i?"where":"which",k=i?[`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python313\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python312\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python311\\Scripts`,`${process.env.LOCALAPPDATA||""}\\Programs\\Python\\Python310\\Scripts`,`${process.env.APPDATA||""}\\Python\\Python313\\Scripts`]:["/usr/local/bin","/opt/homebrew/bin","/Library/Frameworks/Python.framework/Versions/3.13/bin","/Library/Frameworks/Python.framework/Versions/3.12/bin","/Library/Frameworks/Python.framework/Versions/3.11/bin","/Library/Frameworks/Python.framework/Versions/3.10/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],l=[...k,process.env.PATH||""].filter(Boolean).join(f().delimiter),m=["python3.13","python3.12","python3.11","python3.10","python3","python"],n=new Set(["localhost","127.0.0.1","::1","[::1]","0.0.0.0"]),o=process.env.HEADROOM_URL||"http://localhost:8787";function p(){try{let a=(0,d.execSync)(`${j} headroom`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function q(){let a=null;for(let b of function(){let a=[],b=p();if(b){let c=f().dirname(b);for(let b of i?["python.exe","python3.exe"]:["python3","python3.13","python"])a.push(f().join(c,b))}for(let b of k)if(b)for(let c of m)a.push(f().join(b,i?`${c}.exe`:c));return a.push(...m),a}())try{let c=(0,d.execSync)(`${b} --version`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:l}}).toString().trim().match(/(\d+)\.(\d+)/);if(!c)continue;let[e,f]=[parseInt(c[1],10),parseInt(c[2],10)];if(!(e>3||3===e&&f>=10))continue;a||(a=b);try{return(0,d.execFileSync)(b,["-m","pip","show","headroom-ai"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}),b}catch{}}catch{}return a}async function r(a){if(!a)return!1;let b=String(a).replace(/\/$/,"");try{return(await fetch(`${b}/health`,{signal:AbortSignal.timeout(1500)})).ok}catch{return!1}}function s(a){try{let b=new URL(a);return n.has(b.hostname)}catch{return!1}}async function t(a){let b=p(),c=q(),d=!!b,e=await r(a),f=s(a),g=d?u(c):{installed:!1,version:null,extras:{code:!1,ml:!1}};return{installed:d,path:b,running:e,python:c,localUrl:f,canStart:d&&f,version:g.version,extras:g.extras}}function u(a){let b=a||q();if(!b)return{installed:!1,version:null,extras:{code:!1,ml:!1}};try{let a=(0,d.execFileSync)(b,["-m","pip","list","--format=json","--disable-pip-version-check"],{stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:8e3,env:{...process.env,PATH:l}}).toString(),c=JSON.parse(a),e=new Set(c.map(a=>String(a.name||"").toLowerCase()));if(!e.has("headroom-ai"))return{installed:!1,version:null,extras:{code:!1,ml:!1}};let f=c.find(a=>a.name?.toLowerCase()==="headroom-ai")?.version||null,i={};for(let a of g)i[a]=h[a].some(a=>e.has(a));return{installed:!0,version:f,extras:i}}catch{return{installed:!1,version:null,extras:{code:!1,ml:!1}}}}},11720:(a,b,c)=>{c.d(b,{E8:()=>h,X8:()=>i});var d=c(70900);let e=null;async function f(a){try{let b=await a();(0,d.aj)(g(b))}catch{}}function g(a){let b={};for(let c of["retryPolicy","cooldowns","backoff","streamTimeouts"])a?.[c]!==void 0&&(b[c]=a[c]);return b}function h(a,b){!a||"object"!=typeof a||(Object.hasOwn(a,"retryPolicy")||Object.hasOwn(a,"cooldowns")||Object.hasOwn(a,"backoff")||Object.hasOwn(a,"streamTimeouts"))&&(0,d.aj)(g(b))}function i(a){return e??=f(a)}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(79421)},17603:(a,b,c)=>{c.d(b,{R8:()=>j,ar:()=>l,vB:()=>h});var d=c(24);let e=["vision","pdf","audioInput","videoInput"],f=new Set(e);function g(a,b){var c;let d=Array.isArray(c=b?.capacityAdapter?.[a])?{enabled:!0,roundRobin:!1,models:c.map(a=>a?.model||a).filter(Boolean)}:c&&"object"==typeof c?{enabled:!1!==c.enabled,roundRobin:!!c.roundRobin,models:Array.isArray(c.models)?c.models.filter(Boolean):[]}:{enabled:!1,roundRobin:!1,models:[]};return d.enabled&&0===d.models.length?{...d,models:["oc/mimo-v2.5-free"]}:d}function h(a,b){for(let c of[...a||[]].filter(a=>f.has(a))){let{enabled:a,models:d}=g(c,b);if(a&&0!==d.length)return function(a,b){let{enabled:c,roundRobin:d}=g(a,b);return c&&d?"round-robin":"fallback"}(c,b)}return"fallback"}function i(a,b){let c=a.indexOf("/"),e=c>0?a.slice(0,c):"",f=c>0?a.slice(c+1):a,g=(0,d.getCapabilitiesForModel)(e,f);return b.every(a=>!0===g[a])}function j(a,b,c){let d=[...b||[]].filter(a=>f.has(a));if(0===d.length||!Array.isArray(a)||0===a.length||a.some(a=>i(a,d)))return a;let h=(function(a,b=e){let c=new Set,d=[];for(let f of e){if(!b.includes(f))continue;let{enabled:e,models:h}=g(f,a);if(e)for(let a of h)c.has(a)||(c.add(a),d.push(a))}return d})(c,d).filter(b=>!a.includes(b)&&i(b,d));return 0===h.length?a:[...h,...a]}function k(a){return"string"==typeof a?a.length:Array.isArray(a)?a.reduce((a,b)=>a+("string"==typeof b?.text?b.text.length:50),0):0}function l(a,b){let c=new Set(b);return 0===c.size?a:(b,e,...f)=>{if(c.has(e)){let a=e.indexOf("/"),c=a>0?e.slice(0,a):"",f=a>0?e.slice(a+1):e,{contextWindow:g}=(0,d.getCapabilitiesForModel)(c,f);b=function(a,b){let c=Array.isArray(a.messages)?"messages":Array.isArray(a.input)?"input":Array.isArray(a.contents)?"contents":null;if(!c)return a;let d=a[c];if(!d||0===d.length)return a;let e=a=>"system"===a||"developer"===a,f=d.filter(a=>e(a?.role)),g=d.filter(a=>!e(a?.role));if(0===g.length)return a;let h=a=>"assistant"===a||"model"===a,i=g.length-1;for(;i>=0&&!h(g[i]?.role);)i--;let j=g.slice(i+1),l=g.slice(0,i+1);if(0===l.length)return a;let m=a=>a.content??a.parts,n=.8*(b||2e5)*4,o=l.slice(0,6),p=f.concat(o,j).reduce((a,b)=>a+k(m(b)),0);for(;p>n&&o.length>0;)p-=k(m(o.pop()));return o.length===l.length?a:{...a,[c]:[...f,...o,...j]}}(b,g)}return a(b,e,...f)}}},38775:(a,b,c)=>{c.d(b,{Xh:()=>i,d_:()=>k,mA:()=>j});var d=c(89718),e=c(40669),f=c(7819);let g={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},h=new Set(Object.keys(g));for(let a of f.default)for(let b of(h.add(a.id),a.alias&&h.add(a.alias),a.aliases||[]))h.add(b);function i(a){let b=(0,e.Xh)(a);return b?.providerAlias&&g[b.providerAlias]?{...b,provider:g[b.providerAlias]}:b}async function j(a){let b=i(a);if(!b.isAlias){if(!h.has(b.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===b.providerAlias);if(a)return{provider:a.id,model:b.model};let c=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===b.providerAlias);if(c)return{provider:c.id,model:b.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===b.providerAlias);if(e)return{provider:e.id,model:b.model}}return{provider:b.provider,model:b.model}}return await (0,d.Dj)(b.model)?{provider:null,model:b.model}:(0,e.js)(a,d.OM)}async function k(a){if("string"!=typeof a||a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},46634:(a,b,c)=>{c.d(b,{Mo:()=>h,RG:()=>l,V:()=>i,Y8:()=>k,xl:()=>m});var d=c(1932),e=c(87155);let f=null,g=null;function h(){return f?{loaded:!0,version:f.version,loadedAt:f.loadedAt}:{loaded:!1}}async function i(){return f||g||(g=j().finally(()=>{g=null}))}async function j(){let a=(0,e.S1)();if(!a.installed){let a=Error("PXPIPE is not installed");throw a.code="NOT_INSTALLED",a}let b=`${(0,d.pathToFileURL)((0,e.CG)()).href}?v=${encodeURIComponent(a.version||"0")}`,c=await import(b);if("function"!=typeof c.transformAnthropicMessages)throw Error("installed pxpipe package does not export transformAnthropicMessages");return f={module:c,version:a.version,loadedAt:Date.now()}}function k(){let a=!!f;return f=null,a}async function l({autoLoad:a=!0}={}){try{if(!f&&!a)return null;let{module:b}=await i();return b.transformAnthropicMessages}catch{return null}}async function m(){let a=Date.now(),{module:b}=await i(),c=new TextEncoder().encode(JSON.stringify({model:"claude-fable-5",max_tokens:16,messages:[{role:"user",content:"ping"}]})),d=await b.transformAnthropicMessages({body:c,model:"claude-fable-5"});if(!d||"boolean"!=typeof d.applied||!(d.body instanceof Uint8Array))throw Error("transform returned an unexpected shape");return{ok:!0,reason:d.reason,durationMs:Date.now()-a}}},46945:(a,b,c)=>{c.d(b,{V:()=>e});let d=/\[1m\]$/i;function e(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(d);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}},51829:(a,b,c)=>{c.d(b,{S:()=>k,d:()=>j});var d=c(89718),e=c(41704),f=c(38775);let g={headroom:1,source:"static"};function h(a){let b=Number(a?.headroom),c=a?.source;return{headroom:Number.isFinite(b)&&b>=0?b:1,source:"header"===c||"probe"===c?c:"static"}}async function i(a){let b=new Map;for(let{id:c,provider:d}of(await a({isActive:!0})))b.has(d)||b.set(d,[]),b.get(d).push(c);return b}async function j({getProviderConnections:a=d.getProviderConnections}={}){let b;try{b=await i(a)}catch{return()=>g}let c=new Map;return a=>{if("string"!=typeof a)return g;if(!c.has(a)){let d=g;try{d=h(function(a,b){if(!a.includes("/")){let{provider:c}=(0,f.Xh)(`${a}/`),d=b.get(c);return d?h((0,e.X8)(c,d,null)):g}let{provider:c,model:d,isAlias:i}=(0,f.Xh)(a),j=!i&&c?b.get(c):null;return j?h((0,e.X8)(c,j,d)):g}(a,b))}catch{}c.set(a,d)}return c.get(a)}}async function k(a={}){let b=await j(a);return a=>b(a).headroom}},57247:(a,b,c)=>{c.d(b,{KC:()=>t,OA:()=>p,PROVIDER_MODELS:()=>f.vq,SM:()=>j,Xg:()=>s,cY:()=>u,ez:()=>o,fZ:()=>k,kt:()=>q,ux:()=>n});var d=c(35024),e=c(7819),f=c(26070),g=c(99511),h=c(59096),i=c(14170);function j(a){return f.vq[a]||[]}function k(a){let b=f.vq[a];return b?.[0]?.id||null}let l=new Set(["kr","kiro"]);function m(a,b,c){if(!a)return;let d="string"==typeof b?b.replace(/\([^()]+\)\s*$/,"").trim():b,e=a.find(a=>a.id===b||a.id===d);if(e)return e;if(!l.has(c))return;let f=(0,g.Kq)(d);if(f!==d)return a.find(a=>a.id===f)}function n(a,b){if((!a||"oc"===a||"opencode"===a||"ocg"===a||"opencode-go"===a||"mc"===a||"meta-code"===a)&&(0,h.nh)(b))return i.h.OPENAI_RESPONSES;let c=f.vq[a];return c?(0,g.gr)(m(c,b,a)):null}function o(a,b){let c=f.vq[a];return c?(0,g.ec)(m(c,b,a)):null}function p(a,b){let c=f.vq[a];if(!c)return null;let d=m(c,b,a);return d?.kind||d?.type||null}function q(a,b){let c="string"==typeof b?b.match(/\([^()]+\)\s*$/):null,d=c?c[0]:"",e=d?b.slice(0,c.index).trim():b,g=m(f.vq[a],e,a),i=g?.upstreamModelId||g?.id;if(i){let a=i.match(/\([^()]+\)\s*$/),b=a?.[0]||"";return(b?i.slice(0,a.index).trim():i)+(d||b)}return"cx"===a&&"string"==typeof e&&e.endsWith(h.d5)?e.slice(0,-h.d5.length)+d:e+d}let r=Object.fromEntries(e.default.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),s=Object.fromEntries(Object.keys(d.xq).map(a=>[a,r[a]||a]));function t(a){let b=s[a]||a;return f.vq[b]||[]}function u(a,b){return(0,g.g5)(m(f.vq[a],b,a))}},58691:(a,b,c)=>{c.d(b,{VF:()=>i,er:()=>h});let d=Object.freeze(["fallback","round-robin","fusion","weighted"]),e="fallback",f=new Set(["__proto__","constructor","prototype"]);function g(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function h(a,b){let c=a?.comboStrategies,f=g(c)&&Object.hasOwn(c,b)&&g(c[b])?c[b]:{},h=f.fallbackStrategy||a?.comboStrategy||e;return{strategy:d.includes(h)?h:e,stickyLimit:a?.comboStickyRoundRobinLimit,weights:g(f.weights)?f.weights:{},judgeModel:f.judgeModel,fusionTuning:f.fusionTuning}}function i(a){if(!g(a))return null;if(Object.hasOwn(a,"comboStrategy")&&!d.includes(a.comboStrategy))return"Invalid comboStrategy";if(!Object.hasOwn(a,"comboStrategies"))return null;let b=a.comboStrategies;if(!g(b))return"comboStrategies must be an object";let c=Object.entries(b);if(c.length>500)return"Too many comboStrategies entries";for(let[a,b]of c){if(f.has(a))return`Invalid combo name "${a}"`;if(!g(b)||void 0!==b.fallbackStrategy&&!d.includes(b.fallbackStrategy))return`Invalid strategy for combo "${a}"`;let c=b.weights;if(void 0!==c){if(!g(c)||Object.keys(c).length>200)return`Invalid weights for combo "${a}"`;for(let[b,d]of Object.entries(c))if(f.has(b)||"number"!=typeof d||!Number.isFinite(d)||d<0||d>1e3)return`Invalid weight for combo "${a}" model "${b}"`}}return null}},59096:(a,b,c)=>{c.d(b,{_X:()=>e,d5:()=>d,nh:()=>f});let d="-review";function e(a){return a.flatMap(a=>"llm"!==(a.kind||a.type||"llm")||a.id.endsWith(d)?[a]:[a,{...a,id:`${a.id}${d}`,name:`${a.name} Review`,upstreamModelId:a.upstreamModelId||a.id,quotaFamily:"review"}])}function f(a){if(!a||"string"!=typeof a)return!1;let b=a.replace(/\([^()]+\)\s*$/,"").trim(),c=b.includes("/")?b.split("/").pop():b;return/^muse[-_]?spark(?:$|[-_:.\s])/i.test(c)}},74388:(a,b,c)=>{c.d(b,{Az:()=>l,SP:()=>o,T0:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87155);let i=g().join(h.XF,"events.jsonl"),j=g().join(h.XF,"events.jsonl.1");function k(a){try{e().existsSync(h.XF)||e().mkdirSync(h.XF,{recursive:!0});try{e().statSync(i).size>5242880&&e().renameSync(i,j)}catch{}e().appendFile(i,JSON.stringify({ts:Date.now(),...a})+"\n",()=>{})}catch{}}function l({sinceMs:a=null,limit:b=null}={}){let c=[];for(let b of[j,i])try{if(!e().existsSync(b))continue;for(let d of e().readFileSync(b,"utf8").split("\n"))if(d)try{let b=JSON.parse(d);if(a&&b.ts<a)continue;c.push(b)}catch{}}catch{}return c.sort((a,b)=>a.ts-b.ts),b?c.slice(-b):c}function m(){return{requests:0,compressed:0,bypassed:0,errors:0,tokensBeforeEst:0,tokensAfterEst:0,tokensSavedEst:0,savedPct:0,imagesGenerated:0,compressionTimeMs:0,avgCompressionMs:0}}function n(a,b){a.requests++,b.applied?(a.compressed++,a.tokensBeforeEst+=b.tokensBeforeEst||0,a.tokensAfterEst+=b.tokensAfterEst||0,a.tokensSavedEst+=b.tokensSavedEst||0,a.imagesGenerated+=b.imageCount||0,a.compressionTimeMs+=b.durationMs||0):"transform_error"===b.reason||"timeout"===b.reason?a.errors++:a.bypassed++}function o({timelineDays:a=30,recentLimit:b=100}={}){let c=l(),d=Date.now(),e=new Date(new Date(d).setHours(0,0,0,0)).getTime(),f={all:m(),today:m(),yesterday:m(),last7d:m(),last30d:m()},g=new Map;for(let b=a-1;b>=0;b--){let a=new Date(e-864e5*b);g.set(a.toISOString().slice(0,10),{date:a.toISOString().slice(0,10),tokensSavedEst:0,compressed:0,requests:0})}for(let a of c){n(f.all,a),a.ts>=e?n(f.today,a):a.ts>=e-864e5&&n(f.yesterday,a),a.ts>=d-6048e5&&n(f.last7d,a),a.ts>=d-2592e6&&n(f.last30d,a);let b=new Date(a.ts).toISOString().slice(0,10),c=g.get(b);c&&(c.requests++,a.applied&&(c.compressed++,c.tokensSavedEst+=a.tokensSavedEst||0))}for(let a of Object.values(f))a.savedPct=a.tokensBeforeEst>0?+(a.tokensSavedEst/a.tokensBeforeEst*100).toFixed(2):0,a.avgCompressionMs=a.compressed>0?Math.round(a.compressionTimeMs/a.compressed):0;return{windows:f,timeline:[...g.values()],recent:c.slice(-b).reverse()}}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>G});var e=c(48895),f=c(80238),g=c(45974),h=c(89718),i=c(16655),j=c(81329),k=c(91152),l=c(38775),m=c(92500),n=c(3894),o=c(46634),p=c(74388),q=c(43659),r=c(22274),s=c(58691),t=c(51829),u=c(17603),v=c(27349),w=c(47370),x=c(41004),y=c(14170),z=c(7803),A=c(67828),B=c(38160),C=c(46945),D=c(71336),E=c(11720),F=a([e,m]);async function G(a,b=null,c=null){let d;await (0,E.X8)(h.getSettings);try{d=await a.json()}catch{return z.warn("CHAT","Invalid JSON body"),(0,q.yj)(x.gx.BAD_REQUEST,"Invalid JSON body")}if(!d||"object"!=typeof d||Array.isArray(d))return(0,q.yj)(x.gx.BAD_REQUEST,"Request body must be a JSON object");if(void 0!==d.model&&"string"!=typeof d.model)return(0,q.yj)(x.gx.BAD_REQUEST,"model must be a string");if(void 0!==d.messages&&!Array.isArray(d.messages))return(0,q.yj)(x.gx.BAD_REQUEST,"messages must be an array");b||(b={endpoint:new URL(a.url).pathname,body:d,headers:Object.fromEntries(a.headers.entries())});let{model:e,contextMarker:g}=(0,C.V)(d.model);g&&(d.model=e);let i=a.headers.get("Authorization"),j=(0,f.extractApiKey)(a);if(i&&j){let a=z.maskKey(j);z.debug("AUTH",`API Key: ${a}`)}else z.debug("AUTH","No API key provided (local mode)");let k=await (0,h.getSettings)();if((0,D.notifyRequestLogsEnabled)(!0===k.requestLogsEnabled),k.requireApiKey&&c?.skipApiKeyCheck!==!0){if(!j)return z.warn("AUTH","Missing API key (requireApiKey=true)"),(0,q.yj)(x.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.isValidApiKey)(j))return z.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,q.yj)(x.gx.UNAUTHORIZED,"Invalid API key")}if(!e)return z.warn("CHAT","Missing model"),(0,q.yj)(x.gx.BAD_REQUEST,"Missing model");let m=a?.headers?.get("user-agent")||"",n=(0,v.c)(d,e,m,!!k.ccFilterNaming);if(n)return n.response||n;let o=(0,r.t8)(d),p=await (0,l.d_)(e);if(p){let{strategy:f,stickyLimit:g,weights:h,judgeModel:i,fusionTuning:l}=(0,s.er)(k,e),m=(0,u.R8)(p,o,k),n=m.filter(a=>!p.includes(a)),q=I(c);if("fusion"===f)return z.info("CHAT",`Combo "${e}" with ${p.length} models (strategy: fusion)`),(0,r.vt)({body:d,models:p,handleSingleModel:(d,f,g)=>{let h=b;if(g&&b){let{tools:a,tool_choice:c,...d}=b.body||{};h={...b,body:d}}return K(d,f,h,a,j,[e],e,c)},log:z,comboName:e,judgeModel:i,tuning:l,onAttempt:c?.onAttempt});let v="weighted"===f?await (0,t.S)():void 0;return z.info("CHAT",`Combo "${e}" with ${m.length} models (strategy: ${f}, sticky: ${g})`),(0,r.Pr)({body:d,models:m,handleSingleModel:(0,u.ar)((d,f)=>K(d,f,b,a,j,[e],e,c),n),log:z,comboName:e,comboStrategy:f,comboStickyLimit:g,comboWeights:h,headroomFn:v,onAttempt:q,...q?{}:{onFallback:H(e)}})}let w=(0,u.R8)([e],o,k);if(w.length>1){let f=w.filter(a=>a!==e),g=I(c);return z.info("CHAT",`Capacity adapter for [${[...o].join(",")}] on "${e}" → trying ${w.join(", ")}`),(0,r.Pr)({body:d,models:w,handleSingleModel:(0,u.ar)((d,e)=>K(d,e,b,a,j,[],null,c),f),log:z,comboName:e,comboStrategy:(0,u.vB)(o,k),onAttempt:g,...g?{}:{onFallback:H(e)}})}return K(d,e,b,a,j,[],null,c)}function H(a){return async({model:b,status:c})=>{let d=b.indexOf("/");(0,w.jV)({comboName:a,provider:d>0?b.slice(0,d):b,model:d>0?b.slice(d+1):b,status:c})}}function I(a,b){let c="function"==typeof a?.onAttempt?a.onAttempt:null;if(c)return a=>{try{c({role:b?"nested":"route",account:null,...b?{via:b}:{},...a})}catch{}}}async function J(a,b){let c;try{c=await (0,i.vF)()}catch{return!1}for(let d of new Set([(0,k.wG)(a),j.Xg[a],a]))if(d&&Array.isArray(c?.[d])&&c[d].includes(b))return!0;return!1}async function K(a,b,c=null,d=null,e=null,i=[],j=null,k=null){let v=await (0,l.mA)(b);if(!v.provider){let f=await (0,l.d_)(b);if(f){if(i.includes(b)){let a=`Combo cycle detected: ${[...i,b].join(" → ")}`;return z.warn("CHAT",a),(0,q.yj)(x.gx.BAD_REQUEST,a)}let g=[...i,b],j=await (0,h.getSettings)(),{strategy:l,stickyLimit:m,weights:n,judgeModel:o,fusionTuning:p}=(0,s.er)(j,b),v=(0,r.t8)(a),w=(0,u.R8)(f,v,j),y=w.filter(a=>!f.includes(a)),A=I(k,b);if("fusion"===l)return z.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion)`),(0,r.vt)({body:a,models:f,handleSingleModel:(a,f,h)=>{let i=c;if(h&&c){let{tools:a,tool_choice:b,...d}=c.body||{};i={...c,body:d}}return K(a,f,i,d,e,g,b,k)},log:z,comboName:b,judgeModel:o,tuning:p,onAttempt:A});let B="weighted"===l?await (0,t.S)():void 0;return z.info("CHAT",`Combo "${b}" with ${w.length} models (strategy: ${l}, sticky: ${m})`),(0,r.Pr)({body:a,models:w,handleSingleModel:(0,u.ar)((a,f)=>K(a,f,c,d,e,g,b,k),y),log:z,comboName:b,comboStrategy:l,comboStickyLimit:m,comboWeights:n,headroomFn:B,onAttempt:A,...A?{}:{onFallback:H(b)}})}return z.warn("CHAT","Invalid model format",{model:b}),(0,q.yj)(x.gx.BAD_REQUEST,"Invalid model format")}let{provider:w,model:C}=v;if(await J(w,C)){z.warn("CHAT",`Model disabled: ${w}/${C}`);let a=(0,q.yj)(x.gx.NOT_FOUND,`Model disabled: ${b}`);return a.localError=!0,a}let D=d?.headers?.get("user-agent")||"",E=new Set,F=null,G=null;for(;;){let b=await (0,f.getProviderCredentials)(w,E,C);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=F||b.lastError||"Unavailable",c=x.gx.SERVICE_UNAVAILABLE;return z.warn("CHAT",`[${w}/${C}] ${a} (${b.retryAfterHuman})`),(0,q.wO)(c,`[${w}/${C}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===E.size)return z.warn("AUTH",`No active credentials for provider: ${w}`),(0,q.yj)(x.gx.NOT_FOUND,`No active credentials for provider: ${w}`);return z.warn("CHAT","No more accounts available",{provider:w}),(0,q.yj)(G||x.gx.SERVICE_UNAVAILABLE,F||"All accounts unavailable")}let i=await (0,A.checkAndRefreshToken)(w,b);if(("antigravity"===w||"gemini-cli"===w)&&!i.projectId){let a=await (0,B.eG)(b.connectionId,i.accessToken,w);a&&(i.projectId=a,(0,A.vN)(b.connectionId,{projectId:a}).catch(()=>{}))}let k=await (0,h.getSettings)(),l=(k.providerThinking||{})[w]||null,r=await (0,m.wk)({body:{...a,model:`${w}/${C}`},modelInfo:{provider:w,model:C},credentials:i,log:z,clientRawRequest:c,connectionId:b.connectionId,userAgent:D,apiKey:e,ccFilterNaming:!!k.ccFilterNaming,rtkEnabled:!!k.rtkEnabled,headroomEnabled:!!k.headroomEnabled,headroomUrl:k.headroomUrl||n.ag,headroomCompressUserMessages:!!k.headroomCompressUserMessages,headroomTimeoutMs:k.headroomTimeoutMs,cavemanEnabled:!!k.cavemanEnabled,cavemanLevel:k.cavemanLevel||"full",ponytailEnabled:!!k.ponytailEnabled,ponytailLevel:k.ponytailLevel||"full",pxpipeEnabled:!!k.pxpipeEnabled,pxpipeMinChars:k.pxpipeMinChars,pxpipeTimeoutMs:k.pxpipeTimeoutMs,pxpipeTransform:k.pxpipeEnabled?await (0,o.RG)():null,onPxpipeEvent:p.T0,comboName:j,providerThinking:l,sourceFormatOverride:d?.url?(0,y.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,A.vN)(b.connectionId,{...a,existingProviderSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.clearAccountError)(b.connectionId,b,C),(0,g.vO)(b.connectionId,C)}});if(r.success||r.localError)return r.response;let s=null,t=r.resetsAtMs;if("antigravity"===w&&(409===r.status||429===r.status)&&(s=await (0,g.XJ)(b.connectionId,r.status,C,i.accessToken,b.providerSpecificData))&&(t=s),"antigravity"===w&&s||(await (0,f.markAccountUnavailable)(b.connectionId,r.status,r.error,w,C,t)).shouldFallback){z.warn("FALLBACK",`⇄ ACC:${b.connectionName} UNAVAILABLE (${r.status}) → NEXT ACCOUNT`),E.add(b.connectionId),F=r.error,G=r.status;continue}return r.response}}[e,m]=F.then?(await F)():F,d()}catch(a){d(a)}})},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,bs:()=>g,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(57247);Object.entries(c(91152).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b,g={vision:{icon:"visibility",label:"Vision",desc:"Supports image input",color:"text-blue-500"},reasoning:{icon:"neurology",label:"Reasoning",desc:"Supports reasoning / thinking",color:"text-amber-500"}}},87155:(a,b,c)=>{c.d(b,{CG:()=>r,ED:()=>v,S1:()=>t,XF:()=>k,_g:()=>u,no:()=>s,sW:()=>x});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120),j=c(31223);let k=g().join(i.nJ,"pxpipe"),l="pxpipe-proxy",m=g().join(k,"install.log"),n="win32"===process.platform,o=[...n?[`${process.env.ProgramFiles||""}\\nodejs`,`${process.env.APPDATA||""}\\npm`]:["/usr/local/bin","/opt/homebrew/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(g().delimiter),p=null;function q(){return g().join(k,"node_modules",l)}function r(){return g().join(q(),"dist","core","library.js")}function s(){try{let a=(0,h.execSync)(`${n?"where":"which"} npm`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:o}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function t(){try{let a=g().join(q(),"package.json");if(!e().existsSync(a)||!e().existsSync(r()))return{installed:!1,version:null,path:null};let b=JSON.parse(e().readFileSync(a,"utf8"));return{installed:!0,version:b.version||null,path:q()}}catch{return{installed:!1,version:null,path:null}}}function u(){return null!==p}function v(){return p||(p=w().finally(()=>{p=null}))}async function w(){let a=s();if(!a){let a=Error("npm not found on PATH — Node.js/npm is required to install PXPIPE");throw a.code="NPM_NOT_FOUND",a}e().existsSync(k)||e().mkdirSync(k,{recursive:!0});let b=g().join(k,"package.json");e().existsSync(b)||e().writeFileSync(b,JSON.stringify({name:`${j.Hc.slug}-pxpipe-host`,private:!0},null,2));let c=e().openSync(m,"a");e().writeSync(c,`
2
+ [${new Date().toISOString()}] npm install ${l}@latest
3
+ `),await new Promise((b,d)=>{let e=(0,h.spawn)(a,["install",`${l}@latest`,"--no-audit","--no-fund","--omit=dev"],{cwd:k,stdio:["ignore",c,c],windowsHide:!0,env:{...process.env,PATH:o}}),f=setTimeout(()=>{e.kill("SIGKILL"),d(Error("npm install timed out after 5 minutes — see install.log"))},3e5);e.once("error",a=>{clearTimeout(f),d(a)}),e.once("exit",a=>{clearTimeout(f),0===a?b():d(Error(`npm install exited with code ${a} — see install.log`))})}).finally(()=>e().closeSync(c));let d=t();if(!d.installed)throw Error("install finished but package is missing — see install.log");return d}function x(a=200){try{if(!e().existsSync(m))return"";return e().readFileSync(m,"utf8").split(/\r?\n/).filter(Boolean).slice(-a).join("\n")}catch{return""}}}};
@@ -12,4 +12,4 @@ ${d}`}function J(a,b){return a.replace(B(`model.${b}`),"").replace(/\n{3,}/g,"\n
12
12
  ${d}`):e.replace(a[0],"").replace(/\n{3,}/g,"\n\n")}return G(e,w,b,d)}var M=c(12994),N=c(24424);let O=(0,g.promisify)(f.exec),P=()=>k().join(m().homedir(),".grok"),Q=()=>k().join(P(),"config.toml"),R=async()=>{try{let a="win32"===m().platform();return await O(a?"where grok":"which grok",{windowsHide:!0}),!0}catch{for(let a of[k().join(P(),"bin","grok"),Q()])try{return await i().access(a),!0}catch{}return!1}},S=async()=>{try{return await i().readFile(Q(),"utf-8")}catch(a){if("ENOENT"===a.code)return"";throw a}},T=(a,b)=>{let c=Number(a);if(Number.isFinite(c)&&c>0)return Math.floor(c);let d=b.indexOf("/"),e=d>0?b.slice(0,d):null,f=d>0?b.slice(d+1):b;return(0,o.getCapabilitiesForModel)(e,f).contextWindow};async function U(){try{if(!await R())return e.NextResponse.json({installed:!1,settings:null,message:"Grok Build is not installed"});let a=function(a){let b={},c={};for(let d of r){let e=F(a,w,d);c[d]=e,b[d]=z(e,d)?H(a,e):null}return{model:H(a,p.fK.find(b=>B(`model.${b}`).test(a))??p.u3),default:F(a,u,"default"),subagentModels:b,subagentMappings:c}}(await S());return e.NextResponse.json({installed:!0,settings:a,hasTokenhop:!!a?.model?.base_url,configPath:Q()})}catch(a){return console.log("Error checking grok-build settings:",a),e.NextResponse.json({error:"Failed to check grok-build settings"},{status:500})}}async function V(a){try{let{baseUrl:b,apiKey:c,model:d,contextWindow:f,subagentModels:g}=await a.json(),h="string"==typeof d?d.trim():"";if(!b||!h)return e.NextResponse.json({error:"baseUrl and model are required"},{status:400});await i().mkdir(P(),{recursive:!0});let[{value:j}]=function({baseUrl:a,apiKey:b,model:c,contextWindow:d,subagentModels:e,existingToml:f=""}){return c?.trim()?[{file:"~/.grok/config.toml",format:"text",merge:!0,value:function(a,{baseUrl:b,apiKey:c,model:d,contextWindow:e,subagentModels:f}){let g=function(a){if(D.test(a))return a;let b=F(a,u,"default");return!b||p.fK.includes(b)?a:K(a,`# ${p.u3}-prev-default = ${A(b)}
13
13
  `)}(function(a){let b=a;for(let a of p.jh){for(let[c,d,e]of(b=b.replace(RegExp(`^# ${x(a)}-prev-([a-z-]+)([^\\r\\n]*\\r?\\n?)`,"gm"),(a,c,d)=>b.includes(`# ${p.u3}-prev-${c} `)?"":`# ${p.u3}-prev-${c}${d}`).replaceAll(A(s(a)),A(t)),[[a,p.u3,p.eU]].concat(r.map(b=>[`${a}-${b}`,C(b),`${p.eU} ${b}`]))))if(B(`model.${c}`).test(b)){if(B(`model.${d}`).test(b)){b=J(b,c);continue}b=b.replace(B(`model.${c}`),(a,b)=>`[model.${d}]
14
14
  ${b.replace(/^name[ \t]*=.*$/m,`name = ${A(e)}`).replace(/^description[ \t]*=.*$/m,`description = ${A(v)}`)}`)}for(let c of(F(b,u,"default")===a&&(b=G(b,u,"default",p.u3)),r))F(b,w,c)===`${a}-${c}`&&(b=G(b,w,c,C(c)))}return b}(a));if(g=G(g=I(g,{slot:q,model:d,baseUrl:b,apiKey:c,contextWindow:e,name:p.eU}),u,"default",q),f&&"object"==typeof f)for(let a of r){let d=f[a],e=C(a);g=d?.model?G(g=I(g=function(a,b){if(E(b).test(a))return a;let c=F(a,w,b),d=null==c||z(c,b)?t:c;return K(a,`# ${p.u3}-prev-subagent-${b} = ${A(d)}
15
- `)}(g,a),{slot:e,model:d.model,baseUrl:b,apiKey:c,contextWindow:d.contextWindow,name:`${p.eU} ${a}`}),w,a,e):J(g=L(g,a),e)}return g}(f,{baseUrl:a,apiKey:b,model:c,contextWindow:d,subagentModels:e})}]:null}({baseUrl:(0,M.Yh)(b),apiKey:c||n.Hc.defaultApiKey,model:h,contextWindow:T(f,h),subagentModels:(a=>{if(void 0===a)return;if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let c of r){let d=a[c],e="string"==typeof d?d.trim():d?.model?.trim();e&&(b[c]={model:e,contextWindow:T(d?.contextWindow,e)})}return b})(g),existingToml:await S()});return await i().writeFile(Q(),j),e.NextResponse.json({success:!0,message:"Grok Build settings applied successfully!",configPath:Q(),modelSlot:q})}catch(a){return console.log("Error updating grok-build settings:",a),e.NextResponse.json({error:"Failed to update grok-build settings"},{status:500})}}async function W(){try{let a,b=Q();try{a=await i().readFile(b,"utf-8")}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file to reset"});throw a}return await i().writeFile(b,function(a){var b;let c,d,e,f=a;for(let a of r)for(let b of(f=L(f,a),p.fK))f=J(f,`${b}-${a}`);for(let a of p.fK)f=J(f,a);return b=f,c=b.match(D)?.[1]||"grok-build",e=F(d=b.replace(D,""),u,"default"),p.fK.includes(e)&&(d=G(d,u,"default",c)),(f=d).replace(/\n{3,}/g,"\n\n")}(a)),e.NextResponse.json({success:!0,message:"Gateway model slots removed from Grok Build"})}catch(a){return console.log("Error resetting grok-build settings:",a),e.NextResponse.json({error:"Failed to reset grok-build settings"},{status:500})}}(0,N.D)([U,V,W]),(0,d.A)(U,"00035a14a4b90d386a08f2dd3cc5ad1280483b855f",null),(0,d.A)(V,"402222e18a25ff4f1a98a28b2cff4c017d9d940280",null),(0,d.A)(W,"0045245fcc1608776cb698993c8dccb47018e52635",null)},12994:(a,b,c)=>{c.d(b,{CJ:()=>f,Yh:()=>e,jz:()=>g});var d=c(80751);c(31223);let e=a=>a.endsWith("/v1")?a:`${a}/v1`,f=a=>a.endsWith("/v1")?a.slice(0,-3):a,g=({format:a,value:b})=>"json"===a?JSON.stringify(b,null,2):"toml"===a&&"string"!=typeof b?(0,d.q)(b):b},24586:(a,b,c)=>{c.d(b,{B:()=>q,NO:()=>n,UE:()=>t,ZS:()=>p,eU:()=>f,f:()=>l,fK:()=>i,gT:()=>j,hK:()=>k,ic:()=>o,jh:()=>h,lv:()=>m,u3:()=>e,v4:()=>u,zi:()=>v,zq:()=>g});var d=c(31223);let e=d.Hc.clientConfigKey,f=d.Hc.name,g=d.Hc.jcodeApiKeyEnv,h=Object.freeze(e===d.qt.clientConfigKey?[...d.qx.clientConfigKeys]:[]),i=Object.freeze([...new Set([e,d.qt.clientConfigKey,...d.qx.clientConfigKeys])]),j=Object.freeze([...new Set([g,d.qt.jcodeApiKeyEnv,d.qx.jcodeApiKeyEnv])]),k=a=>i.includes(a),l=a=>{for(let b of i)if(a?.[b]!=null)return a[b]},m=a=>`${e}/${a}`,n=a=>{if("string"!=typeof a)return null;let b=a.indexOf("/");if(b<=0||b===a.length-1)return null;let c=a.slice(0,b);return k(c)?{key:c,model:a.slice(b+1)}:null},o=a=>h.includes(n(a)?.key)?m(n(a).model):a,p=a=>"string"==typeof a&&i.some(b=>a.includes(b)),q=d.Hc.customModelIdPrefix,r=[...new Set([q,d.qt.customModelIdPrefix,d.qx.customModelIdPrefix])],s=q===d.qt.customModelIdPrefix?[d.qx.customModelIdPrefix]:[],t=a=>"string"==typeof a&&r.some(b=>a.startsWith(b)),u=a=>"string"==typeof a&&[q,...s].some(b=>a.startsWith(b)),v=a=>{let b;for(let c of h)a?.[c]!=null&&(b??=a[c],delete a[c]);return b}}};
15
+ `)}(g,a),{slot:e,model:d.model,baseUrl:b,apiKey:c,contextWindow:d.contextWindow,name:`${p.eU} ${a}`}),w,a,e):J(g=L(g,a),e)}return g}(f,{baseUrl:a,apiKey:b,model:c,contextWindow:d,subagentModels:e})}]:null}({baseUrl:(0,M.Yh)(b),apiKey:c||n.Hc.defaultApiKey,model:h,contextWindow:T(f,h),subagentModels:(a=>{if(void 0===a)return;if(!a||"object"!=typeof a||Array.isArray(a))return{};let b={};for(let c of r){let d=a[c],e="string"==typeof d?d.trim():d?.model?.trim();e&&(b[c]={model:e,contextWindow:T(d?.contextWindow,e)})}return b})(g),existingToml:await S()});return await i().writeFile(Q(),j),e.NextResponse.json({success:!0,message:"Grok Build settings applied successfully!",configPath:Q(),modelSlot:q})}catch(a){return console.log("Error updating grok-build settings:",a),e.NextResponse.json({error:"Failed to update grok-build settings"},{status:500})}}async function W(){try{let a,b=Q();try{a=await i().readFile(b,"utf-8")}catch(a){if("ENOENT"===a.code)return e.NextResponse.json({success:!0,message:"No config file to reset"});throw a}return await i().writeFile(b,function(a){var b;let c,d,e,f=a;for(let a of r)for(let b of(f=L(f,a),p.fK))f=J(f,`${b}-${a}`);for(let a of p.fK)f=J(f,a);return b=f,c=b.match(D)?.[1]||"grok-build",e=F(d=b.replace(D,""),u,"default"),p.fK.includes(e)&&(d=G(d,u,"default",c)),(f=d).replace(/\n{3,}/g,"\n\n")}(a)),e.NextResponse.json({success:!0,message:"Gateway model slots removed from Grok Build"})}catch(a){return console.log("Error resetting grok-build settings:",a),e.NextResponse.json({error:"Failed to reset grok-build settings"},{status:500})}}(0,N.D)([U,V,W]),(0,d.A)(U,"003aabb046e7e2ea2c0de58f9c66d20652e121b433",null),(0,d.A)(V,"4051ecb9e5327c009d8f1d9431dd36d851b65b2d13",null),(0,d.A)(W,"00a15a2d291080d82e8783ec8b0339f37b065bc172",null)},12994:(a,b,c)=>{c.d(b,{CJ:()=>f,Yh:()=>e,jz:()=>g});var d=c(80751);c(31223);let e=a=>a.endsWith("/v1")?a:`${a}/v1`,f=a=>a.endsWith("/v1")?a.slice(0,-3):a,g=({format:a,value:b})=>"json"===a?JSON.stringify(b,null,2):"toml"===a&&"string"!=typeof b?(0,d.q)(b):b},24586:(a,b,c)=>{c.d(b,{B:()=>q,NO:()=>n,UE:()=>t,ZS:()=>p,eU:()=>f,f:()=>l,fK:()=>i,gT:()=>j,hK:()=>k,ic:()=>o,jh:()=>h,lv:()=>m,u3:()=>e,v4:()=>u,zi:()=>v,zq:()=>g});var d=c(31223);let e=d.Hc.clientConfigKey,f=d.Hc.name,g=d.Hc.jcodeApiKeyEnv,h=Object.freeze(e===d.qt.clientConfigKey?[...d.qx.clientConfigKeys]:[]),i=Object.freeze([...new Set([e,d.qt.clientConfigKey,...d.qx.clientConfigKeys])]),j=Object.freeze([...new Set([g,d.qt.jcodeApiKeyEnv,d.qx.jcodeApiKeyEnv])]),k=a=>i.includes(a),l=a=>{for(let b of i)if(a?.[b]!=null)return a[b]},m=a=>`${e}/${a}`,n=a=>{if("string"!=typeof a)return null;let b=a.indexOf("/");if(b<=0||b===a.length-1)return null;let c=a.slice(0,b);return k(c)?{key:c,model:a.slice(b+1)}:null},o=a=>h.includes(n(a)?.key)?m(n(a).model):a,p=a=>"string"==typeof a&&i.some(b=>a.includes(b)),q=d.Hc.customModelIdPrefix,r=[...new Set([q,d.qt.customModelIdPrefix,d.qx.customModelIdPrefix])],s=q===d.qt.customModelIdPrefix?[d.qx.customModelIdPrefix]:[],t=a=>"string"==typeof a&&r.some(b=>a.startsWith(b)),u=a=>"string"==typeof a&&[q,...s].some(b=>a.startsWith(b)),v=a=>{let b;for(let c of h)a?.[c]!=null&&(b??=a[c],delete a[c]);return b}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=9594,exports.ids=[9594],exports.modules={99594:(a,b,c)=>{c.d(b,{Hc:()=>k,qx:()=>j});var d=c(40235);let{BRAND_IDS:e,DEFAULT_BRAND_ID:f,ACTIVE_BRAND_ID:g,isActiveBrand:h,BRAND:i,LEGACY:j,ACTIVE:k,UPSTREAM_CLIENT_IDS:l,envName:m,readEnv:n,warnLegacyOnce:o,header:p,legacyHeaderNames:q}=c.n(d)()}};
@@ -1 +1 @@
1
- "use strict";exports.id=965,exports.ids=[965],exports.modules={49804:(a,b,c)=>{c.d(b,{Q_:()=>q,Wc:()=>r,k9:()=>x,le:()=>p,qJ:()=>v,w9:()=>C,xK:()=>i,zn:()=>z});var d=c(77598),e=c.n(d),f=c(39609),g=c(70524);let h="https://cloud.zed.dev",i={expiredToken:"x-zed-expired-token",outdatedToken:"x-zed-outdated-token",clientSupportsStatus:"x-zed-client-supports-status-messages",clientSupportsStreamEnded:"x-zed-client-supports-stream-ended-request-completion-status",serverSupportsStatus:"x-zed-server-supports-status-messages",clientSupportsXai:"x-zed-client-supports-x-ai",systemId:"x-zed-system-id",version:"x-zed-version",minimumRequiredVersion:"x-zed-minimum-required-version"},j="zed-rsa-pkcs1:",k=new Map,l=new Map,m=new Map;function n(a,b){return String(a||b).replace(/\/+$/,"")}function o(a,b,c,d){let e=n(a?.[b],d);return`${e}${c}`}function p(a={},b={}){let{publicKey:c,privateKey:d}=e().generateKeyPairSync("rsa",{modulusLength:2048,publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"pem"}}),f=Number(b.nativeAppPort||a.defaultNativeAppPort||58443),g=b.systemId||e().randomUUID(),h=c.toString("base64").replace(/\+/g,"-").replace(/\//g,"_"),i=new URL(`${n(a.webBaseUrl,"https://zed.dev")}/native_app_signin`);return i.searchParams.set("native_app_port",String(f)),i.searchParams.set("native_app_public_key",h),g&&i.searchParams.set("system_id",g),{authUrl:i.toString(),privateKeyVerifier:`${j}${Buffer.from(d).toString("base64url")}`,nativeAppPort:f,systemId:g,publicKey:h}}function q(a){let b=String(a||"").trim();if(!b)throw Error("Missing Zed callback URL");let c={};try{c=JSON.parse(b)}catch{let a;try{a=new URL(b)}catch{try{let c=b.includes("?")?b.slice(b.indexOf("?")+1):b.replace(/^\?/,"");a=new URL(`http://127.0.0.1/?${c}`)}catch{throw Error("Invalid Zed callback URL")}}a.searchParams.forEach((a,b)=>{c[b]=a})}let d=c.user_id||c.userId,e=c.access_token||c.accessToken||c.token;if(!d||!e)throw Error("Zed callback must include user_id and access_token");return{userId:String(d),encryptedAccessToken:String(e)}}function r(a,b){let c=function(a){var b;let c=String(a||"");if(!c.startsWith(j))throw Error("Missing Zed private key verifier; restart the login flow");return b=c.slice(j.length),Buffer.from(String(b||""),"base64url").toString("utf8")}(b),d=Buffer.from(String(a),"base64url"),f=a=>{let b=a instanceof Error?a.message:String(a);throw Error(`Failed to decrypt Zed access token: ${b}`)};try{return e().privateDecrypt({key:c,padding:e().constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},d).toString("utf8")}catch(a){try{let b=e().privateDecrypt({key:c,padding:e().constants.RSA_PKCS1_PADDING},d).toString("utf8");return b.includes("�")&&f(a),b}catch(b){if(b.message.startsWith("Failed to decrypt Zed access token"))throw b;f(a)}}}function s(a){let b=(a?.providerSpecificData||{}).userId||a?.userId,c=a?.accessToken||a?.apiKey;if(!b||!c)throw Error("Zed credential is missing userId or accessToken");return`${b} ${c}`}function t(a){return String(a?.providerSpecificData?.systemId||a?.systemId||"")}async function u(a,b,c=null){let d=await (0,f.proxyAwareFetch)(a,b,c),e=await d.text(),g=null;if(e)try{g=JSON.parse(e)}catch{g={raw:e}}if(!d.ok){let a=Error(String(g?.message||g?.error?.message||g?.error||e||`HTTP ${d.status}`));throw a.status=d.status,a.body=g,a}return g}async function v(a,b={}){let c=b.config||{},d={Accept:"application/json","User-Agent":g.s,Authorization:s(a)},e=t(a);return e&&(d[i.systemId]=e),u(o(c,"cloudBaseUrl","/client/users/me",h),{method:"GET",headers:d,signal:b.signal??void 0},b.proxyOptions??null)}function w(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function x(a,b=null){let c=a?.providerSpecificData||{},d=w(c.organizationId||c.defaultOrganizationId);if(d)return d;let e=w(b?.default_organization_id||b?.defaultOrganizationId);if(e)return e;let f=b?.organizations||[],g=f.find(a=>a?.is_personal)||f[0];return w(g?.id)}async function y(a,b={}){var c;let d,e,f=b.config||{},j=b.organizationId||x(a);if(!j){let c=await v(a,b);j=x(a,c)}if(!j)throw Error("No Zed organization selected");let l=(c=j,d=(a?.providerSpecificData||{}).userId||a?.userId||"unknown",e=a?.accessToken||a?.apiKey||"",`${d}:${c||"default"}:${e.slice(-16)}`),m=k.get(l);if(!b.forceRefresh&&m&&m.expiresAt>Date.now())return m.token;let n={"Content-Type":"application/json",Accept:"application/json","User-Agent":g.s,Authorization:s(a)},p=t(a);p&&(n[i.systemId]=p);let q=await u(o(f,"cloudBaseUrl","/client/llm_tokens",h),{method:"POST",headers:n,body:JSON.stringify({organization_id:j}),signal:b.signal??void 0},b.proxyOptions??null),r="string"==typeof q?.token?q.token:q?.token?.[0]||q?.token?.value;if(!r)throw Error("Zed did not return an LLM token");return k.set(l,{token:r,expiresAt:Date.now()+3e6}),r}async function z(a,b,c={}){var d;let e=o(c.config||{},"llmBaseUrl",b,"https://cloud.zed.dev"),h=async b=>{let d=await y(a,{...c,forceRefresh:b});return(0,f.proxyAwareFetch)(e,{...c.fetchOptions,headers:{"User-Agent":g.s,...c.fetchOptions?.headers||{},Authorization:`Bearer ${d}`},signal:c.signal??void 0})},j=await h(!1);return d=j,(d?.status===401||d?.headers?.has?.(i.expiredToken)||d?.headers?.has?.(i.outdatedToken))&&(j=await h(!0)),j}function A(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function B(a){let b=A(a?.id);return b?{id:b,name:a.display_name||a.displayName||b,provider:a.provider,isLatest:!!a.is_latest,contextLength:a.max_token_count??a.maxTokenCount,contextLengthInMaxMode:a.max_token_count_in_max_mode??a.maxTokenCountInMaxMode,maxOutputTokens:a.max_output_tokens??a.maxOutputTokens,supportsTools:!!a.supports_tools,supportsImages:!!a.supports_images,supportsThinking:!!a.supports_thinking,supportsDisablingThinking:!!a.supports_disabling_thinking,supportsFastMode:!!a.supports_fast_mode,supportsServerSideCompaction:!!a.supports_server_side_compaction,supportedEffortLevels:a.supported_effort_levels??a.supportedEffortLevels??[],supportsStreamingTools:!!a.supports_streaming_tools,supportsParallelToolCalls:!!a.supports_parallel_tool_calls,isDisabled:!!a.is_disabled,disabledReason:a.disabled_reason??null}:null}async function C(a,b={}){let c,d,e;if(!a?.accessToken)return null;let f=(d=(c=a?.providerSpecificData||{}).organizationId||c.defaultOrganizationId||"default",e=a?.accessToken||a?.apiKey||"",`${c.userId||"unknown"}:${d}:${e.slice(-16)}`),g=l.get(f);if(!b.forceRefresh&&g&&g.expiresAt>Date.now())return g;let h=m.get(f);if(h&&!b.forceRefresh)return h;let j=(async()=>{let c=await z(a,"/models",{...b,fetchOptions:{method:"GET",headers:{Accept:"application/json",[i.clientSupportsXai]:"true"}}});if(!c.ok){let a=await c.text().catch(()=>""),b=c.headers?.get?.(i.minimumRequiredVersion),d=b?` (Zed requires client version >= ${b}; set ZED_CLIENT_VERSION)`:"";throw Error(`Zed models failed: ${c.status} ${a}${d}`)}let d=await c.json(),e=Array.isArray(d?.models)?d.models:[],g=e.map(B).filter(Boolean),h=g.filter(a=>!a.isDisabled),j=g.filter(a=>a.isDisabled),k=new Map;for(let a of e){let b=A(a?.id);b&&k.set(b,a)}let m={expiresAt:Date.now()+36e5,models:h,disabledModels:j,rawModels:e,rawById:k,defaultModel:A(d?.default_model??d?.defaultModel),defaultFastModel:A(d?.default_fast_model??d?.defaultFastModel),recommendedModels:(d?.recommended_models||d?.recommendedModels||[]).map(A).filter(Boolean)};return l.set(f,m),m})();m.set(f,j);try{return await j}finally{m.get(f)===j&&m.delete(f)}}},52284:(a,b,c)=>{c.d(b,{w$:()=>g});var d=c(39006),e=c(31223);let f=d.rE||"0.0.0";function g(a,b={}){let c,d=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.toLowerCase().startsWith("workos:")?b:/^eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/.test(b)?`workos:${b}`:b:""}(a))?`Bearer ${c}`:"",h={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`${e.bY.clineUserAgentProduct}/${f}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":e.bY.clineClientType,"X-CLIENT-VERSION":f,"X-CORE-VERSION":f,"X-IS-MULTIROOT":"false",...b};return d&&(h.Authorization=d),h}},70524:(a,b,c)=>{c.d(b,{ZED_CLIENT_VERSION:()=>g,s:()=>h});var d=c(69505);let e={darwin:"macos",win32:"windows",linux:"linux",freebsd:"freebsd"},f={x64:"x86_64",arm64:"aarch64",ia32:"x86",arm:"arm"},g=(0,d.t)("ZED_CLIENT_VERSION","1.20.2",/^\d+\.\d+\.\d+$/),h=function(a,b=process.platform,c=process.arch){return`Zed/${a} (${e[b]||b}; ${f[c]||c})`}(g)}};
1
+ "use strict";exports.id=965,exports.ids=[965],exports.modules={49804:(a,b,c)=>{c.d(b,{Q_:()=>r,Wc:()=>s,k9:()=>y,le:()=>q,qJ:()=>w,w9:()=>D,xK:()=>i,zn:()=>A});var d=c(77598),e=c.n(d),f=c(39609),g=c(70524);let h="https://cloud.zed.dev",i={expiredToken:"x-zed-expired-token",outdatedToken:"x-zed-outdated-token",clientSupportsStatus:"x-zed-client-supports-status-messages",clientSupportsStreamEnded:"x-zed-client-supports-stream-ended-request-completion-status",serverSupportsStatus:"x-zed-server-supports-status-messages",clientSupportsXai:"x-zed-client-supports-x-ai",systemId:"x-zed-system-id",version:"x-zed-version",minimumRequiredVersion:"x-zed-minimum-required-version"},j="zed-rsa-pkcs1:",k=/^[\x21-\x7e]{16,}$/,l=new Map,m=new Map,n=new Map;function o(a,b){return String(a||b).replace(/\/+$/,"")}function p(a,b,c,d){let e=o(a?.[b],d);return`${e}${c}`}function q(a={},b={}){let{publicKey:c,privateKey:d}=e().generateKeyPairSync("rsa",{modulusLength:2048,publicKeyEncoding:{type:"pkcs1",format:"der"},privateKeyEncoding:{type:"pkcs1",format:"pem"}}),f=Number(b.nativeAppPort||a.defaultNativeAppPort||58443),g=b.systemId||e().randomUUID(),h=c.toString("base64").replace(/\+/g,"-").replace(/\//g,"_"),i=new URL(`${o(a.webBaseUrl,"https://zed.dev")}/native_app_signin`);return i.searchParams.set("native_app_port",String(f)),i.searchParams.set("native_app_public_key",h),g&&i.searchParams.set("system_id",g),{authUrl:i.toString(),privateKeyVerifier:`${j}${Buffer.from(d).toString("base64url")}`,nativeAppPort:f,systemId:g,publicKey:h}}function r(a){let b=String(a||"").trim();if(!b)throw Error("Missing Zed callback URL");let c={};try{c=JSON.parse(b)}catch{let a;try{a=new URL(b)}catch{try{let c=b.includes("?")?b.slice(b.indexOf("?")+1):b.replace(/^\?/,"");a=new URL(`http://127.0.0.1/?${c}`)}catch{throw Error("Invalid Zed callback URL")}}a.searchParams.forEach((a,b)=>{c[b]=a})}let d=c.user_id||c.userId,e=c.access_token||c.accessToken||c.token;if(!d||!e)throw Error("Zed callback must include user_id and access_token");return{userId:String(d),encryptedAccessToken:String(e)}}function s(a,b){let c=function(a){var b;let c=String(a||"");if(!c.startsWith(j))throw Error("Missing Zed private key verifier; restart the login flow");return b=c.slice(j.length),Buffer.from(String(b||""),"base64url").toString("utf8")}(b),d=Buffer.from(String(a),"base64url"),f=a=>{let b=a instanceof Error?a.message:String(a);throw Error(`Failed to decrypt Zed access token: ${b}`)};try{return e().privateDecrypt({key:c,padding:e().constants.RSA_PKCS1_OAEP_PADDING,oaepHash:"sha256"},d).toString("utf8")}catch(a){try{let b=e().privateDecrypt({key:c,padding:e().constants.RSA_PKCS1_PADDING},d).toString("utf8");return k.test(b)||f(a),b}catch(b){if(b.message.startsWith("Failed to decrypt Zed access token"))throw b;f(a)}}}function t(a){let b=(a?.providerSpecificData||{}).userId||a?.userId,c=a?.accessToken||a?.apiKey;if(!b||!c)throw Error("Zed credential is missing userId or accessToken");return`${b} ${c}`}function u(a){return String(a?.providerSpecificData?.systemId||a?.systemId||"")}async function v(a,b,c=null){let d=await (0,f.proxyAwareFetch)(a,b,c),e=await d.text(),g=null;if(e)try{g=JSON.parse(e)}catch{g={raw:e}}if(!d.ok){let a=Error(String(g?.message||g?.error?.message||g?.error||e||`HTTP ${d.status}`));throw a.status=d.status,a.body=g,a}return g}async function w(a,b={}){let c=b.config||{},d={Accept:"application/json","User-Agent":g.s,Authorization:t(a)},e=u(a);return e&&(d[i.systemId]=e),v(p(c,"cloudBaseUrl","/client/users/me",h),{method:"GET",headers:d,signal:b.signal??void 0},b.proxyOptions??null)}function x(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function y(a,b=null){let c=a?.providerSpecificData||{},d=x(c.organizationId||c.defaultOrganizationId);if(d)return d;let e=x(b?.default_organization_id||b?.defaultOrganizationId);if(e)return e;let f=b?.organizations||[],g=f.find(a=>a?.is_personal)||f[0];return x(g?.id)}async function z(a,b={}){var c;let d,e,f=b.config||{},j=b.organizationId||y(a);if(!j){let c=await w(a,b);j=y(a,c)}if(!j)throw Error("No Zed organization selected");let k=(c=j,d=(a?.providerSpecificData||{}).userId||a?.userId||"unknown",e=a?.accessToken||a?.apiKey||"",`${d}:${c||"default"}:${e.slice(-16)}`),m=l.get(k);if(!b.forceRefresh&&m&&m.expiresAt>Date.now())return m.token;let n={"Content-Type":"application/json",Accept:"application/json","User-Agent":g.s,Authorization:t(a)},o=u(a);o&&(n[i.systemId]=o);let q=await v(p(f,"cloudBaseUrl","/client/llm_tokens",h),{method:"POST",headers:n,body:JSON.stringify({organization_id:j}),signal:b.signal??void 0},b.proxyOptions??null),r="string"==typeof q?.token?q.token:q?.token?.[0]||q?.token?.value;if(!r)throw Error("Zed did not return an LLM token");return l.set(k,{token:r,expiresAt:Date.now()+3e6}),r}async function A(a,b,c={}){var d;let e=p(c.config||{},"llmBaseUrl",b,"https://cloud.zed.dev"),h=async b=>{let d=await z(a,{...c,forceRefresh:b});return(0,f.proxyAwareFetch)(e,{...c.fetchOptions,headers:{"User-Agent":g.s,...c.fetchOptions?.headers||{},Authorization:`Bearer ${d}`},signal:c.signal??void 0})},j=await h(!1);return d=j,(d?.status===401||d?.headers?.has?.(i.expiredToken)||d?.headers?.has?.(i.outdatedToken))&&(j=await h(!0)),j}function B(a){if(!a)return"";if("string"==typeof a)return a;if("object"==typeof a&&null!==a){if("string"==typeof a[0])return a[0];if("string"==typeof a.id)return a.id}return String(a)}function C(a){let b=B(a?.id);return b?{id:b,name:a.display_name||a.displayName||b,provider:a.provider,isLatest:!!a.is_latest,contextLength:a.max_token_count??a.maxTokenCount,contextLengthInMaxMode:a.max_token_count_in_max_mode??a.maxTokenCountInMaxMode,maxOutputTokens:a.max_output_tokens??a.maxOutputTokens,supportsTools:!!a.supports_tools,supportsImages:!!a.supports_images,supportsThinking:!!a.supports_thinking,supportsDisablingThinking:!!a.supports_disabling_thinking,supportsFastMode:!!a.supports_fast_mode,supportsServerSideCompaction:!!a.supports_server_side_compaction,supportedEffortLevels:a.supported_effort_levels??a.supportedEffortLevels??[],supportsStreamingTools:!!a.supports_streaming_tools,supportsParallelToolCalls:!!a.supports_parallel_tool_calls,isDisabled:!!a.is_disabled,disabledReason:a.disabled_reason??null}:null}async function D(a,b={}){let c,d,e;if(!a?.accessToken)return null;let f=(d=(c=a?.providerSpecificData||{}).organizationId||c.defaultOrganizationId||"default",e=a?.accessToken||a?.apiKey||"",`${c.userId||"unknown"}:${d}:${e.slice(-16)}`),g=m.get(f);if(!b.forceRefresh&&g&&g.expiresAt>Date.now())return g;let h=n.get(f);if(h&&!b.forceRefresh)return h;let j=(async()=>{let c=await A(a,"/models",{...b,fetchOptions:{method:"GET",headers:{Accept:"application/json",[i.clientSupportsXai]:"true"}}});if(!c.ok){let a=await c.text().catch(()=>""),b=c.headers?.get?.(i.minimumRequiredVersion),d=b?` (Zed requires client version >= ${b}; set ZED_CLIENT_VERSION)`:"";throw Error(`Zed models failed: ${c.status} ${a}${d}`)}let d=await c.json(),e=Array.isArray(d?.models)?d.models:[],g=e.map(C).filter(Boolean),h=g.filter(a=>!a.isDisabled),j=g.filter(a=>a.isDisabled),k=new Map;for(let a of e){let b=B(a?.id);b&&k.set(b,a)}let l={expiresAt:Date.now()+36e5,models:h,disabledModels:j,rawModels:e,rawById:k,defaultModel:B(d?.default_model??d?.defaultModel),defaultFastModel:B(d?.default_fast_model??d?.defaultFastModel),recommendedModels:(d?.recommended_models||d?.recommendedModels||[]).map(B).filter(Boolean)};return m.set(f,l),l})();n.set(f,j);try{return await j}finally{n.get(f)===j&&n.delete(f)}}},52284:(a,b,c)=>{c.d(b,{w$:()=>g});var d=c(39006),e=c(31223);let f=d.rE||"0.0.0";function g(a,b={}){let c,d=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.toLowerCase().startsWith("workos:")?b:/^eyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+/.test(b)?`workos:${b}`:b:""}(a))?`Bearer ${c}`:"",h={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`${e.bY.clineUserAgentProduct}/${f}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":e.bY.clineClientType,"X-CLIENT-VERSION":f,"X-CORE-VERSION":f,"X-IS-MULTIROOT":"false",...b};return d&&(h.Authorization=d),h}},70524:(a,b,c)=>{c.d(b,{ZED_CLIENT_VERSION:()=>g,s:()=>h});var d=c(69505);let e={darwin:"macos",win32:"windows",linux:"linux",freebsd:"freebsd"},f={x64:"x86_64",arm64:"aarch64",ia32:"x86",arm:"arm"},g=(0,d.t)("ZED_CLIENT_VERSION","1.20.2",/^\d+\.\d+\.\d+$/),h=function(a,b=process.platform,c=process.arch){return`Zed/${a} (${e[b]||b}; ${f[c]||c})`}(g)}};
@@ -1 +1 @@
1
- "use strict";exports.id=9899,exports.ids=[9899],exports.modules={69899:(a,b,c)=>{c.d(b,{bootstrapReliabilityPolicy:()=>f});let d=null;async function e(a){try{let b=await a();!function(a){let b={};for(let c of["retryPolicy","cooldowns","backoff","streamTimeouts"])a?.[c]!==void 0&&(b[c]=a[c]);}(b)}catch{}}async function f(){try{let{getSettings:a}=await c.e(4406).then(c.bind(c,54406));await (d??=e(a))}catch{}}}};
1
+ "use strict";exports.id=9899,exports.ids=[9899],exports.modules={69899:(a,b,c)=>{c.d(b,{bootstrapReliabilityPolicy:()=>f});let d=null;async function e(a){try{let b=await a();!function(a){let b={};for(let c of["retryPolicy","cooldowns","backoff","streamTimeouts"])a?.[c]!==void 0&&(b[c]=a[c]);}(b)}catch{}}async function f(){try{let{getSettings:a}=await Promise.all([c.e(4406),c.e(9594)]).then(c.bind(c,54406));await (d??=e(a))}catch{}}}};
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={21820:a=>{a.exports=require("os")},27172:(a,b,c)=>{async function d(){{let{initConsoleLogCapture:a}=await Promise.all([c.e(9343),c.e(6158)]).then(c.bind(c,67310));a();let{installCatalogSource:b}=await c.e(8432).then(c.bind(c,58432));await b();let{startModelCatalogSync:d}=await c.e(7716).then(c.bind(c,57716));d();let{bootstrapReliabilityPolicy:e}=await c.e(9899).then(c.bind(c,69899));await e()}}c.r(b),c.d(b,{register:()=>d})},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},87550:a=>{a.exports=require("better-sqlite3")},94735:a=>{a.exports=require("events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=27172);module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=6183,a.ids=[6183],a.modules={21820:a=>{a.exports=require("os")},27172:(a,b,c)=>{async function d(){{let{initConsoleLogCapture:a}=await Promise.all([c.e(9343),c.e(5055),c.e(8988)]).then(c.bind(c,72877));a();let{installCatalogSource:b}=await c.e(8432).then(c.bind(c,58432));await b();let{startModelCatalogSync:d}=await c.e(5335).then(c.bind(c,57716));d(),await Promise.all([c.e(9343),c.e(539),c.e(4406),c.e(4334),c.e(5055),c.e(5765)]).then(c.bind(c,75765)).then(a=>a.refreshCustomModelCaps()).catch(a=>console.warn("[CustomModelCaps] initial load failed:",a?.message));let{bootstrapReliabilityPolicy:e}=await c.e(9899).then(c.bind(c,69899));await e()}}c.r(b),c.d(b,{register:()=>d})},29021:a=>{a.exports=require("fs")},33873:a=>{a.exports=require("path")},46293:a=>{a.exports=require("sql.js")},55511:a=>{a.exports=require("crypto")},73024:a=>{a.exports=require("node:fs")},76760:a=>{a.exports=require("node:path")},77598:a=>{a.exports=require("node:crypto")},80099:a=>{a.exports=require("node:sqlite")},81787:a=>{a.exports=require("bun:sqlite")},87550:a=>{a.exports=require("better-sqlite3")},94735:a=>{a.exports=require("events")}};var b=require("./webpack-runtime.js");b.C(a);var c=b(b.s=27172);module.exports=c})();
@@ -1 +1 @@
1
- {"version":1,"files":["../../node_modules/better-sqlite3/lib/binding.js","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/explain.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/better-sqlite3/prebuilds/darwin-arm64.node","../../node_modules/better-sqlite3/prebuilds/darwin-x64.node","../../node_modules/better-sqlite3/prebuilds/linux-arm64.node","../../node_modules/better-sqlite3/prebuilds/linux-x64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node","../../node_modules/better-sqlite3/prebuilds/win32-arm64.node","../../node_modules/better-sqlite3/prebuilds/win32-x64.node","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../package.json","chunks/1026.js","chunks/1129.js","chunks/1152.js","chunks/1159.js","chunks/1204.js","chunks/1227.js","chunks/1245.js","chunks/1320.js","chunks/1336.js","chunks/1432.js","chunks/1452.js","chunks/1455.js","chunks/1487.js","chunks/1533.js","chunks/1764.js","chunks/1778.js","chunks/1794.js","chunks/1813.js","chunks/1863.js","chunks/1930.js","chunks/1952.js","chunks/1994.js","chunks/1998.js","chunks/2051.js","chunks/206.js","chunks/2116.js","chunks/2217.js","chunks/2380.js","chunks/2384.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2460.js","chunks/2592.js","chunks/2600.js","chunks/3016.js","chunks/3093.js","chunks/3097.js","chunks/318.js","chunks/3225.js","chunks/3306.js","chunks/331.js","chunks/3340.js","chunks/3414.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3586.js","chunks/3593.js","chunks/3676.js","chunks/385.js","chunks/3859.js","chunks/3894.js","chunks/3919.js","chunks/392.js","chunks/3943.js","chunks/3966.js","chunks/4000.js","chunks/4033.js","chunks/4037.js","chunks/4072.js","chunks/4114.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4199.js","chunks/4247.js","chunks/4278.js","chunks/4334.js","chunks/4406.js","chunks/4452.js","chunks/4492.js","chunks/4521.js","chunks/4547.js","chunks/4685.js","chunks/4730.js","chunks/4739.js","chunks/4741.js","chunks/4780.js","chunks/4876.js","chunks/4892.js","chunks/4954.js","chunks/499.js","chunks/507.js","chunks/5081.js","chunks/5173.js","chunks/524.js","chunks/5258.js","chunks/539.js","chunks/5433.js","chunks/5497.js","chunks/5560.js","chunks/5573.js","chunks/5615.js","chunks/5699.js","chunks/5781.js","chunks/6070.js","chunks/6103.js","chunks/6158.js","chunks/6244.js","chunks/6252.js","chunks/6353.js","chunks/6354.js","chunks/6427.js","chunks/6496.js","chunks/6551.js","chunks/6561.js","chunks/6588.js","chunks/6589.js","chunks/6703.js","chunks/6734.js","chunks/6763.js","chunks/6769.js","chunks/6844.js","chunks/6849.js","chunks/698.js","chunks/7023.js","chunks/7184.js","chunks/7211.js","chunks/7247.js","chunks/7261.js","chunks/737.js","chunks/7382.js","chunks/7469.js","chunks/7616.js","chunks/7642.js","chunks/7716.js","chunks/7774.js","chunks/7819.js","chunks/7828.js","chunks/7901.js","chunks/7914.js","chunks/7965.js","chunks/8037.js","chunks/8062.js","chunks/8171.js","chunks/8255.js","chunks/8372.js","chunks/8416.js","chunks/8432.js","chunks/8468.js","chunks/8469.js","chunks/8520.js","chunks/8624.js","chunks/8635.js","chunks/8658.js","chunks/8666.js","chunks/8708.js","chunks/8823.js","chunks/8853.js","chunks/8895.js","chunks/8920.js","chunks/9124.js","chunks/915.js","chunks/9343.js","chunks/9421.js","chunks/9578.js","chunks/9613.js","chunks/965.js","chunks/9710.js","chunks/9713.js","chunks/9755.js","chunks/9850.js","chunks/9899.js","chunks/994.js","chunks/9994.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../../node_modules/better-sqlite3/lib/binding.js","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/explain.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/better-sqlite3/prebuilds/darwin-arm64.node","../../node_modules/better-sqlite3/prebuilds/darwin-x64.node","../../node_modules/better-sqlite3/prebuilds/linux-arm64.node","../../node_modules/better-sqlite3/prebuilds/linux-x64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node","../../node_modules/better-sqlite3/prebuilds/win32-arm64.node","../../node_modules/better-sqlite3/prebuilds/win32-x64.node","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../package.json","chunks/1004.js","chunks/1129.js","chunks/1152.js","chunks/1159.js","chunks/1204.js","chunks/1215.js","chunks/1227.js","chunks/1245.js","chunks/1320.js","chunks/1336.js","chunks/1432.js","chunks/1452.js","chunks/1455.js","chunks/1487.js","chunks/1533.js","chunks/1778.js","chunks/1794.js","chunks/1813.js","chunks/1863.js","chunks/1930.js","chunks/1952.js","chunks/1994.js","chunks/1998.js","chunks/2051.js","chunks/206.js","chunks/2116.js","chunks/2217.js","chunks/2380.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2460.js","chunks/257.js","chunks/2592.js","chunks/2600.js","chunks/2705.js","chunks/3016.js","chunks/3097.js","chunks/318.js","chunks/3225.js","chunks/3340.js","chunks/3535.js","chunks/3546.js","chunks/3593.js","chunks/385.js","chunks/3859.js","chunks/3894.js","chunks/3919.js","chunks/392.js","chunks/3943.js","chunks/3966.js","chunks/4000.js","chunks/4033.js","chunks/4072.js","chunks/4114.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4247.js","chunks/4334.js","chunks/4406.js","chunks/4452.js","chunks/4492.js","chunks/4521.js","chunks/4547.js","chunks/4685.js","chunks/4730.js","chunks/4739.js","chunks/4741.js","chunks/4780.js","chunks/4876.js","chunks/4892.js","chunks/4954.js","chunks/499.js","chunks/5055.js","chunks/507.js","chunks/5081.js","chunks/5173.js","chunks/5230.js","chunks/524.js","chunks/5258.js","chunks/5260.js","chunks/5335.js","chunks/539.js","chunks/5433.js","chunks/5497.js","chunks/5559.js","chunks/5560.js","chunks/5573.js","chunks/5615.js","chunks/5649.js","chunks/5699.js","chunks/5765.js","chunks/5781.js","chunks/5827.js","chunks/5869.js","chunks/5908.js","chunks/6070.js","chunks/6103.js","chunks/620.js","chunks/6244.js","chunks/6252.js","chunks/6328.js","chunks/6353.js","chunks/6355.js","chunks/6427.js","chunks/6493.js","chunks/6496.js","chunks/6551.js","chunks/6561.js","chunks/6588.js","chunks/6589.js","chunks/6703.js","chunks/6763.js","chunks/6844.js","chunks/6849.js","chunks/698.js","chunks/7023.js","chunks/7184.js","chunks/7211.js","chunks/7247.js","chunks/737.js","chunks/7382.js","chunks/7469.js","chunks/7485.js","chunks/7616.js","chunks/7642.js","chunks/7695.js","chunks/7716.js","chunks/7774.js","chunks/7819.js","chunks/7828.js","chunks/7914.js","chunks/7965.js","chunks/8037.js","chunks/8062.js","chunks/8171.js","chunks/8255.js","chunks/8261.js","chunks/8416.js","chunks/8432.js","chunks/8468.js","chunks/8469.js","chunks/8520.js","chunks/8624.js","chunks/8658.js","chunks/8666.js","chunks/8708.js","chunks/878.js","chunks/8823.js","chunks/8853.js","chunks/8895.js","chunks/8920.js","chunks/8954.js","chunks/8988.js","chunks/9016.js","chunks/9124.js","chunks/915.js","chunks/9243.js","chunks/9326.js","chunks/9343.js","chunks/9421.js","chunks/9489.js","chunks/9578.js","chunks/9594.js","chunks/9613.js","chunks/965.js","chunks/9710.js","chunks/9713.js","chunks/9755.js","chunks/9850.js","chunks/9899.js","chunks/9994.js","webpack-runtime.js"]}
@@ -1 +1 @@
1
- globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/3Qm_WgU2xvFJ9U_G7SKhT/_buildManifest.js","static/3Qm_WgU2xvFJ9U_G7SKhT/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-187fa25c98ba99f3.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-0a1186eb85c3950f.js","static/chunks/main-app-cf38df0bac48d0de.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
1
+ globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/gdVYVwJMM6JES9Y1KPQyw/_buildManifest.js","static/gdVYVwJMM6JES9Y1KPQyw/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-1e19a4b05298b49d.js","static/chunks/4bd1b696-8a4ab4fdf0ae305a.js","static/chunks/3794-0a1186eb85c3950f.js","static/chunks/main-app-cf38df0bac48d0de.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
@@ -1 +1 @@
1
- self.__REACT_LOADABLE_MANIFEST='{"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./ClaudeToolCard":{"id":971,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/971-27c4c5772ea6abeb.js","static/chunks/4506.fbe8545026f1cbaa.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./ClineToolCard":{"id":28387,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/8387.d76fed15eca7020b.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./CodexToolCard":{"id":50270,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/270.fca1d241965ad518.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./CopilotToolCard":{"id":44289,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/4289.6b78acbbff5886aa.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./CoworkToolCard":{"id":69394,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/9284-61f162b7e4e8e29a.js","static/chunks/9394-ac4431dfa81224cc.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./DeepSeekTuiToolCard":{"id":87198,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/7198.150be318dbc95704.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./DefaultToolCard":{"id":27543,"files":["static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/6174.18e2c57e892d721a.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./DroidToolCard":{"id":16919,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/9300.56f8a551e86baf88.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./GrokBuildToolCard":{"id":19449,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/9449-f56c6dfcfae3b50a.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./HermesToolCard":{"id":94815,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/4815.903371440731eb11.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./JcodeToolCard":{"id":98922,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/8922.3da620b68775ad61.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./KiloToolCard":{"id":75064,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/5064.98f2197be4baff8a.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./OpenClawToolCard":{"id":68046,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/8046.10d75ab56fadd8a5.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./OpenCodeToolCard":{"id":93044,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-e6a70cb9d3684f7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a441cde708542153.js","static/chunks/198-145d0ed2ec3c54f5.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/3044-ee7d162fa370dc8a.js","static/chunks/1536.2f931db1adf1a474.js"]},"app/(dashboard)/dashboard/media-providers/[kind]/page.js -> @/shared/components/Drawer":{"id":29499,"files":["static/chunks/9499.83d2d5f989f163b0.js"]},"app/(dashboard)/dashboard/media-providers/web/page.js -> @/shared/components/Drawer":{"id":29499,"files":["static/chunks/9499.83d2d5f989f163b0.js"]},"app/(dashboard)/dashboard/pxpipe/PxpipeClient.js -> ./PxpipeSavingsChart":{"id":49176,"files":["static/chunks/8388.699e1ab12e1565d1.js","static/chunks/9176.7bca687eb6d20d48.js"]},"app/(dashboard)/dashboard/translator/TranslatorStep.js -> @monaco-editor/react":{"id":28202,"files":["static/chunks/8202.1ffc6ce531e066ce.js"]},"app/(dashboard)/dashboard/usage/components/UsageTokensChart.js -> ./UsageTokensChartInner":{"id":92513,"files":["static/chunks/8388.699e1ab12e1565d1.js","static/chunks/2513.07cfab564e286e41.js"]},"app/(dashboard)/dashboard/usage/page.js -> ./components/UsageTokensChart":{"id":37942,"files":["static/chunks/7942.65a1310eb9394724.js"]},"shared/components/CommandPaletteProvider.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/Header.js -> @/shared/components/DonateModal":{"id":86554,"files":["static/chunks/6554.5d2fe03b263ab0ac.js"]},"shared/components/HeaderLanguage.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/HeaderMenu.js -> ./ChangelogModal":{"id":97556,"files":["static/chunks/9233-7c1e356386d4e864.js","static/chunks/7556.0336d8b6a1abd43a.js"]},"shared/components/HeaderMenu.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/SidebarUserRow.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/routesMap/RoutesMapCard.js -> ./RoutesMap":{"id":14490,"files":["static/chunks/4490.0a9025c0609ad814.js"]},"shared/utils/paletteLazy.js -> ./commandSources.js":{"id":6354,"files":["static/chunks/8105-5c7e7c73b4bd532d.js","static/chunks/5814-f219e250823160d0.js","static/chunks/6354.7a4bb5771a8b2614.js"]},"shared/utils/paletteLazy.js -> ./paletteVerbs.js":{"id":31036,"files":["static/chunks/1036.8a38d2bfc9f93236.js"]}}';
1
+ self.__REACT_LOADABLE_MANIFEST='{"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./ClaudeToolCard":{"id":971,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/971-27c4c5772ea6abeb.js","static/chunks/4506.fbe8545026f1cbaa.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./ClineToolCard":{"id":28387,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/8387.d76fed15eca7020b.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./CodexToolCard":{"id":50270,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/270.fca1d241965ad518.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./CopilotToolCard":{"id":44289,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/4289.6b78acbbff5886aa.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./CoworkToolCard":{"id":69394,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/9284-61f162b7e4e8e29a.js","static/chunks/9394-ac4431dfa81224cc.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./DeepSeekTuiToolCard":{"id":87198,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/7198.150be318dbc95704.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./DefaultToolCard":{"id":27543,"files":["static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/6174.a18fedfa3d765b1e.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./DroidToolCard":{"id":16919,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/9300.56f8a551e86baf88.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./GrokBuildToolCard":{"id":19449,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/9449-f56c6dfcfae3b50a.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./HermesToolCard":{"id":94815,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/4815.903371440731eb11.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./JcodeToolCard":{"id":98922,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/8922.3da620b68775ad61.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./KiloToolCard":{"id":75064,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/5064.98f2197be4baff8a.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./OpenClawToolCard":{"id":68046,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/8046.10d75ab56fadd8a5.js"]},"app/(dashboard)/dashboard/cli-tools/components/ToolSetupPanel.js -> ./OpenCodeToolCard":{"id":93044,"files":["static/chunks/4070-c76ef7302b944563.js","static/chunks/9671-13bf0a1dd082ad39.js","static/chunks/4685-8a4450325e60133c.js","static/chunks/7899-a12f962af02edf7f.js","static/chunks/1863-07d1c4c60eabc139.js","static/chunks/5014-a5d960f4c6bc6297.js","static/chunks/198-7c5bbea89ef8bc14.js","static/chunks/3961-193c64b1695b33ee.js","static/chunks/5060-1c610ccae6241090.js","static/chunks/3044-ee7d162fa370dc8a.js","static/chunks/1536.2f931db1adf1a474.js"]},"app/(dashboard)/dashboard/media-providers/[kind]/page.js -> @/shared/components/Drawer":{"id":29499,"files":["static/chunks/9499.83d2d5f989f163b0.js"]},"app/(dashboard)/dashboard/media-providers/web/page.js -> @/shared/components/Drawer":{"id":29499,"files":["static/chunks/9499.83d2d5f989f163b0.js"]},"app/(dashboard)/dashboard/pxpipe/PxpipeClient.js -> ./PxpipeSavingsChart":{"id":49176,"files":["static/chunks/8388.699e1ab12e1565d1.js","static/chunks/9176.7bca687eb6d20d48.js"]},"app/(dashboard)/dashboard/translator/TranslatorStep.js -> @monaco-editor/react":{"id":28202,"files":["static/chunks/8202.1ffc6ce531e066ce.js"]},"app/(dashboard)/dashboard/usage/components/UsageTokensChart.js -> ./UsageTokensChartInner":{"id":92513,"files":["static/chunks/8388.699e1ab12e1565d1.js","static/chunks/2513.07cfab564e286e41.js"]},"app/(dashboard)/dashboard/usage/page.js -> ./components/UsageTokensChart":{"id":37942,"files":["static/chunks/7942.65a1310eb9394724.js"]},"shared/components/CommandPaletteProvider.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/Header.js -> @/shared/components/DonateModal":{"id":86554,"files":["static/chunks/6554.5d2fe03b263ab0ac.js"]},"shared/components/HeaderLanguage.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/HeaderMenu.js -> ./ChangelogModal":{"id":97556,"files":["static/chunks/9233-7c1e356386d4e864.js","static/chunks/7556.0336d8b6a1abd43a.js"]},"shared/components/HeaderMenu.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/SidebarUserRow.js -> ./LanguageSwitcher":{"id":21931,"files":["static/chunks/1931.0a9b23f72463011f.js"]},"shared/components/routesMap/RoutesMapCard.js -> ./RoutesMap":{"id":14490,"files":["static/chunks/4490.0a9025c0609ad814.js"]},"shared/utils/paletteLazy.js -> ./commandSources.js":{"id":6354,"files":["static/chunks/8105-71d1aea9708976db.js","static/chunks/5814-f219e250823160d0.js","static/chunks/6354.7a4bb5771a8b2614.js"]},"shared/utils/paletteLazy.js -> ./paletteVerbs.js":{"id":31036,"files":["static/chunks/1036.8a38d2bfc9f93236.js"]}}';
@@ -1 +1 @@
1
- {"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/lib/binding.js","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/explain.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/better-sqlite3/prebuilds/darwin-arm64.node","../../node_modules/better-sqlite3/prebuilds/darwin-x64.node","../../node_modules/better-sqlite3/prebuilds/linux-arm64.node","../../node_modules/better-sqlite3/prebuilds/linux-x64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node","../../node_modules/better-sqlite3/prebuilds/win32-arm64.node","../../node_modules/better-sqlite3/prebuilds/win32-x64.node","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/framework/boundary-constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/lib/semver-noop.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/load-manifest.external.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/deep-freeze.js","../../node_modules/next/dist/shared/lib/instant-messages.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/package.json","../../node_modules/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1026.js","chunks/1129.js","chunks/1152.js","chunks/1159.js","chunks/1204.js","chunks/1227.js","chunks/1245.js","chunks/1320.js","chunks/1336.js","chunks/1432.js","chunks/1452.js","chunks/1455.js","chunks/1487.js","chunks/1533.js","chunks/1764.js","chunks/1778.js","chunks/1794.js","chunks/1813.js","chunks/1863.js","chunks/1930.js","chunks/1952.js","chunks/1994.js","chunks/1998.js","chunks/2051.js","chunks/206.js","chunks/2116.js","chunks/2217.js","chunks/2380.js","chunks/2384.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2460.js","chunks/2592.js","chunks/2600.js","chunks/3016.js","chunks/3093.js","chunks/3097.js","chunks/318.js","chunks/3225.js","chunks/3306.js","chunks/331.js","chunks/3340.js","chunks/3414.js","chunks/3535.js","chunks/3546.js","chunks/3558.js","chunks/3586.js","chunks/3593.js","chunks/3676.js","chunks/385.js","chunks/3859.js","chunks/3894.js","chunks/3919.js","chunks/392.js","chunks/3943.js","chunks/3966.js","chunks/4000.js","chunks/4033.js","chunks/4037.js","chunks/4072.js","chunks/4114.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4199.js","chunks/4247.js","chunks/4278.js","chunks/4334.js","chunks/4406.js","chunks/4452.js","chunks/4492.js","chunks/4521.js","chunks/4547.js","chunks/4685.js","chunks/4730.js","chunks/4739.js","chunks/4741.js","chunks/4780.js","chunks/4876.js","chunks/4892.js","chunks/4954.js","chunks/499.js","chunks/507.js","chunks/5081.js","chunks/5173.js","chunks/524.js","chunks/5258.js","chunks/539.js","chunks/5433.js","chunks/5497.js","chunks/5560.js","chunks/5573.js","chunks/5615.js","chunks/5699.js","chunks/5781.js","chunks/6070.js","chunks/6103.js","chunks/6158.js","chunks/6244.js","chunks/6252.js","chunks/6353.js","chunks/6354.js","chunks/6427.js","chunks/6496.js","chunks/6551.js","chunks/6561.js","chunks/6588.js","chunks/6589.js","chunks/6703.js","chunks/6734.js","chunks/6763.js","chunks/6769.js","chunks/6844.js","chunks/6849.js","chunks/698.js","chunks/7023.js","chunks/7184.js","chunks/7211.js","chunks/7247.js","chunks/7261.js","chunks/737.js","chunks/7382.js","chunks/7469.js","chunks/7616.js","chunks/7642.js","chunks/7716.js","chunks/7774.js","chunks/7819.js","chunks/7828.js","chunks/7901.js","chunks/7914.js","chunks/7965.js","chunks/8037.js","chunks/8062.js","chunks/8171.js","chunks/8255.js","chunks/8372.js","chunks/8416.js","chunks/8432.js","chunks/8468.js","chunks/8469.js","chunks/8520.js","chunks/8624.js","chunks/8635.js","chunks/8658.js","chunks/8666.js","chunks/8708.js","chunks/8823.js","chunks/8853.js","chunks/8895.js","chunks/8920.js","chunks/9124.js","chunks/915.js","chunks/9343.js","chunks/9421.js","chunks/9578.js","chunks/9613.js","chunks/965.js","chunks/9710.js","chunks/9713.js","chunks/9755.js","chunks/9850.js","chunks/9899.js","chunks/994.js","chunks/9994.js","webpack-runtime.js"]}
1
+ {"version":1,"files":["../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../node_modules/@swc/helpers/package.json","../../node_modules/better-sqlite3/lib/binding.js","../../node_modules/better-sqlite3/lib/database.js","../../node_modules/better-sqlite3/lib/index.js","../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../node_modules/better-sqlite3/lib/methods/backup.js","../../node_modules/better-sqlite3/lib/methods/explain.js","../../node_modules/better-sqlite3/lib/methods/function.js","../../node_modules/better-sqlite3/lib/methods/inspect.js","../../node_modules/better-sqlite3/lib/methods/pragma.js","../../node_modules/better-sqlite3/lib/methods/serialize.js","../../node_modules/better-sqlite3/lib/methods/table.js","../../node_modules/better-sqlite3/lib/methods/transaction.js","../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../node_modules/better-sqlite3/lib/sqlite-error.js","../../node_modules/better-sqlite3/lib/util.js","../../node_modules/better-sqlite3/package.json","../../node_modules/better-sqlite3/prebuilds/darwin-arm64.node","../../node_modules/better-sqlite3/prebuilds/darwin-x64.node","../../node_modules/better-sqlite3/prebuilds/linux-arm64.node","../../node_modules/better-sqlite3/prebuilds/linux-x64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node","../../node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node","../../node_modules/better-sqlite3/prebuilds/win32-arm64.node","../../node_modules/better-sqlite3/prebuilds/win32-x64.node","../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../node_modules/next/dist/client/components/hooks-server-context.js","../../node_modules/next/dist/client/components/static-generation-bailout.js","../../node_modules/next/dist/client/lib/console.js","../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../node_modules/next/dist/compiled/source-map/package.json","../../node_modules/next/dist/compiled/source-map/source-map.js","../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../node_modules/next/dist/compiled/ws/index.js","../../node_modules/next/dist/compiled/ws/package.json","../../node_modules/next/dist/lib/client-and-server-references.js","../../node_modules/next/dist/lib/constants.js","../../node_modules/next/dist/lib/framework/boundary-constants.js","../../node_modules/next/dist/lib/interop-default.js","../../node_modules/next/dist/lib/is-error.js","../../node_modules/next/dist/lib/picocolors.js","../../node_modules/next/dist/lib/scheduler.js","../../node_modules/next/dist/lib/semver-noop.js","../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../node_modules/next/dist/server/app-render/async-local-storage.js","../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../node_modules/next/dist/server/app-render/cache-signal.js","../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../node_modules/next/dist/server/app-render/staged-rendering.js","../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../node_modules/next/dist/server/lib/lru-cache.js","../../node_modules/next/dist/server/lib/parse-stack.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../node_modules/next/dist/server/lib/source-maps.js","../../node_modules/next/dist/server/lib/trace/constants.js","../../node_modules/next/dist/server/lib/trace/tracer.js","../../node_modules/next/dist/server/load-manifest.external.js","../../node_modules/next/dist/server/node-environment-baseline.js","../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../node_modules/next/dist/server/node-environment-extensions/date.js","../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../node_modules/next/dist/server/node-environment-extensions/random.js","../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../node_modules/next/dist/server/node-environment.js","../../node_modules/next/dist/server/node-polyfill-crypto.js","../../node_modules/next/dist/server/patch-error-inspect.js","../../node_modules/next/dist/server/require-hook.js","../../node_modules/next/dist/server/response-cache/types.js","../../node_modules/next/dist/server/runtime-reacts.external.js","../../node_modules/next/dist/shared/lib/deep-freeze.js","../../node_modules/next/dist/shared/lib/instant-messages.js","../../node_modules/next/dist/shared/lib/invariant-error.js","../../node_modules/next/dist/shared/lib/is-plain-object.js","../../node_modules/next/dist/shared/lib/is-thenable.js","../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../node_modules/next/dist/shared/lib/server-reference-info.js","../../node_modules/next/package.json","../../node_modules/react/cjs/react.development.js","../../node_modules/react/cjs/react.production.js","../../node_modules/react/index.js","../../node_modules/react/package.json","../../node_modules/sql.js/dist/sql-wasm.js","../../node_modules/sql.js/package.json","../../package.json","../package.json","chunks/1004.js","chunks/1129.js","chunks/1152.js","chunks/1159.js","chunks/1204.js","chunks/1215.js","chunks/1227.js","chunks/1245.js","chunks/1320.js","chunks/1336.js","chunks/1432.js","chunks/1452.js","chunks/1455.js","chunks/1487.js","chunks/1533.js","chunks/1778.js","chunks/1794.js","chunks/1813.js","chunks/1863.js","chunks/1930.js","chunks/1952.js","chunks/1994.js","chunks/1998.js","chunks/2051.js","chunks/206.js","chunks/2116.js","chunks/2217.js","chunks/2380.js","chunks/24.js","chunks/241.js","chunks/2430.js","chunks/2460.js","chunks/257.js","chunks/2592.js","chunks/2600.js","chunks/2705.js","chunks/3016.js","chunks/3097.js","chunks/318.js","chunks/3225.js","chunks/3340.js","chunks/3535.js","chunks/3546.js","chunks/3593.js","chunks/385.js","chunks/3859.js","chunks/3894.js","chunks/3919.js","chunks/392.js","chunks/3943.js","chunks/3966.js","chunks/4000.js","chunks/4033.js","chunks/4072.js","chunks/4114.js","chunks/4123.js","chunks/4125.js","chunks/4152.js","chunks/4247.js","chunks/4334.js","chunks/4406.js","chunks/4452.js","chunks/4492.js","chunks/4521.js","chunks/4547.js","chunks/4685.js","chunks/4730.js","chunks/4739.js","chunks/4741.js","chunks/4780.js","chunks/4876.js","chunks/4892.js","chunks/4954.js","chunks/499.js","chunks/5055.js","chunks/507.js","chunks/5081.js","chunks/5173.js","chunks/5230.js","chunks/524.js","chunks/5258.js","chunks/5260.js","chunks/5335.js","chunks/539.js","chunks/5433.js","chunks/5497.js","chunks/5559.js","chunks/5560.js","chunks/5573.js","chunks/5615.js","chunks/5649.js","chunks/5699.js","chunks/5765.js","chunks/5781.js","chunks/5827.js","chunks/5869.js","chunks/5908.js","chunks/6070.js","chunks/6103.js","chunks/620.js","chunks/6244.js","chunks/6252.js","chunks/6328.js","chunks/6353.js","chunks/6355.js","chunks/6427.js","chunks/6493.js","chunks/6496.js","chunks/6551.js","chunks/6561.js","chunks/6588.js","chunks/6589.js","chunks/6703.js","chunks/6763.js","chunks/6844.js","chunks/6849.js","chunks/698.js","chunks/7023.js","chunks/7184.js","chunks/7211.js","chunks/7247.js","chunks/737.js","chunks/7382.js","chunks/7469.js","chunks/7485.js","chunks/7616.js","chunks/7642.js","chunks/7695.js","chunks/7716.js","chunks/7774.js","chunks/7819.js","chunks/7828.js","chunks/7914.js","chunks/7965.js","chunks/8037.js","chunks/8062.js","chunks/8171.js","chunks/8255.js","chunks/8261.js","chunks/8416.js","chunks/8432.js","chunks/8468.js","chunks/8469.js","chunks/8520.js","chunks/8624.js","chunks/8658.js","chunks/8666.js","chunks/8708.js","chunks/878.js","chunks/8823.js","chunks/8853.js","chunks/8895.js","chunks/8920.js","chunks/8954.js","chunks/8988.js","chunks/9016.js","chunks/9124.js","chunks/915.js","chunks/9243.js","chunks/9326.js","chunks/9343.js","chunks/9421.js","chunks/9489.js","chunks/9578.js","chunks/9594.js","chunks/9613.js","chunks/965.js","chunks/9710.js","chunks/9713.js","chunks/9755.js","chunks/9850.js","chunks/9899.js","chunks/9994.js","webpack-runtime.js"]}
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/2b5b02fc7e511755-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/9d5a263311222317-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a3e6e8037ffa1953.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa016aab0e6d1295-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c7e0cf6c760983e7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/9f0b95a0d0bc5e51.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-187fa25c98ba99f3.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-0a1186eb85c3950f.js" async=""></script><script src="/_next/static/chunks/main-app-cf38df0bac48d0de.js" async=""></script><script src="/_next/static/chunks/3670-e7a22341025498f8.js" async=""></script><script src="/_next/static/chunks/app/layout-c266f1acedfb4651.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#f3f1ea" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0d0e12" media="(prefers-color-scheme: dark)"/><title>tokenhop - AI infrastructure management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/brand/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/brand/favicon.ico"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if(["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","km","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no","fa"].indexOf(l)<0)l='en';r.lang=l;if(["ar","he","fa","ur"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();</script><script>(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-187fa25c98ba99f3.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24597,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"default\"]\n3:I[21110,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"ThemeProvider\"]\n4:I[94635,[\"3670\",\"static/chunks/3670-e7a22341025498f8.js\",\"7177\",\"static/chunks/app/layout-c266f1acedfb4651.js\"],\"RuntimeI18nProvider\"]\n5:I[57121,[],\"\"]\n6:I[74581,[],\"\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[90484,[],\"ViewportBoundary\"]\nd:I[90484,[],\"MetadataBoundary\"]\nf:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/2b5b02fc7e511755-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9d5a263311222317-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a3e6e8037ffa1953.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa016aab0e6d1295-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c7e0cf6c760983e7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/9f0b95a0d0bc5e51.css\",\"style\"]\na:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/9f0b95a0d0bc5e51.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_ac327c __variable_ebdb69 __variable_db7957 __variable_614881\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\\\"en\\\",\\\"vi\\\",\\\"zh-CN\\\",\\\"zh-TW\\\",\\\"ja\\\",\\\"pt-BR\\\",\\\"pt-PT\\\",\\\"ko\\\",\\\"es\\\",\\\"de\\\",\\\"fr\\\",\\\"he\\\",\\\"ar\\\",\\\"ru\\\",\\\"pl\\\",\\\"cs\\\",\\\"nl\\\",\\\"tr\\\",\\\"uk\\\",\\\"tl\\\",\\\"id\\\",\\\"km\\\",\\\"th\\\",\\\"hi\\\",\\\"bn\\\",\\\"ur\\\",\\\"ro\\\",\\\"sv\\\",\\\"it\\\",\\\"el\\\",\\\"hu\\\",\\\"fi\\\",\\\"da\\\",\\\"no\\\",\\\"fa\\\"].indexOf(l)\u003c0)l='en';r.lang=l;if([\\\"ar\\\",\\\"he\\\",\\\"fa\\\",\\\"ur\\\"].indexOf(l)\u003e=0)r.dir='rtl'}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m\u0026\u0026decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"3Qm_WgU2xvFJ9U_G7SKhT\"}\na:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f3f1ea\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0d0e12\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n10:I[86869,[],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"tokenhop - AI infrastructure management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.ico\"}],[\"$\",\"$L10\",\"5\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/22a5144ee8d83bca-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/2b5b02fc7e511755-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/7d4881bb7e1bf84d-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/9d5a263311222317-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/a3e6e8037ffa1953.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/aa016aab0e6d1295-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/c7e0cf6c760983e7-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/ffa1d9c3cbb4e959.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-1e19a4b05298b49d.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-0a1186eb85c3950f.js" async=""></script><script src="/_next/static/chunks/main-app-cf38df0bac48d0de.js" async=""></script><script src="/_next/static/chunks/3670-d6dc44bc181c9b8a.js" async=""></script><script src="/_next/static/chunks/app/layout-29d74e164758a126.js" async=""></script><meta name="robots" content="noindex"/><meta name="theme-color" content="#f3f1ea" media="(prefers-color-scheme: light)"/><meta name="theme-color" content="#0d0e12" media="(prefers-color-scheme: dark)"/><title>tokenhop - AI infrastructure management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/brand/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/brand/favicon.ico"/><meta name="next-size-adjust" content=""/><title>404: This page could not be found.</title><script>(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'&&m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if(["en","vi","zh-CN","zh-TW","ja","pt-BR","pt-PT","ko","es","de","fr","he","ar","ru","pl","cs","nl","tr","uk","tl","id","km","th","hi","bn","ur","ro","sv","it","el","hu","fi","da","no","fa"].indexOf(l)<0)l='en';r.lang=l;if(["ar","he","fa","ur"].indexOf(l)>=0)r.dir='rtl'}catch(e){}})();</script><script>(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m&&decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,&quot;Segoe UI&quot;,Roboto,Helvetica,Arial,sans-serif,&quot;Apple Color Emoji&quot;,&quot;Segoe UI Emoji&quot;;height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/webpack-1e19a4b05298b49d.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[24597,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"default\"]\n3:I[21110,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"ThemeProvider\"]\n4:I[94635,[\"3670\",\"static/chunks/3670-d6dc44bc181c9b8a.js\",\"7177\",\"static/chunks/app/layout-29d74e164758a126.js\"],\"RuntimeI18nProvider\"]\n5:I[57121,[],\"\"]\n6:I[74581,[],\"\"]\n7:I[90484,[],\"OutletBoundary\"]\n8:\"$Sreact.suspense\"\nb:I[90484,[],\"ViewportBoundary\"]\nd:I[90484,[],\"MetadataBoundary\"]\nf:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/22a5144ee8d83bca-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/2b5b02fc7e511755-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/7d4881bb7e1bf84d-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/9d5a263311222317-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/a3e6e8037ffa1953.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/aa016aab0e6d1295-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/c7e0cf6c760983e7-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/ffa1d9c3cbb4e959.css\",\"style\"]\na:X\n0:{\"P\":null,\"c\":[\"\",\"_not-found\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"_not-found\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/ffa1d9c3cbb4e959.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_0d2d87 __variable_4994ab __variable_258e5a __variable_614881\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){var r=document.documentElement;try{var s=localStorage.getItem('theme');var t=s?(JSON.parse(s).state||{}).theme:'dark';t=t||'dark';var m=window.matchMedia('(prefers-color-scheme: dark)').matches;if(t==='dark'||(t==='system'\u0026\u0026m)){r.classList.add('dark')}else{r.classList.remove('dark')}}catch(e){r.classList.add('dark')}try{var c=document.cookie.match(/(?:^|; )locale=([^;]*)/);var l=c?decodeURIComponent(c[1]):'en';if(l==='zh')l='zh-CN';if([\\\"en\\\",\\\"vi\\\",\\\"zh-CN\\\",\\\"zh-TW\\\",\\\"ja\\\",\\\"pt-BR\\\",\\\"pt-PT\\\",\\\"ko\\\",\\\"es\\\",\\\"de\\\",\\\"fr\\\",\\\"he\\\",\\\"ar\\\",\\\"ru\\\",\\\"pl\\\",\\\"cs\\\",\\\"nl\\\",\\\"tr\\\",\\\"uk\\\",\\\"tl\\\",\\\"id\\\",\\\"km\\\",\\\"th\\\",\\\"hi\\\",\\\"bn\\\",\\\"ur\\\",\\\"ro\\\",\\\"sv\\\",\\\"it\\\",\\\"el\\\",\\\"hu\\\",\\\"fi\\\",\\\"da\\\",\\\"no\\\",\\\"fa\\\"].indexOf(l)\u003c0)l='en';r.lang=l;if([\\\"ar\\\",\\\"he\\\",\\\"fa\\\",\\\"ur\\\"].indexOf(l)\u003e=0)r.dir='rtl'}catch(e){}})();\"}}],[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var m=document.cookie.match(/(?:^|; )nr-density=([^;]*)/);if(m\u0026\u0026decodeURIComponent(m[1])==='compact'){document.documentElement.classList.add('compact-density')}}catch(e){}})();\"}}]]}],[\"$\",\"body\",null,{\"className\":\"font-sans antialiased\",\"children\":[[\"$\",\"$L2\",null,{}],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L5\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L6\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L7\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@9\"}]}]]}],{},null,false,null]},null,false,\"$a\"]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[\"$\",\"$Lb\",null,{\"children\":\"$Lc\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$Ld\",null,{\"children\":[\"$\",\"$8\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Le\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$f\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"gdVYVwJMM6JES9Y1KPQyw\"}\na:C\nc:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#f3f1ea\",\"media\":\"(prefers-color-scheme: light)\"}],[\"$\",\"meta\",\"3\",{\"name\":\"theme-color\",\"content\":\"#0d0e12\",\"media\":\"(prefers-color-scheme: dark)\"}]]\n10:I[86869,[],\"IconMark\"]\n9:null\ne:[[\"$\",\"title\",\"0\",{\"children\":\"tokenhop - AI infrastructure management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/brand/favicon.ico\"}],[\"$\",\"$L10\",\"5\",{}]]\n"])</script></body></html>