f3rtr 0.5.99 → 0.6.1

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 (844) hide show
  1. package/README.md +18 -23
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +12 -12
  4. package/app/.next-cli-build/build-manifest.json +3 -3
  5. package/app/.next-cli-build/prerender-manifest.json +20 -20
  6. package/app/.next-cli-build/required-server-files.json +5 -5
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  72. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
  74. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  75. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  76. package/app/.next-cli-build/server/app/_global-error/page.js +2 -2
  77. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  78. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  86. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  88. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  90. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  91. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  93. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  94. package/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/saml/acs/route_client-reference-manifest.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  115. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route_client-reference-manifest.js +1 -1
  116. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  117. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/auth/saml/start/route_client-reference-manifest.js +1 -1
  119. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  120. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  121. package/app/.next-cli-build/server/app/api/auth/saml/test/route_client-reference-manifest.js +1 -1
  122. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
  126. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route_client-reference-manifest.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +2 -2
  144. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route_client-reference-manifest.js +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  149. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  150. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  156. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +2 -2
  162. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route_client-reference-manifest.js +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  165. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
  167. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  168. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  169. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route_client-reference-manifest.js +1 -1
  170. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  173. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +2 -2
  174. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  175. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route_client-reference-manifest.js +1 -1
  176. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
  177. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route_client-reference-manifest.js +1 -1
  179. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js +2 -2
  180. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  181. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route_client-reference-manifest.js +1 -1
  182. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  183. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
  185. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
  186. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  187. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
  188. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  189. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  191. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
  192. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  193. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route_client-reference-manifest.js +1 -1
  194. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  195. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  197. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  198. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  199. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  200. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  201. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route_client-reference-manifest.js +1 -1
  203. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +1 -1
  204. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  205. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route_client-reference-manifest.js +1 -1
  206. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  209. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  210. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  211. package/app/.next-cli-build/server/app/api/combos/presets/route_client-reference-manifest.js +1 -1
  212. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
  215. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  216. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  217. package/app/.next-cli-build/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -1
  218. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -1
  221. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  222. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  223. package/app/.next-cli-build/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -1
  224. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
  227. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  228. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  229. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
  230. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
  233. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  234. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  235. package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
  236. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
  239. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  242. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
  245. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
  248. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  251. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  252. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  254. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  257. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  260. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  263. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  266. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  269. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  272. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  273. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  274. package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  275. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/models/catalog-sync/route_client-reference-manifest.js +1 -1
  278. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  279. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  280. package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  281. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  284. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  285. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  286. package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
  287. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  290. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  291. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  292. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  293. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -1
  296. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  297. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  298. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  299. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  300. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  302. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  303. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  304. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  305. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  308. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  309. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  310. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route_client-reference-manifest.js +1 -1
  311. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  314. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  315. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  316. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -1
  317. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  320. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  321. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  322. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  323. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -1
  326. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  327. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  328. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  329. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  332. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  333. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  334. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route_client-reference-manifest.js +1 -1
  335. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  336. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route_client-reference-manifest.js +1 -1
  338. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
  339. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  340. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route_client-reference-manifest.js +1 -1
  341. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route_client-reference-manifest.js +1 -1
  344. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  345. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  346. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route_client-reference-manifest.js +1 -1
  347. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/oauth/zed/import/route_client-reference-manifest.js +1 -1
  350. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  351. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  352. package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  353. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  356. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  357. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  358. package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  359. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  362. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  363. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  364. package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  365. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route_client-reference-manifest.js +1 -1
  368. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  369. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  370. package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  371. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  374. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  375. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  376. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  377. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  380. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  381. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  382. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  383. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
  386. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  387. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  388. package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  389. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  392. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  393. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  394. package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  395. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  396. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  398. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  399. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  400. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  401. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  402. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  404. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
  405. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  406. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  407. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js +2 -2
  408. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route_client-reference-manifest.js +1 -1
  410. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  411. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  412. package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  413. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  414. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  416. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  417. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  418. package/app/.next-cli-build/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -1
  419. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  420. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -1
  422. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  423. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  424. package/app/.next-cli-build/server/app/api/pxpipe/logs/route_client-reference-manifest.js +1 -1
  425. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  426. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -1
  428. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  429. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  430. package/app/.next-cli-build/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -1
  431. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  432. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -1
  434. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  435. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  436. package/app/.next-cli-build/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -1
  437. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  438. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -1
  440. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  441. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  442. package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  443. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  444. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  445. package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  446. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  447. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  448. package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  449. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  450. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  451. package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
  452. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  453. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  454. package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  455. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  456. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  457. package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
  458. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  459. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  460. package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  461. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  462. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  463. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  464. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  465. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  466. package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  467. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  468. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  469. package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  470. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  471. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  472. package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  473. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  474. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  475. package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  476. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  477. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  478. package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  479. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  480. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  481. package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  482. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  483. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  484. package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  485. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  486. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  487. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  488. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  489. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  490. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  491. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  492. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  493. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  494. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  495. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  496. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  497. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  498. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  499. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route_client-reference-manifest.js +1 -1
  500. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  501. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  502. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -1
  503. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  504. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  505. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  506. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  507. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  508. package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  509. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  510. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  511. package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  512. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  513. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  514. package/app/.next-cli-build/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  515. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  516. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  517. package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  518. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  519. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  520. package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  521. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  522. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  523. package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  524. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  525. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  526. package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  527. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  528. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  529. package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  530. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  531. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  532. package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  533. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  534. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  535. package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  536. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  537. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  538. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  539. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  540. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  541. package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  542. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  543. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  544. package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  545. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  546. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  547. package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  548. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  549. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  550. package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  551. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  552. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  553. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  554. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  555. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  556. package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  557. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  558. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  559. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route_client-reference-manifest.js +1 -1
  560. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  561. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  562. package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  563. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  564. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  565. package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  566. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  567. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  568. package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  569. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  570. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  571. package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  572. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  573. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  574. package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
  575. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  576. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  577. package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  578. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  579. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  580. package/app/.next-cli-build/server/app/api/v1/systemone/route_client-reference-manifest.js +1 -1
  581. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  582. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  583. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route_client-reference-manifest.js +1 -1
  584. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  585. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  586. package/app/.next-cli-build/server/app/api/v1/videos/edits/route_client-reference-manifest.js +1 -1
  587. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  588. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  589. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route_client-reference-manifest.js +1 -1
  590. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  591. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  592. package/app/.next-cli-build/server/app/api/v1/videos/generations/route_client-reference-manifest.js +1 -1
  593. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  594. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  595. package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  596. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  597. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  598. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  599. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  600. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  601. package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  602. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  603. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  604. package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
  605. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  606. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  607. package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  608. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  609. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  610. package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  611. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  612. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  613. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  614. package/app/.next-cli-build/server/app/callback.html +1 -1
  615. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  616. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  617. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  618. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
  619. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  620. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
  621. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +5 -5
  622. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
  623. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
  624. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  625. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
  626. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +6 -6
  627. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
  628. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
  629. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  630. package/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
  631. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +5 -5
  632. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  633. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
  634. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  635. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
  636. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
  637. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
  638. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  640. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
  641. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +5 -5
  642. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
  643. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
  644. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  645. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
  646. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +5 -5
  647. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
  648. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
  649. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  650. package/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
  651. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +5 -5
  652. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  653. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
  654. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  655. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
  656. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +5 -5
  657. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  658. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
  659. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  660. package/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
  661. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +5 -5
  662. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  663. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
  664. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  665. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
  666. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +5 -5
  667. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
  668. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
  669. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  670. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
  671. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +5 -5
  672. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
  673. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
  674. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  675. package/app/.next-cli-build/server/app/dashboard/quota.rsc +5 -5
  676. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +5 -5
  677. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +5 -5
  678. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
  679. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  680. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  681. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  682. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  683. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  684. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  685. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  686. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
  687. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  688. package/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
  689. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +5 -5
  690. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
  691. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
  692. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  693. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
  694. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +5 -5
  695. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
  696. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
  697. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  698. package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
  699. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
  700. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  701. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
  702. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  703. package/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
  704. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +5 -5
  705. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  706. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
  707. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  708. package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
  709. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
  710. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
  711. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
  712. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  713. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  714. package/app/.next-cli-build/server/app/index.html +1 -1
  715. package/app/.next-cli-build/server/app/index.rsc +4 -4
  716. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  717. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  718. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  719. package/app/.next-cli-build/server/app/landing/page.js +1 -1
  720. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  721. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  722. package/app/.next-cli-build/server/app/landing.html +1 -1
  723. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  724. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  725. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  726. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +5 -5
  727. package/app/.next-cli-build/server/app/login/page.js +1 -1
  728. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  729. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  730. package/app/.next-cli-build/server/app/login.html +1 -1
  731. package/app/.next-cli-build/server/app/login.rsc +5 -5
  732. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  733. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  734. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  735. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  736. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  737. package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  738. package/app/.next-cli-build/server/app/page.js +1 -1
  739. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  740. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  741. package/app/.next-cli-build/server/app-paths-manifest.json +12 -12
  742. package/app/.next-cli-build/server/chunks/1757.js +1 -1
  743. package/app/.next-cli-build/server/chunks/2132.js +1 -1
  744. package/app/.next-cli-build/server/chunks/2220.js +1 -1
  745. package/app/.next-cli-build/server/chunks/2430.js +4 -4
  746. package/app/.next-cli-build/server/chunks/2970.js +3 -3
  747. package/app/.next-cli-build/server/chunks/3459.js +1 -1
  748. package/app/.next-cli-build/server/chunks/3571.js +1 -0
  749. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  750. package/app/.next-cli-build/server/chunks/4730.js +3 -3
  751. package/app/.next-cli-build/server/chunks/5186.js +5 -0
  752. package/app/.next-cli-build/server/chunks/5245.js +1 -1
  753. package/app/.next-cli-build/server/chunks/5330.js +2 -2
  754. package/app/.next-cli-build/server/chunks/6540.js +1 -1
  755. package/app/.next-cli-build/server/chunks/6650.js +1 -0
  756. package/app/.next-cli-build/server/chunks/7066.js +1 -1
  757. package/app/.next-cli-build/server/chunks/7525.js +1 -1
  758. package/app/.next-cli-build/server/chunks/7774.js +2 -2
  759. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  760. package/app/.next-cli-build/server/chunks/7995.js +8 -8
  761. package/app/.next-cli-build/server/chunks/827.js +1 -1
  762. package/app/.next-cli-build/server/chunks/8499.js +2 -2
  763. package/app/.next-cli-build/server/chunks/8520.js +1 -1
  764. package/app/.next-cli-build/server/chunks/869.js +1 -1
  765. package/app/.next-cli-build/server/chunks/8895.js +2 -2
  766. package/app/.next-cli-build/server/chunks/9604.js +1 -1
  767. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  768. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  769. package/app/.next-cli-build/server/middleware.js +12 -12
  770. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  771. package/app/.next-cli-build/server/next-font-manifest.js +1 -1
  772. package/app/.next-cli-build/server/next-font-manifest.json +1 -1
  773. package/app/.next-cli-build/server/pages/404.html +1 -1
  774. package/app/.next-cli-build/server/pages/500.html +1 -1
  775. package/app/.next-cli-build/server/preview-props.json +3 -3
  776. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  777. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  778. package/app/.next-cli-build/static/chunks/{1321-9912deb839962627.js → 1321-a4807b5d87d10309.js} +1 -1
  779. package/app/.next-cli-build/static/chunks/{3564-54d377757645fa2e.js → 9555-6e50d1a4f3be008b.js} +2 -2
  780. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-a25a73e4451a55ab.js → page-6a0a313a07da84ee.js} +1 -1
  781. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-d512db71852d97a6.js → page-566b2594692b0910.js} +1 -1
  782. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-e1b02e1761d53bd7.js → page-4407b6a6e685d426.js} +1 -1
  783. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-f6c0d240f818dcb6.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-c78bde262542a6d2.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-7833111e5ebfd366.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-ad70bb381615d5f0.js → page-5af1d9e0e963d61e.js} +1 -1
  787. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-82c6c7d16e8bb97d.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-9538601b87718174.js → page-660830f8e926bdf7.js} +1 -1
  789. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-0ab68d54f4d0509c.js → page-6f5f32e1ed832b64.js} +1 -1
  790. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-6cfca788af0f1036.js → page-1db1828b429fa321.js} +1 -1
  791. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-c0d8b680da381f95.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-bc0b3b45f238b1f8.js → page-e6d9e961c31d5c3d.js} +1 -1
  793. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-c995165efb47f3d9.js → page-7d5669ec701bd35a.js} +2 -2
  794. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-c2f013a452e9b55e.js → page-2d6169dba06bdfeb.js} +1 -1
  795. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-b684f769dc50ab54.js → page-992a8d1fbb62c79d.js} +1 -1
  796. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-d801093772cb6a33.js → page-a706f4d5ebb1039b.js} +2 -2
  797. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-8ebe11cc82cd0276.js → page-2673097581cb398c.js} +1 -1
  798. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-a975724cc7ccfcd0.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-87019043504d174a.js → page-a18ec3af2816f884.js} +1 -1
  800. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-09c8ca227b04e527.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-1d5a3e1b1d284cc4.js → page-59b2da6d345eb1fe.js} +1 -1
  802. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-42736f2e6141bcaf.js → page-e017c2f17d32b2c0.js} +1 -1
  803. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-c5809e0bde2c38fe.js → layout-aca4819f6b700760.js} +1 -1
  804. package/app/.next-cli-build/static/chunks/app/_not-found/page-bc6570212f8276c3.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/callback/{page-e577e42c93ce1c87.js → page-00828cb0784f3bfd.js} +1 -1
  806. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-23aa828f91b0d490.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/landing/{page-4a3a67441d7eab7a.js → page-83f5fdb1df11f939.js} +1 -1
  808. package/app/.next-cli-build/static/chunks/app/layout-ec8edb816e28a3de.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/login/page-4cb5657c7b805b36.js +1 -0
  810. package/app/.next-cli-build/static/chunks/main-app-3fbff98a700a8794.js +1 -0
  811. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-6240e6a34a8331ca.js +1 -0
  812. package/app/cli/.build-home/.f3router/db/data.sqlite +0 -0
  813. package/app/cli/.build-home/.f3router/jwt-secret +1 -1
  814. package/app/cli/.build-home/.f3router/machine-id +1 -1
  815. package/app/node_modules/@aws-sdk/credential-providers/package.json +1 -1
  816. package/app/node_modules/@emnapi/runtime/dist/emnapi.cjs.js +1398 -0
  817. package/app/node_modules/@emnapi/runtime/dist/emnapi.cjs.min.js +1 -0
  818. package/app/node_modules/@emnapi/runtime/index.js +5 -0
  819. package/app/node_modules/@emnapi/runtime/package.json +48 -0
  820. package/app/node_modules/@smithy/core/dist-cjs/submodules/protocols/index.js +1695 -3
  821. package/app/node_modules/@smithy/core/package.json +2 -1
  822. package/app/package.json +1 -1
  823. package/app/server.js +1 -1
  824. package/package.json +2 -2
  825. package/app/.next-cli-build/server/chunks/1425.js +0 -1
  826. package/app/.next-cli-build/server/chunks/6593.js +0 -5
  827. package/app/.next-cli-build/server/chunks/7660.js +0 -1
  828. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-1696fa41e55055c6.js +0 -1
  829. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-01673f1b7dbf808c.js +0 -1
  830. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-5559bf6fea5f6a8c.js +0 -1
  831. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-1fc55d3ccdff8dbb.js +0 -1
  832. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-0217dae94ed2e7ed.js +0 -1
  833. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-0bace78b8f0bf17a.js +0 -1
  834. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-19b59b69999ba9f1.js +0 -1
  835. package/app/.next-cli-build/static/chunks/app/_not-found/page-5bae707f75e2b00c.js +0 -1
  836. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/page-3148a0c0a15d3824.js +0 -1
  837. package/app/.next-cli-build/static/chunks/app/layout-34b5f1d928dadc4e.js +0 -1
  838. package/app/.next-cli-build/static/chunks/app/login/page-38c7e970e2ac7a16.js +0 -1
  839. package/app/.next-cli-build/static/chunks/main-app-95ac5ea86e995494.js +0 -1
  840. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-63b17986381a1fe5.js +0 -1
  841. package/app/cli/.build-home/.npm/_update-notifier-last-checked +0 -0
  842. package/app/cli/.build-home/Library/Preferences/nextjs-nodejs/config.json +0 -7
  843. /package/app/.next-cli-build/static/{DCaab7-GKBYquv-N3jbQG → ZhgGzkDOnwCvBzNwx7Ek_}/_buildManifest.js +0 -0
  844. /package/app/.next-cli-build/static/{DCaab7-GKBYquv-N3jbQG → ZhgGzkDOnwCvBzNwx7Ek_}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -4,13 +4,9 @@
