@amir83nasr/10router 0.1.0

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 (1837) hide show
  1. package/.next/BUILD_ID +1 -0
  2. package/.next/app-path-routes-manifest.json +169 -0
  3. package/.next/build-manifest.json +20 -0
  4. package/.next/export-marker.json +6 -0
  5. package/.next/images-manifest.json +68 -0
  6. package/.next/next-minimal-server.js.nft.json +1 -0
  7. package/.next/next-server.js.nft.json +1 -0
  8. package/.next/package.json +1 -0
  9. package/.next/prerender-manifest.json +633 -0
  10. package/.next/react-loadable-manifest.json +11 -0
  11. package/.next/required-server-files.json +410 -0
  12. package/.next/routes-manifest.json +1132 -0
  13. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -0
  14. package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -0
  15. package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -0
  16. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +40 -0
  17. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -0
  18. package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -0
  19. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -0
  20. package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -0
  21. package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -0
  22. package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -0
  23. package/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -0
  24. package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -0
  25. package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -0
  26. package/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -0
  27. package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -0
  28. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -0
  29. package/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -0
  30. package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -0
  31. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +10 -0
  32. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js.nft.json +1 -0
  33. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -0
  34. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -0
  35. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js.nft.json +1 -0
  36. package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -0
  37. package/.next/server/app/(dashboard)/dashboard/page.js +1 -0
  38. package/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -0
  39. package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -0
  40. package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -0
  41. package/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -0
  42. package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -0
  43. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +21 -0
  44. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -0
  45. package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -0
  46. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -0
  47. package/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -0
  48. package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -0
  49. package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -0
  50. package/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -0
  51. package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -0
  52. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +4 -0
  53. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -0
  54. package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -0
  55. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -0
  56. package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -0
  57. package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -0
  58. package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -0
  59. package/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -0
  60. package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -0
  61. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -0
  62. package/.next/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -0
  63. package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -0
  64. package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -0
  65. package/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -0
  66. package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -0
  67. package/.next/server/app/_global-error/page.js +31 -0
  68. package/.next/server/app/_global-error/page.js.nft.json +1 -0
  69. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -0
  70. package/.next/server/app/_global-error.html +1 -0
  71. package/.next/server/app/_global-error.meta +27 -0
  72. package/.next/server/app/_global-error.rsc +14 -0
  73. package/.next/server/app/_global-error.segments/_full.segment.rsc +14 -0
  74. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +20 -0
  75. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -0
  76. package/.next/server/app/_not-found/page.js +1 -0
  77. package/.next/server/app/_not-found/page.js.nft.json +1 -0
  78. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -0
  79. package/.next/server/app/_not-found.html +1 -0
  80. package/.next/server/app/_not-found.meta +27 -0
  81. package/.next/server/app/_not-found.rsc +24 -0
  82. package/.next/server/app/_not-found.segments/_full.segment.rsc +24 -0
  83. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +27 -0
  84. package/.next/server/app/_not-found.segments/_tree.segment.rsc +6 -0
  85. package/.next/server/app/api/auth/login/route.js +3 -0
  86. package/.next/server/app/api/auth/login/route.js.nft.json +1 -0
  87. package/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -0
  88. package/.next/server/app/api/auth/logout/route.js +1 -0
  89. package/.next/server/app/api/auth/logout/route.js.nft.json +1 -0
  90. package/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -0
  91. package/.next/server/app/api/auth/oidc/callback/route.js +1 -0
  92. package/.next/server/app/api/auth/oidc/callback/route.js.nft.json +1 -0
  93. package/.next/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -0
  94. package/.next/server/app/api/auth/oidc/start/route.js +1 -0
  95. package/.next/server/app/api/auth/oidc/start/route.js.nft.json +1 -0
  96. package/.next/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -0
  97. package/.next/server/app/api/auth/oidc/test/route.js +1 -0
  98. package/.next/server/app/api/auth/oidc/test/route.js.nft.json +1 -0
  99. package/.next/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -0
  100. package/.next/server/app/api/auth/reset-password/route.js +1 -0
  101. package/.next/server/app/api/auth/reset-password/route.js.nft.json +1 -0
  102. package/.next/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -0
  103. package/.next/server/app/api/auth/saml/acs/route.js +3 -0
  104. package/.next/server/app/api/auth/saml/acs/route.js.nft.json +1 -0
  105. package/.next/server/app/api/auth/saml/acs/route_client-reference-manifest.js +1 -0
  106. package/.next/server/app/api/auth/saml/metadata/route.js +3 -0
  107. package/.next/server/app/api/auth/saml/metadata/route.js.nft.json +1 -0
  108. package/.next/server/app/api/auth/saml/metadata/route_client-reference-manifest.js +1 -0
  109. package/.next/server/app/api/auth/saml/start/route.js +3 -0
  110. package/.next/server/app/api/auth/saml/start/route.js.nft.json +1 -0
  111. package/.next/server/app/api/auth/saml/start/route_client-reference-manifest.js +1 -0
  112. package/.next/server/app/api/auth/saml/test/route.js +3 -0
  113. package/.next/server/app/api/auth/saml/test/route.js.nft.json +1 -0
  114. package/.next/server/app/api/auth/saml/test/route_client-reference-manifest.js +1 -0
  115. package/.next/server/app/api/auth/status/route.js +3 -0
  116. package/.next/server/app/api/auth/status/route.js.nft.json +1 -0
  117. package/.next/server/app/api/auth/status/route_client-reference-manifest.js +1 -0
  118. package/.next/server/app/api/changelog/route.js +1 -0
  119. package/.next/server/app/api/changelog/route.js.nft.json +1 -0
  120. package/.next/server/app/api/changelog/route_client-reference-manifest.js +1 -0
  121. package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -0
  122. package/.next/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -0
  123. package/.next/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -0
  124. package/.next/server/app/api/cli-tools/claude-settings/route.js +2 -0
  125. package/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -0
  126. package/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -0
  127. package/.next/server/app/api/cli-tools/codex-settings/route.js +2 -0
  128. package/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -0
  129. package/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -0
  130. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -0
  131. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -0
  132. package/.next/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -0
  133. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -0
  134. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -0
  135. package/.next/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -0
  136. package/.next/server/app/api/cli-tools/cowork-settings/route.js +2 -0
  137. package/.next/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -0
  138. package/.next/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -0
  139. package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -0
  140. package/.next/server/app/api/cli-tools/dsh-settings/route.js.nft.json +1 -0
  141. package/.next/server/app/api/cli-tools/dsh-settings/route_client-reference-manifest.js +1 -0
  142. package/.next/server/app/api/cli-tools/opencode-settings/route.js +2 -0
  143. package/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -0
  144. package/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -0
  145. package/.next/server/app/api/combos/[id]/route.js +1 -0
  146. package/.next/server/app/api/combos/[id]/route.js.nft.json +1 -0
  147. package/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -0
  148. package/.next/server/app/api/combos/route.js +1 -0
  149. package/.next/server/app/api/combos/route.js.nft.json +1 -0
  150. package/.next/server/app/api/combos/route_client-reference-manifest.js +1 -0
  151. package/.next/server/app/api/headroom/extras/route.js +1 -0
  152. package/.next/server/app/api/headroom/extras/route.js.nft.json +1 -0
  153. package/.next/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -0
  154. package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -0
  155. package/.next/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -0
  156. package/.next/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -0
  157. package/.next/server/app/api/headroom/restart/route.js +1 -0
  158. package/.next/server/app/api/headroom/restart/route.js.nft.json +1 -0
  159. package/.next/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -0
  160. package/.next/server/app/api/headroom/start/route.js +1 -0
  161. package/.next/server/app/api/headroom/start/route.js.nft.json +1 -0
  162. package/.next/server/app/api/headroom/start/route_client-reference-manifest.js +1 -0
  163. package/.next/server/app/api/headroom/status/route.js +1 -0
  164. package/.next/server/app/api/headroom/status/route.js.nft.json +1 -0
  165. package/.next/server/app/api/headroom/status/route_client-reference-manifest.js +1 -0
  166. package/.next/server/app/api/headroom/stop/route.js +1 -0
  167. package/.next/server/app/api/headroom/stop/route.js.nft.json +1 -0
  168. package/.next/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -0
  169. package/.next/server/app/api/health/route.js +1 -0
  170. package/.next/server/app/api/health/route.js.nft.json +1 -0
  171. package/.next/server/app/api/health/route_client-reference-manifest.js +1 -0
  172. package/.next/server/app/api/init/route.js +1 -0
  173. package/.next/server/app/api/init/route.js.nft.json +1 -0
  174. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -0
  175. package/.next/server/app/api/keys/[id]/route.js +1 -0
  176. package/.next/server/app/api/keys/[id]/route.js.nft.json +1 -0
  177. package/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -0
  178. package/.next/server/app/api/keys/route.js +1 -0
  179. package/.next/server/app/api/keys/route.js.nft.json +1 -0
  180. package/.next/server/app/api/keys/route_client-reference-manifest.js +1 -0
  181. package/.next/server/app/api/locale/route.js +1 -0
  182. package/.next/server/app/api/locale/route.js.nft.json +1 -0
  183. package/.next/server/app/api/locale/route_client-reference-manifest.js +1 -0
  184. package/.next/server/app/api/mcp/[plugin]/message/route.js +7 -0
  185. package/.next/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -0
  186. package/.next/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -0
  187. package/.next/server/app/api/mcp/[plugin]/sse/route.js +10 -0
  188. package/.next/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -0
  189. package/.next/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -0
  190. package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -0
  191. package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -0
  192. package/.next/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -0
  193. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -0
  194. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -0
  195. package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -0
  196. package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -0
  197. package/.next/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -0
  198. package/.next/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -0
  199. package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -0
  200. package/.next/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -0
  201. package/.next/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -0
  202. package/.next/server/app/api/media-providers/tts/voices/route.js +1 -0
  203. package/.next/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -0
  204. package/.next/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -0
  205. package/.next/server/app/api/models/alias/route.js +1 -0
  206. package/.next/server/app/api/models/alias/route.js.nft.json +1 -0
  207. package/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -0
  208. package/.next/server/app/api/models/availability/route.js +1 -0
  209. package/.next/server/app/api/models/availability/route.js.nft.json +1 -0
  210. package/.next/server/app/api/models/availability/route_client-reference-manifest.js +1 -0
  211. package/.next/server/app/api/models/catalog-sync/route.js +1 -0
  212. package/.next/server/app/api/models/catalog-sync/route.js.nft.json +1 -0
  213. package/.next/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -0
  214. package/.next/server/app/api/models/custom/route.js +1 -0
  215. package/.next/server/app/api/models/custom/route.js.nft.json +1 -0
  216. package/.next/server/app/api/models/custom/route_client-reference-manifest.js +1 -0
  217. package/.next/server/app/api/models/disabled/route.js +1 -0
  218. package/.next/server/app/api/models/disabled/route.js.nft.json +1 -0
  219. package/.next/server/app/api/models/disabled/route_client-reference-manifest.js +1 -0
  220. package/.next/server/app/api/models/route.js +1 -0
  221. package/.next/server/app/api/models/route.js.nft.json +1 -0
  222. package/.next/server/app/api/models/route_client-reference-manifest.js +1 -0
  223. package/.next/server/app/api/models/test/route.js +1 -0
  224. package/.next/server/app/api/models/test/route.js.nft.json +1 -0
  225. package/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -0
  226. package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -0
  227. package/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -0
  228. package/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -0
  229. package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -0
  230. package/.next/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -0
  231. package/.next/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -0
  232. package/.next/server/app/api/oauth/codex/import-token/route.js +1 -0
  233. package/.next/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -0
  234. package/.next/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -0
  235. package/.next/server/app/api/oauth/cursor/auto-import/route.js +4 -0
  236. package/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -0
  237. package/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -0
  238. package/.next/server/app/api/oauth/cursor/import/route.js +1 -0
  239. package/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -0
  240. package/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -0
  241. package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -0
  242. package/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -0
  243. package/.next/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -0
  244. package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -0
  245. package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -0
  246. package/.next/server/app/api/oauth/grok-cli/bulk-import/route_client-reference-manifest.js +1 -0
  247. package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -0
  248. package/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -0
  249. package/.next/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -0
  250. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -0
  251. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -0
  252. package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route_client-reference-manifest.js +1 -0
  253. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +4 -0
  254. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -0
  255. package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route_client-reference-manifest.js +1 -0
  256. package/.next/server/app/api/pricing/route.js +1 -0
  257. package/.next/server/app/api/pricing/route.js.nft.json +1 -0
  258. package/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -0
  259. package/.next/server/app/api/provider-nodes/[id]/route.js +1 -0
  260. package/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -0
  261. package/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -0
  262. package/.next/server/app/api/provider-nodes/route.js +1 -0
  263. package/.next/server/app/api/provider-nodes/route.js.nft.json +1 -0
  264. package/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -0
  265. package/.next/server/app/api/provider-nodes/validate/route.js +1 -0
  266. package/.next/server/app/api/provider-nodes/validate/route.js.nft.json +1 -0
  267. package/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -0
  268. package/.next/server/app/api/providers/[id]/models/route.js +1 -0
  269. package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -0
  270. package/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -0
  271. package/.next/server/app/api/providers/[id]/route.js +1 -0
  272. package/.next/server/app/api/providers/[id]/route.js.nft.json +1 -0
  273. package/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -0
  274. package/.next/server/app/api/providers/[id]/test/route.js +1 -0
  275. package/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -0
  276. package/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -0
  277. package/.next/server/app/api/providers/[id]/test-models/route.js +1 -0
  278. package/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -0
  279. package/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -0
  280. package/.next/server/app/api/providers/client/route.js +1 -0
  281. package/.next/server/app/api/providers/client/route.js.nft.json +1 -0
  282. package/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -0
  283. package/.next/server/app/api/providers/kilo/free-models/route.js +1 -0
  284. package/.next/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -0
  285. package/.next/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -0
  286. package/.next/server/app/api/providers/route.js +1 -0
  287. package/.next/server/app/api/providers/route.js.nft.json +1 -0
  288. package/.next/server/app/api/providers/route_client-reference-manifest.js +1 -0
  289. package/.next/server/app/api/providers/suggested-models/route.js +1 -0
  290. package/.next/server/app/api/providers/suggested-models/route.js.nft.json +1 -0
  291. package/.next/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -0
  292. package/.next/server/app/api/providers/test-batch/route.js +1 -0
  293. package/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -0
  294. package/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -0
  295. package/.next/server/app/api/providers/validate/route.js +1 -0
  296. package/.next/server/app/api/providers/validate/route.js.nft.json +1 -0
  297. package/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -0
  298. package/.next/server/app/api/proxy-pools/[id]/route.js +1 -0
  299. package/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -0
  300. package/.next/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -0
  301. package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -0
  302. package/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -0
  303. package/.next/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -0
  304. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +43 -0
  305. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -0
  306. package/.next/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -0
  307. package/.next/server/app/api/proxy-pools/deno-deploy/route.js +40 -0
  308. package/.next/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -0
  309. package/.next/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -0
  310. package/.next/server/app/api/proxy-pools/route.js +1 -0
  311. package/.next/server/app/api/proxy-pools/route.js.nft.json +1 -0
  312. package/.next/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -0
  313. package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +33 -0
  314. package/.next/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -0
  315. package/.next/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -0
  316. package/.next/server/app/api/pxpipe/health/route.js +3 -0
  317. package/.next/server/app/api/pxpipe/health/route.js.nft.json +1 -0
  318. package/.next/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -0
  319. package/.next/server/app/api/pxpipe/install/route.js +3 -0
  320. package/.next/server/app/api/pxpipe/install/route.js.nft.json +1 -0
  321. package/.next/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -0
  322. package/.next/server/app/api/pxpipe/logs/route.js +3 -0
  323. package/.next/server/app/api/pxpipe/logs/route.js.nft.json +1 -0
  324. package/.next/server/app/api/pxpipe/logs/route_client-reference-manifest.js +1 -0
  325. package/.next/server/app/api/pxpipe/restart/route.js +3 -0
  326. package/.next/server/app/api/pxpipe/restart/route.js.nft.json +1 -0
  327. package/.next/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -0
  328. package/.next/server/app/api/pxpipe/start/route.js +3 -0
  329. package/.next/server/app/api/pxpipe/start/route.js.nft.json +1 -0
  330. package/.next/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -0
  331. package/.next/server/app/api/pxpipe/stats/route.js +3 -0
  332. package/.next/server/app/api/pxpipe/stats/route.js.nft.json +1 -0
  333. package/.next/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -0
  334. package/.next/server/app/api/pxpipe/status/route.js +3 -0
  335. package/.next/server/app/api/pxpipe/status/route.js.nft.json +1 -0
  336. package/.next/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -0
  337. package/.next/server/app/api/pxpipe/stop/route.js +3 -0
  338. package/.next/server/app/api/pxpipe/stop/route.js.nft.json +1 -0
  339. package/.next/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -0
  340. package/.next/server/app/api/settings/database/route.js +1 -0
  341. package/.next/server/app/api/settings/database/route.js.nft.json +1 -0
  342. package/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -0
  343. package/.next/server/app/api/settings/proxy-test/route.js +1 -0
  344. package/.next/server/app/api/settings/proxy-test/route.js.nft.json +1 -0
  345. package/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -0
  346. package/.next/server/app/api/settings/require-login/route.js +1 -0
  347. package/.next/server/app/api/settings/require-login/route.js.nft.json +1 -0
  348. package/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -0
  349. package/.next/server/app/api/settings/route.js +1 -0
  350. package/.next/server/app/api/settings/route.js.nft.json +1 -0
  351. package/.next/server/app/api/settings/route_client-reference-manifest.js +1 -0
  352. package/.next/server/app/api/shutdown/route.js +1 -0
  353. package/.next/server/app/api/shutdown/route.js.nft.json +1 -0
  354. package/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -0
  355. package/.next/server/app/api/tags/route.js +1 -0
  356. package/.next/server/app/api/tags/route.js.nft.json +1 -0
  357. package/.next/server/app/api/tags/route_client-reference-manifest.js +1 -0
  358. package/.next/server/app/api/translator/console-logs/route.js +1 -0
  359. package/.next/server/app/api/translator/console-logs/route.js.nft.json +1 -0
  360. package/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -0
  361. package/.next/server/app/api/translator/console-logs/stream/route.js +9 -0
  362. package/.next/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -0
  363. package/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -0
  364. package/.next/server/app/api/translator/load/route.js +1 -0
  365. package/.next/server/app/api/translator/load/route.js.nft.json +1 -0
  366. package/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -0
  367. package/.next/server/app/api/translator/save/route.js +1 -0
  368. package/.next/server/app/api/translator/save/route.js.nft.json +1 -0
  369. package/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -0
  370. package/.next/server/app/api/translator/send/route.js +1 -0
  371. package/.next/server/app/api/translator/send/route.js.nft.json +1 -0
  372. package/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -0
  373. package/.next/server/app/api/translator/translate/route.js +1 -0
  374. package/.next/server/app/api/translator/translate/route.js.nft.json +1 -0
  375. package/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -0
  376. package/.next/server/app/api/tunnel/disable/route.js +1 -0
  377. package/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -0
  378. package/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -0
  379. package/.next/server/app/api/tunnel/enable/route.js +1 -0
  380. package/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -0
  381. package/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -0
  382. package/.next/server/app/api/tunnel/status/route.js +1 -0
  383. package/.next/server/app/api/tunnel/status/route.js.nft.json +1 -0
  384. package/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -0
  385. package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -0
  386. package/.next/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -0
  387. package/.next/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -0
  388. package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -0
  389. package/.next/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -0
  390. package/.next/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -0
  391. package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -0
  392. package/.next/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -0
  393. package/.next/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -0
  394. package/.next/server/app/api/tunnel/tailscale-install/route.js +5 -0
  395. package/.next/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -0
  396. package/.next/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -0
  397. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -0
  398. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -0
  399. package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -0
  400. package/.next/server/app/api/usage/[connectionId]/route.js +1 -0
  401. package/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -0
  402. package/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -0
  403. package/.next/server/app/api/usage/chart/route.js +1 -0
  404. package/.next/server/app/api/usage/chart/route.js.nft.json +1 -0
  405. package/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -0
  406. package/.next/server/app/api/usage/history/route.js +1 -0
  407. package/.next/server/app/api/usage/history/route.js.nft.json +1 -0
  408. package/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -0
  409. package/.next/server/app/api/usage/logs/route.js +1 -0
  410. package/.next/server/app/api/usage/logs/route.js.nft.json +1 -0
  411. package/.next/server/app/api/usage/logs/route_client-reference-manifest.js +1 -0
  412. package/.next/server/app/api/usage/providers/route.js +1 -0
  413. package/.next/server/app/api/usage/providers/route.js.nft.json +1 -0
  414. package/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -0
  415. package/.next/server/app/api/usage/request-details/route.js +1 -0
  416. package/.next/server/app/api/usage/request-details/route.js.nft.json +1 -0
  417. package/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -0
  418. package/.next/server/app/api/usage/request-logs/route.js +1 -0
  419. package/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -0
  420. package/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -0
  421. package/.next/server/app/api/usage/stats/route.js +1 -0
  422. package/.next/server/app/api/usage/stats/route.js.nft.json +1 -0
  423. package/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -0
  424. package/.next/server/app/api/usage/stream/route.js +7 -0
  425. package/.next/server/app/api/usage/stream/route.js.nft.json +1 -0
  426. package/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -0
  427. package/.next/server/app/api/v1/api/chat/route.js +1 -0
  428. package/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -0
  429. package/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -0
  430. package/.next/server/app/api/v1/audio/speech/route.js +1 -0
  431. package/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -0
  432. package/.next/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -0
  433. package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -0
  434. package/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -0
  435. package/.next/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -0
  436. package/.next/server/app/api/v1/audio/voices/route.js +1 -0
  437. package/.next/server/app/api/v1/audio/voices/route.js.nft.json +1 -0
  438. package/.next/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -0
  439. package/.next/server/app/api/v1/chat/completions/route.js +1 -0
  440. package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -0
  441. package/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -0
  442. package/.next/server/app/api/v1/embeddings/route.js +1 -0
  443. package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -0
  444. package/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -0
  445. package/.next/server/app/api/v1/images/generations/route.js +4 -0
  446. package/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -0
  447. package/.next/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -0
  448. package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -0
  449. package/.next/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -0
  450. package/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -0
  451. package/.next/server/app/api/v1/messages/route.js +1 -0
  452. package/.next/server/app/api/v1/messages/route.js.nft.json +1 -0
  453. package/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -0
  454. package/.next/server/app/api/v1/models/[...model]/route.js +1 -0
  455. package/.next/server/app/api/v1/models/[...model]/route.js.nft.json +1 -0
  456. package/.next/server/app/api/v1/models/[...model]/route_client-reference-manifest.js +1 -0
  457. package/.next/server/app/api/v1/models/info/route.js +1 -0
  458. package/.next/server/app/api/v1/models/info/route.js.nft.json +1 -0
  459. package/.next/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -0
  460. package/.next/server/app/api/v1/models/route.js +1 -0
  461. package/.next/server/app/api/v1/models/route.js.nft.json +1 -0
  462. package/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -0
  463. package/.next/server/app/api/v1/responses/compact/route.js +1 -0
  464. package/.next/server/app/api/v1/responses/compact/route.js.nft.json +1 -0
  465. package/.next/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -0
  466. package/.next/server/app/api/v1/responses/route.js +1 -0
  467. package/.next/server/app/api/v1/responses/route.js.nft.json +1 -0
  468. package/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -0
  469. package/.next/server/app/api/v1/route.js +1 -0
  470. package/.next/server/app/api/v1/route.js.nft.json +1 -0
  471. package/.next/server/app/api/v1/route_client-reference-manifest.js +1 -0
  472. package/.next/server/app/api/v1/search/route.js +1 -0
  473. package/.next/server/app/api/v1/search/route.js.nft.json +1 -0
  474. package/.next/server/app/api/v1/search/route_client-reference-manifest.js +1 -0
  475. package/.next/server/app/api/v1/systemone/route.js +1 -0
  476. package/.next/server/app/api/v1/systemone/route.js.nft.json +1 -0
  477. package/.next/server/app/api/v1/systemone/route_client-reference-manifest.js +1 -0
  478. package/.next/server/app/api/v1/videos/[id]/route.js +1 -0
  479. package/.next/server/app/api/v1/videos/[id]/route.js.nft.json +1 -0
  480. package/.next/server/app/api/v1/videos/[id]/route_client-reference-manifest.js +1 -0
  481. package/.next/server/app/api/v1/videos/edits/route.js +1 -0
  482. package/.next/server/app/api/v1/videos/edits/route.js.nft.json +1 -0
  483. package/.next/server/app/api/v1/videos/edits/route_client-reference-manifest.js +1 -0
  484. package/.next/server/app/api/v1/videos/extensions/route.js +1 -0
  485. package/.next/server/app/api/v1/videos/extensions/route.js.nft.json +1 -0
  486. package/.next/server/app/api/v1/videos/extensions/route_client-reference-manifest.js +1 -0
  487. package/.next/server/app/api/v1/videos/generations/route.js +1 -0
  488. package/.next/server/app/api/v1/videos/generations/route.js.nft.json +1 -0
  489. package/.next/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -0
  490. package/.next/server/app/api/v1/web/fetch/route.js +1 -0
  491. package/.next/server/app/api/v1/web/fetch/route.js.nft.json +1 -0
  492. package/.next/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -0
  493. package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -0
  494. package/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -0
  495. package/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -0
  496. package/.next/server/app/api/v1beta/models/route.js +1 -0
  497. package/.next/server/app/api/v1beta/models/route.js.nft.json +1 -0
  498. package/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -0
  499. package/.next/server/app/api/version/route.js +1 -0
  500. package/.next/server/app/api/version/route.js.nft.json +1 -0
  501. package/.next/server/app/api/version/route_client-reference-manifest.js +1 -0
  502. package/.next/server/app/api/version/shutdown/route.js +1 -0
  503. package/.next/server/app/api/version/shutdown/route.js.nft.json +1 -0
  504. package/.next/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -0
  505. package/.next/server/app/api/version/update/route.js +1 -0
  506. package/.next/server/app/api/version/update/route.js.nft.json +1 -0
  507. package/.next/server/app/api/version/update/route_client-reference-manifest.js +1 -0
  508. package/.next/server/app/callback/page.js +1 -0
  509. package/.next/server/app/callback/page.js.nft.json +1 -0
  510. package/.next/server/app/callback/page_client-reference-manifest.js +1 -0
  511. package/.next/server/app/callback.html +1 -0
  512. package/.next/server/app/callback.meta +26 -0
  513. package/.next/server/app/callback.rsc +28 -0
  514. package/.next/server/app/callback.segments/_full.segment.rsc +28 -0
  515. package/.next/server/app/callback.segments/_tree.segment.rsc +6 -0
  516. package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +31 -0
  517. package/.next/server/app/dashboard/basic-chat.html +1 -0
  518. package/.next/server/app/dashboard/basic-chat.meta +36 -0
  519. package/.next/server/app/dashboard/basic-chat.rsc +26 -0
  520. package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +31 -0
  521. package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +26 -0
  522. package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +6 -0
  523. package/.next/server/app/dashboard/cli-tools.html +1 -0
  524. package/.next/server/app/dashboard/cli-tools.meta +36 -0
  525. package/.next/server/app/dashboard/cli-tools.rsc +27 -0
  526. package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +31 -0
  527. package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +27 -0
  528. package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +6 -0
  529. package/.next/server/app/dashboard/combos.html +1 -0
  530. package/.next/server/app/dashboard/combos.meta +36 -0
  531. package/.next/server/app/dashboard/combos.rsc +29 -0
  532. package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +34 -0
  533. package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +29 -0
  534. package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +6 -0
  535. package/.next/server/app/dashboard/endpoint.html +1 -0
  536. package/.next/server/app/dashboard/endpoint.meta +36 -0
  537. package/.next/server/app/dashboard/endpoint.rsc +27 -0
  538. package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +31 -0
  539. package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +27 -0
  540. package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +6 -0
  541. package/.next/server/app/dashboard/media-providers/systemone.html +1 -0
  542. package/.next/server/app/dashboard/media-providers/systemone.meta +41 -0
  543. package/.next/server/app/dashboard/media-providers/systemone.rsc +29 -0
  544. package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +35 -0
  545. package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +29 -0
  546. package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +6 -0
  547. package/.next/server/app/dashboard/profile.html +1 -0
  548. package/.next/server/app/dashboard/profile.meta +36 -0
  549. package/.next/server/app/dashboard/profile.rsc +29 -0
  550. package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +34 -0
  551. package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +29 -0
  552. package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +6 -0
  553. package/.next/server/app/dashboard/providers/new.html +1 -0
  554. package/.next/server/app/dashboard/providers/new.meta +41 -0
  555. package/.next/server/app/dashboard/providers/new.rsc +29 -0
  556. package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +35 -0
  557. package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +29 -0
  558. package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +6 -0
  559. package/.next/server/app/dashboard/providers.html +1 -0
  560. package/.next/server/app/dashboard/providers.meta +36 -0
  561. package/.next/server/app/dashboard/providers.rsc +29 -0
  562. package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +34 -0
  563. package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +29 -0
  564. package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +6 -0
  565. package/.next/server/app/dashboard/proxy-pools.html +1 -0
  566. package/.next/server/app/dashboard/proxy-pools.meta +36 -0
  567. package/.next/server/app/dashboard/proxy-pools.rsc +29 -0
  568. package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +34 -0
  569. package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +29 -0
  570. package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +6 -0
  571. package/.next/server/app/dashboard/pxpipe.html +1 -0
  572. package/.next/server/app/dashboard/pxpipe.meta +36 -0
  573. package/.next/server/app/dashboard/pxpipe.rsc +26 -0
  574. package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +31 -0
  575. package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +26 -0
  576. package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +6 -0
  577. package/.next/server/app/dashboard/quota.html +2 -0
  578. package/.next/server/app/dashboard/quota.meta +36 -0
  579. package/.next/server/app/dashboard/quota.rsc +27 -0
  580. package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +32 -0
  581. package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +27 -0
  582. package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +6 -0
  583. package/.next/server/app/dashboard/settings/pricing/page.js +1 -0
  584. package/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -0
  585. package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -0
  586. package/.next/server/app/dashboard/settings/pricing.html +1 -0
  587. package/.next/server/app/dashboard/settings/pricing.meta +36 -0
  588. package/.next/server/app/dashboard/settings/pricing.rsc +28 -0
  589. package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +28 -0
  590. package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +6 -0
  591. package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +33 -0
  592. package/.next/server/app/dashboard/token-saver.html +1 -0
  593. package/.next/server/app/dashboard/token-saver.meta +36 -0
  594. package/.next/server/app/dashboard/token-saver.rsc +26 -0
  595. package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +31 -0
  596. package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +26 -0
  597. package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +6 -0
  598. package/.next/server/app/dashboard/usage.html +2 -0
  599. package/.next/server/app/dashboard/usage.meta +36 -0
  600. package/.next/server/app/dashboard/usage.rsc +29 -0
  601. package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +34 -0
  602. package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +29 -0
  603. package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +6 -0
  604. package/.next/server/app/dashboard.html +1 -0
  605. package/.next/server/app/dashboard.meta +31 -0
  606. package/.next/server/app/dashboard.rsc +27 -0
  607. package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +30 -0
  608. package/.next/server/app/dashboard.segments/_full.segment.rsc +27 -0
  609. package/.next/server/app/dashboard.segments/_tree.segment.rsc +6 -0
  610. package/.next/server/app/index.html +1 -0
  611. package/.next/server/app/index.meta +23 -0
  612. package/.next/server/app/index.rsc +23 -0
  613. package/.next/server/app/index.segments/__PAGE__.segment.rsc +25 -0
  614. package/.next/server/app/index.segments/_full.segment.rsc +23 -0
  615. package/.next/server/app/index.segments/_tree.segment.rsc +6 -0
  616. package/.next/server/app/landing/page.js +1 -0
  617. package/.next/server/app/landing/page.js.nft.json +1 -0
  618. package/.next/server/app/landing/page_client-reference-manifest.js +1 -0
  619. package/.next/server/app/landing.html +1 -0
  620. package/.next/server/app/landing.meta +26 -0
  621. package/.next/server/app/landing.rsc +28 -0
  622. package/.next/server/app/landing.segments/_full.segment.rsc +28 -0
  623. package/.next/server/app/landing.segments/_tree.segment.rsc +6 -0
  624. package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +31 -0
  625. package/.next/server/app/login/page.js +1 -0
  626. package/.next/server/app/login/page.js.nft.json +1 -0
  627. package/.next/server/app/login/page_client-reference-manifest.js +1 -0
  628. package/.next/server/app/login.html +1 -0
  629. package/.next/server/app/login.meta +26 -0
  630. package/.next/server/app/login.rsc +28 -0
  631. package/.next/server/app/login.segments/_full.segment.rsc +28 -0
  632. package/.next/server/app/login.segments/_tree.segment.rsc +6 -0
  633. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +31 -0
  634. package/.next/server/app/manifest.webmanifest/route.js +17 -0
  635. package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -0
  636. package/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -0
  637. package/.next/server/app/manifest.webmanifest.body +1 -0
  638. package/.next/server/app/manifest.webmanifest.meta +1 -0
  639. package/.next/server/app/page.js +1 -0
  640. package/.next/server/app/page.js.nft.json +1 -0
  641. package/.next/server/app/page_client-reference-manifest.js +1 -0
  642. package/.next/server/app-paths-manifest.json +169 -0
  643. package/.next/server/chunks/1003.js +1 -0
  644. package/.next/server/chunks/1011.js +1 -0
  645. package/.next/server/chunks/1126.js +1 -0
  646. package/.next/server/chunks/1157.js +1 -0
  647. package/.next/server/chunks/1194.js +1 -0
  648. package/.next/server/chunks/1238.js +1 -0
  649. package/.next/server/chunks/1273.js +1 -0
  650. package/.next/server/chunks/1316.js +165 -0
  651. package/.next/server/chunks/1336.js +1 -0
  652. package/.next/server/chunks/1412.js +1 -0
  653. package/.next/server/chunks/1470.js +1 -0
  654. package/.next/server/chunks/1564.js +1 -0
  655. package/.next/server/chunks/1612.js +33 -0
  656. package/.next/server/chunks/1633.js +1 -0
  657. package/.next/server/chunks/1985.js +1 -0
  658. package/.next/server/chunks/2076.js +1 -0
  659. package/.next/server/chunks/2143.js +1 -0
  660. package/.next/server/chunks/2151.js +1 -0
  661. package/.next/server/chunks/2225.js +9 -0
  662. package/.next/server/chunks/224.js +1 -0
  663. package/.next/server/chunks/2282.js +150 -0
  664. package/.next/server/chunks/2310.js +2 -0
  665. package/.next/server/chunks/2339.js +1 -0
  666. package/.next/server/chunks/2426.js +1 -0
  667. package/.next/server/chunks/257.js +67 -0
  668. package/.next/server/chunks/2638.js +1 -0
  669. package/.next/server/chunks/2706.js +1 -0
  670. package/.next/server/chunks/3023.js +9 -0
  671. package/.next/server/chunks/3034.js +9 -0
  672. package/.next/server/chunks/3179.js +1 -0
  673. package/.next/server/chunks/3250.js +9 -0
  674. package/.next/server/chunks/3336.js +1 -0
  675. package/.next/server/chunks/3425.js +1 -0
  676. package/.next/server/chunks/3481.js +9 -0
  677. package/.next/server/chunks/3512.js +29 -0
  678. package/.next/server/chunks/3533.js +1 -0
  679. package/.next/server/chunks/3544.js +1 -0
  680. package/.next/server/chunks/4129.js +1 -0
  681. package/.next/server/chunks/4139.js +9 -0
  682. package/.next/server/chunks/4301.js +7 -0
  683. package/.next/server/chunks/4364.js +1 -0
  684. package/.next/server/chunks/4464.js +1 -0
  685. package/.next/server/chunks/460.js +1 -0
  686. package/.next/server/chunks/4793.js +1 -0
  687. package/.next/server/chunks/4915.js +62 -0
  688. package/.next/server/chunks/4961.js +7 -0
  689. package/.next/server/chunks/537.js +9 -0
  690. package/.next/server/chunks/5412.js +9 -0
  691. package/.next/server/chunks/5496.js +1 -0
  692. package/.next/server/chunks/5761.js +1 -0
  693. package/.next/server/chunks/5939.js +9 -0
  694. package/.next/server/chunks/6009.js +1 -0
  695. package/.next/server/chunks/6056.js +1 -0
  696. package/.next/server/chunks/613.js +1 -0
  697. package/.next/server/chunks/6343.js +72 -0
  698. package/.next/server/chunks/6461.js +5 -0
  699. package/.next/server/chunks/6823.js +1 -0
  700. package/.next/server/chunks/7002.js +9 -0
  701. package/.next/server/chunks/7019.js +3 -0
  702. package/.next/server/chunks/7156.js +1 -0
  703. package/.next/server/chunks/7257.js +1 -0
  704. package/.next/server/chunks/7268.js +1 -0
  705. package/.next/server/chunks/7459.js +120 -0
  706. package/.next/server/chunks/7504.js +1 -0
  707. package/.next/server/chunks/7535.js +21 -0
  708. package/.next/server/chunks/7816.js +1 -0
  709. package/.next/server/chunks/7963.js +193 -0
  710. package/.next/server/chunks/8066.js +31 -0
  711. package/.next/server/chunks/8567.js +1 -0
  712. package/.next/server/chunks/8569.js +11 -0
  713. package/.next/server/chunks/8784.js +1 -0
  714. package/.next/server/chunks/881.js +10 -0
  715. package/.next/server/chunks/8857.js +1 -0
  716. package/.next/server/chunks/8923.js +1 -0
  717. package/.next/server/chunks/8940.js +1 -0
  718. package/.next/server/chunks/9018.js +1 -0
  719. package/.next/server/chunks/9250.js +7 -0
  720. package/.next/server/chunks/9287.js +1 -0
  721. package/.next/server/chunks/9429.js +2 -0
  722. package/.next/server/chunks/9603.js +1 -0
  723. package/.next/server/chunks/9614.js +1 -0
  724. package/.next/server/chunks/9646.js +1 -0
  725. package/.next/server/chunks/9792.js +9 -0
  726. package/.next/server/functions-config-manifest.json +25 -0
  727. package/.next/server/instrumentation.js +1 -0
  728. package/.next/server/instrumentation.js.nft.json +1 -0
  729. package/.next/server/interception-route-rewrite-manifest.js +1 -0
  730. package/.next/server/middleware-build-manifest.js +1 -0
  731. package/.next/server/middleware-manifest.json +6 -0
  732. package/.next/server/middleware-react-loadable-manifest.js +1 -0
  733. package/.next/server/middleware.js +171 -0
  734. package/.next/server/middleware.js.nft.json +1 -0
  735. package/.next/server/next-font-manifest.js +1 -0
  736. package/.next/server/next-font-manifest.json +1 -0
  737. package/.next/server/pages/404.html +1 -0
  738. package/.next/server/pages/500.html +1 -0
  739. package/.next/server/pages-manifest.json +4 -0
  740. package/.next/server/prefetch-hints.json +446 -0
  741. package/.next/server/server-reference-manifest.js +1 -0
  742. package/.next/server/server-reference-manifest.json +1 -0
  743. package/.next/server/webpack-runtime.js +1 -0
  744. package/.next/static/AiSMDHTT8m1mHG-uAmkFq/_buildManifest.js +1 -0
  745. package/.next/static/AiSMDHTT8m1mHG-uAmkFq/_ssgManifest.js +1 -0
  746. package/.next/static/chunks/1078-965aa38f6ae4f5b7.js +1 -0
  747. package/.next/static/chunks/1278-d7d5375869132de1.js +1 -0
  748. package/.next/static/chunks/1471-10f225f62f7469cc.js +1 -0
  749. package/.next/static/chunks/159-17737a7c99ff1a65.js +1 -0
  750. package/.next/static/chunks/1722-bb40b4311197204b.js +1 -0
  751. package/.next/static/chunks/1830-901fe48c3c62604f.js +1 -0
  752. package/.next/static/chunks/208-fcb6c54f9db5664f.js +1 -0
  753. package/.next/static/chunks/3153-fde052e626cc6d40.js +67 -0
  754. package/.next/static/chunks/3577-cd98d40e3099e1b0.js +1 -0
  755. package/.next/static/chunks/4484-893f9cfcbe1499df.js +1 -0
  756. package/.next/static/chunks/4489-0f3ff0134169e717.js +1 -0
  757. package/.next/static/chunks/4899.0d4260af2a463837.js +1 -0
  758. package/.next/static/chunks/5113-5c4f5181388aab72.js +1 -0
  759. package/.next/static/chunks/5166-cadbdbf7d6854cf9.js +1 -0
  760. package/.next/static/chunks/5778-9d97ce04f2ac118c.js +1 -0
  761. package/.next/static/chunks/5862-f98c2f3d480b80d2.js +1 -0
  762. package/.next/static/chunks/6817-449f7a2452845c74.js +1 -0
  763. package/.next/static/chunks/6920-e2b533c1eafa9521.js +1 -0
  764. package/.next/static/chunks/7276-16ef14f7b2cd478d.js +1 -0
  765. package/.next/static/chunks/7287-b8e377303d1c5ae8.js +11 -0
  766. package/.next/static/chunks/7552-11960bc118e4e0f7.js +1 -0
  767. package/.next/static/chunks/7822.01a4d5bdd39fa0b7.js +1 -0
  768. package/.next/static/chunks/7835-c1ef8f5cdaaad483.js +1 -0
  769. package/.next/static/chunks/80d4b624.42a8767f1c8767a3.js +1 -0
  770. package/.next/static/chunks/9369-b8c9520bc2536ff2.js +1 -0
  771. package/.next/static/chunks/9590-0d0b3dd0530b2b7b.js +1 -0
  772. package/.next/static/chunks/9966-7232c138a59bdc2f.js +52 -0
  773. package/.next/static/chunks/9980-971a38c4ad288d6c.js +1 -0
  774. package/.next/static/chunks/9ce8c186-3c7d7dbc5d428052.js +1 -0
  775. package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-c074ab1b76a6c8ba.js +1 -0
  776. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-2ff675120416e925.js +40 -0
  777. package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/page-654e770c4dca90e8.js +1 -0
  778. package/.next/static/chunks/app/(dashboard)/dashboard/combos/page-55bc39e30923938a.js +1 -0
  779. package/.next/static/chunks/app/(dashboard)/dashboard/console-log/page-aac9a9397d3f7f17.js +1 -0
  780. package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-d60651b77028b014.js +1 -0
  781. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/page-3d78f5834ef97b82.js +10 -0
  782. package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/page-e41bf53886195393.js +1 -0
  783. package/.next/static/chunks/app/(dashboard)/dashboard/page-670583d9f9c104af.js +1 -0
  784. package/.next/static/chunks/app/(dashboard)/dashboard/profile/page-53158d30b5643b05.js +1 -0
  785. package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-fd2615fea8932fd5.js +21 -0
  786. package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/page-7c9e30c4985582a6.js +1 -0
  787. package/.next/static/chunks/app/(dashboard)/dashboard/providers/page-7cc2c66e63fce4ab.js +1 -0
  788. package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/page-5e1fb41bd7b555a6.js +4 -0
  789. package/.next/static/chunks/app/(dashboard)/dashboard/pxpipe/page-1ec35dafa18e5d24.js +1 -0
  790. package/.next/static/chunks/app/(dashboard)/dashboard/quota/page-11d5ca23d18d596e.js +1 -0
  791. package/.next/static/chunks/app/(dashboard)/dashboard/token-saver/page-388b616d8c2aa3fc.js +1 -0
  792. package/.next/static/chunks/app/(dashboard)/dashboard/usage/page-466f7a8f7319ad85.js +1 -0
  793. package/.next/static/chunks/app/(dashboard)/layout-e1e5bead272b5c82.js +1 -0
  794. package/.next/static/chunks/app/_global-error/page-fe947d4ab19df968.js +1 -0
  795. package/.next/static/chunks/app/_not-found/page-d66f1e17185e98d1.js +1 -0
  796. package/.next/static/chunks/app/api/auth/login/route-fe947d4ab19df968.js +1 -0
  797. package/.next/static/chunks/app/api/auth/logout/route-fe947d4ab19df968.js +1 -0
  798. package/.next/static/chunks/app/api/auth/oidc/callback/route-fe947d4ab19df968.js +1 -0
  799. package/.next/static/chunks/app/api/auth/oidc/start/route-fe947d4ab19df968.js +1 -0
  800. package/.next/static/chunks/app/api/auth/oidc/test/route-fe947d4ab19df968.js +1 -0
  801. package/.next/static/chunks/app/api/auth/reset-password/route-fe947d4ab19df968.js +1 -0
  802. package/.next/static/chunks/app/api/auth/saml/acs/route-fe947d4ab19df968.js +1 -0
  803. package/.next/static/chunks/app/api/auth/saml/metadata/route-fe947d4ab19df968.js +1 -0
  804. package/.next/static/chunks/app/api/auth/saml/start/route-fe947d4ab19df968.js +1 -0
  805. package/.next/static/chunks/app/api/auth/saml/test/route-fe947d4ab19df968.js +1 -0
  806. package/.next/static/chunks/app/api/auth/status/route-fe947d4ab19df968.js +1 -0
  807. package/.next/static/chunks/app/api/changelog/route-fe947d4ab19df968.js +1 -0
  808. package/.next/static/chunks/app/api/cli-tools/all-statuses/route-fe947d4ab19df968.js +1 -0
  809. package/.next/static/chunks/app/api/cli-tools/claude-settings/route-fe947d4ab19df968.js +1 -0
  810. package/.next/static/chunks/app/api/cli-tools/codex-settings/route-fe947d4ab19df968.js +1 -0
  811. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-fe947d4ab19df968.js +1 -0
  812. package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-fe947d4ab19df968.js +1 -0
  813. package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-fe947d4ab19df968.js +1 -0
  814. package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-fe947d4ab19df968.js +1 -0
  815. package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-fe947d4ab19df968.js +1 -0
  816. package/.next/static/chunks/app/api/combos/[id]/route-fe947d4ab19df968.js +1 -0
  817. package/.next/static/chunks/app/api/combos/route-fe947d4ab19df968.js +1 -0
  818. package/.next/static/chunks/app/api/headroom/extras/route-fe947d4ab19df968.js +1 -0
  819. package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-fe947d4ab19df968.js +1 -0
  820. package/.next/static/chunks/app/api/headroom/restart/route-fe947d4ab19df968.js +1 -0
  821. package/.next/static/chunks/app/api/headroom/start/route-fe947d4ab19df968.js +1 -0
  822. package/.next/static/chunks/app/api/headroom/status/route-fe947d4ab19df968.js +1 -0
  823. package/.next/static/chunks/app/api/headroom/stop/route-fe947d4ab19df968.js +1 -0
  824. package/.next/static/chunks/app/api/health/route-fe947d4ab19df968.js +1 -0
  825. package/.next/static/chunks/app/api/init/route-fe947d4ab19df968.js +1 -0
  826. package/.next/static/chunks/app/api/keys/[id]/route-fe947d4ab19df968.js +1 -0
  827. package/.next/static/chunks/app/api/keys/route-fe947d4ab19df968.js +1 -0
  828. package/.next/static/chunks/app/api/locale/route-fe947d4ab19df968.js +1 -0
  829. package/.next/static/chunks/app/api/mcp/[plugin]/message/route-fe947d4ab19df968.js +1 -0
  830. package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-fe947d4ab19df968.js +1 -0
  831. package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-fe947d4ab19df968.js +1 -0
  832. package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-fe947d4ab19df968.js +1 -0
  833. package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-fe947d4ab19df968.js +1 -0
  834. package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-fe947d4ab19df968.js +1 -0
  835. package/.next/static/chunks/app/api/media-providers/tts/voices/route-fe947d4ab19df968.js +1 -0
  836. package/.next/static/chunks/app/api/models/alias/route-fe947d4ab19df968.js +1 -0
  837. package/.next/static/chunks/app/api/models/availability/route-fe947d4ab19df968.js +1 -0
  838. package/.next/static/chunks/app/api/models/catalog-sync/route-fe947d4ab19df968.js +1 -0
  839. package/.next/static/chunks/app/api/models/custom/route-fe947d4ab19df968.js +1 -0
  840. package/.next/static/chunks/app/api/models/disabled/route-fe947d4ab19df968.js +1 -0
  841. package/.next/static/chunks/app/api/models/route-fe947d4ab19df968.js +1 -0
  842. package/.next/static/chunks/app/api/models/test/route-fe947d4ab19df968.js +1 -0
  843. package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-fe947d4ab19df968.js +1 -0
  844. package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-fe947d4ab19df968.js +1 -0
  845. package/.next/static/chunks/app/api/oauth/codex/import-token/route-fe947d4ab19df968.js +1 -0
  846. package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-fe947d4ab19df968.js +1 -0
  847. package/.next/static/chunks/app/api/oauth/cursor/import/route-fe947d4ab19df968.js +1 -0
  848. package/.next/static/chunks/app/api/oauth/gitlab/pat/route-fe947d4ab19df968.js +1 -0
  849. package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-fe947d4ab19df968.js +1 -0
  850. package/.next/static/chunks/app/api/oauth/iflow/cookie/route-fe947d4ab19df968.js +1 -0
  851. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-fe947d4ab19df968.js +1 -0
  852. package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-fe947d4ab19df968.js +1 -0
  853. package/.next/static/chunks/app/api/pricing/route-fe947d4ab19df968.js +1 -0
  854. package/.next/static/chunks/app/api/provider-nodes/[id]/route-fe947d4ab19df968.js +1 -0
  855. package/.next/static/chunks/app/api/provider-nodes/route-fe947d4ab19df968.js +1 -0
  856. package/.next/static/chunks/app/api/provider-nodes/validate/route-fe947d4ab19df968.js +1 -0
  857. package/.next/static/chunks/app/api/providers/[id]/models/route-fe947d4ab19df968.js +1 -0
  858. package/.next/static/chunks/app/api/providers/[id]/route-fe947d4ab19df968.js +1 -0
  859. package/.next/static/chunks/app/api/providers/[id]/test/route-fe947d4ab19df968.js +1 -0
  860. package/.next/static/chunks/app/api/providers/[id]/test-models/route-fe947d4ab19df968.js +1 -0
  861. package/.next/static/chunks/app/api/providers/client/route-fe947d4ab19df968.js +1 -0
  862. package/.next/static/chunks/app/api/providers/kilo/free-models/route-fe947d4ab19df968.js +1 -0
  863. package/.next/static/chunks/app/api/providers/route-fe947d4ab19df968.js +1 -0
  864. package/.next/static/chunks/app/api/providers/suggested-models/route-fe947d4ab19df968.js +1 -0
  865. package/.next/static/chunks/app/api/providers/test-batch/route-fe947d4ab19df968.js +1 -0
  866. package/.next/static/chunks/app/api/providers/validate/route-fe947d4ab19df968.js +1 -0
  867. package/.next/static/chunks/app/api/proxy-pools/[id]/route-fe947d4ab19df968.js +1 -0
  868. package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-fe947d4ab19df968.js +1 -0
  869. package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-fe947d4ab19df968.js +1 -0
  870. package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-fe947d4ab19df968.js +1 -0
  871. package/.next/static/chunks/app/api/proxy-pools/route-fe947d4ab19df968.js +1 -0
  872. package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-fe947d4ab19df968.js +1 -0
  873. package/.next/static/chunks/app/api/pxpipe/health/route-fe947d4ab19df968.js +1 -0
  874. package/.next/static/chunks/app/api/pxpipe/install/route-fe947d4ab19df968.js +1 -0
  875. package/.next/static/chunks/app/api/pxpipe/logs/route-fe947d4ab19df968.js +1 -0
  876. package/.next/static/chunks/app/api/pxpipe/restart/route-fe947d4ab19df968.js +1 -0
  877. package/.next/static/chunks/app/api/pxpipe/start/route-fe947d4ab19df968.js +1 -0
  878. package/.next/static/chunks/app/api/pxpipe/stats/route-fe947d4ab19df968.js +1 -0
  879. package/.next/static/chunks/app/api/pxpipe/status/route-fe947d4ab19df968.js +1 -0
  880. package/.next/static/chunks/app/api/pxpipe/stop/route-fe947d4ab19df968.js +1 -0
  881. package/.next/static/chunks/app/api/settings/database/route-fe947d4ab19df968.js +1 -0
  882. package/.next/static/chunks/app/api/settings/proxy-test/route-fe947d4ab19df968.js +1 -0
  883. package/.next/static/chunks/app/api/settings/require-login/route-fe947d4ab19df968.js +1 -0
  884. package/.next/static/chunks/app/api/settings/route-fe947d4ab19df968.js +1 -0
  885. package/.next/static/chunks/app/api/shutdown/route-fe947d4ab19df968.js +1 -0
  886. package/.next/static/chunks/app/api/tags/route-fe947d4ab19df968.js +1 -0
  887. package/.next/static/chunks/app/api/translator/console-logs/route-fe947d4ab19df968.js +1 -0
  888. package/.next/static/chunks/app/api/translator/console-logs/stream/route-fe947d4ab19df968.js +1 -0
  889. package/.next/static/chunks/app/api/translator/load/route-fe947d4ab19df968.js +1 -0
  890. package/.next/static/chunks/app/api/translator/save/route-fe947d4ab19df968.js +1 -0
  891. package/.next/static/chunks/app/api/translator/send/route-fe947d4ab19df968.js +1 -0
  892. package/.next/static/chunks/app/api/translator/translate/route-fe947d4ab19df968.js +1 -0
  893. package/.next/static/chunks/app/api/tunnel/disable/route-fe947d4ab19df968.js +1 -0
  894. package/.next/static/chunks/app/api/tunnel/enable/route-fe947d4ab19df968.js +1 -0
  895. package/.next/static/chunks/app/api/tunnel/status/route-fe947d4ab19df968.js +1 -0
  896. package/.next/static/chunks/app/api/tunnel/tailscale-check/route-fe947d4ab19df968.js +1 -0
  897. package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-fe947d4ab19df968.js +1 -0
  898. package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-fe947d4ab19df968.js +1 -0
  899. package/.next/static/chunks/app/api/tunnel/tailscale-install/route-fe947d4ab19df968.js +1 -0
  900. package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-fe947d4ab19df968.js +1 -0
  901. package/.next/static/chunks/app/api/usage/[connectionId]/route-fe947d4ab19df968.js +1 -0
  902. package/.next/static/chunks/app/api/usage/chart/route-fe947d4ab19df968.js +1 -0
  903. package/.next/static/chunks/app/api/usage/history/route-fe947d4ab19df968.js +1 -0
  904. package/.next/static/chunks/app/api/usage/logs/route-fe947d4ab19df968.js +1 -0
  905. package/.next/static/chunks/app/api/usage/providers/route-fe947d4ab19df968.js +1 -0
  906. package/.next/static/chunks/app/api/usage/request-details/route-fe947d4ab19df968.js +1 -0
  907. package/.next/static/chunks/app/api/usage/request-logs/route-fe947d4ab19df968.js +1 -0
  908. package/.next/static/chunks/app/api/usage/stats/route-fe947d4ab19df968.js +1 -0
  909. package/.next/static/chunks/app/api/usage/stream/route-fe947d4ab19df968.js +1 -0
  910. package/.next/static/chunks/app/api/v1/api/chat/route-fe947d4ab19df968.js +1 -0
  911. package/.next/static/chunks/app/api/v1/audio/speech/route-fe947d4ab19df968.js +1 -0
  912. package/.next/static/chunks/app/api/v1/audio/transcriptions/route-fe947d4ab19df968.js +1 -0
  913. package/.next/static/chunks/app/api/v1/audio/voices/route-fe947d4ab19df968.js +1 -0
  914. package/.next/static/chunks/app/api/v1/chat/completions/route-fe947d4ab19df968.js +1 -0
  915. package/.next/static/chunks/app/api/v1/embeddings/route-fe947d4ab19df968.js +1 -0
  916. package/.next/static/chunks/app/api/v1/images/generations/route-fe947d4ab19df968.js +1 -0
  917. package/.next/static/chunks/app/api/v1/messages/count_tokens/route-fe947d4ab19df968.js +1 -0
  918. package/.next/static/chunks/app/api/v1/messages/route-fe947d4ab19df968.js +1 -0
  919. package/.next/static/chunks/app/api/v1/models/[...model]/route-fe947d4ab19df968.js +1 -0
  920. package/.next/static/chunks/app/api/v1/models/info/route-fe947d4ab19df968.js +1 -0
  921. package/.next/static/chunks/app/api/v1/models/route-fe947d4ab19df968.js +1 -0
  922. package/.next/static/chunks/app/api/v1/responses/compact/route-fe947d4ab19df968.js +1 -0
  923. package/.next/static/chunks/app/api/v1/responses/route-fe947d4ab19df968.js +1 -0
  924. package/.next/static/chunks/app/api/v1/route-fe947d4ab19df968.js +1 -0
  925. package/.next/static/chunks/app/api/v1/search/route-fe947d4ab19df968.js +1 -0
  926. package/.next/static/chunks/app/api/v1/systemone/route-fe947d4ab19df968.js +1 -0
  927. package/.next/static/chunks/app/api/v1/videos/[id]/route-fe947d4ab19df968.js +1 -0
  928. package/.next/static/chunks/app/api/v1/videos/edits/route-fe947d4ab19df968.js +1 -0
  929. package/.next/static/chunks/app/api/v1/videos/extensions/route-fe947d4ab19df968.js +1 -0
  930. package/.next/static/chunks/app/api/v1/videos/generations/route-fe947d4ab19df968.js +1 -0
  931. package/.next/static/chunks/app/api/v1/web/fetch/route-fe947d4ab19df968.js +1 -0
  932. package/.next/static/chunks/app/api/v1beta/models/[...path]/route-fe947d4ab19df968.js +1 -0
  933. package/.next/static/chunks/app/api/v1beta/models/route-fe947d4ab19df968.js +1 -0
  934. package/.next/static/chunks/app/api/version/route-fe947d4ab19df968.js +1 -0
  935. package/.next/static/chunks/app/api/version/shutdown/route-fe947d4ab19df968.js +1 -0
  936. package/.next/static/chunks/app/api/version/update/route-fe947d4ab19df968.js +1 -0
  937. package/.next/static/chunks/app/callback/page-f4019bfc06b9a21c.js +1 -0
  938. package/.next/static/chunks/app/dashboard/settings/pricing/page-b9ee16bd322c018e.js +1 -0
  939. package/.next/static/chunks/app/landing/page-a088604744d51552.js +1 -0
  940. package/.next/static/chunks/app/layout-56cb8d3773a70c00.js +1 -0
  941. package/.next/static/chunks/app/login/page-dd11fb741ed7fda4.js +1 -0
  942. package/.next/static/chunks/app/manifest.webmanifest/route-fe947d4ab19df968.js +1 -0
  943. package/.next/static/chunks/app/page-fe947d4ab19df968.js +1 -0
  944. package/.next/static/chunks/e138dfde-a5c7fa92857215f2.js +1 -0
  945. package/.next/static/chunks/framework-c33600f6d7c90335.js +1 -0
  946. package/.next/static/chunks/main-536afed42e49674c.js +5 -0
  947. package/.next/static/chunks/main-app-17abdf14ff64ab69.js +1 -0
  948. package/.next/static/chunks/next/dist/client/components/builtin/app-error-fe947d4ab19df968.js +1 -0
  949. package/.next/static/chunks/next/dist/client/components/builtin/forbidden-fe947d4ab19df968.js +1 -0
  950. package/.next/static/chunks/next/dist/client/components/builtin/global-error-21486667022bd4cf.js +1 -0
  951. package/.next/static/chunks/next/dist/client/components/builtin/not-found-fe947d4ab19df968.js +1 -0
  952. package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-fe947d4ab19df968.js +1 -0
  953. package/.next/static/chunks/polyfills-42372ed130431b0a.js +1 -0
  954. package/.next/static/chunks/webpack-452a2f4aec1a53ee.js +1 -0
  955. package/.next/static/css/8fbebca0759ae504.css +1 -0
  956. package/.next/static/css/e07f2bf4fa519943.css +31 -0
  957. package/.next/static/css/e9178fa7e53ec623.css +1 -0
  958. package/.next/static/media/17cf9497af825577-s.woff2 +0 -0
  959. package/.next/static/media/19cfc7226ec3afaa-s.woff2 +0 -0
  960. package/.next/static/media/1abbc144918f74fd-s.p.woff2 +0 -0
  961. package/.next/static/media/21350d82a1f187e9-s.woff2 +0 -0
  962. package/.next/static/media/8c96cc4bd2a39381-s.p.woff2 +0 -0
  963. package/.next/static/media/8e9860b6e62d6359-s.woff2 +0 -0
  964. package/.next/static/media/ba9851c3c22cd980-s.woff2 +0 -0
  965. package/.next/static/media/c5fe6dc8356a8c31-s.woff2 +0 -0
  966. package/.next/static/media/df0a9ae256c0569c-s.woff2 +0 -0
  967. package/.next/static/media/e4af272ccee01ff0-s.p.woff2 +0 -0
  968. package/LICENSE.md +21 -0
  969. package/README.md +67 -0
  970. package/bin/10router.mjs +301 -0
  971. package/custom-server.js +147 -0
  972. package/next.config.mjs +110 -0
  973. package/open-sse/AGENTS.md +39 -0
  974. package/open-sse/config/appConstants.js +221 -0
  975. package/open-sse/config/codexInstructions.js +119 -0
  976. package/open-sse/config/defaultThinkingSignature.js +14 -0
  977. package/open-sse/config/errorConfig.js +94 -0
  978. package/open-sse/config/googleTtsLanguages.js +62 -0
  979. package/open-sse/config/grokCli.js +10 -0
  980. package/open-sse/config/mediaConfig.js +27 -0
  981. package/open-sse/config/models.js +13 -0
  982. package/open-sse/config/ollamaModels.js +28 -0
  983. package/open-sse/config/providerModels.js +138 -0
  984. package/open-sse/config/providers.js +21 -0
  985. package/open-sse/config/runtimeConfig.js +101 -0
  986. package/open-sse/config/ttsModels.js +199 -0
  987. package/open-sse/executors/antigravity.js +706 -0
  988. package/open-sse/executors/base.js +231 -0
  989. package/open-sse/executors/codex.js +606 -0
  990. package/open-sse/executors/cursor.js +1251 -0
  991. package/open-sse/executors/default.js +352 -0
  992. package/open-sse/executors/index.js +50 -0
  993. package/open-sse/executors/opencode-go.js +216 -0
  994. package/open-sse/executors/opencode-zen.js +343 -0
  995. package/open-sse/executors/opencode.js +618 -0
  996. package/open-sse/executors/qoder.js +860 -0
  997. package/open-sse/executors/xiaomi-mimo.js +107 -0
  998. package/open-sse/executors/xiaomi-tokenplan.js +20 -0
  999. package/open-sse/executors/zed.js +330 -0
  1000. package/open-sse/handlers/chatCore/nonStreamingHandler.js +490 -0
  1001. package/open-sse/handlers/chatCore/requestDetail.js +169 -0
  1002. package/open-sse/handlers/chatCore/sseToJsonHandler.js +503 -0
  1003. package/open-sse/handlers/chatCore/streamingHandler.js +310 -0
  1004. package/open-sse/handlers/chatCore.js +740 -0
  1005. package/open-sse/handlers/embeddingProviders/_base.js +4 -0
  1006. package/open-sse/handlers/embeddingProviders/gemini.js +55 -0
  1007. package/open-sse/handlers/embeddingProviders/index.js +41 -0
  1008. package/open-sse/handlers/embeddingProviders/openai.js +31 -0
  1009. package/open-sse/handlers/embeddingProviders/openaiCompatNode.js +13 -0
  1010. package/open-sse/handlers/embeddingProviders/selfhostedEmbedding.js +49 -0
  1011. package/open-sse/handlers/embeddingsCore.js +144 -0
  1012. package/open-sse/handlers/fetch/index.js +415 -0
  1013. package/open-sse/handlers/imageGenerationCore.js +261 -0
  1014. package/open-sse/handlers/imageProviders/_base.js +31 -0
  1015. package/open-sse/handlers/imageProviders/antigravity.js +88 -0
  1016. package/open-sse/handlers/imageProviders/blackForestLabs.js +47 -0
  1017. package/open-sse/handlers/imageProviders/codex.js +235 -0
  1018. package/open-sse/handlers/imageProviders/comfyui.js +12 -0
  1019. package/open-sse/handlers/imageProviders/falAi.js +44 -0
  1020. package/open-sse/handlers/imageProviders/gemini.js +28 -0
  1021. package/open-sse/handlers/imageProviders/huggingface.js +23 -0
  1022. package/open-sse/handlers/imageProviders/index.js +41 -0
  1023. package/open-sse/handlers/imageProviders/nanobanana.js +61 -0
  1024. package/open-sse/handlers/imageProviders/openai.js +33 -0
  1025. package/open-sse/handlers/imageProviders/runwayml.js +60 -0
  1026. package/open-sse/handlers/imageProviders/sdwebui.js +22 -0
  1027. package/open-sse/handlers/imageProviders/stabilityAi.js +35 -0
  1028. package/open-sse/handlers/responsesHandler.js +107 -0
  1029. package/open-sse/handlers/search/callers.js +469 -0
  1030. package/open-sse/handlers/search/chatSearch.js +502 -0
  1031. package/open-sse/handlers/search/index.js +246 -0
  1032. package/open-sse/handlers/search/normalizers.js +414 -0
  1033. package/open-sse/handlers/sttCore.js +262 -0
  1034. package/open-sse/handlers/systemoneCore.js +89 -0
  1035. package/open-sse/handlers/ttsCore.js +88 -0
  1036. package/open-sse/handlers/ttsProviders/_base.js +51 -0
  1037. package/open-sse/handlers/ttsProviders/edgeTts.js +89 -0
  1038. package/open-sse/handlers/ttsProviders/elevenlabs.js +48 -0
  1039. package/open-sse/handlers/ttsProviders/gemini.js +136 -0
  1040. package/open-sse/handlers/ttsProviders/genericFormats.js +191 -0
  1041. package/open-sse/handlers/ttsProviders/googleTts.js +64 -0
  1042. package/open-sse/handlers/ttsProviders/index.js +56 -0
  1043. package/open-sse/handlers/ttsProviders/localDevice.js +98 -0
  1044. package/open-sse/handlers/ttsProviders/minimax.js +63 -0
  1045. package/open-sse/handlers/ttsProviders/openai.js +36 -0
  1046. package/open-sse/handlers/ttsProviders/openrouter.js +73 -0
  1047. package/open-sse/handlers/ttsProviders/selfhostedTts.js +70 -0
  1048. package/open-sse/handlers/ttsProviders/xiaomi-mimo.js +71 -0
  1049. package/open-sse/handlers/videoCore.js +242 -0
  1050. package/open-sse/handlers/videoProviders/index.js +12 -0
  1051. package/open-sse/handlers/videoProviders/openrouter.js +43 -0
  1052. package/open-sse/index.js +84 -0
  1053. package/open-sse/providers/REGISTRY_TEMPLATE.js +98 -0
  1054. package/open-sse/providers/capabilities.js +1543 -0
  1055. package/open-sse/providers/catalogOverride.js +82 -0
  1056. package/open-sse/providers/index.js +63 -0
  1057. package/open-sse/providers/models/helpers.js +27 -0
  1058. package/open-sse/providers/models/namePatterns.js +33 -0
  1059. package/open-sse/providers/models/schema.js +48 -0
  1060. package/open-sse/providers/pricing.js +1204 -0
  1061. package/open-sse/providers/registry/antigravity.js +147 -0
  1062. package/open-sse/providers/registry/claude.js +81 -0
  1063. package/open-sse/providers/registry/codex.js +210 -0
  1064. package/open-sse/providers/registry/cursor.js +58 -0
  1065. package/open-sse/providers/registry/deepseek.js +74 -0
  1066. package/open-sse/providers/registry/fish-audio.js +31 -0
  1067. package/open-sse/providers/registry/gemini.js +126 -0
  1068. package/open-sse/providers/registry/glm-cn.js +39 -0
  1069. package/open-sse/providers/registry/glm.js +75 -0
  1070. package/open-sse/providers/registry/groq.js +62 -0
  1071. package/open-sse/providers/registry/huggingface.js +40 -0
  1072. package/open-sse/providers/registry/iflow.js +52 -0
  1073. package/open-sse/providers/registry/index.js +59 -0
  1074. package/open-sse/providers/registry/mimo-free.js +25 -0
  1075. package/open-sse/providers/registry/minimax-cn.js +82 -0
  1076. package/open-sse/providers/registry/minimax.js +94 -0
  1077. package/open-sse/providers/registry/openai.js +122 -0
  1078. package/open-sse/providers/registry/opencode-go.js +115 -0
  1079. package/open-sse/providers/registry/opencode-zen.js +297 -0
  1080. package/open-sse/providers/registry/opencode.js +54 -0
  1081. package/open-sse/providers/registry/openrouter.js +128 -0
  1082. package/open-sse/providers/registry/qoder.js +61 -0
  1083. package/open-sse/providers/registry/siliconflow.js +39 -0
  1084. package/open-sse/providers/registry/vercel-ai-gateway.js +42 -0
  1085. package/open-sse/providers/registry/xai.js +59 -0
  1086. package/open-sse/providers/registry/xiaomi-mimo.js +90 -0
  1087. package/open-sse/providers/registry/xiaomi-tokenplan.js +66 -0
  1088. package/open-sse/providers/registry/xquik.js +31 -0
  1089. package/open-sse/providers/registry/zed.js +70 -0
  1090. package/open-sse/providers/schema.js +76 -0
  1091. package/open-sse/providers/shared.js +114 -0
  1092. package/open-sse/providers/thinkingLevels.js +74 -0
  1093. package/open-sse/providers/visionPatterns.js +58 -0
  1094. package/open-sse/rtk/applyFilter.js +17 -0
  1095. package/open-sse/rtk/autodetect.js +124 -0
  1096. package/open-sse/rtk/caveman.js +9 -0
  1097. package/open-sse/rtk/cavemanPrompts.js +118 -0
  1098. package/open-sse/rtk/constants.js +78 -0
  1099. package/open-sse/rtk/filters/buildOutput.js +133 -0
  1100. package/open-sse/rtk/filters/dedupLog.js +44 -0
  1101. package/open-sse/rtk/filters/find.js +50 -0
  1102. package/open-sse/rtk/filters/gitDiff.js +92 -0
  1103. package/open-sse/rtk/filters/gitLog.js +102 -0
  1104. package/open-sse/rtk/filters/gitStatus.js +129 -0
  1105. package/open-sse/rtk/filters/grep.js +48 -0
  1106. package/open-sse/rtk/filters/ls.js +83 -0
  1107. package/open-sse/rtk/filters/readNumbered.js +27 -0
  1108. package/open-sse/rtk/filters/searchList.js +52 -0
  1109. package/open-sse/rtk/filters/smartTruncate.js +19 -0
  1110. package/open-sse/rtk/filters/tree.js +32 -0
  1111. package/open-sse/rtk/headroom.js +296 -0
  1112. package/open-sse/rtk/index.js +122 -0
  1113. package/open-sse/rtk/ponytail.js +9 -0
  1114. package/open-sse/rtk/ponytailPrompt.js +58 -0
  1115. package/open-sse/rtk/pxpipe.js +113 -0
  1116. package/open-sse/rtk/registry.js +40 -0
  1117. package/open-sse/rtk/systemInject.js +301 -0
  1118. package/open-sse/services/accountFallback.js +244 -0
  1119. package/open-sse/services/capacityAdapter.js +182 -0
  1120. package/open-sse/services/combo.js +715 -0
  1121. package/open-sse/services/compact.js +70 -0
  1122. package/open-sse/services/copilotModels.js +163 -0
  1123. package/open-sse/services/cursorModels.js +209 -0
  1124. package/open-sse/services/grokCliModels.js +128 -0
  1125. package/open-sse/services/kimchiModels.js +191 -0
  1126. package/open-sse/services/model.js +141 -0
  1127. package/open-sse/services/oauthCredentialManager.js +165 -0
  1128. package/open-sse/services/projectId.js +343 -0
  1129. package/open-sse/services/provider.js +181 -0
  1130. package/open-sse/services/qoderModels.js +410 -0
  1131. package/open-sse/services/thoughtSignatureStore.js +210 -0
  1132. package/open-sse/services/tokenRefresh/dedup.js +31 -0
  1133. package/open-sse/services/tokenRefresh/providers.js +564 -0
  1134. package/open-sse/services/tokenRefresh.js +201 -0
  1135. package/open-sse/services/usage/antigravity-weekly.js +155 -0
  1136. package/open-sse/services/usage/claude.js +211 -0
  1137. package/open-sse/services/usage/codebuddy-cn.js +172 -0
  1138. package/open-sse/services/usage/codex.js +283 -0
  1139. package/open-sse/services/usage/commandcode.js +153 -0
  1140. package/open-sse/services/usage/deepseek.js +103 -0
  1141. package/open-sse/services/usage/github.js +107 -0
  1142. package/open-sse/services/usage/glm.js +88 -0
  1143. package/open-sse/services/usage/google.js +223 -0
  1144. package/open-sse/services/usage/grok-cli.js +414 -0
  1145. package/open-sse/services/usage/grokCliQuotaFrame.js +194 -0
  1146. package/open-sse/services/usage/groq.js +133 -0
  1147. package/open-sse/services/usage/minimax.js +297 -0
  1148. package/open-sse/services/usage/misc.js +275 -0
  1149. package/open-sse/services/usage/opencode-go.js +106 -0
  1150. package/open-sse/services/usage/shared.js +70 -0
  1151. package/open-sse/services/usage/xiaomi-mimo.js +129 -0
  1152. package/open-sse/services/usage/zed.js +220 -0
  1153. package/open-sse/services/usage.js +88 -0
  1154. package/open-sse/shared/machineId.js +23 -0
  1155. package/open-sse/shared/mimoAccount.js +306 -0
  1156. package/open-sse/shared/qoder/attachments.js +436 -0
  1157. package/open-sse/shared/qoder/constants.js +182 -0
  1158. package/open-sse/shared/qoder/contextTier.js +180 -0
  1159. package/open-sse/shared/qoder/cosy.js +175 -0
  1160. package/open-sse/shared/qoder/encoding.js +55 -0
  1161. package/open-sse/shared/qoder/sse.js +209 -0
  1162. package/open-sse/shared/zedAuth.js +431 -0
  1163. package/open-sse/transformer/responsesTransformer.js +438 -0
  1164. package/open-sse/transformer/streamToJsonConverter.js +113 -0
  1165. package/open-sse/translator/concerns/chunk.js +11 -0
  1166. package/open-sse/translator/concerns/finishReason.js +87 -0
  1167. package/open-sse/translator/concerns/image.js +158 -0
  1168. package/open-sse/translator/concerns/json.js +9 -0
  1169. package/open-sse/translator/concerns/message.js +8 -0
  1170. package/open-sse/translator/concerns/modality.js +182 -0
  1171. package/open-sse/translator/concerns/paramSupport.js +80 -0
  1172. package/open-sse/translator/concerns/prefetch.js +111 -0
  1173. package/open-sse/translator/concerns/reasoning.js +23 -0
  1174. package/open-sse/translator/concerns/thinking.js +53 -0
  1175. package/open-sse/translator/concerns/thinkingUnified.js +438 -0
  1176. package/open-sse/translator/concerns/toolCall.js +185 -0
  1177. package/open-sse/translator/concerns/usage.js +98 -0
  1178. package/open-sse/translator/formats/claude.js +705 -0
  1179. package/open-sse/translator/formats/gemini.js +498 -0
  1180. package/open-sse/translator/formats/maxTokens.js +33 -0
  1181. package/open-sse/translator/formats/openai.js +150 -0
  1182. package/open-sse/translator/formats/responsesApi.js +210 -0
  1183. package/open-sse/translator/formats.js +32 -0
  1184. package/open-sse/translator/index.js +297 -0
  1185. package/open-sse/translator/request/antigravity-to-openai.js +250 -0
  1186. package/open-sse/translator/request/claude-to-openai.js +297 -0
  1187. package/open-sse/translator/request/gemini-to-openai.js +152 -0
  1188. package/open-sse/translator/request/openai-responses.js +502 -0
  1189. package/open-sse/translator/request/openai-to-claude.js +413 -0
  1190. package/open-sse/translator/request/openai-to-cursor.js +185 -0
  1191. package/open-sse/translator/request/openai-to-gemini.js +477 -0
  1192. package/open-sse/translator/response/claude-to-openai.js +227 -0
  1193. package/open-sse/translator/response/cursor-to-openai.js +30 -0
  1194. package/open-sse/translator/response/gemini-to-openai.js +172 -0
  1195. package/open-sse/translator/response/openai-responses.js +652 -0
  1196. package/open-sse/translator/response/openai-to-antigravity.js +127 -0
  1197. package/open-sse/translator/response/openai-to-claude.js +276 -0
  1198. package/open-sse/translator/schema/blocks.js +57 -0
  1199. package/open-sse/translator/schema/defaults.js +7 -0
  1200. package/open-sse/translator/schema/finishReasons.js +28 -0
  1201. package/open-sse/translator/schema/index.js +11 -0
  1202. package/open-sse/translator/schema/roles.js +16 -0
  1203. package/open-sse/utils/bypassHandler.js +327 -0
  1204. package/open-sse/utils/claudeCloaking.js +274 -0
  1205. package/open-sse/utils/claudeSignature.js +41 -0
  1206. package/open-sse/utils/claudeToolTypeSelfCheck.mjs +121 -0
  1207. package/open-sse/utils/clientDetector.js +70 -0
  1208. package/open-sse/utils/codexToolSchema.js +80 -0
  1209. package/open-sse/utils/cursorChecksum.js +151 -0
  1210. package/open-sse/utils/cursorProtobuf.js +999 -0
  1211. package/open-sse/utils/debugLog.js +19 -0
  1212. package/open-sse/utils/error.js +159 -0
  1213. package/open-sse/utils/modelMarkers.js +23 -0
  1214. package/open-sse/utils/ollamaTransform.js +102 -0
  1215. package/open-sse/utils/opencodeFreeUsage.js +115 -0
  1216. package/open-sse/utils/proxyFetch.js +258 -0
  1217. package/open-sse/utils/reasoningContentInjector.js +77 -0
  1218. package/open-sse/utils/requestLogger.js +271 -0
  1219. package/open-sse/utils/responsesStreamHelpers.js +53 -0
  1220. package/open-sse/utils/sessionManager.js +286 -0
  1221. package/open-sse/utils/sse.js +14 -0
  1222. package/open-sse/utils/sseConstants.js +23 -0
  1223. package/open-sse/utils/stream.js +612 -0
  1224. package/open-sse/utils/streamHandler.js +329 -0
  1225. package/open-sse/utils/streamHelpers.js +155 -0
  1226. package/open-sse/utils/toolDeduper.js +49 -0
  1227. package/open-sse/utils/usageTracking.js +473 -0
  1228. package/package.json +118 -0
  1229. package/public/favicon.svg +72 -0
  1230. package/public/i18n/literals/fa.json +1380 -0
  1231. package/public/icons/icon-192.svg +22 -0
  1232. package/public/icons/icon-512.svg +22 -0
  1233. package/public/icons/icon.svg +72 -0
  1234. package/public/providers/agentrouter.png +0 -0
  1235. package/public/providers/alicode-intl.png +0 -0
  1236. package/public/providers/alicode.png +0 -0
  1237. package/public/providers/alims-intl.png +0 -0
  1238. package/public/providers/alitp-intl.png +0 -0
  1239. package/public/providers/amp.png +0 -0
  1240. package/public/providers/anthropic.png +0 -0
  1241. package/public/providers/api-airforce.png +0 -0
  1242. package/public/providers/assemblyai.png +0 -0
  1243. package/public/providers/aws-polly.png +0 -0
  1244. package/public/providers/azure.png +0 -0
  1245. package/public/providers/baidu.png +0 -0
  1246. package/public/providers/bazaarlink.png +0 -0
  1247. package/public/providers/black-forest-labs.png +0 -0
  1248. package/public/providers/blackbox.png +0 -0
  1249. package/public/providers/bluesminds.png +0 -0
  1250. package/public/providers/brave-search.png +0 -0
  1251. package/public/providers/byteplus.png +0 -0
  1252. package/public/providers/cartesia.png +0 -0
  1253. package/public/providers/cerebras.png +0 -0
  1254. package/public/providers/chutes.png +0 -0
  1255. package/public/providers/claude.png +0 -0
  1256. package/public/providers/clinepass.png +0 -0
  1257. package/public/providers/codebuddy-cn.png +0 -0
  1258. package/public/providers/codebuddy-intl.png +0 -0
  1259. package/public/providers/codex.png +0 -0
  1260. package/public/providers/cohere.png +0 -0
  1261. package/public/providers/comfyui.png +0 -0
  1262. package/public/providers/commandcode.png +0 -0
  1263. package/public/providers/continue.png +0 -0
  1264. package/public/providers/coqui.png +0 -0
  1265. package/public/providers/cursor.png +0 -0
  1266. package/public/providers/deepgram.png +0 -0
  1267. package/public/providers/deepseek-tui.png +0 -0
  1268. package/public/providers/deepseek.png +0 -0
  1269. package/public/providers/devin-cli.png +0 -0
  1270. package/public/providers/droid.png +0 -0
  1271. package/public/providers/edge-tts.png +0 -0
  1272. package/public/providers/elevenlabs.png +0 -0
  1273. package/public/providers/exa.png +0 -0
  1274. package/public/providers/fal-ai.png +0 -0
  1275. package/public/providers/featherless.png +0 -0
  1276. package/public/providers/firecrawl.png +0 -0
  1277. package/public/providers/fireworks.png +0 -0
  1278. package/public/providers/fish-audio.png +0 -0
  1279. package/public/providers/gemini.png +0 -0
  1280. package/public/providers/github.png +0 -0
  1281. package/public/providers/gitlab.png +0 -0
  1282. package/public/providers/glm-cn.png +0 -0
  1283. package/public/providers/glm.png +0 -0
  1284. package/public/providers/google-pse.png +0 -0
  1285. package/public/providers/google-tts.png +0 -0
  1286. package/public/providers/grok-cli.png +0 -0
  1287. package/public/providers/grok-web.png +0 -0
  1288. package/public/providers/groq.png +0 -0
  1289. package/public/providers/hermes.png +0 -0
  1290. package/public/providers/huggingface.png +0 -0
  1291. package/public/providers/hyperbolic.png +0 -0
  1292. package/public/providers/iflow.png +0 -0
  1293. package/public/providers/inworld.png +0 -0
  1294. package/public/providers/jcode.png +0 -0
  1295. package/public/providers/jina-ai.png +0 -0
  1296. package/public/providers/jina-reader.png +0 -0
  1297. package/public/providers/kilo-gateway.png +0 -0
  1298. package/public/providers/kilocode.png +0 -0
  1299. package/public/providers/kimchi.png +0 -0
  1300. package/public/providers/kimchi.svg +4 -0
  1301. package/public/providers/linkup.png +0 -0
  1302. package/public/providers/llm7.png +0 -0
  1303. package/public/providers/local-device.png +0 -0
  1304. package/public/providers/longcat.png +0 -0
  1305. package/public/providers/mimo-free.png +0 -0
  1306. package/public/providers/minimax-cn.png +0 -0
  1307. package/public/providers/minimax.png +0 -0
  1308. package/public/providers/mistral.png +0 -0
  1309. package/public/providers/mmf.png +0 -0
  1310. package/public/providers/morph.png +0 -0
  1311. package/public/providers/nanobanana.png +0 -0
  1312. package/public/providers/nebius.png +0 -0
  1313. package/public/providers/novita.png +0 -0
  1314. package/public/providers/nvidia.png +0 -0
  1315. package/public/providers/ollama-local.png +0 -0
  1316. package/public/providers/ollama.png +0 -0
  1317. package/public/providers/openai.png +0 -0
  1318. package/public/providers/openclaw.png +0 -0
  1319. package/public/providers/opencode-go.png +0 -0
  1320. package/public/providers/opencode.png +0 -0
  1321. package/public/providers/opendesign.png +0 -0
  1322. package/public/providers/openrouter.png +0 -0
  1323. package/public/providers/perplexity-agent.png +0 -0
  1324. package/public/providers/perplexity-web.png +0 -0
  1325. package/public/providers/perplexity.png +0 -0
  1326. package/public/providers/playht.png +0 -0
  1327. package/public/providers/poolside.png +0 -0
  1328. package/public/providers/qoder.png +0 -0
  1329. package/public/providers/qwen.png +0 -0
  1330. package/public/providers/recraft.png +0 -0
  1331. package/public/providers/reka.png +0 -0
  1332. package/public/providers/roo.png +0 -0
  1333. package/public/providers/runwayml.png +0 -0
  1334. package/public/providers/sambanova.png +0 -0
  1335. package/public/providers/sdwebui.png +0 -0
  1336. package/public/providers/searchapi.png +0 -0
  1337. package/public/providers/searxng.png +0 -0
  1338. package/public/providers/selfhosted-embedding.png +0 -0
  1339. package/public/providers/selfhosted-stt.png +0 -0
  1340. package/public/providers/selfhosted-tts.png +0 -0
  1341. package/public/providers/serper.png +0 -0
  1342. package/public/providers/siliconflow.png +0 -0
  1343. package/public/providers/stability-ai.png +0 -0
  1344. package/public/providers/tavily.png +0 -0
  1345. package/public/providers/tencent.png +0 -0
  1346. package/public/providers/together.png +0 -0
  1347. package/public/providers/tokenrouter.png +0 -0
  1348. package/public/providers/topaz.png +0 -0
  1349. package/public/providers/tortoise.png +0 -0
  1350. package/public/providers/trae.png +0 -0
  1351. package/public/providers/venice.png +0 -0
  1352. package/public/providers/vercel-ai-gateway.png +0 -0
  1353. package/public/providers/vercel.png +0 -0
  1354. package/public/providers/volcengine-ark.png +0 -0
  1355. package/public/providers/voyage-ai.png +0 -0
  1356. package/public/providers/windsurf.png +0 -0
  1357. package/public/providers/workbuddy.png +0 -0
  1358. package/public/providers/xai.png +0 -0
  1359. package/public/providers/xiaomi-mimo.png +0 -0
  1360. package/public/providers/xiaomi-tokenplan.png +0 -0
  1361. package/public/providers/xquik.png +0 -0
  1362. package/public/providers/youcom.png +0 -0
  1363. package/public/providers/zed.png +0 -0
  1364. package/public/sw.js +22 -0
  1365. package/scripts/dev-local.mjs +67 -0
  1366. package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx +1140 -0
  1367. package/src/app/(dashboard)/dashboard/basic-chat/page.tsx +5 -0
  1368. package/src/app/(dashboard)/dashboard/cli-tools/CLIToolsPageClient.tsx +69 -0
  1369. package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/ToolDetailClient.tsx +279 -0
  1370. package/src/app/(dashboard)/dashboard/cli-tools/[toolId]/page.tsx +11 -0
  1371. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ClaudeToolCard.tsx +705 -0
  1372. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/CodexToolCard.tsx +596 -0
  1373. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/CoworkToolCard.tsx +835 -0
  1374. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/DefaultToolCard.tsx +318 -0
  1375. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/DshToolCard.tsx +537 -0
  1376. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/OpenCodeToolCard.tsx +661 -0
  1377. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/ToolSummaryCard.tsx +49 -0
  1378. package/src/app/(dashboard)/dashboard/cli-tools/components/cards/index.ts +7 -0
  1379. package/src/app/(dashboard)/dashboard/cli-tools/components/index.ts +11 -0
  1380. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/ApiKeySelect.tsx +155 -0
  1381. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/BaseUrlSelect.tsx +241 -0
  1382. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/cliEndpointMatch.ts +13 -0
  1383. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/cliEndpointPresets.ts +106 -0
  1384. package/src/app/(dashboard)/dashboard/cli-tools/components/shared/index.ts +4 -0
  1385. package/src/app/(dashboard)/dashboard/cli-tools/page.tsx +7 -0
  1386. package/src/app/(dashboard)/dashboard/combos/page.tsx +901 -0
  1387. package/src/app/(dashboard)/dashboard/console-log/ConsoleLogClient.tsx +414 -0
  1388. package/src/app/(dashboard)/dashboard/console-log/page.tsx +8 -0
  1389. package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx +434 -0
  1390. package/src/app/(dashboard)/dashboard/endpoint/components/EndpointRow.tsx +35 -0
  1391. package/src/app/(dashboard)/dashboard/endpoint/components/SecurityWarning.tsx +30 -0
  1392. package/src/app/(dashboard)/dashboard/endpoint/components/StatusAlert.tsx +33 -0
  1393. package/src/app/(dashboard)/dashboard/endpoint/endpointConstants.ts +37 -0
  1394. package/src/app/(dashboard)/dashboard/endpoint/endpointPing.ts +33 -0
  1395. package/src/app/(dashboard)/dashboard/endpoint/page.tsx +7 -0
  1396. package/src/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.tsx +350 -0
  1397. package/src/app/(dashboard)/dashboard/media-providers/systemone/page.tsx +124 -0
  1398. package/src/app/(dashboard)/dashboard/page.tsx +7 -0
  1399. package/src/app/(dashboard)/dashboard/profile/page.tsx +905 -0
  1400. package/src/app/(dashboard)/dashboard/providers/[id]/AddApiKeyModal.tsx +380 -0
  1401. package/src/app/(dashboard)/dashboard/providers/[id]/AddCustomModelModal.tsx +171 -0
  1402. package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportCodexModal.tsx +147 -0
  1403. package/src/app/(dashboard)/dashboard/providers/[id]/BulkImportGrokCliModal.tsx +289 -0
  1404. package/src/app/(dashboard)/dashboard/providers/[id]/CompatibleModelsSection.tsx +259 -0
  1405. package/src/app/(dashboard)/dashboard/providers/[id]/ConnectionRow.tsx +362 -0
  1406. package/src/app/(dashboard)/dashboard/providers/[id]/CooldownTimer.tsx +32 -0
  1407. package/src/app/(dashboard)/dashboard/providers/[id]/EditCompatibleNodeModal.tsx +163 -0
  1408. package/src/app/(dashboard)/dashboard/providers/[id]/ModelRow.tsx +116 -0
  1409. package/src/app/(dashboard)/dashboard/providers/[id]/PassthroughModelsSection.tsx +183 -0
  1410. package/src/app/(dashboard)/dashboard/providers/[id]/page.tsx +1918 -0
  1411. package/src/app/(dashboard)/dashboard/providers/[id]/useOneByOneTest.ts +102 -0
  1412. package/src/app/(dashboard)/dashboard/providers/components/AddCompatibleModal.tsx +185 -0
  1413. package/src/app/(dashboard)/dashboard/providers/components/ConnectionsCard.tsx +476 -0
  1414. package/src/app/(dashboard)/dashboard/providers/components/ModelAvailabilityBadge.tsx +192 -0
  1415. package/src/app/(dashboard)/dashboard/providers/components/ModelsCard.tsx +344 -0
  1416. package/src/app/(dashboard)/dashboard/providers/new/page.tsx +275 -0
  1417. package/src/app/(dashboard)/dashboard/providers/page.tsx +614 -0
  1418. package/src/app/(dashboard)/dashboard/providers/utils.ts +19 -0
  1419. package/src/app/(dashboard)/dashboard/proxy-pools/page.tsx +1305 -0
  1420. package/src/app/(dashboard)/dashboard/pxpipe/PxpipeClient.tsx +404 -0
  1421. package/src/app/(dashboard)/dashboard/pxpipe/page.tsx +5 -0
  1422. package/src/app/(dashboard)/dashboard/quota/page.tsx +11 -0
  1423. package/src/app/(dashboard)/dashboard/token-saver/TokenSaverClient.tsx +1096 -0
  1424. package/src/app/(dashboard)/dashboard/token-saver/page.tsx +5 -0
  1425. package/src/app/(dashboard)/dashboard/usage/components/OverviewCards.tsx +53 -0
  1426. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/ProviderLimitCard.tsx +175 -0
  1427. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaProgressBar.tsx +131 -0
  1428. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/QuotaTable.tsx +314 -0
  1429. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/index.tsx +1507 -0
  1430. package/src/app/(dashboard)/dashboard/usage/components/ProviderLimits/utils.ts +698 -0
  1431. package/src/app/(dashboard)/dashboard/usage/components/ProviderTopology.tsx +550 -0
  1432. package/src/app/(dashboard)/dashboard/usage/components/UsageChart.tsx +152 -0
  1433. package/src/app/(dashboard)/dashboard/usage/components/UsageTable.tsx +249 -0
  1434. package/src/app/(dashboard)/dashboard/usage/page.tsx +70 -0
  1435. package/src/app/(dashboard)/layout.tsx +5 -0
  1436. package/src/app/api/auth/login/route.js +146 -0
  1437. package/src/app/api/auth/logout/route.js +12 -0
  1438. package/src/app/api/auth/oidc/callback/route.js +100 -0
  1439. package/src/app/api/auth/oidc/start/route.js +59 -0
  1440. package/src/app/api/auth/oidc/test/route.js +86 -0
  1441. package/src/app/api/auth/reset-password/route.js +13 -0
  1442. package/src/app/api/auth/saml/acs/route.js +74 -0
  1443. package/src/app/api/auth/saml/metadata/route.js +28 -0
  1444. package/src/app/api/auth/saml/start/route.js +32 -0
  1445. package/src/app/api/auth/saml/test/route.js +84 -0
  1446. package/src/app/api/auth/status/route.js +72 -0
  1447. package/src/app/api/changelog/route.js +28 -0
  1448. package/src/app/api/cli-tools/all-statuses/route.js +32 -0
  1449. package/src/app/api/cli-tools/claude-settings/route.js +266 -0
  1450. package/src/app/api/cli-tools/codex-settings/profiles.js +109 -0
  1451. package/src/app/api/cli-tools/codex-settings/route.js +411 -0
  1452. package/src/app/api/cli-tools/cowork-mcp-registry/route.js +77 -0
  1453. package/src/app/api/cli-tools/cowork-mcp-tools/route.js +116 -0
  1454. package/src/app/api/cli-tools/cowork-settings/route.js +487 -0
  1455. package/src/app/api/cli-tools/dsh-settings/route.ts +254 -0
  1456. package/src/app/api/cli-tools/opencode-settings/route.js +334 -0
  1457. package/src/app/api/combos/[id]/route.js +84 -0
  1458. package/src/app/api/combos/route.js +51 -0
  1459. package/src/app/api/headroom/extras/route.js +54 -0
  1460. package/src/app/api/headroom/proxy/[...path]/route.js +104 -0
  1461. package/src/app/api/headroom/restart/route.js +43 -0
  1462. package/src/app/api/headroom/start/route.js +43 -0
  1463. package/src/app/api/headroom/status/route.js +18 -0
  1464. package/src/app/api/headroom/stop/route.js +14 -0
  1465. package/src/app/api/health/route.js +15 -0
  1466. package/src/app/api/init/route.js +4 -0
  1467. package/src/app/api/keys/[id]/route.js +58 -0
  1468. package/src/app/api/keys/route.js +45 -0
  1469. package/src/app/api/locale/route.js +24 -0
  1470. package/src/app/api/mcp/[plugin]/message/route.js +19 -0
  1471. package/src/app/api/mcp/[plugin]/sse/route.js +35 -0
  1472. package/src/app/api/media-providers/tts/deepgram/voices/route.js +76 -0
  1473. package/src/app/api/media-providers/tts/elevenlabs/voices/route.js +77 -0
  1474. package/src/app/api/media-providers/tts/inworld/voices/route.js +71 -0
  1475. package/src/app/api/media-providers/tts/minimax/voices/route.js +126 -0
  1476. package/src/app/api/media-providers/tts/voices/route.js +110 -0
  1477. package/src/app/api/models/alias/route.js +53 -0
  1478. package/src/app/api/models/availability/route.js +94 -0
  1479. package/src/app/api/models/catalog-sync/route.js +34 -0
  1480. package/src/app/api/models/custom/route.js +66 -0
  1481. package/src/app/api/models/disabled/route.js +50 -0
  1482. package/src/app/api/models/route.js +101 -0
  1483. package/src/app/api/models/test/ping.js +318 -0
  1484. package/src/app/api/models/test/route.js +14 -0
  1485. package/src/app/api/oauth/[provider]/[action]/route.js +604 -0
  1486. package/src/app/api/oauth/codex/bulk-import/route.js +115 -0
  1487. package/src/app/api/oauth/codex/import-token/route.js +93 -0
  1488. package/src/app/api/oauth/cursor/auto-import/route.js +238 -0
  1489. package/src/app/api/oauth/cursor/import/route.js +91 -0
  1490. package/src/app/api/oauth/gitlab/pat/route.js +65 -0
  1491. package/src/app/api/oauth/grok-cli/bulk-import/route.js +107 -0
  1492. package/src/app/api/oauth/iflow/cookie/route.js +139 -0
  1493. package/src/app/api/oauth/xiaomi-mimo/api-key/route.js +129 -0
  1494. package/src/app/api/oauth/xiaomi-mimo/auto-import/route.js +135 -0
  1495. package/src/app/api/pricing/route.js +121 -0
  1496. package/src/app/api/provider-nodes/[id]/route.js +113 -0
  1497. package/src/app/api/provider-nodes/route.js +112 -0
  1498. package/src/app/api/provider-nodes/validate/route.js +222 -0
  1499. package/src/app/api/providers/[id]/models/route.js +579 -0
  1500. package/src/app/api/providers/[id]/route.js +189 -0
  1501. package/src/app/api/providers/[id]/test/route.js +23 -0
  1502. package/src/app/api/providers/[id]/test/testUtils.js +1107 -0
  1503. package/src/app/api/providers/[id]/test-models/route.js +79 -0
  1504. package/src/app/api/providers/client/route.js +163 -0
  1505. package/src/app/api/providers/kilo/free-models/route.js +55 -0
  1506. package/src/app/api/providers/route.js +218 -0
  1507. package/src/app/api/providers/suggested-models/filters.js +42 -0
  1508. package/src/app/api/providers/suggested-models/route.js +32 -0
  1509. package/src/app/api/providers/test-batch/route.js +133 -0
  1510. package/src/app/api/providers/validate/route.js +700 -0
  1511. package/src/app/api/proxy-pools/[id]/route.js +152 -0
  1512. package/src/app/api/proxy-pools/[id]/test/route.js +72 -0
  1513. package/src/app/api/proxy-pools/cloudflare-deploy/route.js +167 -0
  1514. package/src/app/api/proxy-pools/deno-deploy/route.js +172 -0
  1515. package/src/app/api/proxy-pools/route.js +93 -0
  1516. package/src/app/api/proxy-pools/vercel-deploy/route.js +142 -0
  1517. package/src/app/api/pxpipe/health/route.js +16 -0
  1518. package/src/app/api/pxpipe/install/route.js +20 -0
  1519. package/src/app/api/pxpipe/logs/route.js +18 -0
  1520. package/src/app/api/pxpipe/restart/route.js +16 -0
  1521. package/src/app/api/pxpipe/start/route.js +29 -0
  1522. package/src/app/api/pxpipe/stats/route.js +14 -0
  1523. package/src/app/api/pxpipe/status/route.js +21 -0
  1524. package/src/app/api/pxpipe/stop/route.js +16 -0
  1525. package/src/app/api/settings/database/route.js +54 -0
  1526. package/src/app/api/settings/proxy-test/route.js +27 -0
  1527. package/src/app/api/settings/require-login/route.js +15 -0
  1528. package/src/app/api/settings/route.js +149 -0
  1529. package/src/app/api/shutdown/route.js +26 -0
  1530. package/src/app/api/tags/route.js +17 -0
  1531. package/src/app/api/translator/console-logs/route.js +24 -0
  1532. package/src/app/api/translator/console-logs/stream/route.js +98 -0
  1533. package/src/app/api/translator/load/route.js +48 -0
  1534. package/src/app/api/translator/save/route.js +47 -0
  1535. package/src/app/api/translator/send/route.js +105 -0
  1536. package/src/app/api/translator/translate/route.js +118 -0
  1537. package/src/app/api/tunnel/disable/route.js +17 -0
  1538. package/src/app/api/tunnel/enable/route.js +21 -0
  1539. package/src/app/api/tunnel/status/route.js +25 -0
  1540. package/src/app/api/tunnel/tailscale-check/route.js +77 -0
  1541. package/src/app/api/tunnel/tailscale-disable/route.js +17 -0
  1542. package/src/app/api/tunnel/tailscale-enable/route.js +17 -0
  1543. package/src/app/api/tunnel/tailscale-install/route.js +98 -0
  1544. package/src/app/api/usage/[connectionId]/codex-reset-credits/route.js +196 -0
  1545. package/src/app/api/usage/[connectionId]/route.js +192 -0
  1546. package/src/app/api/usage/chart/route.js +21 -0
  1547. package/src/app/api/usage/history/route.js +12 -0
  1548. package/src/app/api/usage/logs/route.js +12 -0
  1549. package/src/app/api/usage/providers/route.js +38 -0
  1550. package/src/app/api/usage/request-details/route.js +65 -0
  1551. package/src/app/api/usage/request-logs/route.js +13 -0
  1552. package/src/app/api/usage/stats/route.js +23 -0
  1553. package/src/app/api/usage/stream/route.js +93 -0
  1554. package/src/app/api/v1/api/chat/route.js +36 -0
  1555. package/src/app/api/v1/audio/speech/route.js +16 -0
  1556. package/src/app/api/v1/audio/transcriptions/route.js +19 -0
  1557. package/src/app/api/v1/audio/voices/route.js +78 -0
  1558. package/src/app/api/v1/chat/completions/route.js +34 -0
  1559. package/src/app/api/v1/embeddings/route.js +21 -0
  1560. package/src/app/api/v1/images/generations/route.js +16 -0
  1561. package/src/app/api/v1/messages/count_tokens/route.js +96 -0
  1562. package/src/app/api/v1/messages/route.js +35 -0
  1563. package/src/app/api/v1/models/[...model]/route.js +75 -0
  1564. package/src/app/api/v1/models/info/route.js +131 -0
  1565. package/src/app/api/v1/models/route.js +586 -0
  1566. package/src/app/api/v1/responses/compact/route.js +37 -0
  1567. package/src/app/api/v1/responses/route.js +30 -0
  1568. package/src/app/api/v1/route.js +1 -0
  1569. package/src/app/api/v1/search/route.js +21 -0
  1570. package/src/app/api/v1/systemone/route.js +21 -0
  1571. package/src/app/api/v1/videos/[id]/route.js +17 -0
  1572. package/src/app/api/v1/videos/edits/route.js +16 -0
  1573. package/src/app/api/v1/videos/extensions/route.js +16 -0
  1574. package/src/app/api/v1/videos/generations/route.js +16 -0
  1575. package/src/app/api/v1/web/fetch/route.js +21 -0
  1576. package/src/app/api/v1beta/models/[...path]/route.js +599 -0
  1577. package/src/app/api/v1beta/models/route.js +62 -0
  1578. package/src/app/api/version/route.js +15 -0
  1579. package/src/app/api/version/shutdown/route.js +38 -0
  1580. package/src/app/api/version/update/route.js +11 -0
  1581. package/src/app/callback/page.tsx +162 -0
  1582. package/src/app/dashboard/settings/pricing/page.tsx +192 -0
  1583. package/src/app/globals.css +356 -0
  1584. package/src/app/landing/components/AnimatedBackground.tsx +58 -0
  1585. package/src/app/landing/components/Features.tsx +137 -0
  1586. package/src/app/landing/components/FlowAnimation.tsx +168 -0
  1587. package/src/app/landing/components/Footer.tsx +110 -0
  1588. package/src/app/landing/components/GetStarted.tsx +105 -0
  1589. package/src/app/landing/components/HeroSection.tsx +48 -0
  1590. package/src/app/landing/components/HowItWorks.tsx +69 -0
  1591. package/src/app/landing/components/Navigation.tsx +120 -0
  1592. package/src/app/landing/page.tsx +131 -0
  1593. package/src/app/layout.tsx +60 -0
  1594. package/src/app/login/page.tsx +277 -0
  1595. package/src/app/manifest.ts +33 -0
  1596. package/src/app/page.tsx +5 -0
  1597. package/src/components/app-sidebar.tsx +140 -0
  1598. package/src/components/ui/alert.tsx +72 -0
  1599. package/src/components/ui/avatar.tsx +93 -0
  1600. package/src/components/ui/badge.tsx +44 -0
  1601. package/src/components/ui/breadcrumb.tsx +103 -0
  1602. package/src/components/ui/button.tsx +66 -0
  1603. package/src/components/ui/card.tsx +91 -0
  1604. package/src/components/ui/chart.tsx +338 -0
  1605. package/src/components/ui/checkbox.tsx +26 -0
  1606. package/src/components/ui/dialog.tsx +152 -0
  1607. package/src/components/ui/dropdown-menu.tsx +249 -0
  1608. package/src/components/ui/input.tsx +18 -0
  1609. package/src/components/ui/label.tsx +18 -0
  1610. package/src/components/ui/pagination.tsx +112 -0
  1611. package/src/components/ui/select.tsx +184 -0
  1612. package/src/components/ui/separator.tsx +25 -0
  1613. package/src/components/ui/sheet.tsx +128 -0
  1614. package/src/components/ui/sidebar.tsx +671 -0
  1615. package/src/components/ui/skeleton.tsx +13 -0
  1616. package/src/components/ui/switch.tsx +32 -0
  1617. package/src/components/ui/table.tsx +86 -0
  1618. package/src/components/ui/tabs.tsx +79 -0
  1619. package/src/components/ui/tooltip.tsx +50 -0
  1620. package/src/dashboardGuard.ts +298 -0
  1621. package/src/hooks/use-mobile.ts +19 -0
  1622. package/src/i18n/RuntimeI18nProvider.tsx +28 -0
  1623. package/src/i18n/config.ts +19 -0
  1624. package/src/i18n/runtime.ts +177 -0
  1625. package/src/instrumentation.ts +14 -0
  1626. package/src/lib/auth/dashboardSession.js +112 -0
  1627. package/src/lib/auth/loginLimiter.js +70 -0
  1628. package/src/lib/auth/oidc.js +242 -0
  1629. package/src/lib/auth/saml.js +273 -0
  1630. package/src/lib/auth/trustedPeer.js +7 -0
  1631. package/src/lib/consoleLogBuffer.js +114 -0
  1632. package/src/lib/dataDir.js +78 -0
  1633. package/src/lib/db/adapters/betterSqliteAdapter.js +83 -0
  1634. package/src/lib/db/adapters/bunSqliteAdapter.js +83 -0
  1635. package/src/lib/db/adapters/nodeSqliteAdapter.js +111 -0
  1636. package/src/lib/db/adapters/sqljsAdapter.js +128 -0
  1637. package/src/lib/db/backup.js +88 -0
  1638. package/src/lib/db/driver.js +94 -0
  1639. package/src/lib/db/helpers/jsonCol.js +13 -0
  1640. package/src/lib/db/helpers/kvStore.js +45 -0
  1641. package/src/lib/db/helpers/metaStore.js +28 -0
  1642. package/src/lib/db/index.js +312 -0
  1643. package/src/lib/db/migrate.js +427 -0
  1644. package/src/lib/db/migrations/001-initial.js +14 -0
  1645. package/src/lib/db/migrations/index.js +10 -0
  1646. package/src/lib/db/paths.js +18 -0
  1647. package/src/lib/db/repos/aliasRepo.js +63 -0
  1648. package/src/lib/db/repos/apiKeysRepo.js +78 -0
  1649. package/src/lib/db/repos/combosRepo.js +83 -0
  1650. package/src/lib/db/repos/connectionsRepo.js +347 -0
  1651. package/src/lib/db/repos/disabledModelsRepo.js +56 -0
  1652. package/src/lib/db/repos/nodesRepo.js +98 -0
  1653. package/src/lib/db/repos/pricingRepo.js +108 -0
  1654. package/src/lib/db/repos/proxyPoolsRepo.js +109 -0
  1655. package/src/lib/db/repos/requestDetailsRepo.js +287 -0
  1656. package/src/lib/db/repos/settingsRepo.js +123 -0
  1657. package/src/lib/db/repos/usageRepo.js +1043 -0
  1658. package/src/lib/db/schema.js +161 -0
  1659. package/src/lib/db/version.js +21 -0
  1660. package/src/lib/grokBuildConfig.js +228 -0
  1661. package/src/lib/headroom/detect.js +212 -0
  1662. package/src/lib/headroom/process.js +307 -0
  1663. package/src/lib/isContainer.js +62 -0
  1664. package/src/lib/localDb.js +51 -0
  1665. package/src/lib/logLine.js +204 -0
  1666. package/src/lib/mcp/stdioSseBridge.js +223 -0
  1667. package/src/lib/modelCatalog/sync.js +292 -0
  1668. package/src/lib/network/connectionProxy.js +172 -0
  1669. package/src/lib/network/initOutboundProxy.js +25 -0
  1670. package/src/lib/network/outboundProxy.js +87 -0
  1671. package/src/lib/network/proxyTest.js +88 -0
  1672. package/src/lib/network/resolveOutboundProxy.js +45 -0
  1673. package/src/lib/oauth/constants/oauth.js +213 -0
  1674. package/src/lib/oauth/constants/xai.js +62 -0
  1675. package/src/lib/oauth/providerHelpers.js +74 -0
  1676. package/src/lib/oauth/providers/_shared.js +17 -0
  1677. package/src/lib/oauth/providers/antigravity.js +119 -0
  1678. package/src/lib/oauth/providers/claude.js +60 -0
  1679. package/src/lib/oauth/providers/codebuddy-cn.js +80 -0
  1680. package/src/lib/oauth/providers/codebuddy-intl.js +75 -0
  1681. package/src/lib/oauth/providers/codex.js +69 -0
  1682. package/src/lib/oauth/providers/cursor.js +19 -0
  1683. package/src/lib/oauth/providers/github.js +98 -0
  1684. package/src/lib/oauth/providers/gitlab.js +64 -0
  1685. package/src/lib/oauth/providers/grok-cli.js +123 -0
  1686. package/src/lib/oauth/providers/iflow.js +89 -0
  1687. package/src/lib/oauth/providers/index.js +243 -0
  1688. package/src/lib/oauth/providers/kilocode.js +75 -0
  1689. package/src/lib/oauth/providers/kimchi.js +76 -0
  1690. package/src/lib/oauth/providers/qoder.js +111 -0
  1691. package/src/lib/oauth/providers/trae.js +337 -0
  1692. package/src/lib/oauth/providers/windsurf.js +172 -0
  1693. package/src/lib/oauth/providers/xai.js +101 -0
  1694. package/src/lib/oauth/providers/xiaomi-mimo.js +120 -0
  1695. package/src/lib/oauth/providers/zed.js +68 -0
  1696. package/src/lib/oauth/providers.js +1 -0
  1697. package/src/lib/oauth/services/antigravity.js +322 -0
  1698. package/src/lib/oauth/services/claude.js +135 -0
  1699. package/src/lib/oauth/services/codex.js +149 -0
  1700. package/src/lib/oauth/services/cursor.js +179 -0
  1701. package/src/lib/oauth/services/github.js +227 -0
  1702. package/src/lib/oauth/services/iflow.js +201 -0
  1703. package/src/lib/oauth/services/index.js +13 -0
  1704. package/src/lib/oauth/services/kimchi.js +139 -0
  1705. package/src/lib/oauth/services/oauth.js +161 -0
  1706. package/src/lib/oauth/services/openai.js +122 -0
  1707. package/src/lib/oauth/services/qoder.js +237 -0
  1708. package/src/lib/oauth/services/xai.js +241 -0
  1709. package/src/lib/oauth/utils/banner.js +62 -0
  1710. package/src/lib/oauth/utils/ideDetect.js +64 -0
  1711. package/src/lib/oauth/utils/pkce.js +39 -0
  1712. package/src/lib/oauth/utils/server.js +1056 -0
  1713. package/src/lib/oauth/utils/ui.js +47 -0
  1714. package/src/lib/providerNormalization.js +49 -0
  1715. package/src/lib/pxpipe/events.js +146 -0
  1716. package/src/lib/pxpipe/install.js +143 -0
  1717. package/src/lib/pxpipe/loader.js +76 -0
  1718. package/src/lib/pxpipe/service.js +69 -0
  1719. package/src/lib/qoder/constants.js +2 -0
  1720. package/src/lib/qoder/cosy.js +2 -0
  1721. package/src/lib/qoder/encoding.js +2 -0
  1722. package/src/lib/tunnel/cloudflare/cloudflared.js +513 -0
  1723. package/src/lib/tunnel/cloudflare/config.js +9 -0
  1724. package/src/lib/tunnel/cloudflare/healthCheck.js +33 -0
  1725. package/src/lib/tunnel/cloudflare/manager.js +174 -0
  1726. package/src/lib/tunnel/cloudflare/pid.js +31 -0
  1727. package/src/lib/tunnel/index.js +53 -0
  1728. package/src/lib/tunnel/shared/dnsResolver.js +20 -0
  1729. package/src/lib/tunnel/shared/internetCheck.js +33 -0
  1730. package/src/lib/tunnel/shared/state.js +45 -0
  1731. package/src/lib/tunnel/shared/watchdogConfig.js +9 -0
  1732. package/src/lib/tunnel/sudoExec.js +49 -0
  1733. package/src/lib/tunnel/sudoPassword.js +90 -0
  1734. package/src/lib/tunnel/tailscale/config.js +7 -0
  1735. package/src/lib/tunnel/tailscale/healthCheck.js +33 -0
  1736. package/src/lib/tunnel/tailscale/manager.js +151 -0
  1737. package/src/lib/tunnel/tailscale/tailscale.js +1013 -0
  1738. package/src/lib/usageDb.js +15 -0
  1739. package/src/lib/versionCheck.js +67 -0
  1740. package/src/models/index.ts +38 -0
  1741. package/src/proxy.ts +10 -0
  1742. package/src/shared/components/AddCustomEmbeddingModal.tsx +220 -0
  1743. package/src/shared/components/CapacityBadges.tsx +47 -0
  1744. package/src/shared/components/ChangelogModal.tsx +82 -0
  1745. package/src/shared/components/ComboFormModal.tsx +321 -0
  1746. package/src/shared/components/CursorAuthModal.tsx +213 -0
  1747. package/src/shared/components/EditConnectionModal.tsx +369 -0
  1748. package/src/shared/components/EntityCard.tsx +106 -0
  1749. package/src/shared/components/EntityCardSkeleton.tsx +69 -0
  1750. package/src/shared/components/Footer.tsx +133 -0
  1751. package/src/shared/components/GitLabAuthModal.tsx +294 -0
  1752. package/src/shared/components/Header.tsx +370 -0
  1753. package/src/shared/components/HeaderLanguage.tsx +53 -0
  1754. package/src/shared/components/HeaderMenu.tsx +75 -0
  1755. package/src/shared/components/IFlowCookieModal.tsx +140 -0
  1756. package/src/shared/components/Icon.tsx +237 -0
  1757. package/src/shared/components/LanguageSwitcher.tsx +139 -0
  1758. package/src/shared/components/Loading.tsx +102 -0
  1759. package/src/shared/components/ManualConfigModal.tsx +55 -0
  1760. package/src/shared/components/McpMarketplaceModal.tsx +320 -0
  1761. package/src/shared/components/Modal.tsx +130 -0
  1762. package/src/shared/components/ModelSelectModal.tsx +755 -0
  1763. package/src/shared/components/NineRemoteButton.tsx +28 -0
  1764. package/src/shared/components/NineRemotePromoModal.tsx +91 -0
  1765. package/src/shared/components/NoAuthProxyCard.tsx +178 -0
  1766. package/src/shared/components/OAuthModal.tsx +1055 -0
  1767. package/src/shared/components/PricingModal.tsx +202 -0
  1768. package/src/shared/components/ProviderIcon.tsx +80 -0
  1769. package/src/shared/components/ProviderInfoCard.tsx +98 -0
  1770. package/src/shared/components/RequestLogger.tsx +149 -0
  1771. package/src/shared/components/SegmentedControl.tsx +45 -0
  1772. package/src/shared/components/ShutdownModal.tsx +65 -0
  1773. package/src/shared/components/ThemeProvider.tsx +15 -0
  1774. package/src/shared/components/ThemeToggle.tsx +52 -0
  1775. package/src/shared/components/UpdateDialog.tsx +248 -0
  1776. package/src/shared/components/UsageStats.tsx +714 -0
  1777. package/src/shared/components/VersionLabel.tsx +122 -0
  1778. package/src/shared/components/XiaomiMimoAuthModal.tsx +277 -0
  1779. package/src/shared/components/index.ts +32 -0
  1780. package/src/shared/components/layouts/AuthLayout.tsx +22 -0
  1781. package/src/shared/components/layouts/DashboardLayout.tsx +105 -0
  1782. package/src/shared/components/layouts/Page.tsx +158 -0
  1783. package/src/shared/components/layouts/index.ts +4 -0
  1784. package/src/shared/constants/cliTools.js +123 -0
  1785. package/src/shared/constants/colors.ts +92 -0
  1786. package/src/shared/constants/config.ts +100 -0
  1787. package/src/shared/constants/coworkPlugins.ts +113 -0
  1788. package/src/shared/constants/index.ts +3 -0
  1789. package/src/shared/constants/locales.ts +5 -0
  1790. package/src/shared/constants/models.ts +65 -0
  1791. package/src/shared/constants/providers.js +236 -0
  1792. package/src/shared/constants/providersDisplay.ts +15 -0
  1793. package/src/shared/constants/ttsProviders.ts +166 -0
  1794. package/src/shared/hooks/index.js +3 -0
  1795. package/src/shared/hooks/useCopyToClipboard.js +45 -0
  1796. package/src/shared/hooks/useModelCaps.js +91 -0
  1797. package/src/shared/hooks/useShutdown.ts +68 -0
  1798. package/src/shared/hooks/useTheme.js +59 -0
  1799. package/src/shared/services/bootstrap.ts +13 -0
  1800. package/src/shared/services/initializeApp.ts +323 -0
  1801. package/src/shared/services/quotaAutoPing.ts +400 -0
  1802. package/src/shared/utils/api.ts +100 -0
  1803. package/src/shared/utils/apiKey.ts +92 -0
  1804. package/src/shared/utils/bulkAdd.ts +87 -0
  1805. package/src/shared/utils/cn.ts +7 -0
  1806. package/src/shared/utils/connectionStatus.ts +14 -0
  1807. package/src/shared/utils/index.ts +40 -0
  1808. package/src/shared/utils/machine.ts +6 -0
  1809. package/src/shared/utils/machineId.ts +70 -0
  1810. package/src/shared/utils/providerCustomModels.ts +80 -0
  1811. package/src/shared/utils/providerIcon.ts +248 -0
  1812. package/src/shared/utils/providerModelsFetcher.ts +33 -0
  1813. package/src/shared/utils/ssrfGuard.ts +223 -0
  1814. package/src/shared/utils/utils.js +1 -0
  1815. package/src/sse/handlers/chat.js +430 -0
  1816. package/src/sse/handlers/embeddings.js +192 -0
  1817. package/src/sse/handlers/fetch.js +255 -0
  1818. package/src/sse/handlers/imageGeneration.js +175 -0
  1819. package/src/sse/handlers/search.js +260 -0
  1820. package/src/sse/handlers/stt.js +120 -0
  1821. package/src/sse/handlers/systemone.js +173 -0
  1822. package/src/sse/handlers/tts.js +157 -0
  1823. package/src/sse/handlers/videoGeneration.js +274 -0
  1824. package/src/sse/services/antigravityQuota.ts +220 -0
  1825. package/src/sse/services/auth.ts +485 -0
  1826. package/src/sse/services/backgroundTokenRefresh.ts +190 -0
  1827. package/src/sse/services/model.ts +102 -0
  1828. package/src/sse/services/tokenRefresh.ts +328 -0
  1829. package/src/sse/services/zedQuota.ts +233 -0
  1830. package/src/sse/utils/logger.ts +140 -0
  1831. package/src/store/headerSearchStore.ts +27 -0
  1832. package/src/store/index.ts +5 -0
  1833. package/src/store/notificationStore.ts +75 -0
  1834. package/src/store/providerStore.ts +75 -0
  1835. package/src/store/settingsStore.ts +63 -0
  1836. package/src/store/themeStore.ts +48 -0
  1837. package/src/store/userStore.ts +35 -0
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2638,exports.ids=[2638],exports.modules={2890:(a,b,c)=>{Object.defineProperty(b,"U",{enumerable:!0,get:function(){return n}});let d=c(92550),e=c(56767),f=c(29294),g=c(63033),h=c(21206),i=c(11550),j=c(75523),k=c(59271),l=c(26392),m=c(88094);function n(){let a="cookies",b=f.workAsyncStorage.getStore(),c=g.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,l.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`cookies()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1381",enumerable:!1,configurable:!0});if(b.forceStatic)return p(d.RequestCookiesAdapter.seal(new e.RequestCookies(new Headers({}))));if(b.dynamicShouldError)throw Object.defineProperty(new i.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`cookies()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E849",enumerable:!1,configurable:!0});if(c)switch(c.type){case"cache":let f=Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E831",enumerable:!1,configurable:!0});throw Error.captureStackTrace(f,n),(0,j.applyOwnerStack)(f),b.invalidDynamicUsageError??=f,f;case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`cookies()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E846",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`cookies()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1123",enumerable:!1,configurable:!0});case"prerender":var k=b,q=c;let g=o.get(q);if(g)return g;let r=(0,j.makeRuntimeHangingPromise)(q.renderSignal,k.route,"`cookies()`",q);return o.set(q,r),r;case"prerender-client":case"validation-client":let s="`cookies`";throw Object.defineProperty(new m.InvariantError(`${s} must not be used within a Client Component. Next.js should be preventing ${s} from being included in Client Components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1037",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,h.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,h.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(j.RENDER_STAGES_BY_DATA_KIND.sessionData,"cookies",c.cookies);return p(c.cookies)}case"private-cache":return p(c.cookies);case"request":let t;if((0,h.trackDynamicDataInDynamicRender)(c),t=(0,d.areCookiesMutableInCurrentPhase)(c)?c.userspaceMutableCookies:c.cookies,!c.asyncApiPromises)return p(t);if(t===c.mutableCookies)return c.asyncApiPromises.mutableCookies;return c.asyncApiPromises.cookies}}(0,g.throwForMissingRequestStore)(a)}let o=new WeakMap;function p(a){let b=o.get(a);if(b)return b;let c=Promise.resolve(a);return o.set(a,c),c}(0,k.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`cookies()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E830",enumerable:!1,configurable:!0})})},30025:(a,b)=>{Object.defineProperty(b,"__esModule",{value:!0});var c={ActionDidNotRevalidate:function(){return e},ActionDidRevalidateDynamicOnly:function(){return g},ActionDidRevalidateStaticAndDynamic:function(){return f}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e=0,f=1,g=2},59271:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let d=function(a){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var b=e(void 0);if(b&&b.has(a))return b.get(a);var c={__proto__:null},d=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var g=d?Object.getOwnPropertyDescriptor(a,f):null;g&&(g.get||g.set)?Object.defineProperty(c,f,g):c[f]=a[f]}return c.default=a,b&&b.set(a,c),c}(c(10591));function e(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(e=function(a){return a?c:b})(a)}let f={current:null},g="function"==typeof d.cache?d.cache:a=>a,h=console.warn;function i(a){return function(...b){h(a(...b))}}g(a=>{try{h(f.current)}finally{f.current=null}})},62638:(a,b,c)=>{c.d(b,{UL:()=>d.U,b3:()=>e.b});var d=c(2890),e=c(81359);c(90496)},81359:(a,b,c)=>{Object.defineProperty(b,"b",{enumerable:!0,get:function(){return m}});let d=c(78055),e=c(29294),f=c(63033),g=c(21206),h=c(11550),i=c(75523),j=c(59271),k=c(26392),l=c(88094);function m(){let a="headers",b=e.workAsyncStorage.getStore(),c=f.workUnitAsyncStorage.getStore();if(b){if(c&&!(0,k.isRequestApiAllowedInCurrentPhase)(c))throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`after()\` while rendering. This is not supported. If you need this data inside an \`after()\` callback, use \`headers()\` outside of the callback. See more info here: https://nextjs.org/docs/app/api-reference/functions/after`),"__NEXT_ERROR_CODE",{value:"E1378",enumerable:!1,configurable:!0});if(b.forceStatic)return o(d.HeadersAdapter.seal(new Headers({})));if(c)switch(c.type){case"cache":{let a=Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside "use cache". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/messages/next-request-in-use-cache`),"__NEXT_ERROR_CODE",{value:"E833",enumerable:!1,configurable:!0});throw Error.captureStackTrace(a,m),(0,i.applyOwnerStack)(a),b.invalidDynamicUsageError??=a,a}case"unstable-cache":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside a function cached with \`unstable_cache()\`. Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use \`headers()\` outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`),"__NEXT_ERROR_CODE",{value:"E838",enumerable:!1,configurable:!0});case"generate-static-params":throw Object.defineProperty(Error(`Route ${b.route} used \`headers()\` inside \`generateStaticParams\`. This is not supported because \`generateStaticParams\` runs at build time without an HTTP request. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`),"__NEXT_ERROR_CODE",{value:"E1134",enumerable:!1,configurable:!0})}if(b.dynamicShouldError)throw Object.defineProperty(new h.StaticGenBailoutError(`Route ${b.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`headers()\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E828",enumerable:!1,configurable:!0});if(c)switch(c.type){case"prerender":var j=b,p=c;let e=n.get(p);if(e)return e;let f=(0,i.makeRuntimeHangingPromise)(p.renderSignal,j.route,"`headers()`",p);return n.set(p,f),f;case"prerender-client":case"validation-client":let q="`headers`";throw Object.defineProperty(new l.InvariantError(`${q} must not be used within a client component. Next.js should be preventing ${q} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E1017",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,g.postponeWithTracking)(b.route,a,c.dynamicTracking);case"prerender-legacy":return(0,g.throwToInterruptStaticGeneration)(a,b,c);case"prerender-runtime":{let{stagedRendering:a}=c;if(a)return a.delayUntilStage(i.RENDER_STAGES_BY_DATA_KIND.sessionData,"headers",c.headers);return o(c.headers)}case"private-cache":return o(c.headers);case"request":if((0,g.trackDynamicDataInDynamicRender)(c),c.asyncApiPromises)return c.asyncApiPromises.headers;return o(c.headers)}}(0,f.throwForMissingRequestStore)(a)}let n=new WeakMap;function o(a){let b=n.get(a);if(b)return b;let c=Promise.resolve(a);return n.set(a,c),c}(0,j.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`headers()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E836",enumerable:!1,configurable:!0})})},90496:(a,b,c)=>{let d=c(63033),e=c(29294),f=c(21206),g=c(59271),h=c(11550),i=c(92540),j=c(88094);c(16968);c(75523);new WeakMap;(0,g.createDedupedByCallsiteServerErrorLoggerDev)(function(a,b){let c=a?`Route "${a}" `:"This route ";return Object.defineProperty(Error(`${c}used ${b}. \`draftMode()\` returns a Promise and must be unwrapped with \`await\` or \`React.use()\` before accessing its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`),"__NEXT_ERROR_CODE",{value:"E835",enumerable:!1,configurable:!0})})},92550:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0});var d={MutableRequestCookiesAdapter:function(){return o},ReadonlyRequestCookiesError:function(){return j},RequestCookiesAdapter:function(){return k},appendMutableCookies:function(){return n},areCookiesMutableInCurrentPhase:function(){return q},createCookiesWithMutableAccessCheck:function(){return p},getModifiedCookieValues:function(){return m},responseCookiesToRequestCookies:function(){return s}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(56767),g=c(16968),h=c(29294),i=c(30025);class j extends Error{constructor(){super("Cookies can only be modified in a Server Action or Route Handler. Read more: https://nextjs.org/docs/app/api-reference/functions/cookies#options"),Object.defineProperty(this,"__NEXT_ERROR_CODE",{value:"E1180",enumerable:!1,configurable:!0})}static callable(){throw new j}}class k{static seal(a){return new Proxy(a,{get(a,b,c){switch(b){case"clear":case"delete":case"set":return j.callable;default:return g.ReflectAdapter.get(a,b,c)}}})}static fresh(a){return new Proxy(a,{get:(a,b,c)=>g.ReflectAdapter.get(a,b,c)})}}let l=Symbol.for("next.mutated.cookies");function m(a){let b=a[l];return b&&Array.isArray(b)&&0!==b.length?b:[]}function n(a,b){let c=m(b);if(0===c.length)return!1;let d=new f.ResponseCookies(a),e=d.getAll();for(let a of c)d.set(a);for(let a of e)d.set(a);return!0}class o{static wrap(a,b){let c=new f.ResponseCookies(new Headers);for(let b of a.getAll())c.set(b);let d=[],e=new Set,j=()=>{let a=h.workAsyncStorage.getStore();if(a&&(a.pathWasRevalidated=i.ActionDidRevalidateStaticAndDynamic),d=c.getAll().filter(a=>e.has(a.name)),b){let a=[];for(let b of d){let c=new f.ResponseCookies(new Headers);c.set(b),a.push(c.toString())}b(a)}},k=new Proxy(c,{get(a,b,c){switch(b){case l:return d;case"delete":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.delete(...b),k}finally{j()}};case"set":return function(...b){e.add("string"==typeof b[0]?b[0]:b[0].name);try{return a.set(...b),k}finally{j()}};default:return g.ReflectAdapter.get(a,b,c)}}});return k}}function p(a){let b=new Proxy(a.mutableCookies,{get(c,d,e){switch(d){case"delete":return function(...d){return r(a,"cookies().delete"),c.delete(...d),b};case"set":return function(...d){return r(a,"cookies().set"),c.set(...d),b};default:return g.ReflectAdapter.get(c,d,e)}}});return b}function q(a){return"action"===a.phase}function r(a,b){if(!q(a))throw new j}function s(a){let b=new f.RequestCookies(new Headers);for(let c of a.getAll())b.set(c);return b}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=2706,exports.ids=[2706],exports.modules={32973:(a,b,c)=>{c.d(b,{R4:()=>e.R4,BY:()=>h,a_:()=>f.a_,RV:()=>d.R,rP:()=>g,x4:()=>e.x4,bC:()=>f.bC,Du:()=>e.Du,z7:()=>d.z,m8:()=>e.m8});var d=c(37805),e=c(45812),f=c(41312);let g="unknown",h="image/png"},37805:(a,b,c)=>{c.d(b,{R:()=>e,z:()=>d});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"}},41312:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence",REFUSAL:"refusal"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},45812:(a,b,c)=>{c.d(b,{Du:()=>f,R4:()=>e,m8:()=>g,x4:()=>d});let d={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},e={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking",SERVER_TOOL_USE:"server_tool_use",WEB_SEARCH_TOOL_RESULT:"web_search_tool_result"},f={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",CUSTOM_TOOL_CALL:"custom_tool_call",CUSTOM_TOOL_CALL_OUTPUT:"custom_tool_call_output",ADDITIONAL_TOOLS:"additional_tools",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},g=[d.TEXT,d.IMAGE_URL,d.IMAGE,d.INPUT_AUDIO,d.AUDIO_URL,d.FILE];d.TEXT,d.IMAGE_URL,d.IMAGE,e.TOOL_RESULT},52706:(a,b,c)=>{c.d(b,{$J:()=>n,S6:()=>h,Yr:()=>m,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>k});var d=c(56546),e=c(32973);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","multipleOf","uniqueItems","contains","unevaluatedProperties","unevaluatedItems","contentSchema","prefixItems","additionalItems","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function l(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function m(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(Array.isArray(b.prefixItems)&&b.prefixItems.length>0){let a=b.prefixItems.filter(a=>a&&"null"!==a.type);b.items||1!==a.length?!b.items&&a.length>1&&(b.items={anyOf:a}):b.items=a[0],delete b.prefixItems}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=l(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("array"!==b.type||b.items||(b.items={type:"string"}),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(0===Object.keys(b).length){b.type="object",b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"];return}for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}}(a)),a}function n(a){let b=[];for(let c of a||[]){if(!c?.role||!Array.isArray(c.parts))continue;let a=c.parts.filter(a=>a&&Object.keys(a).length>0);if(0===a.length)continue;let d=b.at(-1);d?.role===c.role?d.parts.push(...a):b.push({...c,parts:[...a]})}return b.length>0&&"user"!==b[0].role&&b.unshift({role:"user",parts:[{text:"..."}]}),b}},56546:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3023,exports.ids=[3023],exports.modules={2439:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=1,e=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},63023:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(3314),i=c(2439);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}}].sort((a,b)=>a.version-b.version);var k=c(3226);let l=null;function m(){if(l)return l;try{let a=g().join(process.cwd(),"package.json");l=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{l="0.0.0"}return l}let n=["requestDetails"];function o(a){(0,h.Jh)();let b=m(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function p(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(3))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var q=c(96700);let r=g().join(h.HG,".migrated-from-json"),s=new WeakSet;class t extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function u(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new t(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function v(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function w(a){if(s.has(a))return;s.add(a);let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);p(),a.exec((0,i.zE)("_meta",i.CG._meta));let c=parseInt((0,k.dy)(a,"backupSchemaVersion","0"),10)||0;if(!b&&c<i.f$)try{let b=o(`schema-${c}-to-${i.f$}`);!function(a,b,c="data.sqlite"){let d=g().join(b,c);try{e().rmSync(d,{force:!0})}catch{}let f=d.replace(/'/g,"''");a.exec(`ATTACH DATABASE '${f}' AS bak`);try{let b=new Set(n),c=a.all("SELECT name, sql FROM main.sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").filter(a=>!b.has(a.name));a.transaction(()=>{for(let b of c){let c=b.sql.replace(/CREATE TABLE\s+/i,"CREATE TABLE bak.");a.exec(c),a.exec(`INSERT INTO bak.${b.name} SELECT * FROM main.${b.name}`)}})}finally{try{a.exec("DETACH DATABASE bak")}catch{}}}(a,b),p(),console.log(`[DB][migrate] pre-schema backup ${c} → ${i.f$}: ${b}`)}catch(a){console.warn(`[DB][migrate] pre-schema backup failed (continuing): ${a.message}`)}!function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt((0,k.dy)(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return;let c=j.filter(a=>a.version>b);for(let b of c)a.transaction(()=>{b.up(a),(0,k.np)(a,"schemaVersion",b.version)}),b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);c.length}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}(0,k.np)(a,"backupSchemaVersion",i.f$);let d=e().existsSync(r),f=v(h.Or.main),l=v(h.Or.usage),w=v(h.Or.disabled),x=v(h.Or.details);if(b&&(f||l||w||x)&&!d){let b=Date.now(),c=o("migrate-from-json");for(let a of Object.values(h.Or))!function(a,b,c=null){if(!e().existsSync(a))return;let d=c||g().basename(a),f=g().join(b,d);e().copyFileSync(a,f)}(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,q.s)(f.settings)]),u(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,q.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),u(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),u(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),u(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),u(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,q.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,q.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,q.s)(b)])}for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,q.s)(c||{})])}if(l&&"object"==typeof l){for(let b of l.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,q.s)(c),(0,q.s)({})])}for(let[b,c]of Object.entries(l.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,q.s)(c)]);"number"==typeof l.totalRequestsLifetime&&(0,k.np)(a,"totalRequestsLifetime",l.totalRequestsLifetime)}if(w&&"object"==typeof w.disabled)for(let[b,c]of Object.entries(w.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,q.s)(c||[])]);if(x&&Array.isArray(x.records))for(let b of x.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,q.s)(b)]);(0,k.np)(a,"appVersion",m()),(0,k.np)(a,"backupSchemaVersion",i.f$),(0,k.np)(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof t)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(r,new Date().toISOString())}catch{}p(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}let y=m();(0,k.dy)(a,"appVersion",null)!==y&&(0,k.np)(a,"appVersion",y)}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3034,exports.ids=[3034],exports.modules={23034:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>w});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(40720),i=c(98983);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}}].sort((a,b)=>a.version-b.version);var k=c(86684);let l=null;function m(){if(l)return l;try{let a=g().join(process.cwd(),"package.json");l=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{l="0.0.0"}return l}let n=["requestDetails"];function o(a){(0,h.Jh)();let b=m(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function p(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(3))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var q=c(35666);let r=g().join(h.HG,".migrated-from-json"),s=new WeakSet;class t extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function u(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new t(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function v(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function w(a){if(s.has(a))return;s.add(a);let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);p(),a.exec((0,i.zE)("_meta",i.CG._meta));let c=parseInt((0,k.dy)(a,"backupSchemaVersion","0"),10)||0;if(!b&&c<i.f$)try{let b=o(`schema-${c}-to-${i.f$}`);!function(a,b,c="data.sqlite"){let d=g().join(b,c);try{e().rmSync(d,{force:!0})}catch{}let f=d.replace(/'/g,"''");a.exec(`ATTACH DATABASE '${f}' AS bak`);try{let b=new Set(n),c=a.all("SELECT name, sql FROM main.sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").filter(a=>!b.has(a.name));a.transaction(()=>{for(let b of c){let c=b.sql.replace(/CREATE TABLE\s+/i,"CREATE TABLE bak.");a.exec(c),a.exec(`INSERT INTO bak.${b.name} SELECT * FROM main.${b.name}`)}})}finally{try{a.exec("DETACH DATABASE bak")}catch{}}}(a,b),p(),console.log(`[DB][migrate] pre-schema backup ${c} → ${i.f$}: ${b}`)}catch(a){console.warn(`[DB][migrate] pre-schema backup failed (continuing): ${a.message}`)}!function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt((0,k.dy)(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return;let c=j.filter(a=>a.version>b);for(let b of c)a.transaction(()=>{b.up(a),(0,k.np)(a,"schemaVersion",b.version)}),b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);c.length}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}(0,k.np)(a,"backupSchemaVersion",i.f$);let d=e().existsSync(r),f=v(h.Or.main),l=v(h.Or.usage),w=v(h.Or.disabled),x=v(h.Or.details);if(b&&(f||l||w||x)&&!d){let b=Date.now(),c=o("migrate-from-json");for(let a of Object.values(h.Or))!function(a,b,c=null){if(!e().existsSync(a))return;let d=c||g().basename(a),f=g().join(b,d);e().copyFileSync(a,f)}(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,q.s)(f.settings)]),u(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,q.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),u(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),u(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,q.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),u(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),u(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,q.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,q.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,q.s)(b)])}for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,q.s)(c||{})])}if(l&&"object"==typeof l){for(let b of l.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,q.s)(c),(0,q.s)({})])}for(let[b,c]of Object.entries(l.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,q.s)(c)]);"number"==typeof l.totalRequestsLifetime&&(0,k.np)(a,"totalRequestsLifetime",l.totalRequestsLifetime)}if(w&&"object"==typeof w.disabled)for(let[b,c]of Object.entries(w.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,q.s)(c||[])]);if(x&&Array.isArray(x.records))for(let b of x.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,q.s)(b)]);(0,k.np)(a,"appVersion",m()),(0,k.np)(a,"backupSchemaVersion",i.f$),(0,k.np)(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof t)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(r,new Date().toISOString())}catch{}p(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}let y=m();(0,k.dy)(a,"appVersion",null)!==y&&(0,k.np)(a,"appVersion",y)}},98983:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=1,e=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
@@ -0,0 +1 @@
1
+ "use strict";exports.id=3179,exports.ids=[3179],exports.modules={43179:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{configureQuotaAutoPing:()=>z,runQuotaAutoPingTick:()=>w,startQuotaAutoPing:()=>x,stopQuotaAutoPing:()=>y});var e=c(36343),f=c(2398),g=c(66852),h=c(81887),i=c(62282),j=c(13385),k=c(35841),l=c(98630),m=c(66823),n=c(92339),o=a([e,i,m]);[e,i,m]=o.then?(await o)():o;let A=n.oc,B={claude:{getUsage:g.g,sendPing:s},codex:{getUsage:h.Tl,sendPing:u}},C=globalThis.__quotaAutoPing??={interval:null,running:!1,resetCache:{},failureCache:{}};function p(a){let b=new Date(a).getTime();return Number.isFinite(b)?new Date(6e4*Math.floor(b/6e4)).toISOString():a}function q(a,b=null){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function r(a){if(!a||!0===a.unlimited)return!1;let b=q(a.remaining);if(null!==b)return b<=0;let c=q(a.used),d=q(a.total);return null!==d&&d>0&&null!==c&&c>=d}async function s(a,b,c,d){return(await d.proxyAwareFetch("https://api.anthropic.com/v1/messages?beta=true",{method:"POST",headers:{...j.$B,Authorization:`Bearer ${a.accessToken}`,"content-type":"application/json"},body:JSON.stringify({model:b.pingModel,max_tokens:b.pingMaxTokens,messages:[{role:"user",content:b.pingText}]})},c)).ok}async function t(a){if("function"==typeof a?.text)return void await a.text();let b=a?.body?.getReader?.();if(b)try{for(;;){let{done:a}=await b.read();if(a)return}}finally{b.releaseLock?.()}}async function u(a,b,c,d){var e;let f=d.getExecutor("codex"),{response:g}=await f.execute({model:b.pingModel,stream:!0,credentials:{accessToken:a.accessToken,connectionId:a.id,providerSpecificData:a.providerSpecificData},proxyOptions:c,log:console,body:{model:b.pingModel,input:(e=b.pingText,[{type:"message",role:"user",content:[{type:"input_text",text:e}]}]),instructions:b.pingInstructions,reasoning:b.pingReasoningEffort?{effort:b.pingReasoningEffort,summary:"auto"}:void 0,store:!1,stream:!0}});if(!g.ok){try{await g.body?.cancel?.()}catch{}return!1}return await t(g),!0}async function v(a,b,c,d,e,f=C){var g,h,i;let j=(g=a.id,`${b}:${g}`),k=f.resetCache[j];if(!c.pingWhenResetAtSlides&&k&&Date.now()<new Date(k).getTime()-A.refreshAheadMs||function(a,b,c=Date.now()){let d=a.failureCache[b];return d&&c-d<A.failureCooldownMs}(f,j))return;let l=(h=await e.resolveConnectionProxyConfig(a.providerSpecificData),{connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1}),m=a;try{m=(await e.refreshAndUpdateCredentials(m,!1,l)).connection}catch(c){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${a.id}: refresh failed: ${c.message}`);return}let n=await d.getUsage(m.accessToken,l),o=n?.quotas||{},q=o?.[c.quotaKey],s=q?.resetAt;if(!s||(f.resetCache[j]=s,c.skipWhenBlockingQuotaExhausted&&(i=c.quotaKey,Object.entries(o||{}).some(([a,b])=>a!==i&&!String(a).toLowerCase().includes("session")&&r(b)))||r(q)))return;let t=Date.now(),u=p(s),w=m.lastPingedResetKey||p(m.lastPingedResetAt);if(!(!function(a,b,c,d){if(a.pingWhenResetAtSlides){let d,e;return!!b&&(d=new Date(b).getTime(),e=new Date(c).getTime(),(Number.isFinite(d)&&Number.isFinite(e)?e-d:0)>=(a.resetAtDriftMs||0))}let e=new Date(c).getTime();return Number.isFinite(e)&&d>=e-A.pingLeadMs}(c,k,s,t)||function(a,b,c=Date.now()){if(!b)return!1;let d=new Date(a.lastPingAt).getTime();return Number.isFinite(d)&&c-d<b}(m,c.minPingIntervalMs,t))&&w!==u){if(!await d.sendPing(m,c,l,e)){f.failureCache[j]=Date.now(),console.warn(`[AutoPing] ${b}:${m.id}: ping failed (reset ${s})`);return}delete f.failureCache[j],await e.updateProviderConnection(m.id,{lastPingedResetAt:s,lastPingedResetKey:u,lastPingAt:new Date().toISOString(),updatedAt:new Date().toISOString()}),console.log(`[AutoPing] ${b}:${m.id}: ping sent (reset ${s})`)}}async function w(a={getSettings:f.mt,getProviderConnections:f.getProviderConnections,updateProviderConnection:f.updateProviderConnection,resolveConnectionProxyConfig:l.B,refreshAndUpdateCredentials:m.refreshAndUpdateCredentials,proxyAwareFetch:k.proxyAwareFetch,getExecutor:i.SB},b=C){if(!b.running){b.running=!0;try{let d=await a.getSettings();for(let[e,f]of Object.entries(A.providers)){let g=B[e];if(!g)continue;let h=d?.[f.settingsKey]?.connections||{};if(0!==Object.keys(h).length)for(let d of(await a.getProviderConnections({provider:e,isActive:!0})).filter(a=>"oauth"===a.authType&&!0===h[a.id]))try{await v(d,e,f,g,a,b)}catch(a){var c;b.failureCache[c=d.id,`${e}:${c}`]=Date.now(),console.warn(`[AutoPing] ${e}:${d.id}: ${a.message}`)}}}catch(a){console.warn("[AutoPing] tick error:",a.message)}finally{b.running=!1}}}function x(){!C.interval&&(console.log("[AutoPing] scheduler started"),w().catch(()=>{}),C.interval=setInterval(()=>{w().catch(()=>{})},A.tickIntervalMs),C.interval.unref&&C.interval.unref())}function y(){C.interval&&(clearInterval(C.interval),C.interval=null,console.log("[AutoPing] scheduler stopped"))}function z(a){Object.values(A.providers).some(b=>Object.values(b.settingsKey&&a?.[b.settingsKey]?.connections||{}).some(Boolean))?x():y()}d()}catch(a){d(a)}})}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3250,exports.ids=[3250],exports.modules={2439:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=1,e=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},33250:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(2439);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(...b),get:(a,b=[])=>d(a).get(...b),all:(a,b=[])=>d(a).all(...b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
@@ -0,0 +1 @@
1
+ exports.id=3336,exports.ids=[3336],exports.modules={18142:(a,b,c)=>{"use strict";c.d(b,{YW:()=>d.Page,pV:()=>d.CardGrid,wn:()=>d.Section,zY:()=>d.PageHeader}),c(73865),c(55204);var d=c(19509)},20482:(a,b,c)=>{"use strict";c.d(b,{CK:()=>i.default,G9:()=>l.default,Iz:()=>r.default,KX:()=>s.PanelSkeleton,LF:()=>f.default,LH:()=>m.default,Mu:()=>s.StatCardSkeleton,Nf:()=>j.default,Qv:()=>e.CardSkeleton,YW:()=>u.YW,gw:()=>q.default,jK:()=>k.default,nh:()=>t.default,pV:()=>u.pV,rq:()=>g.default,uR:()=>h.default,uo:()=>d.ConfirmModal,vE:()=>n.default,vj:()=>o.default,wI:()=>p.default,wn:()=>u.wn,zY:()=>u.zY}),c(28907);var d=c(87121),e=c(53546);c(62648),c(77562),c(79517),c(66453);var f=c(71e3),g=c(16582),h=c(94725),i=c(98279),j=c(22354),k=c(82812);c(49451),c(82466),c(70047),c(32328),c(92249);var l=c(85405),m=c(91236),n=c(89630),o=c(87556),p=c(46009);c(54928);var q=c(5409),r=c(12710);c(92393),c(51);var s=c(11442),t=c(9656),u=c(18142)},41296:(a,b,c)=>{"use strict";c.d(b,{default:()=>r});var d=c(86240),e=c(70433),f=c(4271),g=c(63265),h=c(81501),i=c(67209),j=c(31952),k=c(28907),l=c(20482),m=c(57145);function n({label:a,url:b,copyId:c,copied:e,onCopy:f,badge:i,actions:l}){return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`shrink-0 rounded px-1.5 py-0.5 text-center font-mono text-xs min-w-[88px] ${"CF"===i||"TS"===i?"bg-primary/10 text-primary":"bg-muted text-muted-foreground"}`,children:a}),(0,d.jsx)(h.p,{value:b,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsxs)(j.m_,{children:[(0,d.jsx)(j.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(g.$,{variant:"ghost",size:"icon-sm",onClick:()=>f(b,c),children:(0,d.jsx)(k.default,{name:e===c?"check":"content_copy",className:"text-[18px]"})})})}),(0,d.jsx)(j.ZI,{side:"top",children:e===c?"Copied!":"Copy"})]}),l]})}var o=c(58503),p=c(70369);function q({message:a,action:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)(k.default,{name:"warning",className:"text-[16px] shrink-0 mt-0.5"}),(0,d.jsx)("p",{className:"text-xs flex-1",children:a}),b&&(0,d.jsx)("a",{href:b.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:b.href.startsWith("#")?a=>{a.preventDefault(),document.getElementById(b.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:b.label})]})}function r({machineId:a}){let[b,c]=(0,e.useState)([]),[s,t]=(0,e.useState)(!0),[u,v]=(0,e.useState)(!1),[w,x]=(0,e.useState)(""),[y,z]=(0,e.useState)(null),[A,B]=(0,e.useState)(null),[C,D]=(0,e.useState)(!1),[E,F]=(0,e.useState)(new Set),[G,H]=(0,e.useState)(!1),{copied:I,copy:J}=(0,m.C)(),K=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:a})})).ok&&D(a)}catch(a){console.log("Error updating requireApiKey:",a)}},L=async()=>{try{let a=async()=>{let a=await fetch("/api/keys");return a.ok&&(await a.json()).keys||[]},b=await a();if(0===b.length)try{(await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:"Default Key"})})).ok&&(b=await a())}catch{}c(b)}catch(a){console.log("Error fetching data:",a)}finally{t(!1)}},M=async()=>{if(w.trim())try{let a=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:w})}),b=await a.json();a.ok&&(z(b.key),await L(),x(""),v(!1))}catch(a){console.log("Error creating key:",a)}},N=async a=>{B({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{B(null);try{(await fetch(`/api/keys/${a}`,{method:"DELETE"})).ok&&(c(b.filter(b=>b.id!==a)),F(b=>{let c=new Set(b);return c.delete(a),c}))}catch(a){console.log("Error deleting key:",a)}}})},[O,P]=(0,e.useState)("/v1");return s?(0,d.jsxs)(l.YW,{children:[(0,d.jsx)(l.KX,{}),(0,d.jsx)(l.KX,{})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(l.YW,{children:[(0,d.jsxs)(f.Zp,{children:[(0,d.jsx)(f.aR,{children:(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,d.jsx)(k.default,{name:"api",className:"text-[20px]"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)(f.ZB,{children:"API Endpoint"}),(0,d.jsx)(f.BT,{children:"Local and remote access URLs"})]})]})}),(0,d.jsx)(f.Wu,{children:(0,d.jsx)("div",{className:"flex flex-col gap-2",children:(0,d.jsx)(n,{label:"Local",url:O,copyId:"local_url",copied:I,onCopy:J})})})]}),(0,d.jsxs)(f.Zp,{id:"require-api-key",children:[(0,d.jsxs)(f.aR,{children:[(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)("div",{className:"p-2 rounded-[10px] bg-background text-muted-foreground",children:(0,d.jsx)(k.default,{name:"vpn_key",className:"text-[20px]"})}),(0,d.jsxs)("div",{children:[(0,d.jsx)(f.ZB,{children:"API Keys"}),(0,d.jsx)(f.BT,{children:"Keys for authenticating gateway requests"})]})]}),(0,d.jsx)(f.X9,{children:(0,d.jsxs)(g.$,{onClick:()=>v(!0),children:[(0,d.jsx)(k.default,{name:"add"}),"Create Key"]})})]}),(0,d.jsxs)(f.Wu,{children:[(0,d.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground",children:"Requests without a valid key will be rejected"})]}),(0,d.jsx)(p.d,{checked:C,onCheckedChange:()=>K(!C)})]}),G&&!C&&(0,d.jsx)("div",{className:"mb-4 -mt-2",children:(0,d.jsx)(q,{message:"Endpoint is exposed without an API key."})}),0===b.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,d.jsx)(k.default,{name:"vpn_key",className:"text-[32px]"})}),(0,d.jsx)("p",{className:"text-foreground font-medium mb-1",children:"No API keys yet"}),(0,d.jsx)("p",{className:"text-sm text-muted-foreground mb-4",children:"Create your first API key to get started"}),(0,d.jsxs)(g.$,{onClick:()=>v(!0),children:[(0,d.jsx)(k.default,{name:"add"}),"Create Key"]})]}):(0,d.jsx)("div",{className:"flex flex-col",children:b.map(a=>{var b;return(0,d.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsx)("code",{className:"text-xs text-muted-foreground font-mono",children:E.has(a.id)?a.key:(b=a.key)&&!(b.length<=10)?b.slice(0,6)+"•".repeat(b.length-10)+b.slice(-4):b||""}),(0,d.jsxs)(j.m_,{children:[(0,d.jsx)(j.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(g.$,{variant:"ghost",size:"icon-xs",onClick:()=>{var b;return b=a.id,void F(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},children:(0,d.jsx)(k.default,{name:E.has(a.id)?"visibility_off":"visibility",className:"text-[14px]"})})})}),(0,d.jsx)(j.ZI,{side:"top",children:E.has(a.id)?"Hide key":"Show key"})]}),(0,d.jsxs)(j.m_,{children:[(0,d.jsx)(j.k$,{asChild:!0,children:(0,d.jsx)("span",{className:"relative inline-flex",children:(0,d.jsx)(g.$,{variant:"ghost",size:"icon-xs",onClick:()=>J(a.key,a.id),children:(0,d.jsx)(k.default,{name:I===a.id?"check":"content_copy",className:"text-[14px]"})})})}),(0,d.jsx)(j.ZI,{side:"top",children:I===a.id?"Copied!":"Copy"})]})]}),(0,d.jsxs)("p",{className:"text-xs text-muted-foreground mt-1",children:["Created ",new Date(a.createdAt).toLocaleDateString()]}),!1===a.isActive&&(0,d.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,d.jsx)("div",{className:"flex items-center gap-2",children:(0,d.jsx)(g.$,{variant:"ghost",size:"icon-sm",onClick:()=>N(a.id),className:"text-red-500 opacity-100 hover:bg-red-500/10 hover:text-red-500 sm:opacity-0 sm:group-hover:opacity-100",children:(0,d.jsx)(k.default,{name:"delete",className:"text-[18px]"})})})]},a.id)})})]})]})]}),(0,d.jsx)(i.lG,{open:u,onOpenChange:a=>{a||(v(!1),x(""))},children:(0,d.jsxs)(i.Cf,{className:"max-w-md",children:[(0,d.jsx)(i.c7,{children:(0,d.jsx)(i.L3,{children:"Create API Key"})}),(0,d.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,d.jsx)("div",{className:"flex flex-col gap-4",children:(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("label",{className:"text-sm font-medium text-foreground",children:"Key Name"}),(0,d.jsx)(h.p,{value:w,onChange:a=>x(a.target.value),placeholder:"Production Key"})]})})}),(0,d.jsx)(i.Es,{children:(0,d.jsx)("div",{className:"flex w-full gap-2 sm:w-auto",children:(0,d.jsx)(g.$,{onClick:M,className:"w-full sm:w-auto",disabled:!w.trim(),children:"Create"})})})]})}),(0,d.jsx)(i.lG,{open:!!y,onOpenChange:a=>!a&&z(null),children:(0,d.jsxs)(i.Cf,{className:"max-w-md",children:[(0,d.jsx)(i.c7,{children:(0,d.jsx)(i.L3,{children:"API Key Created"})}),(0,d.jsx)("div",{className:"max-h-[calc(85vh-100px)] overflow-y-auto p-4",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(o.Fc,{children:(0,d.jsxs)(o.TN,{children:[(0,d.jsx)("span",{className:"font-medium",children:"Save this key now! "}),"This is the only time you will see this key. Store it securely."]})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.p,{value:y||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsxs)(g.$,{variant:"secondary",onClick:()=>J(y,"created_key"),children:[(0,d.jsx)(k.default,{name:"created_key"===I?"check":"content_copy"}),"created_key"===I?"Copied!":"Copy"]})]})]})}),(0,d.jsx)(i.Es,{children:(0,d.jsx)(g.$,{onClick:()=>z(null),className:"w-full sm:w-auto",children:"Done"})})]})}),(0,d.jsx)(l.uo,{isOpen:!!A,onClose:()=>B(null),onConfirm:A?.onConfirm,title:A?.title||"Confirm",message:A?.message,variant:"danger"})]})}},57474:(a,b,c)=>{Promise.resolve().then(c.bind(c,69691))},69691:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(35062).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/amir/Projects/10Router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/amir/Projects/10Router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.tsx","default")},75626:(a,b,c)=>{Promise.resolve().then(c.bind(c,41296))},92592:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(94621);async function e(){return await (0,d.Xj)()}},94621:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(78356),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(51336);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="10r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}}};
@@ -0,0 +1 @@
1
+ exports.id=3425,exports.ids=[1336,3425],exports.modules={8474:()=>{},17318:(a,b,c)=>{"use strict";c.d(b,{EQ:()=>f,LY:()=>d,O:()=>e,fh:()=>h,t2:()=>i,wf:()=>g});let d={400:{type:"invalid_request_error",code:"bad_request"},401:{type:"authentication_error",code:"invalid_api_key"},402:{type:"billing_error",code:"payment_required"},403:{type:"permission_error",code:"insufficient_quota"},404:{type:"invalid_request_error",code:"model_not_found"},406:{type:"invalid_request_error",code:"model_not_supported"},451:{type:"permission_error",code:"unavailable_for_legal_reasons"},429:{type:"rate_limit_error",code:"rate_limit_exceeded"},500:{type:"server_error",code:"internal_server_error"},502:{type:"server_error",code:"bad_gateway"},503:{type:"server_error",code:"service_unavailable"},504:{type:"server_error",code:"gateway_timeout"}},e={400:"Bad request",401:"Invalid API key provided",402:"Payment required",403:"You exceeded your current quota",404:"Model not found",406:"Model not supported",451:"Unavailable for legal reasons",429:"Rate limit exceeded",500:"Internal server error",502:"Bad gateway - upstream provider error",503:"Service temporarily unavailable",504:"Gateway timeout"},f={base:2e3,max:3e5,maxLevel:15},g=3e4,h=18e5,i=[{text:"no credentials",cooldownMs:12e4},{text:"request not allowed",cooldownMs:5e3},{text:"improperly formed request",cooldownMs:12e4},{text:"rate limit",backoff:!0},{text:"too many requests",backoff:!0},{text:"quota exceeded",backoff:!0},{text:"capacity",backoff:!0},{text:"overloaded",backoff:!0},{text:"not available in your region",cooldownMs:12e4},{text:"unavailable for legal reasons",cooldownMs:12e4},{status:401,cooldownMs:12e4},{status:402,cooldownMs:12e4},{status:403,cooldownMs:12e4},{status:404,cooldownMs:12e4},{status:451,cooldownMs:12e4},{status:429,backoff:!0}]},35502:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DELETE:()=>Q,GET:()=>O,POST:()=>P});var d=c(33059),e=c(94661),f=c(79748),g=c.n(f),h=c(33873),i=c.n(h),j=c(21820),k=c.n(j),l=c(55511),m=c.n(l),n=c(85556),o=c(92339),p=c(94621),q=c(89864),r=c(5153);let s=`http://localhost:${o._$}/api/mcp/`,t=null,u=async()=>(t||(t=await (0,p.Xj)("10r-cli-auth")),t),v=async a=>{let b=await u();for(let c of a)"string"==typeof c?.url&&c.url.startsWith(s)&&(c.headers={...c.headers||{},"x-10r-cli-token":b});return a},w="gateway",x={coworkEgressAllowedHosts:["*"],disabledBuiltinTools:[],isLocalDevMcpEnabled:!0,isDesktopExtensionEnabled:!0,isDesktopExtensionDirectoryEnabled:!0,isDesktopExtensionSignatureRequired:!1,isClaudeCodeForDesktopEnabled:!0,disableEssentialTelemetry:!0,disableNonessentialTelemetry:!0,disableNonessentialServices:!0},y=()=>{let a=(0,q.Y$)();if((0,q.U_)())return[i().join(a,"Library","Application Support","Claude-3p"),i().join(a,"Library","Application Support","Claude"),i().join(a,".config","Claude-3p"),i().join(a,".config","Claude"),i().join(a,"AppData","Local","Claude-3p"),i().join(a,"AppData","Local","Claude"),i().join(a,"AppData","Roaming","Claude-3p"),i().join(a,"AppData","Roaming","Claude")];if("darwin"===k().platform()){let b=i().join(a,"Library","Application Support");return[i().join(b,"Claude-3p"),i().join(b,"Claude")]}if("win32"===k().platform()){let b=process.env.LOCALAPPDATA||i().join(a,"AppData","Local"),c=process.env.APPDATA||i().join(a,"AppData","Roaming");return[i().join(b,"Claude-3p"),i().join(c,"Claude-3p"),i().join(b,"Claude"),i().join(c,"Claude")]}return[i().join(a,".config","Claude-3p"),i().join(a,".config","Claude")]},z=async()=>{let a=y();for(let b of a)try{return await g().access(i().join(b,"configLibrary")),b}catch{}return a[0]},A=()=>y()[0],B=async()=>i().join(await z(),"configLibrary"),C=()=>i().join(A(),"configLibrary"),D=async()=>i().join(await B(),"_meta.json"),E=()=>{if((0,q.U_)()||"darwin"===k().platform())return i().join((0,q.Y$)(),"Library","Application Support","Claude");if("win32"===k().platform()){let a=process.env.APPDATA||i().join(k().homedir(),"AppData","Roaming");return i().join(a,"Claude")}return i().join((0,q.Y$)(),".config","Claude")},F=()=>i().join(E(),"claude_desktop_config.json"),G=async()=>{try{let a=(await g().readFile(F(),"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(a)||{}}catch(a){return{}}},H=async a=>{await g().mkdir(E(),{recursive:!0}),await g().writeFile(F(),JSON.stringify(a,null,2))},I=async()=>{let a=await G();return"3p"!==a.deploymentMode&&(a.deploymentMode="3p",await H(a),!0)},J=async()=>{let a=await G();if(!a.mcpServers||"object"!=typeof a.mcpServers)return;let b=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name));for(let c of Object.keys(a.mcpServers))b.has(c)&&delete a.mcpServers[c];0===Object.keys(a.mcpServers).length&&delete a.mcpServers,await H(a)},K=async()=>{for(let a of[...y(),...(()=>{if((0,q.U_)())return[i().join((0,q.Y$)(),"Applications","Claude.app")];if("darwin"===k().platform())return["/Applications/Claude.app",i().join((0,q.Y$)(),"Applications","Claude.app")];if("win32"===k().platform()){let a=process.env.LOCALAPPDATA||i().join((0,q.Y$)(),"AppData","Local"),b=process.env.ProgramFiles||"C:\\Program Files";return[i().join(a,"AnthropicClaude"),i().join(b,"Claude"),i().join(b,"AnthropicClaude")]}return[]})()])try{return await g().access(a),!0}catch{}return!1},L=async a=>{try{let b=(await g().readFile(a,"utf-8")).replace(/,(\s*[}\]])/g,"$1");return JSON.parse(b)}catch(a){return null}},M=async()=>{let a=i().join(C(),"_meta.json"),b=await L(a);if(!b||!b.appliedId){let c=await L(await D());if(c?.appliedId)b=c;else{let a=m().randomUUID();b={appliedId:a,entries:[{id:a,name:"Default"}]}}await g().mkdir(C(),{recursive:!0}),await g().writeFile(a,JSON.stringify(b,null,2))}return b};async function N(a){let b=i().join(A(),"config.json"),c={};try{c=JSON.parse(await g().readFile(b,"utf-8"))||{}}catch(a){if("ENOENT"!==a.code)return{error:a.code}}let d={};for(let b of a)b?.name&&(d[b.name]=!0);return c.operonSkipMcpApprovals=d,await g().mkdir(A(),{recursive:!0}),await g().writeFile(b,JSON.stringify(c,null,2)),{written:Object.keys(d).length}}async function O(){try{if(!await K()){if((0,q.u_)()&&!(0,q.U_)())return e.NextResponse.json({installed:null,container:!0,config:null,message:"Running in a container — configure the app on the host manually"});return e.NextResponse.json({installed:!1,config:null,message:"Claude Desktop (Cowork mode) not detected"})}let a=await L(await D()),b=a?.appliedId||null,c=await B(),d=b?i().join(c,`${b}.json`):null,f=d?await L(d):null,g=f?.inferenceGatewayBaseUrl||null,h=Array.isArray(f?.inferenceModels)?f.inferenceModels.map(a=>"string"==typeof a?a:a?.name).filter(Boolean):[],j=Array.isArray(f?.managedMcpServers)?f.managedMcpServers:[],k=!!(f?.inferenceProvider===w&&g),l=new Set(n.LOCAL_STDIO_PLUGINS.map(a=>a.name)),m=j.filter(a=>l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>a.name),o=j.filter(a=>a.custom||!l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/")).map(a=>({name:a.name,url:a.url,transport:a.transport,custom:!0}));return e.NextResponse.json({installed:!0,config:f,has10Router:k,configPath:d,cowork:{appliedId:b,baseUrl:g,models:h,provider:f?.inferenceProvider||null,plugins:j.filter(a=>!a.custom&&!(l.has(a.name)&&"string"==typeof a.url&&a.url.includes("/api/mcp/"))).map(a=>{let b=a.toolPolicy?Object.keys(a.toolPolicy):[],c=`${a.name}-`,d=new Set;for(let a of b){let b=a;for(;b.startsWith(c);)b=b.slice(c.length);d.add(b)}let e=n.DEFAULT_PLUGINS.find(b=>b.name===a.name),f=e&&Array.isArray(e.toolNames)?e.toolNames:Array.from(d);return{name:a.name,url:a.url,transport:a.transport,oauth:!!a.oauth,toolNames:f}}),localPlugins:m,customPlugins:o},defaultPlugins:n.DEFAULT_PLUGINS,localStdioPlugins:n.LOCAL_STDIO_PLUGINS})}catch(a){return console.log("Error reading cowork settings:",a),e.NextResponse.json({error:"Failed to read cowork settings"},{status:500})}}async function P(a){try{if((0,q.u_)()&&!(0,q.U_)())return e.NextResponse.json({error:"Running in a container — apply the manual config on the host instead"},{status:409});let{baseUrl:b,apiKey:c,models:d,plugins:f,localPlugins:h,customPlugins:j}=await a.json();if(!b||!c)return e.NextResponse.json({error:"baseUrl and apiKey are required"},{status:400});let k=Array.isArray(d)?d.filter(a=>"string"==typeof a&&a.trim()):[];if(0===k.length)return e.NextResponse.json({error:"At least one model is required"},{status:400});let l=Array.isArray(f)?f:n.DEFAULT_PLUGINS,m=Array.isArray(h)?h:[],p=(Array.isArray(j)?j:[]).filter(a=>a?.url),r=await v((a=>{let b=Array.isArray(a)?a:[],c=[];for(let a of b){let b=n.LOCAL_STDIO_PLUGINS.find(b=>b.name===a);if(!b)continue;let d={name:b.name,url:`http://localhost:${o._$}/api/mcp/${b.name}/sse`,transport:"sse"};if(Array.isArray(b.toolNames)&&b.toolNames.length>0){let a=`${b.name}-`,c={};for(let d of b.toolNames)c[d]="allow",c[`${a}${d}`]="allow";d.toolPolicy=c}c.push(d)}return c})(m)),s=await v((a=>{if(!Array.isArray(a))return[];let b=[];for(let c of a)c?.name&&c?.url&&b.push({name:c.name,url:c.url,transport:c.transport||"sse",custom:!0});return b})(p)),t=[...(0,n.buildManagedMcpServers)(l),...r,...s],u=await I(),y=await M(),z=i().join(C(),`${y.appliedId}.json`),A={...x,inferenceProvider:w,inferenceGatewayBaseUrl:b,inferenceGatewayApiKey:c,inferenceModels:k.map(a=>({name:a}))};t.length>0&&(A.managedMcpServers=t),await g().writeFile(z,JSON.stringify(A,null,2));let B=null;try{B=await N(t)}catch(a){B={error:a.message}}try{await J()}catch{}return e.NextResponse.json({success:!0,bootstrapped:u,message:u?"Cowork enabled (3p mode set). Quit & reopen Claude Desktop.":"Cowork settings applied. Quit & reopen Claude Desktop.",configPath:z,skipApprovals:B,localMcp:{applied:m,via:"3p-sse-bridge"}})}catch(a){return console.log("Error applying cowork settings:",a),e.NextResponse.json({error:"Failed to apply cowork settings"},{status:500})}}async function Q(){try{if((0,q.u_)()&&!(0,q.U_)())return e.NextResponse.json({error:"Running in a container — apply the manual config on the host instead"},{status:409});let a=await L(await D());if(!a?.appliedId)return e.NextResponse.json({success:!0,message:"No active config to reset"});let b=i().join(await B(),`${a.appliedId}.json`);try{await g().writeFile(b,JSON.stringify({},null,2))}catch(a){if("ENOENT"!==a.code)throw a}try{await N([])}catch{}try{await J()}catch{}return e.NextResponse.json({success:!0,message:"Cowork config reset"})}catch(a){return console.log("Error resetting cowork settings:",a),e.NextResponse.json({error:"Failed to reset cowork settings"},{status:500})}}(0,r.D)([O,P,Q]),(0,d.A)(O,"005ecdc60a30d5d39a756d8c7fbcf6ed9944d3d1b3",null),(0,d.A)(P,"4010ca479ee47f47ae09365a3fbcaf856b3b0177fa",null),(0,d.A)(Q,"00522ba0d9989ca9e336da512690a56bac289c9745",null)},42754:()=>{},51336:(a,b,c)=>{"use strict";c.d(b,{getDataDir:()=>n,n:()=>o});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="10router",k="9router";function l(a){try{return!e().existsSync(a)||0===e().readdirSync(a).length}catch{return!0}}function m(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function n(){let a=process.env.DATA_DIR;if(!a)return!function(){let a=m(),b="win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),k):g().join(i().homedir(),`.${k}`);if(a!==b&&l(a))try{if(!e().existsSync(b)||l(b))return;e().mkdirSync(a,{recursive:!0}),e().cpSync(b,a,{recursive:!0,force:!1,errorOnExist:!1})}catch(a){console.warn(`[DATA_DIR] legacy migrate ~/.${k} → ~/.${j} failed: ${a?.message||a}`)}}(),m();if("win32"===process.platform&&/^\//.test(a))return console.warn(`[DATA_DIR] '${a}' is a Unix path on Windows → fallback to default`),m();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),m();throw b}}let o=n()},78356:function(a,b,c){a.exports=function(a,b){var d=[function(a,b,c){a.exports=c(34)},function(a,b,c){var d=c(29)("wks"),e=c(33),f=c(2).Symbol,g="function"==typeof f;(a.exports=function(a){return d[a]||(d[a]=g&&f[a]||(g?f:e)("Symbol."+a))}).store=d},function(a,b){var c=a.exports="u">typeof window&&window.Math==Math?window:"u">typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=c)},function(a,b,c){var d=c(9);a.exports=function(a){if(!d(a))throw TypeError(a+" is not an object!");return a}},function(a,b,c){a.exports=!c(24)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(a,b,c){var d=c(12),e=c(17);a.exports=c(4)?function(a,b,c){return d.f(a,b,e(1,c))}:function(a,b,c){return a[b]=c,a}},function(a,b){var c=a.exports={version:"2.4.0"};"number"==typeof __e&&(__e=c)},function(a,b,c){var d=c(14);a.exports=function(a,b,c){if(d(a),void 0===b)return a;switch(c){case 1:return function(c){return a.call(b,c)};case 2:return function(c,d){return a.call(b,c,d)};case 3:return function(c,d,e){return a.call(b,c,d,e)}}return function(){return a.apply(b,arguments)}}},function(a,b){var c={}.hasOwnProperty;a.exports=function(a,b){return c.call(a,b)}},function(a,b){a.exports=function(a){return"object"==typeof a?null!==a:"function"==typeof a}},function(a,b){a.exports={}},function(a,b){var c={}.toString;a.exports=function(a){return c.call(a).slice(8,-1)}},function(a,b,c){var d=c(3),e=c(26),f=c(32),g=Object.defineProperty;b.f=c(4)?Object.defineProperty:function(a,b,c){if(d(a),b=f(b,!0),d(c),e)try{return g(a,b,c)}catch(a){}if("get"in c||"set"in c)throw TypeError("Accessors not supported!");return"value"in c&&(a[b]=c.value),a}},function(a,b,c){var d=c(42),e=c(15);a.exports=function(a){return d(e(a))}},function(a,b){a.exports=function(a){if("function"!=typeof a)throw TypeError(a+" is not a function!");return a}},function(a,b){a.exports=function(a){if(void 0==a)throw TypeError("Can't call method on "+a);return a}},function(a,b,c){var d=c(9),e=c(2).document,f=d(e)&&d(e.createElement);a.exports=function(a){return f?e.createElement(a):{}}},function(a,b){a.exports=function(a,b){return{enumerable:!(1&a),configurable:!(2&a),writable:!(4&a),value:b}}},function(a,b,c){var d=c(12).f,e=c(8),f=c(1)("toStringTag");a.exports=function(a,b,c){a&&!e(a=c?a:a.prototype,f)&&d(a,f,{configurable:!0,value:b})}},function(a,b,c){var d=c(29)("keys"),e=c(33);a.exports=function(a){return d[a]||(d[a]=e(a))}},function(a,b){var c=Math.ceil,d=Math.floor;a.exports=function(a){return isNaN(a*=1)?0:(a>0?d:c)(a)}},function(a,b,c){var d=c(11),e=c(1)("toStringTag"),f="Arguments"==d(function(){return arguments}()),g=function(a,b){try{return a[b]}catch(a){}};a.exports=function(a){var b,c,h;return void 0===a?"Undefined":null===a?"Null":"string"==typeof(c=g(b=Object(a),e))?c:f?d(b):"Object"==(h=d(b))&&"function"==typeof b.callee?"Arguments":h}},function(a,b){a.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},function(a,b,c){var d=c(2),e=c(6),f=c(7),g=c(5),h="prototype",i=function(a,b,c){var j,k,l,m=a&i.F,n=a&i.G,o=a&i.S,p=a&i.P,q=a&i.B,r=a&i.W,s=n?e:e[b]||(e[b]={}),t=s[h],u=n?d:o?d[b]:(d[b]||{})[h];for(j in n&&(c=b),c)(k=!m&&u&&void 0!==u[j])&&j in s||(l=k?u[j]:c[j],s[j]=n&&"function"!=typeof u[j]?c[j]:q&&k?f(l,d):r&&u[j]==l?function(a){var b=function(b,c,d){if(this instanceof a){switch(arguments.length){case 0:return new a;case 1:return new a(b);case 2:return new a(b,c)}return new a(b,c,d)}return a.apply(this,arguments)};return b[h]=a[h],b}(l):p&&"function"==typeof l?f(Function.call,l):l,p&&((s.virtual||(s.virtual={}))[j]=l,a&i.R&&t&&!t[j]&&g(t,j,l)))};i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,i.U=64,i.R=128,a.exports=i},function(a,b){a.exports=function(a){try{return!!a()}catch(a){return!0}}},function(a,b,c){a.exports=c(2).document&&document.documentElement},function(a,b,c){a.exports=!c(4)&&!c(24)(function(){return 7!=Object.defineProperty(c(16)("div"),"a",{get:function(){return 7}}).a})},function(a,b,c){"use strict";var d=c(28),e=c(23),f=c(57),g=c(5),h=c(8),i=c(10),j=c(45),k=c(18),l=c(52),m=c(1)("iterator"),n=!([].keys&&"next"in[].keys()),o="keys",p="values",q=function(){return this};a.exports=function(a,b,c,r,s,t,u){j(c,b,r);var v,w,x,y=function(a){if(!n&&a in C)return C[a];switch(a){case o:case p:return function(){return new c(this,a)}}return function(){return new c(this,a)}},z=b+" Iterator",A=s==p,B=!1,C=a.prototype,D=C[m]||C["@@iterator"]||s&&C[s],E=D||y(s),F=s?A?y("entries"):E:void 0,G="Array"==b&&C.entries||D;if(G&&(x=l(G.call(new a)))!==Object.prototype&&(k(x,z,!0),d||h(x,m)||g(x,m,q)),A&&D&&D.name!==p&&(B=!0,E=function(){return D.call(this)}),(!d||u)&&(n||B||!C[m])&&g(C,m,E),i[b]=E,i[z]=q,s)if(v={values:A?E:y(p),keys:t?E:y(o),entries:F},u)for(w in v)w in C||f(C,w,v[w]);else e(e.P+e.F*(n||B),b,v);return v}},function(a,b){a.exports=!0},function(a,b,c){var d=c(2),e="__core-js_shared__",f=d[e]||(d[e]={});a.exports=function(a){return f[a]||(f[a]={})}},function(a,b,c){var d,e,f,g=c(7),h=c(41),i=c(25),j=c(16),k=c(2),l=k.process,m=k.setImmediate,n=k.clearImmediate,o=k.MessageChannel,p=0,q={},r="onreadystatechange",s=function(){var a=+this;if(q.hasOwnProperty(a)){var b=q[a];delete q[a],b()}},t=function(a){s.call(a.data)};m&&n||(m=function(a){for(var b=[],c=1;arguments.length>c;)b.push(arguments[c++]);return q[++p]=function(){h("function"==typeof a?a:Function(a),b)},d(p),p},n=function(a){delete q[a]},"process"==c(11)(l)?d=function(a){l.nextTick(g(s,a,1))}:o?(f=(e=new o).port2,e.port1.onmessage=t,d=g(f.postMessage,f,1)):k.addEventListener&&"function"==typeof postMessage&&!k.importScripts?(d=function(a){k.postMessage(a+"","*")},k.addEventListener("message",t,!1)):d=r in j("script")?function(a){i.appendChild(j("script"))[r]=function(){i.removeChild(this),s.call(a)}}:function(a){setTimeout(g(s,a,1),0)}),a.exports={set:m,clear:n}},function(a,b,c){var d=c(20),e=Math.min;a.exports=function(a){return a>0?e(d(a),0x1fffffffffffff):0}},function(a,b,c){var d=c(9);a.exports=function(a,b){var c,e;if(!d(a))return a;if(b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a))||"function"==typeof(c=a.valueOf)&&!d(e=c.call(a))||!b&&"function"==typeof(c=a.toString)&&!d(e=c.call(a)))return e;throw TypeError("Can't convert object to primitive value")}},function(a,b){var c=0,d=Math.random();a.exports=function(a){return"Symbol(".concat(void 0===a?"":a,")_",(++c+d).toString(36))}},function(a,b,c){"use strict";function d(a){return(0,i.createHash)("sha256").update(a).digest("hex")}function e(a){switch(j){case"darwin":return a.split("IOPlatformUUID")[1].split("\n")[0].replace(/\=|\s+|\"/gi,"").toLowerCase();case"win32":return a.toString().split("REG_SZ")[1].replace(/\r+|\n+|\s+/gi,"").toLowerCase();case"linux":case"freebsd":return a.toString().replace(/\r+|\n+|\s+/gi,"").toLowerCase();default:throw Error("Unsupported platform: "+process.platform)}}Object.defineProperty(b,"__esModule",{value:!0});var f,g=(f=c(35))&&f.__esModule?f:{default:f};b.machineIdSync=function(a){var b=e((0,h.execSync)(k[j]).toString());return a?b:d(b)},b.machineId=function(a){return new g.default(function(b,c){return(0,h.exec)(k[j],{},function(f,g,h){if(f)return c(Error("Error while obtaining machine id: "+f.stack));var i=e(g.toString());return b(a?i:d(i))})})};var h=c(70),i=c(71),j=process.platform,k={darwin:"ioreg -rd1 -c IOPlatformExpertDevice",win32:{native:"%windir%\\System32",mixed:"%windir%\\sysnative\\cmd.exe /c %windir%\\System32"}["win32"!==process.platform?"":"ia32"===process.arch&&process.env.hasOwnProperty("PROCESSOR_ARCHITEW6432")?"mixed":"native"]+"\\REG.exe QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography /v MachineGuid",linux:"( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",freebsd:"kenv -q smbios.system.uuid || sysctl -n kern.hostuuid"}},function(a,b,c){a.exports={default:c(36),__esModule:!0}},function(a,b,c){c(66),c(68),c(69),c(67),a.exports=c(6).Promise},function(a,b){a.exports=function(){}},function(a,b){a.exports=function(a,b,c,d){if(!(a instanceof b)||void 0!==d&&d in a)throw TypeError(c+": incorrect invocation!");return a}},function(a,b,c){var d=c(13),e=c(31),f=c(62);a.exports=function(a){return function(b,c,g){var h,i=d(b),j=e(i.length),k=f(g,j);if(a&&c!=c){for(;j>k;)if((h=i[k++])!=h)return!0}else for(;j>k;k++)if((a||k in i)&&i[k]===c)return a||k||0;return!a&&-1}}},function(a,b,c){var d=c(7),e=c(44),f=c(43),g=c(3),h=c(31),i=c(64),j={},k={},b=a.exports=function(a,b,c,l,m){var n,o,p,q,r=m?function(){return a}:i(a),s=d(c,l,b?2:1),t=0;if("function"!=typeof r)throw TypeError(a+" is not iterable!");if(f(r)){for(n=h(a.length);n>t;t++)if((q=b?s(g(o=a[t])[0],o[1]):s(a[t]))===j||q===k)return q}else for(p=r.call(a);!(o=p.next()).done;)if((q=e(p,s,o.value,b))===j||q===k)return q};b.BREAK=j,b.RETURN=k},function(a,b){a.exports=function(a,b,c){var d=void 0===c;switch(b.length){case 0:return d?a():a.call(c);case 1:return d?a(b[0]):a.call(c,b[0]);case 2:return d?a(b[0],b[1]):a.call(c,b[0],b[1]);case 3:return d?a(b[0],b[1],b[2]):a.call(c,b[0],b[1],b[2]);case 4:return d?a(b[0],b[1],b[2],b[3]):a.call(c,b[0],b[1],b[2],b[3])}return a.apply(c,b)}},function(a,b,c){var d=c(11);a.exports=Object("z").propertyIsEnumerable(0)?Object:function(a){return"String"==d(a)?a.split(""):Object(a)}},function(a,b,c){var d=c(10),e=c(1)("iterator"),f=Array.prototype;a.exports=function(a){return void 0!==a&&(d.Array===a||f[e]===a)}},function(a,b,c){var d=c(3);a.exports=function(a,b,c,e){try{return e?b(d(c)[0],c[1]):b(c)}catch(b){var f=a.return;throw void 0!==f&&d(f.call(a)),b}}},function(a,b,c){"use strict";var d=c(49),e=c(17),f=c(18),g={};c(5)(g,c(1)("iterator"),function(){return this}),a.exports=function(a,b,c){a.prototype=d(g,{next:e(1,c)}),f(a,b+" Iterator")}},function(a,b,c){var d=c(1)("iterator"),e=!1;try{var f=[7][d]();f.return=function(){e=!0},Array.from(f,function(){throw 2})}catch(a){}a.exports=function(a,b){if(!b&&!e)return!1;var c=!1;try{var f=[7],g=f[d]();g.next=function(){return{done:c=!0}},f[d]=function(){return g},a(f)}catch(a){}return c}},function(a,b){a.exports=function(a,b){return{value:b,done:!!a}}},function(a,b,c){var d=c(2),e=c(30).set,f=d.MutationObserver||d.WebKitMutationObserver,g=d.process,h=d.Promise,i="process"==c(11)(g);a.exports=function(){var a,b,c,j=function(){var d,e;for(i&&(d=g.domain)&&d.exit();a;){e=a.fn,a=a.next;try{e()}catch(d){throw a?c():b=void 0,d}}b=void 0,d&&d.enter()};if(i)c=function(){g.nextTick(j)};else if(f){var k=!0,l=document.createTextNode("");new f(j).observe(l,{characterData:!0}),c=function(){l.data=k=!k}}else if(h&&h.resolve){var m=h.resolve();c=function(){m.then(j)}}else c=function(){e.call(d,j)};return function(d){var e={fn:d,next:void 0};b&&(b.next=e),a||(a=e,c()),b=e}}},function(a,b,c){var d=c(3),e=c(50),f=c(22),g=c(19)("IE_PROTO"),h=function(){},i="prototype",j=function(){var a,b=c(16)("iframe"),d=f.length;for(b.style.display="none",c(25).appendChild(b),b.src="javascript:",(a=b.contentWindow.document).open(),a.write("<script>document.F=Object<\/script>"),a.close(),j=a.F;d--;)delete j[i][f[d]];return j()};a.exports=Object.create||function(a,b){var c;return null!==a?(h[i]=d(a),c=new h,h[i]=null,c[g]=a):c=j(),void 0===b?c:e(c,b)}},function(a,b,c){var d=c(12),e=c(3),f=c(54);a.exports=c(4)?Object.defineProperties:function(a,b){e(a);for(var c,g=f(b),h=g.length,i=0;h>i;)d.f(a,c=g[i++],b[c]);return a}},function(a,b,c){var d=c(55),e=c(17),f=c(13),g=c(32),h=c(8),i=c(26),j=Object.getOwnPropertyDescriptor;b.f=c(4)?j:function(a,b){if(a=f(a),b=g(b,!0),i)try{return j(a,b)}catch(a){}if(h(a,b))return e(!d.f.call(a,b),a[b])}},function(a,b,c){var d=c(8),e=c(63),f=c(19)("IE_PROTO"),g=Object.prototype;a.exports=Object.getPrototypeOf||function(a){return d(a=e(a),f)?a[f]:"function"==typeof a.constructor&&a instanceof a.constructor?a.constructor.prototype:a instanceof Object?g:null}},function(a,b,c){var d=c(8),e=c(13),f=c(39)(!1),g=c(19)("IE_PROTO");a.exports=function(a,b){var c,h=e(a),i=0,j=[];for(c in h)c!=g&&d(h,c)&&j.push(c);for(;b.length>i;)d(h,c=b[i++])&&(~f(j,c)||j.push(c));return j}},function(a,b,c){var d=c(53),e=c(22);a.exports=Object.keys||function(a){return d(a,e)}},function(a,b){b.f=({}).propertyIsEnumerable},function(a,b,c){var d=c(5);a.exports=function(a,b,c){for(var e in b)c&&a[e]?a[e]=b[e]:d(a,e,b[e]);return a}},function(a,b,c){a.exports=c(5)},function(a,b,c){var d=c(9),e=c(3),f=function(a,b){if(e(a),!d(b)&&null!==b)throw TypeError(b+": can't set as prototype!")};a.exports={set:Object.setPrototypeOf||("__proto__"in{}?function(a,b,d){try{(d=c(7)(Function.call,c(51).f(Object.prototype,"__proto__").set,2))(a,[]),b=!(a instanceof Array)}catch(a){b=!0}return function(a,c){return f(a,c),b?a.__proto__=c:d(a,c),a}}({},!1):void 0),check:f}},function(a,b,c){"use strict";var d=c(2),e=c(6),f=c(12),g=c(4),h=c(1)("species");a.exports=function(a){var b="function"==typeof e[a]?e[a]:d[a];g&&b&&!b[h]&&f.f(b,h,{configurable:!0,get:function(){return this}})}},function(a,b,c){var d=c(3),e=c(14),f=c(1)("species");a.exports=function(a,b){var c,g=d(a).constructor;return void 0===g||void 0==(c=d(g)[f])?b:e(c)}},function(a,b,c){var d=c(20),e=c(15);a.exports=function(a){return function(b,c){var f,g,h=String(e(b)),i=d(c),j=h.length;return i<0||i>=j?a?"":void 0:(f=h.charCodeAt(i))<55296||f>56319||i+1===j||(g=h.charCodeAt(i+1))<56320||g>57343?a?h.charAt(i):f:a?h.slice(i,i+2):(f-55296<<10)+(g-56320)+65536}}},function(a,b,c){var d=c(20),e=Math.max,f=Math.min;a.exports=function(a,b){return(a=d(a))<0?e(a+b,0):f(a,b)}},function(a,b,c){var d=c(15);a.exports=function(a){return Object(d(a))}},function(a,b,c){var d=c(21),e=c(1)("iterator"),f=c(10);a.exports=c(6).getIteratorMethod=function(a){if(void 0!=a)return a[e]||a["@@iterator"]||f[d(a)]}},function(a,b,c){"use strict";var d=c(37),e=c(47),f=c(10),g=c(13);a.exports=c(27)(Array,"Array",function(a,b){this._t=g(a),this._i=0,this._k=b},function(){var a=this._t,b=this._k,c=this._i++;return!a||c>=a.length?(this._t=void 0,e(1)):"keys"==b?e(0,c):"values"==b?e(0,a[c]):e(0,[c,a[c]])},"values"),f.Arguments=f.Array,d("keys"),d("values"),d("entries")},function(a,b){},function(a,b,c){"use strict";var d,e,f,g=c(28),h=c(2),i=c(7),j=c(21),k=c(23),l=c(9),m=(c(3),c(14)),n=c(38),o=c(40),p=(c(58).set,c(60)),q=c(30).set,r=c(48)(),s="Promise",t=h.TypeError,u=h.process,v=h[s],u=h.process,w="process"==j(u),x=function(){},y=!!function(){try{var a=v.resolve(1),b=(a.constructor={})[c(1)("species")]=function(a){a(x,x)};return(w||"function"==typeof PromiseRejectionEvent)&&a.then(x)instanceof b}catch(a){}}(),z=function(a,b){return a===b||a===v&&b===f},A=function(a){var b;return!(!l(a)||"function"!=typeof(b=a.then))&&b},B=function(a){return z(v,a)?new C(a):new e(a)},C=e=function(a){var b,c;this.promise=new a(function(a,d){if(void 0!==b||void 0!==c)throw t("Bad Promise constructor");b=a,c=d}),this.resolve=m(b),this.reject=m(c)},D=function(a){try{a()}catch(a){return{error:a}}},E=function(a,b){if(!a._n){a._n=!0;var c=a._c;r(function(){for(var d=a._v,e=1==a._s,f=0;c.length>f;)!function(b){var c,f,g=e?b.ok:b.fail,h=b.resolve,i=b.reject,j=b.domain;try{g?(e||(2==a._h&&H(a),a._h=1),!0===g?c=d:(j&&j.enter(),c=g(d),j&&j.exit()),c===b.promise?i(t("Promise-chain cycle")):(f=A(c))?f.call(c,h,i):h(c)):i(d)}catch(a){i(a)}}(c[f++]);a._c=[],a._n=!1,b&&!a._h&&F(a)})}},F=function(a){q.call(h,function(){var b,c,d,e=a._v;if(G(a)&&(b=D(function(){w?u.emit("unhandledRejection",e,a):(c=h.onunhandledrejection)?c({promise:a,reason:e}):(d=h.console)&&d.error&&d.error("Unhandled promise rejection",e)}),a._h=w||G(a)?2:1),a._a=void 0,b)throw b.error})},G=function(a){if(1==a._h)return!1;for(var b,c=a._a||a._c,d=0;c.length>d;)if((b=c[d++]).fail||!G(b.promise))return!1;return!0},H=function(a){q.call(h,function(){var b;w?u.emit("rejectionHandled",a):(b=h.onrejectionhandled)&&b({promise:a,reason:a._v})})},I=function(a){var b=this;b._d||(b._d=!0,(b=b._w||b)._v=a,b._s=2,b._a||(b._a=b._c.slice()),E(b,!0))},J=function(a){var b,c=this;if(!c._d){c._d=!0,c=c._w||c;try{if(c===a)throw t("Promise can't be resolved itself");(b=A(a))?r(function(){var d={_w:c,_d:!1};try{b.call(a,i(J,d,1),i(I,d,1))}catch(a){I.call(d,a)}}):(c._v=a,c._s=1,E(c,!1))}catch(a){I.call({_w:c,_d:!1},a)}}};y||(v=function(a){n(this,v,s,"_h"),m(a),d.call(this);try{a(i(J,this,1),i(I,this,1))}catch(a){I.call(this,a)}},(d=function(a){this._c=[],this._a=void 0,this._s=0,this._d=!1,this._v=void 0,this._h=0,this._n=!1}).prototype=c(56)(v.prototype,{then:function(a,b){var c=B(p(this,v));return c.ok="function"!=typeof a||a,c.fail="function"==typeof b&&b,c.domain=w?u.domain:void 0,this._c.push(c),this._a&&this._a.push(c),this._s&&E(this,!1),c.promise},catch:function(a){return this.then(void 0,a)}}),C=function(){var a=new d;this.promise=a,this.resolve=i(J,a,1),this.reject=i(I,a,1)}),k(k.G+k.W+!y*k.F,{Promise:v}),c(18)(v,s),c(59)(s),f=c(6)[s],k(k.S+!y*k.F,s,{reject:function(a){var b=B(this);return(0,b.reject)(a),b.promise}}),k(k.S+k.F*(g||!y),s,{resolve:function(a){if(a instanceof v&&z(a.constructor,this))return a;var b=B(this);return(0,b.resolve)(a),b.promise}}),k(k.S+!(y&&c(46)(function(a){v.all(a).catch(x)}))*k.F,s,{all:function(a){var b=this,c=B(b),d=c.resolve,e=c.reject,f=D(function(){var c=[],f=0,g=1;o(a,!1,function(a){var h=f++,i=!1;c.push(void 0),g++,b.resolve(a).then(function(a){i||(i=!0,c[h]=a,--g||d(c))},e)}),--g||d(c)});return f&&e(f.error),c.promise},race:function(a){var b=this,c=B(b),d=c.reject,e=D(function(){o(a,!1,function(a){b.resolve(a).then(c.resolve,d)})});return e&&d(e.error),c.promise}})},function(a,b,c){"use strict";var d=c(61)(!0);c(27)(String,"String",function(a){this._t=String(a),this._i=0},function(){var a,b=this._t,c=this._i;return c>=b.length?{value:void 0,done:!0}:(a=d(b,c),this._i+=a.length,{value:a,done:!1})})},function(a,b,c){c(65);for(var d=c(2),e=c(5),f=c(10),g=c(1)("toStringTag"),h=["NodeList","DOMTokenList","MediaList","StyleSheetList","CSSRuleList"],i=0;i<5;i++){var j=h[i],k=d[j],l=k&&k.prototype;l&&!l[g]&&e(l,g,j),f[j]=f.Array}},function(a,b){a.exports=c(79646)},function(a,b){a.exports=c(55511)}];function e(a){if(f[a])return f[a].exports;var b=f[a]={exports:{},id:a,loaded:!1};return d[a].call(b.exports,b,b.exports,e),b.loaded=!0,b.exports}var f={};return e.m=d,e.c=f,e.p="",e(0)}(c(79646),c(55511))},85556:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DEFAULT_PLUGINS:()=>d,LOCAL_STDIO_PLUGINS:()=>e,buildManagedMcpServers:()=>f});let d=[{name:"exa",title:"Exa",description:"Real-time web search and code documentation",url:"https://mcp.exa.ai/mcp",transport:"http",oauth:!1,toolNames:["web_search_exa","web_fetch_exa"]},{name:"tavily",title:"Tavily",description:"Real-time web search optimized for LLM agents",url:"https://mcp.tavily.com/mcp",transport:"http",oauth:!0,toolNames:["tavily_search","tavily_extract","tavily_crawl","tavily_map"]}],e=[{name:"browsermcp",title:"Browser MCP",description:"Control your running Chrome (requires Chrome extension)",extensionUrl:"https://chromewebstore.google.com/detail/browser-mcp-automate-your/bjfgambnhccakkhmkepdoekmckoijdlc",command:"npx",args:["-y","@browsermcp/mcp@latest"],toolNames:["browser_navigate","browser_snapshot","browser_click","browser_type","browser_screenshot","browser_get_console_logs","browser_wait","browser_press_key","browser_go_back","browser_go_forward"]}];function f(a){let b=Array.isArray(a)?a:[],c=[],d=new Set;for(let a of b){if(!a?.name||!a?.url||d.has(a.name))continue;d.add(a.name);let b={name:a.name,url:a.url,transport:a.transport||(/\/sse(\b|\/)/i.test(a.url)?"sse":"http")};if(a.oauth&&(b.oauth=!0),Array.isArray(a.toolNames)&&a.toolNames.length>0){let c=`${a.name}-`,d=new Set;for(let b of a.toolNames){if("string"!=typeof b||!b)continue;let a=b;for(;a.startsWith(c);)a=a.slice(c.length);d.add(a)}let e={};for(let a of d)e[a]="allow",e[`${c}${a}`]="allow";b.toolPolicy=e}c.push(b)}return c}},89864:(a,b,c)=>{"use strict";c.d(b,{IN:()=>m,U_:()=>l,Y$:()=>k,u_:()=>j});var d=c(73024),e=c.n(d),f=c(48161),g=c.n(f),h=c(76760),i=c.n(h);function j(){try{if(e().existsSync("/.dockerenv"))return!0;let a=e().readFileSync("/proc/1/cgroup","utf-8");return/docker|kubepods|containerd/i.test(a)}catch{return!1}}function k(){let a=(process.env.HOST_HOME||"").trim();if(a)try{if(e().existsSync(a))return a}catch{}return g().homedir()}function l(){let a=(process.env.HOST_HOME||"").trim();if(!a)return!1;try{return e().existsSync(a)}catch{return!1}}function m(a,...b){let c=[i().join(a,...b)],[d,...e]=b;if(".config"===d){c.push(i().join(a,"Library","Application Support",...e));let b=process.env.LOCALAPPDATA||i().join(a,"AppData","Local"),d=process.env.APPDATA||i().join(a,"AppData","Roaming");c.push(i().join(b,...e),i().join(d,...e))}return c}},94621:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(78356),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(51336);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="10r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=3481,exports.ids=[3481],exports.modules={23481:(a,b,c)=>{c.d(b,{createSqlJsAdapter:()=>k});var d=c(73024),e=c.n(d),f=c(46293),g=c.n(f),h=c(98983);let i=null;async function j(){return i||(i=await g()())}async function k(a){let b=await j(),c=e().existsSync(a)?e().readFileSync(a):null,d=new b.Database(c);d.exec(h.oG);let f=!1,g=null;function i(){let b=d.export();e().writeFileSync(a,Buffer.from(b)),f=!1}function k(){f=!0,g&&clearTimeout(g),g=setTimeout(()=>{if(g=null,f)try{i()}catch(a){console.error("[sqljs] save failed:",a)}},100)}function l(a){if(!(!a||Array.isArray(a)&&0===a.length))return a}let m=()=>{if(f)try{i()}catch{}};return process.on("beforeExit",m),process.on("SIGINT",m),process.on("SIGTERM",m),{driver:"sql.js",run:function(a,b=[]){let c=d.prepare(a);try{c.bind(l(b)),c.step();let a=d.getRowsModified(),e=d.exec("SELECT last_insert_rowid() as id")[0]?.values?.[0]?.[0]??null;return k(),{changes:a,lastInsertRowid:e}}finally{c.free()}},get:function(a,b=[]){let c=d.prepare(a);try{if(c.bind(l(b)),c.step())return c.getAsObject();return}finally{c.free()}},all:function(a,b=[]){let c=d.prepare(a);try{c.bind(l(b));let a=[];for(;c.step();)a.push(c.getAsObject());return a}finally{c.free()}},exec:function(a){d.exec(a),k()},transaction:function(a){let b=`sp_${Math.random().toString(36).slice(2)}`;d.exec(`SAVEPOINT ${b}`);try{let c=a();return d.exec(`RELEASE ${b}`),k(),c}catch(a){try{d.exec(`ROLLBACK TO ${b}`),d.exec(`RELEASE ${b}`)}catch{}throw a}},close:function(){g&&clearTimeout(g),f&&i(),d.close()},raw:d}}},98983:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=1,e=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};