vansrouter 0.9.0 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1015) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +8 -7
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/react-loadable-manifest.json +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 +5 -5
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +3 -3
  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 +2 -2
  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 +3 -3
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +3 -3
  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 +2 -2
  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 +2 -2
  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 +3 -3
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +2 -2
  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 +3 -3
  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 +2 -2
  81. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +2 -2
  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/_global-error.segment.rsc +1 -1
  84. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  85. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  86. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +2 -2
  87. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  88. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  89. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  91. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  92. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  93. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
  95. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  96. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  97. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  98. package/app/.next-cli-build/server/app/api/auth/check/route.js +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/check/route.js.nft.json +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/reset-password/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 +4 -4
  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 +2 -2
  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/codex-settings/route.js +1 -1
  125. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  127. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  129. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
  131. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
  133. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  134. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
  135. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  137. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  139. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  141. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  143. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  145. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  146. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  147. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  148. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  149. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  151. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  152. package/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
  153. package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
  154. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
  155. package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
  157. package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
  158. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  159. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  160. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  161. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  163. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  164. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  165. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  166. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  169. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  170. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  171. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  172. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  175. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  176. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  177. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  178. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  181. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  182. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  183. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  184. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  187. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  188. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  189. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  190. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  193. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  194. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  195. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  196. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  199. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  200. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  201. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  202. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  203. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  205. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  206. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  207. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  208. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  211. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  212. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  213. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  214. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  217. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  218. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  219. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  220. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  223. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  224. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  225. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  226. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  229. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  230. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  231. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  232. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route.js +1 -0
  235. package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route.js.nft.json +1 -0
  236. package/app/.next-cli-build/server/app/api/providers/[id]/gcp-projects/route_client-reference-manifest.js +1 -0
  237. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  238. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  239. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  240. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  241. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  244. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  245. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js +1 -1
  246. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/[name]/reset/route.js.nft.json +1 -1
  247. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/providers/circuit-breakers/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  250. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  251. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  252. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  253. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  256. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  257. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  258. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  259. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  262. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  263. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  264. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  265. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  266. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  268. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  269. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  270. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  271. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  272. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
  274. package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
  275. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
  276. package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
  277. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
  278. package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
  280. package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
  281. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
  282. package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
  283. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
  284. package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
  286. package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
  287. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
  288. package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
  289. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  292. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  293. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  294. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  295. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  298. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  299. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  300. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  301. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  304. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  305. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  306. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  307. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  310. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  311. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  312. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  313. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  316. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  317. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  318. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  319. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  322. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  323. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  324. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  325. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +3 -3
  326. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  328. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  329. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  330. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  331. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  334. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  335. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  336. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  337. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js +1 -1
  340. package/app/.next-cli-build/server/app/api/usage/request-details/[id]/route.js.nft.json +1 -1
  341. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  342. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  343. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  344. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  346. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  347. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  348. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  349. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  350. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  352. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  353. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  354. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  355. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  358. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  359. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  360. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  361. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
  362. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  364. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  365. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  366. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  367. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  370. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  371. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  372. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  373. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  374. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  376. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  377. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  378. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  379. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  382. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  383. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  384. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  385. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  388. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  389. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  390. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  391. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  394. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  395. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  396. package/app/.next-cli-build/server/app/callback.html +1 -1
  397. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  398. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  399. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  400. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
  401. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  402. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  403. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  404. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  405. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  406. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  407. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  408. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  409. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  410. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  411. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  412. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
  413. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  414. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  415. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  416. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  417. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  418. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  419. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  420. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  421. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  422. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
  423. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  424. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  425. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  426. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  427. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  428. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  429. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  430. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  431. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  432. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
  433. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  434. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  435. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  436. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  437. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  438. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  439. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  440. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  441. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  442. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
  443. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  444. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  445. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  446. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  447. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  448. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  449. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  450. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  451. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  452. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  453. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
  454. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  455. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  456. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  457. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  458. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  459. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  460. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  461. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  462. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  463. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
  464. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  465. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  466. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  467. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  468. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  469. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  470. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  471. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  472. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  473. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
  474. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  475. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  476. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  477. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  478. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  479. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  480. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  481. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  482. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  483. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  484. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
  485. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  486. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  487. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  488. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  489. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  490. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  491. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  492. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  493. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  494. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
  495. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  496. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  497. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  498. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  499. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  500. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  501. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  502. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  503. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  504. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
  505. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  506. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  507. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  508. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  509. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  510. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  511. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  512. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  513. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  514. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +5 -5
  515. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  516. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  517. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  518. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  519. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  521. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  522. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  523. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
  525. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  526. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  527. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  528. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  529. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  531. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  532. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  533. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
  534. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  535. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  536. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  538. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  539. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  541. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  542. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  543. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  545. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  546. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +5 -5
  548. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  549. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  551. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  552. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  553. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  555. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  556. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  557. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
  558. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  561. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  562. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  563. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  564. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  565. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  566. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  567. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
  568. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  569. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  570. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  571. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  572. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  573. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  574. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  575. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  576. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  577. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
  578. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  579. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  580. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  581. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  582. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  583. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  584. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  585. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  586. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
  587. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  588. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  589. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  590. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  591. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  592. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  593. package/app/.next-cli-build/server/app/landing.html +1 -1
  594. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  595. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  596. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  597. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
  598. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  599. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  600. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  601. package/app/.next-cli-build/server/app/login/page.js +2 -2
  602. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  603. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  604. package/app/.next-cli-build/server/app/login.html +1 -1
  605. package/app/.next-cli-build/server/app/login.rsc +6 -6
  606. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  607. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  608. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
  609. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  610. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  611. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  612. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +1 -1
  613. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  614. package/app/.next-cli-build/server/app/masuk/page.js +2 -2
  615. package/app/.next-cli-build/server/app/masuk/page.js.nft.json +1 -1
  616. package/app/.next-cli-build/server/app/masuk/page_client-reference-manifest.js +1 -1
  617. package/app/.next-cli-build/server/app-paths-manifest.json +8 -7
  618. package/app/.next-cli-build/server/chunks/1548.js +63 -0
  619. package/app/.next-cli-build/server/chunks/1688.js +1 -1
  620. package/app/.next-cli-build/server/chunks/2056.js +1 -1
  621. package/app/.next-cli-build/server/chunks/2445.js +1 -1
  622. package/app/.next-cli-build/server/chunks/2554.js +4 -4
  623. package/app/.next-cli-build/server/chunks/2557.js +4 -4
  624. package/app/.next-cli-build/server/chunks/3040.js +1 -1
  625. package/app/.next-cli-build/server/chunks/3405.js +1 -1
  626. package/app/.next-cli-build/server/chunks/3711.js +2 -2
  627. package/app/.next-cli-build/server/chunks/3736.js +1 -1
  628. package/app/.next-cli-build/server/chunks/383.js +1 -1
  629. package/app/.next-cli-build/server/chunks/3950.js +1 -1
  630. package/app/.next-cli-build/server/chunks/4418.js +5 -5
  631. package/app/.next-cli-build/server/chunks/4539.js +1 -1
  632. package/app/.next-cli-build/server/chunks/4574.js +4 -4
  633. package/app/.next-cli-build/server/chunks/5006.js +1 -1
  634. package/app/.next-cli-build/server/chunks/5638.js +9 -0
  635. package/app/.next-cli-build/server/chunks/575.js +2 -2
  636. package/app/.next-cli-build/server/chunks/6159.js +1 -1
  637. package/app/.next-cli-build/server/chunks/6165.js +1 -1
  638. package/app/.next-cli-build/server/chunks/{9582.js → 6795.js} +2 -2
  639. package/app/.next-cli-build/server/chunks/7006.js +1 -1
  640. package/app/.next-cli-build/server/chunks/7164.js +1 -1
  641. package/app/.next-cli-build/server/chunks/7938.js +1 -1
  642. package/app/.next-cli-build/server/chunks/8057.js +9 -0
  643. package/app/.next-cli-build/server/chunks/8691.js +1 -1
  644. package/app/.next-cli-build/server/chunks/883.js +1 -1
  645. package/app/.next-cli-build/server/chunks/9633.js +1 -1
  646. package/app/.next-cli-build/server/chunks/9673.js +1 -1
  647. package/app/.next-cli-build/server/chunks/9984.js +1 -1
  648. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  649. package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
  650. package/app/.next-cli-build/server/middleware.js +1 -1
  651. package/app/.next-cli-build/server/pages/404.html +1 -1
  652. package/app/.next-cli-build/server/pages/500.html +1 -1
  653. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  654. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  655. package/app/.next-cli-build/static/chunks/2940-7bfb9676e41c3baa.js +1 -0
  656. package/app/.next-cli-build/static/chunks/3657.512c2a8e4d8a3378.js +1 -0
  657. package/app/.next-cli-build/static/chunks/3700-1638d20a87ed45e9.js +23 -0
  658. package/app/.next-cli-build/static/chunks/4385-d76278174392bc6b.js +1 -0
  659. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-f9d0971a0b2822bd.js → page-d057378e9d6e3055.js} +1 -1
  660. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-fbb93561483790fe.js +12 -0
  661. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-56b08e5cfa9b0979.js +1 -0
  662. package/app/.next-cli-build/static/chunks/app/_global-error/{page-6c97512bccbd0b3b.js → page-b4e2d712d7cc7da0.js} +1 -1
  663. package/app/.next-cli-build/static/chunks/app/api/auth/check/{route-6c97512bccbd0b3b.js → route-b4e2d712d7cc7da0.js} +1 -1
  664. package/app/.next-cli-build/static/chunks/app/api/auth/login/{route-6c97512bccbd0b3b.js → route-b4e2d712d7cc7da0.js} +1 -1
  665. package/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-6c97512bccbd0b3b.js → route-b4e2d712d7cc7da0.js} +1 -1
  666. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-b4e2d712d7cc7da0.js +1 -0
  667. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-b4e2d712d7cc7da0.js +1 -0
  668. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-b4e2d712d7cc7da0.js +1 -0
  669. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-b4e2d712d7cc7da0.js +1 -0
  670. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-b4e2d712d7cc7da0.js +1 -0
  671. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-b4e2d712d7cc7da0.js +1 -0
  672. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-b4e2d712d7cc7da0.js +1 -0
  673. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-b4e2d712d7cc7da0.js +1 -0
  674. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-b4e2d712d7cc7da0.js +1 -0
  675. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-b4e2d712d7cc7da0.js +1 -0
  676. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-b4e2d712d7cc7da0.js +1 -0
  677. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-b4e2d712d7cc7da0.js +1 -0
  678. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-b4e2d712d7cc7da0.js +1 -0
  679. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-b4e2d712d7cc7da0.js +1 -0
  680. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-b4e2d712d7cc7da0.js +1 -0
  681. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-b4e2d712d7cc7da0.js +1 -0
  682. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-b4e2d712d7cc7da0.js +1 -0
  683. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-b4e2d712d7cc7da0.js +1 -0
  684. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-b4e2d712d7cc7da0.js +1 -0
  685. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-b4e2d712d7cc7da0.js +1 -0
  686. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-b4e2d712d7cc7da0.js +1 -0
  687. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-b4e2d712d7cc7da0.js +1 -0
  688. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-b4e2d712d7cc7da0.js +1 -0
  689. package/app/.next-cli-build/static/chunks/app/api/combos/route-b4e2d712d7cc7da0.js +1 -0
  690. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-b4e2d712d7cc7da0.js +1 -0
  691. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-b4e2d712d7cc7da0.js +1 -0
  692. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-b4e2d712d7cc7da0.js +1 -0
  693. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-b4e2d712d7cc7da0.js +1 -0
  694. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-b4e2d712d7cc7da0.js +1 -0
  695. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-b4e2d712d7cc7da0.js +1 -0
  696. package/app/.next-cli-build/static/chunks/app/api/health/route-b4e2d712d7cc7da0.js +1 -0
  697. package/app/.next-cli-build/static/chunks/app/api/init/route-b4e2d712d7cc7da0.js +1 -0
  698. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-b4e2d712d7cc7da0.js +1 -0
  699. package/app/.next-cli-build/static/chunks/app/api/keys/route-b4e2d712d7cc7da0.js +1 -0
  700. package/app/.next-cli-build/static/chunks/app/api/locale/route-b4e2d712d7cc7da0.js +1 -0
  701. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-b4e2d712d7cc7da0.js +1 -0
  702. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-b4e2d712d7cc7da0.js +1 -0
  703. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-b4e2d712d7cc7da0.js +1 -0
  704. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-b4e2d712d7cc7da0.js +1 -0
  705. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-b4e2d712d7cc7da0.js +1 -0
  706. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-b4e2d712d7cc7da0.js +1 -0
  707. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-b4e2d712d7cc7da0.js +1 -0
  708. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-b4e2d712d7cc7da0.js +1 -0
  709. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-b4e2d712d7cc7da0.js +1 -0
  710. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-b4e2d712d7cc7da0.js +1 -0
  711. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-b4e2d712d7cc7da0.js +1 -0
  712. package/app/.next-cli-build/static/chunks/app/api/models/route-b4e2d712d7cc7da0.js +1 -0
  713. package/app/.next-cli-build/static/chunks/app/api/models/test/route-b4e2d712d7cc7da0.js +1 -0
  714. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-b4e2d712d7cc7da0.js +1 -0
  715. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-b4e2d712d7cc7da0.js +1 -0
  716. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-b4e2d712d7cc7da0.js +1 -0
  717. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-b4e2d712d7cc7da0.js +1 -0
  718. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-b4e2d712d7cc7da0.js +1 -0
  719. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-b4e2d712d7cc7da0.js +1 -0
  720. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-b4e2d712d7cc7da0.js +1 -0
  721. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-b4e2d712d7cc7da0.js +1 -0
  722. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-b4e2d712d7cc7da0.js +1 -0
  723. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-b4e2d712d7cc7da0.js +1 -0
  724. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-b4e2d712d7cc7da0.js +1 -0
  725. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-b4e2d712d7cc7da0.js +1 -0
  726. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-b4e2d712d7cc7da0.js +1 -0
  727. package/app/.next-cli-build/static/chunks/app/api/pricing/route-b4e2d712d7cc7da0.js +1 -0
  728. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-b4e2d712d7cc7da0.js +1 -0
  729. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-b4e2d712d7cc7da0.js +1 -0
  730. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-b4e2d712d7cc7da0.js +1 -0
  731. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/gcp-projects/route-b4e2d712d7cc7da0.js +1 -0
  732. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-b4e2d712d7cc7da0.js +1 -0
  733. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-b4e2d712d7cc7da0.js +1 -0
  734. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-b4e2d712d7cc7da0.js +1 -0
  735. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-b4e2d712d7cc7da0.js +1 -0
  736. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-b4e2d712d7cc7da0.js +1 -0
  737. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-b4e2d712d7cc7da0.js +1 -0
  738. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-b4e2d712d7cc7da0.js +1 -0
  739. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-b4e2d712d7cc7da0.js +1 -0
  740. package/app/.next-cli-build/static/chunks/app/api/providers/route-b4e2d712d7cc7da0.js +1 -0
  741. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-b4e2d712d7cc7da0.js +1 -0
  742. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-b4e2d712d7cc7da0.js +1 -0
  743. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-b4e2d712d7cc7da0.js +1 -0
  744. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-b4e2d712d7cc7da0.js +1 -0
  745. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-b4e2d712d7cc7da0.js +1 -0
  746. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-b4e2d712d7cc7da0.js +1 -0
  747. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-b4e2d712d7cc7da0.js +1 -0
  748. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-b4e2d712d7cc7da0.js +1 -0
  749. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-b4e2d712d7cc7da0.js +1 -0
  750. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-b4e2d712d7cc7da0.js +1 -0
  751. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-b4e2d712d7cc7da0.js +1 -0
  752. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-b4e2d712d7cc7da0.js +1 -0
  753. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-b4e2d712d7cc7da0.js +1 -0
  754. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-b4e2d712d7cc7da0.js +1 -0
  755. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-b4e2d712d7cc7da0.js +1 -0
  756. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-b4e2d712d7cc7da0.js +1 -0
  757. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-b4e2d712d7cc7da0.js +1 -0
  758. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-b4e2d712d7cc7da0.js +1 -0
  759. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-b4e2d712d7cc7da0.js +1 -0
  760. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-b4e2d712d7cc7da0.js +1 -0
  761. package/app/.next-cli-build/static/chunks/app/api/settings/route-b4e2d712d7cc7da0.js +1 -0
  762. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-b4e2d712d7cc7da0.js +1 -0
  763. package/app/.next-cli-build/static/chunks/app/api/tags/route-b4e2d712d7cc7da0.js +1 -0
  764. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-b4e2d712d7cc7da0.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-b4e2d712d7cc7da0.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-b4e2d712d7cc7da0.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-b4e2d712d7cc7da0.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-b4e2d712d7cc7da0.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-b4e2d712d7cc7da0.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-b4e2d712d7cc7da0.js +1 -0
  771. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-b4e2d712d7cc7da0.js +1 -0
  772. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-b4e2d712d7cc7da0.js +1 -0
  773. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-b4e2d712d7cc7da0.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-b4e2d712d7cc7da0.js +1 -0
  775. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-b4e2d712d7cc7da0.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-b4e2d712d7cc7da0.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-b4e2d712d7cc7da0.js +1 -0
  778. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-b4e2d712d7cc7da0.js +1 -0
  779. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-b4e2d712d7cc7da0.js +1 -0
  780. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-b4e2d712d7cc7da0.js +1 -0
  781. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-b4e2d712d7cc7da0.js +1 -0
  782. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-b4e2d712d7cc7da0.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-b4e2d712d7cc7da0.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-b4e2d712d7cc7da0.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-b4e2d712d7cc7da0.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-b4e2d712d7cc7da0.js +1 -0
  787. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-b4e2d712d7cc7da0.js +1 -0
  788. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-b4e2d712d7cc7da0.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-b4e2d712d7cc7da0.js +1 -0
  790. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-b4e2d712d7cc7da0.js +1 -0
  791. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-b4e2d712d7cc7da0.js +1 -0
  792. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-b4e2d712d7cc7da0.js +1 -0
  793. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-b4e2d712d7cc7da0.js +1 -0
  794. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-b4e2d712d7cc7da0.js +1 -0
  795. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-b4e2d712d7cc7da0.js +1 -0
  796. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-b4e2d712d7cc7da0.js +1 -0
  797. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-b4e2d712d7cc7da0.js +1 -0
  798. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-b4e2d712d7cc7da0.js +1 -0
  799. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-b4e2d712d7cc7da0.js +1 -0
  800. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-b4e2d712d7cc7da0.js +1 -0
  801. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-b4e2d712d7cc7da0.js +1 -0
  802. package/app/.next-cli-build/static/chunks/app/api/v1/route-b4e2d712d7cc7da0.js +1 -0
  803. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-b4e2d712d7cc7da0.js +1 -0
  804. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-b4e2d712d7cc7da0.js +1 -0
  805. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-b4e2d712d7cc7da0.js +1 -0
  806. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-b4e2d712d7cc7da0.js +1 -0
  807. package/app/.next-cli-build/static/chunks/app/api/version/route-b4e2d712d7cc7da0.js +1 -0
  808. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-b4e2d712d7cc7da0.js +1 -0
  809. package/app/.next-cli-build/static/chunks/app/api/version/update/route-b4e2d712d7cc7da0.js +1 -0
  810. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-b4e2d712d7cc7da0.js +1 -0
  811. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-b4e2d712d7cc7da0.js +1 -0
  812. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-b4e2d712d7cc7da0.js +1 -0
  813. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-b4e2d712d7cc7da0.js +1 -0
  814. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-b4e2d712d7cc7da0.js +1 -0
  815. package/app/.next-cli-build/static/chunks/webpack-dcde53305cf97d3a.js +1 -0
  816. package/app/.next-cli-build/static/css/5279f70cd3c74275.css +1 -0
  817. package/app/_nm/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/index.js +163 -0
  818. package/app/_nm/.pnpm/ansi-styles@4.3.0/node_modules/ansi-styles/package.json +56 -0
  819. package/app/_nm/.pnpm/ansi-styles@4.3.0/node_modules/color-convert/conversions.js +839 -0
  820. package/app/_nm/.pnpm/ansi-styles@4.3.0/node_modules/color-convert/index.js +81 -0
  821. package/app/_nm/.pnpm/ansi-styles@4.3.0/node_modules/color-convert/package.json +48 -0
  822. package/app/_nm/.pnpm/ansi-styles@4.3.0/node_modules/color-convert/route.js +97 -0
  823. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/ansi-styles/index.js +163 -0
  824. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/ansi-styles/package.json +56 -0
  825. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/chalk/package.json +68 -0
  826. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/chalk/source/index.js +229 -0
  827. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/chalk/source/templates.js +134 -0
  828. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/chalk/source/util.js +39 -0
  829. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/supports-color/index.js +135 -0
  830. package/app/_nm/.pnpm/chalk@4.1.2/node_modules/supports-color/package.json +53 -0
  831. package/app/_nm/.pnpm/color-convert@2.0.1/node_modules/color-convert/conversions.js +839 -0
  832. package/app/_nm/.pnpm/color-convert@2.0.1/node_modules/color-convert/index.js +81 -0
  833. package/app/_nm/.pnpm/color-convert@2.0.1/node_modules/color-convert/package.json +48 -0
  834. package/app/_nm/.pnpm/color-convert@2.0.1/node_modules/color-convert/route.js +97 -0
  835. package/app/_nm/.pnpm/color-convert@2.0.1/node_modules/color-name/index.js +152 -0
  836. package/app/_nm/.pnpm/color-convert@2.0.1/node_modules/color-name/package.json +28 -0
  837. package/app/_nm/.pnpm/color-name@1.1.4/node_modules/color-name/index.js +152 -0
  838. package/app/_nm/.pnpm/color-name@1.1.4/node_modules/color-name/package.json +28 -0
  839. package/app/_nm/.pnpm/dompurify@3.2.7/node_modules/dompurify/dist/purify.cjs.js +1359 -0
  840. package/app/_nm/.pnpm/dompurify@3.2.7/node_modules/dompurify/package.json +171 -0
  841. package/app/_nm/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js +8 -0
  842. package/app/_nm/.pnpm/has-flag@4.0.0/node_modules/has-flag/package.json +46 -0
  843. package/app/_nm/.pnpm/supports-color@7.2.0/node_modules/has-flag/index.js +8 -0
  844. package/app/_nm/.pnpm/supports-color@7.2.0/node_modules/has-flag/package.json +46 -0
  845. package/app/_nm/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js +135 -0
  846. package/app/_nm/.pnpm/supports-color@7.2.0/node_modules/supports-color/package.json +53 -0
  847. package/app/_nm/chalk/package.json +68 -0
  848. package/app/_nm/chalk/source/index.js +229 -0
  849. package/app/_nm/chalk/source/templates.js +134 -0
  850. package/app/_nm/chalk/source/util.js +39 -0
  851. package/app/_nm/dompurify/dist/purify.cjs.js +1359 -0
  852. package/app/_nm/dompurify/package.json +171 -0
  853. package/app/package.json +4 -1
  854. package/package.json +1 -1
  855. package/app/.next-cli-build/server/chunks/3141.js +0 -9
  856. package/app/.next-cli-build/server/chunks/7204.js +0 -63
  857. package/app/.next-cli-build/server/chunks/8121.js +0 -9
  858. package/app/.next-cli-build/static/chunks/2940-118a55e898443060.js +0 -1
  859. package/app/.next-cli-build/static/chunks/3657.ebdbf7a663552b39.js +0 -1
  860. package/app/.next-cli-build/static/chunks/3700-15225430a8d2ad27.js +0 -23
  861. package/app/.next-cli-build/static/chunks/4385-7038414df0ff9f94.js +0 -1
  862. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-c8313893c058d947.js +0 -12
  863. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-81fc749f0faf82dc.js +0 -1
  864. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-6c97512bccbd0b3b.js +0 -1
  865. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-6c97512bccbd0b3b.js +0 -1
  866. package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-6c97512bccbd0b3b.js +0 -1
  867. package/app/.next-cli-build/static/chunks/app/api/auth/reset-password/route-6c97512bccbd0b3b.js +0 -1
  868. package/app/.next-cli-build/static/chunks/app/api/auth/status/route-6c97512bccbd0b3b.js +0 -1
  869. package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-6c97512bccbd0b3b.js +0 -1
  870. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-6c97512bccbd0b3b.js +0 -1
  871. package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-6c97512bccbd0b3b.js +0 -1
  872. package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-6c97512bccbd0b3b.js +0 -1
  873. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-6c97512bccbd0b3b.js +0 -1
  874. package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-6c97512bccbd0b3b.js +0 -1
  875. package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-6c97512bccbd0b3b.js +0 -1
  876. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-6c97512bccbd0b3b.js +0 -1
  877. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-6c97512bccbd0b3b.js +0 -1
  878. package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-6c97512bccbd0b3b.js +0 -1
  879. package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-6c97512bccbd0b3b.js +0 -1
  880. package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-6c97512bccbd0b3b.js +0 -1
  881. package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-6c97512bccbd0b3b.js +0 -1
  882. package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-6c97512bccbd0b3b.js +0 -1
  883. package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-6c97512bccbd0b3b.js +0 -1
  884. package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-6c97512bccbd0b3b.js +0 -1
  885. package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-6c97512bccbd0b3b.js +0 -1
  886. package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-6c97512bccbd0b3b.js +0 -1
  887. package/app/.next-cli-build/static/chunks/app/api/combos/route-6c97512bccbd0b3b.js +0 -1
  888. package/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-6c97512bccbd0b3b.js +0 -1
  889. package/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-6c97512bccbd0b3b.js +0 -1
  890. package/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-6c97512bccbd0b3b.js +0 -1
  891. package/app/.next-cli-build/static/chunks/app/api/headroom/start/route-6c97512bccbd0b3b.js +0 -1
  892. package/app/.next-cli-build/static/chunks/app/api/headroom/status/route-6c97512bccbd0b3b.js +0 -1
  893. package/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-6c97512bccbd0b3b.js +0 -1
  894. package/app/.next-cli-build/static/chunks/app/api/health/route-6c97512bccbd0b3b.js +0 -1
  895. package/app/.next-cli-build/static/chunks/app/api/init/route-6c97512bccbd0b3b.js +0 -1
  896. package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-6c97512bccbd0b3b.js +0 -1
  897. package/app/.next-cli-build/static/chunks/app/api/keys/route-6c97512bccbd0b3b.js +0 -1
  898. package/app/.next-cli-build/static/chunks/app/api/locale/route-6c97512bccbd0b3b.js +0 -1
  899. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-6c97512bccbd0b3b.js +0 -1
  900. package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-6c97512bccbd0b3b.js +0 -1
  901. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-6c97512bccbd0b3b.js +0 -1
  902. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-6c97512bccbd0b3b.js +0 -1
  903. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-6c97512bccbd0b3b.js +0 -1
  904. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-6c97512bccbd0b3b.js +0 -1
  905. package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-6c97512bccbd0b3b.js +0 -1
  906. package/app/.next-cli-build/static/chunks/app/api/models/alias/route-6c97512bccbd0b3b.js +0 -1
  907. package/app/.next-cli-build/static/chunks/app/api/models/availability/route-6c97512bccbd0b3b.js +0 -1
  908. package/app/.next-cli-build/static/chunks/app/api/models/custom/route-6c97512bccbd0b3b.js +0 -1
  909. package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-6c97512bccbd0b3b.js +0 -1
  910. package/app/.next-cli-build/static/chunks/app/api/models/route-6c97512bccbd0b3b.js +0 -1
  911. package/app/.next-cli-build/static/chunks/app/api/models/test/route-6c97512bccbd0b3b.js +0 -1
  912. package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-6c97512bccbd0b3b.js +0 -1
  913. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/bulk-import/route-6c97512bccbd0b3b.js +0 -1
  914. package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-6c97512bccbd0b3b.js +0 -1
  915. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-6c97512bccbd0b3b.js +0 -1
  916. package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-6c97512bccbd0b3b.js +0 -1
  917. package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-6c97512bccbd0b3b.js +0 -1
  918. package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-6c97512bccbd0b3b.js +0 -1
  919. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-6c97512bccbd0b3b.js +0 -1
  920. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-6c97512bccbd0b3b.js +0 -1
  921. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-6c97512bccbd0b3b.js +0 -1
  922. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-6c97512bccbd0b3b.js +0 -1
  923. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-6c97512bccbd0b3b.js +0 -1
  924. package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-6c97512bccbd0b3b.js +0 -1
  925. package/app/.next-cli-build/static/chunks/app/api/pricing/route-6c97512bccbd0b3b.js +0 -1
  926. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-6c97512bccbd0b3b.js +0 -1
  927. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-6c97512bccbd0b3b.js +0 -1
  928. package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-6c97512bccbd0b3b.js +0 -1
  929. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-6c97512bccbd0b3b.js +0 -1
  930. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-6c97512bccbd0b3b.js +0 -1
  931. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-6c97512bccbd0b3b.js +0 -1
  932. package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-6c97512bccbd0b3b.js +0 -1
  933. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/[name]/reset/route-6c97512bccbd0b3b.js +0 -1
  934. package/app/.next-cli-build/static/chunks/app/api/providers/circuit-breakers/route-6c97512bccbd0b3b.js +0 -1
  935. package/app/.next-cli-build/static/chunks/app/api/providers/client/route-6c97512bccbd0b3b.js +0 -1
  936. package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-6c97512bccbd0b3b.js +0 -1
  937. package/app/.next-cli-build/static/chunks/app/api/providers/route-6c97512bccbd0b3b.js +0 -1
  938. package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-6c97512bccbd0b3b.js +0 -1
  939. package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-6c97512bccbd0b3b.js +0 -1
  940. package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-6c97512bccbd0b3b.js +0 -1
  941. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-6c97512bccbd0b3b.js +0 -1
  942. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-6c97512bccbd0b3b.js +0 -1
  943. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-6c97512bccbd0b3b.js +0 -1
  944. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-6c97512bccbd0b3b.js +0 -1
  945. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-6c97512bccbd0b3b.js +0 -1
  946. package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-6c97512bccbd0b3b.js +0 -1
  947. package/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-6c97512bccbd0b3b.js +0 -1
  948. package/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-6c97512bccbd0b3b.js +0 -1
  949. package/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-6c97512bccbd0b3b.js +0 -1
  950. package/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-6c97512bccbd0b3b.js +0 -1
  951. package/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-6c97512bccbd0b3b.js +0 -1
  952. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-6c97512bccbd0b3b.js +0 -1
  953. package/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-6c97512bccbd0b3b.js +0 -1
  954. package/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-6c97512bccbd0b3b.js +0 -1
  955. package/app/.next-cli-build/static/chunks/app/api/settings/database/route-6c97512bccbd0b3b.js +0 -1
  956. package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-6c97512bccbd0b3b.js +0 -1
  957. package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-6c97512bccbd0b3b.js +0 -1
  958. package/app/.next-cli-build/static/chunks/app/api/settings/route-6c97512bccbd0b3b.js +0 -1
  959. package/app/.next-cli-build/static/chunks/app/api/shutdown/route-6c97512bccbd0b3b.js +0 -1
  960. package/app/.next-cli-build/static/chunks/app/api/tags/route-6c97512bccbd0b3b.js +0 -1
  961. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-6c97512bccbd0b3b.js +0 -1
  962. package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-6c97512bccbd0b3b.js +0 -1
  963. package/app/.next-cli-build/static/chunks/app/api/translator/load/route-6c97512bccbd0b3b.js +0 -1
  964. package/app/.next-cli-build/static/chunks/app/api/translator/save/route-6c97512bccbd0b3b.js +0 -1
  965. package/app/.next-cli-build/static/chunks/app/api/translator/send/route-6c97512bccbd0b3b.js +0 -1
  966. package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-6c97512bccbd0b3b.js +0 -1
  967. package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-6c97512bccbd0b3b.js +0 -1
  968. package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-6c97512bccbd0b3b.js +0 -1
  969. package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-6c97512bccbd0b3b.js +0 -1
  970. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-6c97512bccbd0b3b.js +0 -1
  971. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-6c97512bccbd0b3b.js +0 -1
  972. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-6c97512bccbd0b3b.js +0 -1
  973. package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-6c97512bccbd0b3b.js +0 -1
  974. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-6c97512bccbd0b3b.js +0 -1
  975. package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-6c97512bccbd0b3b.js +0 -1
  976. package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-6c97512bccbd0b3b.js +0 -1
  977. package/app/.next-cli-build/static/chunks/app/api/usage/history/route-6c97512bccbd0b3b.js +0 -1
  978. package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-6c97512bccbd0b3b.js +0 -1
  979. package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-6c97512bccbd0b3b.js +0 -1
  980. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/[id]/route-6c97512bccbd0b3b.js +0 -1
  981. package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-6c97512bccbd0b3b.js +0 -1
  982. package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-6c97512bccbd0b3b.js +0 -1
  983. package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-6c97512bccbd0b3b.js +0 -1
  984. package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-6c97512bccbd0b3b.js +0 -1
  985. package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-6c97512bccbd0b3b.js +0 -1
  986. package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-6c97512bccbd0b3b.js +0 -1
  987. package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-6c97512bccbd0b3b.js +0 -1
  988. package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-6c97512bccbd0b3b.js +0 -1
  989. package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-6c97512bccbd0b3b.js +0 -1
  990. package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-6c97512bccbd0b3b.js +0 -1
  991. package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-6c97512bccbd0b3b.js +0 -1
  992. package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-6c97512bccbd0b3b.js +0 -1
  993. package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-6c97512bccbd0b3b.js +0 -1
  994. package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-6c97512bccbd0b3b.js +0 -1
  995. package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-6c97512bccbd0b3b.js +0 -1
  996. package/app/.next-cli-build/static/chunks/app/api/v1/models/route-6c97512bccbd0b3b.js +0 -1
  997. package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-6c97512bccbd0b3b.js +0 -1
  998. package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-6c97512bccbd0b3b.js +0 -1
  999. package/app/.next-cli-build/static/chunks/app/api/v1/route-6c97512bccbd0b3b.js +0 -1
  1000. package/app/.next-cli-build/static/chunks/app/api/v1/search/route-6c97512bccbd0b3b.js +0 -1
  1001. package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-6c97512bccbd0b3b.js +0 -1
  1002. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-6c97512bccbd0b3b.js +0 -1
  1003. package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-6c97512bccbd0b3b.js +0 -1
  1004. package/app/.next-cli-build/static/chunks/app/api/version/route-6c97512bccbd0b3b.js +0 -1
  1005. package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-6c97512bccbd0b3b.js +0 -1
  1006. package/app/.next-cli-build/static/chunks/app/api/version/update/route-6c97512bccbd0b3b.js +0 -1
  1007. package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-6c97512bccbd0b3b.js +0 -1
  1008. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-6c97512bccbd0b3b.js +0 -1
  1009. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-6c97512bccbd0b3b.js +0 -1
  1010. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-6c97512bccbd0b3b.js +0 -1
  1011. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-6c97512bccbd0b3b.js +0 -1
  1012. package/app/.next-cli-build/static/chunks/webpack-66c60e327317b84e.js +0 -1
  1013. package/app/.next-cli-build/static/css/2bcf8360fd5b65f9.css +0 -1
  1014. /package/app/.next-cli-build/static/{u1Z2OfE631HIwJogDw7Zo → DgZGtay5XqIXdPv9nJfvo}/_buildManifest.js +0 -0
  1015. /package/app/.next-cli-build/static/{u1Z2OfE631HIwJogDw7Zo → DgZGtay5XqIXdPv9nJfvo}/_ssgManifest.js +0 -0
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},46165:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(26985);async function e(a){let{Database:b}=await Promise.resolve().then(function(){var a=Error("Cannot find module 'bun:sqlite'");throw a.code="MODULE_NOT_FOUND",a}),c=new b(a,{create:!0});c.exec(d.oG);let e=new Map;function f(a){let b=e.get(a);return b||(b=c.prepare(a),e.set(a,b)),b}let g=setInterval(()=>{try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{e.clear()}catch{}try{c.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=f(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>f(a).get(...b),all:(a,b=[])=>f(a).all(...b),exec:a=>c.exec(a),transaction:a=>c.transaction(a)(),checkpoint(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:c}}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},46165:(a,b,c)=>{c.d(b,{createBunSqliteAdapter:()=>e});var d=c(26985);async function e(a){let{Database:b}=await Promise.resolve().then(function(){var a=Error("Cannot find module 'bun:sqlite'");throw a.code="MODULE_NOT_FOUND",a}),c=new b(a,{create:!0});c.exec(d.oG);let e=new Map;function f(a){let b=e.get(a);return b||(b=c.prepare(a),e.set(a,b)),b}let g=setInterval(()=>{try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}try{e.clear()}catch{}try{c.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"bun:sqlite",run(a,b=[]){let c=f(a).run(...b);return{changes:Number(c.changes??0),lastInsertRowid:Number(c.lastInsertRowid??0)}},get:(a,b=[])=>f(a).get(...b),all:(a,b=[])=>f(a).all(...b),exec:a=>c.exec(a),transaction:a=>c.transaction(a)(),checkpoint(){try{c.exec("PRAGMA wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:c}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=9582,exports.ids=[9582],exports.modules={12958:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(66238),e=c(71183),f=c(34129),g=c(61972);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},25141:(a,b,c)=>{function d(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}c.d(b,{xI:()=>au});var e=d(),f={exec:()=>null};function g(a){let b=[];return c=>{let d=Math.max(0,Math.min(3,c-1)),e=b[d];return e||(e=a(d),b[d]=e),e}}function h(a,b=""){let c="string"==typeof a?a:a.source,d={replace:(a,b)=>{let e="string"==typeof b?b:b.source;return e=e.replace(j.caret,"$1"),c=c.replace(a,e),d},getRegex:()=>new RegExp(c,b)};return d}var i=((a="")=>{try{return!!RegExp("(?<=1)(?<!1)"+a)}catch{return!1}})(),j={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:a=>RegExp(`^( {0,3}${a})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:g(a=>RegExp(`^ {0,${a}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:g(a=>RegExp(`^ {0,${a}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:g(a=>RegExp(`^ {0,${a}}(?:\`\`\`|~~~)`)),headingBeginRegex:g(a=>RegExp(`^ {0,${a}}#`)),htmlBeginRegex:g(a=>RegExp(`^ {0,${a}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:g(a=>RegExp(`^ {0,${a}}>`))},k=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,l=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,m=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,n=h(m).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),o=h(m).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),p=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,q=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,r=h(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",q).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),s=h(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,l).getRegex(),t="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",u=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,v=h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",u).replace("tag",t).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),w=h(p).replace("hr",k).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",t).getRegex(),x={blockquote:h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",w).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:r,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:k,html:v,lheading:n,list:s,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:w,table:f,text:/^[^\n]+/},y=h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",k).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",t).getRegex(),z={...x,lheading:o,table:y,paragraph:h(p).replace("hr",k).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",y).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",t).getRegex()},A={...x,html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",u).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:f,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:h(p).replace("hr",k).replace("heading",` *#{1,6} *[^
1
+ "use strict";exports.id=6795,exports.ids=[6795],exports.modules={12958:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return j}});let d=c(66238),e=c(71183),f=c(34129),g=c(61972);function h(a){return{default:a&&"default"in a?a.default:a}}let i={loader:()=>Promise.resolve(h(()=>null)),loading:null,ssr:!0},j=function(a){let b={...i,...a},c=(0,e.lazy)(()=>b.loader().then(h)),j=b.loading;function k(a){let h=j?(0,d.jsx)(j,{isLoading:!0,pastDelay:!0,error:null}):null,i=!b.ssr||!!b.loading,k=i?e.Suspense:e.Fragment,l=b.ssr?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(g.PreloadChunks,{moduleIds:b.modules}),(0,d.jsx)(c,{...a})]}):(0,d.jsx)(f.BailoutToCSR,{reason:"next/dynamic",children:(0,d.jsx)(c,{...a})});return(0,d.jsx)(k,{...i?{fallback:h}:{},children:l})}return k.displayName="LoadableComponent",k}},25141:(a,b,c)=>{function d(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}c.d(b,{xI:()=>au});var e=d(),f={exec:()=>null};function g(a){let b=[];return c=>{let d=Math.max(0,Math.min(3,c-1)),e=b[d];return e||(e=a(d),b[d]=e),e}}function h(a,b=""){let c="string"==typeof a?a:a.source,d={replace:(a,b)=>{let e="string"==typeof b?b:b.source;return e=e.replace(j.caret,"$1"),c=c.replace(a,e),d},getRegex:()=>new RegExp(c,b)};return d}var i=((a="")=>{try{return!!RegExp("(?<=1)(?<!1)"+a)}catch{return!1}})(),j={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:a=>RegExp(`^( {0,3}${a})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:g(a=>RegExp(`^ {0,${a}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:g(a=>RegExp(`^ {0,${a}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`)),fencesBeginRegex:g(a=>RegExp(`^ {0,${a}}(?:\`\`\`|~~~)`)),headingBeginRegex:g(a=>RegExp(`^ {0,${a}}#`)),htmlBeginRegex:g(a=>RegExp(`^ {0,${a}}<(?:[a-z].*>|!--)`,"i")),blockquoteBeginRegex:g(a=>RegExp(`^ {0,${a}}>`))},k=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,l=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,m=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,n=h(m).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),o=h(m).replace(/bull/g,l).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),p=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,q=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,r=h(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",q).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),s=h(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,l).getRegex(),t="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",u=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,v=h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",u).replace("tag",t).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),w=h(p).replace("hr",k).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",t).getRegex(),x={blockquote:h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",w).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:r,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:k,html:v,lheading:n,list:s,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:w,table:f,text:/^[^\n]+/},y=h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",k).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",t).getRegex(),z={...x,lheading:o,table:y,paragraph:h(p).replace("hr",k).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",y).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",t).getRegex()},A={...x,html:h("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",u).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:f,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:h(p).replace("hr",k).replace("heading",` *#{1,6} *[^
2
2
  ]`).replace("lheading",n).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},B=/^( {2,}|\\)\n(?!\s*$)/,C=/[\p{P}\p{S}]/u,D=/[\s\p{P}\p{S}]/u,E=/[^\s\p{P}\p{S}]/u,F=h(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,D).getRegex(),G=/(?!~)[\p{P}\p{S}]/u,H=h(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",i?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),I=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,J=h(I,"u").replace(/punct/g,C).getRegex(),K=h(I,"u").replace(/punct/g,G).getRegex(),L="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",M=h(L,"gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,D).replace(/punct/g,C).getRegex(),N=h(L,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,G).getRegex(),O=h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,D).replace(/punct/g,C).getRegex(),P=h(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,C).getRegex(),Q=h("^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)","gu").replace(/notPunctSpace/g,E).replace(/punctSpace/g,D).replace(/punct/g,C).getRegex(),R=h(/\\(punct)/,"gu").replace(/punct/g,C).getRegex(),S=h(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),T=h(u).replace("(?:--\x3e|$)","--\x3e").getRegex(),U=h("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",T).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),V=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,W=h(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",V).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),X=h(/^!?\[(label)\]\[(ref)\]/).replace("label",V).replace("ref",q).getRegex(),Y=h(/^!?\[(ref)\](?:\[\])?/).replace("ref",q).getRegex(),Z=h("reflink|nolink(?!\\()","g").replace("reflink",X).replace("nolink",Y).getRegex(),$=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,_={_backpedal:f,anyPunctuation:R,autolink:S,blockSkip:H,br:B,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:f,delLDelim:f,delRDelim:f,emStrongLDelim:J,emStrongRDelimAst:M,emStrongRDelimUnd:O,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:W,nolink:Y,punctuation:F,reflink:X,reflinkSearch:Z,tag:U,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,url:f},aa={..._,link:h(/^!?\[(label)\]\((.*?)\)/).replace("label",V).getRegex(),reflink:h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",V).getRegex()},ab={..._,emStrongRDelimAst:N,emStrongLDelim:K,delLDelim:P,delRDelim:Q,url:h(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",$).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:h(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",$).getRegex()},ac={...ab,br:h(B).replace("{2,}","*").getRegex(),text:h(ab.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ad={normal:x,gfm:z,pedantic:A},ae={normal:_,gfm:ab,breaks:ac,pedantic:aa},af={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ag=a=>af[a];function ah(a,b){if(b){if(j.escapeTest.test(a))return a.replace(j.escapeReplace,ag)}else if(j.escapeTestNoEncode.test(a))return a.replace(j.escapeReplaceNoEncode,ag);return a}function ai(a){try{a=encodeURI(a).replace(j.percentDecode,"%")}catch{return null}return a}function aj(a,b){let c=a.replace(j.findPipe,(a,b,c)=>{let d=!1,e=b;for(;--e>=0&&"\\"===c[e];)d=!d;return d?"|":" |"}).split(j.splitPipe),d=0;if(c[0].trim()||c.shift(),c.length>0&&!c.at(-1)?.trim()&&c.pop(),b)if(c.length>b)c.splice(b);else for(;c.length<b;)c.push("");for(;d<c.length;d++)c[d]=c[d].trim().replace(j.slashPipe,"|");return c}function ak(a,b,c){let d=a.length;if(0===d)return"";let e=0;for(;e<d;){let f=a.charAt(d-e-1);if(f!==b||c)if(f!==b&&c)e++;else break;else e++}return a.slice(0,d-e)}function al(a){let b=a.split(`
3
3
  `),c=b.length-1;for(;c>=0&&j.blankLine.test(b[c]);)c--;return b.length-c<=2?a:b.slice(0,c+1).join(`
4
4
  `)}function am(a,b,c,d,e){let f=b.href,g=b.title||null,h=a[1].replace(e.other.outputLinkReplace,"$1");d.state.inLink=!0;let i={type:"!"===a[0].charAt(0)?"image":"link",raw:c,href:f,title:g,text:h,tokens:d.inlineTokens(h)};return d.state.inLink=!1,i}var an=class{constructor(a){this.options=a||e}space(a){let b=this.rules.block.newline.exec(a);if(b&&b[0].length>0)return{type:"space",raw:b[0]}}code(a){let b=this.rules.block.code.exec(a);if(b){let a=this.options.pedantic?b[0]:al(b[0]),c=a.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:a,codeBlockStyle:"indented",text:c}}}fences(a){let b=this.rules.block.fences.exec(a);if(b){let a=b[0],c=function(a,b,c){let d=a.match(c.other.indentCodeCompensation);if(null===d)return b;let e=d[1];return b.split(`
@@ -61,4 +61,4 @@ ${this.parser.parse(a)}</blockquote>
61
61
  ${a}</tr>
62
62
  `}tablecell(a){let b=this.parser.parseInline(a.tokens),c=a.header?"th":"td";return(a.align?`<${c} align="${a.align}">`:`<${c}>`)+b+`</${c}>
63
63
  `}strong({tokens:a}){return`<strong>${this.parser.parseInline(a)}</strong>`}em({tokens:a}){return`<em>${this.parser.parseInline(a)}</em>`}codespan({text:a}){return`<code>${ah(a,!0)}</code>`}br(a){return"<br>"}del({tokens:a}){return`<del>${this.parser.parseInline(a)}</del>`}link({href:a,title:b,tokens:c}){let d=this.parser.parseInline(c),e=ai(a);if(null===e)return d;let f='<a href="'+(a=e)+'"';return b&&(f+=' title="'+ah(b)+'"'),f+=">"+d+"</a>"}image({href:a,title:b,text:c,tokens:d}){d&&(c=this.parser.parseInline(d,this.parser.textRenderer));let e=ai(a);if(null===e)return ah(c);a=e;let f=`<img src="${a}" alt="${ah(c)}"`;return b&&(f+=` title="${ah(b)}"`),f+=">"}text(a){return"tokens"in a&&a.tokens?this.parser.parseInline(a.tokens):"escaped"in a&&a.escaped?a.text:ah(a.text)}},aq=class{strong({text:a}){return a}em({text:a}){return a}codespan({text:a}){return a}del({text:a}){return a}html({text:a}){return a}text({text:a}){return a}link({text:a}){return""+a}image({text:a}){return""+a}br(){return""}checkbox({raw:a}){return a}},ar=class a{constructor(a){this.options=a||e,this.options.renderer=this.options.renderer||new ap,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new aq}static parse(b,c){return new a(c).parse(b)}static parseInline(b,c){return new a(c).parseInline(b)}parse(a){this.renderer.parser=this;let b="";for(let c=0;c<a.length;c++){let d=a[c];if(this.options.extensions?.renderers?.[d.type]){let a=this.options.extensions.renderers[d.type].call({parser:this},d);if(!1!==a||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(d.type)){b+=a||"";continue}}switch(d.type){case"space":b+=this.renderer.space(d);break;case"hr":b+=this.renderer.hr(d);break;case"heading":b+=this.renderer.heading(d);break;case"code":b+=this.renderer.code(d);break;case"table":b+=this.renderer.table(d);break;case"blockquote":b+=this.renderer.blockquote(d);break;case"list":b+=this.renderer.list(d);break;case"checkbox":b+=this.renderer.checkbox(d);break;case"html":b+=this.renderer.html(d);break;case"def":b+=this.renderer.def(d);break;case"paragraph":b+=this.renderer.paragraph(d);break;case"text":b+=this.renderer.text(d);break;default:{let a='Token with "'+d.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw Error(a)}}}return b}parseInline(a,b=this.renderer){this.renderer.parser=this;let c="";for(let d=0;d<a.length;d++){let e=a[d];if(this.options.extensions?.renderers?.[e.type]){let a=this.options.extensions.renderers[e.type].call({parser:this},e);if(!1!==a||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(e.type)){c+=a||"";continue}}switch(e.type){case"escape":case"text":c+=b.text(e);break;case"html":c+=b.html(e);break;case"link":c+=b.link(e);break;case"image":c+=b.image(e);break;case"checkbox":c+=b.checkbox(e);break;case"strong":c+=b.strong(e);break;case"em":c+=b.em(e);break;case"codespan":c+=b.codespan(e);break;case"br":c+=b.br(e);break;case"del":c+=b.del(e);break;default:{let a='Token with "'+e.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw Error(a)}}}return c}},as=class{constructor(a){this.options=a||e}static{this.passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"])}static{this.passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"])}preprocess(a){return a}postprocess(a){return a}processAllTokens(a){return a}emStrongMask(a){return a}provideLexer(a=this.block){return a?ao.lex:ao.lexInline}provideParser(a=this.block){return a?ar.parse:ar.parseInline}},at=new class{constructor(...a){this.defaults=d(),this.options=this.setOptions,this.parse=this.parseMarkdown(!0),this.parseInline=this.parseMarkdown(!1),this.Parser=ar,this.Renderer=ap,this.TextRenderer=aq,this.Lexer=ao,this.Tokenizer=an,this.Hooks=as,this.use(...a)}walkTokens(a,b){let c=[];for(let d of a)switch(c=c.concat(b.call(this,d)),d.type){case"table":for(let a of d.header)c=c.concat(this.walkTokens(a.tokens,b));for(let a of d.rows)for(let d of a)c=c.concat(this.walkTokens(d.tokens,b));break;case"list":c=c.concat(this.walkTokens(d.items,b));break;default:{let a=d;this.defaults.extensions?.childTokens?.[a.type]?this.defaults.extensions.childTokens[a.type].forEach(d=>{let e=a[d].flat(1/0);c=c.concat(this.walkTokens(e,b))}):a.tokens&&(c=c.concat(this.walkTokens(a.tokens,b)))}}return c}use(...a){let b=this.defaults.extensions||{renderers:{},childTokens:{}};return a.forEach(a=>{let c={...a};if(c.async=this.defaults.async||c.async||!1,a.extensions&&(a.extensions.forEach(a=>{if(!a.name)throw Error("extension name required");if("renderer"in a){let c=b.renderers[a.name];c?b.renderers[a.name]=function(...b){let d=a.renderer.apply(this,b);return!1===d&&(d=c.apply(this,b)),d}:b.renderers[a.name]=a.renderer}if("tokenizer"in a){if(!a.level||"block"!==a.level&&"inline"!==a.level)throw Error("extension level must be 'block' or 'inline'");let c=b[a.level];c?c.unshift(a.tokenizer):b[a.level]=[a.tokenizer],a.start&&("block"===a.level?b.startBlock?b.startBlock.push(a.start):b.startBlock=[a.start]:"inline"===a.level&&(b.startInline?b.startInline.push(a.start):b.startInline=[a.start]))}"childTokens"in a&&a.childTokens&&(b.childTokens[a.name]=a.childTokens)}),c.extensions=b),a.renderer){let b=this.defaults.renderer||new ap(this.defaults);for(let c in a.renderer){if(!(c in b))throw Error(`renderer '${c}' does not exist`);if(["options","parser"].includes(c))continue;let d=a.renderer[c],e=b[c];b[c]=(...a)=>{let c=d.apply(b,a);return!1===c&&(c=e.apply(b,a)),c||""}}c.renderer=b}if(a.tokenizer){let b=this.defaults.tokenizer||new an(this.defaults);for(let c in a.tokenizer){if(!(c in b))throw Error(`tokenizer '${c}' does not exist`);if(["options","rules","lexer"].includes(c))continue;let d=a.tokenizer[c],e=b[c];b[c]=(...a)=>{let c=d.apply(b,a);return!1===c&&(c=e.apply(b,a)),c}}c.tokenizer=b}if(a.hooks){let b=this.defaults.hooks||new as;for(let c in a.hooks){if(!(c in b))throw Error(`hook '${c}' does not exist`);if(["options","block"].includes(c))continue;let d=a.hooks[c],e=b[c];as.passThroughHooks.has(c)?b[c]=a=>{if(this.defaults.async&&as.passThroughHooksRespectAsync.has(c))return(async()=>{let c=await d.call(b,a);return e.call(b,c)})();let f=d.call(b,a);return e.call(b,f)}:b[c]=(...a)=>{if(this.defaults.async)return(async()=>{let c=await d.apply(b,a);return!1===c&&(c=await e.apply(b,a)),c})();let c=d.apply(b,a);return!1===c&&(c=e.apply(b,a)),c}}c.hooks=b}if(a.walkTokens){let b=this.defaults.walkTokens,d=a.walkTokens;c.walkTokens=function(a){let c=[];return c.push(d.call(this,a)),b&&(c=c.concat(b.call(this,a))),c}}this.defaults={...this.defaults,...c}}),this}setOptions(a){return this.defaults={...this.defaults,...a},this}lexer(a,b){return ao.lex(a,b??this.defaults)}parser(a,b){return ar.parse(a,b??this.defaults)}parseMarkdown(a){return(b,c)=>{let d={...c},e={...this.defaults,...d},f=this.onError(!!e.silent,!!e.async);if(!0===this.defaults.async&&!1===d.async)return f(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof b>"u"||null===b)return f(Error("marked(): input parameter is undefined or null"));if("string"!=typeof b)return f(Error("marked(): input parameter is of type "+Object.prototype.toString.call(b)+", string expected"));if(e.hooks&&(e.hooks.options=e,e.hooks.block=a),e.async)return(async()=>{let c=e.hooks?await e.hooks.preprocess(b):b,d=await (e.hooks?await e.hooks.provideLexer(a):a?ao.lex:ao.lexInline)(c,e),f=e.hooks?await e.hooks.processAllTokens(d):d;e.walkTokens&&await Promise.all(this.walkTokens(f,e.walkTokens));let g=await (e.hooks?await e.hooks.provideParser(a):a?ar.parse:ar.parseInline)(f,e);return e.hooks?await e.hooks.postprocess(g):g})().catch(f);try{e.hooks&&(b=e.hooks.preprocess(b));let c=(e.hooks?e.hooks.provideLexer(a):a?ao.lex:ao.lexInline)(b,e);e.hooks&&(c=e.hooks.processAllTokens(c)),e.walkTokens&&this.walkTokens(c,e.walkTokens);let d=(e.hooks?e.hooks.provideParser(a):a?ar.parse:ar.parseInline)(c,e);return e.hooks&&(d=e.hooks.postprocess(d)),d}catch(a){return f(a)}}}onError(a,b){return c=>{if(c.message+=`
64
- Please report this to https://github.com/markedjs/marked.`,a){let a="<p>An error occurred:</p><pre>"+ah(c.message+"",!0)+"</pre>";return b?Promise.resolve(a):a}if(b)return Promise.reject(c);throw c}}};function au(a,b){return at.parse(a,b)}au.options=au.setOptions=function(a){return at.setOptions(a),au.defaults=at.defaults,e=au.defaults,au},au.getDefaults=d,au.defaults=e,au.use=function(...a){return at.use(...a),au.defaults=at.defaults,e=au.defaults,au},au.walkTokens=function(a,b){return at.walkTokens(a,b)},au.parseInline=at.parseInline,au.Parser=ar,au.parser=ar.parse,au.Renderer=ap,au.TextRenderer=aq,au.Lexer=ao,au.lexer=ao.lex,au.Tokenizer=an,au.Hooks=as,au.parse=au,au.options,au.setOptions,au.use,au.walkTokens,au.parseInline,ar.parse,ao.lex},28886:(a,b)=>{function c(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeURIPath",{enumerable:!0,get:function(){return c}})},34129:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=c(38653);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},61972:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=c(66238),e=c(5894),f=c(29294),g=c(28886),h=c(70898);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let j=(0,h.getAssetTokenQuery)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${j}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},73302:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(64637)._(c(12958));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},78532:a=>{let{entries:b,setPrototypeOf:c,isFrozen:d,getPrototypeOf:e,getOwnPropertyDescriptor:f}=Object,{freeze:g,seal:h,create:i}=Object,{apply:j,construct:k}="u">typeof Reflect&&Reflect;g||(g=function(a){return a}),h||(h=function(a){return a}),j||(j=function(a,b){for(var c=arguments.length,d=Array(c>2?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];return a.apply(b,d)}),k||(k=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return new a(...c)});let l=z(Array.prototype.forEach),m=z(Array.prototype.lastIndexOf),n=z(Array.prototype.pop),o=z(Array.prototype.push),p=z(Array.prototype.splice),q=z(String.prototype.toLowerCase),r=z(String.prototype.toString),s=z(String.prototype.match),t=z(String.prototype.replace),u=z(String.prototype.indexOf),v=z(String.prototype.trim),w=z(Object.prototype.hasOwnProperty),x=z(RegExp.prototype.test),y=(X=TypeError,function(){for(var a=arguments.length,b=Array(a),c=0;c<a;c++)b[c]=arguments[c];return k(X,b)});function z(a){return function(b){b instanceof RegExp&&(b.lastIndex=0);for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return j(a,b,d)}}function A(a,b){let e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:q;c&&c(a,null);let f=b.length;for(;f--;){let c=b[f];if("string"==typeof c){let a=e(c);a!==c&&(d(b)||(b[f]=a),c=a)}a[c]=!0}return a}function B(a){let c=i(null);for(let[d,e]of b(a))w(a,d)&&(Array.isArray(e)?c[d]=function(a){for(let b=0;b<a.length;b++)w(a,b)||(a[b]=null);return a}(e):e&&"object"==typeof e&&e.constructor===Object?c[d]=B(e):c[d]=e);return c}function C(a,b){for(;null!==a;){let c=f(a,b);if(c){if(c.get)return z(c.get);if("function"==typeof c.value)return z(c.value)}a=e(a)}return function(){return null}}let D=g(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),E=g(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","slot","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),F=g(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),G=g(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),H=g(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),I=g(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),J=g(["#text"]),K=g(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),L=g(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),M=g(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),N=g(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),O=h(/\{\{[\w\W]*|[\w\W]*\}\}/gm),P=h(/<%[\w\W]*|[\w\W]*%>/gm),Q=h(/\$\{[\w\W]*/gm),R=h(/^data-[\-\w.\u00B7-\uFFFF]+$/),S=h(/^aria-[\-\w]+$/),T=h(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),U=h(/^(?:\w+script|data):/i),V=h(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),W=h(/^html$/i);var X,Y=Object.freeze({__proto__:null,ARIA_ATTR:S,ATTR_WHITESPACE:V,CUSTOM_ELEMENT:h(/^[a-z][.\w]*(-[.\w]+)+$/i),DATA_ATTR:R,DOCTYPE_NAME:W,ERB_EXPR:P,IS_ALLOWED_URI:T,IS_SCRIPT_OR_DATA:U,MUSTACHE_EXPR:O,TMPLIT_EXPR:Q});let Z=function(a,b){if("object"!=typeof a||"function"!=typeof a.createPolicy)return null;let c=null,d="data-tt-policy-suffix";b&&b.hasAttribute(d)&&(c=b.getAttribute(d));let e="dompurify"+(c?"#"+c:"");try{return a.createPolicy(e,{createHTML:a=>a,createScriptURL:a=>a})}catch(a){return console.warn("TrustedTypes policy "+e+" could not be created."),null}},$=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};a.exports=function a(){let c,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,e=b=>a(b);if(e.version="3.2.7",e.removed=[],!d||!d.document||9!==d.document.nodeType||!d.Element)return e.isSupported=!1,e;let{document:f}=d,h=f,j=h.currentScript,{DocumentFragment:k,HTMLTemplateElement:z,Node:O,Element:P,NodeFilter:Q,NamedNodeMap:R=d.NamedNodeMap||d.MozNamedAttrMap,HTMLFormElement:S,DOMParser:U,trustedTypes:V}=d,X=P.prototype,_=C(X,"cloneNode"),aa=C(X,"remove"),ab=C(X,"nextSibling"),ac=C(X,"childNodes"),ad=C(X,"parentNode");if("function"==typeof z){let a=f.createElement("template");a.content&&a.content.ownerDocument&&(f=a.content.ownerDocument)}let ae="",{implementation:af,createNodeIterator:ag,createDocumentFragment:ah,getElementsByTagName:ai}=f,{importNode:aj}=h,ak=$();e.isSupported="function"==typeof b&&"function"==typeof ad&&af&&void 0!==af.createHTMLDocument;let{MUSTACHE_EXPR:al,ERB_EXPR:am,TMPLIT_EXPR:an,DATA_ATTR:ao,ARIA_ATTR:ap,IS_SCRIPT_OR_DATA:aq,ATTR_WHITESPACE:ar,CUSTOM_ELEMENT:as}=Y,{IS_ALLOWED_URI:at}=Y,au=null,av=A({},[...D,...E,...F,...H,...J]),aw=null,ax=A({},[...K,...L,...M,...N]),ay=Object.seal(i(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),az=null,aA=null,aB=!0,aC=!0,aD=!1,aE=!0,aF=!1,aG=!0,aH=!1,aI=!1,aJ=!1,aK=!1,aL=!1,aM=!1,aN=!0,aO=!1,aP=!0,aQ=!1,aR={},aS=null,aT=A({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),aU=null,aV=A({},["audio","video","img","source","image","track"]),aW=null,aX=A({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),aY="http://www.w3.org/1998/Math/MathML",aZ="http://www.w3.org/2000/svg",a$="http://www.w3.org/1999/xhtml",a_=a$,a0=!1,a1=null,a2=A({},[aY,aZ,a$],r),a3=A({},["mi","mo","mn","ms","mtext"]),a4=A({},["annotation-xml"]),a5=A({},["title","style","font","a","script"]),a6=null,a7=["application/xhtml+xml","text/html"],a8=null,a9=null,ba=f.createElement("form"),bb=function(a){return a instanceof RegExp||a instanceof Function},bc=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!a9||a9!==a){if(a&&"object"==typeof a||(a={}),a=B(a),a8="application/xhtml+xml"===(a6=-1===a7.indexOf(a.PARSER_MEDIA_TYPE)?"text/html":a.PARSER_MEDIA_TYPE)?r:q,au=w(a,"ALLOWED_TAGS")?A({},a.ALLOWED_TAGS,a8):av,aw=w(a,"ALLOWED_ATTR")?A({},a.ALLOWED_ATTR,a8):ax,a1=w(a,"ALLOWED_NAMESPACES")?A({},a.ALLOWED_NAMESPACES,r):a2,aW=w(a,"ADD_URI_SAFE_ATTR")?A(B(aX),a.ADD_URI_SAFE_ATTR,a8):aX,aU=w(a,"ADD_DATA_URI_TAGS")?A(B(aV),a.ADD_DATA_URI_TAGS,a8):aV,aS=w(a,"FORBID_CONTENTS")?A({},a.FORBID_CONTENTS,a8):aT,az=w(a,"FORBID_TAGS")?A({},a.FORBID_TAGS,a8):B({}),aA=w(a,"FORBID_ATTR")?A({},a.FORBID_ATTR,a8):B({}),aR=!!w(a,"USE_PROFILES")&&a.USE_PROFILES,aB=!1!==a.ALLOW_ARIA_ATTR,aC=!1!==a.ALLOW_DATA_ATTR,aD=a.ALLOW_UNKNOWN_PROTOCOLS||!1,aE=!1!==a.ALLOW_SELF_CLOSE_IN_ATTR,aF=a.SAFE_FOR_TEMPLATES||!1,aG=!1!==a.SAFE_FOR_XML,aH=a.WHOLE_DOCUMENT||!1,aK=a.RETURN_DOM||!1,aL=a.RETURN_DOM_FRAGMENT||!1,aM=a.RETURN_TRUSTED_TYPE||!1,aJ=a.FORCE_BODY||!1,aN=!1!==a.SANITIZE_DOM,aO=a.SANITIZE_NAMED_PROPS||!1,aP=!1!==a.KEEP_CONTENT,aQ=a.IN_PLACE||!1,at=a.ALLOWED_URI_REGEXP||T,a_=a.NAMESPACE||a$,a3=a.MATHML_TEXT_INTEGRATION_POINTS||a3,a4=a.HTML_INTEGRATION_POINTS||a4,ay=a.CUSTOM_ELEMENT_HANDLING||{},a.CUSTOM_ELEMENT_HANDLING&&bb(a.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(ay.tagNameCheck=a.CUSTOM_ELEMENT_HANDLING.tagNameCheck),a.CUSTOM_ELEMENT_HANDLING&&bb(a.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(ay.attributeNameCheck=a.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),a.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof a.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(ay.allowCustomizedBuiltInElements=a.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),aF&&(aC=!1),aL&&(aK=!0),aR&&(au=A({},J),aw=[],!0===aR.html&&(A(au,D),A(aw,K)),!0===aR.svg&&(A(au,E),A(aw,L),A(aw,N)),!0===aR.svgFilters&&(A(au,F),A(aw,L),A(aw,N)),!0===aR.mathMl&&(A(au,H),A(aw,M),A(aw,N))),a.ADD_TAGS&&(au===av&&(au=B(au)),A(au,a.ADD_TAGS,a8)),a.ADD_ATTR&&(aw===ax&&(aw=B(aw)),A(aw,a.ADD_ATTR,a8)),a.ADD_URI_SAFE_ATTR&&A(aW,a.ADD_URI_SAFE_ATTR,a8),a.FORBID_CONTENTS&&(aS===aT&&(aS=B(aS)),A(aS,a.FORBID_CONTENTS,a8)),aP&&(au["#text"]=!0),aH&&A(au,["html","head","body"]),au.table&&(A(au,["tbody"]),delete az.tbody),a.TRUSTED_TYPES_POLICY){if("function"!=typeof a.TRUSTED_TYPES_POLICY.createHTML)throw y('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof a.TRUSTED_TYPES_POLICY.createScriptURL)throw y('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ae=(c=a.TRUSTED_TYPES_POLICY).createHTML("")}else void 0===c&&(c=Z(V,j)),null!==c&&"string"==typeof ae&&(ae=c.createHTML(""));g&&g(a),a9=a}},bd=A({},[...E,...F,...G]),be=A({},[...H,...I]),bf=function(a){let b=ad(a);b&&b.tagName||(b={namespaceURI:a_,tagName:"template"});let c=q(a.tagName),d=q(b.tagName);return!!a1[a.namespaceURI]&&(a.namespaceURI===aZ?b.namespaceURI===a$?"svg"===c:b.namespaceURI===aY?"svg"===c&&("annotation-xml"===d||a3[d]):!!bd[c]:a.namespaceURI===aY?b.namespaceURI===a$?"math"===c:b.namespaceURI===aZ?"math"===c&&a4[d]:!!be[c]:a.namespaceURI===a$?(b.namespaceURI!==aZ||!!a4[d])&&(b.namespaceURI!==aY||!!a3[d])&&!be[c]&&(a5[c]||!bd[c]):"application/xhtml+xml"===a6&&!!a1[a.namespaceURI])},bg=function(a){o(e.removed,{element:a});try{ad(a).removeChild(a)}catch(b){aa(a)}},bh=function(a,b){try{o(e.removed,{attribute:b.getAttributeNode(a),from:b})}catch(a){o(e.removed,{attribute:null,from:b})}if(b.removeAttribute(a),"is"===a)if(aK||aL)try{bg(b)}catch(a){}else try{b.setAttribute(a,"")}catch(a){}},bi=function(a){let b=null,d=null;if(aJ)a="<remove></remove>"+a;else{let b=s(a,/^[\r\n\t ]+/);d=b&&b[0]}"application/xhtml+xml"===a6&&a_===a$&&(a='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+a+"</body></html>");let e=c?c.createHTML(a):a;if(a_===a$)try{b=new U().parseFromString(e,a6)}catch(a){}if(!b||!b.documentElement){b=af.createDocument(a_,"template",null);try{b.documentElement.innerHTML=a0?ae:e}catch(a){}}let g=b.body||b.documentElement;return(a&&d&&g.insertBefore(f.createTextNode(d),g.childNodes[0]||null),a_===a$)?ai.call(b,aH?"html":"body")[0]:aH?b.documentElement:g},bj=function(a){return ag.call(a.ownerDocument||a,a,Q.SHOW_ELEMENT|Q.SHOW_COMMENT|Q.SHOW_TEXT|Q.SHOW_PROCESSING_INSTRUCTION|Q.SHOW_CDATA_SECTION,null)},bk=function(a){return a instanceof S&&("string"!=typeof a.nodeName||"string"!=typeof a.textContent||"function"!=typeof a.removeChild||!(a.attributes instanceof R)||"function"!=typeof a.removeAttribute||"function"!=typeof a.setAttribute||"string"!=typeof a.namespaceURI||"function"!=typeof a.insertBefore||"function"!=typeof a.hasChildNodes)},bl=function(a){return"function"==typeof O&&a instanceof O};function bm(a,b,c){l(a,a=>{a.call(e,b,c,a9)})}let bn=function(a){let b=null;if(bm(ak.beforeSanitizeElements,a,null),bk(a))return bg(a),!0;let c=a8(a.nodeName);if(bm(ak.uponSanitizeElement,a,{tagName:c,allowedTags:au}),aG&&a.hasChildNodes()&&!bl(a.firstElementChild)&&x(/<[/\w!]/g,a.innerHTML)&&x(/<[/\w!]/g,a.textContent)||7===a.nodeType||aG&&8===a.nodeType&&x(/<[/\w]/g,a.data))return bg(a),!0;if(!au[c]||az[c]){if(!az[c]&&bp(c)&&(ay.tagNameCheck instanceof RegExp&&x(ay.tagNameCheck,c)||ay.tagNameCheck instanceof Function&&ay.tagNameCheck(c)))return!1;if(aP&&!aS[c]){let b=ad(a)||a.parentNode,c=ac(a)||a.childNodes;if(c&&b){let d=c.length;for(let e=d-1;e>=0;--e){let d=_(c[e],!0);d.__removalCount=(a.__removalCount||0)+1,b.insertBefore(d,ab(a))}}}return bg(a),!0}return a instanceof P&&!bf(a)||("noscript"===c||"noembed"===c||"noframes"===c)&&x(/<\/no(script|embed|frames)/i,a.innerHTML)?(bg(a),!0):(aF&&3===a.nodeType&&(b=a.textContent,l([al,am,an],a=>{b=t(b,a," ")}),a.textContent!==b&&(o(e.removed,{element:a.cloneNode()}),a.textContent=b)),bm(ak.afterSanitizeElements,a,null),!1)},bo=function(a,b,c){if(aN&&("id"===b||"name"===b)&&(c in f||c in ba))return!1;if(aC&&!aA[b]&&x(ao,b));else if(aB&&x(ap,b));else if(!aw[b]||aA[b]){if(!(bp(a)&&(ay.tagNameCheck instanceof RegExp&&x(ay.tagNameCheck,a)||ay.tagNameCheck instanceof Function&&ay.tagNameCheck(a))&&(ay.attributeNameCheck instanceof RegExp&&x(ay.attributeNameCheck,b)||ay.attributeNameCheck instanceof Function&&ay.attributeNameCheck(b,a))||"is"===b&&ay.allowCustomizedBuiltInElements&&(ay.tagNameCheck instanceof RegExp&&x(ay.tagNameCheck,c)||ay.tagNameCheck instanceof Function&&ay.tagNameCheck(c))))return!1}else if(aW[b]);else if(x(at,t(c,ar,"")));else if(("src"===b||"xlink:href"===b||"href"===b)&&"script"!==a&&0===u(c,"data:")&&aU[a]);else if(aD&&!x(aq,t(c,ar,"")));else if(c)return!1;return!0},bp=function(a){return"annotation-xml"!==a&&s(a,as)},bq=function(a){bm(ak.beforeSanitizeAttributes,a,null);let{attributes:b}=a;if(!b||bk(a))return;let d={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:aw,forceKeepAttr:void 0},f=b.length;for(;f--;){let{name:g,namespaceURI:h,value:i}=b[f],j=a8(g),k="value"===g?i:v(i);if(d.attrName=j,d.attrValue=k,d.keepAttr=!0,d.forceKeepAttr=void 0,bm(ak.uponSanitizeAttribute,a,d),k=d.attrValue,aO&&("id"===j||"name"===j)&&(bh(g,a),k="user-content-"+k),aG&&x(/((--!?|])>)|<\/(style|title|textarea)/i,k)||"attributename"===j&&s(k,"href")){bh(g,a);continue}if(d.forceKeepAttr)continue;if(!d.keepAttr||!aE&&x(/\/>/i,k)){bh(g,a);continue}aF&&l([al,am,an],a=>{k=t(k,a," ")});let m=a8(a.nodeName);if(!bo(m,j,k)){bh(g,a);continue}if(c&&"object"==typeof V&&"function"==typeof V.getAttributeType)if(h);else switch(V.getAttributeType(m,j)){case"TrustedHTML":k=c.createHTML(k);break;case"TrustedScriptURL":k=c.createScriptURL(k)}if(k!==i)try{h?a.setAttributeNS(h,g,k):a.setAttribute(g,k),bk(a)?bg(a):n(e.removed)}catch(b){bh(g,a)}}bm(ak.afterSanitizeAttributes,a,null)},br=function a(b){let c=null,d=bj(b);for(bm(ak.beforeSanitizeShadowDOM,b,null);c=d.nextNode();)bm(ak.uponSanitizeShadowNode,c,null),bn(c),bq(c),c.content instanceof k&&a(c.content);bm(ak.afterSanitizeShadowDOM,b,null)};return e.sanitize=function(a){let b=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=null,f=null,g=null,i=null;if((a0=!a)&&(a="\x3c!--\x3e"),"string"!=typeof a&&!bl(a))if("function"==typeof a.toString){if("string"!=typeof(a=a.toString()))throw y("dirty is not a string, aborting")}else throw y("toString is not a function");if(!e.isSupported)return a;if(aI||bc(b),e.removed=[],"string"==typeof a&&(aQ=!1),aQ){if(a.nodeName){let b=a8(a.nodeName);if(!au[b]||az[b])throw y("root node is forbidden and cannot be sanitized in-place")}}else if(a instanceof O)1===(f=(d=bi("\x3c!----\x3e")).ownerDocument.importNode(a,!0)).nodeType&&"BODY"===f.nodeName||"HTML"===f.nodeName?d=f:d.appendChild(f);else{if(!aK&&!aF&&!aH&&-1===a.indexOf("<"))return c&&aM?c.createHTML(a):a;if(!(d=bi(a)))return aK?null:aM?ae:""}d&&aJ&&bg(d.firstChild);let j=bj(aQ?a:d);for(;g=j.nextNode();)bn(g),bq(g),g.content instanceof k&&br(g.content);if(aQ)return a;if(aK){if(aL)for(i=ah.call(d.ownerDocument);d.firstChild;)i.appendChild(d.firstChild);else i=d;return(aw.shadowroot||aw.shadowrootmode)&&(i=aj.call(h,i,!0)),i}let m=aH?d.outerHTML:d.innerHTML;return aH&&au["!doctype"]&&d.ownerDocument&&d.ownerDocument.doctype&&d.ownerDocument.doctype.name&&x(W,d.ownerDocument.doctype.name)&&(m="<!DOCTYPE "+d.ownerDocument.doctype.name+">\n"+m),aF&&l([al,am,an],a=>{m=t(m,a," ")}),c&&aM?c.createHTML(m):m},e.setConfig=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};bc(a),aI=!0},e.clearConfig=function(){a9=null,aI=!1},e.isValidAttribute=function(a,b,c){return a9||bc({}),bo(a8(a),a8(b),c)},e.addHook=function(a,b){"function"==typeof b&&o(ak[a],b)},e.removeHook=function(a,b){if(void 0!==b){let c=m(ak[a],b);return -1===c?void 0:p(ak[a],c,1)[0]}return n(ak[a])},e.removeHooks=function(a){ak[a]=[]},e.removeAllHooks=function(){ak=$()},e}()},81691:(a,b,c)=>{c.d(b,{default:()=>e.a});var d=c(73302),e=c.n(d)}};
64
+ Please report this to https://github.com/markedjs/marked.`,a){let a="<p>An error occurred:</p><pre>"+ah(c.message+"",!0)+"</pre>";return b?Promise.resolve(a):a}if(b)return Promise.reject(c);throw c}}};function au(a,b){return at.parse(a,b)}au.options=au.setOptions=function(a){return at.setOptions(a),au.defaults=at.defaults,e=au.defaults,au},au.getDefaults=d,au.defaults=e,au.use=function(...a){return at.use(...a),au.defaults=at.defaults,e=au.defaults,au},au.walkTokens=function(a,b){return at.walkTokens(a,b)},au.parseInline=at.parseInline,au.Parser=ar,au.parser=ar.parse,au.Renderer=ap,au.TextRenderer=aq,au.Lexer=ao,au.lexer=ao.lex,au.Tokenizer=an,au.Hooks=as,au.parse=au,au.options,au.setOptions,au.use,au.walkTokens,au.parseInline,ar.parse,ao.lex},28886:(a,b)=>{function c(a){return a.split("/").map(a=>encodeURIComponent(a)).join("/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"encodeURIPath",{enumerable:!0,get:function(){return c}})},34129:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"BailoutToCSR",{enumerable:!0,get:function(){return e}});let d=c(38653);function e({reason:a,children:b}){throw Object.defineProperty(new d.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}},61972:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"PreloadChunks",{enumerable:!0,get:function(){return i}});let d=c(66238),e=c(5894),f=c(29294),g=c(28886),h=c(70898);function i({moduleIds:a}){let b=f.workAsyncStorage.getStore();if(void 0===b)return null;let c=[];if(b.reactLoadableManifest&&a){let d=b.reactLoadableManifest;for(let b of a){if(!d[b])continue;let a=d[b].files;c.push(...a)}}if(0===c.length)return null;let j=(0,h.getAssetTokenQuery)();return(0,d.jsx)(d.Fragment,{children:c.map(a=>{let c=`${b.assetPrefix}/_next/${(0,g.encodeURIPath)(a)}${j}`;return a.endsWith(".css")?(0,d.jsx)("link",{precedence:"dynamic",href:c,rel:"stylesheet",as:"style",nonce:b.nonce},a):((0,e.preload)(c,{as:"script",fetchPriority:"low",nonce:b.nonce}),null)})})}},73302:(a,b,c)=>{Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return e}});let d=c(64637)._(c(12958));function e(a,b){let c={};"function"==typeof a&&(c.loader=a);let e={...c,...b};return(0,d.default)({...e,modules:e.loadableGenerated?.modules})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},81691:(a,b,c)=>{c.d(b,{default:()=>e.a});var d=c(73302),e=c.n(d)}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7164,exports.ids=[7164],exports.modules={12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},39006:a=>{a.exports={rE:"0.9.0"}},56726:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`VansRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"vansrouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},82919:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>D,OPTIONS:()=>C,buildModelsList:()=>B});var d=c(67259),e=c(91253),f=c(94164),g=c(76489),h=c(84397),i=c(26415),j=c(14836),k=c(44004),l=c(2607),m=c(22830),n=c(91392);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,l.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${m.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${m.x0.COPILOT_CHAT_VERSION}`,"user-agent":m.x0.USER_AGENT,"x-github-api-version":m.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(56726);async function s(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),5e3);try{let a=b?{Accept:"application/json",Authorization:`Bearer ${c}`}:(0,r.w$)(c,{Accept:"application/json"}),e=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:a,signal:d.signal});if(!e.ok)return null;let f=await e.json(),g=Array.isArray(f)?f:f?.data;if(!Array.isArray(g))return null;let h=g.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id.slice(11),name:a.name||a.id.slice(11)}));return h.length?{models:h}:null}catch{return null}finally{clearTimeout(e)}}var t=c(83950),u=c(7916);let v={kiro:async a=>{let b=await (0,h.c)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,i.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},github:async a=>{let b=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,t.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await s({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null}},w=/[-_][0-9a-f]{8,}$/i,x={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function y(a){let b=a?.kind||a?.type;return b&&x[b]||"llm"}async function z(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function A(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function B(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let c=[];try{c=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let h=[];try{h=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let j={};try{j=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let k=(a,b)=>Array.isArray(j[a])&&j[a].includes(b),l=new Map;for(let a of b)l.has(a.provider)||l.set(a.provider,a);let m=[];for(let b of c){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),m.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(A(b[c]||c,a))for(let b of e)a.includes(y(b))&&(k(c,b.id)||m.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&m.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of l.entries()){if(!A(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),j=d.vq[f]||[],l=c?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,o=(0,e.mq)(b)||(0,e.gb)(b),p=e.AI_PROVIDERS[b]?.passthroughModels===!0,q=new Map(j.map(a=>[a.id,y(a)])),r=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id);o&&0===r.length&&!w.test(b)&&(r=await z(c)),p&&!n&&(r=j.map(a=>a.id));let s=v[b];if(s&&!n)try{let a=await s(c);a?.models?.length&&(r=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let t=r.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),x=new Map;for(let c of Array.from(new Set([...t,...h.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&x.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=x.get(c),d=q.get(c)||b||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),e="imageToText"===d&&a.includes("llm");if(!a.includes(d)&&!e||k(g,c)||k(f,c))continue;let h={id:`${g}/${c}`,object:"model",owned_by:g},i=(0,u.a0)(b);i&&(h.capabilities=i),m.push(h)}let B=e.AI_PROVIDERS[b];a.includes("webSearch")&&B?.searchConfig&&m.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&B?.fetchConfig&&m.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let n=[],o=new Set;for(let a of m)!a?.id||o.has(a.id)||(o.add(a.id),n.push(a));return n}async function C(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function D(a){try{let b=await (0,f.mt)(),c=null;if(b.requireApiKey){let b=(0,j.Tr)(a);if(!b)return Response.json({error:{message:"Missing API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}});if(!(c=await (0,j.kI)(b)))return Response.json({error:{message:"Invalid API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}})}let d=await B(["llm"]);if(c){let a=await Promise.all(d.map(async a=>{if("combo"===a.owned_by){let b=(0,k.ZO)(a.id);return(0,j.DC)(c,b)}let b=a.id.includes("/")?a.id.split("/")[0]:a.owned_by;return await (0,j.kt)(c,b)}));d=d.filter((b,c)=>a[c])}return Response.json({object:"list",data:d},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},85577:(a,b,c)=>{c.d(b,{Xg:()=>q,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>r,ux:()=>m,OA:()=>n,kt:()=>o,SM:()=>i});var d=c(13946),e=c(52056),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}let k=new Set(["kr","kiro"]);function l(a,b,c){if(!a)return;let d=a.find(a=>a.id===b);if(d)return d;if(!k.has(c))return;let e=(0,g.Kq)(b);if(e!==b)return a.find(a=>a.id===e)}function m(a,b){let c=f.vq[a];return c?(0,g.gr)(l(c,b,a)):null}function n(a,b){let c=f.vq[a];if(!c)return null;let d=l(c,b,a);return d?.kind||d?.type||null}function o(a,b){let c=l(f.vq[a],b,a);return c?.upstreamModelId?c.upstreamModelId:c?.id?c.id:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let p=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),q=Object.fromEntries(Object.keys(d.xq).map(a=>[a,p[a]||a]));function r(a,b){return(0,g.g5)(l(f.vq[a],b,a))}}};
1
+ "use strict";exports.id=7164,exports.ids=[7164],exports.modules={12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},39006:a=>{a.exports={rE:"0.9.2"}},56726:(a,b,c)=>{c.d(b,{w$:()=>e});let d=c(39006).rE||"0.0.0";function e(a,b={}){let c,f=(c=function(a){if("string"!=typeof a)return"";let b=a.trim();return b?b.startsWith("workos:")?b:`workos:${b}`:""}(a))?`Bearer ${c}`:"",g={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`VansRouter/${d}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"vansrouter","X-CLIENT-VERSION":d,"X-CORE-VERSION":d,"X-IS-MULTIROOT":"false",...b};return f&&(g.Authorization=f),g}},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},82919:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>D,OPTIONS:()=>C,buildModelsList:()=>B});var d=c(67259),e=c(91253),f=c(94164),g=c(76489),h=c(84397),i=c(26415),j=c(14836),k=c(44004),l=c(2607),m=c(22830),n=c(91392);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,l.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${m.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${m.x0.COPILOT_CHAT_VERSION}`,"user-agent":m.x0.USER_AGENT,"x-github-api-version":m.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(56726);async function s(a){let b=!!a?.apiKey,c=b?a.apiKey:a?.accessToken;if(!c)return null;let d=new AbortController,e=setTimeout(()=>d.abort(),5e3);try{let a=b?{Accept:"application/json",Authorization:`Bearer ${c}`}:(0,r.w$)(c,{Accept:"application/json"}),e=await fetch("https://api.cline.bot/api/v1/models",{method:"GET",headers:a,signal:d.signal});if(!e.ok)return null;let f=await e.json(),g=Array.isArray(f)?f:f?.data;if(!Array.isArray(g))return null;let h=g.filter(a=>"string"==typeof a?.id&&a.id.startsWith("cline-pass/")).map(a=>({id:a.id.slice(11),name:a.name||a.id.slice(11)}));return h.length?{models:h}:null}catch{return null}finally{clearTimeout(e)}}var t=c(83950),u=c(7916);let v={kiro:async a=>{let b=await (0,h.c)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,i.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},github:async a=>{let b=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,t.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null},clinepass:async a=>{let b=await s({accessToken:a.accessToken,apiKey:a.apiKey});return b?.models?.length?{models:b.models}:null}},w=/[-_][0-9a-f]{8,}$/i,x={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function y(a){let b=a?.kind||a?.type;return b&&x[b]||"llm"}async function z(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function A(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function B(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let c=[];try{c=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let h=[];try{h=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let j={};try{j=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let k=(a,b)=>Array.isArray(j[a])&&j[a].includes(b),l=new Map;for(let a of b)l.has(a.provider)||l.set(a.provider,a);let m=[];for(let b of c){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),m.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(A(b[c]||c,a))for(let b of e)a.includes(y(b))&&(k(c,b.id)||m.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&m.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of l.entries()){if(!A(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),j=d.vq[f]||[],l=c?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,o=(0,e.mq)(b)||(0,e.gb)(b),p=e.AI_PROVIDERS[b]?.passthroughModels===!0,q=new Map(j.map(a=>[a.id,y(a)])),r=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id);o&&0===r.length&&!w.test(b)&&(r=await z(c)),p&&!n&&(r=j.map(a=>a.id));let s=v[b];if(s&&!n)try{let a=await s(c);a?.models?.length&&(r=a.models.map(a=>a.id))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let t=r.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),x=new Map;for(let c of Array.from(new Set([...t,...h.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&x.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=x.get(c),d=q.get(c)||b||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),e="imageToText"===d&&a.includes("llm");if(!a.includes(d)&&!e||k(g,c)||k(f,c))continue;let h={id:`${g}/${c}`,object:"model",owned_by:g},i=(0,u.a0)(b);i&&(h.capabilities=i),m.push(h)}let B=e.AI_PROVIDERS[b];a.includes("webSearch")&&B?.searchConfig&&m.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&B?.fetchConfig&&m.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let n=[],o=new Set;for(let a of m)!a?.id||o.has(a.id)||(o.add(a.id),n.push(a));return n}async function C(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function D(a){try{let b=await (0,f.mt)(),c=null;if(b.requireApiKey){let b=(0,j.Tr)(a);if(!b)return Response.json({error:{message:"Missing API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}});if(!(c=await (0,j.kI)(b)))return Response.json({error:{message:"Invalid API key",type:"authentication_error"}},{status:401,headers:{"Access-Control-Allow-Origin":"*"}})}let d=await B(["llm"]);if(c){let a=await Promise.all(d.map(async a=>{if("combo"===a.owned_by){let b=(0,k.ZO)(a.id);return(0,j.DC)(c,b)}let b=a.id.includes("/")?a.id.split("/")[0]:a.owned_by;return await (0,j.kt)(c,b)}));d=d.filter((b,c)=>a[c])}return Response.json({object:"list",data:d},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},85577:(a,b,c)=>{c.d(b,{Xg:()=>q,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>r,ux:()=>m,OA:()=>n,kt:()=>o,SM:()=>i});var d=c(13946),e=c(52056),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}let k=new Set(["kr","kiro"]);function l(a,b,c){if(!a)return;let d=a.find(a=>a.id===b);if(d)return d;if(!k.has(c))return;let e=(0,g.Kq)(b);if(e!==b)return a.find(a=>a.id===e)}function m(a,b){let c=f.vq[a];return c?(0,g.gr)(l(c,b,a)):null}function n(a,b){let c=f.vq[a];if(!c)return null;let d=l(c,b,a);return d?.kind||d?.type||null}function o(a,b){let c=l(f.vq[a],b,a);return c?.upstreamModelId?c.upstreamModelId:c?.id?c.id:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let p=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),q=Object.fromEntries(Object.keys(d.xq).map(a=>[a,p[a]||a]));function r(a,b){return(0,g.g5)(l(f.vq[a],b,a))}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},67938:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(26985);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},67938:(a,b,c)=>{c.d(b,{createBetterSqliteAdapter:()=>g});var d=c(87550),e=c.n(d),f=c(26985);function g(a){let b=new(e())(a);b.exec(f.oG);let c=new Map;function d(a){let d=c.get(a);return d||(d=b.prepare(a),c.set(a,d)),d}let g=setInterval(()=>{try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},6e4);function h(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}try{c.clear()}catch{}try{b.close()}catch{}}"function"==typeof g.unref&&g.unref();let i=()=>h();return process.once("beforeExit",i),process.once("SIGINT",()=>{i(),process.exit(0)}),process.once("SIGTERM",()=>{i(),process.exit(0)}),{driver:"better-sqlite3",run:(a,b=[])=>d(a).run(b),get:(a,b=[])=>d(a).get(b),all:(a,b=[])=>d(a).all(b),exec:a=>b.exec(a),transaction:a=>b.transaction(a)(),checkpoint(){try{b.pragma("wal_checkpoint(TRUNCATE)")}catch{}},close(){clearInterval(g),h()},raw:b}}}};
@@ -0,0 +1,9 @@
1
+ "use strict";exports.id=8057,exports.ids=[8057],exports.modules={78785:(a,b,c)=>{c.d(b,{CG:()=>f,f$:()=>d,oG:()=>e,zE:()=>g});let d=1,e=`
2
+ PRAGMA journal_mode = WAL;
3
+ PRAGMA synchronous = NORMAL;
4
+ PRAGMA temp_store = MEMORY;
5
+ PRAGMA mmap_size = 30000000;
6
+ PRAGMA cache_size = -64000;
7
+ PRAGMA foreign_keys = ON;
8
+ PRAGMA busy_timeout = 5000;
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},88057:(a,b,c)=>{c.d(b,{runMigrationOnce:()=>x});var d=c(73024),e=c.n(d),f=c(76760),g=c.n(f),h=c(73468),i=c(78785);let j=[{version:1,name:"initial",up(a){for(let[b,c]of Object.entries(i.CG))for(let d of(a.exec((0,i.zE)(b,c)),c.indexes||[]))a.exec(d)}},{version:2,name:"fix-empty-allowed-lists",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")&&a.exec("UPDATE apiKeys SET allowedProviders = NULL WHERE allowedProviders = '[]'"),c.includes("allowedCombos")&&a.exec("UPDATE apiKeys SET allowedCombos = NULL WHERE allowedCombos = '[]'"),c.includes("allowedKinds")&&a.exec("UPDATE apiKeys SET allowedKinds = NULL WHERE allowedKinds = '[]'")}},{version:3,name:"add-allowed-lists-columns",up(a){let b=a.all("PRAGMA table_info(apiKeys)"),c=Array.isArray(b)?b.map(a=>a.name):[];c.includes("allowedProviders")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedProviders TEXT"),c.includes("allowedCombos")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedCombos TEXT"),c.includes("allowedKinds")||a.exec("ALTER TABLE apiKeys ADD COLUMN allowedKinds TEXT")}},{version:4,name:"add-request-details-apikey",up(a){let b=new Set(a.all("PRAGMA table_info(requestDetails)").map(a=>a.name));b.has("apiKey")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKey TEXT"),b.has("apiKeyName")||a.exec("ALTER TABLE requestDetails ADD COLUMN apiKeyName TEXT")}}].sort((a,b)=>a.version-b.version);function k(a,b,c=null){let d=a.get("SELECT value FROM _meta WHERE key = ?",[b]);return d?d.value:c}function l(a,b,c){a.run("INSERT INTO _meta(key, value) VALUES(?, ?) ON CONFLICT(key) DO UPDATE SET value = excluded.value",[b,String(c)])}let m=null;function n(){if(m)return m;try{let a=g().join(process.cwd(),"package.json");m=JSON.parse(e().readFileSync(a,"utf-8")).version||"0.0.0"}catch{m="0.0.0"}return m}let o=["requestDetails"];function p(a){(0,h.Jh)();let b=n(),c=`${a}-${b}-${function(a=new Date){let b=a=>String(a).padStart(2,"0");return`${a.getFullYear()}${b(a.getMonth()+1)}${b(a.getDate())}-${b(a.getHours())}${b(a.getMinutes())}${b(a.getSeconds())}`}()}`,d=g().join(h.KQ,c);return e().mkdirSync(d,{recursive:!0}),d}function q(){if(e().existsSync(h.KQ))for(let a of e().readdirSync(h.KQ,{withFileTypes:!0}).filter(a=>a.isDirectory()).map(a=>({name:a.name,full:g().join(h.KQ,a.name),mtime:e().statSync(g().join(h.KQ,a.name)).mtimeMs})).sort((a,b)=>b.mtime-a.mtime).slice(3))try{e().rmSync(a.full,{recursive:!0,force:!0})}catch{}}var r=c(90118);let s=g().join(h.HG,".migrated-from-json"),t=new WeakSet;class u extends Error{constructor(a,b){super(a),this.name="MigrationAborted",this.droppedRows=b}}function v(a,b,c,d,e){let f=[];for(let a of c)try{d(a)}catch(b){f.push({...e(a),reason:b.message})}let g=a.get(`SELECT COUNT(*) as c FROM ${b}`)?.c??0;if(g!==c.length)throw console.warn(`[DB][migrate] ${b} row-count mismatch: expected ${c.length}, got ${g}. Dropped:`,f),new u(`${b} row-count mismatch: expected ${c.length}, got ${g}`,f)}function w(a){if(!e().existsSync(a))return null;try{return JSON.parse(e().readFileSync(a,"utf-8"))}catch{return null}}async function x(a){if(t.has(a))return;t.add(a);let b=function(a){try{let b=a.get("SELECT COUNT(*) as c FROM _meta");return!b||0===b.c}catch{return!0}}(a);q(),a.exec((0,i.zE)("_meta",i.CG._meta));let c=parseInt(k(a,"backupSchemaVersion","0"),10)||0;if(!b&&c<i.f$)try{let b=p(`schema-${c}-to-${i.f$}`);!function(a,b,c="data.sqlite"){let d=g().join(b,c);try{e().rmSync(d,{force:!0})}catch{}let f=d.replace(/'/g,"''");a.exec(`ATTACH DATABASE '${f}' AS bak`);try{let b=new Set(o),c=a.all("SELECT name, sql FROM main.sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'").filter(a=>!b.has(a.name));a.transaction(()=>{for(let b of c){let c=b.sql.replace(/CREATE TABLE\s+/i,"CREATE TABLE bak.");a.exec(c),a.exec(`INSERT INTO bak.${b.name} SELECT * FROM main.${b.name}`)}})}finally{try{a.exec("DETACH DATABASE bak")}catch{}}}(a,b),q(),console.log(`[DB][migrate] pre-schema backup ${c} → ${i.f$}: ${b}`)}catch(a){console.warn(`[DB][migrate] pre-schema backup failed (continuing): ${a.message}`)}!function(a){a.exec((0,i.zE)("_meta",i.CG._meta));let b=parseInt(k(a,"schemaVersion","0"),10)||0;if(b>=(j.length?j[j.length-1].version:0))return;let c=j.filter(a=>a.version>b);for(let b of c)a.transaction(()=>{b.up(a),l(a,"schemaVersion",b.version)}),b.version,console.log(`[DB][migrate] applied #${b.version} ${b.name}`);c.length}(a);for(let[b,c]of Object.entries(i.CG)){a.exec((0,i.zE)(b,c));let d=new Set(a.all(`PRAGMA table_info(${b})`).map(a=>a.name));for(let[e,f]of Object.entries(c.columns))if(!d.has(e)){let c=f.replace(/PRIMARY KEY( AUTOINCREMENT)?/i,"").replace(/UNIQUE/i,"").trim();try{a.exec(`ALTER TABLE ${b} ADD COLUMN ${e} ${c}`),console.log(`[DB][sync] +column ${b}.${e}`)}catch(a){console.warn(`[DB][sync] add column ${b}.${e} failed: ${a.message}`)}}for(let b of c.indexes||[])try{a.exec(b)}catch{}}l(a,"backupSchemaVersion",i.f$);let d=e().existsSync(s),f=w(h.Or.main),m=w(h.Or.usage),x=w(h.Or.disabled),y=w(h.Or.details);if(b&&(f||m||x||y)&&!d){let b=Date.now(),c=p("migrate-from-json");for(let a of Object.values(h.Or))!function(a,b,c=null){if(!e().existsSync(a))return;let d=c||g().basename(a),f=g().join(b,d);e().copyFileSync(a,f)}(a,c);try{a.transaction(()=>{if(f&&"object"==typeof f){for(let[b,c]of(f.settings&&a.run("INSERT INTO settings(id, data) VALUES(1, ?) ON CONFLICT(id) DO UPDATE SET data = excluded.data",[(0,r.s)(f.settings)]),v(a,"providerConnections",f.providerConnections||[],b=>{let{id:c,provider:d,authType:e,name:f,email:g,priority:h,isActive:i,createdAt:j,updatedAt:k,...l}=b;a.run("INSERT OR REPLACE INTO providerConnections(id, provider, authType, name, email, priority, isActive, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[c,d,e||"oauth",f||null,g||null,h||null,+(!1!==i),(0,r.s)(l),j||new Date().toISOString(),k||new Date().toISOString()])},a=>({id:a.id??null,provider:a.provider??null,name:a.name??null})),v(a,"providerNodes",f.providerNodes||[],b=>{let{id:c,type:d,name:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO providerNodes(id, type, name, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,d||null,e||null,(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null,type:a.type??null,name:a.name??null})),v(a,"proxyPools",f.proxyPools||[],b=>{let{id:c,isActive:d,testStatus:e,createdAt:f,updatedAt:g,...h}=b;a.run("INSERT OR REPLACE INTO proxyPools(id, isActive, testStatus, data, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[c,+(!1!==d),e||"unknown",(0,r.s)(h),f||new Date().toISOString(),g||new Date().toISOString()])},a=>({id:a.id??null})),v(a,"apiKeys",f.apiKeys||[],b=>{a.run("INSERT OR REPLACE INTO apiKeys(id, key, name, machineId, isActive, createdAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.key,b.name||null,b.machineId||null,+(!1!==b.isActive),b.createdAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),v(a,"combos",f.combos||[],b=>{a.run("INSERT OR REPLACE INTO combos(id, name, kind, models, createdAt, updatedAt) VALUES(?, ?, ?, ?, ?, ?)",[b.id,b.name,b.kind||null,(0,r.s)(b.models||[]),b.createdAt||new Date().toISOString(),b.updatedAt||new Date().toISOString()])},a=>({id:a.id??null,name:a.name??null})),Object.entries(f.modelAliases||{})))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('modelAliases', ?, ?)",[b,(0,r.s)(c)]);for(let b of f.customModels||[]){let c=`${b.providerAlias}|${b.id}|${b.type||"llm"}`;a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('customModels', ?, ?)",[c,(0,r.s)(b)])}for(let[b,c]of Object.entries(f.mitmAlias||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('mitmAlias', ?, ?)",[b,(0,r.s)(c||{})]);for(let[b,c]of Object.entries(f.pricing||{}))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('pricing', ?, ?)",[b,(0,r.s)(c||{})])}if(m&&"object"==typeof m){for(let b of m.history||[]){let c=b.tokens||{};a.run("INSERT INTO usageHistory(timestamp, provider, model, connectionId, apiKey, endpoint, promptTokens, completionTokens, cost, status, tokens, meta) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",[b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.apiKey||null,b.endpoint||null,c.prompt_tokens||c.input_tokens||0,c.completion_tokens||c.output_tokens||0,b.cost||0,b.status||"ok",(0,r.s)(c),(0,r.s)({})])}for(let[b,c]of Object.entries(m.dailySummary||{}))a.run("INSERT OR REPLACE INTO usageDaily(dateKey, data) VALUES(?, ?)",[b,(0,r.s)(c)]);"number"==typeof m.totalRequestsLifetime&&l(a,"totalRequestsLifetime",m.totalRequestsLifetime)}if(x&&"object"==typeof x.disabled)for(let[b,c]of Object.entries(x.disabled))a.run("INSERT OR REPLACE INTO kv(scope, key, value) VALUES('disabledModels', ?, ?)",[b,(0,r.s)(c||[])]);if(y&&Array.isArray(y.records))for(let b of y.records)a.run("INSERT OR REPLACE INTO requestDetails(id, timestamp, provider, model, connectionId, status, data) VALUES(?, ?, ?, ?, ?, ?, ?)",[b.id,b.timestamp||new Date().toISOString(),b.provider||null,b.model||null,b.connectionId||null,b.status||null,(0,r.s)(b)]);l(a,"appVersion",n()),l(a,"backupSchemaVersion",i.f$),l(a,"migratedAt",new Date().toISOString())})}catch(a){if(a instanceof u)return void console.error(`[DB][migrate] aborted: ${a.message} | legacy JSON kept | backup: ${c}`);throw a}try{e().writeFileSync(s,new Date().toISOString())}catch{}q(),console.log(`[DB][migrate] JSON → SQLite in ${Date.now()-b}ms | legacy JSON kept at DATA_DIR | backup: ${c}`);return}let z=n();k(a,"appVersion",null)!==z&&l(a,"appVersion",z)}}};
@@ -6,4 +6,4 @@ PRAGMA mmap_size = 30000000;
6
6
  PRAGMA cache_size = -64000;
7
7
  PRAGMA foreign_keys = ON;
8
8
  PRAGMA busy_timeout = 5000;
9
- `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},28691:(a,b,c)=>{c.d(b,{createSqlJsAdapter:()=>k});var d=c(73024),e=c.n(d),f=c(46293),g=c.n(f),h=c(26985);let i=null;async function j(){return i||(i=await g()())}async function k(a){let b=await j(),c=e().existsSync(a)?e().readFileSync(a):null,d=new b.Database(c);d.exec(h.oG);let f=!1,g=null;function i(){let b=d.export();e().writeFileSync(a,Buffer.from(b)),f=!1}function k(){f=!0,g&&clearTimeout(g),g=setTimeout(()=>{if(g=null,f)try{i()}catch(a){console.error("[sqljs] save failed:",a)}},100)}function l(a){if(!(!a||Array.isArray(a)&&0===a.length))return a}let m=()=>{if(f)try{i()}catch{}};return process.on("beforeExit",m),process.on("SIGINT",m),process.on("SIGTERM",m),{driver:"sql.js",run:function(a,b=[]){let c=d.prepare(a);try{c.bind(l(b)),c.step();let a=d.getRowsModified(),e=d.exec("SELECT last_insert_rowid() as id")[0]?.values?.[0]?.[0]??null;return k(),{changes:a,lastInsertRowid:e}}finally{c.free()}},get:function(a,b=[]){let c=d.prepare(a);try{if(c.bind(l(b)),c.step())return c.getAsObject();return}finally{c.free()}},all:function(a,b=[]){let c=d.prepare(a);try{c.bind(l(b));let a=[];for(;c.step();)a.push(c.getAsObject());return a}finally{c.free()}},exec:function(a){d.exec(a),k()},transaction:function(a){let b=`sp_${Math.random().toString(36).slice(2)}`;d.exec(`SAVEPOINT ${b}`);try{let c=a();return d.exec(`RELEASE ${b}`),k(),c}catch(a){try{d.exec(`ROLLBACK TO ${b}`),d.exec(`RELEASE ${b}`)}catch{}throw a}},close:function(){g&&clearTimeout(g),f&&i(),d.close()},raw:d}}}};
9
+ `,f={_meta:{columns:{key:"TEXT PRIMARY KEY",value:"TEXT NOT NULL"}},settings:{columns:{id:"INTEGER PRIMARY KEY CHECK (id = 1)",data:"TEXT NOT NULL"}},providerConnections:{columns:{id:"TEXT PRIMARY KEY",provider:"TEXT NOT NULL",authType:"TEXT NOT NULL",name:"TEXT",email:"TEXT",priority:"INTEGER",isActive:"INTEGER DEFAULT 1",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pc_provider ON providerConnections(provider)","CREATE INDEX IF NOT EXISTS idx_pc_provider_active ON providerConnections(provider, isActive)","CREATE INDEX IF NOT EXISTS idx_pc_priority ON providerConnections(provider, priority)"]},providerNodes:{columns:{id:"TEXT PRIMARY KEY",type:"TEXT",name:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pn_type ON providerNodes(type)"]},proxyPools:{columns:{id:"TEXT PRIMARY KEY",isActive:"INTEGER DEFAULT 1",testStatus:"TEXT",data:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_pp_active ON proxyPools(isActive)","CREATE INDEX IF NOT EXISTS idx_pp_status ON proxyPools(testStatus)"]},apiKeys:{columns:{id:"TEXT PRIMARY KEY",key:"TEXT UNIQUE NOT NULL",name:"TEXT",machineId:"TEXT",isActive:"INTEGER DEFAULT 1",createdAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_ak_key ON apiKeys(key)"]},combos:{columns:{id:"TEXT PRIMARY KEY",name:"TEXT UNIQUE NOT NULL",kind:"TEXT",models:"TEXT NOT NULL",createdAt:"TEXT NOT NULL",updatedAt:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_combo_name ON combos(name)"]},kv:{columns:{scope:"TEXT NOT NULL",key:"TEXT NOT NULL",value:"TEXT NOT NULL"},primaryKey:"PRIMARY KEY (scope, key)",indexes:["CREATE INDEX IF NOT EXISTS idx_kv_scope ON kv(scope)"]},usageHistory:{columns:{id:"INTEGER PRIMARY KEY AUTOINCREMENT",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",apiKey:"TEXT",endpoint:"TEXT",promptTokens:"INTEGER DEFAULT 0",completionTokens:"INTEGER DEFAULT 0",cost:"REAL DEFAULT 0",status:"TEXT",tokens:"TEXT",meta:"TEXT"},indexes:["CREATE INDEX IF NOT EXISTS idx_uh_ts ON usageHistory(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_uh_provider ON usageHistory(provider)","CREATE INDEX IF NOT EXISTS idx_uh_model ON usageHistory(model)","CREATE INDEX IF NOT EXISTS idx_uh_conn ON usageHistory(connectionId)"]},usageDaily:{columns:{dateKey:"TEXT PRIMARY KEY",data:"TEXT NOT NULL"}},requestDetails:{columns:{id:"TEXT PRIMARY KEY",timestamp:"TEXT NOT NULL",provider:"TEXT",model:"TEXT",connectionId:"TEXT",apiKey:"TEXT",apiKeyName:"TEXT",status:"TEXT",data:"TEXT NOT NULL"},indexes:["CREATE INDEX IF NOT EXISTS idx_rd_ts ON requestDetails(timestamp DESC)","CREATE INDEX IF NOT EXISTS idx_rd_provider ON requestDetails(provider)","CREATE INDEX IF NOT EXISTS idx_rd_model ON requestDetails(model)","CREATE INDEX IF NOT EXISTS idx_rd_conn ON requestDetails(connectionId)"]}};function g(a,b){let c=Object.entries(b.columns).map(([a,b])=>`${a} ${b}`);return b.primaryKey&&c.push(b.primaryKey),`CREATE TABLE IF NOT EXISTS ${a} (${c.join(", ")})`}},28691:(a,b,c)=>{c.d(b,{createSqlJsAdapter:()=>k});var d=c(73024),e=c.n(d),f=c(46293),g=c.n(f),h=c(26985);let i=null;async function j(){return i||(i=await g()())}async function k(a){let b=await j(),c=e().existsSync(a)?e().readFileSync(a):null,d=new b.Database(c);d.exec(h.oG);let f=!1,g=null;function i(){let b=d.export();e().writeFileSync(a,Buffer.from(b)),f=!1}function k(){f=!0,g&&clearTimeout(g),g=setTimeout(()=>{if(g=null,f)try{i()}catch(a){console.error("[sqljs] save failed:",a)}},100)}function l(a){if(!(!a||Array.isArray(a)&&0===a.length))return a}let m=()=>{if(f)try{i()}catch{}};return process.on("beforeExit",m),process.on("SIGINT",m),process.on("SIGTERM",m),{driver:"sql.js",run:function(a,b=[]){let c=d.prepare(a);try{c.bind(l(b)),c.step();let a=d.getRowsModified(),e=d.exec("SELECT last_insert_rowid() as id")[0]?.values?.[0]?.[0]??null;return k(),{changes:a,lastInsertRowid:e}}finally{c.free()}},get:function(a,b=[]){let c=d.prepare(a);try{if(c.bind(l(b)),c.step())return c.getAsObject();return}finally{c.free()}},all:function(a,b=[]){let c=d.prepare(a);try{c.bind(l(b));let a=[];for(;c.step();)a.push(c.getAsObject());return a}finally{c.free()}},exec:function(a){d.exec(a),k()},transaction:function(a){let b=`sp_${Math.random().toString(36).slice(2)}`;d.exec(`SAVEPOINT ${b}`);try{let c=a();return d.exec(`RELEASE ${b}`),k(),c}catch(a){try{d.exec(`ROLLBACK TO ${b}`),d.exec(`RELEASE ${b}`)}catch{}throw a}},close:function(){g&&clearTimeout(g),f&&i(),d.close()},raw:d}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=883,exports.ids=[883],exports.modules={40883:(a,b,c)=>{c.r(b),c.d(b,{default:()=>m});var d=c(66238),e=c(71183),f=c(34455),g=c(75814),h=c(93864),i=c(12613),j=c(46696),k=c(53207);function l(a,b){switch(b.type){case"RESET":return{testing:!1,testResult:null,validating:!1,validationResult:null,saving:!1};case"TEST_START":return{...a,testing:!0,testResult:null};case"TEST_DONE":return{...a,testing:!1,testResult:b.result};case"VALIDATE_START":return{...a,validating:!0,validationResult:null};case"VALIDATE_DONE":return{...a,validating:!1,validationResult:b.result};case"SAVE_START":return{...a,saving:!0};case"SAVE_DONE":return{...a,saving:!1};default:return a}}function m({isOpen:a,connection:b,proxyPools:c,onSave:n,onClose:o}){let[p,q]=(0,e.useState)({name:"",priority:1,apiKey:""}),[r,s]=(0,e.useState)({azureEndpoint:"",apiVersion:"2024-10-01-preview",deployment:"",organization:""}),t={accountId:b?.provider==="cloudflare-ai"&&b.providerSpecificData&&b.providerSpecificData.accountId||""},[u,v]=(0,e.useState)(""),[w,x]=(0,e.useReducer)(l,{testing:!1,testResult:null,validating:!1,validationResult:null,saving:!1}),{testing:y,testResult:z,validating:A,validationResult:B,saving:C}=w,[D,E]=(0,e.useState)(b);if(b!==D&&(E(b),b)){q({name:b.name||"",priority:b.priority||1,apiKey:""}),"azure"===b.provider&&b.providerSpecificData&&s({azureEndpoint:b.providerSpecificData.azureEndpoint||"",apiVersion:b.providerSpecificData.apiVersion||"2024-10-01-preview",deployment:b.providerSpecificData.deployment||"",organization:b.providerSpecificData.organization||""});let a=k.Q2?.[b.provider];a?.regions&&v(b.providerSpecificData?.region||a.defaultRegion||a.regions[0]?.id||""),x({type:"RESET"})}let F=b?.authType==="oauth",G=b?.provider==="azure",H=b?.provider==="cloudflare-ai",I=!!b&&((0,k.mq)(b.provider)||(0,k.gb)(b.provider)),J=b&&k.Q2?.[b.provider]?.regions||null,K=()=>{if(J&&u)return{...b?.providerSpecificData||{},region:u}},L=async()=>{if(b?.provider){x({type:"TEST_START"});try{let a=await fetch(`/api/providers/${b.id}/test`,{method:"POST"}),c=await a.json();x({type:"TEST_DONE",result:c.valid?"success":"failed"})}catch{x({type:"TEST_DONE",result:"failed"})}}},M=async()=>{if(b?.provider&&p.apiKey){x({type:"VALIDATE_START"});try{let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:p.apiKey,...G?{providerSpecificData:r}:{},...H?{providerSpecificData:t}:{},...J?{providerSpecificData:K()}:{}})}),c=await a.json();x({type:"VALIDATE_DONE",result:c.valid?"success":"failed"})}catch{x({type:"VALIDATE_DONE",result:"failed"})}}},N=async()=>{if(b){x({type:"SAVE_START"});try{let a={name:p.name,priority:p.priority};if(!F&&p.apiKey){a.apiKey=p.apiKey;let c="success"===B;if(!c)try{x({type:"VALIDATE_START"});let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:p.apiKey,...G?{providerSpecificData:r}:{},...H?{providerSpecificData:t}:{},...J?{providerSpecificData:K()}:{}})});c=!!(await a.json()).valid,x({type:"VALIDATE_DONE",result:c?"success":"failed"})}catch{x({type:"VALIDATE_DONE",result:"failed"})}c&&(a.testStatus="active",a.lastError=null,a.lastErrorAt=null)}J&&u&&(a.providerSpecificData=K()),G&&(a.providerSpecificData={azureEndpoint:r.azureEndpoint,apiVersion:r.apiVersion,deployment:r.deployment,organization:r.organization}),H&&(a.providerSpecificData={accountId:t.accountId}),await n(a)}finally{x({type:"SAVE_DONE"})}}};return b?(0,d.jsx)(f.A,{isOpen:a,title:"Edit Connection",onClose:o,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(g.A,{label:"Name",value:p.name,onChange:a=>q({...p,name:a.target.value}),placeholder:F?"Account name":"Production Key"}),F&&b.email&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-3 rounded-lg",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-1",children:"Email"}),(0,d.jsx)("p",{className:"font-medium",children:b.email})]}),(0,d.jsx)(g.A,{label:"Priority",type:"number",value:p.priority,onChange:a=>q({...p,priority:Number.parseInt(a.target.value,10)||1})}),!F&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.A,{label:"API Key",type:"password",value:p.apiKey,onChange:a=>q({...p,apiKey:a.target.value}),placeholder:"Enter new API key",hint:"Leave blank to keep the current API key.",className:"flex-1"}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(h.A,{onClick:M,disabled:!p.apiKey||A||C,variant:"secondary",children:A?"Checking...":"Check"})})]}),B&&(0,d.jsx)(i.A,{variant:"success"===B?"success":"error",children:"success"===B?"Valid":"Invalid"})]}),G&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-4 rounded-lg border border-accent/20",children:[(0,d.jsx)("h3",{className:"font-semibold mb-3 text-sm",children:"Azure OpenAI Configuration"}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)(g.A,{label:"Azure Endpoint",value:r.azureEndpoint,onChange:a=>s({...r,azureEndpoint:a.target.value}),placeholder:"https://your-resource.openai.azure.com",hint:"Your Azure OpenAI resource endpoint URL"}),(0,d.jsx)(g.A,{label:"Deployment Name",value:r.deployment,onChange:a=>s({...r,deployment:a.target.value}),placeholder:"gpt-4",hint:"The deployment name in your Azure resource"}),(0,d.jsx)(g.A,{label:"API Version",value:r.apiVersion,onChange:a=>s({...r,apiVersion:a.target.value}),placeholder:"2024-10-01-preview",hint:"Azure OpenAI API version to use"}),(0,d.jsx)(g.A,{label:"Organization",value:r.organization,onChange:a=>s({...r,organization:a.target.value}),placeholder:"Organization ID",hint:"Required for billing"})]})]}),J&&(0,d.jsx)(j.A,{label:"Region",value:u,onChange:a=>v(a.target.value),options:J.map(a=>({value:a.id,label:a.label}))}),!I&&!G&&!H&&(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(h.A,{onClick:L,variant:"secondary",disabled:y,children:y?"Testing...":"Test Connection"}),z&&(0,d.jsx)(i.A,{variant:"success"===z?"success":"error",children:"success"===z?"Valid":"Failed"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.A,{onClick:N,fullWidth:!0,disabled:C,children:C?"Saving...":"Save"}),(0,d.jsx)(h.A,{onClick:o,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}}};
1
+ "use strict";exports.id=883,exports.ids=[883],exports.modules={40883:(a,b,c)=>{c.r(b),c.d(b,{default:()=>m});var d=c(66238),e=c(71183),f=c(34455),g=c(75814),h=c(93864),i=c(12613),j=c(46696),k=c(53207);function l(a,b){switch(b.type){case"RESET":return{testing:!1,testResult:null,validating:!1,validationResult:null,saving:!1};case"TEST_START":return{...a,testing:!0,testResult:null};case"TEST_DONE":return{...a,testing:!1,testResult:b.result};case"VALIDATE_START":return{...a,validating:!0,validationResult:null};case"VALIDATE_DONE":return{...a,validating:!1,validationResult:b.result};case"SAVE_START":return{...a,saving:!0};case"SAVE_DONE":return{...a,saving:!1};default:return a}}function m({isOpen:a,connection:b,proxyPools:c,onSave:n,onClose:o}){let[p,q]=(0,e.useState)({name:"",priority:1,apiKey:"",projectId:""}),[r,s]=(0,e.useState)({azureEndpoint:"",apiVersion:"2024-10-01-preview",deployment:"",organization:""}),t={accountId:b?.provider==="cloudflare-ai"&&b.providerSpecificData&&b.providerSpecificData.accountId||""},[u,v]=(0,e.useState)(""),[w,x]=(0,e.useReducer)(l,{testing:!1,testResult:null,validating:!1,validationResult:null,saving:!1}),{testing:y,testResult:z,validating:A,validationResult:B,saving:C}=w,[D,E]=(0,e.useState)(b);if(b!==D&&(E(b),b)){q({name:b.name||"",priority:b.priority||1,apiKey:"",projectId:b.projectId||""}),"azure"===b.provider&&b.providerSpecificData&&s({azureEndpoint:b.providerSpecificData.azureEndpoint||"",apiVersion:b.providerSpecificData.apiVersion||"2024-10-01-preview",deployment:b.providerSpecificData.deployment||"",organization:b.providerSpecificData.organization||""});let a=k.Q2?.[b.provider];a?.regions&&v(b.providerSpecificData?.region||a.defaultRegion||a.regions[0]?.id||""),x({type:"RESET"})}let[F,G]=(0,e.useState)(null),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(""),L=b?.provider==="gemini-cli"||b?.provider==="antigravity",M=b?.authType==="oauth",N=b?.provider==="azure",O=b?.provider==="cloudflare-ai",P=!!b&&((0,k.mq)(b.provider)||(0,k.gb)(b.provider)),Q=b&&k.Q2?.[b.provider]?.regions||null,R=()=>{if(Q&&u)return{...b?.providerSpecificData||{},region:u}},S=async()=>{if(b?.provider){x({type:"TEST_START"});try{let a="gemini-cli"===b.provider||"antigravity"===b.provider?{projectId:p.projectId}:void 0,c=await fetch(`/api/providers/${b.id}/test`,{method:"POST",headers:a?{"Content-Type":"application/json"}:void 0,body:a?JSON.stringify(a):void 0}),d=await c.json();x({type:"TEST_DONE",result:d.valid?"success":"failed"})}catch{x({type:"TEST_DONE",result:"failed"})}}},T=async()=>{if(b?.provider&&p.apiKey){x({type:"VALIDATE_START"});try{let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:p.apiKey,...N?{providerSpecificData:r}:{},...O?{providerSpecificData:t}:{},...Q?{providerSpecificData:R()}:{}})}),c=await a.json();x({type:"VALIDATE_DONE",result:c.valid?"success":"failed"})}catch{x({type:"VALIDATE_DONE",result:"failed"})}}},U=async()=>{if(b){x({type:"SAVE_START"});try{let a={name:p.name,priority:p.priority};if(("gemini-cli"===b.provider||"antigravity"===b.provider)&&(a.projectId=p.projectId,a.isProjectIdManual=!!p.projectId.trim()),!M&&p.apiKey){a.apiKey=p.apiKey;let c="success"===B;if(!c)try{x({type:"VALIDATE_START"});let a=await fetch("/api/providers/validate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({provider:b.provider,apiKey:p.apiKey,...N?{providerSpecificData:r}:{},...O?{providerSpecificData:t}:{},...Q?{providerSpecificData:R()}:{}})});c=!!(await a.json()).valid,x({type:"VALIDATE_DONE",result:c?"success":"failed"})}catch{x({type:"VALIDATE_DONE",result:"failed"})}c&&(a.testStatus="active",a.lastError=null,a.lastErrorAt=null)}Q&&u&&(a.providerSpecificData=R()),N&&(a.providerSpecificData={azureEndpoint:r.azureEndpoint,apiVersion:r.apiVersion,deployment:r.deployment,organization:r.organization}),O&&(a.providerSpecificData={accountId:t.accountId}),await n(a)}finally{x({type:"SAVE_DONE"})}}};return b?(0,d.jsx)(f.A,{isOpen:a,title:"Edit Connection",onClose:o,children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(g.A,{label:"Name",value:p.name,onChange:a=>q({...p,name:a.target.value}),placeholder:M?"Account name":"Production Key"}),M&&b.email&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-3 rounded-lg",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-1",children:"Email"}),(0,d.jsx)("p",{className:"font-medium",children:b.email})]}),(0,d.jsx)(g.A,{label:"Priority",type:"number",value:p.priority,onChange:a=>q({...p,priority:Number.parseInt(a.target.value,10)||1})}),L&&(0,d.jsx)(d.Fragment,{children:H?(0,d.jsxs)("div",{className:"flex flex-col gap-1.5",children:[(0,d.jsx)("span",{className:"text-sm font-medium text-text",children:"Project ID"}),(0,d.jsx)("div",{className:"text-xs text-text-muted animate-pulse py-2",children:"Loading GCP projects..."})]}):F&&F.length>0&&!J?(0,d.jsx)(j.A,{label:"Project ID",value:p.projectId,onChange:a=>q({...p,projectId:a.target.value}),options:[{value:"",label:"-- Select GCP Project --"},...F.map(a=>({value:a.id,label:`${a.name} (${a.id})`}))],hint:"Choose which GCP project ID to use for API requests."}):(0,d.jsx)(g.A,{label:"Project ID",value:p.projectId,onChange:a=>q({...p,projectId:a.target.value}),placeholder:"Google GCP Project ID",hint:J?`Failed to load projects (${J}). Please type Project ID manually.`:"Override the automatically resolved GCP project ID used for API requests."})}),!M&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(g.A,{label:"API Key",type:"password",value:p.apiKey,onChange:a=>q({...p,apiKey:a.target.value}),placeholder:"Enter new API key",hint:"Leave blank to keep the current API key.",className:"flex-1"}),(0,d.jsx)("div",{className:"pt-6",children:(0,d.jsx)(h.A,{onClick:T,disabled:!p.apiKey||A||C,variant:"secondary",children:A?"Checking...":"Check"})})]}),B&&(0,d.jsx)(i.A,{variant:"success"===B?"success":"error",children:"success"===B?"Valid":"Invalid"})]}),N&&(0,d.jsxs)("div",{className:"bg-sidebar/50 p-4 rounded-lg border border-accent/20",children:[(0,d.jsx)("h3",{className:"font-semibold mb-3 text-sm",children:"Azure OpenAI Configuration"}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)(g.A,{label:"Azure Endpoint",value:r.azureEndpoint,onChange:a=>s({...r,azureEndpoint:a.target.value}),placeholder:"https://your-resource.openai.azure.com",hint:"Your Azure OpenAI resource endpoint URL"}),(0,d.jsx)(g.A,{label:"Deployment Name",value:r.deployment,onChange:a=>s({...r,deployment:a.target.value}),placeholder:"gpt-4",hint:"The deployment name in your Azure resource"}),(0,d.jsx)(g.A,{label:"API Version",value:r.apiVersion,onChange:a=>s({...r,apiVersion:a.target.value}),placeholder:"2024-10-01-preview",hint:"Azure OpenAI API version to use"}),(0,d.jsx)(g.A,{label:"Organization",value:r.organization,onChange:a=>s({...r,organization:a.target.value}),placeholder:"Organization ID",hint:"Required for billing"})]})]}),Q&&(0,d.jsx)(j.A,{label:"Region",value:u,onChange:a=>v(a.target.value),options:Q.map(a=>({value:a.id,label:a.label}))}),!P&&!N&&!O&&(0,d.jsxs)("div",{className:"flex items-center gap-3",children:[(0,d.jsx)(h.A,{onClick:S,variant:"secondary",disabled:y,children:y?"Testing...":"Test Connection"}),z&&(0,d.jsx)(i.A,{variant:"success"===z?"success":"error",children:"success"===z?"Valid":"Failed"})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.A,{onClick:U,fullWidth:!0,disabled:C||L&&p.projectId!==(b.projectId||"")&&!(F&&F.length>0&&!J)&&"success"!==z,children:C?"Saving...":"Save"}),(0,d.jsx)(h.A,{onClick:o,variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}):null}}};