@hilbras/omnihilbras 2.9.5 → 2.9.7

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 (1076) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +16 -15
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +23 -23
  5. package/app/.next-cli-build/react-loadable-manifest.json +1 -1
  6. package/app/.next-cli-build/routes-manifest.json +8 -0
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +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 +1 -1
  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 +7 -7
  89. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +7 -7
  90. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +7 -7
  91. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  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/logout/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
  109. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
  115. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  116. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  117. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  121. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codewhale-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/codex-profiles/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/crush-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  139. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/forge-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/hermes-profiles/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  153. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
  157. package/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  159. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  163. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js +2 -2
  165. package/app/.next-cli-build/server/app/api/cli-tools/smelt-settings/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/combos/presets/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/presets/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  195. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/models/chat/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/models/chat/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/models/test-batch/route.js +2 -2
  221. package/app/.next-cli-build/server/app/api/models/test-batch/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  235. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  236. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  237. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  238. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
  251. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/start/route.js.nft.json +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/login/status/route.js.nft.json +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js +2 -2
  257. package/app/.next-cli-build/server/app/api/oauth/zed/auto-import/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/zed/import/route.js.nft.json +1 -1
  260. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  261. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  262. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  265. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  266. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  267. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  268. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js +1 -1
  271. package/app/.next-cli-build/server/app/api/providers/[id]/overrides/route.js.nft.json +1 -1
  272. package/app/.next-cli-build/server/app/api/providers/[id]/refresh/route.js +1 -0
  273. package/app/.next-cli-build/server/app/api/providers/[id]/refresh/route.js.nft.json +1 -0
  274. package/app/.next-cli-build/server/app/api/providers/[id]/refresh/route_client-reference-manifest.js +1 -0
  275. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  276. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  280. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  282. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  286. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  288. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/web-session/[id]/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/web-session/[id]/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  300. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  302. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js +2 -2
  304. package/app/.next-cli-build/server/app/api/proxy-pools/netlify-deploy/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  310. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  312. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  314. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  316. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  318. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  320. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  322. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  324. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
  332. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  338. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  348. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  360. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/usage/[connectionId]/claude-reset/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/usage/rate-limit/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/usage/rate-limit/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/usage/stream/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  394. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +3 -3
  396. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  397. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  400. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  401. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
  402. package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
  403. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  406. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  407. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  408. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  409. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  412. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  413. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  414. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  415. package/app/.next-cli-build/server/app/api/v1/systemone/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/v1/systemone/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
  418. package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  419. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
  420. package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
  421. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
  424. package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
  425. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  426. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  427. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  430. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  431. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  432. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  433. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  436. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  437. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  438. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  439. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  440. package/app/.next-cli-build/server/app/callback.html +1 -1
  441. package/app/.next-cli-build/server/app/callback.rsc +7 -7
  442. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
  443. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
  445. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  446. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +12 -12
  447. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +12 -12
  448. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +12 -12
  449. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  450. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  451. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +12 -12
  452. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +12 -12
  453. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +12 -12
  454. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/combos.rsc +12 -12
  457. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +12 -12
  458. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +12 -12
  459. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  460. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  461. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +12 -12
  462. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +12 -12
  463. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +12 -12
  464. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  465. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  466. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +12 -12
  467. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +12 -12
  468. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +12 -12
  469. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  470. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  471. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +12 -12
  472. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +12 -12
  473. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +12 -12
  474. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  475. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/profile.rsc +12 -12
  477. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +12 -12
  478. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +12 -12
  479. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  480. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +12 -12
  482. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +12 -12
  483. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +12 -12
  484. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  485. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  486. package/app/.next-cli-build/server/app/dashboard/providers.rsc +12 -12
  487. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +12 -12
  488. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +12 -12
  489. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  490. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +12 -12
  492. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +12 -12
  493. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +12 -12
  494. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  495. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  496. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +12 -12
  497. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +12 -12
  498. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +12 -12
  499. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  500. package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/quota.rsc +13 -13
  502. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +13 -13
  503. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +13 -13
  504. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  505. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  506. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  508. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  509. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  510. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  511. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +7 -7
  513. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/skills.rsc +12 -12
  515. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +12 -12
  516. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +12 -12
  517. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  518. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  519. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +12 -12
  520. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +12 -12
  521. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +12 -12
  522. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  523. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/translator.rsc +12 -12
  525. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +12 -12
  526. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +12 -12
  527. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  528. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/usage.rsc +12 -12
  530. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +12 -12
  531. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +12 -12
  532. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  533. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  534. package/app/.next-cli-build/server/app/dashboard.rsc +12 -12
  535. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +12 -12
  536. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +12 -12
  537. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  538. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  539. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  540. package/app/.next-cli-build/server/app/index.html +1 -1
  541. package/app/.next-cli-build/server/app/index.rsc +7 -7
  542. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +7 -7
  543. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +7 -7
  544. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  545. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  546. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  547. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  548. package/app/.next-cli-build/server/app/landing.html +1 -1
  549. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  550. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  551. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  552. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
  553. package/app/.next-cli-build/server/app/login/page.js +1 -1
  554. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  555. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  556. package/app/.next-cli-build/server/app/login.html +1 -1
  557. package/app/.next-cli-build/server/app/login.rsc +9 -9
  558. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +9 -9
  559. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  560. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +9 -9
  561. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  562. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  563. package/app/.next-cli-build/server/app/page.js +1 -1
  564. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  565. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  566. package/app/.next-cli-build/server/app-paths-manifest.json +16 -15
  567. package/app/.next-cli-build/server/chunks/1133.js +1 -1
  568. package/app/.next-cli-build/server/chunks/1220.js +3 -0
  569. package/app/.next-cli-build/server/chunks/1329.js +1 -1
  570. package/app/.next-cli-build/server/chunks/1772.js +1 -0
  571. package/app/.next-cli-build/server/chunks/24.js +1 -1
  572. package/app/.next-cli-build/server/chunks/2617.js +1 -1
  573. package/app/.next-cli-build/server/chunks/3943.js +1 -1
  574. package/app/.next-cli-build/server/chunks/412.js +1 -1
  575. package/app/.next-cli-build/server/chunks/4123.js +1 -1
  576. package/app/.next-cli-build/server/chunks/4125.js +1 -1
  577. package/app/.next-cli-build/server/chunks/4199.js +1 -1
  578. package/app/.next-cli-build/server/chunks/436.js +1 -1
  579. package/app/.next-cli-build/server/chunks/5615.js +1 -1
  580. package/app/.next-cli-build/server/chunks/5942.js +1 -0
  581. package/app/.next-cli-build/server/chunks/5961.js +2 -2
  582. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  583. package/app/.next-cli-build/server/chunks/615.js +1 -1
  584. package/app/.next-cli-build/server/chunks/6500.js +1 -0
  585. package/app/.next-cli-build/server/chunks/6503.js +1 -1
  586. package/app/.next-cli-build/server/chunks/6723.js +1 -1
  587. package/app/.next-cli-build/server/chunks/7066.js +1 -1
  588. package/app/.next-cli-build/server/chunks/7073.js +1 -1
  589. package/app/.next-cli-build/server/chunks/7121.js +1 -1
  590. package/app/.next-cli-build/server/chunks/7211.js +1 -1
  591. package/app/.next-cli-build/server/chunks/7247.js +1 -1
  592. package/app/.next-cli-build/server/chunks/7431.js +2 -2
  593. package/app/.next-cli-build/server/chunks/7716.js +1 -1
  594. package/app/.next-cli-build/server/chunks/{5330.js → 7803.js} +5 -3
  595. package/app/.next-cli-build/server/chunks/7911.js +1 -1
  596. package/app/.next-cli-build/server/chunks/8064.js +14 -0
  597. package/app/.next-cli-build/server/chunks/820.js +1 -1
  598. package/app/.next-cli-build/server/chunks/8251.js +1 -1
  599. package/app/.next-cli-build/server/chunks/8287.js +1 -1
  600. package/app/.next-cli-build/server/chunks/8326.js +1 -0
  601. package/app/.next-cli-build/server/chunks/8401.js +1 -1
  602. package/app/.next-cli-build/server/chunks/8402.js +1 -1
  603. package/app/.next-cli-build/server/chunks/8525.js +1 -1
  604. package/app/.next-cli-build/server/chunks/8895.js +4 -4
  605. package/app/.next-cli-build/server/chunks/8910.js +1 -1
  606. package/app/.next-cli-build/server/chunks/{8499.js → 8932.js} +3 -3
  607. package/app/.next-cli-build/server/chunks/9300.js +1 -0
  608. package/app/.next-cli-build/server/chunks/9696.js +7 -0
  609. package/app/.next-cli-build/server/chunks/9771.js +1 -0
  610. package/app/.next-cli-build/server/instrumentation.js +1 -1
  611. package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
  612. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  613. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  614. package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
  615. package/app/.next-cli-build/server/pages/404.html +1 -1
  616. package/app/.next-cli-build/server/pages/500.html +1 -1
  617. package/app/.next-cli-build/static/chunks/2723-8f1ccbe51396e593.js +1 -0
  618. package/app/.next-cli-build/static/chunks/{5497-ff9981be1db3d2b6.js → 5497-df32bda6e3c66c2a.js} +2 -2
  619. package/app/.next-cli-build/static/chunks/6535-297e67715d4abb85.js +1 -0
  620. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/{page-be58ffbf710a5dec.js → page-87b0b2766b21ede6.js} +1 -1
  621. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-2ee3f149ace63801.js → page-a0ef255d83660350.js} +1 -1
  622. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-033b10da013937e4.js → page-d5de86da01fac9bd.js} +1 -1
  623. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-90317ba3e66b73c8.js → page-14edc70fcece9047.js} +1 -1
  624. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-4773b0af283b77f7.js → page-70c28fbe58e17b0d.js} +1 -1
  625. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-c229336f166fc37b.js +1 -0
  626. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/{error-abf20f892d461b85.js → error-94a0159f99210870.js} +1 -1
  627. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-4431f9b1cc053b18.js → page-5fdea9fd546e0063.js} +1 -1
  628. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-509dda0d0869b182.js → page-d7c1a50fa922ca83.js} +1 -1
  629. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-40f87ec4dfb87552.js → page-046a406b20197530.js} +1 -1
  630. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-a4ab01f328185628.js → page-b50499e48b6a099c.js} +1 -1
  631. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-268b6a5d47d71042.js → page-3bba8935dd92bee4.js} +1 -1
  632. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-ca2960067152743b.js +1 -0
  633. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-7b0e605f98432f1c.js → page-e6c7197f9c81efc3.js} +1 -1
  634. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-9504fe975ef84185.js → page-a1bacf350c4ae077.js} +5 -5
  635. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-4284719a1858706e.js → page-304a66b044fd4ff5.js} +1 -1
  636. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-9c31829dd643cc3e.js → page-e69cdb11bcd71898.js} +1 -1
  637. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-f4cd8f5657152167.js → page-9f64fe08cd8dac8b.js} +1 -1
  638. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-fbd06481ffdbb573.js → page-62e09cbc67d2d4f5.js} +1 -1
  639. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-76c864ae857eec68.js → page-1cc460b62cf32862.js} +1 -1
  640. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/{page-6d6e4ef9ef854866.js → page-c53f4e20cf7b3120.js} +1 -1
  641. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/{page-277d1751a4a9a74b.js → page-541bcf5af0d03fb1.js} +1 -1
  642. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-7f602deed988a26d.js → page-5fab622f98217611.js} +1 -1
  643. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-219ebab18ab5b82b.js → page-ae08604ee21ac8cf.js} +1 -1
  644. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-c10319f075f1df9e.js → layout-af385a4b868c2a9d.js} +1 -1
  645. package/app/.next-cli-build/static/chunks/app/_global-error/{page-706c2ea1969b3c65.js → page-d2a5c6f6bbaeade2.js} +1 -1
  646. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-706c2ea1969b3c65.js → route-d2a5c6f6bbaeade2.js} +1 -1
  647. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-706c2ea1969b3c65.js → route-d2a5c6f6bbaeade2.js} +1 -1
  648. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-706c2ea1969b3c65.js → route-d2a5c6f6bbaeade2.js} +1 -1
  649. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-d2a5c6f6bbaeade2.js +1 -0
  650. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-d2a5c6f6bbaeade2.js +1 -0
  651. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-d2a5c6f6bbaeade2.js +1 -0
  652. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-d2a5c6f6bbaeade2.js +1 -0
  653. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-d2a5c6f6bbaeade2.js +1 -0
  654. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-d2a5c6f6bbaeade2.js +1 -0
  655. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-d2a5c6f6bbaeade2.js +1 -0
  656. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-d2a5c6f6bbaeade2.js +1 -0
  657. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-d2a5c6f6bbaeade2.js +1 -0
  658. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-d2a5c6f6bbaeade2.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-d2a5c6f6bbaeade2.js +1 -0
  660. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-d2a5c6f6bbaeade2.js +1 -0
  661. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-d2a5c6f6bbaeade2.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-d2a5c6f6bbaeade2.js +1 -0
  663. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-d2a5c6f6bbaeade2.js +1 -0
  664. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-d2a5c6f6bbaeade2.js +1 -0
  665. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-d2a5c6f6bbaeade2.js +1 -0
  666. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-d2a5c6f6bbaeade2.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-d2a5c6f6bbaeade2.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-d2a5c6f6bbaeade2.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-d2a5c6f6bbaeade2.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-d2a5c6f6bbaeade2.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-d2a5c6f6bbaeade2.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-d2a5c6f6bbaeade2.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-d2a5c6f6bbaeade2.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-d2a5c6f6bbaeade2.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-d2a5c6f6bbaeade2.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-d2a5c6f6bbaeade2.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-d2a5c6f6bbaeade2.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-d2a5c6f6bbaeade2.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-d2a5c6f6bbaeade2.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-d2a5c6f6bbaeade2.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-d2a5c6f6bbaeade2.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-d2a5c6f6bbaeade2.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-d2a5c6f6bbaeade2.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/combos/route-d2a5c6f6bbaeade2.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-d2a5c6f6bbaeade2.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-d2a5c6f6bbaeade2.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-d2a5c6f6bbaeade2.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-d2a5c6f6bbaeade2.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-d2a5c6f6bbaeade2.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-d2a5c6f6bbaeade2.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/health/route-d2a5c6f6bbaeade2.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/init/route-d2a5c6f6bbaeade2.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/keys/route-d2a5c6f6bbaeade2.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/locale/route-d2a5c6f6bbaeade2.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-d2a5c6f6bbaeade2.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-d2a5c6f6bbaeade2.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-d2a5c6f6bbaeade2.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-d2a5c6f6bbaeade2.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-d2a5c6f6bbaeade2.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-d2a5c6f6bbaeade2.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-d2a5c6f6bbaeade2.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-d2a5c6f6bbaeade2.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/models/chat/route-d2a5c6f6bbaeade2.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-d2a5c6f6bbaeade2.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-d2a5c6f6bbaeade2.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/route-d2a5c6f6bbaeade2.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/models/test/route-d2a5c6f6bbaeade2.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/models/test-batch/route-d2a5c6f6bbaeade2.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-d2a5c6f6bbaeade2.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-d2a5c6f6bbaeade2.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-d2a5c6f6bbaeade2.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-d2a5c6f6bbaeade2.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-d2a5c6f6bbaeade2.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-d2a5c6f6bbaeade2.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-d2a5c6f6bbaeade2.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-d2a5c6f6bbaeade2.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-d2a5c6f6bbaeade2.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-d2a5c6f6bbaeade2.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-d2a5c6f6bbaeade2.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-d2a5c6f6bbaeade2.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-d2a5c6f6bbaeade2.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-d2a5c6f6bbaeade2.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-d2a5c6f6bbaeade2.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-d2a5c6f6bbaeade2.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-d2a5c6f6bbaeade2.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-d2a5c6f6bbaeade2.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-d2a5c6f6bbaeade2.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/pricing/route-d2a5c6f6bbaeade2.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-d2a5c6f6bbaeade2.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-d2a5c6f6bbaeade2.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-d2a5c6f6bbaeade2.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-d2a5c6f6bbaeade2.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/refresh/route-d2a5c6f6bbaeade2.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-d2a5c6f6bbaeade2.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-d2a5c6f6bbaeade2.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-d2a5c6f6bbaeade2.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-d2a5c6f6bbaeade2.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/providers/route-d2a5c6f6bbaeade2.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-d2a5c6f6bbaeade2.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-d2a5c6f6bbaeade2.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-d2a5c6f6bbaeade2.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/providers/web-session/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-d2a5c6f6bbaeade2.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-d2a5c6f6bbaeade2.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-d2a5c6f6bbaeade2.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-d2a5c6f6bbaeade2.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-d2a5c6f6bbaeade2.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-d2a5c6f6bbaeade2.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-d2a5c6f6bbaeade2.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-d2a5c6f6bbaeade2.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-d2a5c6f6bbaeade2.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-d2a5c6f6bbaeade2.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-d2a5c6f6bbaeade2.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-d2a5c6f6bbaeade2.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-d2a5c6f6bbaeade2.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-d2a5c6f6bbaeade2.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-d2a5c6f6bbaeade2.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-d2a5c6f6bbaeade2.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-d2a5c6f6bbaeade2.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/settings/route-d2a5c6f6bbaeade2.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-d2a5c6f6bbaeade2.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-d2a5c6f6bbaeade2.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-d2a5c6f6bbaeade2.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-d2a5c6f6bbaeade2.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-d2a5c6f6bbaeade2.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-d2a5c6f6bbaeade2.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-d2a5c6f6bbaeade2.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-d2a5c6f6bbaeade2.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-d2a5c6f6bbaeade2.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-d2a5c6f6bbaeade2.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-d2a5c6f6bbaeade2.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-d2a5c6f6bbaeade2.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-d2a5c6f6bbaeade2.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-d2a5c6f6bbaeade2.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-d2a5c6f6bbaeade2.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-d2a5c6f6bbaeade2.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-d2a5c6f6bbaeade2.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-d2a5c6f6bbaeade2.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-d2a5c6f6bbaeade2.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-d2a5c6f6bbaeade2.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/usage/rate-limit/route-d2a5c6f6bbaeade2.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-d2a5c6f6bbaeade2.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-d2a5c6f6bbaeade2.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-d2a5c6f6bbaeade2.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-d2a5c6f6bbaeade2.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-d2a5c6f6bbaeade2.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-d2a5c6f6bbaeade2.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-d2a5c6f6bbaeade2.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-d2a5c6f6bbaeade2.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-d2a5c6f6bbaeade2.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-d2a5c6f6bbaeade2.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-d2a5c6f6bbaeade2.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-d2a5c6f6bbaeade2.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-d2a5c6f6bbaeade2.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-d2a5c6f6bbaeade2.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-d2a5c6f6bbaeade2.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-d2a5c6f6bbaeade2.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-d2a5c6f6bbaeade2.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-d2a5c6f6bbaeade2.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/v1/route-d2a5c6f6bbaeade2.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-d2a5c6f6bbaeade2.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-d2a5c6f6bbaeade2.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-d2a5c6f6bbaeade2.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-d2a5c6f6bbaeade2.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-d2a5c6f6bbaeade2.js +1 -0
  811. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-d2a5c6f6bbaeade2.js +1 -0
  812. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-d2a5c6f6bbaeade2.js +1 -0
  813. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-d2a5c6f6bbaeade2.js +1 -0
  814. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-d2a5c6f6bbaeade2.js +1 -0
  815. package/app/.next-cli-build/static/chunks/app/api/version/route-d2a5c6f6bbaeade2.js +1 -0
  816. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-d2a5c6f6bbaeade2.js +1 -0
  817. package/app/.next-cli-build/static/chunks/app/api/version/update/route-d2a5c6f6bbaeade2.js +1 -0
  818. package/app/.next-cli-build/static/chunks/app/login/{page-5b2e90e19afaec82.js → page-1e43af53f6214671.js} +1 -1
  819. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-d2a5c6f6bbaeade2.js +1 -0
  820. package/app/.next-cli-build/static/chunks/app/page-d2a5c6f6bbaeade2.js +1 -0
  821. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-d2a5c6f6bbaeade2.js +1 -0
  822. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-d2a5c6f6bbaeade2.js +1 -0
  823. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-d2a5c6f6bbaeade2.js +1 -0
  824. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-d2a5c6f6bbaeade2.js +1 -0
  825. package/app/.next-cli-build/static/chunks/{webpack-075fa8a8c2879e61.js → webpack-cec594678b7a1aaa.js} +1 -1
  826. package/app/.next-cli-build/static/css/73729572c2967c28.css +1 -0
  827. package/app/node_modules/node-forge/LICENSE +331 -0
  828. package/app/node_modules/node-forge/README.md +2071 -0
  829. package/app/node_modules/node-forge/dist/forge.all.min.js +2 -0
  830. package/app/node_modules/node-forge/dist/forge.all.min.js.map +1 -0
  831. package/app/node_modules/node-forge/dist/forge.min.js +2 -0
  832. package/app/node_modules/node-forge/dist/forge.min.js.map +1 -0
  833. package/app/node_modules/node-forge/dist/prime.worker.min.js +2 -0
  834. package/app/node_modules/node-forge/dist/prime.worker.min.js.map +1 -0
  835. package/app/node_modules/node-forge/flash/swf/SocketPool.swf +0 -0
  836. package/app/node_modules/node-forge/lib/aes.js +1091 -0
  837. package/app/node_modules/node-forge/lib/aesCipherSuites.js +282 -0
  838. package/app/node_modules/node-forge/lib/asn1-validator.js +91 -0
  839. package/app/node_modules/node-forge/lib/asn1.js +1520 -0
  840. package/app/node_modules/node-forge/lib/baseN.js +186 -0
  841. package/app/node_modules/node-forge/lib/cipher.js +230 -0
  842. package/app/node_modules/node-forge/lib/cipherModes.js +999 -0
  843. package/app/node_modules/node-forge/lib/des.js +496 -0
  844. package/app/node_modules/node-forge/lib/ed25519.js +1091 -0
  845. package/app/node_modules/node-forge/lib/forge.js +13 -0
  846. package/app/node_modules/node-forge/lib/form.js +149 -0
  847. package/app/node_modules/node-forge/lib/hmac.js +146 -0
  848. package/app/node_modules/node-forge/lib/http.js +1346 -0
  849. package/app/node_modules/node-forge/lib/index.all.js +16 -0
  850. package/app/node_modules/node-forge/lib/index.js +33 -0
  851. package/app/node_modules/node-forge/lib/jsbn.js +1294 -0
  852. package/app/node_modules/node-forge/lib/kem.js +168 -0
  853. package/app/node_modules/node-forge/lib/log.js +319 -0
  854. package/app/node_modules/node-forge/lib/md.all.js +13 -0
  855. package/app/node_modules/node-forge/lib/md.js +11 -0
  856. package/app/node_modules/node-forge/lib/md5.js +289 -0
  857. package/app/node_modules/node-forge/lib/mgf.js +12 -0
  858. package/app/node_modules/node-forge/lib/mgf1.js +57 -0
  859. package/app/node_modules/node-forge/lib/oids.js +180 -0
  860. package/app/node_modules/node-forge/lib/pbe.js +1023 -0
  861. package/app/node_modules/node-forge/lib/pbkdf2.js +211 -0
  862. package/app/node_modules/node-forge/lib/pem.js +237 -0
  863. package/app/node_modules/node-forge/lib/pkcs1.js +276 -0
  864. package/app/node_modules/node-forge/lib/pkcs12.js +1078 -0
  865. package/app/node_modules/node-forge/lib/pkcs7.js +1260 -0
  866. package/app/node_modules/node-forge/lib/pkcs7asn1.js +410 -0
  867. package/app/node_modules/node-forge/lib/pki.js +102 -0
  868. package/app/node_modules/node-forge/lib/prime.js +297 -0
  869. package/app/node_modules/node-forge/lib/prime.worker.js +168 -0
  870. package/app/node_modules/node-forge/lib/prng.js +419 -0
  871. package/app/node_modules/node-forge/lib/pss.js +241 -0
  872. package/app/node_modules/node-forge/lib/random.js +191 -0
  873. package/app/node_modules/node-forge/lib/rc2.js +410 -0
  874. package/app/node_modules/node-forge/lib/rsa.js +1968 -0
  875. package/app/node_modules/node-forge/lib/sha1.js +319 -0
  876. package/app/node_modules/node-forge/lib/sha256.js +327 -0
  877. package/app/node_modules/node-forge/lib/sha512.js +561 -0
  878. package/app/node_modules/node-forge/lib/socket.js +287 -0
  879. package/app/node_modules/node-forge/lib/ssh.js +236 -0
  880. package/app/node_modules/node-forge/lib/tls.js +4282 -0
  881. package/app/node_modules/node-forge/lib/tlssocket.js +249 -0
  882. package/app/node_modules/node-forge/lib/util.js +2652 -0
  883. package/app/node_modules/node-forge/lib/x509.js +3251 -0
  884. package/app/node_modules/node-forge/lib/xhr.js +738 -0
  885. package/app/node_modules/node-forge/package.json +123 -0
  886. package/app/package.json +6 -3
  887. package/app/src/mitm/server.js +27 -27
  888. package/hooks/postinstall.js +22 -0
  889. package/package.json +3 -2
  890. package/app/.next-cli-build/server/chunks/1375.js +0 -1
  891. package/app/.next-cli-build/server/chunks/2066.js +0 -1
  892. package/app/.next-cli-build/server/chunks/2712.js +0 -3
  893. package/app/.next-cli-build/server/chunks/2881.js +0 -1
  894. package/app/.next-cli-build/server/chunks/6908.js +0 -10
  895. package/app/.next-cli-build/server/chunks/7914.js +0 -1
  896. package/app/.next-cli-build/static/chunks/246-0bbd2c1424911b5c.js +0 -1
  897. package/app/.next-cli-build/static/chunks/2723-d221ebfdd8e24af9.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-22bd9a3196952cf5.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-631c216c13c7bd3d.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-706c2ea1969b3c65.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-706c2ea1969b3c65.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-706c2ea1969b3c65.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-706c2ea1969b3c65.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-706c2ea1969b3c65.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-706c2ea1969b3c65.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-706c2ea1969b3c65.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-706c2ea1969b3c65.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-706c2ea1969b3c65.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-706c2ea1969b3c65.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-706c2ea1969b3c65.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-706c2ea1969b3c65.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-706c2ea1969b3c65.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codewhale-settings/route-706c2ea1969b3c65.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-profiles/route-706c2ea1969b3c65.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-706c2ea1969b3c65.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-706c2ea1969b3c65.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-706c2ea1969b3c65.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-706c2ea1969b3c65.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/cli-tools/crush-settings/route-706c2ea1969b3c65.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-706c2ea1969b3c65.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/cli-tools/devin-settings/route-706c2ea1969b3c65.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-706c2ea1969b3c65.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/cli-tools/forge-settings/route-706c2ea1969b3c65.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-706c2ea1969b3c65.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-profiles/route-706c2ea1969b3c65.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-706c2ea1969b3c65.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-706c2ea1969b3c65.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-706c2ea1969b3c65.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-706c2ea1969b3c65.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-706c2ea1969b3c65.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-706c2ea1969b3c65.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/cli-tools/pi-settings/route-706c2ea1969b3c65.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/cli-tools/smelt-settings/route-706c2ea1969b3c65.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-706c2ea1969b3c65.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/combos/presets/route-706c2ea1969b3c65.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/combos/route-706c2ea1969b3c65.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-706c2ea1969b3c65.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-706c2ea1969b3c65.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-706c2ea1969b3c65.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-706c2ea1969b3c65.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-706c2ea1969b3c65.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-706c2ea1969b3c65.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/health/route-706c2ea1969b3c65.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/init/route-706c2ea1969b3c65.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-706c2ea1969b3c65.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/keys/route-706c2ea1969b3c65.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/locale/route-706c2ea1969b3c65.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-706c2ea1969b3c65.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-706c2ea1969b3c65.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-706c2ea1969b3c65.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-706c2ea1969b3c65.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-706c2ea1969b3c65.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-706c2ea1969b3c65.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-706c2ea1969b3c65.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-706c2ea1969b3c65.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/models/chat/route-706c2ea1969b3c65.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-706c2ea1969b3c65.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-706c2ea1969b3c65.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/models/route-706c2ea1969b3c65.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/models/test/route-706c2ea1969b3c65.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/models/test-batch/route-706c2ea1969b3c65.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-706c2ea1969b3c65.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-706c2ea1969b3c65.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-706c2ea1969b3c65.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-706c2ea1969b3c65.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-706c2ea1969b3c65.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-706c2ea1969b3c65.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-706c2ea1969b3c65.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-706c2ea1969b3c65.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-706c2ea1969b3c65.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-706c2ea1969b3c65.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-706c2ea1969b3c65.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-706c2ea1969b3c65.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-706c2ea1969b3c65.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-706c2ea1969b3c65.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-706c2ea1969b3c65.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/start/route-706c2ea1969b3c65.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/login/status/route-706c2ea1969b3c65.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/auto-import/route-706c2ea1969b3c65.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/oauth/zed/import/route-706c2ea1969b3c65.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/pricing/route-706c2ea1969b3c65.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-706c2ea1969b3c65.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-706c2ea1969b3c65.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-706c2ea1969b3c65.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-706c2ea1969b3c65.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/overrides/route-706c2ea1969b3c65.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-706c2ea1969b3c65.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-706c2ea1969b3c65.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-706c2ea1969b3c65.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-706c2ea1969b3c65.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-706c2ea1969b3c65.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/providers/route-706c2ea1969b3c65.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-706c2ea1969b3c65.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-706c2ea1969b3c65.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-706c2ea1969b3c65.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/providers/web-session/[id]/route-706c2ea1969b3c65.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-706c2ea1969b3c65.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-706c2ea1969b3c65.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-706c2ea1969b3c65.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-706c2ea1969b3c65.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/netlify-deploy/route-706c2ea1969b3c65.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-706c2ea1969b3c65.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-706c2ea1969b3c65.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-706c2ea1969b3c65.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-706c2ea1969b3c65.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-706c2ea1969b3c65.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-706c2ea1969b3c65.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-706c2ea1969b3c65.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-706c2ea1969b3c65.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-706c2ea1969b3c65.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-706c2ea1969b3c65.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-706c2ea1969b3c65.js +0 -1
  1013. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-706c2ea1969b3c65.js +0 -1
  1014. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-706c2ea1969b3c65.js +0 -1
  1015. package/app/.next-cli-build/static/chunks/app/api/settings/route-706c2ea1969b3c65.js +0 -1
  1016. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-706c2ea1969b3c65.js +0 -1
  1017. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-706c2ea1969b3c65.js +0 -1
  1018. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-706c2ea1969b3c65.js +0 -1
  1019. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-706c2ea1969b3c65.js +0 -1
  1020. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-706c2ea1969b3c65.js +0 -1
  1021. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-706c2ea1969b3c65.js +0 -1
  1022. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-706c2ea1969b3c65.js +0 -1
  1023. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-706c2ea1969b3c65.js +0 -1
  1024. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-706c2ea1969b3c65.js +0 -1
  1025. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-706c2ea1969b3c65.js +0 -1
  1026. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-706c2ea1969b3c65.js +0 -1
  1027. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-706c2ea1969b3c65.js +0 -1
  1028. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-706c2ea1969b3c65.js +0 -1
  1029. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-706c2ea1969b3c65.js +0 -1
  1030. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/claude-reset/route-706c2ea1969b3c65.js +0 -1
  1031. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-706c2ea1969b3c65.js +0 -1
  1032. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-706c2ea1969b3c65.js +0 -1
  1033. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-706c2ea1969b3c65.js +0 -1
  1034. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-706c2ea1969b3c65.js +0 -1
  1035. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-706c2ea1969b3c65.js +0 -1
  1036. package/app/.next-cli-build/static/chunks/app/api/usage/rate-limit/route-706c2ea1969b3c65.js +0 -1
  1037. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-706c2ea1969b3c65.js +0 -1
  1038. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-706c2ea1969b3c65.js +0 -1
  1039. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-706c2ea1969b3c65.js +0 -1
  1040. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-706c2ea1969b3c65.js +0 -1
  1041. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-706c2ea1969b3c65.js +0 -1
  1042. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-706c2ea1969b3c65.js +0 -1
  1043. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-706c2ea1969b3c65.js +0 -1
  1044. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-706c2ea1969b3c65.js +0 -1
  1045. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-706c2ea1969b3c65.js +0 -1
  1046. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-706c2ea1969b3c65.js +0 -1
  1047. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-706c2ea1969b3c65.js +0 -1
  1048. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-706c2ea1969b3c65.js +0 -1
  1049. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-706c2ea1969b3c65.js +0 -1
  1050. package/app/.next-cli-build/static/chunks/app/api/v1/models/[...model]/route-706c2ea1969b3c65.js +0 -1
  1051. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-706c2ea1969b3c65.js +0 -1
  1052. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-706c2ea1969b3c65.js +0 -1
  1053. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-706c2ea1969b3c65.js +0 -1
  1054. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-706c2ea1969b3c65.js +0 -1
  1055. package/app/.next-cli-build/static/chunks/app/api/v1/route-706c2ea1969b3c65.js +0 -1
  1056. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-706c2ea1969b3c65.js +0 -1
  1057. package/app/.next-cli-build/static/chunks/app/api/v1/systemone/route-706c2ea1969b3c65.js +0 -1
  1058. package/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-706c2ea1969b3c65.js +0 -1
  1059. package/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-706c2ea1969b3c65.js +0 -1
  1060. package/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-706c2ea1969b3c65.js +0 -1
  1061. package/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-706c2ea1969b3c65.js +0 -1
  1062. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-706c2ea1969b3c65.js +0 -1
  1063. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-706c2ea1969b3c65.js +0 -1
  1064. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-706c2ea1969b3c65.js +0 -1
  1065. package/app/.next-cli-build/static/chunks/app/api/version/route-706c2ea1969b3c65.js +0 -1
  1066. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-706c2ea1969b3c65.js +0 -1
  1067. package/app/.next-cli-build/static/chunks/app/api/version/update/route-706c2ea1969b3c65.js +0 -1
  1068. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-706c2ea1969b3c65.js +0 -1
  1069. package/app/.next-cli-build/static/chunks/app/page-706c2ea1969b3c65.js +0 -1
  1070. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-706c2ea1969b3c65.js +0 -1
  1071. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-706c2ea1969b3c65.js +0 -1
  1072. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-706c2ea1969b3c65.js +0 -1
  1073. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-706c2ea1969b3c65.js +0 -1
  1074. package/app/.next-cli-build/static/css/e8a9dbb2db708090.css +0 -1
  1075. /package/app/.next-cli-build/static/{6r83antfTY0m1gUj5v4UM → 0D7NGZMreo6dajRbh_Yfz}/_buildManifest.js +0 -0
  1076. /package/app/.next-cli-build/static/{6r83antfTY0m1gUj5v4UM → 0D7NGZMreo6dajRbh_Yfz}/_ssgManifest.js +0 -0