4
4
 
5
5
  **Connect All AI Code Tools (Claude Code, Cursor, Antigravity, Copilot, Codex, Gemini, OpenCode, Cline, OpenClaw...) to 40+ AI Providers & 100+ Models.**
6
6
 
7
- [![npm](https://img.shields.io/npm/v/f3router.svg)](https://www.npmjs.com/package/f3router)
8
- [![Downloads](https://img.shields.io/npm/dm/f3router.svg)](https://www.npmjs.com/package/f3router)
9
- [![Docker Pulls](https://img.shields.io/docker/pulls/f3tools/f3router.svg?logo=docker&label=Docker%20pulls)](https://hub.docker.com/r/f3tools/f3router)
10
- [![GHCR](https://img.shields.io/badge/GHCR-decolua%2Ff3router-blue?logo=github)](https://github.com/f3tools/f3router/pkgs/container/f3router)
11
- [![License](https://img.shields.io/npm/l/f3router.svg)](https://github.com/f3tools/f3router/blob/main/LICENSE)
12
-
13
- <a href="https://trendshift.io/repositories/22628" target="_blank"><img src="https://trendshift.io/api/badge/repositories/22628" alt="decolua%2Ff3router | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
7
+ [![npm](https://img.shields.io/npm/v/f3rtr.svg)](https://www.npmjs.com/package/f3rtr)
8
+ [![Downloads](https://img.shields.io/npm/dm/f3rtr.svg)](https://www.npmjs.com/package/f3rtr)
9
+ [![License](https://img.shields.io/npm/l/f3rtr.svg)](https://github.com/f3tools/f3router/blob/main/LICENSE)
14
10
 
15
11
  [🌐 Website](https://9router.com) • [📖 Full Docs](https://github.com/f3tools/f3router)
16
12
 
@@ -40,11 +36,11 @@
40
36
  **Option 1 — npm (recommended for desktop):**
41
37
 
42
38
  ```bash
43
- npm install -g f3router
39
+ npm install -g f3rtr
44
40
  f3router
45
41
 
46
42
  # Or run directly with npx
47
- npx f3router
43
+ npx f3rtr
48
44
  ```
49
45
 
50
46
  **Option 2 — Docker (server/VPS):**
@@ -55,7 +51,6 @@ docker run -d --name f3router -p 20128:20128 \
55
51
  f3tools/f3router:latest
56
52
  ```
57
53
 
58
- Published images: [Docker Hub](https://hub.docker.com/r/f3tools/f3router) • [GHCR](https://github.com/f3tools/f3router/pkgs/container/f3router) (multi-platform amd64/arm64).
59
54
 
60
55
  🎉 Dashboard opens at `http://localhost:20128`
61
56
 
@@ -95,9 +90,9 @@ f3router --help # Show all options
95
90
  Already running f3router on another machine (e.g. a team server on your LAN)? Point this machine's CLI tools at it — no local server is started:
96
91
 
97
92
  ```bash
98
- npx f3router connect http://<server-host>:20128 # pick tools interactively
99
- npx f3router connect http://<server-host>:20128 --tools claude,codex # or choose up front
100
- npx f3router connect --reset --tools claude,codex # undo
93
+ npx f3rtr connect http://<server-host>:20128 # pick tools interactively
94
+ npx f3rtr connect http://<server-host>:20128 --tools claude,codex # or choose up front
95
+ npx f3rtr connect --reset --tools claude,codex # undo
101
96
  ```
102
97
 
103
98
  It logs in with the dashboard password (hidden prompt), reuses or creates an API key named `cli-<hostname>`, and writes each tool's config (backing up the original once as `*.bak-f3router`).
@@ -119,22 +114,22 @@ Models come from the **server's own CLI-tools configuration**, so a client gets
119
114
 
120
115
  ```bash
121
116
  # One Claude tier; the other tiers still come from the server
122
- npx f3router connect http://<server-host>:20128 --tools claude --sonnet cc/claude-sonnet-5-5
117
+ npx f3rtr connect http://<server-host>:20128 --tools claude --sonnet cc/claude-sonnet-5-5
123
118
 
124
119
  # Every Claude tier
125
- npx f3router connect http://<server-host>:20128 --tools claude \
120
+ npx f3rtr connect http://<server-host>:20128 --tools claude \
126
121
  --fable cc/claude-fable-5-1 --opus cc/claude-opus-5-5 \
127
122
  --sonnet cc/claude-sonnet-5-5 --haiku cc/claude-haiku-4-5-20251001
128
123
 
129
124
  # All non-Claude tools at once
130
- npx f3router connect http://<server-host>:20128 --tools codex,opencode,kilo --model ocg/deepseek-flash
125
+ npx f3rtr connect http://<server-host>:20128 --tools codex,opencode,kilo --model ocg/deepseek-flash
131
126
 
132
127
  # Claude and other tools in one run
133
- npx f3router connect http://<server-host>:20128 --tools claude,codex --opus cc/claude-opus-5-5 --model gpt-6
128
+ npx f3rtr connect http://<server-host>:20128 --tools claude,codex --opus cc/claude-opus-5-5 --model gpt-6
134
129
 
135
130
  # A different model per tool: --model covers every non-Claude tool in a run, so run once per tool
136
- npx f3router connect http://<server-host>:20128 --tools codex --model gpt-6
137
- npx f3router connect http://<server-host>:20128 --tools opencode --model ocg/glm-5.3
131
+ npx f3rtr connect http://<server-host>:20128 --tools codex --model gpt-6
132
+ npx f3rtr connect http://<server-host>:20128 --tools opencode --model ocg/glm-5.3
138
133
  ```
139
134
 
140
135
  A model the server doesn't list is still written, with a `not listed by server` warning. To see the ids it serves: `curl http://<server-host>:20128/v1/models -H "Authorization: Bearer <your key>"`.
@@ -144,10 +139,10 @@ A model the server doesn't list is still written, with a `not listed by server`
144
139
  `f3router show` prints what each CLI tool on this machine is currently set to — base URL, masked API key and models. It only reads local files and never contacts a server.
145
140
 
146
141
  ```bash
147
- npx f3router show # every supported tool
148
- npx f3router show claude # one tool
149
- npx f3router show claude codex # several
150
- npx f3router show claude --json # machine-readable (key still masked)
142
+ npx f3rtr show # every supported tool
143
+ npx f3rtr show claude # one tool
144
+ npx f3rtr show claude codex # several
145
+ npx f3rtr show claude --json # machine-readable (key still masked)
151
146
  ```
152
147
 
153
148
  ```
@@ -1 +1 @@
1
- DCaab7-GKBYquv-N3jbQG
1
+ ZhgGzkDOnwCvBzNwx7Ek_
@@ -128,50 +128,50 @@
128
128
  "/api/headroom/extras/route": "/api/headroom/extras",
129
129
  "/api/headroom/proxy/[...path]/route": "/api/headroom/proxy/[...path]",
130
130
  "/api/headroom/restart/route": "/api/headroom/restart",
131
- "/api/headroom/start/route": "/api/headroom/start",
132
131
  "/api/headroom/status/route": "/api/headroom/status",
133
132
  "/api/headroom/stop/route": "/api/headroom/stop",
134
- "/api/keys/route": "/api/keys",
133
+ "/api/headroom/start/route": "/api/headroom/start",
135
134
  "/api/mcp/[plugin]/message/route": "/api/mcp/[plugin]/message",
135
+ "/api/keys/route": "/api/keys",
136
136
  "/api/mcp/[plugin]/sse/route": "/api/mcp/[plugin]/sse",
137
137
  "/api/models/alias/route": "/api/models/alias",
138
- "/api/models/custom/route": "/api/models/custom",
139
138
  "/api/models/disabled/route": "/api/models/disabled",
140
- "/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
141
- "/api/oauth/kiro/import-cli-proxy/route": "/api/oauth/kiro/import-cli-proxy",
139
+ "/api/models/custom/route": "/api/models/custom",
142
140
  "/api/oauth/kiro/auto-import/route": "/api/oauth/kiro/auto-import",
141
+ "/api/oauth/kiro/import-cli-proxy/route": "/api/oauth/kiro/import-cli-proxy",
142
+ "/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
143
143
  "/api/oauth/xiaomi-mimo/login/status/route": "/api/oauth/xiaomi-mimo/login/status",
144
144
  "/api/oauth/xiaomi-mimo/login/start/route": "/api/oauth/xiaomi-mimo/login/start",
145
145
  "/api/provider-nodes/route": "/api/provider-nodes",
146
146
  "/api/providers/[id]/overrides/route": "/api/providers/[id]/overrides",
147
147
  "/api/providers/[id]/route": "/api/providers/[id]",
148
- "/api/providers/[id]/models/route": "/api/providers/[id]/models",
149
148
  "/api/providers/client/route": "/api/providers/client",
150
149
  "/api/providers/suggested-models/route": "/api/providers/suggested-models",
151
150
  "/api/providers/route": "/api/providers",
152
- "/api/proxy-pools/[id]/test/route": "/api/proxy-pools/[id]/test",
151
+ "/api/providers/[id]/models/route": "/api/providers/[id]/models",
153
152
  "/api/proxy-pools/[id]/route": "/api/proxy-pools/[id]",
153
+ "/api/proxy-pools/[id]/test/route": "/api/proxy-pools/[id]/test",
154
154
  "/api/proxy-pools/cloudflare-deploy/route": "/api/proxy-pools/cloudflare-deploy",
155
155
  "/api/proxy-pools/deno-deploy/route": "/api/proxy-pools/deno-deploy",
156
156
  "/api/proxy-pools/route": "/api/proxy-pools",
157
157
  "/api/proxy-pools/netlify-deploy/route": "/api/proxy-pools/netlify-deploy",
158
- "/api/pxpipe/health/route": "/api/pxpipe/health",
159
158
  "/api/proxy-pools/vercel-deploy/route": "/api/proxy-pools/vercel-deploy",
159
+ "/api/pxpipe/health/route": "/api/pxpipe/health",
160
160
  "/api/pxpipe/install/route": "/api/pxpipe/install",
161
- "/api/pxpipe/logs/route": "/api/pxpipe/logs",
162
161
  "/api/pxpipe/restart/route": "/api/pxpipe/restart",
162
+ "/api/pxpipe/logs/route": "/api/pxpipe/logs",
163
163
  "/api/pxpipe/start/route": "/api/pxpipe/start",
164
164
  "/api/pxpipe/stats/route": "/api/pxpipe/stats",
165
165
  "/api/pxpipe/status/route": "/api/pxpipe/status",
166
166
  "/api/pxpipe/stop/route": "/api/pxpipe/stop",
167
- "/api/settings/database/route": "/api/settings/database",
168
167
  "/api/settings/proxy-test/route": "/api/settings/proxy-test",
168
+ "/api/settings/database/route": "/api/settings/database",
169
169
  "/api/settings/route": "/api/settings",
170
170
  "/api/translator/console-logs/stream/route": "/api/translator/console-logs/stream",
171
171
  "/api/usage/[connectionId]/claude-reset/route": "/api/usage/[connectionId]/claude-reset",
172
172
  "/api/usage/[connectionId]/codex-reset-credits/route": "/api/usage/[connectionId]/codex-reset-credits",
173
- "/api/usage/[connectionId]/route": "/api/usage/[connectionId]",
174
173
  "/api/usage/stats/route": "/api/usage/stats",
174
+ "/api/usage/[connectionId]/route": "/api/usage/[connectionId]",
175
175
  "/api/usage/stream/route": "/api/usage/stream",
176
176
  "/api/v1/audio/transcriptions/route": "/api/v1/audio/transcriptions",
177
177
  "/api/v1/models/route": "/api/v1/models",
@@ -200,8 +200,8 @@
200
200
  "/(dashboard)/dashboard/translator/page": "/dashboard/translator",
201
201
  "/(dashboard)/dashboard/usage/page": "/dashboard/usage",
202
202
  "/(dashboard)/dashboard/console-log/page": "/dashboard/console-log",
203
- "/(dashboard)/dashboard/profile/page": "/dashboard/profile",
204
203
  "/(dashboard)/dashboard/providers/page": "/dashboard/providers",
204
+ "/(dashboard)/dashboard/profile/page": "/dashboard/profile",
205
205
  "/(dashboard)/dashboard/proxy-pools/page": "/dashboard/proxy-pools",
206
206
  "/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]"
207
207
  }
@@ -4,14 +4,14 @@
4
4
  ],
5
5
  "devFiles": [],
6
6
  "lowPriorityFiles": [
7
- "static/DCaab7-GKBYquv-N3jbQG/_buildManifest.js",
8
- "static/DCaab7-GKBYquv-N3jbQG/_ssgManifest.js"
7
+ "static/ZhgGzkDOnwCvBzNwx7Ek_/_buildManifest.js",
8
+ "static/ZhgGzkDOnwCvBzNwx7Ek_/_ssgManifest.js"
9
9
  ],
10
10
  "rootMainFiles": [
11
11
  "static/chunks/webpack-e3ae2dd278dc644f.js",
12
12
  "static/chunks/4bd1b696-8cd12253b448cc13.js",
13
13
  "static/chunks/3794-ba54cbd6a46cf18d.js",
14
- "static/chunks/main-app-95ac5ea86e995494.js"
14
+ "static/chunks/main-app-3fbff98a700a8794.js"
15
15
  ],
16
16
  "rootMainFilesTree": {},
17
17
  "pages": {
@@ -118,7 +118,7 @@
118
118
  "routeType": "page",
119
119
  "response": "complete",
120
120
  "compute": "static",
121
- "htmlSize": 26985,
121
+ "htmlSize": 26983,
122
122
  "experimentalBypassFor": [
123
123
  {
124
124
  "type": "header",
@@ -146,7 +146,7 @@
146
146
  "routeType": "page",
147
147
  "response": "complete",
148
148
  "compute": "static",
149
- "htmlSize": 29607,
149
+ "htmlSize": 29605,
150
150
  "experimentalBypassFor": [
151
151
  {
152
152
  "type": "header",
@@ -174,7 +174,7 @@
174
174
  "routeType": "page",
175
175
  "response": "complete",
176
176
  "compute": "static",
177
- "htmlSize": 29539,
177
+ "htmlSize": 29537,
178
178
  "experimentalBypassFor": [
179
179
  {
180
180
  "type": "header",
@@ -202,7 +202,7 @@
202
202
  "routeType": "page",
203
203
  "response": "complete",
204
204
  "compute": "static",
205
- "htmlSize": 27681,
205
+ "htmlSize": 27679,
206
206
  "experimentalBypassFor": [
207
207
  {
208
208
  "type": "header",
@@ -230,7 +230,7 @@
230
230
  "routeType": "page",
231
231
  "response": "complete",
232
232
  "compute": "static",
233
- "htmlSize": 27507,
233
+ "htmlSize": 27505,
234
234
  "experimentalBypassFor": [
235
235
  {
236
236
  "type": "header",
@@ -258,7 +258,7 @@
258
258
  "routeType": "page",
259
259
  "response": "complete",
260
260
  "compute": "static",
261
- "htmlSize": 50919,
261
+ "htmlSize": 50917,
262
262
  "experimentalBypassFor": [
263
263
  {
264
264
  "type": "header",
@@ -286,7 +286,7 @@
286
286
  "routeType": "page",
287
287
  "response": "complete",
288
288
  "compute": "static",
289
- "htmlSize": 32633,
289
+ "htmlSize": 32631,
290
290
  "experimentalBypassFor": [
291
291
  {
292
292
  "type": "header",
@@ -314,7 +314,7 @@
314
314
  "routeType": "page",
315
315
  "response": "complete",
316
316
  "compute": "static",
317
- "htmlSize": 37899,
317
+ "htmlSize": 37896,
318
318
  "experimentalBypassFor": [
319
319
  {
320
320
  "type": "header",
@@ -342,7 +342,7 @@
342
342
  "routeType": "page",
343
343
  "response": "complete",
344
344
  "compute": "static",
345
- "htmlSize": 27560,
345
+ "htmlSize": 27558,
346
346
  "experimentalBypassFor": [
347
347
  {
348
348
  "type": "header",
@@ -370,7 +370,7 @@
370
370
  "routeType": "page",
371
371
  "response": "complete",
372
372
  "compute": "static",
373
- "htmlSize": 38132,
373
+ "htmlSize": 38130,
374
374
  "experimentalBypassFor": [
375
375
  {
376
376
  "type": "header",
@@ -398,7 +398,7 @@
398
398
  "routeType": "page",
399
399
  "response": "complete",
400
400
  "compute": "static",
401
- "htmlSize": 27619,
401
+ "htmlSize": 27617,
402
402
  "experimentalBypassFor": [
403
403
  {
404
404
  "type": "header",
@@ -426,7 +426,7 @@
426
426
  "routeType": "page",
427
427
  "response": "complete",
428
428
  "compute": "static",
429
- "htmlSize": 32092,
429
+ "htmlSize": 32090,
430
430
  "experimentalBypassFor": [
431
431
  {
432
432
  "type": "header",
@@ -454,7 +454,7 @@
454
454
  "routeType": "page",
455
455
  "response": "complete",
456
456
  "compute": "static",
457
- "htmlSize": 27066,
457
+ "htmlSize": 27064,
458
458
  "experimentalBypassFor": [
459
459
  {
460
460
  "type": "header",
@@ -510,7 +510,7 @@
510
510
  "routeType": "page",
511
511
  "response": "complete",
512
512
  "compute": "static",
513
- "htmlSize": 40169,
513
+ "htmlSize": 40167,
514
514
  "experimentalBypassFor": [
515
515
  {
516
516
  "type": "header",
@@ -538,7 +538,7 @@
538
538
  "routeType": "page",
539
539
  "response": "complete",
540
540
  "compute": "static",
541
- "htmlSize": 30680,
541
+ "htmlSize": 30678,
542
542
  "experimentalBypassFor": [
543
543
  {
544
544
  "type": "header",
@@ -566,7 +566,7 @@
566
566
  "routeType": "page",
567
567
  "response": "complete",
568
568
  "compute": "static",
569
- "htmlSize": 36491,
569
+ "htmlSize": 36489,
570
570
  "experimentalBypassFor": [
571
571
  {
572
572
  "type": "header",
@@ -594,7 +594,7 @@
594
594
  "routeType": "page",
595
595
  "response": "complete",
596
596
  "compute": "static",
597
- "htmlSize": 27279,
597
+ "htmlSize": 27277,
598
598
  "experimentalBypassFor": [
599
599
  {
600
600
  "type": "header",
@@ -742,8 +742,8 @@
742
742
  "dynamicRoutes": {},
743
743
  "notFoundRoutes": [],
744
744
  "preview": {
745
- "previewModeId": "cf95b728f5e466cf85c881a8c425122c",
746
- "previewModeSigningKey": "47cf5cb4fd1fb55525eabc9eb502656982dd02b6b71acf99779d7a1ad31affdb",
747
- "previewModeEncryptionKey": "9ac51fa35390ccb7ea4a6d842f712c6aca7490b360f69ab36cf27f5a678e52aa"
745
+ "previewModeId": "80f0ece26a13ae510bbf063c97879fa1",
746
+ "previewModeSigningKey": "5868b96776d8c88bf655b0ba5b9ef1b95af6f22aa667e3d35fb79717916d6845",
747
+ "previewModeEncryptionKey": "75cf6fa6725cd8fa6a7d5f482ce388baa2bd0988a69aa4436b6649001ba05d15"
748
748
  }
749
749
  }
@@ -105,7 +105,7 @@
105
105
  "transform": "lodash/{{member}}"
106
106
  }
107
107
  },
108
- "outputFileTracingRoot": "/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools",
108
+ "outputFileTracingRoot": "/home/runner/work/f3router",
109
109
  "enablePrerenderSourceMaps": true,
110
110
  "cacheComponents": false,
111
111
  "cacheLife": {
@@ -181,7 +181,7 @@
181
181
  "proxyPrefetch": "flexible",
182
182
  "optimisticClientCache": true,
183
183
  "manualClientBasePath": false,
184
- "cpus": 9,
184
+ "cpus": 3,
185
185
  "memoryBasedWorkersCount": false,
186
186
  "imgOptConcurrency": null,
187
187
  "imgOptOperationCache": null,
@@ -348,14 +348,14 @@
348
348
  "@aws-sdk/credential-providers"
349
349
  ],
350
350
  "turbopack": {
351
- "root": "/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools"
351
+ "root": "/home/runner/work/f3router"
352
352
  },
353
353
  "outputFileTracingExcludes": {
354
354
  "*": [
355
355
  "./gitbook/**/*"
356
356
  ]
357
357
  },
358
- "repoRoot": "/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router",
358
+ "repoRoot": "/home/runner/work/f3router/f3router",
359
359
  "distDirRoot": ".next-cli-build",
360
360
  "supportsImmutableAssets": false,
361
361
  "_originalRewrites": {
@@ -401,7 +401,7 @@
401
401
  "fallback": []
402
402
  }
403
403
  },
404
- "appDir": "/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router",
404
+ "appDir": "/home/runner/work/f3router/f3router",
405
405
  "relativeAppDir": "f3router",
406
406
  "files": [
407
407
  ".next-cli-build/package.json",
@@ -1 +1 @@
1
- (()=>{var a={};a.id=4465,a.ids=[4465],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40551:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735),e=c(79286);function f(){return(0,d.jsx)(e.default,{})}},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},52281:(a,b,c)=>{Promise.resolve().then(c.bind(c,79286))},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},69228:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["basic-chat",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,40551))),"/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router/src/app/(dashboard)/dashboard/basic-chat/page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/basic-chat/page",pathname:"/dashboard/basic-chat",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},72271:a=>{"use strict";a.exports=require("@aws-sdk/credential-providers")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73180:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(48249),e=c(67484),f=c(50412);function g(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function h(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(h).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{return String(a)}}return String(a)}function i(a=""){let b=h(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}async function j(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function k(){let[a,b]=(0,e.useState)([]),[c,k]=(0,e.useState)(!0),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(()=>[]),[p,q]=(0,e.useState)(()=>""),[r,s]=(0,e.useState)(()=>""),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(()=>""),[x,y]=(0,e.useState)([]),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(""),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),L=(0,e.useRef)(null),M=(0,e.useRef)(null);(0,e.useRef)(!1);let N=(0,e.useRef)(null),O=(0,e.useRef)(null),P=(0,e.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),Q=(0,e.useMemo)(()=>a.find(a=>a.providerId===r)||a[0]||null,[a,r]),R=(0,e.useMemo)(()=>{if(t&&P.has(t))return P.get(t);if(p){let a=n.find(a=>a.id===p);if(a?.modelId&&P.has(a.modelId))return P.get(a.modelId)}return Q?.models?.[0]||null},[t,P,Q,n,p]),S=(0,e.useMemo)(()=>n.find(a=>a.id===p)||null,[n,p]),T=S?.messages||[],U=(0,e.useMemo)(()=>[...n].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[n]),V=!z&&!!R&&(v.trim().length>0||x.length>0),W=(a,b)=>{o(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},X=a=>a?{id:g(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,Y=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:g(),name:a.name,type:a.type,size:a.size,dataUrl:await j(a)})));y(a=>[...a,...d]),a.target.value=""},Z=async()=>{let a=R||Q?.models?.[0]||null;if(!a)return;let b=v.trim();if(!b&&0===x.length)return;let c=p,d=n.find(a=>a.id===c);if(!d){if(!(d=X(a)))return;c=d.id,o(a=>[d,...a]),q(c)}let e={id:g(),role:"user",content:b,attachments:x.map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},f=g(),j={id:f,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},k=[...d.messages||[],e,j];o(d=>d.map(d=>d.id===c?{...d,providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,messages:k,updatedAt:new Date().toISOString(),title:"New chat"===d.title?i(b):d.title}:d)),w(""),y([]),A(!0),C(f),E(""),M.current?.abort(),M.current=new AbortController;let l=k.filter(a=>"assistant"!==a.role||a.id!==f).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=h(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content}));try{var r;let d,e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:a.requestModel||a.id,messages:l,stream:!0}),signal:M.current.signal});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(h(a.error||a.message||`Request failed (${e.status})`))}let g=e.body?.getReader();if(!g){let a=await e.json().catch(()=>({})),b=h(a?.choices?.[0]?.message?.content||a?.output_text||a?.error||a?.message||"");W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:b,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let j=new TextDecoder,k="",m="";for(;;){let{value:a,done:b}=await g.read();if(b)break;let d=(k+=j.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(k=d.pop()||"",d)){let b=a.trim();if(!b.startsWith("data:"))continue;let d=b.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),b=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(h).filter(Boolean)[0]||""}(a);if(!b)continue;m+=b,E(m),W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m||a.content,status:"done"}:a),updatedAt:new Date().toISOString()})),r=c,d=i(b),W(r,a=>({...a,title:"New chat"===a.title?d:a.title,updatedAt:new Date().toISOString()}))}catch(a){if("AbortError"!==a.name){let b=h(a?.message||a);W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()})),m(b||"Failed to send message.")}}finally{A(!1),C(""),E(""),M.current=null}},$=R?`${R.name}`:"Select model",_=R?R.requestModel:"Choose from connected providers";return(0,d.jsx)("div",{className:"relative flex-1 flex flex-col h-full min-h-0 min-w-0 bg-[#212121] text-white overflow-hidden",children:(0,d.jsxs)("div",{className:"relative mx-auto flex flex-1 h-full min-h-0 w-full max-w-4xl flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 px-4 py-3 lg:px-6",children:[(0,d.jsxs)("div",{ref:N,className:"relative",children:[(0,d.jsx)("button",{type:"button",onClick:()=>I(a=>!a),className:"flex items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-left transition hover:bg-white/8",children:(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-white",children:$}),(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] text-white/70",children:"expand_more"})]}),(0,d.jsx)("p",{className:"truncate text-xs text-white/55",children:_})]})}),H?(0,d.jsxs)("div",{className:"absolute left-0 top-[calc(100%+10px)] z-30 w-[min(520px,calc(100vw-2rem))] overflow-hidden rounded-[20px] border border-white/10 bg-[#262626] shadow-2xl shadow-black/50",children:[(0,d.jsxs)("div",{className:"border-b border-white/10 px-4 py-3",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Models"}),(0,d.jsx)("p",{className:"text-sm text-white/75",children:"Only from connected providers"})]}),(0,d.jsx)("div",{className:"max-h-[60vh] overflow-y-auto p-2 custom-scrollbar",children:a.map(a=>(0,d.jsxs)("div",{className:"mb-2 rounded-[16px] border border-white/10 bg-black/20 p-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-2",children:[(0,d.jsx)("p",{className:"text-sm font-semibold text-white",children:a.providerName}),(0,d.jsx)(f.Ex,{size:"sm",variant:"default",children:a.models.length})]}),(0,d.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.models.map(a=>{let b=a.id===t;return(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=P.get(a);if(!b)return;let c=n.find(a=>a.id===p);if(c&&c.messages.length>0){let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}else if(c)o(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),q(c.id);else{let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}s(b.providerId),u(b.id),I(!1)})(a.id),className:`rounded-[14px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.name}),(0,d.jsx)("p",{className:"truncate text-[11px] text-white/45",children:a.requestModel})]}),b?(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] text-blue-300",children:"check_circle"}):null]})},a.id)})})]},a.providerId))})]}):null]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>K(a=>!a),className:"rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-sm text-white/80 transition hover:bg-white/8",children:"History"}),(0,d.jsx)(f.$n,{variant:"ghost",size:"sm",icon:"delete",onClick:()=>{if(!p)return;let a=n.filter(a=>a.id!==p),b=a[0]||null;o(a),b?(q(b.id),s(b.providerId),u(b.modelId)):(q(""),s(""),u(""))},disabled:!p||0===n.length,children:"Clear"})]})]}),J?(0,d.jsxs)("div",{ref:O,className:"absolute right-4 top-[72px] z-20 w-[min(360px,calc(100vw-2rem))] rounded-[20px] border border-white/10 bg-[#262626] p-2 shadow-2xl shadow-black/50 lg:right-6",children:[(0,d.jsx)("div",{className:"px-3 py-2",children:(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Recent chats"})}),(0,d.jsx)("div",{className:"max-h-[48vh] space-y-2 overflow-y-auto p-1 custom-scrollbar",children:0===U.length?(0,d.jsx)("div",{className:"rounded-[16px] border border-dashed border-white/10 bg-white/5 p-4 text-sm text-white/55",children:"No conversations yet."}):U.map(a=>{let b=a.id===p,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,d.jsx)("button",{type:"button",onClick:()=>{var b;let c;return b=a.id,void((c=n.find(a=>a.id===b))&&(q(b),s(c.providerId||r),u(c.modelId||t),K(!1)))},className:`w-full rounded-[16px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.title}),(0,d.jsx)("p",{className:"mt-1 truncate text-xs text-white/50",children:h(c?.content)||"Empty chat"})]}),(0,d.jsx)("span",{className:"text-[10px] text-white/40 shrink-0",children:function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)})]})},a.id)})})]}):null,l?(0,d.jsx)("div",{className:"mt-4 rounded-[18px] border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-rose-100",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"error"}),(0,d.jsx)("p",{className:"text-sm leading-6",children:l})]})}):null,(0,d.jsxs)("div",{className:"flex flex-1 flex-col min-h-0",children:[(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto py-4 custom-scrollbar",children:[0===T.length?(0,d.jsx)("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-center",children:(0,d.jsxs)("div",{className:"max-w-xl space-y-4",children:[(0,d.jsx)("div",{className:"mx-auto flex size-16 items-center justify-center rounded-[20px] border border-white/10 bg-white/5 text-white/80",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[30px]",children:"chat"})}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold text-white",children:"Start a conversation"}),(0,d.jsx)("p",{className:"text-sm leading-6 text-white/60",children:"Simple chat interface to interact with any AI model from connected providers. Select a model and start chatting!"})]})]})}):null,(0,d.jsx)("div",{className:"mx-auto flex w-full max-w-3xl flex-col gap-4 px-4",children:T.map(a=>{let b="user"===a.role,c="assistant"===a.role,e=c&&a.id===B&&"streaming"===a.status,f=h(a.content)||(c?D:"");return(0,d.jsx)("div",{className:`flex w-full ${b?"justify-end":"justify-start"} mb-6`,children:(0,d.jsxs)("div",{className:`max-w-[min(88%,42rem)] ${b?"rounded-3xl bg-[#2f2f2f] px-5 py-3.5 text-white":"text-white/90"}`,children:[(0,d.jsx)("div",{className:"mb-1 flex items-center justify-between gap-3",children:(0,d.jsx)("span",{className:"text-xs font-semibold",children:b?"You":R?.name||"Assistant"})}),a.attachments?.length?(0,d.jsx)("div",{className:"mb-3 grid grid-cols-2 gap-2 sm:grid-cols-3 mt-2",children:a.attachments.map(a=>(0,d.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-[18px] border border-white/10 bg-black/20",children:(0,d.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-28 w-full object-cover",loading:"lazy",decoding:"async"})},a.id))}):null,(0,d.jsxs)("div",{className:"whitespace-pre-wrap break-words text-[15px] leading-7",children:[f,c&&e&&!D?(0,d.jsx)("span",{className:"inline-block animate-pulse",children:"▋"}):null]})]})},a.id)})})]}),(0,d.jsxs)("div",{className:"shrink-0 pt-2",children:[x.length>0?(0,d.jsx)("div",{className:"mx-auto mb-3 flex w-full max-w-3xl flex-wrap gap-2 px-4",children:x.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-2",children:[(0,d.jsx)("span",{className:"text-xs text-white/80 max-w-[12rem] truncate",children:a.name}),(0,d.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void y(a=>a.filter(a=>a.id!==b))},className:"text-white/55 hover:text-white","aria-label":"Remove attachment",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]},a.id))}):null,(0,d.jsx)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-2",children:(0,d.jsxs)("div",{className:"rounded-[26px] bg-[#2f2f2f] px-3 pt-3 pb-2 shadow-[0_0_15px_rgba(0,0,0,0.10)] ring-1 ring-white/5",children:[(0,d.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),V&&Z())},placeholder:"Message AI",rows:1,className:"w-full resize-none bg-transparent px-2 text-[15px] leading-6 text-white outline-none placeholder:text-white/40 custom-scrollbar max-h-[25vh] overflow-y-auto"}),(0,d.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>L.current?.click(),disabled:!R||c,className:"p-2 text-white/50 hover:text-white transition rounded-full hover:bg-white/5",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"attach_file"})}),(0,d.jsx)("input",{ref:L,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:Y}),(0,d.jsx)("span",{className:"text-xs font-medium text-white/30 truncate max-w-[120px]",children:R?R.name:"No model"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[z?(0,d.jsx)("button",{type:"button",onClick:()=>{M.current?.abort()},className:"p-2 text-white bg-white/10 hover:bg-white/20 transition rounded-full h-8 w-8 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop"})}):null,(0,d.jsx)("button",{onClick:Z,disabled:!V,className:`h-8 w-8 rounded-full flex items-center justify-center transition ${V?"bg-white text-black hover:opacity-90":"bg-white/10 text-white/30 cursor-not-allowed"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_upward"})})]})]})]})})]}),(0,d.jsx)("p",{className:"mx-auto mt-2 max-w-3xl px-4 pb-4 text-center text-[11px] text-white/30",children:"Model list is filtered from connected providers."})]})]})})}c(91431),c(92592)},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79286:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/Users/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js\" 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/musichen/_projects/_projects_experiments_incubatephase_or_owntooling_miniprjs/f3tools/f3router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js","default")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},88729:(a,b,c)=>{Promise.resolve().then(c.bind(c,73180))},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1260,2430,3459,2760,9100,9378,6070,869,915,6457,4123,1425,6777,412,7660],()=>b(b.s=69228));module.exports=c})();
1
+ (()=>{var a={};a.id=4465,a.ids=[4465],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},1932:a=>{"use strict";a.exports=require("url")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},9983:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,30508))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["basic-chat",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,40551))),"/home/runner/work/f3router/f3router/src/app/(dashboard)/dashboard/basic-chat/page.js"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/f3router/f3router/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/f3router/f3router/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[async a=>(await (0,d.p)(()=>Promise.resolve().then(c.bind(c,70440)))()).default(a)],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/basic-chat/page",pathname:"/dashboard/basic-chat",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},10402:(a,b,c)=>{Promise.resolve().then(c.bind(c,73180))},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31421:a=>{"use strict";a.exports=require("node:child_process")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40551:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(5735),e=c(79286);function f(){return(0,d.jsx)(e.default,{})}},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},41946:(a,b,c)=>{Promise.resolve().then(c.bind(c,79286))},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},72271:a=>{"use strict";a.exports=require("@aws-sdk/credential-providers")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73180:(a,b,c)=>{"use strict";c.d(b,{default:()=>k});var d=c(48249),e=c(67484),f=c(50412);function g(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function h(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(h).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{return String(a)}}return String(a)}function i(a=""){let b=h(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}async function j(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function k(){let[a,b]=(0,e.useState)([]),[c,k]=(0,e.useState)(!0),[l,m]=(0,e.useState)(""),[n,o]=(0,e.useState)(()=>[]),[p,q]=(0,e.useState)(()=>""),[r,s]=(0,e.useState)(()=>""),[t,u]=(0,e.useState)(""),[v,w]=(0,e.useState)(()=>""),[x,y]=(0,e.useState)([]),[z,A]=(0,e.useState)(!1),[B,C]=(0,e.useState)(""),[D,E]=(0,e.useState)(""),[F,G]=(0,e.useState)(!1),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),L=(0,e.useRef)(null),M=(0,e.useRef)(null);(0,e.useRef)(!1);let N=(0,e.useRef)(null),O=(0,e.useRef)(null),P=(0,e.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),Q=(0,e.useMemo)(()=>a.find(a=>a.providerId===r)||a[0]||null,[a,r]),R=(0,e.useMemo)(()=>{if(t&&P.has(t))return P.get(t);if(p){let a=n.find(a=>a.id===p);if(a?.modelId&&P.has(a.modelId))return P.get(a.modelId)}return Q?.models?.[0]||null},[t,P,Q,n,p]),S=(0,e.useMemo)(()=>n.find(a=>a.id===p)||null,[n,p]),T=S?.messages||[],U=(0,e.useMemo)(()=>[...n].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[n]),V=!z&&!!R&&(v.trim().length>0||x.length>0),W=(a,b)=>{o(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},X=a=>a?{id:g(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,Y=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:g(),name:a.name,type:a.type,size:a.size,dataUrl:await j(a)})));y(a=>[...a,...d]),a.target.value=""},Z=async()=>{let a=R||Q?.models?.[0]||null;if(!a)return;let b=v.trim();if(!b&&0===x.length)return;let c=p,d=n.find(a=>a.id===c);if(!d){if(!(d=X(a)))return;c=d.id,o(a=>[d,...a]),q(c)}let e={id:g(),role:"user",content:b,attachments:x.map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},f=g(),j={id:f,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},k=[...d.messages||[],e,j];o(d=>d.map(d=>d.id===c?{...d,providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,messages:k,updatedAt:new Date().toISOString(),title:"New chat"===d.title?i(b):d.title}:d)),w(""),y([]),A(!0),C(f),E(""),M.current?.abort(),M.current=new AbortController;let l=k.filter(a=>"assistant"!==a.role||a.id!==f).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=h(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content}));try{var r;let d,e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:a.requestModel||a.id,messages:l,stream:!0}),signal:M.current.signal});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(h(a.error||a.message||`Request failed (${e.status})`))}let g=e.body?.getReader();if(!g){let a=await e.json().catch(()=>({})),b=h(a?.choices?.[0]?.message?.content||a?.output_text||a?.error||a?.message||"");W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:b,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let j=new TextDecoder,k="",m="";for(;;){let{value:a,done:b}=await g.read();if(b)break;let d=(k+=j.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(k=d.pop()||"",d)){let b=a.trim();if(!b.startsWith("data:"))continue;let d=b.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),b=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(h).filter(Boolean)[0]||""}(a);if(!b)continue;m+=b,E(m),W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:m||a.content,status:"done"}:a),updatedAt:new Date().toISOString()})),r=c,d=i(b),W(r,a=>({...a,title:"New chat"===a.title?d:a.title,updatedAt:new Date().toISOString()}))}catch(a){if("AbortError"!==a.name){let b=h(a?.message||a);W(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()})),m(b||"Failed to send message.")}}finally{A(!1),C(""),E(""),M.current=null}},$=R?`${R.name}`:"Select model",_=R?R.requestModel:"Choose from connected providers";return(0,d.jsx)("div",{className:"relative flex-1 flex flex-col h-full min-h-0 min-w-0 bg-[#212121] text-white overflow-hidden",children:(0,d.jsxs)("div",{className:"relative mx-auto flex flex-1 h-full min-h-0 w-full max-w-4xl flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 px-4 py-3 lg:px-6",children:[(0,d.jsxs)("div",{ref:N,className:"relative",children:[(0,d.jsx)("button",{type:"button",onClick:()=>I(a=>!a),className:"flex items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-left transition hover:bg-white/8",children:(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-white",children:$}),(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] text-white/70",children:"expand_more"})]}),(0,d.jsx)("p",{className:"truncate text-xs text-white/55",children:_})]})}),H?(0,d.jsxs)("div",{className:"absolute left-0 top-[calc(100%+10px)] z-30 w-[min(520px,calc(100vw-2rem))] overflow-hidden rounded-[20px] border border-white/10 bg-[#262626] shadow-2xl shadow-black/50",children:[(0,d.jsxs)("div",{className:"border-b border-white/10 px-4 py-3",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Models"}),(0,d.jsx)("p",{className:"text-sm text-white/75",children:"Only from connected providers"})]}),(0,d.jsx)("div",{className:"max-h-[60vh] overflow-y-auto p-2 custom-scrollbar",children:a.map(a=>(0,d.jsxs)("div",{className:"mb-2 rounded-[16px] border border-white/10 bg-black/20 p-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-2",children:[(0,d.jsx)("p",{className:"text-sm font-semibold text-white",children:a.providerName}),(0,d.jsx)(f.Ex,{size:"sm",variant:"default",children:a.models.length})]}),(0,d.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.models.map(a=>{let b=a.id===t;return(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=P.get(a);if(!b)return;let c=n.find(a=>a.id===p);if(c&&c.messages.length>0){let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}else if(c)o(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),q(c.id);else{let a=X(b);if(!a)return;o(b=>[a,...b]),q(a.id)}s(b.providerId),u(b.id),I(!1)})(a.id),className:`rounded-[14px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.name}),(0,d.jsx)("p",{className:"truncate text-[11px] text-white/45",children:a.requestModel})]}),b?(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px] text-blue-300",children:"check_circle"}):null]})},a.id)})})]},a.providerId))})]}):null]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>K(a=>!a),className:"rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-sm text-white/80 transition hover:bg-white/8",children:"History"}),(0,d.jsx)(f.$n,{variant:"ghost",size:"sm",icon:"delete",onClick:()=>{if(!p)return;let a=n.filter(a=>a.id!==p),b=a[0]||null;o(a),b?(q(b.id),s(b.providerId),u(b.modelId)):(q(""),s(""),u(""))},disabled:!p||0===n.length,children:"Clear"})]})]}),J?(0,d.jsxs)("div",{ref:O,className:"absolute right-4 top-[72px] z-20 w-[min(360px,calc(100vw-2rem))] rounded-[20px] border border-white/10 bg-[#262626] p-2 shadow-2xl shadow-black/50 lg:right-6",children:[(0,d.jsx)("div",{className:"px-3 py-2",children:(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Recent chats"})}),(0,d.jsx)("div",{className:"max-h-[48vh] space-y-2 overflow-y-auto p-1 custom-scrollbar",children:0===U.length?(0,d.jsx)("div",{className:"rounded-[16px] border border-dashed border-white/10 bg-white/5 p-4 text-sm text-white/55",children:"No conversations yet."}):U.map(a=>{let b=a.id===p,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,d.jsx)("button",{type:"button",onClick:()=>{var b;let c;return b=a.id,void((c=n.find(a=>a.id===b))&&(q(b),s(c.providerId||r),u(c.modelId||t),K(!1)))},className:`w-full rounded-[16px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.title}),(0,d.jsx)("p",{className:"mt-1 truncate text-xs text-white/50",children:h(c?.content)||"Empty chat"})]}),(0,d.jsx)("span",{className:"text-[10px] text-white/40 shrink-0",children:function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)})]})},a.id)})})]}):null,l?(0,d.jsx)("div",{className:"mt-4 rounded-[18px] border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-rose-100",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"error"}),(0,d.jsx)("p",{className:"text-sm leading-6",children:l})]})}):null,(0,d.jsxs)("div",{className:"flex flex-1 flex-col min-h-0",children:[(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto py-4 custom-scrollbar",children:[0===T.length?(0,d.jsx)("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-center",children:(0,d.jsxs)("div",{className:"max-w-xl space-y-4",children:[(0,d.jsx)("div",{className:"mx-auto flex size-16 items-center justify-center rounded-[20px] border border-white/10 bg-white/5 text-white/80",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[30px]",children:"chat"})}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold text-white",children:"Start a conversation"}),(0,d.jsx)("p",{className:"text-sm leading-6 text-white/60",children:"Simple chat interface to interact with any AI model from connected providers. Select a model and start chatting!"})]})]})}):null,(0,d.jsx)("div",{className:"mx-auto flex w-full max-w-3xl flex-col gap-4 px-4",children:T.map(a=>{let b="user"===a.role,c="assistant"===a.role,e=c&&a.id===B&&"streaming"===a.status,f=h(a.content)||(c?D:"");return(0,d.jsx)("div",{className:`flex w-full ${b?"justify-end":"justify-start"} mb-6`,children:(0,d.jsxs)("div",{className:`max-w-[min(88%,42rem)] ${b?"rounded-3xl bg-[#2f2f2f] px-5 py-3.5 text-white":"text-white/90"}`,children:[(0,d.jsx)("div",{className:"mb-1 flex items-center justify-between gap-3",children:(0,d.jsx)("span",{className:"text-xs font-semibold",children:b?"You":R?.name||"Assistant"})}),a.attachments?.length?(0,d.jsx)("div",{className:"mb-3 grid grid-cols-2 gap-2 sm:grid-cols-3 mt-2",children:a.attachments.map(a=>(0,d.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-[18px] border border-white/10 bg-black/20",children:(0,d.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-28 w-full object-cover",loading:"lazy",decoding:"async"})},a.id))}):null,(0,d.jsxs)("div",{className:"whitespace-pre-wrap break-words text-[15px] leading-7",children:[f,c&&e&&!D?(0,d.jsx)("span",{className:"inline-block animate-pulse",children:"▋"}):null]})]})},a.id)})})]}),(0,d.jsxs)("div",{className:"shrink-0 pt-2",children:[x.length>0?(0,d.jsx)("div",{className:"mx-auto mb-3 flex w-full max-w-3xl flex-wrap gap-2 px-4",children:x.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-2",children:[(0,d.jsx)("span",{className:"text-xs text-white/80 max-w-[12rem] truncate",children:a.name}),(0,d.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void y(a=>a.filter(a=>a.id!==b))},className:"text-white/55 hover:text-white","aria-label":"Remove attachment",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]},a.id))}):null,(0,d.jsx)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-2",children:(0,d.jsxs)("div",{className:"rounded-[26px] bg-[#2f2f2f] px-3 pt-3 pb-2 shadow-[0_0_15px_rgba(0,0,0,0.10)] ring-1 ring-white/5",children:[(0,d.jsx)("textarea",{value:v,onChange:a=>w(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),V&&Z())},placeholder:"Message AI",rows:1,className:"w-full resize-none bg-transparent px-2 text-[15px] leading-6 text-white outline-none placeholder:text-white/40 custom-scrollbar max-h-[25vh] overflow-y-auto"}),(0,d.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>L.current?.click(),disabled:!R||c,className:"p-2 text-white/50 hover:text-white transition rounded-full hover:bg-white/5",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"attach_file"})}),(0,d.jsx)("input",{ref:L,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:Y}),(0,d.jsx)("span",{className:"text-xs font-medium text-white/30 truncate max-w-[120px]",children:R?R.name:"No model"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[z?(0,d.jsx)("button",{type:"button",onClick:()=>{M.current?.abort()},className:"p-2 text-white bg-white/10 hover:bg-white/20 transition rounded-full h-8 w-8 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"stop"})}):null,(0,d.jsx)("button",{onClick:Z,disabled:!V,className:`h-8 w-8 rounded-full flex items-center justify-center transition ${V?"bg-white text-black hover:opacity-90":"bg-white/10 text-white/30 cursor-not-allowed"}`,children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"arrow_upward"})})]})]})]})})]}),(0,d.jsx)("p",{className:"mx-auto mt-2 max-w-3xl px-4 pb-4 text-center text-[11px] text-white/30",children:"Model list is filtered from connected providers."})]})]})})}c(91431),c(92592)},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79286:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/f3router/f3router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js\" 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.")},"/home/runner/work/f3router/f3router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.js","default")},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1260,2430,3459,2760,9100,9378,6070,869,915,6457,4123,3571,6777,412,6650],()=>b(b.s=9983));module.exports=c})();