@@ -0,0 +1,1346 @@
1
+ /**
2
+ * HTTP client-side implementation that uses forge.net sockets.
3
+ *
4
+ * @author Dave Longley
5
+ *
6
+ * Copyright (c) 2010-2014 Digital Bazaar, Inc. All rights reserved.
7
+ */
8
+ var forge = require('./forge');
9
+ require('./tls');
10
+ require('./util');
11
+
12
+ // define http namespace
13
+ var http = module.exports = forge.http = forge.http || {};
14
+
15
+ // logging category
16
+ var cat = 'forge.http';
17
+
18
+ // normalizes an http header field name
19
+ var _normalize = function(name) {
20
+ return name.toLowerCase().replace(/(^.)|(-.)/g,
21
+ function(a) {return a.toUpperCase();});
22
+ };
23
+
24
+ /**
25
+ * Gets the local storage ID for the given client.
26
+ *
27
+ * @param client the client to get the local storage ID for.
28
+ *
29
+ * @return the local storage ID to use.
30
+ */
31
+ var _getStorageId = function(client) {
32
+ // TODO: include browser in ID to avoid sharing cookies between
33
+ // browsers (if this is undesirable)
34
+ // navigator.userAgent
35
+ return 'forge.http.' +
36
+ client.url.protocol.slice(0, -1) + '.' +
37
+ client.url.hostname + '.' +
38
+ client.url.port;
39
+ };
40
+
41
+ /**
42
+ * Loads persistent cookies from disk for the given client.
43
+ *
44
+ * @param client the client.
45
+ */
46
+ var _loadCookies = function(client) {
47
+ if(client.persistCookies) {
48
+ try {
49
+ var cookies = forge.util.getItem(
50
+ client.socketPool.flashApi,
51
+ _getStorageId(client), 'cookies');
52
+ client.cookies = cookies || {};
53
+ } catch(ex) {
54
+ // no flash storage available, just silently fail
55
+ // TODO: i assume we want this logged somewhere or
56
+ // should it actually generate an error
57
+ //forge.log.error(cat, ex);
58
+ }
59
+ }
60
+ };
61
+
62
+ /**
63
+ * Saves persistent cookies on disk for the given client.
64
+ *
65
+ * @param client the client.
66
+ */
67
+ var _saveCookies = function(client) {
68
+ if(client.persistCookies) {
69
+ try {
70
+ forge.util.setItem(
71
+ client.socketPool.flashApi,
72
+ _getStorageId(client), 'cookies', client.cookies);
73
+ } catch(ex) {
74
+ // no flash storage available, just silently fail
75
+ // TODO: i assume we want this logged somewhere or
76
+ // should it actually generate an error
77
+ //forge.log.error(cat, ex);
78
+ }
79
+ }
80
+
81
+ // FIXME: remove me
82
+ _loadCookies(client);
83
+ };
84
+
85
+ /**
86
+ * Clears persistent cookies on disk for the given client.
87
+ *
88
+ * @param client the client.
89
+ */
90
+ var _clearCookies = function(client) {
91
+ if(client.persistCookies) {
92
+ try {
93
+ // only thing stored is 'cookies', so clear whole storage
94
+ forge.util.clearItems(
95
+ client.socketPool.flashApi,
96
+ _getStorageId(client));
97
+ } catch(ex) {
98
+ // no flash storage available, just silently fail
99
+ // TODO: i assume we want this logged somewhere or
100
+ // should it actually generate an error
101
+ //forge.log.error(cat, ex);
102
+ }
103
+ }
104
+ };
105
+
106
+ /**
107
+ * Connects and sends a request.
108
+ *
109
+ * @param client the http client.
110
+ * @param socket the socket to use.
111
+ */
112
+ var _doRequest = function(client, socket) {
113
+ if(socket.isConnected()) {
114
+ // already connected
115
+ socket.options.request.connectTime = +new Date();
116
+ socket.connected({
117
+ type: 'connect',
118
+ id: socket.id
119
+ });
120
+ } else {
121
+ // connect
122
+ socket.options.request.connectTime = +new Date();
123
+ socket.connect({
124
+ host: client.url.hostname,
125
+ port: client.url.port,
126
+ policyPort: client.policyPort,
127
+ policyUrl: client.policyUrl
128
+ });
129
+ }
130
+ };
131
+
132
+ /**
133
+ * Handles the next request or marks a socket as idle.
134
+ *
135
+ * @param client the http client.
136
+ * @param socket the socket.
137
+ */
138
+ var _handleNextRequest = function(client, socket) {
139
+ // clear buffer
140
+ socket.buffer.clear();
141
+
142
+ // get pending request
143
+ var pending = null;
144
+ while(pending === null && client.requests.length > 0) {
145
+ pending = client.requests.shift();
146
+ if(pending.request.aborted) {
147
+ pending = null;
148
+ }
149
+ }
150
+
151
+ // mark socket idle if no pending requests
152
+ if(pending === null) {
153
+ if(socket.options !== null) {
154
+ socket.options = null;
155
+ }
156
+ client.idle.push(socket);
157
+ } else {
158
+ // handle pending request, allow 1 retry
159
+ socket.retries = 1;
160
+ socket.options = pending;
161
+ _doRequest(client, socket);
162
+ }
163
+ };
164
+
165
+ /**
166
+ * Sets up a socket for use with an http client.
167
+ *
168
+ * @param client the parent http client.
169
+ * @param socket the socket to set up.
170
+ * @param tlsOptions if the socket must use TLS, the TLS options.
171
+ */
172
+ var _initSocket = function(client, socket, tlsOptions) {
173
+ // no socket options yet
174
+ socket.options = null;
175
+
176
+ // set up handlers
177
+ socket.connected = function(e) {
178
+ // socket primed by caching TLS session, handle next request
179
+ if(socket.options === null) {
180
+ _handleNextRequest(client, socket);
181
+ } else {
182
+ // socket in use
183
+ var request = socket.options.request;
184
+ request.connectTime = +new Date() - request.connectTime;
185
+ e.socket = socket;
186
+ socket.options.connected(e);
187
+ if(request.aborted) {
188
+ socket.close();
189
+ } else {
190
+ var out = request.toString();
191
+ if(request.body) {
192
+ out += request.body;
193
+ }
194
+ request.time = +new Date();
195
+ socket.send(out);
196
+ request.time = +new Date() - request.time;
197
+ socket.options.response.time = +new Date();
198
+ socket.sending = true;
199
+ }
200
+ }
201
+ };
202
+ socket.closed = function(e) {
203
+ if(socket.sending) {
204
+ socket.sending = false;
205
+ if(socket.retries > 0) {
206
+ --socket.retries;
207
+ _doRequest(client, socket);
208
+ } else {
209
+ // error, closed during send
210
+ socket.error({
211
+ id: socket.id,
212
+ type: 'ioError',
213
+ message: 'Connection closed during send. Broken pipe.',
214
+ bytesAvailable: 0
215
+ });
216
+ }
217
+ } else {
218
+ // handle unspecified content-length transfer
219
+ var response = socket.options.response;
220
+ if(response.readBodyUntilClose) {
221
+ response.time = +new Date() - response.time;
222
+ response.bodyReceived = true;
223
+ socket.options.bodyReady({
224
+ request: socket.options.request,
225
+ response: response,
226
+ socket: socket
227
+ });
228
+ }
229
+ socket.options.closed(e);
230
+ _handleNextRequest(client, socket);
231
+ }
232
+ };
233
+ socket.data = function(e) {
234
+ socket.sending = false;
235
+ var request = socket.options.request;
236
+ if(request.aborted) {
237
+ socket.close();
238
+ } else {
239
+ // receive all bytes available
240
+ var response = socket.options.response;
241
+ var bytes = socket.receive(e.bytesAvailable);
242
+ if(bytes !== null) {
243
+ // receive header and then body
244
+ socket.buffer.putBytes(bytes);
245
+ if(!response.headerReceived) {
246
+ response.readHeader(socket.buffer);
247
+ if(response.headerReceived) {
248
+ socket.options.headerReady({
249
+ request: socket.options.request,
250
+ response: response,
251
+ socket: socket
252
+ });
253
+ }
254
+ }
255
+ if(response.headerReceived && !response.bodyReceived) {
256
+ response.readBody(socket.buffer);
257
+ }
258
+ if(response.bodyReceived) {
259
+ socket.options.bodyReady({
260
+ request: socket.options.request,
261
+ response: response,
262
+ socket: socket
263
+ });
264
+ // close connection if requested or by default on http/1.0
265
+ var value = response.getField('Connection') || '';
266
+ if(value.indexOf('close') != -1 ||
267
+ (response.version === 'HTTP/1.0' &&
268
+ response.getField('Keep-Alive') === null)) {
269
+ socket.close();
270
+ } else {
271
+ _handleNextRequest(client, socket);
272
+ }
273
+ }
274
+ }
275
+ }
276
+ };
277
+ socket.error = function(e) {
278
+ // do error callback, include request
279
+ socket.options.error({
280
+ type: e.type,
281
+ message: e.message,
282
+ request: socket.options.request,
283
+ response: socket.options.response,
284
+ socket: socket
285
+ });
286
+ socket.close();
287
+ };
288
+
289
+ // wrap socket for TLS
290
+ if(tlsOptions) {
291
+ socket = forge.tls.wrapSocket({
292
+ sessionId: null,
293
+ sessionCache: {},
294
+ caStore: tlsOptions.caStore,
295
+ cipherSuites: tlsOptions.cipherSuites,
296
+ socket: socket,
297
+ virtualHost: tlsOptions.virtualHost,
298
+ verify: tlsOptions.verify,
299
+ getCertificate: tlsOptions.getCertificate,
300
+ getPrivateKey: tlsOptions.getPrivateKey,
301
+ getSignature: tlsOptions.getSignature,
302
+ deflate: tlsOptions.deflate || null,
303
+ inflate: tlsOptions.inflate || null
304
+ });
305
+
306
+ socket.options = null;
307
+ socket.buffer = forge.util.createBuffer();
308
+ client.sockets.push(socket);
309
+ if(tlsOptions.prime) {
310
+ // prime socket by connecting and caching TLS session, will do
311
+ // next request from there
312
+ socket.connect({
313
+ host: client.url.hostname,
314
+ port: client.url.port,
315
+ policyPort: client.policyPort,
316
+ policyUrl: client.policyUrl
317
+ });
318
+ } else {
319
+ // do not prime socket, just add as idle
320
+ client.idle.push(socket);
321
+ }
322
+ } else {
323
+ // no need to prime non-TLS sockets
324
+ socket.buffer = forge.util.createBuffer();
325
+ client.sockets.push(socket);
326
+ client.idle.push(socket);
327
+ }
328
+ };
329
+
330
+ /**
331
+ * Checks to see if the given cookie has expired. If the cookie's max-age
332
+ * plus its created time is less than the time now, it has expired, unless
333
+ * its max-age is set to -1 which indicates it will never expire.
334
+ *
335
+ * @param cookie the cookie to check.
336
+ *
337
+ * @return true if it has expired, false if not.
338
+ */
339
+ var _hasCookieExpired = function(cookie) {
340
+ var rval = false;
341
+
342
+ if(cookie.maxAge !== -1) {
343
+ var now = _getUtcTime(new Date());
344
+ var expires = cookie.created + cookie.maxAge;
345
+ if(expires <= now) {
346
+ rval = true;
347
+ }
348
+ }
349
+
350
+ return rval;
351
+ };
352
+
353
+ /**
354
+ * Adds cookies in the given client to the given request.
355
+ *
356
+ * @param client the client.
357
+ * @param request the request.
358
+ */
359
+ var _writeCookies = function(client, request) {
360
+ var expired = [];
361
+ var url = client.url;
362
+ var cookies = client.cookies;
363
+ for(var name in cookies) {
364
+ // get cookie paths
365
+ var paths = cookies[name];
366
+ for(var p in paths) {
367
+ var cookie = paths[p];
368
+ if(_hasCookieExpired(cookie)) {
369
+ // store for clean up
370
+ expired.push(cookie);
371
+ } else if(request.path.indexOf(cookie.path) === 0) {
372
+ // path or path's ancestor must match cookie.path
373
+ request.addCookie(cookie);
374
+ }
375
+ }
376
+ }
377
+
378
+ // clean up expired cookies
379
+ for(var i = 0; i < expired.length; ++i) {
380
+ var cookie = expired[i];
381
+ client.removeCookie(cookie.name, cookie.path);
382
+ }
383
+ };
384
+
385
+ /**
386
+ * Gets cookies from the given response and adds the to the given client.
387
+ *
388
+ * @param client the client.
389
+ * @param response the response.
390
+ */
391
+ var _readCookies = function(client, response) {
392
+ var cookies = response.getCookies();
393
+ for(var i = 0; i < cookies.length; ++i) {
394
+ try {
395
+ client.setCookie(cookies[i]);
396
+ } catch(ex) {
397
+ // ignore failure to add other-domain, etc. cookies
398
+ }
399
+ }
400
+ };
401
+
402
+ /**
403
+ * Creates an http client that uses forge.net sockets as a backend and
404
+ * forge.tls for security.
405
+ *
406
+ * @param options:
407
+ * url: the url to connect to (scheme://host:port).
408
+ * socketPool: the flash socket pool to use.
409
+ * policyPort: the flash policy port to use (if other than the
410
+ * socket pool default), use 0 for flash default.
411
+ * policyUrl: the flash policy file URL to use (if provided will
412
+ * be used instead of a policy port).
413
+ * connections: number of connections to use to handle requests.
414
+ * caCerts: an array of certificates to trust for TLS, certs may
415
+ * be PEM-formatted or cert objects produced via forge.pki.
416
+ * cipherSuites: an optional array of cipher suites to use,
417
+ * see forge.tls.CipherSuites.
418
+ * virtualHost: the virtual server name to use in a TLS SNI
419
+ * extension, if not provided the url host will be used.
420
+ * verify: a custom TLS certificate verify callback to use.
421
+ * getCertificate: an optional callback used to get a client-side
422
+ * certificate (see forge.tls for details).
423
+ * getPrivateKey: an optional callback used to get a client-side
424
+ * private key (see forge.tls for details).
425
+ * getSignature: an optional callback used to get a client-side
426
+ * signature (see forge.tls for details).
427
+ * persistCookies: true to use persistent cookies via flash local
428
+ * storage, false to only keep cookies in javascript.
429
+ * primeTlsSockets: true to immediately connect TLS sockets on
430
+ * their creation so that they will cache TLS sessions for reuse.
431
+ *
432
+ * @return the client.
433
+ */
434
+ http.createClient = function(options) {
435
+ // create CA store to share with all TLS connections
436
+ var caStore = null;
437
+ if(options.caCerts) {
438
+ caStore = forge.pki.createCaStore(options.caCerts);
439
+ }
440
+
441
+ // get scheme, host, and port from url
442
+ options.url = (options.url ||
443
+ window.location.protocol + '//' + window.location.host);
444
+ var url;
445
+ try {
446
+ url = new URL(options.url);
447
+ } catch(e) {
448
+ var error = new Error('Invalid url.');
449
+ error.details = {url: options.url};
450
+ throw error;
451
+ }
452
+
453
+ // default to 1 connection
454
+ options.connections = options.connections || 1;
455
+
456
+ // create client
457
+ var sp = options.socketPool;
458
+ var client = {
459
+ // url
460
+ url: url,
461
+ // socket pool
462
+ socketPool: sp,
463
+ // the policy port to use
464
+ policyPort: options.policyPort,
465
+ // policy url to use
466
+ policyUrl: options.policyUrl,
467
+ // queue of requests to service
468
+ requests: [],
469
+ // all sockets
470
+ sockets: [],
471
+ // idle sockets
472
+ idle: [],
473
+ // whether or not the connections are secure
474
+ secure: (url.protocol === 'https:'),
475
+ // cookie jar (key'd off of name and then path, there is only 1 domain
476
+ // and one setting for secure per client so name+path is unique)
477
+ cookies: {},
478
+ // default to flash storage of cookies
479
+ persistCookies: (typeof(options.persistCookies) === 'undefined') ?
480
+ true : options.persistCookies
481
+ };
482
+
483
+ // load cookies from disk
484
+ _loadCookies(client);
485
+
486
+ /**
487
+ * A default certificate verify function that checks a certificate common
488
+ * name against the client's URL host.
489
+ *
490
+ * @param c the TLS connection.
491
+ * @param verified true if cert is verified, otherwise alert number.
492
+ * @param depth the chain depth.
493
+ * @param certs the cert chain.
494
+ *
495
+ * @return true if verified and the common name matches the host, error
496
+ * otherwise.
497
+ */
498
+ var _defaultCertificateVerify = function(c, verified, depth, certs) {
499
+ if(depth === 0 && verified === true) {
500
+ // compare common name to url host
501
+ var cn = certs[depth].subject.getField('CN');
502
+ if(cn === null || client.url.hostname !== cn.value) {
503
+ verified = {
504
+ message: 'Certificate common name does not match url host.'
505
+ };
506
+ }
507
+ }
508
+ return verified;
509
+ };
510
+
511
+ // determine if TLS is used
512
+ var tlsOptions = null;
513
+ if(client.secure) {
514
+ tlsOptions = {
515
+ caStore: caStore,
516
+ cipherSuites: options.cipherSuites || null,
517
+ virtualHost: options.virtualHost || url.hostname,
518
+ verify: options.verify || _defaultCertificateVerify,
519
+ getCertificate: options.getCertificate || null,
520
+ getPrivateKey: options.getPrivateKey || null,
521
+ getSignature: options.getSignature || null,
522
+ prime: options.primeTlsSockets || false
523
+ };
524
+
525
+ // if socket pool uses a flash api, then add deflate support to TLS
526
+ if(sp.flashApi !== null) {
527
+ tlsOptions.deflate = function(bytes) {
528
+ // strip 2 byte zlib header and 4 byte trailer
529
+ return forge.util.deflate(sp.flashApi, bytes, true);
530
+ };
531
+ tlsOptions.inflate = function(bytes) {
532
+ return forge.util.inflate(sp.flashApi, bytes, true);
533
+ };
534
+ }
535
+ }
536
+
537
+ // create and initialize sockets
538
+ for(var i = 0; i < options.connections; ++i) {
539
+ _initSocket(client, sp.createSocket(), tlsOptions);
540
+ }
541
+
542
+ /**
543
+ * Sends a request. A method 'abort' will be set on the request that
544
+ * can be called to attempt to abort the request.
545
+ *
546
+ * @param options:
547
+ * request: the request to send.
548
+ * connected: a callback for when the connection is open.
549
+ * closed: a callback for when the connection is closed.
550
+ * headerReady: a callback for when the response header arrives.
551
+ * bodyReady: a callback for when the response body arrives.
552
+ * error: a callback for if an error occurs.
553
+ */
554
+ client.send = function(options) {
555
+ // add host header if not set
556
+ if(options.request.getField('Host') === null) {
557
+ options.request.setField('Host', client.url.origin);
558
+ }
559
+
560
+ // set default dummy handlers
561
+ var opts = {};
562
+ opts.request = options.request;
563
+ opts.connected = options.connected || function() {};
564
+ opts.closed = options.close || function() {};
565
+ opts.headerReady = function(e) {
566
+ // read cookies
567
+ _readCookies(client, e.response);
568
+ if(options.headerReady) {
569
+ options.headerReady(e);
570
+ }
571
+ };
572
+ opts.bodyReady = options.bodyReady || function() {};
573
+ opts.error = options.error || function() {};
574
+
575
+ // create response
576
+ opts.response = http.createResponse();
577
+ opts.response.time = 0;
578
+ opts.response.flashApi = client.socketPool.flashApi;
579
+ opts.request.flashApi = client.socketPool.flashApi;
580
+
581
+ // create abort function
582
+ opts.request.abort = function() {
583
+ // set aborted, clear handlers
584
+ opts.request.aborted = true;
585
+ opts.connected = function() {};
586
+ opts.closed = function() {};
587
+ opts.headerReady = function() {};
588
+ opts.bodyReady = function() {};
589
+ opts.error = function() {};
590
+ };
591
+
592
+ // add cookies to request
593
+ _writeCookies(client, opts.request);
594
+
595
+ // queue request options if there are no idle sockets
596
+ if(client.idle.length === 0) {
597
+ client.requests.push(opts);
598
+ } else {
599
+ // use an idle socket, prefer an idle *connected* socket first
600
+ var socket = null;
601
+ var len = client.idle.length;
602
+ for(var i = 0; socket === null && i < len; ++i) {
603
+ socket = client.idle[i];
604
+ if(socket.isConnected()) {
605
+ client.idle.splice(i, 1);
606
+ } else {
607
+ socket = null;
608
+ }
609
+ }
610
+ // no connected socket available, get unconnected socket
611
+ if(socket === null) {
612
+ socket = client.idle.pop();
613
+ }
614
+ socket.options = opts;
615
+ _doRequest(client, socket);
616
+ }
617
+ };
618
+
619
+ /**
620
+ * Destroys this client.
621
+ */
622
+ client.destroy = function() {
623
+ // clear pending requests, close and destroy sockets
624
+ client.requests = [];
625
+ for(var i = 0; i < client.sockets.length; ++i) {
626
+ client.sockets[i].close();
627
+ client.sockets[i].destroy();
628
+ }
629
+ client.socketPool = null;
630
+ client.sockets = [];
631
+ client.idle = [];
632
+ };
633
+
634
+ /**
635
+ * Sets a cookie for use with all connections made by this client. Any
636
+ * cookie with the same name will be replaced. If the cookie's value
637
+ * is undefined, null, or the blank string, the cookie will be removed.
638
+ *
639
+ * If the cookie's domain doesn't match this client's url host or the
640
+ * cookie's secure flag doesn't match this client's url scheme, then
641
+ * setting the cookie will fail with an exception.
642
+ *
643
+ * @param cookie the cookie with parameters:
644
+ * name: the name of the cookie.
645
+ * value: the value of the cookie.
646
+ * comment: an optional comment string.
647
+ * maxAge: the age of the cookie in seconds relative to created time.
648
+ * secure: true if the cookie must be sent over a secure protocol.
649
+ * httpOnly: true to restrict access to the cookie from javascript
650
+ * (inaffective since the cookies are stored in javascript).
651
+ * path: the path for the cookie.
652
+ * domain: optional domain the cookie belongs to (must start with dot).
653
+ * version: optional version of the cookie.
654
+ * created: creation time, in UTC seconds, of the cookie.
655
+ */
656
+ client.setCookie = function(cookie) {
657
+ var rval;
658
+ if(typeof(cookie.name) !== 'undefined') {
659
+ if(cookie.value === null || typeof(cookie.value) === 'undefined' ||
660
+ cookie.value === '') {
661
+ // remove cookie
662
+ rval = client.removeCookie(cookie.name, cookie.path);
663
+ } else {
664
+ // set cookie defaults
665
+ cookie.comment = cookie.comment || '';
666
+ cookie.maxAge = cookie.maxAge || 0;
667
+ cookie.secure = (typeof(cookie.secure) === 'undefined') ?
668
+ true : cookie.secure;
669
+ cookie.httpOnly = cookie.httpOnly || true;
670
+ cookie.path = cookie.path || '/';
671
+ cookie.domain = cookie.domain || null;
672
+ cookie.version = cookie.version || null;
673
+ cookie.created = _getUtcTime(new Date());
674
+
675
+ // do secure check
676
+ if(cookie.secure !== client.secure) {
677
+ var error = new Error('Http client url scheme is incompatible ' +
678
+ 'with cookie secure flag.');
679
+ error.url = client.url;
680
+ error.cookie = cookie;
681
+ throw error;
682
+ }
683
+ // make sure url host is within cookie.domain
684
+ if(!http.withinCookieDomain(client.url, cookie)) {
685
+ var error = new Error('Http client url scheme is incompatible ' +
686
+ 'with cookie secure flag.');
687
+ error.url = client.url;
688
+ error.cookie = cookie;
689
+ throw error;
690
+ }
691
+
692
+ // add new cookie
693
+ if(!(cookie.name in client.cookies)) {
694
+ client.cookies[cookie.name] = {};
695
+ }
696
+ client.cookies[cookie.name][cookie.path] = cookie;
697
+ rval = true;
698
+
699
+ // save cookies
700
+ _saveCookies(client);
701
+ }
702
+ }
703
+
704
+ return rval;
705
+ };
706
+
707
+ /**
708
+ * Gets a cookie by its name.
709
+ *
710
+ * @param name the name of the cookie to retrieve.
711
+ * @param path an optional path for the cookie (if there are multiple
712
+ * cookies with the same name but different paths).
713
+ *
714
+ * @return the cookie or null if not found.
715
+ */
716
+ client.getCookie = function(name, path) {
717
+ var rval = null;
718
+ if(name in client.cookies) {
719
+ var paths = client.cookies[name];
720
+
721
+ // get path-specific cookie
722
+ if(path) {
723
+ if(path in paths) {
724
+ rval = paths[path];
725
+ }
726
+ } else {
727
+ // get first cookie
728
+ for(var p in paths) {
729
+ rval = paths[p];
730
+ break;
731
+ }
732
+ }
733
+ }
734
+ return rval;
735
+ };
736
+
737
+ /**
738
+ * Removes a cookie.
739
+ *
740
+ * @param name the name of the cookie to remove.
741
+ * @param path an optional path for the cookie (if there are multiple
742
+ * cookies with the same name but different paths).
743
+ *
744
+ * @return true if a cookie was removed, false if not.
745
+ */
746
+ client.removeCookie = function(name, path) {
747
+ var rval = false;
748
+ if(name in client.cookies) {
749
+ // delete the specific path
750
+ if(path) {
751
+ var paths = client.cookies[name];
752
+ if(path in paths) {
753
+ rval = true;
754
+ delete client.cookies[name][path];
755
+ // clean up entry if empty
756
+ var empty = true;
757
+ for(var i in client.cookies[name]) {
758
+ empty = false;
759
+ break;
760
+ }
761
+ if(empty) {
762
+ delete client.cookies[name];
763
+ }
764
+ }
765
+ } else {
766
+ // delete all cookies with the given name
767
+ rval = true;
768
+ delete client.cookies[name];
769
+ }
770
+ }
771
+ if(rval) {
772
+ // save cookies
773
+ _saveCookies(client);
774
+ }
775
+ return rval;
776
+ };
777
+
778
+ /**
779
+ * Clears all cookies stored in this client.
780
+ */
781
+ client.clearCookies = function() {
782
+ client.cookies = {};
783
+ _clearCookies(client);
784
+ };
785
+
786
+ if(forge.log) {
787
+ forge.log.debug('forge.http', 'created client', options);
788
+ }
789
+
790
+ return client;
791
+ };
792
+
793
+ /**
794
+ * Trims the whitespace off of the beginning and end of a string.
795
+ *
796
+ * @param str the string to trim.
797
+ *
798
+ * @return the trimmed string.
799
+ */
800
+ var _trimString = function(str) {
801
+ return str.replace(/^\s*/, '').replace(/\s*$/, '');
802
+ };
803
+
804
+ /**
805
+ * Creates an http header object.
806
+ *
807
+ * @return the http header object.
808
+ */
809
+ var _createHeader = function() {
810
+ var header = {
811
+ fields: {},
812
+ setField: function(name, value) {
813
+ // normalize field name, trim value
814
+ header.fields[_normalize(name)] = [_trimString('' + value)];
815
+ },
816
+ appendField: function(name, value) {
817
+ name = _normalize(name);
818
+ if(!(name in header.fields)) {
819
+ header.fields[name] = [];
820
+ }
821
+ header.fields[name].push(_trimString('' + value));
822
+ },
823
+ getField: function(name, index) {
824
+ var rval = null;
825
+ name = _normalize(name);
826
+ if(name in header.fields) {
827
+ index = index || 0;
828
+ rval = header.fields[name][index];
829
+ }
830
+ return rval;
831
+ }
832
+ };
833
+ return header;
834
+ };
835
+
836
+ /**
837
+ * Gets the time in utc seconds given a date.
838
+ *
839
+ * @param d the date to use.
840
+ *
841
+ * @return the time in utc seconds.
842
+ */
843
+ var _getUtcTime = function(d) {
844
+ var utc = +d + d.getTimezoneOffset() * 60000;
845
+ return Math.floor(+new Date() / 1000);
846
+ };
847
+
848
+ /**
849
+ * Creates an http request.
850
+ *
851
+ * @param options:
852
+ * version: the version.
853
+ * method: the method.
854
+ * path: the path.
855
+ * body: the body.
856
+ * headers: custom header fields to add,
857
+ * eg: [{'Content-Length': 0}].
858
+ *
859
+ * @return the http request.
860
+ */
861
+ http.createRequest = function(options) {
862
+ options = options || {};
863
+ var request = _createHeader();
864
+ request.version = options.version || 'HTTP/1.1';
865
+ request.method = options.method || null;
866
+ request.path = options.path || null;
867
+ request.body = options.body || null;
868
+ request.bodyDeflated = false;
869
+ request.flashApi = null;
870
+
871
+ // add custom headers
872
+ var headers = options.headers || [];
873
+ if(!forge.util.isArray(headers)) {
874
+ headers = [headers];
875
+ }
876
+ for(var i = 0; i < headers.length; ++i) {
877
+ for(var name in headers[i]) {
878
+ request.appendField(name, headers[i][name]);
879
+ }
880
+ }
881
+
882
+ /**
883
+ * Adds a cookie to the request 'Cookie' header.
884
+ *
885
+ * @param cookie a cookie to add.
886
+ */
887
+ request.addCookie = function(cookie) {
888
+ var value = '';
889
+ var field = request.getField('Cookie');
890
+ if(field !== null) {
891
+ // separate cookies by semi-colons
892
+ value = field + '; ';
893
+ }
894
+
895
+ // get current time in utc seconds
896
+ var now = _getUtcTime(new Date());
897
+
898
+ // output cookie name and value
899
+ value += cookie.name + '=' + cookie.value;
900
+ request.setField('Cookie', value);
901
+ };
902
+
903
+ /**
904
+ * Converts an http request into a string that can be sent as an
905
+ * HTTP request. Does not include any data.
906
+ *
907
+ * @return the string representation of the request.
908
+ */
909
+ request.toString = function() {
910
+ /* Sample request header:
911
+ GET /some/path/?query HTTP/1.1
912
+ Host: www.someurl.com
913
+ Connection: close
914
+ Accept-Encoding: deflate
915
+ Accept: image/gif, text/html
916
+ User-Agent: Mozilla 4.0
917
+ */
918
+
919
+ // set default headers
920
+ if(request.getField('User-Agent') === null) {
921
+ request.setField('User-Agent', 'forge.http 1.0');
922
+ }
923
+ if(request.getField('Accept') === null) {
924
+ request.setField('Accept', '*/*');
925
+ }
926
+ if(request.getField('Connection') === null) {
927
+ request.setField('Connection', 'keep-alive');
928
+ request.setField('Keep-Alive', '115');
929
+ }
930
+
931
+ // add Accept-Encoding if not specified
932
+ if(request.flashApi !== null &&
933
+ request.getField('Accept-Encoding') === null) {
934
+ request.setField('Accept-Encoding', 'deflate');
935
+ }
936
+
937
+ // if the body isn't null, deflate it if its larger than 100 bytes
938
+ if(request.flashApi !== null && request.body !== null &&
939
+ request.getField('Content-Encoding') === null &&
940
+ !request.bodyDeflated && request.body.length > 100) {
941
+ // use flash to compress data
942
+ request.body = forge.util.deflate(request.flashApi, request.body);
943
+ request.bodyDeflated = true;
944
+ request.setField('Content-Encoding', 'deflate');
945
+ request.setField('Content-Length', request.body.length);
946
+ } else if(request.body !== null) {
947
+ // set content length for body
948
+ request.setField('Content-Length', request.body.length);
949
+ }
950
+
951
+ // build start line
952
+ var rval =
953
+ request.method.toUpperCase() + ' ' + request.path + ' ' +
954
+ request.version + '\r\n';
955
+
956
+ // add each header
957
+ for(var name in request.fields) {
958
+ var fields = request.fields[name];
959
+ for(var i = 0; i < fields.length; ++i) {
960
+ rval += name + ': ' + fields[i] + '\r\n';
961
+ }
962
+ }
963
+ // final terminating CRLF
964
+ rval += '\r\n';
965
+
966
+ return rval;
967
+ };
968
+
969
+ return request;
970
+ };
971
+
972
+ /**
973
+ * Creates an empty http response header.
974
+ *
975
+ * @return the empty http response header.
976
+ */
977
+ http.createResponse = function() {
978
+ // private vars
979
+ var _first = true;
980
+ var _chunkSize = 0;
981
+ var _chunksFinished = false;
982
+
983
+ // create response
984
+ var response = _createHeader();
985
+ response.version = null;
986
+ response.code = 0;
987
+ response.message = null;
988
+ response.body = null;
989
+ response.headerReceived = false;
990
+ response.bodyReceived = false;
991
+ response.flashApi = null;
992
+
993
+ /**
994
+ * Reads a line that ends in CRLF from a byte buffer.
995
+ *
996
+ * @param b the byte buffer.
997
+ *
998
+ * @return the line or null if none was found.
999
+ */
1000
+ var _readCrlf = function(b) {
1001
+ var line = null;
1002
+ var i = b.data.indexOf('\r\n', b.read);
1003
+ if(i != -1) {
1004
+ // read line, skip CRLF
1005
+ line = b.getBytes(i - b.read);
1006
+ b.getBytes(2);
1007
+ }
1008
+ return line;
1009
+ };
1010
+
1011
+ /**
1012
+ * Parses a header field and appends it to the response.
1013
+ *
1014
+ * @param line the header field line.
1015
+ */
1016
+ var _parseHeader = function(line) {
1017
+ var tmp = line.indexOf(':');
1018
+ var name = line.substring(0, tmp++);
1019
+ response.appendField(
1020
+ name, (tmp < line.length) ? line.substring(tmp) : '');
1021
+ };
1022
+
1023
+ /**
1024
+ * Reads an http response header from a buffer of bytes.
1025
+ *
1026
+ * @param b the byte buffer to parse the header from.
1027
+ *
1028
+ * @return true if the whole header was read, false if not.
1029
+ */
1030
+ response.readHeader = function(b) {
1031
+ // read header lines (each ends in CRLF)
1032
+ var line = '';
1033
+ while(!response.headerReceived && line !== null) {
1034
+ line = _readCrlf(b);
1035
+ if(line !== null) {
1036
+ // parse first line
1037
+ if(_first) {
1038
+ _first = false;
1039
+ var tmp = line.split(' ');
1040
+ if(tmp.length >= 3) {
1041
+ response.version = tmp[0];
1042
+ response.code = parseInt(tmp[1], 10);
1043
+ response.message = tmp.slice(2).join(' ');
1044
+ } else {
1045
+ // invalid header
1046
+ var error = new Error('Invalid http response header.');
1047
+ error.details = {'line': line};
1048
+ throw error;
1049
+ }
1050
+ } else if(line.length === 0) {
1051
+ // handle final line, end of header
1052
+ response.headerReceived = true;
1053
+ } else {
1054
+ _parseHeader(line);
1055
+ }
1056
+ }
1057
+ }
1058
+
1059
+ return response.headerReceived;
1060
+ };
1061
+
1062
+ /**
1063
+ * Reads some chunked http response entity-body from the given buffer of
1064
+ * bytes.
1065
+ *
1066
+ * @param b the byte buffer to read from.
1067
+ *
1068
+ * @return true if the whole body was read, false if not.
1069
+ */
1070
+ var _readChunkedBody = function(b) {
1071
+ /* Chunked transfer-encoding sends data in a series of chunks,
1072
+ followed by a set of 0-N http trailers.
1073
+ The format is as follows:
1074
+
1075
+ chunk-size (in hex) CRLF
1076
+ chunk data (with "chunk-size" many bytes) CRLF
1077
+ ... (N many chunks)
1078
+ chunk-size (of 0 indicating the last chunk) CRLF
1079
+ N many http trailers followed by CRLF
1080
+ blank line + CRLF (terminates the trailers)
1081
+
1082
+ If there are no http trailers, then after the chunk-size of 0,
1083
+ there is still a single CRLF (indicating the blank line + CRLF
1084
+ that terminates the trailers). In other words, you always terminate
1085
+ the trailers with blank line + CRLF, regardless of 0-N trailers. */
1086
+
1087
+ /* From RFC-2616, section 3.6.1, here is the pseudo-code for
1088
+ implementing chunked transfer-encoding:
1089
+
1090
+ length := 0
1091
+ read chunk-size, chunk-extension (if any) and CRLF
1092
+ while (chunk-size > 0) {
1093
+ read chunk-data and CRLF
1094
+ append chunk-data to entity-body
1095
+ length := length + chunk-size
1096
+ read chunk-size and CRLF
1097
+ }
1098
+ read entity-header
1099
+ while (entity-header not empty) {
1100
+ append entity-header to existing header fields
1101
+ read entity-header
1102
+ }
1103
+ Content-Length := length
1104
+ Remove "chunked" from Transfer-Encoding
1105
+ */
1106
+
1107
+ var line = '';
1108
+ while(line !== null && b.length() > 0) {
1109
+ // if in the process of reading a chunk
1110
+ if(_chunkSize > 0) {
1111
+ // if there are not enough bytes to read chunk and its
1112
+ // trailing CRLF, we must wait for more data to be received
1113
+ if(_chunkSize + 2 > b.length()) {
1114
+ break;
1115
+ }
1116
+
1117
+ // read chunk data, skip CRLF
1118
+ response.body += b.getBytes(_chunkSize);
1119
+ b.getBytes(2);
1120
+ _chunkSize = 0;
1121
+ } else if(!_chunksFinished) {
1122
+ // more chunks, read next chunk-size line
1123
+ line = _readCrlf(b);
1124
+ if(line !== null) {
1125
+ // parse chunk-size (ignore any chunk extension)
1126
+ _chunkSize = parseInt(line.split(';', 1)[0], 16);
1127
+ _chunksFinished = (_chunkSize === 0);
1128
+ }
1129
+ } else {
1130
+ // chunks finished, read next trailer
1131
+ line = _readCrlf(b);
1132
+ while(line !== null) {
1133
+ if(line.length > 0) {
1134
+ // parse trailer
1135
+ _parseHeader(line);
1136
+ // read next trailer
1137
+ line = _readCrlf(b);
1138
+ } else {
1139
+ // body received
1140
+ response.bodyReceived = true;
1141
+ line = null;
1142
+ }
1143
+ }
1144
+ }
1145
+ }
1146
+
1147
+ return response.bodyReceived;
1148
+ };
1149
+
1150
+ /**
1151
+ * Reads an http response body from a buffer of bytes.
1152
+ *
1153
+ * @param b the byte buffer to read from.
1154
+ *
1155
+ * @return true if the whole body was read, false if not.
1156
+ */
1157
+ response.readBody = function(b) {
1158
+ var contentLength = response.getField('Content-Length');
1159
+ var transferEncoding = response.getField('Transfer-Encoding');
1160
+ if(contentLength !== null) {
1161
+ contentLength = parseInt(contentLength);
1162
+ }
1163
+
1164
+ // read specified length
1165
+ if(contentLength !== null && contentLength >= 0) {
1166
+ response.body = response.body || '';
1167
+ response.body += b.getBytes(contentLength);
1168
+ response.bodyReceived = (response.body.length === contentLength);
1169
+ } else if(transferEncoding !== null) {
1170
+ // read chunked encoding
1171
+ if(transferEncoding.indexOf('chunked') != -1) {
1172
+ response.body = response.body || '';
1173
+ _readChunkedBody(b);
1174
+ } else {
1175
+ var error = new Error('Unknown Transfer-Encoding.');
1176
+ error.details = {'transferEncoding': transferEncoding};
1177
+ throw error;
1178
+ }
1179
+ } else if((contentLength !== null && contentLength < 0) ||
1180
+ (contentLength === null &&
1181
+ response.getField('Content-Type') !== null)) {
1182
+ // read all data in the buffer
1183
+ response.body = response.body || '';
1184
+ response.body += b.getBytes();
1185
+ response.readBodyUntilClose = true;
1186
+ } else {
1187
+ // no body
1188
+ response.body = null;
1189
+ response.bodyReceived = true;
1190
+ }
1191
+
1192
+ if(response.bodyReceived) {
1193
+ response.time = +new Date() - response.time;
1194
+ }
1195
+
1196
+ if(response.flashApi !== null &&
1197
+ response.bodyReceived && response.body !== null &&
1198
+ response.getField('Content-Encoding') === 'deflate') {
1199
+ // inflate using flash api
1200
+ response.body = forge.util.inflate(
1201
+ response.flashApi, response.body);
1202
+ }
1203
+
1204
+ return response.bodyReceived;
1205
+ };
1206
+
1207
+ /**
1208
+ * Parses an array of cookies from the 'Set-Cookie' field, if present.
1209
+ *
1210
+ * @return the array of cookies.
1211
+ */
1212
+ response.getCookies = function() {
1213
+ var rval = [];
1214
+
1215
+ // get Set-Cookie field
1216
+ if('Set-Cookie' in response.fields) {
1217
+ var field = response.fields['Set-Cookie'];
1218
+
1219
+ // get current local time in seconds
1220
+ var now = +new Date() / 1000;
1221
+
1222
+ // regex for parsing 'name1=value1; name2=value2; name3'
1223
+ var regex = /\s*([^=]*)=?([^;]*)(;|$)/g;
1224
+
1225
+ // examples:
1226
+ // Set-Cookie: cookie1_name=cookie1_value; max-age=0; path=/
1227
+ // Set-Cookie: c2=v2; expires=Thu, 21-Aug-2008 23:47:25 GMT; path=/
1228
+ for(var i = 0; i < field.length; ++i) {
1229
+ var fv = field[i];
1230
+ var m;
1231
+ regex.lastIndex = 0;
1232
+ var first = true;
1233
+ var cookie = {};
1234
+ do {
1235
+ m = regex.exec(fv);
1236
+ if(m !== null) {
1237
+ var name = _trimString(m[1]);
1238
+ var value = _trimString(m[2]);
1239
+
1240
+ // cookie_name=value
1241
+ if(first) {
1242
+ cookie.name = name;
1243
+ cookie.value = value;
1244
+ first = false;
1245
+ } else {
1246
+ // property_name=value
1247
+ name = name.toLowerCase();
1248
+ switch(name) {
1249
+ case 'expires':
1250
+ // replace hyphens w/spaces so date will parse
1251
+ value = value.replace(/-/g, ' ');
1252
+ var secs = Date.parse(value) / 1000;
1253
+ cookie.maxAge = Math.max(0, secs - now);
1254
+ break;
1255
+ case 'max-age':
1256
+ cookie.maxAge = parseInt(value, 10);
1257
+ break;
1258
+ case 'secure':
1259
+ cookie.secure = true;
1260
+ break;
1261
+ case 'httponly':
1262
+ cookie.httpOnly = true;
1263
+ break;
1264
+ default:
1265
+ if(name !== '') {
1266
+ cookie[name] = value;
1267
+ }
1268
+ }
1269
+ }
1270
+ }
1271
+ } while(m !== null && m[0] !== '');
1272
+ rval.push(cookie);
1273
+ }
1274
+ }
1275
+
1276
+ return rval;
1277
+ };
1278
+
1279
+ /**
1280
+ * Converts an http response into a string that can be sent as an
1281
+ * HTTP response. Does not include any data.
1282
+ *
1283
+ * @return the string representation of the response.
1284
+ */
1285
+ response.toString = function() {
1286
+ /* Sample response header:
1287
+ HTTP/1.0 200 OK
1288
+ Host: www.someurl.com
1289
+ Connection: close
1290
+ */
1291
+
1292
+ // build start line
1293
+ var rval =
1294
+ response.version + ' ' + response.code + ' ' + response.message + '\r\n';
1295
+
1296
+ // add each header
1297
+ for(var name in response.fields) {
1298
+ var fields = response.fields[name];
1299
+ for(var i = 0; i < fields.length; ++i) {
1300
+ rval += name + ': ' + fields[i] + '\r\n';
1301
+ }
1302
+ }
1303
+ // final terminating CRLF
1304
+ rval += '\r\n';
1305
+
1306
+ return rval;
1307
+ };
1308
+
1309
+ return response;
1310
+ };
1311
+
1312
+ /**
1313
+ * Returns true if the given url is within the given cookie's domain.
1314
+ *
1315
+ * @param url the url to check.
1316
+ * @param cookie the cookie or cookie domain to check.
1317
+ */
1318
+ http.withinCookieDomain = function(url, cookie) {
1319
+ var rval = false;
1320
+
1321
+ // cookie may be null, a cookie object, or a domain string
1322
+ var domain = (cookie === null || typeof cookie === 'string') ?
1323
+ cookie : cookie.domain;
1324
+
1325
+ // any domain will do
1326
+ if(domain === null) {
1327
+ rval = true;
1328
+ } else if(domain.charAt(0) === '.') {
1329
+ // ensure domain starts with a '.'
1330
+ // parse URL as necessary
1331
+ if(typeof url === 'string') {
1332
+ url = new URL(url);
1333
+ }
1334
+
1335
+ // add '.' to front of URL hostname to match against domain
1336
+ var host = '.' + url.hostname;
1337
+
1338
+ // if the host ends with domain then it falls within it
1339
+ var idx = host.lastIndexOf(domain);
1340
+ if(idx !== -1 && (idx + domain.length === host.length)) {
1341
+ rval = true;
1342
+ }
1343
+ }
1344
+
1345
+ return rval;
1346
+ };