9router 0.3.28 → 0.3.29

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 (473) hide show
  1. package/app/.next/BUILD_ID +1 -1
  2. package/app/.next/app-path-routes-manifest.json +42 -41
  3. package/app/.next/build-manifest.json +2 -2
  4. package/app/.next/routes-manifest.json +6 -0
  5. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
  6. package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  7. package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  8. package/app/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  10. package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  11. package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  12. package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  13. package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  14. package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  16. package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  17. package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  18. package/app/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  19. package/app/.next/server/app/_global-error.html +2 -2
  20. package/app/.next/server/app/_global-error.rsc +1 -1
  21. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  22. package/app/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  23. package/app/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  24. package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  25. package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  26. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  27. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  28. package/app/.next/server/app/_not-found.html +1 -1
  29. package/app/.next/server/app/_not-found.rsc +3 -3
  30. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  31. package/app/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  32. package/app/.next/server/app/_not-found.segments/_index.segment.rsc +3 -3
  33. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  34. package/app/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  35. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  36. package/app/.next/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  37. package/app/.next/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  38. package/app/.next/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  39. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  40. package/app/.next/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  41. package/app/.next/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  42. package/app/.next/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  43. package/app/.next/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  44. package/app/.next/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  45. package/app/.next/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  46. package/app/.next/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  47. package/app/.next/server/app/api/cloud/auth/route_client-reference-manifest.js +1 -1
  48. package/app/.next/server/app/api/cloud/credentials/update/route_client-reference-manifest.js +1 -1
  49. package/app/.next/server/app/api/cloud/model/resolve/route_client-reference-manifest.js +1 -1
  50. package/app/.next/server/app/api/cloud/models/alias/route_client-reference-manifest.js +1 -1
  51. package/app/.next/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  52. package/app/.next/server/app/api/combos/route_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  54. package/app/.next/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app/api/keys/route_client-reference-manifest.js +1 -1
  56. package/app/.next/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  57. package/app/.next/server/app/api/models/route.js +1 -1
  58. package/app/.next/server/app/api/models/route_client-reference-manifest.js +1 -1
  59. package/app/.next/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  60. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  61. package/app/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  62. package/app/.next/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  63. package/app/.next/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  64. package/app/.next/server/app/api/oauth/cursor/import/route.js +1 -1
  65. package/app/.next/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  66. package/app/.next/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  67. package/app/.next/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  68. package/app/.next/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  69. package/app/.next/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  70. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  71. package/app/.next/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  72. package/app/.next/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  73. package/app/.next/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  74. package/app/.next/server/app/api/providers/[id]/models/route.js +1 -1
  75. package/app/.next/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  76. package/app/.next/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  77. package/app/.next/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  78. package/app/.next/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  79. package/app/.next/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  80. package/app/.next/server/app/api/providers/route.js +1 -1
  81. package/app/.next/server/app/api/providers/route_client-reference-manifest.js +1 -1
  82. package/app/.next/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  83. package/app/.next/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  84. package/app/.next/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  85. package/app/.next/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  86. package/app/.next/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  87. package/app/.next/server/app/api/settings/route_client-reference-manifest.js +1 -1
  88. package/app/.next/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  89. package/app/.next/server/app/api/tags/route_client-reference-manifest.js +1 -1
  90. package/app/.next/server/app/api/translator/console-logs/route.js +1 -1
  91. package/app/.next/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  92. package/app/.next/server/app/api/translator/console-logs/stream/route.js +1 -1
  93. package/app/.next/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  94. package/app/.next/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  95. package/app/.next/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  96. package/app/.next/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  97. package/app/.next/server/app/api/translator/translate/route.js +1 -1
  98. package/app/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
  99. package/app/.next/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  100. package/app/.next/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  101. package/app/.next/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  102. package/app/.next/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  103. package/app/.next/server/app/api/usage/[connectionId]/route.js +1 -1
  104. package/app/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  105. package/app/.next/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  106. package/app/.next/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  107. package/app/.next/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  108. package/app/.next/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  109. package/app/.next/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  110. package/app/.next/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  111. package/app/.next/server/app/api/usage/stats/route.js +1 -0
  112. package/app/.next/server/app/api/usage/stats/route.js.nft.json +1 -0
  113. package/app/.next/server/app/api/usage/stats/route_client-reference-manifest.js +1 -0
  114. package/app/.next/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  115. package/app/.next/server/app/api/v1/api/chat/route.js +1 -1
  116. package/app/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  117. package/app/.next/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  118. package/app/.next/server/app/api/v1/chat/completions/route.js +1 -1
  119. package/app/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  120. package/app/.next/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  121. package/app/.next/server/app/api/v1/embeddings/route.js +1 -1
  122. package/app/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  123. package/app/.next/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  124. package/app/.next/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  125. package/app/.next/server/app/api/v1/messages/route.js +1 -1
  126. package/app/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
  127. package/app/.next/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  128. package/app/.next/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  129. package/app/.next/server/app/api/v1/responses/route.js +1 -1
  130. package/app/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
  131. package/app/.next/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  132. package/app/.next/server/app/api/v1/route_client-reference-manifest.js +1 -1
  133. package/app/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
  134. package/app/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  135. package/app/.next/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  136. package/app/.next/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  137. package/app/.next/server/app/api/version/route.js +1 -1
  138. package/app/.next/server/app/api/version/route_client-reference-manifest.js +1 -1
  139. package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
  140. package/app/.next/server/app/callback.html +1 -1
  141. package/app/.next/server/app/callback.rsc +3 -3
  142. package/app/.next/server/app/callback.segments/_full.segment.rsc +3 -3
  143. package/app/.next/server/app/callback.segments/_head.segment.rsc +1 -1
  144. package/app/.next/server/app/callback.segments/_index.segment.rsc +3 -3
  145. package/app/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
  146. package/app/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  147. package/app/.next/server/app/callback.segments/callback.segment.rsc +1 -1
  148. package/app/.next/server/app/dashboard/cli-tools.html +1 -1
  149. package/app/.next/server/app/dashboard/cli-tools.rsc +5 -5
  150. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  151. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  152. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  153. package/app/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  154. package/app/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
  155. package/app/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  156. package/app/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
  157. package/app/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  158. package/app/.next/server/app/dashboard/combos.html +1 -1
  159. package/app/.next/server/app/dashboard/combos.rsc +5 -5
  160. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  161. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  162. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  163. package/app/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  164. package/app/.next/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
  165. package/app/.next/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  166. package/app/.next/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
  167. package/app/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  168. package/app/.next/server/app/dashboard/endpoint.html +1 -1
  169. package/app/.next/server/app/dashboard/endpoint.rsc +5 -5
  170. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  171. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  172. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  173. package/app/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  174. package/app/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
  175. package/app/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  176. package/app/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
  177. package/app/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  178. package/app/.next/server/app/dashboard/profile.html +1 -1
  179. package/app/.next/server/app/dashboard/profile.rsc +5 -5
  180. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  181. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  182. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  183. package/app/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  184. package/app/.next/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
  185. package/app/.next/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  186. package/app/.next/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
  187. package/app/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  188. package/app/.next/server/app/dashboard/providers/new.html +1 -1
  189. package/app/.next/server/app/dashboard/providers/new.rsc +5 -5
  190. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  191. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  192. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  193. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  194. package/app/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  195. package/app/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
  196. package/app/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  197. package/app/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
  198. package/app/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  199. package/app/.next/server/app/dashboard/providers.html +1 -1
  200. package/app/.next/server/app/dashboard/providers.rsc +5 -5
  201. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  202. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  203. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  204. package/app/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  205. package/app/.next/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
  206. package/app/.next/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  207. package/app/.next/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
  208. package/app/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  209. package/app/.next/server/app/dashboard/quota.html +1 -1
  210. package/app/.next/server/app/dashboard/quota.rsc +4 -4
  211. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +1 -1
  212. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  213. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  214. package/app/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  215. package/app/.next/server/app/dashboard/quota.segments/_full.segment.rsc +4 -4
  216. package/app/.next/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  217. package/app/.next/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
  218. package/app/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  219. package/app/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  220. package/app/.next/server/app/dashboard/settings/pricing.html +1 -1
  221. package/app/.next/server/app/dashboard/settings/pricing.rsc +3 -3
  222. package/app/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  223. package/app/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  224. package/app/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
  225. package/app/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  226. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  227. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  228. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  229. package/app/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  230. package/app/.next/server/app/dashboard/translator.html +1 -1
  231. package/app/.next/server/app/dashboard/translator.rsc +5 -5
  232. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  233. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  234. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  235. package/app/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  236. package/app/.next/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
  237. package/app/.next/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  238. package/app/.next/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
  239. package/app/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  240. package/app/.next/server/app/dashboard/usage.html +1 -1
  241. package/app/.next/server/app/dashboard/usage.rsc +5 -5
  242. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  243. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  244. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  245. package/app/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  246. package/app/.next/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
  247. package/app/.next/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  248. package/app/.next/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
  249. package/app/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  250. package/app/.next/server/app/dashboard.html +1 -1
  251. package/app/.next/server/app/dashboard.rsc +5 -5
  252. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  253. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  254. package/app/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  255. package/app/.next/server/app/dashboard.segments/_full.segment.rsc +5 -5
  256. package/app/.next/server/app/dashboard.segments/_head.segment.rsc +1 -1
  257. package/app/.next/server/app/dashboard.segments/_index.segment.rsc +3 -3
  258. package/app/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  259. package/app/.next/server/app/index.html +1 -1
  260. package/app/.next/server/app/index.rsc +3 -3
  261. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  262. package/app/.next/server/app/index.segments/_full.segment.rsc +3 -3
  263. package/app/.next/server/app/index.segments/_head.segment.rsc +1 -1
  264. package/app/.next/server/app/index.segments/_index.segment.rsc +3 -3
  265. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  266. package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
  267. package/app/.next/server/app/landing.html +1 -1
  268. package/app/.next/server/app/landing.rsc +3 -3
  269. package/app/.next/server/app/landing.segments/_full.segment.rsc +3 -3
  270. package/app/.next/server/app/landing.segments/_head.segment.rsc +1 -1
  271. package/app/.next/server/app/landing.segments/_index.segment.rsc +3 -3
  272. package/app/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
  273. package/app/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  274. package/app/.next/server/app/landing.segments/landing.segment.rsc +1 -1
  275. package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
  276. package/app/.next/server/app/login.html +1 -1
  277. package/app/.next/server/app/login.rsc +4 -4
  278. package/app/.next/server/app/login.segments/_full.segment.rsc +4 -4
  279. package/app/.next/server/app/login.segments/_head.segment.rsc +1 -1
  280. package/app/.next/server/app/login.segments/_index.segment.rsc +3 -3
  281. package/app/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  282. package/app/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  283. package/app/.next/server/app/login.segments/login.segment.rsc +1 -1
  284. package/app/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  285. package/app/.next/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  286. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  287. package/app/.next/server/app-paths-manifest.json +42 -41
  288. package/app/.next/server/chunks/1238.js +1 -1
  289. package/app/.next/server/chunks/1424.js +1 -1
  290. package/app/.next/server/chunks/2280.js +1 -1
  291. package/app/.next/server/chunks/3245.js +1 -1
  292. package/app/.next/server/chunks/412.js +1 -1
  293. package/app/.next/server/chunks/4841.js +12 -0
  294. package/app/.next/server/chunks/4989.js +2 -2
  295. package/app/.next/server/chunks/6182.js +5 -5
  296. package/app/.next/server/chunks/7647.js +1 -1
  297. package/app/.next/server/chunks/8756.js +1 -1
  298. package/app/.next/server/chunks/8895.js +2 -2
  299. package/app/.next/server/pages/404.html +1 -1
  300. package/app/.next/server/pages/500.html +2 -2
  301. package/app/.next/server/server-reference-manifest.js +1 -1
  302. package/app/.next/server/server-reference-manifest.json +1 -1
  303. package/app/.next/static/3zOZ19iwThxWJSFLWgyzs/_buildManifest.js +1 -0
  304. package/app/.next/static/chunks/{5497-9aeee36152b1d579.js → 5497-cb22fa6d2bb73c4a.js} +2 -2
  305. package/app/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-4cc436d49f7e7638.js → page-2fbd60d069c77b8f.js} +1 -1
  306. package/app/.next/static/chunks/app/_global-error/{page-dc114b2367afe467.js → page-6094e45f32dd5e2c.js} +1 -1
  307. package/app/.next/static/chunks/app/api/auth/login/{route-dc114b2367afe467.js → route-6094e45f32dd5e2c.js} +1 -1
  308. package/app/.next/static/chunks/app/api/auth/logout/{route-dc114b2367afe467.js → route-6094e45f32dd5e2c.js} +1 -1
  309. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/alias/{route-dc114b2367afe467.js → route-6094e45f32dd5e2c.js} +1 -1
  310. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-6094e45f32dd5e2c.js +1 -0
  311. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-6094e45f32dd5e2c.js +1 -0
  312. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-6094e45f32dd5e2c.js +1 -0
  313. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-6094e45f32dd5e2c.js +1 -0
  314. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-6094e45f32dd5e2c.js +1 -0
  315. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-6094e45f32dd5e2c.js +1 -0
  316. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-6094e45f32dd5e2c.js +1 -0
  317. package/app/.next/static/chunks/app/api/cloud/auth/route-6094e45f32dd5e2c.js +1 -0
  318. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-6094e45f32dd5e2c.js +1 -0
  319. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-6094e45f32dd5e2c.js +1 -0
  320. package/app/.next/static/chunks/app/api/cloud/models/alias/route-6094e45f32dd5e2c.js +1 -0
  321. package/app/.next/static/chunks/app/api/combos/[id]/route-6094e45f32dd5e2c.js +1 -0
  322. package/app/.next/static/chunks/app/api/combos/route-6094e45f32dd5e2c.js +1 -0
  323. package/app/.next/static/chunks/app/api/init/route-6094e45f32dd5e2c.js +1 -0
  324. package/app/.next/static/chunks/app/api/keys/[id]/route-6094e45f32dd5e2c.js +1 -0
  325. package/app/.next/static/chunks/app/api/keys/route-6094e45f32dd5e2c.js +1 -0
  326. package/app/.next/static/chunks/app/api/models/alias/route-6094e45f32dd5e2c.js +1 -0
  327. package/app/.next/static/chunks/app/api/models/route-6094e45f32dd5e2c.js +1 -0
  328. package/app/.next/static/chunks/app/api/models/test/route-6094e45f32dd5e2c.js +1 -0
  329. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-6094e45f32dd5e2c.js +1 -0
  330. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-6094e45f32dd5e2c.js +1 -0
  331. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-6094e45f32dd5e2c.js +1 -0
  332. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-6094e45f32dd5e2c.js +1 -0
  333. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-6094e45f32dd5e2c.js +1 -0
  334. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-6094e45f32dd5e2c.js +1 -0
  335. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-6094e45f32dd5e2c.js +1 -0
  336. package/app/.next/static/chunks/app/api/pricing/route-6094e45f32dd5e2c.js +1 -0
  337. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-6094e45f32dd5e2c.js +1 -0
  338. package/app/.next/static/chunks/app/api/provider-nodes/route-6094e45f32dd5e2c.js +1 -0
  339. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-6094e45f32dd5e2c.js +1 -0
  340. package/app/.next/static/chunks/app/api/providers/[id]/models/route-6094e45f32dd5e2c.js +1 -0
  341. package/app/.next/static/chunks/app/api/providers/[id]/route-6094e45f32dd5e2c.js +1 -0
  342. package/app/.next/static/chunks/app/api/providers/[id]/test/route-6094e45f32dd5e2c.js +1 -0
  343. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-6094e45f32dd5e2c.js +1 -0
  344. package/app/.next/static/chunks/app/api/providers/client/route-6094e45f32dd5e2c.js +1 -0
  345. package/app/.next/static/chunks/app/api/providers/route-6094e45f32dd5e2c.js +1 -0
  346. package/app/.next/static/chunks/app/api/providers/test-batch/route-6094e45f32dd5e2c.js +1 -0
  347. package/app/.next/static/chunks/app/api/providers/validate/route-6094e45f32dd5e2c.js +1 -0
  348. package/app/.next/static/chunks/app/api/settings/database/route-6094e45f32dd5e2c.js +1 -0
  349. package/app/.next/static/chunks/app/api/settings/proxy-test/route-6094e45f32dd5e2c.js +1 -0
  350. package/app/.next/static/chunks/app/api/settings/require-login/route-6094e45f32dd5e2c.js +1 -0
  351. package/app/.next/static/chunks/app/api/settings/route-6094e45f32dd5e2c.js +1 -0
  352. package/app/.next/static/chunks/app/api/shutdown/route-6094e45f32dd5e2c.js +1 -0
  353. package/app/.next/static/chunks/app/api/tags/route-6094e45f32dd5e2c.js +1 -0
  354. package/app/.next/static/chunks/app/api/translator/console-logs/route-6094e45f32dd5e2c.js +1 -0
  355. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-6094e45f32dd5e2c.js +1 -0
  356. package/app/.next/static/chunks/app/api/translator/load/route-6094e45f32dd5e2c.js +1 -0
  357. package/app/.next/static/chunks/app/api/translator/save/route-6094e45f32dd5e2c.js +1 -0
  358. package/app/.next/static/chunks/app/api/translator/send/route-6094e45f32dd5e2c.js +1 -0
  359. package/app/.next/static/chunks/app/api/translator/translate/route-6094e45f32dd5e2c.js +1 -0
  360. package/app/.next/static/chunks/app/api/tunnel/disable/route-6094e45f32dd5e2c.js +1 -0
  361. package/app/.next/static/chunks/app/api/tunnel/enable/route-6094e45f32dd5e2c.js +1 -0
  362. package/app/.next/static/chunks/app/api/tunnel/status/route-6094e45f32dd5e2c.js +1 -0
  363. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-6094e45f32dd5e2c.js +1 -0
  364. package/app/.next/static/chunks/app/api/usage/chart/route-6094e45f32dd5e2c.js +1 -0
  365. package/app/.next/static/chunks/app/api/usage/history/route-6094e45f32dd5e2c.js +1 -0
  366. package/app/.next/static/chunks/app/api/usage/providers/route-6094e45f32dd5e2c.js +1 -0
  367. package/app/.next/static/chunks/app/api/usage/request-details/route-6094e45f32dd5e2c.js +1 -0
  368. package/app/.next/static/chunks/app/api/usage/request-logs/route-6094e45f32dd5e2c.js +1 -0
  369. package/app/.next/static/chunks/app/api/usage/stats/route-6094e45f32dd5e2c.js +1 -0
  370. package/app/.next/static/chunks/app/api/usage/stream/route-6094e45f32dd5e2c.js +1 -0
  371. package/app/.next/static/chunks/app/api/v1/api/chat/route-6094e45f32dd5e2c.js +1 -0
  372. package/app/.next/static/chunks/app/api/v1/chat/completions/route-6094e45f32dd5e2c.js +1 -0
  373. package/app/.next/static/chunks/app/api/v1/embeddings/route-6094e45f32dd5e2c.js +1 -0
  374. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-6094e45f32dd5e2c.js +1 -0
  375. package/app/.next/static/chunks/app/api/v1/messages/route-6094e45f32dd5e2c.js +1 -0
  376. package/app/.next/static/chunks/app/api/v1/models/route-6094e45f32dd5e2c.js +1 -0
  377. package/app/.next/static/chunks/app/api/v1/responses/route-6094e45f32dd5e2c.js +1 -0
  378. package/app/.next/static/chunks/app/api/v1/route-6094e45f32dd5e2c.js +1 -0
  379. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-6094e45f32dd5e2c.js +1 -0
  380. package/app/.next/static/chunks/app/api/v1beta/models/route-6094e45f32dd5e2c.js +1 -0
  381. package/app/.next/static/chunks/app/api/version/route-6094e45f32dd5e2c.js +1 -0
  382. package/app/.next/static/chunks/app/{layout-cbe799ec784651ca.js → layout-75a17c7e6aea5a13.js} +1 -1
  383. package/app/.next/static/chunks/app/manifest.webmanifest/route-6094e45f32dd5e2c.js +1 -0
  384. package/app/.next/static/chunks/app/page-6094e45f32dd5e2c.js +1 -0
  385. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-6094e45f32dd5e2c.js +1 -0
  386. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-6094e45f32dd5e2c.js +1 -0
  387. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-6094e45f32dd5e2c.js +1 -0
  388. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-6094e45f32dd5e2c.js +1 -0
  389. package/app/.next/static/css/{544a28fc50711a49.css → 62123907b7f6e3ce.css} +1 -1
  390. package/app/package.json +1 -1
  391. package/app/src/mitm/cert/install.js +4 -3
  392. package/app/src/mitm/manager.js +45 -22
  393. package/package.json +1 -1
  394. package/app/.next/server/chunks/3110.js +0 -12
  395. package/app/.next/static/7sCSr7yWSqEyoyOGqrYLA/_buildManifest.js +0 -1
  396. package/app/.next/static/chunks/app/api/cli-tools/antigravity-mitm/route-dc114b2367afe467.js +0 -1
  397. package/app/.next/static/chunks/app/api/cli-tools/claude-settings/route-dc114b2367afe467.js +0 -1
  398. package/app/.next/static/chunks/app/api/cli-tools/codex-settings/route-dc114b2367afe467.js +0 -1
  399. package/app/.next/static/chunks/app/api/cli-tools/copilot-settings/route-dc114b2367afe467.js +0 -1
  400. package/app/.next/static/chunks/app/api/cli-tools/droid-settings/route-dc114b2367afe467.js +0 -1
  401. package/app/.next/static/chunks/app/api/cli-tools/openclaw-settings/route-dc114b2367afe467.js +0 -1
  402. package/app/.next/static/chunks/app/api/cli-tools/opencode-settings/route-dc114b2367afe467.js +0 -1
  403. package/app/.next/static/chunks/app/api/cloud/auth/route-dc114b2367afe467.js +0 -1
  404. package/app/.next/static/chunks/app/api/cloud/credentials/update/route-dc114b2367afe467.js +0 -1
  405. package/app/.next/static/chunks/app/api/cloud/model/resolve/route-dc114b2367afe467.js +0 -1
  406. package/app/.next/static/chunks/app/api/cloud/models/alias/route-dc114b2367afe467.js +0 -1
  407. package/app/.next/static/chunks/app/api/combos/[id]/route-dc114b2367afe467.js +0 -1
  408. package/app/.next/static/chunks/app/api/combos/route-dc114b2367afe467.js +0 -1
  409. package/app/.next/static/chunks/app/api/init/route-dc114b2367afe467.js +0 -1
  410. package/app/.next/static/chunks/app/api/keys/[id]/route-dc114b2367afe467.js +0 -1
  411. package/app/.next/static/chunks/app/api/keys/route-dc114b2367afe467.js +0 -1
  412. package/app/.next/static/chunks/app/api/models/alias/route-dc114b2367afe467.js +0 -1
  413. package/app/.next/static/chunks/app/api/models/route-dc114b2367afe467.js +0 -1
  414. package/app/.next/static/chunks/app/api/models/test/route-dc114b2367afe467.js +0 -1
  415. package/app/.next/static/chunks/app/api/oauth/[provider]/[action]/route-dc114b2367afe467.js +0 -1
  416. package/app/.next/static/chunks/app/api/oauth/cursor/auto-import/route-dc114b2367afe467.js +0 -1
  417. package/app/.next/static/chunks/app/api/oauth/cursor/import/route-dc114b2367afe467.js +0 -1
  418. package/app/.next/static/chunks/app/api/oauth/kiro/auto-import/route-dc114b2367afe467.js +0 -1
  419. package/app/.next/static/chunks/app/api/oauth/kiro/import/route-dc114b2367afe467.js +0 -1
  420. package/app/.next/static/chunks/app/api/oauth/kiro/social-authorize/route-dc114b2367afe467.js +0 -1
  421. package/app/.next/static/chunks/app/api/oauth/kiro/social-exchange/route-dc114b2367afe467.js +0 -1
  422. package/app/.next/static/chunks/app/api/pricing/route-dc114b2367afe467.js +0 -1
  423. package/app/.next/static/chunks/app/api/provider-nodes/[id]/route-dc114b2367afe467.js +0 -1
  424. package/app/.next/static/chunks/app/api/provider-nodes/route-dc114b2367afe467.js +0 -1
  425. package/app/.next/static/chunks/app/api/provider-nodes/validate/route-dc114b2367afe467.js +0 -1
  426. package/app/.next/static/chunks/app/api/providers/[id]/models/route-dc114b2367afe467.js +0 -1
  427. package/app/.next/static/chunks/app/api/providers/[id]/route-dc114b2367afe467.js +0 -1
  428. package/app/.next/static/chunks/app/api/providers/[id]/test/route-dc114b2367afe467.js +0 -1
  429. package/app/.next/static/chunks/app/api/providers/[id]/test-models/route-dc114b2367afe467.js +0 -1
  430. package/app/.next/static/chunks/app/api/providers/client/route-dc114b2367afe467.js +0 -1
  431. package/app/.next/static/chunks/app/api/providers/route-dc114b2367afe467.js +0 -1
  432. package/app/.next/static/chunks/app/api/providers/test-batch/route-dc114b2367afe467.js +0 -1
  433. package/app/.next/static/chunks/app/api/providers/validate/route-dc114b2367afe467.js +0 -1
  434. package/app/.next/static/chunks/app/api/settings/database/route-dc114b2367afe467.js +0 -1
  435. package/app/.next/static/chunks/app/api/settings/proxy-test/route-dc114b2367afe467.js +0 -1
  436. package/app/.next/static/chunks/app/api/settings/require-login/route-dc114b2367afe467.js +0 -1
  437. package/app/.next/static/chunks/app/api/settings/route-dc114b2367afe467.js +0 -1
  438. package/app/.next/static/chunks/app/api/shutdown/route-dc114b2367afe467.js +0 -1
  439. package/app/.next/static/chunks/app/api/tags/route-dc114b2367afe467.js +0 -1
  440. package/app/.next/static/chunks/app/api/translator/console-logs/route-dc114b2367afe467.js +0 -1
  441. package/app/.next/static/chunks/app/api/translator/console-logs/stream/route-dc114b2367afe467.js +0 -1
  442. package/app/.next/static/chunks/app/api/translator/load/route-dc114b2367afe467.js +0 -1
  443. package/app/.next/static/chunks/app/api/translator/save/route-dc114b2367afe467.js +0 -1
  444. package/app/.next/static/chunks/app/api/translator/send/route-dc114b2367afe467.js +0 -1
  445. package/app/.next/static/chunks/app/api/translator/translate/route-dc114b2367afe467.js +0 -1
  446. package/app/.next/static/chunks/app/api/tunnel/disable/route-dc114b2367afe467.js +0 -1
  447. package/app/.next/static/chunks/app/api/tunnel/enable/route-dc114b2367afe467.js +0 -1
  448. package/app/.next/static/chunks/app/api/tunnel/status/route-dc114b2367afe467.js +0 -1
  449. package/app/.next/static/chunks/app/api/usage/[connectionId]/route-dc114b2367afe467.js +0 -1
  450. package/app/.next/static/chunks/app/api/usage/chart/route-dc114b2367afe467.js +0 -1
  451. package/app/.next/static/chunks/app/api/usage/history/route-dc114b2367afe467.js +0 -1
  452. package/app/.next/static/chunks/app/api/usage/providers/route-dc114b2367afe467.js +0 -1
  453. package/app/.next/static/chunks/app/api/usage/request-details/route-dc114b2367afe467.js +0 -1
  454. package/app/.next/static/chunks/app/api/usage/request-logs/route-dc114b2367afe467.js +0 -1
  455. package/app/.next/static/chunks/app/api/usage/stream/route-dc114b2367afe467.js +0 -1
  456. package/app/.next/static/chunks/app/api/v1/api/chat/route-dc114b2367afe467.js +0 -1
  457. package/app/.next/static/chunks/app/api/v1/chat/completions/route-dc114b2367afe467.js +0 -1
  458. package/app/.next/static/chunks/app/api/v1/embeddings/route-dc114b2367afe467.js +0 -1
  459. package/app/.next/static/chunks/app/api/v1/messages/count_tokens/route-dc114b2367afe467.js +0 -1
  460. package/app/.next/static/chunks/app/api/v1/messages/route-dc114b2367afe467.js +0 -1
  461. package/app/.next/static/chunks/app/api/v1/models/route-dc114b2367afe467.js +0 -1
  462. package/app/.next/static/chunks/app/api/v1/responses/route-dc114b2367afe467.js +0 -1
  463. package/app/.next/static/chunks/app/api/v1/route-dc114b2367afe467.js +0 -1
  464. package/app/.next/static/chunks/app/api/v1beta/models/[...path]/route-dc114b2367afe467.js +0 -1
  465. package/app/.next/static/chunks/app/api/v1beta/models/route-dc114b2367afe467.js +0 -1
  466. package/app/.next/static/chunks/app/api/version/route-dc114b2367afe467.js +0 -1
  467. package/app/.next/static/chunks/app/manifest.webmanifest/route-dc114b2367afe467.js +0 -1
  468. package/app/.next/static/chunks/app/page-dc114b2367afe467.js +0 -1
  469. package/app/.next/static/chunks/next/dist/client/components/builtin/app-error-dc114b2367afe467.js +0 -1
  470. package/app/.next/static/chunks/next/dist/client/components/builtin/forbidden-dc114b2367afe467.js +0 -1
  471. package/app/.next/static/chunks/next/dist/client/components/builtin/not-found-dc114b2367afe467.js +0 -1
  472. package/app/.next/static/chunks/next/dist/client/components/builtin/unauthorized-dc114b2367afe467.js +0 -1
  473. /package/app/.next/static/{7sCSr7yWSqEyoyOGqrYLA → 3zOZ19iwThxWJSFLWgyzs}/_ssgManifest.js +0 -0
@@ -4,4 +4,4 @@
4
4
  `,children:a.name},a.id)})})]}),Object.entries(w).map(([a,b])=>(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-center gap-1.5 mb-1.5 sticky top-0 bg-surface py-0.5",children:[(0,d.jsx)("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:b.color}}),(0,d.jsx)("span",{className:"text-xs font-medium text-primary",children:b.name}),(0,d.jsxs)("span",{className:"text-[10px] text-text-muted",children:["(",b.models.length,")"]})]}),(0,d.jsx)("div",{className:"flex flex-wrap gap-1.5",children:b.models.map(a=>{let b=f===a.value;return(0,d.jsx)("button",{onClick:()=>x(a),className:`
5
5
  px-2 py-1 rounded-xl text-xs font-medium transition-all border hover:cursor-pointer
6
6
  ${b?"bg-primary text-white border-primary":"bg-surface border-border text-text-main hover:border-primary/50 hover:bg-primary/5"}
7
- `,children:a.name},a.id)})})]},a)),0===Object.keys(w).length&&0===v.length&&(0,d.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,d.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}l.propTypes={isOpen:g().bool.isRequired,onClose:g().func.isRequired,onSelect:g().func.isRequired,selectedModel:g().string,activeProviders:g().arrayOf(g().shape({provider:g().string.isRequired})),title:g().string,modelAliases:g().object}},83552:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({label:a,type:b="text",placeholder:c,value:f,onChange:g,error:h,hint:i,icon:j,disabled:k=!1,required:l=!1,className:m,inputClassName:n,...o}){return(0,d.jsxs)("div",{className:(0,e.cn)("flex flex-col gap-1.5",m),children:[a&&(0,d.jsxs)("label",{className:"text-sm font-medium text-text-main",children:[a,l&&(0,d.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,d.jsxs)("div",{className:"relative",children:[j&&(0,d.jsx)("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:j})}),(0,d.jsx)("input",{type:b,placeholder:c,value:f,onChange:g,disabled:k,className:(0,e.cn)("w-full py-2 px-3 text-sm text-text-main","bg-white dark:bg-white/5 border border-black/10 dark:border-white/10 rounded-md","placeholder-text-muted/60","focus:ring-1 focus:ring-primary/30 focus:border-primary/50 focus:outline-none","transition-all shadow-inner disabled:opacity-50 disabled:cursor-not-allowed","text-[16px] sm:text-sm",j&&"pl-10",h?"border-red-500 focus:border-red-500 focus:ring-red-500/20":"",n),...o})]}),h&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),h]}),i&&!h&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:i})]})}},85306:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(67484),f=c(42196),g=c(86739);function h({children:a}){let[b,c]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex h-screen w-full overflow-hidden bg-bg",children:[b&&(0,d.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 lg:hidden",onClick:()=>c(!1)}),(0,d.jsx)("div",{className:"hidden lg:flex",children:(0,d.jsx)(f.default,{})}),(0,d.jsx)("div",{className:`fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out ${b?"translate-x-0":"-translate-x-full"}`,children:(0,d.jsx)(f.default,{onClose:()=>c(!1)})}),(0,d.jsxs)("main",{className:"flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300",children:[(0,d.jsx)(g.default,{onMenuClick:()=>c(!0)}),(0,d.jsx)("div",{className:"flex-1 overflow-y-auto custom-scrollbar p-6 lg:p-10",children:(0,d.jsx)("div",{className:"max-w-7xl mx-auto",children:a})})]})]})}},86209:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onMethodSelect:b,onClose:c}){let[f,g]=(0,e.useState)(null),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)("us-east-1"),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(!1),w=a=>{g(a),p(null)},x=()=>{g(null),p(null)},y=async()=>{if(!m.trim())return void p("Please enter a refresh token");r(!0),p(null);try{let a=await fetch("/api/oauth/kiro/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:m.trim()})}),c=await a.json();if(!a.ok)throw Error(c.error||"Import failed");b("import")}catch(a){p(a.message)}finally{r(!1)}},z=a=>{b("social",{provider:a})};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Kiro",onClose:c,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!f&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Choose your authentication method:"}),(0,d.jsx)("button",{onClick:()=>b("builder-id"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"shield"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS Builder ID"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Recommended for most users. Free AWS account required."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("idc"),className:"hidden w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"business"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS IAM Identity Center"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"For enterprise users with custom AWS IAM Identity Center."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("social-google"),className:"hidden w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"account_circle"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Google Account"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login with your Google account (manual callback)."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("social-github"),className:"hidden w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"code"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"GitHub Account"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login with your GitHub account (manual callback)."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("import"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"file_upload"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Import Token"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Paste refresh token from Kiro IDE."})]})]})})]}),"idc"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["IDC Start URL ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:i,onChange:a=>j(a.target.value),placeholder:"https://your-org.awsapps.com/start",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"Your organization's AWS IAM Identity Center URL"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium mb-2",children:"AWS Region"}),(0,d.jsx)(h.pd,{value:k,onChange:a=>l(a.target.value),placeholder:"us-east-1",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"AWS region for your Identity Center (default: us-east-1)"})]}),o&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:o}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>{i.trim()?b("idc",{startUrl:i.trim(),region:k}):p("Please enter your IDC start URL")},fullWidth:!0,children:"Continue"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"social-google"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"bg-amber-50 dark:bg-amber-900/20 p-4 rounded-lg border border-amber-200 dark:border-amber-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-amber-600 dark:text-amber-400",children:"info"}),(0,d.jsxs)("div",{className:"flex-1 text-sm",children:[(0,d.jsx)("p",{className:"font-medium text-amber-900 dark:text-amber-100 mb-1",children:"Manual Callback Required"}),(0,d.jsx)("p",{className:"text-amber-800 dark:text-amber-200",children:"After login, you'll need to copy the callback URL from your browser and paste it back here."})]})]})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>z("google"),fullWidth:!0,children:"Continue with Google"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"social-github"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"bg-amber-50 dark:bg-amber-900/20 p-4 rounded-lg border border-amber-200 dark:border-amber-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-amber-600 dark:text-amber-400",children:"info"}),(0,d.jsxs)("div",{className:"flex-1 text-sm",children:[(0,d.jsx)("p",{className:"font-medium text-amber-900 dark:text-amber-100 mb-1",children:"Manual Callback Required"}),(0,d.jsx)("p",{className:"text-amber-800 dark:text-amber-200",children:"After login, you'll need to copy the callback URL from your browser and paste it back here."})]})]})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>z("github"),fullWidth:!0,children:"Continue with GitHub"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"import"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[s&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting token..."}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from AWS SSO cache"})]}),!s&&(0,d.jsxs)(d.Fragment,{children:[u&&(0,d.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,d.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Token auto-detected from Kiro IDE successfully!"})]})}),!u&&!o&&(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Kiro IDE not detected. Please paste your refresh token manually."})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Refresh Token ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:m,onChange:a=>n(a.target.value),placeholder:"Token will be auto-filled...",className:"font-mono text-sm"})]}),o&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:o})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:y,fullWidth:!0,disabled:q||!m.trim(),children:q?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onMethodSelect:g().func.isRequired,onClose:g().func.isRequired}},86739:(a,b,c)=>{c.d(b,{default:()=>m});var d=c(48249),e=c(19099),f=c(2116),g=c.n(f),h=c(81220),i=c(49885),j=c.n(i),k=c(50412),l=c(12020);function m({onMenuClick:a,showMenuButton:b=!0}){let c=(0,e.usePathname)(),f=(0,e.useRouter)(),{title:i,description:j,breadcrumbs:m}=(a=>{if(!a)return{title:"",description:"",breadcrumbs:[]};let b=a.match(/\/providers\/([^/]+)$/);if(b){let a=b[1],c=l.zN[a]||l.fg[a];if(c)return{title:c.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:c.name,image:`/providers/${c.id}.png`}]}}return a.includes("/providers")?{title:"Providers",description:"Manage your AI provider connections",breadcrumbs:[]}:a.includes("/combos")?{title:"Combos",description:"Model combos with fallback",breadcrumbs:[]}:a.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",breadcrumbs:[]}:a.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",breadcrumbs:[]}:a.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:a.includes("/profile")?{title:"Settings",description:"Manage your preferences",breadcrumbs:[]}:a.includes("/translator")?{title:"Translator",description:"Debug translation flow between formats",breadcrumbs:[]}:a.includes("/console-log")?{title:"Console Log",description:"Live server console output",breadcrumbs:[]}:"/dashboard"===a?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(c),n=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&(f.push("/login"),f.refresh())}catch(a){console.error("Failed to logout:",a)}};return(0,d.jsxs)("header",{className:"flex items-center justify-between px-8 py-5 border-b border-black/5 dark:border-white/5 bg-bg/80 backdrop-blur-xl z-10 sticky top-0",children:[(0,d.jsx)("div",{className:"flex items-center gap-3 lg:hidden",children:b&&(0,d.jsx)("button",{onClick:a,className:"text-text-main hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"menu"})})}),(0,d.jsx)("div",{className:"hidden lg:flex flex-col",children:m.length>0?(0,d.jsx)("div",{className:"flex items-center gap-2",children:m.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[b>0&&(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-base",children:"chevron_right"}),a.href?(0,d.jsx)(g(),{href:a.href,className:"text-text-muted hover:text-primary transition-colors",children:a.label}):(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a.image&&(0,d.jsx)(h.default,{src:a.image,alt:a.label,width:28,height:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",sizes:"28px",onError:a=>{a.currentTarget.style.display="none"}}),(0,d.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:a.label})]})]},`${a.label}-${a.href||"current"}`))}):i?(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:i}),j&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:j})]}):null}),(0,d.jsxs)("div",{className:"flex items-center gap-3 ml-auto",children:[(0,d.jsx)(k.UW,{}),(0,d.jsx)("button",{onClick:n,className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-red-500 hover:bg-red-500/10 transition-all",title:"Logout",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"logout"})})]})]})}m.propTypes={onMenuClick:j().func,showMenuButton:j().bool}},87226:(a,b,c)=>{c.d(b,{default:()=>S});var d=c(48249),e=c(67484),f=c(19099),g=c(75171),h=c(17660),i=c(49885),j=c.n(i);let k=a=>new Intl.NumberFormat().format(a||0);function l({stats:a}){let b;return(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Requests"}),(0,d.jsx)("span",{className:"text-2xl font-bold",children:k(a.totalRequests)})]}),(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Input Tokens"}),(0,d.jsx)("span",{className:"text-2xl font-bold text-primary",children:k(a.totalPromptTokens)})]}),(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Output Tokens"}),(0,d.jsx)("span",{className:"text-2xl font-bold text-success",children:k(a.totalCompletionTokens)})]}),(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Est. Cost"}),(0,d.jsxs)("span",{className:"text-2xl font-bold text-warning",children:["~",(b=a.totalCost,`$${(b||0).toFixed(2)}`)]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"Estimated, not actual billing"})]})]})}l.propTypes={stats:j().object.isRequired};let m=a=>new Intl.NumberFormat().format(a||0),n=a=>`$${(a||0).toFixed(2)}`;function o(a){if(!a)return"Never";let b=Math.floor((Date.now()-new Date(a))/6e4);return b<1?"Just now":b<60?`${b}m ago`:b<1440?`${Math.floor(b/60)}h ago`:new Date(a).toLocaleDateString()}function p({field:a,currentSort:b,currentOrder:c}){return b!==a?(0,d.jsx)("span",{className:"ml-1 opacity-20",children:"↕"}):(0,d.jsx)("span",{className:"ml-1",children:"asc"===c?"↑":"↓"})}function q({item:a,viewMode:b,isSummary:c=!1}){return"tokens"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.promptTokens?"—":m(a.promptTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.completionTokens?"—":m(a.completionTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium",children:m(a.totalTokens)})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.inputCost?"—":n(a.inputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.outputCost?"—":n(a.outputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium text-warning",children:n(a.totalCost||a.cost)})]})}function r({title:a,columns:b,groupedData:c,tableType:f,sortBy:g,sortOrder:i,onToggleSort:j,viewMode:k,storageKey:l,renderDetailCells:m,renderSummaryCells:n,emptyMessage:o}){let[r,s]=(0,e.useState)(new Set),t=(0,e.useCallback)(a=>{s(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),u=(0,e.useMemo)(()=>"tokens"===k?[{field:"promptTokens",label:"Input Tokens"},{field:"completionTokens",label:"Output Tokens"},{field:"totalTokens",label:"Total Tokens"}]:[{field:"promptTokens",label:"Input Cost"},{field:"completionTokens",label:"Output Cost"},{field:"cost",label:"Total Cost"}],[k]),v=b.length+u.length;return(0,d.jsxs)(h.default,{className:"overflow-hidden",children:[(0,d.jsx)("div",{className:"p-4 border-b border-border bg-bg-subtle/50",children:(0,d.jsx)("h3",{className:"font-semibold",children:a})}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"bg-bg-subtle/30 text-text-muted uppercase text-xs",children:(0,d.jsxs)("tr",{children:[b.map(a=>(0,d.jsxs)("th",{className:`px-6 py-3 cursor-pointer hover:bg-bg-subtle/50 ${"right"===a.align?"text-right":""}`,onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(p,{field:a.field,currentSort:g,currentOrder:i})]},a.field)),u.map(a=>(0,d.jsxs)("th",{className:"px-6 py-3 text-right cursor-pointer hover:bg-bg-subtle/50",onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(p,{field:a.field,currentSort:g,currentOrder:i})]},a.field))]})}),(0,d.jsxs)("tbody",{className:"divide-y divide-border",children:[c.map(a=>(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("tr",{className:"group-summary cursor-pointer hover:bg-bg-subtle/50 transition-colors",onClick:()=>t(a.groupKey),children:[(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] text-text-muted transition-transform ${r.has(a.groupKey)?"rotate-90":""}`,children:"chevron_right"}),(0,d.jsx)("span",{className:`font-medium transition-colors ${a.summary.pending>0?"text-primary":""}`,children:a.groupKey})]})}),n(a),(0,d.jsx)(q,{item:a.summary,viewMode:k,isSummary:!0})]}),r.has(a.groupKey)&&a.items.map(a=>(0,d.jsxs)("tr",{className:"group-detail hover:bg-bg-subtle/20 transition-colors",children:[m(a),(0,d.jsx)(q,{item:a,viewMode:k})]},`detail-${a.key}`))]},a.groupKey)),0===c.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:v,className:"px-6 py-8 text-center text-text-muted",children:o})})]})]})})]})}p.propTypes={field:j().string.isRequired,currentSort:j().string.isRequired,currentOrder:j().string.isRequired},q.propTypes={item:j().object.isRequired,viewMode:j().string.isRequired,isSummary:j().bool},r.propTypes={title:j().string.isRequired,columns:j().arrayOf(j().shape({field:j().string.isRequired,label:j().string.isRequired,align:j().string})).isRequired,groupedData:j().array.isRequired,tableType:j().string.isRequired,sortBy:j().string.isRequired,sortOrder:j().string.isRequired,onToggleSort:j().func.isRequired,viewMode:j().string.isRequired,storageKey:j().string.isRequired,renderDetailCells:j().func.isRequired,renderSummaryCells:j().func.isRequired,emptyMessage:j().string.isRequired};var s=c(61869),t=c(16913);c(63433);var u=c(96919);function v({data:a}){let{label:b,color:c,imageUrl:f,textIcon:g,active:h}=a,[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center gap-2.5 px-4 py-2.5 rounded-lg border-2 transition-all duration-300 bg-bg",style:{borderColor:h?c:"var(--color-border)",boxShadow:h?`0 0 16px ${c}40`:"none",minWidth:"150px"},children:[(0,d.jsx)(s.h7,{type:"target",position:t.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"target",position:t.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"target",position:t.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"target",position:t.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("div",{className:"w-8 h-8 rounded-md flex items-center justify-center shrink-0",style:{backgroundColor:`${c}15`},children:i?(0,d.jsx)("span",{className:"text-sm font-bold",style:{color:c},children:g}):(0,d.jsx)("img",{src:f,alt:b,className:"w-6 h-6 rounded-sm object-contain",onError:()=>j(!0)})}),(0,d.jsx)("span",{className:"text-base font-medium truncate",style:{color:h?c:"var(--color-text)"},children:b}),h&&(0,d.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:c}}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:c}})]})]})}function w({data:a}){return(0,d.jsxs)("div",{className:"flex items-center justify-center px-5 py-3 rounded-xl border-2 border-primary bg-primary/5 shadow-md min-w-[130px]",children:[(0,d.jsx)(s.h7,{type:"source",position:t.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"source",position:t.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"source",position:t.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"source",position:t.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("img",{src:"/favicon.svg",alt:"9Router",className:"w-6 h-6 mr-2"}),(0,d.jsx)("span",{className:"text-sm font-bold text-primary",children:"9Router"}),a.activeCount>0&&(0,d.jsx)("span",{className:"ml-2 px-1.5 py-0.5 rounded-full bg-primary text-white text-xs font-bold",children:a.activeCount})]})}v.propTypes={data:j().object.isRequired},w.propTypes={data:j().object.isRequired};let x={provider:v,router:w};function y({providers:a=[],activeRequests:b=[],lastProvider:c="",errorProvider:f=""}){let g=(0,e.useMemo)(()=>b.map(a=>a.provider?.toLowerCase()).filter(Boolean).sort().join(","),[b]),h=c?.toLowerCase()||"",i=f?.toLowerCase()||"",j=(0,e.useMemo)(()=>new Set(g?g.split(","):[]),[g]),k=(0,e.useMemo)(()=>new Set(h?[h]:[]),[h]),l=(0,e.useMemo)(()=>new Set(i?[i]:[]),[i]),{nodes:m,edges:n}=(0,e.useMemo)(()=>(function(a,b,c,d){let e=a.length,f=Math.max(320,204*e/(2*Math.PI)),g=Math.max(200,.55*f);if(0===e)return{nodes:[{id:"router",type:"router",position:{x:0,y:0},data:{activeCount:0},draggable:!1}],edges:[]};let h=[],i=[];return h.push({id:"router",type:"router",position:{x:-60,y:-22},data:{activeCount:b.size},draggable:!1}),a.forEach((a,j)=>{var k,l;let m,n,o=(k=a.provider,u.Q2[k]||{color:"#6b7280",name:k}),p=b.has(a.provider?.toLowerCase()),q=!p&&c.has(a.provider?.toLowerCase()),r=!p&&d.has(a.provider?.toLowerCase()),s=`provider-${a.provider}`,t={label:(o.name!==a.provider?o.name:null)||a.name||a.provider,color:o.color||"#6b7280",imageUrl:(l=a.provider,`/providers/${l}.png`),textIcon:o.textIcon||(a.provider||"?").slice(0,2).toUpperCase(),active:p},v=-Math.PI/2+2*Math.PI*j/e,w=f*Math.cos(v),x=g*Math.sin(v);Math.abs(v+Math.PI/2)<Math.PI/4||Math.abs(v-3*Math.PI/2)<Math.PI/4?(m="top",n="bottom"):Math.abs(v-Math.PI/2)<Math.PI/4?(m="bottom",n="top"):w>0?(m="right",n="left"):(m="left",n="right"),h.push({id:s,type:"provider",position:{x:w-90,y:x-15},data:t,draggable:!1}),i.push({id:`e-${s}`,source:"router",sourceHandle:m,target:s,targetHandle:n,animated:p,style:(o.color,r?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:p?{stroke:"#22c55e",strokeWidth:2.5,opacity:.9}:q?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3})})}),{nodes:h,edges:i}})(a,j,k,l),[a,g,h,i]),o=(0,e.useMemo)(()=>a.map(a=>a.provider).sort().join(","),[a]),p=(0,e.useRef)(null),q=(0,e.useCallback)(a=>{p.current=a,setTimeout(()=>a.fitView({padding:.3}),50)},[]);return(0,d.jsx)("div",{className:"w-full rounded-lg border border-border bg-bg-subtle/30",style:{height:480},children:0===a.length?(0,d.jsx)("div",{className:"h-full flex items-center justify-center text-text-muted text-sm",children:"No providers connected"}):(0,d.jsx)(s.Gc,{nodes:m,edges:n,nodeTypes:x,fitView:!0,fitViewOptions:{padding:.3},onInit:q,proOptions:{hideAttribution:!0},panOnDrag:!1,zoomOnScroll:!1,zoomOnPinch:!1,zoomOnDoubleClick:!1,preventScrolling:!1,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1},o)})}y.propTypes={providers:j().arrayOf(j().shape({id:j().string,provider:j().string,name:j().string})),activeRequests:j().arrayOf(j().shape({provider:j().string,model:j().string,account:j().string})),lastProvider:j().string,errorProvider:j().string};var z=c(24823),A=c(29204),B=c(74652),C=c(43575),D=c(43012),E=c(13324),F=c(89558);let G=[{value:"24h",label:"24h"},{value:"7d",label:"7D"},{value:"30d",label:"30D"},{value:"60d",label:"60D"}],H=a=>a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a||0),I=a=>`$${(a||0).toFixed(4)}`;function J(){let[a,b]=(0,e.useState)("7d"),[c,f]=(0,e.useState)([]),[g,i]=(0,e.useState)(!0),[j,k]=(0,e.useState)("tokens");(0,e.useCallback)(async()=>{i(!0);try{let b=await fetch(`/api/usage/chart?period=${a}`);if(b.ok){let a=await b.json();f(a)}}catch(a){console.error("Failed to fetch chart data:",a)}finally{i(!1)}},[a]);let l=c.some(a=>a.tokens>0||a.cost>0);return(0,d.jsxs)(h.default,{className:"p-4 flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between flex-wrap gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1 bg-bg-subtle rounded-lg p-1 border border-border",children:[(0,d.jsx)("button",{onClick:()=>k("tokens"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"tokens"===j?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"}),(0,d.jsx)("button",{onClick:()=>k("cost"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"cost"===j?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Cost"})]}),(0,d.jsx)("div",{className:"flex items-center gap-1 bg-bg-subtle rounded-lg p-1 border border-border",children:G.map(c=>(0,d.jsx)("button",{onClick:()=>b(c.value),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${a===c.value?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:c.label},c.value))})]}),g?(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"Loading..."}):l?(0,d.jsx)(z.u,{width:"100%",height:200,children:(0,d.jsxs)(A.Q,{data:c,margin:{top:4,right:8,left:0,bottom:0},children:[(0,d.jsxs)("defs",{children:[(0,d.jsxs)("linearGradient",{id:"gradTokens",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#6366f1",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#6366f1",stopOpacity:0})]}),(0,d.jsxs)("linearGradient",{id:"gradCost",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#f59e0b",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#f59e0b",stopOpacity:0})]})]}),(0,d.jsx)(B.d,{strokeDasharray:"3 3",strokeOpacity:.1}),(0,d.jsx)(C.W,{dataKey:"label",tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,interval:"preserveStartEnd"}),(0,d.jsx)(D.h,{tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,tickFormatter:"tokens"===j?H:I,width:50}),(0,d.jsx)(E.m,{contentStyle:{backgroundColor:"var(--color-bg)",border:"1px solid var(--color-border)",borderRadius:"8px",fontSize:"12px"},formatter:(a,b)=>"tokens"===b?[H(a),"Tokens"]:[I(a),"Cost"]}),"tokens"===j?(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"tokens",stroke:"#6366f1",strokeWidth:2,fill:"url(#gradTokens)",dot:!1,activeDot:{r:4}}):(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"cost",stroke:"#f59e0b",strokeWidth:2,fill:"url(#gradCost)",dot:!1,activeDot:{r:4}})]})}):(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"No data for this period"})]})}function K({requests:a=[]}){return(0,d.jsxs)(h.default,{className:"flex flex-col overflow-hidden",padding:"sm",style:{height:480},children:[(0,d.jsx)("div",{className:"px-1 py-2 border-b border-border shrink-0",children:(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wide",children:"Recent Requests"})}),a.length?(0,d.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,d.jsxs)("table",{className:"w-full text-xs border-collapse",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg z-10",children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted w-2"}),(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted",children:"Model"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted whitespace-nowrap",children:"In / Out"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted",children:"When"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{var c;let e,f=!a.status||"ok"===a.status||"success"===a.status;return(0,d.jsxs)("tr",{className:"hover:bg-bg-subtle transition-colors",children:[(0,d.jsx)("td",{className:"py-1.5",children:(0,d.jsx)("span",{className:`block w-1.5 h-1.5 rounded-full ${f?"bg-success":"bg-error"}`})}),(0,d.jsx)("td",{className:"py-1.5 font-mono truncate max-w-[120px]",title:a.model,children:a.model}),(0,d.jsxs)("td",{className:"py-1.5 text-right whitespace-nowrap",children:[(0,d.jsxs)("span",{className:"text-primary",children:[m(a.promptTokens),"↑"]})," ",(0,d.jsxs)("span",{className:"text-success",children:[m(a.completionTokens),"↓"]})]}),(0,d.jsx)("td",{className:"py-1.5 text-right text-text-muted whitespace-nowrap",children:(c=a.timestamp,(e=Math.floor((Date.now()-new Date(c))/1e3))<60?`${e}s ago`:e<3600?`${Math.floor(e/60)}m ago`:e<86400?`${Math.floor(e/3600)}h ago`:`${Math.floor(e/86400)}d ago`)})]},b)})})]})}):(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center text-text-muted text-sm",children:"No requests yet."})]})}function L(a,b={},c,d){return Object.entries(a||{}).map(([a,c])=>{let d=(c.promptTokens||0)+(c.completionTokens||0),e=c.cost||0,f=d>0?(c.promptTokens||0)*(e/d):0,g=d>0?(c.completionTokens||0)*(e/d):0;return{...c,key:a,totalTokens:d,totalCost:e,inputCost:f,outputCost:g,pending:b[a]||0}}).sort((a,b)=>{let e=a[c],f=b[c];return("string"==typeof e&&(e=e.toLowerCase()),"string"==typeof f&&(f=f.toLowerCase()),e<f)?"asc"===d?-1:1:e>f?"asc"===d?1:-1:0})}function M(a,b){if(!Array.isArray(a))return[];let c={};return a.forEach(a=>{let d=function(a,b){switch(b){case"rawModel":return a.rawModel||"Unknown Model";case"accountName":return a.accountName||`Account ${a.connectionId?.slice(0,8)}...`||"Unknown Account";case"keyName":return a.keyName||"Unknown Key";case"endpoint":return a.endpoint||"Unknown Endpoint";default:return a[b]||"Unknown"}}(a,b);c[d]||(c[d]={groupKey:d,summary:{requests:0,promptTokens:0,completionTokens:0,totalTokens:0,cost:0,inputCost:0,outputCost:0,lastUsed:null,pending:0},items:[]});let e=c[d].summary;e.requests+=a.requests||0,e.promptTokens+=a.promptTokens||0,e.completionTokens+=a.completionTokens||0,e.totalTokens+=a.totalTokens||0,e.cost+=a.cost||0,e.inputCost+=a.inputCost||0,e.outputCost+=a.outputCost||0,e.pending+=a.pending||0,a.lastUsed&&(!e.lastUsed||new Date(a.lastUsed)>new Date(e.lastUsed))&&(e.lastUsed=a.lastUsed),c[d].items.push(a)}),Object.values(c)}J.propTypes={};let N=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],O=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"accountName",label:"Account"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],P=[{field:"keyName",label:"API Key Name"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],Q=[{field:"endpoint",label:"Endpoint"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],R=[{value:"model",label:"Usage by Model"},{value:"account",label:"Usage by Account"},{value:"apiKey",label:"Usage by API Key"},{value:"endpoint",label:"Usage by Endpoint"}];function S(){let a=(0,f.useRouter)(),b=(0,f.useSearchParams)(),c=b.get("sortBy")||"rawModel",h=b.get("sortOrder")||"asc",[i,j]=(0,e.useState)(null),[k,n]=(0,e.useState)(!0),[p,q]=(0,e.useState)("model"),[s,t]=(0,e.useState)([]),u=(0,e.useCallback)((c,d)=>{let e=new URLSearchParams(b.toString());e.get("sortBy")===d?e.set("sortOrder","asc"===e.get("sortOrder")?"desc":"asc"):(e.set("sortBy",d),e.set("sortOrder","asc")),a.replace(`?${e.toString()}`,{scroll:!1})},[b,a]),v=(0,e.useMemo)(()=>{if(!i)return null;switch(p){case"model":{let a=i.pending?.byModel||{};return{columns:N,groupedData:M(L(i.byModel,a,c,h),"rawModel"),storageKey:"usage-stats:expanded-models",emptyMessage:"No usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})}}case"account":{let a={};return i?.pending?.byAccount&&Object.entries(i.byAccount||{}).forEach(([b,c])=>{let d=i.pending.byAccount[c.connectionId];if(d){let e=c.provider?`${c.rawModel} (${c.provider})`:c.rawModel;a[b]=d[e]||0}}),{columns:O,groupedData:M(L(i.byAccount,a,c,h),"accountName"),storageKey:"usage-stats:expanded-accounts",emptyMessage:"No account-specific usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.accountName||`Account ${a.connectionId?.slice(0,8)}...`}),(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})}}case"apiKey":return{columns:P,groupedData:M(L(i.byApiKey,{},c,h),"keyName"),storageKey:"usage-stats:expanded-apikeys",emptyMessage:"No API key usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium",children:a.keyName}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})};default:return{columns:Q,groupedData:M(L(i.byEndpoint,{},c,h),"endpoint"),storageKey:"usage-stats:expanded-endpoints",emptyMessage:"No endpoint usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium font-mono text-sm",children:a.endpoint}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})}}},[i,p,c,h]);if(!i&&!k)return(0,d.jsx)("div",{className:"text-text-muted",children:"Failed to load usage statistics."});let w=(0,d.jsx)("div",{className:"flex items-center justify-center py-12 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px] animate-spin",children:"progress_activity"})});return(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[k?w:(0,d.jsx)(l,{stats:i}),k?w:(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-[2fr_1fr] gap-2 items-stretch",children:[(0,d.jsx)(y,{providers:s,activeRequests:i.activeRequests||[],lastProvider:i.recentRequests?.[0]?.provider||"",errorProvider:i.errorProvider||""}),(0,d.jsx)(K,{requests:i.recentRequests||[]})]}),k?w:(0,d.jsx)(J,{}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("select",{value:p,onChange:a=>q(a.target.value),className:"px-3 py-1.5 rounded-lg border border-border bg-bg-subtle text-sm font-medium text-text focus:outline-none focus:ring-2 focus:ring-primary/50",children:R.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))})}),k?w:v&&(0,d.jsx)(r,{title:"",columns:v.columns,groupedData:v.groupedData,tableType:p,sortBy:c,sortOrder:h,onToggleSort:u,storageKey:v.storageKey,renderSummaryCells:v.renderSummaryCells,renderDetailCells:v.renderDetailCells,emptyMessage:v.emptyMessage})]})]})}},91099:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({options:a=[],value:b,onChange:c,size:f="md",className:g}){let h={sm:"h-7 text-xs",md:"h-9 text-sm",lg:"h-11 text-base"};return(0,d.jsx)("div",{className:(0,e.cn)("inline-flex items-center p-1 rounded-lg","bg-black/5 dark:bg-white/5",g),children:a.map(a=>(0,d.jsxs)("button",{onClick:()=>c(a.value),className:(0,e.cn)("px-4 rounded-md font-medium transition-all",h[f],b===a.value?"bg-white dark:bg-white/10 text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:[a.icon&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] mr-1.5",children:a.icon}),a.label]},a.value))})}},91809:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(67484),f=c(17660);function g(){let[a,b]=(0,e.useState)([]),[c,g]=(0,e.useState)(!0),[h,i]=(0,e.useState)(!0);return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Request Logs"}),(0,d.jsx)("div",{className:"flex items-center gap-2",children:(0,d.jsxs)("label",{className:"text-sm font-medium text-text-muted flex items-center gap-2 cursor-pointer",children:[(0,d.jsx)("span",{children:"Auto Refresh (3s)"}),(0,d.jsx)("div",{onClick:()=>i(!h),className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors focus:outline-none ${h?"bg-primary":"bg-bg-subtle border border-border"}`,children:(0,d.jsx)("span",{className:`inline-block h-3 w-3 transform rounded-full bg-white transition-transform ${h?"translate-x-5":"translate-x-1"}`})})]})})]}),(0,d.jsx)(f.default,{className:"overflow-hidden bg-black/5 dark:bg-black/20",children:(0,d.jsx)("div",{className:"p-0 overflow-x-auto max-h-[600px] overflow-y-auto font-mono text-xs",children:c&&0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"Loading logs..."}):0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"No logs recorded yet."}):(0,d.jsxs)("table",{className:"w-full text-left border-collapse whitespace-nowrap",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg-subtle border-b border-border z-10",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"DateTime"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Model"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Provider"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Account"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"In"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Out"}),(0,d.jsx)("th",{className:"px-3 py-2",children:"Status"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{let c=a.split(" | ");if(c.length<7)return null;let e=c[6],f=e.includes("PENDING"),g=e.includes("FAILED"),h=e.includes("OK");return(0,d.jsxs)("tr",{className:`hover:bg-primary/5 transition-colors ${f?"bg-primary/5":""}`,children:[(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-text-muted",children:c[0]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border font-medium",children:c[1]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border",children:(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-bg-subtle border border-border text-[10px] uppercase font-bold",children:c[2]})}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border truncate max-w-[150px]",title:c[3],children:c[3]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-primary",children:c[4]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-success",children:c[5]}),(0,d.jsx)("td",{className:`px-3 py-1.5 font-bold ${h?"text-success":g?"text-error":"text-primary animate-pulse"}`,children:e})]},b)})})]})})}),(0,d.jsx)("div",{className:"text-[10px] text-text-muted italic",children:"Logs are saved to log.txt in the application data directory."})]})}},95145:(a,b,c)=>{c.d(b,{ConfirmModal:()=>h,default:()=>g});var d=c(48249);c(67484);var e=c(71404),f=c(99070);function g({isOpen:a,onClose:b,title:c,children:f,footer:g,size:h="md",closeOnOverlay:i=!0,showCloseButton:j=!0,className:k}){return a?(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:i?b:void 0}),(0,d.jsxs)("div",{className:(0,e.cn)("relative w-full bg-surface","border border-black/10 dark:border-white/10","rounded-xl shadow-2xl","animate-in fade-in zoom-in-95 duration-200",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[h],k),children:[(c||j)&&(0,d.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-black/5 dark:border-white/5",children:[(0,d.jsxs)("div",{className:"flex items-center",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mr-4",children:[(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),c&&(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:c})]}),j&&(0,d.jsx)("button",{onClick:b,className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"p-6 max-h-[calc(80vh-140px)] overflow-y-auto",children:f}),g&&(0,d.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-black/5 dark:border-white/5",children:g})]})]}):null}function h({isOpen:a,onClose:b,onConfirm:c,title:e="Confirm",message:h,confirmText:i="Confirm",cancelText:j="Cancel",variant:k="danger",loading:l=!1}){return(0,d.jsx)(g,{isOpen:a,onClose:b,title:e,size:"sm",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.default,{variant:"ghost",onClick:b,disabled:l,children:j}),(0,d.jsx)(f.default,{variant:k,onClick:c,loading:l,children:i})]}),children:(0,d.jsx)("p",{className:"text-text-muted",children:h})})}},95514:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({checked:a=!1,onChange:b,label:c,description:f,disabled:g=!1,size:h="md",className:i}){let j={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center gap-3",g&&"opacity-50 cursor-not-allowed",i),children:[(0,d.jsx)("button",{type:"button",role:"switch","aria-checked":a,disabled:g,onClick:()=>{!g&&b&&b(!a)},className:(0,e.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-1 focus:ring-primary/30",a?"bg-primary":"bg-black/10 dark:bg-white/20",j[h].track,g&&"cursor-not-allowed"),children:(0,d.jsx)("span",{className:(0,e.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",a?j[h].translate:"translate-x-0.5",j[h].thumb,"mt-0.5")})}),(c||f)&&(0,d.jsxs)("div",{className:"flex flex-col",children:[c&&(0,d.jsx)("span",{className:"text-sm font-medium text-text-main",children:c}),f&&(0,d.jsx)("span",{className:"text-xs text-text-muted",children:f})]})]})}},99070:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(71404);let f={primary:"bg-gradient-to-b from-primary to-primary-hover text-white shadow-sm",secondary:"bg-white dark:bg-white/10 border border-black/10 dark:border-white/10 text-text-main hover:bg-black/5 dark:hover:bg-white/5",outline:"border border-black/15 dark:border-white/15 text-text-main hover:bg-black/5",ghost:"text-text-muted hover:bg-black/5 dark:hover:bg-white/5 hover:text-text-main",danger:"bg-red-500 text-white hover:bg-red-600 shadow-sm"},g={sm:"h-7 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm rounded-lg",lg:"h-11 px-6 text-sm rounded-lg"};function h({children:a,variant:b="primary",size:c="md",icon:h,iconRight:i,disabled:j=!1,loading:k=!1,fullWidth:l=!1,className:m,...n}){return(0,d.jsxs)("button",{className:(0,e.cn)("inline-flex items-center justify-center gap-2 font-medium transition-all duration-200 cursor-pointer","active:scale-[0.99] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",f[b],g[c],l&&"w-full",m),disabled:j||k,...n,children:[k?(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):h?(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:h}):null,a,i&&!k&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i})]})}}};
7
+ `,children:a.name},a.id)})})]},a)),0===Object.keys(w).length&&0===v.length&&(0,d.jsxs)("div",{className:"text-center py-4 text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-2xl mb-1 block",children:"search_off"}),(0,d.jsx)("p",{className:"text-xs",children:"No models found"})]})]})]})}l.propTypes={isOpen:g().bool.isRequired,onClose:g().func.isRequired,onSelect:g().func.isRequired,selectedModel:g().string,activeProviders:g().arrayOf(g().shape({provider:g().string.isRequired})),title:g().string,modelAliases:g().object}},83552:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({label:a,type:b="text",placeholder:c,value:f,onChange:g,error:h,hint:i,icon:j,disabled:k=!1,required:l=!1,className:m,inputClassName:n,...o}){return(0,d.jsxs)("div",{className:(0,e.cn)("flex flex-col gap-1.5",m),children:[a&&(0,d.jsxs)("label",{className:"text-sm font-medium text-text-main",children:[a,l&&(0,d.jsx)("span",{className:"text-red-500 ml-1",children:"*"})]}),(0,d.jsxs)("div",{className:"relative",children:[j&&(0,d.jsx)("div",{className:"absolute inset-y-0 left-0 flex items-center pl-3 pointer-events-none text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:j})}),(0,d.jsx)("input",{type:b,placeholder:c,value:f,onChange:g,disabled:k,className:(0,e.cn)("w-full py-2 px-3 text-sm text-text-main","bg-white dark:bg-white/5 border border-black/10 dark:border-white/10 rounded-md","placeholder-text-muted/60","focus:ring-1 focus:ring-primary/30 focus:border-primary/50 focus:outline-none","transition-all shadow-inner disabled:opacity-50 disabled:cursor-not-allowed","text-[16px] sm:text-sm",j&&"pl-10",h?"border-red-500 focus:border-red-500 focus:ring-red-500/20":"",n),...o})]}),h&&(0,d.jsxs)("p",{className:"text-xs text-red-500 flex items-center gap-1",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"error"}),h]}),i&&!h&&(0,d.jsx)("p",{className:"text-xs text-text-muted",children:i})]})}},85306:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(67484),f=c(42196),g=c(86739);function h({children:a}){let[b,c]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex h-screen w-full overflow-hidden bg-bg",children:[b&&(0,d.jsx)("div",{className:"fixed inset-0 z-40 bg-black/20 lg:hidden",onClick:()=>c(!1)}),(0,d.jsx)("div",{className:"hidden lg:flex",children:(0,d.jsx)(f.default,{})}),(0,d.jsx)("div",{className:`fixed inset-y-0 left-0 z-50 transform lg:hidden transition-transform duration-300 ease-in-out ${b?"translate-x-0":"-translate-x-full"}`,children:(0,d.jsx)(f.default,{onClose:()=>c(!1)})}),(0,d.jsxs)("main",{className:"flex flex-col flex-1 h-full min-w-0 relative transition-colors duration-300",children:[(0,d.jsx)(g.default,{onMenuClick:()=>c(!0)}),(0,d.jsx)("div",{className:"flex-1 overflow-y-auto custom-scrollbar p-6 lg:p-10",children:(0,d.jsx)("div",{className:"max-w-7xl mx-auto",children:a})})]})]})}},86209:(a,b,c)=>{c.d(b,{default:()=>i});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412);function i({isOpen:a,onMethodSelect:b,onClose:c}){let[f,g]=(0,e.useState)(null),[i,j]=(0,e.useState)(""),[k,l]=(0,e.useState)("us-east-1"),[m,n]=(0,e.useState)(""),[o,p]=(0,e.useState)(null),[q,r]=(0,e.useState)(!1),[s,t]=(0,e.useState)(!1),[u,v]=(0,e.useState)(!1),w=a=>{g(a),p(null)},x=()=>{g(null),p(null)},y=async()=>{if(!m.trim())return void p("Please enter a refresh token");r(!0),p(null);try{let a=await fetch("/api/oauth/kiro/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({refreshToken:m.trim()})}),c=await a.json();if(!a.ok)throw Error(c.error||"Import failed");b("import")}catch(a){p(a.message)}finally{r(!1)}},z=a=>{b("social",{provider:a})};return(0,d.jsx)(h.aF,{isOpen:a,title:"Connect Kiro",onClose:c,size:"lg",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[!f&&(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Choose your authentication method:"}),(0,d.jsx)("button",{onClick:()=>b("builder-id"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"shield"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS Builder ID"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Recommended for most users. Free AWS account required."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("idc"),className:"hidden w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"business"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"AWS IAM Identity Center"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"For enterprise users with custom AWS IAM Identity Center."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("social-google"),className:"hidden w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"account_circle"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Google Account"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login with your Google account (manual callback)."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("social-github"),className:"hidden w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"code"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"GitHub Account"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Login with your GitHub account (manual callback)."})]})]})}),(0,d.jsx)("button",{onClick:()=>w("import"),className:"w-full p-4 text-left border border-border rounded-lg hover:bg-sidebar transition-colors",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary mt-0.5",children:"file_upload"}),(0,d.jsxs)("div",{className:"flex-1",children:[(0,d.jsx)("h3",{className:"font-semibold mb-1",children:"Import Token"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Paste refresh token from Kiro IDE."})]})]})})]}),"idc"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["IDC Start URL ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:i,onChange:a=>j(a.target.value),placeholder:"https://your-org.awsapps.com/start",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"Your organization's AWS IAM Identity Center URL"})]}),(0,d.jsxs)("div",{children:[(0,d.jsx)("label",{className:"block text-sm font-medium mb-2",children:"AWS Region"}),(0,d.jsx)(h.pd,{value:k,onChange:a=>l(a.target.value),placeholder:"us-east-1",className:"font-mono text-sm"}),(0,d.jsx)("p",{className:"text-xs text-text-muted mt-1",children:"AWS region for your Identity Center (default: us-east-1)"})]}),o&&(0,d.jsx)("p",{className:"text-sm text-red-600",children:o}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>{i.trim()?b("idc",{startUrl:i.trim(),region:k}):p("Please enter your IDC start URL")},fullWidth:!0,children:"Continue"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"social-google"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"bg-amber-50 dark:bg-amber-900/20 p-4 rounded-lg border border-amber-200 dark:border-amber-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-amber-600 dark:text-amber-400",children:"info"}),(0,d.jsxs)("div",{className:"flex-1 text-sm",children:[(0,d.jsx)("p",{className:"font-medium text-amber-900 dark:text-amber-100 mb-1",children:"Manual Callback Required"}),(0,d.jsx)("p",{className:"text-amber-800 dark:text-amber-200",children:"After login, you'll need to copy the callback URL from your browser and paste it back here."})]})]})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>z("google"),fullWidth:!0,children:"Continue with Google"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"social-github"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[(0,d.jsx)("div",{className:"bg-amber-50 dark:bg-amber-900/20 p-4 rounded-lg border border-amber-200 dark:border-amber-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-amber-600 dark:text-amber-400",children:"info"}),(0,d.jsxs)("div",{className:"flex-1 text-sm",children:[(0,d.jsx)("p",{className:"font-medium text-amber-900 dark:text-amber-100 mb-1",children:"Manual Callback Required"}),(0,d.jsx)("p",{className:"text-amber-800 dark:text-amber-200",children:"After login, you'll need to copy the callback URL from your browser and paste it back here."})]})]})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>z("github"),fullWidth:!0,children:"Continue with GitHub"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]}),"import"===f&&(0,d.jsxs)("div",{className:"space-y-4",children:[s&&(0,d.jsxs)("div",{className:"text-center py-6",children:[(0,d.jsx)("div",{className:"size-16 mx-auto mb-4 rounded-full bg-primary/10 flex items-center justify-center",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-3xl text-primary animate-spin",children:"progress_activity"})}),(0,d.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"Auto-detecting token..."}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Reading from AWS SSO cache"})]}),!s&&(0,d.jsxs)(d.Fragment,{children:[u&&(0,d.jsx)("div",{className:"bg-green-50 dark:bg-green-900/20 p-3 rounded-lg border border-green-200 dark:border-green-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-green-600 dark:text-green-400",children:"check_circle"}),(0,d.jsx)("p",{className:"text-sm text-green-800 dark:text-green-200",children:"Token auto-detected from Kiro IDE successfully!"})]})}),!u&&!o&&(0,d.jsx)("div",{className:"bg-blue-50 dark:bg-blue-900/20 p-3 rounded-lg border border-blue-200 dark:border-blue-800",children:(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-blue-600 dark:text-blue-400",children:"info"}),(0,d.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200",children:"Kiro IDE not detected. Please paste your refresh token manually."})]})}),(0,d.jsxs)("div",{children:[(0,d.jsxs)("label",{className:"block text-sm font-medium mb-2",children:["Refresh Token ",(0,d.jsx)("span",{className:"text-red-500",children:"*"})]}),(0,d.jsx)(h.pd,{value:m,onChange:a=>n(a.target.value),placeholder:"Token will be auto-filled...",className:"font-mono text-sm"})]}),o&&(0,d.jsx)("div",{className:"bg-red-50 dark:bg-red-900/20 p-3 rounded-lg border border-red-200 dark:border-red-800",children:(0,d.jsx)("p",{className:"text-sm text-red-600 dark:text-red-400",children:o})}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:y,fullWidth:!0,disabled:q||!m.trim(),children:q?"Importing...":"Import Token"}),(0,d.jsx)(h.$n,{onClick:x,variant:"ghost",fullWidth:!0,children:"Back"})]})]})]})]})})}i.propTypes={isOpen:g().bool.isRequired,onMethodSelect:g().func.isRequired,onClose:g().func.isRequired}},86739:(a,b,c)=>{c.d(b,{default:()=>m});var d=c(48249),e=c(19099),f=c(2116),g=c.n(f),h=c(81220),i=c(49885),j=c.n(i),k=c(50412),l=c(12020);function m({onMenuClick:a,showMenuButton:b=!0}){let c=(0,e.usePathname)(),f=(0,e.useRouter)(),{title:i,description:j,breadcrumbs:m}=(a=>{if(!a)return{title:"",description:"",breadcrumbs:[]};let b=a.match(/\/providers\/([^/]+)$/);if(b){let a=b[1],c=l.zN[a]||l.fg[a];if(c)return{title:c.name,description:"",breadcrumbs:[{label:"Providers",href:"/dashboard/providers"},{label:c.name,image:`/providers/${c.id}.png`}]}}return a.includes("/providers")?{title:"Providers",description:"Manage your AI provider connections",breadcrumbs:[]}:a.includes("/combos")?{title:"Combos",description:"Model combos with fallback",breadcrumbs:[]}:a.includes("/usage")?{title:"Usage & Analytics",description:"Monitor your API usage, token consumption, and request logs",breadcrumbs:[]}:a.includes("/cli-tools")?{title:"CLI Tools",description:"Configure CLI tools",breadcrumbs:[]}:a.includes("/endpoint")?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:a.includes("/profile")?{title:"Settings",description:"Manage your preferences",breadcrumbs:[]}:a.includes("/translator")?{title:"Translator",description:"Debug translation flow between formats",breadcrumbs:[]}:a.includes("/console-log")?{title:"Console Log",description:"Live server console output",breadcrumbs:[]}:"/dashboard"===a?{title:"Endpoint",description:"API endpoint configuration",breadcrumbs:[]}:{title:"",description:"",breadcrumbs:[]}})(c),n=async()=>{try{(await fetch("/api/auth/logout",{method:"POST"})).ok&&(f.push("/login"),f.refresh())}catch(a){console.error("Failed to logout:",a)}};return(0,d.jsxs)("header",{className:"flex items-center justify-between px-8 py-5 border-b border-black/5 dark:border-white/5 bg-bg/80 backdrop-blur-xl z-10 sticky top-0",children:[(0,d.jsx)("div",{className:"flex items-center gap-3 lg:hidden",children:b&&(0,d.jsx)("button",{onClick:a,className:"text-text-main hover:text-primary transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"menu"})})}),(0,d.jsx)("div",{className:"hidden lg:flex flex-col",children:m.length>0?(0,d.jsx)("div",{className:"flex items-center gap-2",children:m.map((a,b)=>(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[b>0&&(0,d.jsx)("span",{className:"material-symbols-outlined text-text-muted text-base",children:"chevron_right"}),a.href?(0,d.jsx)(g(),{href:a.href,className:"text-text-muted hover:text-primary transition-colors",children:a.label}):(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[a.image&&(0,d.jsx)(h.default,{src:a.image,alt:a.label,width:28,height:28,className:"object-contain rounded max-w-[28px] max-h-[28px]",sizes:"28px",onError:a=>{a.currentTarget.style.display="none"}}),(0,d.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:a.label})]})]},`${a.label}-${a.href||"current"}`))}):i?(0,d.jsxs)("div",{children:[(0,d.jsx)("h1",{className:"text-2xl font-semibold text-text-main tracking-tight",children:i}),j&&(0,d.jsx)("p",{className:"text-sm text-text-muted",children:j})]}):null}),(0,d.jsxs)("div",{className:"flex items-center gap-3 ml-auto",children:[(0,d.jsx)(k.UW,{}),(0,d.jsx)("button",{onClick:n,className:"flex items-center justify-center p-2 rounded-lg text-text-muted hover:text-red-500 hover:bg-red-500/10 transition-all",title:"Logout",children:(0,d.jsx)("span",{className:"material-symbols-outlined",children:"logout"})})]})]})}m.propTypes={onMenuClick:j().func,showMenuButton:j().bool}},87226:(a,b,c)=>{c.d(b,{default:()=>S});var d=c(48249),e=c(67484),f=c(19099),g=c(75171),h=c(17660),i=c(49885),j=c.n(i);let k=a=>new Intl.NumberFormat().format(a||0);function l({stats:a}){let b;return(0,d.jsxs)("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Requests"}),(0,d.jsx)("span",{className:"text-2xl font-bold",children:k(a.totalRequests)})]}),(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Total Input Tokens"}),(0,d.jsx)("span",{className:"text-2xl font-bold text-primary",children:k(a.totalPromptTokens)})]}),(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Output Tokens"}),(0,d.jsx)("span",{className:"text-2xl font-bold text-success",children:k(a.totalCompletionTokens)})]}),(0,d.jsxs)(h.default,{className:"px-4 py-3 flex flex-col gap-1",children:[(0,d.jsx)("span",{className:"text-text-muted text-sm uppercase font-semibold",children:"Est. Cost"}),(0,d.jsxs)("span",{className:"text-2xl font-bold text-warning",children:["~",(b=a.totalCost,`$${(b||0).toFixed(2)}`)]}),(0,d.jsx)("span",{className:"text-[10px] text-text-muted",children:"Estimated, not actual billing"})]})]})}l.propTypes={stats:j().object.isRequired};let m=a=>new Intl.NumberFormat().format(a||0),n=a=>`$${(a||0).toFixed(2)}`;function o(a){if(!a)return"Never";let b=Math.floor((Date.now()-new Date(a))/6e4);return b<1?"Just now":b<60?`${b}m ago`:b<1440?`${Math.floor(b/60)}h ago`:new Date(a).toLocaleDateString()}function p({field:a,currentSort:b,currentOrder:c}){return b!==a?(0,d.jsx)("span",{className:"ml-1 opacity-20",children:"↕"}):(0,d.jsx)("span",{className:"ml-1",children:"asc"===c?"↑":"↓"})}function q({item:a,viewMode:b,isSummary:c=!1}){return"tokens"===b?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.promptTokens?"—":m(a.promptTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.completionTokens?"—":m(a.completionTokens)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium",children:m(a.totalTokens)})]}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.inputCost?"—":n(a.inputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted",children:c&&void 0===a.outputCost?"—":n(a.outputCost)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right font-medium text-warning",children:n(a.totalCost||a.cost)})]})}function r({title:a,columns:b,groupedData:c,tableType:f,sortBy:g,sortOrder:i,onToggleSort:j,viewMode:k,storageKey:l,renderDetailCells:m,renderSummaryCells:n,emptyMessage:o}){let[r,s]=(0,e.useState)(new Set),t=(0,e.useCallback)(a=>{s(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},[]),u=(0,e.useMemo)(()=>"tokens"===k?[{field:"promptTokens",label:"Input Tokens"},{field:"completionTokens",label:"Output Tokens"},{field:"totalTokens",label:"Total Tokens"}]:[{field:"promptTokens",label:"Input Cost"},{field:"completionTokens",label:"Output Cost"},{field:"cost",label:"Total Cost"}],[k]),v=b.length+u.length;return(0,d.jsxs)(h.default,{className:"overflow-hidden",children:[(0,d.jsx)("div",{className:"p-4 border-b border-border bg-bg-subtle/50",children:(0,d.jsx)("h3",{className:"font-semibold",children:a})}),(0,d.jsx)("div",{className:"overflow-x-auto",children:(0,d.jsxs)("table",{className:"w-full text-sm text-left",children:[(0,d.jsx)("thead",{className:"bg-bg-subtle/30 text-text-muted uppercase text-xs",children:(0,d.jsxs)("tr",{children:[b.map(a=>(0,d.jsxs)("th",{className:`px-6 py-3 cursor-pointer hover:bg-bg-subtle/50 ${"right"===a.align?"text-right":""}`,onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(p,{field:a.field,currentSort:g,currentOrder:i})]},a.field)),u.map(a=>(0,d.jsxs)("th",{className:"px-6 py-3 text-right cursor-pointer hover:bg-bg-subtle/50",onClick:()=>j(f,a.field),children:[a.label," ",(0,d.jsx)(p,{field:a.field,currentSort:g,currentOrder:i})]},a.field))]})}),(0,d.jsxs)("tbody",{className:"divide-y divide-border",children:[c.map(a=>(0,d.jsxs)(e.Fragment,{children:[(0,d.jsxs)("tr",{className:"group-summary cursor-pointer hover:bg-bg-subtle/50 transition-colors",onClick:()=>t(a.groupKey),children:[(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`material-symbols-outlined text-[18px] text-text-muted transition-transform ${r.has(a.groupKey)?"rotate-90":""}`,children:"chevron_right"}),(0,d.jsx)("span",{className:`font-medium transition-colors ${a.summary.pending>0?"text-primary":""}`,children:a.groupKey})]})}),n(a),(0,d.jsx)(q,{item:a.summary,viewMode:k,isSummary:!0})]}),r.has(a.groupKey)&&a.items.map(a=>(0,d.jsxs)("tr",{className:"group-detail hover:bg-bg-subtle/20 transition-colors",children:[m(a),(0,d.jsx)(q,{item:a,viewMode:k})]},`detail-${a.key}`))]},a.groupKey)),0===c.length&&(0,d.jsx)("tr",{children:(0,d.jsx)("td",{colSpan:v,className:"px-6 py-8 text-center text-text-muted",children:o})})]})]})})]})}p.propTypes={field:j().string.isRequired,currentSort:j().string.isRequired,currentOrder:j().string.isRequired},q.propTypes={item:j().object.isRequired,viewMode:j().string.isRequired,isSummary:j().bool},r.propTypes={title:j().string.isRequired,columns:j().arrayOf(j().shape({field:j().string.isRequired,label:j().string.isRequired,align:j().string})).isRequired,groupedData:j().array.isRequired,tableType:j().string.isRequired,sortBy:j().string.isRequired,sortOrder:j().string.isRequired,onToggleSort:j().func.isRequired,viewMode:j().string.isRequired,storageKey:j().string.isRequired,renderDetailCells:j().func.isRequired,renderSummaryCells:j().func.isRequired,emptyMessage:j().string.isRequired};var s=c(61869),t=c(16913);c(63433);var u=c(96919);function v({data:a}){let{label:b,color:c,imageUrl:f,textIcon:g,active:h}=a,[i,j]=(0,e.useState)(!1);return(0,d.jsxs)("div",{className:"flex items-center gap-2.5 px-4 py-2.5 rounded-lg border-2 transition-all duration-300 bg-bg",style:{borderColor:h?c:"var(--color-border)",boxShadow:h?`0 0 16px ${c}40`:"none",minWidth:"150px"},children:[(0,d.jsx)(s.h7,{type:"target",position:t.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"target",position:t.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"target",position:t.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"target",position:t.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("div",{className:"w-8 h-8 rounded-md flex items-center justify-center shrink-0",style:{backgroundColor:`${c}15`},children:i?(0,d.jsx)("span",{className:"text-sm font-bold",style:{color:c},children:g}):(0,d.jsx)("img",{src:f,alt:b,className:"w-6 h-6 rounded-sm object-contain",onError:()=>j(!0)})}),(0,d.jsx)("span",{className:"text-base font-medium truncate",style:{color:h?c:"var(--color-text)"},children:b}),h&&(0,d.jsxs)("span",{className:"relative flex h-2 w-2 shrink-0",children:[(0,d.jsx)("span",{className:"animate-ping absolute inline-flex h-full w-full rounded-full opacity-75",style:{backgroundColor:c}}),(0,d.jsx)("span",{className:"relative inline-flex rounded-full h-2 w-2",style:{backgroundColor:c}})]})]})}function w({data:a}){return(0,d.jsxs)("div",{className:"flex items-center justify-center px-5 py-3 rounded-xl border-2 border-primary bg-primary/5 shadow-md min-w-[130px]",children:[(0,d.jsx)(s.h7,{type:"source",position:t.yX.Top,id:"top",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"source",position:t.yX.Bottom,id:"bottom",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"source",position:t.yX.Left,id:"left",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)(s.h7,{type:"source",position:t.yX.Right,id:"right",className:"!bg-transparent !border-0 !w-0 !h-0"}),(0,d.jsx)("img",{src:"/favicon.svg",alt:"9Router",className:"w-6 h-6 mr-2"}),(0,d.jsx)("span",{className:"text-sm font-bold text-primary",children:"9Router"}),a.activeCount>0&&(0,d.jsx)("span",{className:"ml-2 px-1.5 py-0.5 rounded-full bg-primary text-white text-xs font-bold",children:a.activeCount})]})}v.propTypes={data:j().object.isRequired},w.propTypes={data:j().object.isRequired};let x={provider:v,router:w};function y({providers:a=[],activeRequests:b=[],lastProvider:c="",errorProvider:f=""}){let g=(0,e.useMemo)(()=>b.map(a=>a.provider?.toLowerCase()).filter(Boolean).sort().join(","),[b]),h=c?.toLowerCase()||"",i=f?.toLowerCase()||"",j=(0,e.useMemo)(()=>new Set(g?g.split(","):[]),[g]),k=(0,e.useMemo)(()=>new Set(h?[h]:[]),[h]),l=(0,e.useMemo)(()=>new Set(i?[i]:[]),[i]),{nodes:m,edges:n}=(0,e.useMemo)(()=>(function(a,b,c,d){let e=a.length,f=Math.max(320,204*e/(2*Math.PI)),g=Math.max(200,.55*f);if(0===e)return{nodes:[{id:"router",type:"router",position:{x:0,y:0},data:{activeCount:0},draggable:!1}],edges:[]};let h=[],i=[];return h.push({id:"router",type:"router",position:{x:-60,y:-22},data:{activeCount:b.size},draggable:!1}),a.forEach((a,j)=>{var k,l;let m,n,o=(k=a.provider,u.Q2[k]||{color:"#6b7280",name:k}),p=b.has(a.provider?.toLowerCase()),q=!p&&c.has(a.provider?.toLowerCase()),r=!p&&d.has(a.provider?.toLowerCase()),s=`provider-${a.provider}`,t={label:(o.name!==a.provider?o.name:null)||a.name||a.provider,color:o.color||"#6b7280",imageUrl:(l=a.provider,`/providers/${l}.png`),textIcon:o.textIcon||(a.provider||"?").slice(0,2).toUpperCase(),active:p},v=-Math.PI/2+2*Math.PI*j/e,w=f*Math.cos(v),x=g*Math.sin(v);Math.abs(v+Math.PI/2)<Math.PI/4||Math.abs(v-3*Math.PI/2)<Math.PI/4?(m="top",n="bottom"):Math.abs(v-Math.PI/2)<Math.PI/4?(m="bottom",n="top"):w>0?(m="right",n="left"):(m="left",n="right"),h.push({id:s,type:"provider",position:{x:w-90,y:x-15},data:t,draggable:!1}),i.push({id:`e-${s}`,source:"router",sourceHandle:m,target:s,targetHandle:n,animated:p,style:(o.color,r?{stroke:"#ef4444",strokeWidth:2.5,opacity:.9}:p?{stroke:"#22c55e",strokeWidth:2.5,opacity:.9}:q?{stroke:"#f59e0b",strokeWidth:2,opacity:.7}:{stroke:"var(--color-border)",strokeWidth:1,opacity:.3})})}),{nodes:h,edges:i}})(a,j,k,l),[a,g,h,i]),o=(0,e.useMemo)(()=>a.map(a=>a.provider).sort().join(","),[a]),p=(0,e.useRef)(null),q=(0,e.useCallback)(a=>{p.current=a,setTimeout(()=>a.fitView({padding:.3}),50)},[]);return(0,d.jsx)("div",{className:"w-full rounded-lg border border-border bg-bg-subtle/30",style:{height:480},children:0===a.length?(0,d.jsx)("div",{className:"h-full flex items-center justify-center text-text-muted text-sm",children:"No providers connected"}):(0,d.jsx)(s.Gc,{nodes:m,edges:n,nodeTypes:x,fitView:!0,fitViewOptions:{padding:.3},onInit:q,proOptions:{hideAttribution:!0},panOnDrag:!1,zoomOnScroll:!1,zoomOnPinch:!1,zoomOnDoubleClick:!1,preventScrolling:!1,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1},o)})}y.propTypes={providers:j().arrayOf(j().shape({id:j().string,provider:j().string,name:j().string})),activeRequests:j().arrayOf(j().shape({provider:j().string,model:j().string,account:j().string})),lastProvider:j().string,errorProvider:j().string};var z=c(24823),A=c(29204),B=c(74652),C=c(43575),D=c(43012),E=c(13324),F=c(89558);let G=a=>a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}K`:String(a||0),H=a=>`$${(a||0).toFixed(4)}`;function I({period:a="7d"}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[i,j]=(0,e.useState)("tokens");(0,e.useCallback)(async()=>{g(!0);try{let b=await fetch(`/api/usage/chart?period=${a}`);if(b.ok){let a=await b.json();c(a)}}catch(a){console.error("Failed to fetch chart data:",a)}finally{g(!1)}},[a]);let k=b.some(a=>a.tokens>0||a.cost>0);return(0,d.jsxs)(h.default,{className:"p-4 flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-1 bg-bg-subtle rounded-lg p-1 border border-border self-start",children:[(0,d.jsx)("button",{onClick:()=>j("tokens"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"tokens"===i?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Tokens"}),(0,d.jsx)("button",{onClick:()=>j("cost"),className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${"cost"===i?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:"Cost"})]}),f?(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"Loading..."}):k?(0,d.jsx)(z.u,{width:"100%",height:200,children:(0,d.jsxs)(A.Q,{data:b,margin:{top:4,right:8,left:0,bottom:0},children:[(0,d.jsxs)("defs",{children:[(0,d.jsxs)("linearGradient",{id:"gradTokens",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#6366f1",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#6366f1",stopOpacity:0})]}),(0,d.jsxs)("linearGradient",{id:"gradCost",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,d.jsx)("stop",{offset:"5%",stopColor:"#f59e0b",stopOpacity:.25}),(0,d.jsx)("stop",{offset:"95%",stopColor:"#f59e0b",stopOpacity:0})]})]}),(0,d.jsx)(B.d,{strokeDasharray:"3 3",strokeOpacity:.1}),(0,d.jsx)(C.W,{dataKey:"label",tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,interval:"preserveStartEnd"}),(0,d.jsx)(D.h,{tick:{fontSize:10,fill:"currentColor",fillOpacity:.5},tickLine:!1,axisLine:!1,tickFormatter:"tokens"===i?G:H,width:50}),(0,d.jsx)(E.m,{contentStyle:{backgroundColor:"var(--color-bg)",border:"1px solid var(--color-border)",borderRadius:"8px",fontSize:"12px"},formatter:(a,b)=>"tokens"===b?[G(a),"Tokens"]:[H(a),"Cost"]}),"tokens"===i?(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"tokens",stroke:"#6366f1",strokeWidth:2,fill:"url(#gradTokens)",dot:!1,activeDot:{r:4}}):(0,d.jsx)(F.Gk,{type:"monotone",dataKey:"cost",stroke:"#f59e0b",strokeWidth:2,fill:"url(#gradCost)",dot:!1,activeDot:{r:4}})]})}):(0,d.jsx)("div",{className:"h-48 flex items-center justify-center text-text-muted text-sm",children:"No data for this period"})]})}function J({requests:a=[]}){return(0,d.jsxs)(h.default,{className:"flex flex-col overflow-hidden",padding:"sm",style:{height:480},children:[(0,d.jsx)("div",{className:"px-1 py-2 border-b border-border shrink-0",children:(0,d.jsx)("span",{className:"text-xs font-semibold text-text-muted uppercase tracking-wide",children:"Recent Requests"})}),a.length?(0,d.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,d.jsxs)("table",{className:"w-full text-xs border-collapse",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg z-10",children:(0,d.jsxs)("tr",{className:"border-b border-border",children:[(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted w-2"}),(0,d.jsx)("th",{className:"py-1.5 text-left font-semibold text-text-muted",children:"Model"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted whitespace-nowrap",children:"In / Out"}),(0,d.jsx)("th",{className:"py-1.5 text-right font-semibold text-text-muted",children:"When"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{var c;let e,f=!a.status||"ok"===a.status||"success"===a.status;return(0,d.jsxs)("tr",{className:"hover:bg-bg-subtle transition-colors",children:[(0,d.jsx)("td",{className:"py-1.5",children:(0,d.jsx)("span",{className:`block w-1.5 h-1.5 rounded-full ${f?"bg-success":"bg-error"}`})}),(0,d.jsx)("td",{className:"py-1.5 font-mono truncate max-w-[120px]",title:a.model,children:a.model}),(0,d.jsxs)("td",{className:"py-1.5 text-right whitespace-nowrap",children:[(0,d.jsxs)("span",{className:"text-primary",children:[m(a.promptTokens),"↑"]})," ",(0,d.jsxs)("span",{className:"text-success",children:[m(a.completionTokens),"↓"]})]}),(0,d.jsx)("td",{className:"py-1.5 text-right text-text-muted whitespace-nowrap",children:(c=a.timestamp,(e=Math.floor((Date.now()-new Date(c))/1e3))<60?`${e}s ago`:e<3600?`${Math.floor(e/60)}m ago`:e<86400?`${Math.floor(e/3600)}h ago`:`${Math.floor(e/86400)}d ago`)})]},b)})})]})}):(0,d.jsx)("div",{className:"flex-1 flex items-center justify-center text-text-muted text-sm",children:"No requests yet."})]})}function K(a,b={},c,d){return Object.entries(a||{}).map(([a,c])=>{let d=(c.promptTokens||0)+(c.completionTokens||0),e=c.cost||0,f=d>0?(c.promptTokens||0)*(e/d):0,g=d>0?(c.completionTokens||0)*(e/d):0;return{...c,key:a,totalTokens:d,totalCost:e,inputCost:f,outputCost:g,pending:b[a]||0}}).sort((a,b)=>{let e=a[c],f=b[c];return("string"==typeof e&&(e=e.toLowerCase()),"string"==typeof f&&(f=f.toLowerCase()),e<f)?"asc"===d?-1:1:e>f?"asc"===d?1:-1:0})}function L(a,b){if(!Array.isArray(a))return[];let c={};return a.forEach(a=>{let d=function(a,b){switch(b){case"rawModel":return a.rawModel||"Unknown Model";case"accountName":return a.accountName||`Account ${a.connectionId?.slice(0,8)}...`||"Unknown Account";case"keyName":return a.keyName||"Unknown Key";case"endpoint":return a.endpoint||"Unknown Endpoint";default:return a[b]||"Unknown"}}(a,b);c[d]||(c[d]={groupKey:d,summary:{requests:0,promptTokens:0,completionTokens:0,totalTokens:0,cost:0,inputCost:0,outputCost:0,lastUsed:null,pending:0},items:[]});let e=c[d].summary;e.requests+=a.requests||0,e.promptTokens+=a.promptTokens||0,e.completionTokens+=a.completionTokens||0,e.totalTokens+=a.totalTokens||0,e.cost+=a.cost||0,e.inputCost+=a.inputCost||0,e.outputCost+=a.outputCost||0,e.pending+=a.pending||0,a.lastUsed&&(!e.lastUsed||new Date(a.lastUsed)>new Date(e.lastUsed))&&(e.lastUsed=a.lastUsed),c[d].items.push(a)}),Object.values(c)}I.propTypes={period:j().string};let M=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],N=[{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"accountName",label:"Account"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],O=[{field:"keyName",label:"API Key Name"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],P=[{field:"endpoint",label:"Endpoint"},{field:"rawModel",label:"Model"},{field:"provider",label:"Provider"},{field:"requests",label:"Requests",align:"right"},{field:"lastUsed",label:"Last Used",align:"right"}],Q=[{value:"model",label:"Usage by Model"},{value:"account",label:"Usage by Account"},{value:"apiKey",label:"Usage by API Key"},{value:"endpoint",label:"Usage by Endpoint"}],R=[{value:"24h",label:"24h"},{value:"7d",label:"7D"},{value:"30d",label:"30D"},{value:"60d",label:"60D"}];function S(){let a=(0,f.useRouter)(),b=(0,f.useSearchParams)(),c=b.get("sortBy")||"rawModel",h=b.get("sortOrder")||"asc",[i,j]=(0,e.useState)(null),[k,n]=(0,e.useState)(!0),[p,q]=(0,e.useState)(!1),[s,t]=(0,e.useState)("model"),[u,v]=(0,e.useState)([]),[w,x]=(0,e.useState)("7d"),z=(0,e.useCallback)((c,d)=>{let e=new URLSearchParams(b.toString());e.get("sortBy")===d?e.set("sortOrder","asc"===e.get("sortOrder")?"desc":"asc"):(e.set("sortBy",d),e.set("sortOrder","asc")),a.replace(`?${e.toString()}`,{scroll:!1})},[b,a]),A=(0,e.useMemo)(()=>{if(!i)return null;switch(s){case"model":{let a=i.pending?.byModel||{};return{columns:M,groupedData:L(K(i.byModel,a,c,h),"rawModel"),storageKey:"usage-stats:expanded-models",emptyMessage:"No usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})}}case"account":{let a={};return i?.pending?.byAccount&&Object.entries(i.byAccount||{}).forEach(([b,c])=>{let d=i.pending.byAccount[c.connectionId];if(d){let e=c.provider?`${c.rawModel} (${c.provider})`:c.rawModel;a[b]=d[e]||0}}),{columns:N,groupedData:L(K(i.byAccount,a,c,h),"accountName"),storageKey:"usage-stats:expanded-accounts",emptyMessage:"No account-specific usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.accountName||`Account ${a.connectionId?.slice(0,8)}...`}),(0,d.jsx)("td",{className:`px-6 py-3 font-medium transition-colors ${a.pending>0?"text-primary":""}`,children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:a.pending>0?"primary":"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})}}case"apiKey":return{columns:O,groupedData:L(K(i.byApiKey,{},c,h),"keyName"),storageKey:"usage-stats:expanded-apikeys",emptyMessage:"No API key usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium",children:a.keyName}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})};default:return{columns:P,groupedData:L(K(i.byEndpoint,{},c,h),"endpoint"),storageKey:"usage-stats:expanded-endpoints",emptyMessage:"No endpoint usage recorded yet.",renderSummaryCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-text-muted",children:"—"}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.summary.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.summary.lastUsed)})]}),renderDetailCells:a=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("td",{className:"px-6 py-3 font-medium font-mono text-sm",children:a.endpoint}),(0,d.jsx)("td",{className:"px-6 py-3",children:a.rawModel}),(0,d.jsx)("td",{className:"px-6 py-3",children:(0,d.jsx)(g.default,{variant:"neutral",size:"sm",children:a.provider})}),(0,d.jsx)("td",{className:"px-6 py-3 text-right",children:m(a.requests)}),(0,d.jsx)("td",{className:"px-6 py-3 text-right text-text-muted whitespace-nowrap",children:o(a.lastUsed)})]})}}},[i,s,c,h]);if(!i&&!k)return(0,d.jsx)("div",{className:"text-text-muted",children:"Failed to load usage statistics."});let B=(0,d.jsx)("div",{className:"flex items-center justify-center py-12 text-text-muted",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px] animate-spin",children:"progress_activity"})});return(0,d.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 self-end",children:[(0,d.jsx)("div",{className:"flex items-center gap-1 bg-bg-subtle rounded-lg p-1 border border-border",children:R.map(a=>(0,d.jsx)("button",{onClick:()=>x(a.value),disabled:p,className:`px-3 py-1 rounded-md text-sm font-medium transition-colors ${w===a.value?"bg-primary text-white shadow-sm":"text-text-muted hover:text-text hover:bg-bg-hover"}`,children:a.label},a.value))}),p&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] text-text-muted animate-spin",children:"progress_activity"})]}),k?B:(0,d.jsx)(l,{stats:i}),k?B:(0,d.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-[2fr_1fr] gap-2 items-stretch",children:[(0,d.jsx)(y,{providers:u,activeRequests:i.activeRequests||[],lastProvider:i.recentRequests?.[0]?.provider||"",errorProvider:i.errorProvider||""}),(0,d.jsx)(J,{requests:i.recentRequests||[]})]}),k?B:(0,d.jsx)(I,{period:w}),(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("div",{className:"flex items-center justify-between",children:(0,d.jsx)("select",{value:s,onChange:a=>t(a.target.value),className:"px-3 py-1.5 rounded-lg border border-border bg-bg-subtle text-sm font-medium text-text focus:outline-none focus:ring-2 focus:ring-primary/50",children:Q.map(a=>(0,d.jsx)("option",{value:a.value,children:a.label},a.value))})}),k?B:A&&(0,d.jsx)(r,{title:"",columns:A.columns,groupedData:A.groupedData,tableType:s,sortBy:c,sortOrder:h,onToggleSort:z,storageKey:A.storageKey,renderSummaryCells:A.renderSummaryCells,renderDetailCells:A.renderDetailCells,emptyMessage:A.emptyMessage})]})]})}},91099:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({options:a=[],value:b,onChange:c,size:f="md",className:g}){let h={sm:"h-7 text-xs",md:"h-9 text-sm",lg:"h-11 text-base"};return(0,d.jsx)("div",{className:(0,e.cn)("inline-flex items-center p-1 rounded-lg","bg-black/5 dark:bg-white/5",g),children:a.map(a=>(0,d.jsxs)("button",{onClick:()=>c(a.value),className:(0,e.cn)("px-4 rounded-md font-medium transition-all",h[f],b===a.value?"bg-white dark:bg-white/10 text-text-main shadow-sm":"text-text-muted hover:text-text-main"),children:[a.icon&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] mr-1.5",children:a.icon}),a.label]},a.value))})}},91809:(a,b,c)=>{c.d(b,{default:()=>g});var d=c(48249),e=c(67484),f=c(17660);function g(){let[a,b]=(0,e.useState)([]),[c,g]=(0,e.useState)(!0),[h,i]=(0,e.useState)(!0);return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{className:"text-xl font-semibold",children:"Request Logs"}),(0,d.jsx)("div",{className:"flex items-center gap-2",children:(0,d.jsxs)("label",{className:"text-sm font-medium text-text-muted flex items-center gap-2 cursor-pointer",children:[(0,d.jsx)("span",{children:"Auto Refresh (3s)"}),(0,d.jsx)("div",{onClick:()=>i(!h),className:`relative inline-flex h-5 w-9 items-center rounded-full transition-colors focus:outline-none ${h?"bg-primary":"bg-bg-subtle border border-border"}`,children:(0,d.jsx)("span",{className:`inline-block h-3 w-3 transform rounded-full bg-white transition-transform ${h?"translate-x-5":"translate-x-1"}`})})]})})]}),(0,d.jsx)(f.default,{className:"overflow-hidden bg-black/5 dark:bg-black/20",children:(0,d.jsx)("div",{className:"p-0 overflow-x-auto max-h-[600px] overflow-y-auto font-mono text-xs",children:c&&0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"Loading logs..."}):0===a.length?(0,d.jsx)("div",{className:"p-8 text-center text-text-muted",children:"No logs recorded yet."}):(0,d.jsxs)("table",{className:"w-full text-left border-collapse whitespace-nowrap",children:[(0,d.jsx)("thead",{className:"sticky top-0 bg-bg-subtle border-b border-border z-10",children:(0,d.jsxs)("tr",{children:[(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"DateTime"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Model"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Provider"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Account"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"In"}),(0,d.jsx)("th",{className:"px-3 py-2 border-r border-border",children:"Out"}),(0,d.jsx)("th",{className:"px-3 py-2",children:"Status"})]})}),(0,d.jsx)("tbody",{className:"divide-y divide-border/50",children:a.map((a,b)=>{let c=a.split(" | ");if(c.length<7)return null;let e=c[6],f=e.includes("PENDING"),g=e.includes("FAILED"),h=e.includes("OK");return(0,d.jsxs)("tr",{className:`hover:bg-primary/5 transition-colors ${f?"bg-primary/5":""}`,children:[(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-text-muted",children:c[0]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border font-medium",children:c[1]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border",children:(0,d.jsx)("span",{className:"px-1.5 py-0.5 rounded bg-bg-subtle border border-border text-[10px] uppercase font-bold",children:c[2]})}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border truncate max-w-[150px]",title:c[3],children:c[3]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-primary",children:c[4]}),(0,d.jsx)("td",{className:"px-3 py-1.5 border-r border-border text-right text-success",children:c[5]}),(0,d.jsx)("td",{className:`px-3 py-1.5 font-bold ${h?"text-success":g?"text-error":"text-primary animate-pulse"}`,children:e})]},b)})})]})})}),(0,d.jsx)("div",{className:"text-[10px] text-text-muted italic",children:"Logs are saved to log.txt in the application data directory."})]})}},95145:(a,b,c)=>{c.d(b,{ConfirmModal:()=>h,default:()=>g});var d=c(48249);c(67484);var e=c(71404),f=c(99070);function g({isOpen:a,onClose:b,title:c,children:f,footer:g,size:h="md",closeOnOverlay:i=!0,showCloseButton:j=!0,className:k}){return a?(0,d.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,d.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:i?b:void 0}),(0,d.jsxs)("div",{className:(0,e.cn)("relative w-full bg-surface","border border-black/10 dark:border-white/10","rounded-xl shadow-2xl","animate-in fade-in zoom-in-95 duration-200",{sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl",full:"max-w-4xl"}[h],k),children:[(c||j)&&(0,d.jsxs)("div",{className:"flex items-center justify-between p-6 border-b border-black/5 dark:border-white/5",children:[(0,d.jsxs)("div",{className:"flex items-center",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 mr-4",children:[(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FF5F56]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#FFBD2E]"}),(0,d.jsx)("div",{className:"w-3 h-3 rounded-full bg-[#27C93F]"})]}),c&&(0,d.jsx)("h2",{className:"text-lg font-semibold text-text-main",children:c})]}),j&&(0,d.jsx)("button",{onClick:b,className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5 transition-colors",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,d.jsx)("div",{className:"p-6 max-h-[calc(80vh-140px)] overflow-y-auto",children:f}),g&&(0,d.jsx)("div",{className:"flex items-center justify-end gap-3 p-6 border-t border-black/5 dark:border-white/5",children:g})]})]}):null}function h({isOpen:a,onClose:b,onConfirm:c,title:e="Confirm",message:h,confirmText:i="Confirm",cancelText:j="Cancel",variant:k="danger",loading:l=!1}){return(0,d.jsx)(g,{isOpen:a,onClose:b,title:e,size:"sm",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(f.default,{variant:"ghost",onClick:b,disabled:l,children:j}),(0,d.jsx)(f.default,{variant:k,onClick:c,loading:l,children:i})]}),children:(0,d.jsx)("p",{className:"text-text-muted",children:h})})}},95514:(a,b,c)=>{c.d(b,{default:()=>f});var d=c(48249),e=c(71404);function f({checked:a=!1,onChange:b,label:c,description:f,disabled:g=!1,size:h="md",className:i}){let j={sm:{track:"w-8 h-4",thumb:"size-3",translate:"translate-x-4"},md:{track:"w-11 h-6",thumb:"size-5",translate:"translate-x-5"},lg:{track:"w-14 h-7",thumb:"size-6",translate:"translate-x-7"}};return(0,d.jsxs)("div",{className:(0,e.cn)("flex items-center gap-3",g&&"opacity-50 cursor-not-allowed",i),children:[(0,d.jsx)("button",{type:"button",role:"switch","aria-checked":a,disabled:g,onClick:()=>{!g&&b&&b(!a)},className:(0,e.cn)("relative inline-flex shrink-0 cursor-pointer rounded-full","transition-colors duration-200 ease-in-out","focus:outline-none focus:ring-1 focus:ring-primary/30",a?"bg-primary":"bg-black/10 dark:bg-white/20",j[h].track,g&&"cursor-not-allowed"),children:(0,d.jsx)("span",{className:(0,e.cn)("pointer-events-none inline-block rounded-full bg-white shadow-sm","transform transition duration-200 ease-in-out",a?j[h].translate:"translate-x-0.5",j[h].thumb,"mt-0.5")})}),(c||f)&&(0,d.jsxs)("div",{className:"flex flex-col",children:[c&&(0,d.jsx)("span",{className:"text-sm font-medium text-text-main",children:c}),f&&(0,d.jsx)("span",{className:"text-xs text-text-muted",children:f})]})]})}},99070:(a,b,c)=>{c.d(b,{default:()=>h});var d=c(48249),e=c(71404);let f={primary:"bg-gradient-to-b from-primary to-primary-hover text-white shadow-sm",secondary:"bg-white dark:bg-white/10 border border-black/10 dark:border-white/10 text-text-main hover:bg-black/5 dark:hover:bg-white/5",outline:"border border-black/15 dark:border-white/15 text-text-main hover:bg-black/5",ghost:"text-text-muted hover:bg-black/5 dark:hover:bg-white/5 hover:text-text-main",danger:"bg-red-500 text-white hover:bg-red-600 shadow-sm"},g={sm:"h-7 px-3 text-xs rounded-md",md:"h-9 px-4 text-sm rounded-lg",lg:"h-11 px-6 text-sm rounded-lg"};function h({children:a,variant:b="primary",size:c="md",icon:h,iconRight:i,disabled:j=!1,loading:k=!1,fullWidth:l=!1,className:m,...n}){return(0,d.jsxs)("button",{className:(0,e.cn)("inline-flex items-center justify-center gap-2 font-medium transition-all duration-200 cursor-pointer","active:scale-[0.99] disabled:opacity-50 disabled:cursor-not-allowed disabled:active:scale-100",f[b],g[c],l&&"w-full",m),disabled:j||k,...n,children:[k?(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-[18px]",children:"progress_activity"}):h?(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:h}):null,a,i&&!k&&(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:i})]})}}};
@@ -0,0 +1,12 @@
1
+ "use strict";exports.id=4841,exports.ids=[4841],exports.modules={3156:(a,b,c)=>{c.d(b,{M:()=>e});var d=c(2255);function e(a){let b=a.max_tokens||d.Uc;return a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&b<d.eo&&(b=d.eo),a.thinking?.budget_tokens&&b<=a.thinking.budget_tokens&&(b=d.Uc),b}},4841:(a,b,c)=>{c.d(b,{Ws:()=>q,Ai:()=>r,nZ:()=>p,kz:()=>l,GH:()=>n,Y8:()=>o});var d=c(14170),e=c(96281);c(3156);var f=c(55511);let g=["text","image_url","image"];var h=c(57647);let i=new Map,j=new Map,k=!1;function l(a,b,c,d){let e=`${a}:${b}`;c&&i.set(e,c),d&&j.set(e,d)}function m(){k||(k=!0,c(60983),c(19979),c(52638),c(71277),c(54817),c(65377),c(80198),c(13595),c(29675),c(66159),c(32546),c(89475),c(4845),c(52830),c(65651))}function n(a,b,c,j,k=!0,l=null,o=null,p=null){m();let q=j;if((0,h.SZ)(q),!function(a){if(a.messages&&Array.isArray(a.messages)){for(let b of a.messages)if("assistant"===b.role&&b.tool_calls&&Array.isArray(b.tool_calls))for(let a of b.tool_calls)a.id||(a.id=`call_${Date.now().toString(36)}_${Math.random().toString(36).slice(2,9)}`),a.type||(a.type="function"),a.function?.arguments&&"string"!=typeof a.function.arguments&&(a.function.arguments=JSON.stringify(a.function.arguments))}}(q),!function(a){if(!a.messages||!Array.isArray(a.messages))return;let b=[];for(let c=0;c<a.messages.length;c++){let d=a.messages[c],e=a.messages[c+1];b.push(d);let f=function(a){if("assistant"!==a.role)return[];let b=[];if(a.tool_calls&&Array.isArray(a.tool_calls))for(let c of a.tool_calls)c.id&&b.push(c.id);if(Array.isArray(a.content))for(let c of a.content)"tool_use"===c.type&&c.id&&b.push(c.id);return b}(d);if(0!==f.length&&e&&!function(a,b){if(!a||!b.length)return!1;if("tool"===a.role&&a.tool_call_id)return b.includes(a.tool_call_id);if("user"===a.role&&Array.isArray(a.content)){for(let c of a.content)if("tool_result"===c.type&&b.includes(c.tool_use_id))return!0}return!1}(e,f))for(let a of f)b.push({role:"tool",tool_call_id:a,content:""})}a.messages=b}(q),a!==b){if(a!==d.h.OPENAI){let b=i.get(`${a}:${d.h.OPENAI}`);b&&(q=b(c,q,k,l),p?.logOpenAIRequest?.(q))}if(b!==d.h.OPENAI){let a=i.get(`${d.h.OPENAI}:${b}`);a&&(q=a(c,q,k,l))}}return b===d.h.OPENAI&&(q=function(a){if(!a.messages||!Array.isArray(a.messages))return a;if(a.messages=a.messages.map(a=>{if("tool"===a.role||"assistant"===a.role&&a.tool_calls||"string"==typeof a.content)return a;if(Array.isArray(a.content)){let b=[];for(let c of a.content)if("thinking"!==c.type&&"redacted_thinking"!==c.type){if(g.includes(c.type)){let{signature:a,cache_control:d,...e}=c;b.push(e)}else if("tool_use"===c.type)continue;else if("tool_result"===c.type){let{signature:a,cache_control:d,...e}=c;b.push(e)}}return 0===b.length&&b.push({type:"text",text:""}),{...a,content:b}}return a}),a.messages=a.messages.filter(a=>"tool"===a.role||"assistant"===a.role&&!!a.tool_calls||("string"==typeof a.content?""!==a.content.trim():!Array.isArray(a.content)||a.content.some(a=>"text"===a.type&&a.text?.trim()||"text"!==a.type))),a.tools&&Array.isArray(a.tools)&&0===a.tools.length&&delete a.tools,a.tools&&Array.isArray(a.tools)&&a.tools.length>0&&(a.tools=a.tools.map(a=>"function"===a.type&&a.function?a:a.name&&(a.input_schema||a.description)?{type:"function",function:{name:a.name,description:a.description||"",parameters:a.input_schema||{type:"object",properties:{}}}}:a.functionDeclarations&&Array.isArray(a.functionDeclarations)?a.functionDeclarations.map(a=>({type:"function",function:{name:a.name,description:a.description||"",parameters:a.parameters||{type:"object",properties:{}}}})):a).flat()),a.tool_choice&&"object"==typeof a.tool_choice){let b=a.tool_choice;"auto"===b.type?a.tool_choice="auto":"any"===b.type?a.tool_choice="required":"tool"===b.type&&b.name&&(a.tool_choice={type:"function",function:{name:b.name}})}return a}(q)),b===d.h.CLAUDE&&(q=function(a,b=null,c=null){if(a.system&&Array.isArray(a.system)&&(a.system=a.system.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.system.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e})),a.messages&&Array.isArray(a.messages)){let c=a.messages.length,d=[];for(let b=0;b<c;b++){let e=a.messages[b];if(Array.isArray(e.content))for(let a of e.content)delete a.cache_control;(b===c-1&&"assistant"===e.role||"string"==typeof e.content&&e.content.trim()||Array.isArray(e.content)&&e.content.some(a=>"text"===a.type&&a.text?.trim()||"tool_use"===a.type||"tool_result"===a.type))&&d.push(e)}d=function(a){if(a.length<=1)return a;for(let b of a)if("assistant"===b.role&&Array.isArray(b.content)&&b.content.some(a=>"tool_use"===a.type)){let a=[],c=!1;for(let d of b.content)"tool_use"===d.type?(c=!0,a.push(d)):"thinking"===d.type||"redacted_thinking"===d.type?a.push(d):c||a.push(d);b.content=a}let b=[];for(let c of a){let a=b[b.length-1];if(a&&a.role===c.role){let b=Array.isArray(a.content)?a.content:[{type:"text",text:a.content}],d=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];a.content=[...b.filter(a=>"tool_result"===a.type),...d.filter(a=>"tool_result"===a.type),...b.filter(a=>"tool_result"!==a.type),...d.filter(a=>"tool_result"!==a.type)]}else{let a=Array.isArray(c.content)?c.content:[{type:"text",text:c.content}];b.push({role:c.role,content:[...a]})}}return b}(d),a.messages=d;let f=d[d.length-1],g=f?.role==="user",h=a.thinking?.type==="enabled"&&g,i=!1;for(let a=d.length-1;a>=0;a--){let c=d[a];if("assistant"===c.role&&Array.isArray(c.content)&&(!i&&c.content.length>0&&(c.content[c.content.length-1].cache_control={type:"ephemeral"},i=!0),"claude"===b)){let a=!1,b=!1;for(let d of c.content)("thinking"===d.type||"redacted_thinking"===d.type)&&(d.signature=e.xr,b=!0),"tool_use"===d.type&&(a=!0);h&&!b&&a&&c.content.unshift({type:"thinking",thinking:".",signature:e.xr})}}}return a.tools&&Array.isArray(a.tools)&&("claude"!==b&&(a.tools=a.tools.filter(a=>!a.type||"function"===a.type)),a.tools=a.tools.map((b,c)=>{let{cache_control:d,...e}=b;return c===a.tools.length-1?{...e,cache_control:{type:"ephemeral",ttl:"1h"}}:e}),0===a.tools.length&&(delete a.tools,delete a.tool_choice)),"claude"===b&&c&&(a=function(a,b){let c,d,e,g,h;if(!b||!b.includes("sk-ant-oat"))return a;let i={...a},j={type:"text",text:(c=JSON.stringify(a),d=(0,f.createHash)("sha256").update(c).digest("hex").slice(0,5),e=(0,f.randomBytes)(2).toString("hex").slice(0,3),`x-anthropic-billing-header: cc_version=2.1.63.${e}; cc_entrypoint=cli; cch=${d};`)};return Array.isArray(i.system)?i.system[0]?.text?.startsWith("x-anthropic-billing-header:")||(i.system=[j,...i.system]):"string"==typeof i.system?i.system=[j,{type:"text",text:i.system}]:i.system=[j],i.metadata?.user_id||(i.metadata={...i.metadata,user_id:((g=(0,f.randomBytes)(16))[6]=15&g[6]|64,g[8]=63&g[8]|128,h=g.toString("hex"),`${h.slice(0,8)}-${h.slice(8,12)}-${h.slice(12,16)}-${h.slice(16,20)}-${h.slice(20)}`)}),i}(a,c)),a}(q,o,l?.accessToken||l?.apiKey||null)),q}function o(a,b,c,e){if(m(),b===a)return[c];let f=[c],g=null;if(a!==d.h.OPENAI){let b=j.get(`${a}:${d.h.OPENAI}`);if(b){f=[];let a=b(c,e);a&&(g=f=Array.isArray(a)?a:[a])}}if(b!==d.h.OPENAI){let a=j.get(`${d.h.OPENAI}:${b}`);if(a){let b=[];for(let c of f){let d=a(c,e);d&&b.push(...Array.isArray(d)?d:[d])}f=b}}return g&&b!==d.h.OPENAI&&a!==d.h.OPENAI&&(f._openaiIntermediate=g),f}function p(a,b){return a!==b}function q(a){let b={messageId:null,model:null,textBlockStarted:!1,thinkingBlockStarted:!1,inThinkingBlock:!1,currentBlockIndex:null,toolCalls:new Map,finishReason:null,finishReasonSent:!1,usage:null,contentBlockIndex:-1};return a===d.h.OPENAI_RESPONSES?{...b,seq:0,responseId:`resp_${Date.now()}`,created:Math.floor(Date.now()/1e3),started:!1,msgTextBuf:{},msgItemAdded:{},msgContentAdded:{},msgItemDone:{},reasoningId:"",reasoningIndex:-1,reasoningBuf:"",reasoningPartAdded:!1,reasoningDone:!1,inThinking:!1,funcArgsBuf:{},funcNames:{},funcCallIds:{},funcArgsDone:{},funcItemDone:{},completedSent:!1}:b}function r(){m()}},4845:(a,b,c)=>{c.r(b),c.d(b,{openaiResponsesToOpenAIResponse:()=>m,openaiToOpenAIResponsesResponse:()=>f});var d=c(4841),e=c(14170);function f(a,b){if(!a){var c=b;if(c.completedSent)return[];let a=[],d=(b,d)=>{d.sequence_number=++c.seq,a.push({event:b,data:d})};for(let a in c.msgItemAdded)j(c,d,a);for(let a in i(c,d),c.funcCallIds)k(c,d,a);return l(c,d),a}if(!a.choices?.length)return[];let d=[],e=(a,c)=>{c.sequence_number=++b.seq,d.push({event:a,data:c})},f=a.choices[0],m=f.index||0,n=f.delta||{};if(b.started||(b.started=!0,b.responseId=a.id?`resp_${a.id}`:b.responseId,e("response.created",{type:"response.created",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress",background:!1,error:null,output:[]}}),e("response.in_progress",{type:"response.in_progress",response:{id:b.responseId,object:"response",created_at:b.created,status:"in_progress"}})),n.reasoning_content&&(g(b,e,m),h(b,e,n.reasoning_content)),n.content){let a=n.content;if(a.includes("<think>")&&(b.inThinking=!0,a=a.replace("<think>",""),g(b,e,m)),a.includes("</think>")){let c=a.split("</think>"),d=c[0],f=c.slice(1).join("</think>");d&&h(b,e,d),i(b,e),b.inThinking=!1,a=f}if(b.inThinking&&a)return h(b,e,a),d;a&&function(a,b,c,d){if(!a.msgItemAdded[c]){a.msgItemAdded[c]=!0;let d=`msg_${a.responseId}_${c}`;b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:d,type:"message",content:[],role:"assistant"}})}a.msgContentAdded[c]||(a.msgContentAdded[c]=!0,b("response.content_part.added",{type:"response.content_part.added",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:""}})),b("response.output_text.delta",{type:"response.output_text.delta",item_id:`msg_${a.responseId}_${c}`,output_index:c,content_index:0,delta:d,logprobs:[]}),a.msgTextBuf[c]||(a.msgTextBuf[c]=""),a.msgTextBuf[c]+=d}(b,e,m,a)}if(n.tool_calls)for(let a of(j(b,e,m),n.tool_calls))!function(a,b,c){let d=c.index??0,e=c.id,f=c.function?.name;if(f&&(a.funcNames[d]=f),!a.funcCallIds[d]&&e&&(a.funcCallIds[d]=e,b("response.output_item.added",{type:"response.output_item.added",output_index:d,item:{id:`fc_${e}`,type:"function_call",arguments:"",call_id:e,name:a.funcNames[d]||""}})),a.funcArgsBuf[d]||(a.funcArgsBuf[d]=""),c.function?.arguments){let f=a.funcCallIds[d]||e;f&&b("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:`fc_${f}`,output_index:d,delta:c.function.arguments}),a.funcArgsBuf[d]+=c.function.arguments}}(b,e,a);if(f.finish_reason){for(let a in b.msgItemAdded)j(b,e,a);for(let a in i(b,e),b.funcCallIds)k(b,e,a);l(b,e)}return d}function g(a,b,c){a.reasoningId||(a.reasoningId=`rs_${a.responseId}_${c}`,a.reasoningIndex=c,b("response.output_item.added",{type:"response.output_item.added",output_index:c,item:{id:a.reasoningId,type:"reasoning",summary:[]}}),b("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:c,summary_index:0,part:{type:"summary_text",text:""}}),a.reasoningPartAdded=!0)}function h(a,b,c){c&&(a.reasoningBuf+=c,b("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,delta:c}))}function i(a,b){a.reasoningId&&!a.reasoningDone&&(a.reasoningDone=!0,b("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,text:a.reasoningBuf}),b("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:a.reasoningIndex,summary_index:0,part:{type:"summary_text",text:a.reasoningBuf}}),b("response.output_item.done",{type:"response.output_item.done",output_index:a.reasoningIndex,item:{id:a.reasoningId,type:"reasoning",summary:[{type:"summary_text",text:a.reasoningBuf}]}}))}function j(a,b,c){if(a.msgItemAdded[c]&&!a.msgItemDone[c]){a.msgItemDone[c]=!0;let d=a.msgTextBuf[c]||"",e=`msg_${a.responseId}_${c}`;b("response.output_text.done",{type:"response.output_text.done",item_id:e,output_index:parseInt(c),content_index:0,text:d,logprobs:[]}),b("response.content_part.done",{type:"response.content_part.done",item_id:e,output_index:parseInt(c),content_index:0,part:{type:"output_text",annotations:[],logprobs:[],text:d}}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:e,type:"message",content:[{type:"output_text",annotations:[],logprobs:[],text:d}],role:"assistant"}})}}function k(a,b,c){let d=a.funcCallIds[c];if(d&&!a.funcItemDone[c]){let e=a.funcArgsBuf[c]||"{}";b("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:`fc_${d}`,output_index:parseInt(c),arguments:e}),b("response.output_item.done",{type:"response.output_item.done",output_index:parseInt(c),item:{id:`fc_${d}`,type:"function_call",arguments:e,call_id:d,name:a.funcNames[c]||""}}),a.funcItemDone[c]=!0,a.funcArgsDone[c]=!0}}function l(a,b){a.completedSent||(a.completedSent=!0,b("response.completed",{type:"response.completed",response:{id:a.responseId,object:"response",created_at:a.created,status:"completed",background:!1,error:null}}))}function m(a,b){if(!a)return!b.finishReasonSent&&b.started?(b.finishReasonSent=!0,{id:b.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:b.created||Math.floor(Date.now()/1e3),model:b.model||"unknown",choices:[{index:0,delta:{},finish_reason:"stop"}]}):null;let c=a.type||a.event,d=a.data||a;if(b.started||(b.started=!0,b.chatId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.toolCallIndex=0,b.currentToolCallId=null),"response.output_text.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{content:a},finish_reason:null}]}:null}if("response.output_text.done"===c)return null;if("response.output_item.added"===c&&(d.item?.type==="function_call"||d.item?.type==="custom_tool_call")){let a=d.item;return b.currentToolCallId=a.call_id||`call_${Date.now()}`,{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,id:b.currentToolCallId,type:"function",function:{name:a.name||"",arguments:""}}]},finish_reason:null}]}}if("response.function_call_arguments.delta"===c||"response.custom_tool_call_input.delta"===c){let a=d.delta||"";return a?{id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{tool_calls:[{index:b.toolCallIndex,function:{arguments:a}}]},finish_reason:null}]}:null}if("response.output_item.done"===c&&(d.item?.type==="function_call"||d.item?.type==="custom_tool_call"))return b.toolCallIndex++,null;if("response.completed"===c){let a=d.response?.usage;if(a&&"object"==typeof a){let c=a.input_tokens||a.prompt_tokens||0,d=a.output_tokens||a.completion_tokens||0,e=a.cache_read_input_tokens||0,f=a.cache_creation_input_tokens||0,g=c+e+f;b.usage={prompt_tokens:g,completion_tokens:d,total_tokens:g+d},(e>0||f>0)&&(b.usage.prompt_tokens_details={},e>0&&(b.usage.prompt_tokens_details.cached_tokens=e),f>0&&(b.usage.prompt_tokens_details.cache_creation_tokens=f))}if(!b.finishReasonSent){b.finishReasonSent=!0,b.finishReason="stop";let a={id:b.chatId,object:"chat.completion.chunk",created:b.created,model:b.model||"unknown",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}return null}if("error"===c||"response.failed"===c){if(b.finishReasonSent)return null;let a=d.error||d.response?.error;return a?(b.error=a,b.finishReasonSent=!0,{id:b.chatId||`chatcmpl-${Date.now()}`,object:"chat.completion.chunk",created:b.created||Math.floor(Date.now()/1e3),model:b.model||"unknown",choices:[{index:0,delta:{content:`[Error] ${a.message||JSON.stringify(a)}`},finish_reason:"stop"}]}):null}return null}(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,null,f),(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,null,m)},13595:(a,b,c)=>{c.r(b),c.d(b,{buildCursorRequest:()=>h});var d=c(4841),e=c(14170);function f(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function g(a){let b={};if(!a?.tool_calls)return b;for(let c of a.tool_calls)c.id&&c.function?.name&&(b[c.id]=c.function.name);return b}function h(a,b,c,d){let e=function(a){let b=[];for(let c=0;c<a.length;c++){let d=a[c];if("system"===d.role){b.push({role:"user",content:`[System Instructions]
2
+ ${d.content}`});continue}if("user"===d.role){if(Array.isArray(d.content)){let a=[],c=g(b[b.length-1]);for(let b of d.content)if("text"===b.type)a.push(b.text);else if("tool_result"===b.type){let d=f(b.content)||"",e=b.tool_use_id||"",g=c[e]||"";a.push(`<tool_result>
3
+ <tool_name>${g}</tool_name>
4
+ <tool_call_id>${e}</tool_call_id>
5
+ <result>${d}</result>
6
+ </tool_result>`)}b.push({role:"user",content:a.join("\n")||""})}else b.push({role:"user",content:f(d.content)||""});continue}if("tool"===d.role){let a=(f(d.content)||"").replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g,"").trim(),c=g(b[b.length-1]),e=d.tool_call_id||"",h=c[e]||"";b.push({role:"user",content:`<tool_result>
7
+ <tool_name>${h}</tool_name>
8
+ <tool_call_id>${e}</tool_call_id>
9
+ <result>${a}</result>
10
+ </tool_result>`});continue}if("assistant"===d.role){let a=f(d.content)||"",c=null;if(d.tool_calls&&d.tool_calls.length>0)c=d.tool_calls.map(({index:a,...b})=>b);else if(Array.isArray(d.content)){let a=d.content.filter(a=>"tool_use"===a.type).map(a=>({id:a.id,type:"function",function:{name:a.name,arguments:JSON.stringify(a.input||{})}}));a.length>0&&(c=a)}c?b.push({role:"assistant",content:a,tool_calls:c}):a&&b.push({role:"assistant",content:a})}}return b}(b.messages||[]),{user:h,metadata:i,tool_choice:j,stream_options:k,system:l,...m}=b;return{...m,messages:e,max_tokens:32e3}}(0,d.kz)(e.h.OPENAI,e.h.CURSOR,h,null)},14170:(a,b,c)=>{c.d(b,{h:()=>d,t:()=>e});let d={OPENAI:"openai",OPENAI_RESPONSES:"openai-responses",OPENAI_RESPONSE:"openai-response",CLAUDE:"claude",GEMINI:"gemini",GEMINI_CLI:"gemini-cli",CODEX:"codex",ANTIGRAVITY:"antigravity",KIRO:"kiro",CURSOR:"cursor"};function e(a,b){return a.includes("/v1/responses")?d.OPENAI_RESPONSES:a.includes("/v1/chat/completions")&&Array.isArray(b?.input)?d.OPENAI:null}},19979:(a,b,c)=>{c.r(b),c.d(b,{openaiToClaudeRequest:()=>h,openaiToClaudeRequestForAntigravity:()=>j});var d=c(4841),e=c(14170),f=c(2255),g=c(3156);function h(a,b,c){var d;let e=new Map,h={model:a,max_tokens:(0,g.M)(b),stream:c};void 0!==b.temperature&&(h.temperature=b.temperature),h.messages=[];let j=[];if(b.messages&&Array.isArray(b.messages)){let a;for(let a of b.messages)"system"===a.role&&j.push("string"==typeof a.content?a.content:i(a.content));let c=b.messages.filter(a=>"system"!==a.role),d=[],f=()=>{a&&d.length>0&&(h.messages.push({role:a,content:d}),d=[])};for(let b of c){let c="user"===b.role||"tool"===b.role?"user":"assistant",g=function(a,b=new Map){let c=[];if("tool"===a.role)c.push({type:"tool_result",tool_use_id:a.tool_call_id,content:a.content});else if("user"===a.role){if("string"==typeof a.content)a.content&&c.push({type:"text",text:a.content});else if(Array.isArray(a.content))for(let b of a.content)if("text"===b.type&&b.text)c.push({type:"text",text:b.text});else if("tool_result"===b.type)c.push({type:"tool_result",tool_use_id:b.tool_use_id,content:b.content,...b.is_error&&{is_error:b.is_error}});else if("image_url"===b.type){let a=b.image_url.url.match(/^data:([^;]+);base64,(.+)$/);a&&c.push({type:"image",source:{type:"base64",media_type:a[1],data:a[2]}})}else"image"===b.type&&b.source&&c.push({type:"image",source:b.source})}else if("assistant"===a.role){if(Array.isArray(a.content))for(let b of a.content)"text"===b.type&&b.text?c.push({type:"text",text:b.text}):"tool_use"===b.type&&c.push({type:"tool_use",id:b.id,name:b.name,input:b.input});else if(a.content){let b="string"==typeof a.content?a.content:i(a.content);b&&c.push({type:"text",text:b})}if(a.tool_calls&&Array.isArray(a.tool_calls)){for(let b of a.tool_calls)if("function"===b.type){let a=""+b.function.name;c.push({type:"tool_use",id:b.id,name:a,input:function(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return a}}(b.function.arguments)})}}}return c}(b,e),j=g.some(a=>"tool_use"===a.type);if(g.some(a=>"tool_result"===a.type)){let b=g.filter(a=>"tool_result"===a.type),e=g.filter(a=>"tool_result"!==a.type);f(),b.length>0&&h.messages.push({role:"user",content:b}),e.length>0&&(a=c,d.push(...e));continue}a!==c&&(f(),a=c),d.push(...g),j&&f()}f();for(let a=h.messages.length-1;a>=0;a--){let b=h.messages[a];if("assistant"===b.role&&Array.isArray(b.content)&&b.content.length>0){let a=b.content[b.content.length-1];if(a){a.cache_control={type:"ephemeral"};break}}}}let k={type:"text",text:f.Co};if(j.length>0?h.system=[k,{type:"text",text:j.join("\n"),cache_control:{type:"ephemeral",ttl:"1h"}}]:h.system=[k],b.tools&&Array.isArray(b.tools)){for(let a of(h.tools=[],b.tools)){let b=a.type;if(b&&"function"!==b){h.tools.push(a);continue}let c="function"===b&&a.function?a.function:a,d=c.name,f=""+d;e.set(f,d),h.tools.push({name:f,description:c.description||"",input_schema:c.parameters||c.input_schema||{type:"object",properties:{},required:[]}})}h.tools.length>0&&(h.tools[h.tools.length-1].cache_control={type:"ephemeral",ttl:"1h"})}return b.tool_choice&&(h.tool_choice=(d=b.tool_choice)?"object"==typeof d&&d.type?d:"auto"===d||"none"===d?{type:"auto"}:"required"===d?{type:"any"}:"object"==typeof d&&d.function?{type:"tool",name:d.function.name}:{type:"auto"}:{type:"auto"}),b.thinking&&(h.thinking={type:b.thinking.type||"enabled",...b.thinking.budget_tokens&&{budget_tokens:b.thinking.budget_tokens},...b.thinking.max_tokens&&{max_tokens:b.thinking.max_tokens}}),e.size>0&&(h._toolNameMap=e),h}function i(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join("\n"):""}function j(a,b,c){let d=h(a,b,c);return d.system&&Array.isArray(d.system)&&(d.system=d.system.filter(a=>!a.text||!a.text.includes("You are Claude Code")),0===d.system.length&&delete d.system),d.tools&&Array.isArray(d.tools)&&(d.tools=d.tools.map(a=>a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a)),d.messages&&Array.isArray(d.messages)&&(d.messages=d.messages.map(a=>{if(!a.content||!Array.isArray(a.content))return a;let b=a.content.map(a=>"tool_use"===a.type&&a.name&&a.name.startsWith("")?{...a,name:a.name.slice(0)}:a);return{...a,content:b}})),d}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,h,null)},29675:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIResponse:()=>g});var d=c(4841),e=c(14170);function f(a,b,c=null){return{id:`chatcmpl-${a.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:a.model,choices:[{index:0,delta:b,finish_reason:c}]}}function g(a,b){if(!a)return null;let c=[];switch(a.type){case"message_start":b.messageId=a.message?.id||`msg_${Date.now()}`,b.model=a.message?.model,b.toolCallIndex=0,c.push(f(b,{role:"assistant"}));break;case"content_block_start":{let d=a.content_block;if(d?.type==="server_tool_use"){b.serverToolBlockIndex=a.index;break}if(d?.type==="text")b.textBlockStarted=!0;else if(d?.type==="thinking")b.inThinkingBlock=!0,b.currentBlockIndex=a.index,c.push(f(b,{content:"<think>"}));else if(d?.type==="tool_use"){let e=b.toolCallIndex++,g=b.toolNameMap?.get(d.name)||d.name,h={index:e,id:d.id,type:"function",function:{name:g,arguments:""}};b.toolCalls.set(a.index,h),c.push(f(b,{tool_calls:[h]}))}break}case"content_block_delta":{if(a.index===b.serverToolBlockIndex)break;let d=a.delta;if(d?.type==="text_delta"&&d.text)c.push(f(b,{content:d.text}));else if(d?.type==="thinking_delta"&&d.thinking)c.push(f(b,{reasoning_content:d.thinking}));else if(d?.type==="input_json_delta"&&d.partial_json){let e=b.toolCalls.get(a.index);e&&(e.function.arguments+=d.partial_json,c.push(f(b,{tool_calls:[{index:e.index,id:e.id,function:{arguments:d.partial_json}}]})))}break}case"content_block_stop":if(a.index===b.serverToolBlockIndex){b.serverToolBlockIndex=-1;break}b.inThinkingBlock&&a.index===b.currentBlockIndex&&(c.push(f(b,{reasoning_content:""})),b.inThinkingBlock=!1),b.textBlockStarted=!1,b.thinkingBlockStarted=!1;break;case"message_delta":if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.input_tokens?a.usage.input_tokens:0,d="number"==typeof a.usage.output_tokens?a.usage.output_tokens:0,e="number"==typeof a.usage.cache_read_input_tokens?a.usage.cache_read_input_tokens:0,f="number"==typeof a.usage.cache_creation_input_tokens?a.usage.cache_creation_input_tokens:0;b.usage={prompt_tokens:c,completion_tokens:d,input_tokens:c,output_tokens:d},e>0&&(b.usage.cache_read_input_tokens=e),f>0&&(b.usage.cache_creation_input_tokens=f)}if(a.delta?.stop_reason){b.finishReason=function(a){switch(a){case"end_turn":case"stop_sequence":default:return"stop";case"max_tokens":return"length";case"tool_use":return"tool_calls"}}(a.delta.stop_reason);let d={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:b.finishReason}]};if(b.usage&&"object"==typeof b.usage){let a=b.usage.input_tokens||0,c=b.usage.output_tokens||0,e=b.usage.cache_read_input_tokens||0,f=b.usage.cache_creation_input_tokens||0,g=a+e+f;d.usage={prompt_tokens:g,completion_tokens:c,total_tokens:g+c},(e>0||f>0)&&(d.usage.prompt_tokens_details={},e>0&&(d.usage.prompt_tokens_details.cached_tokens=e),f>0&&(d.usage.prompt_tokens_details.cache_creation_tokens=f))}c.push(d),b.finishReasonSent=!0}break;case"message_stop":if(!b.finishReasonSent){let a=b.finishReason||(b.toolCalls?.size>0?"tool_calls":"stop"),d=b.usage&&"object"==typeof b.usage?{usage:{prompt_tokens:b.usage.input_tokens||0,completion_tokens:b.usage.output_tokens||0,total_tokens:(b.usage.input_tokens||0)+(b.usage.output_tokens||0)}}:{};c.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}],...d}),b.finishReasonSent=!0}}return c.length>0?c:null}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,null,g)},32546:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIResponse:()=>f});var d=c(4841),e=c(14170);function f(a,b){if(!a)return null;let c=a.response||a;if(!c||!c.candidates?.[0])return null;let d=[],e=c.candidates[0],f=e.content;if(b.messageId||(b.messageId=c.responseId||`msg_${Date.now()}`,b.model=c.modelVersion||"gemini",b.functionIndex=0,d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{role:"assistant"},finish_reason:null}]})),f?.parts)for(let a of f.parts){let c=a.thoughtSignature||a.thought_signature,e=!0===a.thought;if(c){let c=void 0!==a.text&&""!==a.text,f=!!a.functionCall;if(c&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:e?{reasoning_content:a.text}:{content:a.text},finish_reason:null}]}),f){let c=a.functionCall.name,e=a.functionCall.args||{},f=b.functionIndex++,g={id:`${c}-${Date.now()}-${f}`,index:f,type:"function",function:{name:c,arguments:JSON.stringify(e)}};b.toolCalls.set(f,g),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[g]},finish_reason:null}]})}continue}if(void 0!==a.text&&""!==a.text&&d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{content:a.text},finish_reason:null}]}),a.functionCall){let c=a.functionCall.name,e=a.functionCall.args||{},f=b.functionIndex++,g={id:`${c}-${Date.now()}-${f}`,index:f,type:"function",function:{name:c,arguments:JSON.stringify(e)}};b.toolCalls.set(f,g),d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{tool_calls:[g]},finish_reason:null}]})}let f=a.inlineData||a.inline_data;if(f?.data){let a=f.mimeType||f.mime_type||"image/png";d.push({id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{images:[{type:"image_url",image_url:{url:`data:${a};base64,${f.data}`}}]},finish_reason:null}]})}}let g=c.usageMetadata||a.usageMetadata;if(g&&"object"==typeof g){let a="number"==typeof g.cachedContentTokenCount?g.cachedContentTokenCount:0,c="number"==typeof g.promptTokenCount?g.promptTokenCount:0,d="number"==typeof g.thoughtsTokenCount?g.thoughtsTokenCount:0,e="number"==typeof g.candidatesTokenCount?g.candidatesTokenCount:0,f="number"==typeof g.totalTokenCount?g.totalTokenCount:0;0===e&&f>0&&(e=f-c-d)<0&&(e=0),b.usage={prompt_tokens:c,completion_tokens:e+d,total_tokens:f},a>0&&(b.usage.prompt_tokens_details={cached_tokens:a}),d>0&&(b.usage.completion_tokens_details={reasoning_tokens:d})}if(e.finishReason){let a=e.finishReason.toLowerCase();"stop"===a&&b.toolCalls.size>0&&(a="tool_calls");let c={id:`chatcmpl-${b.messageId}`,object:"chat.completion.chunk",created:Math.floor(Date.now()/1e3),model:b.model,choices:[{index:0,delta:{},finish_reason:a}]};b.usage&&(c.usage=b.usage),d.push(c),b.finishReason=a}return d.length>0?d:null}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,null,f),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,null,f),(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,null,f)},42654:(a,b,c)=>{c.d(b,{m:()=>d});function d(a){return"string"==typeof a?[{type:"message",role:"user",content:[{type:"input_text",text:""===a.trim()?"...":a}]}]:Array.isArray(a)?a:null}},52638:(a,b,c)=>{c.r(b),c.d(b,{geminiToOpenAIRequest:()=>g});var d=c(4841),e=c(14170),f=c(3156);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.generationConfig){let a=b.generationConfig;if(a.maxOutputTokens){let c={max_tokens:a.maxOutputTokens,tools:b.tools};d.max_tokens=(0,f.M)(c)}void 0!==a.temperature&&(d.temperature=a.temperature),void 0!==a.topP&&(d.top_p=a.topP)}if(b.systemInstruction){var e;let a="string"==typeof(e=b.systemInstruction)?e:e.parts&&Array.isArray(e.parts)?e.parts.map(a=>a.text||"").join(""):"";a&&d.messages.push({role:"system",content:a})}if(b.contents&&Array.isArray(b.contents))for(let a of b.contents){let b=function(a){let b="user"===a.role?"user":"assistant";if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[];for(let b of a.parts)if(void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse)return{role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})};if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length?c[0].text:c),a.tool_calls=d,a}return c.length>0?{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c}:null}(a);b&&d.messages.push(b)}if(b.tools&&Array.isArray(b.tools)){for(let a of(d.tools=[],b.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)d.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}}})}return d}(0,d.kz)(e.h.GEMINI,e.h.OPENAI,g,null),(0,d.kz)(e.h.GEMINI_CLI,e.h.OPENAI,g,null)},52830:(a,b,c)=>{c.r(b),c.d(b,{convertKiroToOpenAI:()=>f});var d=c(4841),e=c(14170);function f(a,b){if(!a)return null;if("chat.completion.chunk"===a.object&&a.choices)return a;let c=a;if("string"==typeof a){let b=a.split("\n"),d="",e="";for(let a of b)a.startsWith("event:")?d=a.slice(6).trim():a.startsWith(":event-type:")?d=a.slice(12).trim():a.startsWith("data:")?e=a.slice(5).trim():a.startsWith(":content-type:")||a.trim()&&!a.startsWith(":")&&(e=a.trim());if(!e)return null;try{(c=JSON.parse(e))._eventType=d}catch{c={text:e,_eventType:d}}}b.responseId||(b.responseId=`chatcmpl-${Date.now()}`,b.created=Math.floor(Date.now()/1e3),b.chunkIndex=0);let d=c._eventType||c.event||"";if("assistantResponseEvent"===d||c.assistantResponseEvent){let a=c.assistantResponseEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:a},finish_reason:null}]};return b.chunkIndex++,d}if("reasoningContentEvent"===d||c.reasoningContentEvent){let a=c.reasoningContentEvent?.content||c.content||"";if(!a)return null;let d={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},content:`<thinking>${a}</thinking>`},finish_reason:null}]};return b.chunkIndex++,d}if("toolUseEvent"===d||c.toolUseEvent){let a=c.toolUseEvent||c,d=a.toolUseId||`call_${Date.now()}`,e=a.name||"",f=a.input||{},g={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{...0===b.chunkIndex?{role:"assistant"}:{},tool_calls:[{index:0,id:d,type:"function",function:{name:e,arguments:JSON.stringify(f)}}]},finish_reason:null}]};return b.chunkIndex++,g}if("messageStopEvent"===d||"done"===d||c.messageStopEvent){b.finishReason="stop";let a={id:b.responseId,object:"chat.completion.chunk",created:b.created,model:b.model||"kiro",choices:[{index:0,delta:{},finish_reason:"stop"}]};return b.usage&&"object"==typeof b.usage&&(a.usage=b.usage),a}if("usageEvent"===d||c.usageEvent){let a=c.usageEvent||c;a&&"object"==typeof a&&(b.usage={prompt_tokens:a.inputTokens||0,completion_tokens:a.outputTokens||0,total_tokens:(a.inputTokens||0)+(a.outputTokens||0)})}return null}(0,d.kz)(e.h.KIRO,e.h.OPENAI,null,f)},54817:(a,b,c)=>{c.r(b),c.d(b,{antigravityToOpenAIRequest:()=>g});var d=c(4841),e=c(14170),f=c(3156);function g(a,b,c){let d=b.request||b,e={model:a,messages:[],stream:c};if(d.generationConfig){let a=d.generationConfig;if(a.maxOutputTokens){let b={max_tokens:a.maxOutputTokens,tools:d.tools};e.max_tokens=(0,f.M)(b)}if(void 0!==a.temperature&&(e.temperature=a.temperature),void 0!==a.topP&&(e.top_p=a.topP),void 0!==a.topK&&(e.top_k=a.topK),a.thinkingConfig){let b=a.thinkingConfig.thinkingBudget||0;b>0&&(b<=2048?e.reasoning_effort="low":b<=16384?e.reasoning_effort="medium":e.reasoning_effort="high")}}if(d.systemInstruction){var g;let a="string"==typeof(g=d.systemInstruction)?g:g.parts&&Array.isArray(g.parts)?g.parts.map(a=>a.text||"").join(""):"";a&&e.messages.push({role:"system",content:a})}if(d.contents&&Array.isArray(d.contents))for(let a of d.contents){let b=function(a){let b="model"===a.role?"assistant":"user"===a.role?"user":a.role;if(!a.parts||!Array.isArray(a.parts))return null;let c=[],d=[],e=[],f="";for(let b of a.parts){if(!0===b.thought&&b.text){f+=b.text;continue}if(b.thoughtSignature&&void 0!==b.text){c.push({type:"text",text:b.text});continue}void 0!==b.text&&c.push({type:"text",text:b.text}),b.inlineData&&c.push({type:"image_url",image_url:{url:`data:${b.inlineData.mimeType};base64,${b.inlineData.data}`}}),b.functionCall&&d.push({id:b.functionCall.id||`call_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,type:"function",function:{name:b.functionCall.name,arguments:JSON.stringify(b.functionCall.args||{})}}),b.functionResponse&&e.push({role:"tool",tool_call_id:b.functionResponse.id||b.functionResponse.name,content:JSON.stringify(b.functionResponse.response?.result||b.functionResponse.response||{})})}if(e.length>0)return e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a.tool_calls=d,a}if(c.length>0||f){let a={role:b};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),f&&(a.reasoning_content=f),a}return null}(a);b&&(Array.isArray(b)?e.messages.push(...b):e.messages.push(b))}if(d.tools&&Array.isArray(d.tools)){for(let a of(e.tools=[],d.tools))if(a.functionDeclarations)for(let b of a.functionDeclarations)e.tools.push({type:"function",function:{name:b.name,description:b.description||"",parameters:function a(b){if(!b||"object"!=typeof b)return b;let c=Array.isArray(b)?[...b]:{...b};if("string"==typeof c.type&&(c.type=c.type.toLowerCase()),c.properties){let b={};for(let[d,e]of Object.entries(c.properties))b[d]=a(e);c.properties=b}return c.items&&(c.items=a(c.items)),c}(b.parameters)||{type:"object",properties:{}}}})}return e}(0,d.kz)(e.h.ANTIGRAVITY,e.h.OPENAI,g,null)},60983:(a,b,c)=>{c.r(b),c.d(b,{claudeToOpenAIRequest:()=>g});var d=c(4841),e=c(14170),f=c(3156);function g(a,b,c){let d={model:a,messages:[],stream:c};if(b.max_tokens&&(d.max_tokens=(0,f.M)(b)),void 0!==b.temperature&&(d.temperature=b.temperature),b.system){let a=Array.isArray(b.system)?b.system.map(a=>a.text||"").join("\n"):b.system;a&&d.messages.push({role:"system",content:a})}if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=function(a){let b="user"===a.role||"tool"===a.role?"user":"assistant";if("string"==typeof a.content)return{role:b,content:a.content};if(Array.isArray(a.content)){let c=[],d=[],e=[];for(let b of a.content)switch(b.type){case"text":c.push({type:"text",text:b.text});break;case"image":b.source?.type==="base64"&&c.push({type:"image_url",image_url:{url:`data:${b.source.media_type};base64,${b.source.data}`}});break;case"tool_use":d.push({id:b.id,type:"function",function:{name:b.name,arguments:JSON.stringify(b.input||{})}});break;case"tool_result":let a="";"string"==typeof b.content?a=b.content:Array.isArray(b.content)?a=b.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n")||JSON.stringify(b.content):b.content&&(a=JSON.stringify(b.content)),e.push({role:"tool",tool_call_id:b.tool_use_id,content:a})}if(e.length>0)return c.length>0?[...e,{role:"user",content:1===c.length&&"text"===c[0].type?c[0].text:c}]:e;if(d.length>0){let a={role:"assistant"};return c.length>0&&(a.content=1===c.length&&"text"===c[0].type?c[0].text:c),a.tool_calls=d,a}if(c.length>0)return{role:b,content:1===c.length&&"text"===c[0].type?c[0].text:c};if(0===a.content.length)return{role:b,content:""}}return null}(b.messages[a]);c&&(Array.isArray(c)?d.messages.push(...c):d.messages.push(c))}return function(a){for(let b=0;b<a.length;b++){let c=a[b];if("assistant"===c.role&&c.tool_calls&&c.tool_calls.length>0){let d=c.tool_calls.map(a=>a.id),e=new Set,f=b+1;for(let c=b+1;c<a.length;c++){let b=a[c];if("tool"===b.role&&b.tool_call_id)e.add(b.tool_call_id),f=c+1;else break}let g=d.filter(a=>!e.has(a));if(g.length>0){let c=g.map(a=>({role:"tool",tool_call_id:a,content:"[No response received]"}));a.splice(f,0,...c),b=f+c.length-1}}}}(d.messages),b.tools&&Array.isArray(b.tools)&&(d.tools=b.tools.map(a=>({type:"function",function:{name:a.name,description:a.description,parameters:a.input_schema||{type:"object",properties:{}}}}))),b.tool_choice&&(d.tool_choice=function(a){if(!a)return"auto";if("string"==typeof a)return a;switch(a.type){case"auto":default:return"auto";case"any":return"required";case"tool":return{type:"function",function:{name:a.name}}}}(b.tool_choice)),d}(0,d.kz)(e.h.CLAUDE,e.h.OPENAI,g,null)},65377:(a,b,c)=>{c.r(b),c.d(b,{openaiResponsesToOpenAIRequest:()=>g,openaiToOpenAIResponsesRequest:()=>h});var d=c(4841),e=c(14170),f=c(42654);function g(a,b,c,d){if(!b.input)return b;let e={...b};e.messages=[],b.instructions&&e.messages.push({role:"system",content:b.instructions});let g=null,h=[],i=(0,f.m)(b.input);if(!i)return b;for(let a of i){let b=a.type||(a.role?"message":null);if("message"===b){if(g&&(e.messages.push(g),g=null),h.length>0){for(let a of h)e.messages.push(a);h=[]}let b=Array.isArray(a.content)?a.content.map(a=>"input_text"===a.type||"output_text"===a.type?{type:"text",text:a.text}:a):a.content;e.messages.push({role:a.role,content:b})}else if("function_call"===b)g||(g={role:"assistant",content:null,tool_calls:[]}),g.tool_calls.push({id:a.call_id,type:"function",function:{name:a.name,arguments:a.arguments}});else if("function_call_output"===b){if(g&&(e.messages.push(g),g=null),h.length>0){for(let a of h)e.messages.push(a);h=[]}e.messages.push({role:"tool",tool_call_id:a.call_id,content:"string"==typeof a.output?a.output:JSON.stringify(a.output)})}else if("reasoning"===b)continue}if(g&&e.messages.push(g),h.length>0)for(let a of h)e.messages.push(a);return b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>{if(a.function)return a;let b=a.name;return b&&"string"==typeof b&&""!==b.trim()?{type:"function",function:{name:b,description:a.description,parameters:a.parameters,strict:a.strict}}:null}).filter(Boolean)),delete e.input,delete e.instructions,delete e.include,delete e.prompt_cache_key,delete e.store,delete e.reasoning,e}function h(a,b,c,d){if(b.input)return{...b,model:a,stream:!0};let e={model:a,input:[],stream:!0,store:!1},f=!1;for(let a of b.messages||[]){if("system"===a.role){f||(e.instructions="string"==typeof a.content?a.content:"",f=!0);continue}if("user"===a.role||"assistant"===a.role){let b="user"===a.role?"input_text":"output_text",c="string"==typeof a.content?[{type:b,text:a.content}]:Array.isArray(a.content)?a.content.map(a=>{if("text"===a.type)return{type:b,text:a.text};if("image_url"===a.type)return{type:"image_url",image_url:a.image_url};let c=a.text||a.content||JSON.stringify(a);return{type:b,text:"string"==typeof c?c:JSON.stringify(c)}}):[];c.length>0&&e.input.push({type:"message",role:a.role,content:c})}if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)e.input.push({type:"function_call",call_id:b.id,name:b.function?.name||"",arguments:b.function?.arguments||"{}"});"tool"===a.role&&e.input.push({type:"function_call_output",call_id:a.tool_call_id,output:a.content})}return f||(e.instructions=""),b.tools&&Array.isArray(b.tools)&&(e.tools=b.tools.map(a=>"function"===a.type?{type:"function",name:a.function.name,description:a.function.description,parameters:a.function.parameters,strict:a.function.strict}:a)),void 0!==b.temperature&&(e.temperature=b.temperature),void 0!==b.max_tokens&&(e.max_tokens=b.max_tokens),void 0!==b.top_p&&(e.top_p=b.top_p),e}(0,d.kz)(e.h.OPENAI_RESPONSES,e.h.OPENAI,g,null),(0,d.kz)(e.h.OPENAI,e.h.OPENAI_RESPONSES,h,null)},65651:(a,b,c)=>{c.r(b),c.d(b,{convertCursorToOpenAI:()=>f});var d=c(4841),e=c(14170);function f(a,b){return a?("chat.completion.chunk"===a.object&&a.choices||"chat.completion"===a.object&&a.choices,a):null}(0,d.kz)(e.h.CURSOR,e.h.OPENAI,null,f)},66159:(a,b,c)=>{c.r(b),c.d(b,{openaiToClaudeResponse:()=>i});var d=c(4841),e=c(14170);let f="proxy_";function g(a,b){a.thinkingBlockStarted&&(b.push({type:"content_block_stop",index:a.thinkingBlockIndex}),a.thinkingBlockStarted=!1)}function h(a,b){a.textBlockStarted&&!a.textBlockClosed&&(a.textBlockClosed=!0,b.push({type:"content_block_stop",index:a.textBlockIndex}),a.textBlockStarted=!1)}function i(a,b){if(!a||!a.choices?.[0])return null;let c=[],d=a.choices[0],e=d.delta;if(a.usage&&"object"==typeof a.usage){let c="number"==typeof a.usage.prompt_tokens?a.usage.prompt_tokens:0,d="number"==typeof a.usage.completion_tokens?a.usage.completion_tokens:0,e=a.usage.prompt_tokens_details?.cached_tokens,f=a.usage.prompt_tokens_details?.cache_creation_tokens,g="number"==typeof e?e:0,h="number"==typeof f?f:0;b.usage={input_tokens:c-g-h,output_tokens:d},g>0&&(b.usage.cache_read_input_tokens=g),h>0&&(b.usage.cache_creation_input_tokens=h)}b.messageStartSent||(b.messageStartSent=!0,b.messageId=a.id?.replace("chatcmpl-","")||`msg_${Date.now()}`,(!b.messageId||"chat"===b.messageId||b.messageId.length<8)&&(b.messageId=a.extend_fields?.requestId||a.extend_fields?.traceId||`msg_${Date.now()}`),b.model=a.model||"unknown",b.nextBlockIndex=0,c.push({type:"message_start",message:{id:b.messageId,type:"message",role:"assistant",model:b.model,content:[],stop_reason:null,stop_sequence:null,usage:{input_tokens:0,output_tokens:0}}}));let i=e?.reasoning_content||e?.reasoning;if(i&&(h(b,c),b.thinkingBlockStarted||(b.thinkingBlockIndex=b.nextBlockIndex++,b.thinkingBlockStarted=!0,c.push({type:"content_block_start",index:b.thinkingBlockIndex,content_block:{type:"thinking",thinking:""}})),c.push({type:"content_block_delta",index:b.thinkingBlockIndex,delta:{type:"thinking_delta",thinking:i}})),e?.content&&(g(b,c),b.textBlockStarted||(b.textBlockIndex=b.nextBlockIndex++,b.textBlockStarted=!0,b.textBlockClosed=!1,c.push({type:"content_block_start",index:b.textBlockIndex,content_block:{type:"text",text:""}})),c.push({type:"content_block_delta",index:b.textBlockIndex,delta:{type:"text_delta",text:e.content}})),e?.tool_calls)for(let a of e.tool_calls){let d=a.index??0;if(a.id){g(b,c),h(b,c);let e=b.nextBlockIndex++;b.toolCalls.set(d,{id:a.id,name:a.function?.name||"",blockIndex:e});let i=a.function?.name||"";i.startsWith(f)&&(i=i.slice(f.length)),c.push({type:"content_block_start",index:e,content_block:{type:"tool_use",id:a.id,name:i,input:{}}})}if(a.function?.arguments){let e=b.toolCalls.get(d);e&&c.push({type:"content_block_delta",index:e.blockIndex,delta:{type:"input_json_delta",partial_json:a.function.arguments}})}}if(d.finish_reason){for(let[,a]of(g(b,c),h(b,c),b.toolCalls))c.push({type:"content_block_stop",index:a.blockIndex});b.finishReason=d.finish_reason;let a=b.usage||{input_tokens:0,output_tokens:0};c.push({type:"message_delta",delta:{stop_reason:function(a){switch(a){case"stop":default:return"end_turn";case"length":return"max_tokens";case"tool_calls":return"tool_use"}}(d.finish_reason)},usage:a}),c.push({type:"message_stop"})}return c.length>0?c:null}(0,d.kz)(e.h.OPENAI,e.h.CLAUDE,null,i)},71277:(a,b,c)=>{c.r(b),c.d(b,{openaiToAntigravityRequest:()=>v,openaiToGeminiCLIRequest:()=>t,openaiToGeminiRequest:()=>s});var d=c(4841),e=c(14170),f=c(96281),g=c(2255),h=c(19979);let i=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","pattern","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","additionalProperties","propertyNames","patternProperties","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],j=[{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 k(a){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(""):""}function l(a){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return null}}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))),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,c){if(b&&"object"==typeof b)if(Array.isArray(b))for(let d of b)a(d,c);else{for(let a of Object.keys(b))(c.includes(a)||a.startsWith("x-"))&&delete b[a];for(let d of Object.values(b))d&&"object"==typeof d&&a(d,c)}}(a,i),!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}var p=c(80662);function q(){return crypto.randomUUID()}function r(a,b,c){let d={model:a,contents:[],generationConfig:{},safetySettings:j};void 0!==b.temperature&&(d.generationConfig.temperature=b.temperature),void 0!==b.top_p&&(d.generationConfig.topP=b.top_p),void 0!==b.top_k&&(d.generationConfig.topK=b.top_k),void 0!==b.max_tokens&&(d.generationConfig.maxOutputTokens=b.max_tokens);let e={};if(b.messages&&Array.isArray(b.messages)){for(let a of b.messages)if("assistant"===a.role&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&b.id&&b.function?.name&&(e[b.id]=b.function.name)}let g={};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages)"tool"===a.role&&a.tool_call_id&&(g[a.tool_call_id]=a.content);if(b.messages&&Array.isArray(b.messages))for(let a=0;a<b.messages.length;a++){let c=b.messages[a],h=c.role,i=c.content;if("system"===h&&b.messages.length>1)d.systemInstruction={role:"user",parts:[{text:"string"==typeof i?i:k(i)}]};else if("user"===h||"system"===h&&1===b.messages.length){let a=function(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if("text"===c.type)b.push({text:c.text});else if("image_url"===c.type&&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}})}}}return b}(i);a.length>0&&d.contents.push({role:"user",parts:a})}else if("assistant"===h){let a=[];if(c.reasoning_content&&(a.push({thought:!0,text:c.reasoning_content}),a.push({thoughtSignature:f.yV,text:""})),i){let b="string"==typeof i?i:k(i);b&&a.push({text:b})}if(c.tool_calls&&Array.isArray(c.tool_calls)){let b=[];for(let d of c.tool_calls){if("function"!==d.type)continue;let c=l(d.function?.arguments||"{}");a.push({thoughtSignature:f.yV,functionCall:{id:d.id,name:d.function.name,args:c}}),b.push(d.id)}if(a.length>0&&d.contents.push({role:"model",parts:a}),b.some(a=>g[a])){let a=[];for(let c of b){if(!g[c])continue;let b=e[c];if(!b){let a=c.split("-");b=a.length>2?a.slice(0,-2).join("-"):c}let d=g[c],f=l(d);null===f?f={result:d}:"object"!=typeof f&&(f={result:f}),a.push({functionResponse:{id:c,name:b,response:{result:f}}})}a.length>0&&d.contents.push({role:"user",parts:a})}}else a.length>0&&d.contents.push({role:"model",parts:a})}}if(b.tools&&Array.isArray(b.tools)&&b.tools.length>0){let a=[];for(let c of b.tools)if(c.name&&c.input_schema)a.push({name:c.name,description:c.description||"",parameters:c.input_schema||{type:"object",properties:{}}});else if("function"===c.type&&c.function){let b=c.function;a.push({name:b.name,description:b.description||"",parameters:b.parameters||{type:"object",properties:{}}})}a.length>0&&(d.tools=[{functionDeclarations:a}])}return d}function s(a,b,c){return r(a,b,c)}function t(a,b,c){let d=r(a,b,c);if(a.toLowerCase().includes("claude"),b.reasoning_effort){let a={low:1024,medium:8192,high:32768}[b.reasoning_effort]||8192;d.generationConfig.thinkingConfig={thinkingBudget:a,include_thoughts:!0}}if(b.thinking?.type==="enabled"&&b.thinking.budget_tokens&&(d.generationConfig.thinkingConfig={thinkingBudget:b.thinking.budget_tokens,include_thoughts:!0}),d.tools?.[0]?.functionDeclarations){for(let a of d.tools[0].functionDeclarations)if(a.parameters){let b=o(a.parameters);a.parameters=b}}return d}function u(a,b,c=null,d=!1){let e={project:c?.projectId||m(),model:a,userAgent:d?"antigravity":"gemini-cli",requestId:d?`agent-${q()}`:`agent-${crypto.randomUUID()}`,request:{sessionId:d?(0,p.RF)(c?.email||c?.connectionId):crypto.randomUUID()+Date.now().toString(),contents:b.contents,systemInstruction:b.systemInstruction,generationConfig:b.generationConfig,tools:b.tools}};if(d){e.requestType="agent";let a=[{text:g.$V},{text:`Please ignore the following [ignore]${g.$V}[/ignore]`}];e.request.systemInstruction?.parts?e.request.systemInstruction.parts.unshift(...a):e.request.systemInstruction={role:"user",parts:a},b.tools?.length>0&&(e.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}else e.request.safetySettings=b.safetySettings;return e}function v(a,b,c,d=null){if(a.toLowerCase().includes("claude")){let e=(0,h.openaiToClaudeRequestForAntigravity)(a,b,c);return function(a,b,c=null){let d={project:c?.projectId||m(),model:a,userAgent:"antigravity",requestId:`agent-${q()}`,requestType:"agent",request:{sessionId:(0,p.RF)(c?.email||c?.connectionId),contents:[],generationConfig:{temperature:b.temperature||1,maxOutputTokens:b.max_tokens||4096}}};if(b.messages&&Array.isArray(b.messages))for(let a of b.messages){let b=[];if(Array.isArray(a.content)){for(let c of a.content)if("text"===c.type)b.push({text:c.text});else if("tool_use"===c.type)b.push({functionCall:{id:c.id,name:c.name,args:c.input||{}}});else if("tool_result"===c.type){let a=c.content;Array.isArray(a)&&(a=a.map(a=>"text"===a.type?a.text:JSON.stringify(a)).join("\n")),b.push({functionResponse:{id:c.tool_use_id,name:"unknown",response:{result:l(a)||a}}})}}else"string"==typeof a.content&&b.push({text:a.content});b.length>0&&d.request.contents.push({role:"assistant"===a.role?"model":"user",parts:b})}if(b.tools&&Array.isArray(b.tools)){let a=[];for(let c of b.tools)if(c.name&&c.input_schema){let b=o(c.input_schema);a.push({name:c.name,description:c.description||"",parameters:b})}a.length>0&&(d.request.tools=[{functionDeclarations:a}],d.request.toolConfig={functionCallingConfig:{mode:"VALIDATED"}})}let e=[{text:g.$V},{text:`Please ignore the following [ignore]${g.$V}[/ignore]`}];if(b.system)if(Array.isArray(b.system))for(let a of b.system)a.text&&e.push({text:a.text});else"string"==typeof b.system&&e.push({text:b.system});return d.request.systemInstruction?.parts?d.request.systemInstruction.parts.unshift(...e):d.request.systemInstruction={role:"user",parts:e},d}(a,e,d)}let e=t(a,b,c);return u(a,e,d,!0)}(0,d.kz)(e.h.OPENAI,e.h.GEMINI,s,null),(0,d.kz)(e.h.OPENAI,e.h.GEMINI_CLI,(a,b,c,d)=>u(a,t(a,b,c),d),null),(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,v,null)},80198:(a,b,c)=>{c.r(b),c.d(b,{buildKiroPayload:()=>g});var d=c(4841),e=c(14170),f=c(94755);function g(a,b,c,d){let e=b.messages||[],g=b.tools||[],h=b.temperature,i=b.top_p,{history:j,currentMessage:k}=function(a,b,c){let d=[],e=null,g=[],h=[],i=[],j=[],k=null,l=()=>{if("user"===k){let a={userInputMessage:{content:g.join("\n\n").trim()||"continue",modelId:""}};j.length>0&&(a.userInputMessage.images=j),i.length>0&&(a.userInputMessage.userInputMessageContext={toolResults:i}),b&&b.length>0&&0===d.length&&(a.userInputMessage.userInputMessageContext||(a.userInputMessage.userInputMessageContext={}),a.userInputMessage.userInputMessageContext.tools=b.map(a=>{let b=a.function?.name||a.name,c=a.function?.description||a.description||"";return c.trim()||(c=`Tool: ${b}`),{toolSpecification:{name:b,description:c,inputSchema:{json:a.function?.parameters||a.parameters||a.input_schema||{}}}}})),d.push(a),e=a,g=[],i=[],j=[]}else if("assistant"===k){let a=h.join("\n\n").trim()||"...";d.push({assistantResponseMessage:{content:a}}),h=[]}};for(let b=0;b<a.length;b++){let c=a[b],e=c.role;if(("system"===e||"tool"===e)&&(e="user"),e!==k&&null!==k&&l(),k=e,"user"===e){let a="";if("string"==typeof c.content)a=c.content;else if(Array.isArray(c.content)){let b=[];for(let a of c.content)if("text"===a.type||a.text)b.push(a.text||"");else if("image_url"===a.type){let c=a.image_url?.url||"",d=c.match(/^data:([^;]+);base64,(.+)$/);if(d){let a=d[1],b=a.split("/")[1]||a;j.push({format:b,source:{bytes:d[2]}})}else(c.startsWith("http://")||c.startsWith("https://"))&&b.push(`[Image: ${c}]`)}a=b.join("\n");let d=c.content.filter(a=>"tool_result"===a.type);d.length>0&&d.forEach(a=>{let b=Array.isArray(a.content)?a.content.map(a=>a.text||"").join("\n"):"string"==typeof a.content?a.content:"";i.push({toolUseId:a.tool_use_id,status:"success",content:[{text:b}]})})}if("tool"===c.role){let a="string"==typeof c.content?c.content:"";i.push({toolUseId:c.tool_call_id,status:"success",content:[{text:a}]})}else a&&g.push(a)}else if("assistant"===e){let a="",b=[];if(Array.isArray(c.content)?(a=c.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n").trim(),b=c.content.filter(a=>"tool_use"===a.type)):"string"==typeof c.content&&(a=c.content.trim()),c.tool_calls&&c.tool_calls.length>0&&(b=c.tool_calls),a&&h.push(a),b.length>0){h.length,l();let a=d[d.length-1];a?.assistantResponseMessage&&(a.assistantResponseMessage.toolUses=b.map(a=>a.function?{toolUseId:a.id||(0,f.A)(),name:a.function.name,input:"string"==typeof a.function.arguments?JSON.parse(a.function.arguments):a.function.arguments||{}}:{toolUseId:a.id||(0,f.A)(),name:a.name,input:a.input||{}})),k=null}}}null!==k&&l(),d.length>0&&d[d.length-1].userInputMessage&&(e=d.pop());let m=d[0];return m?.userInputMessage?.userInputMessageContext?.tools&&!e?.userInputMessage?.userInputMessageContext?.tools&&(e.userInputMessage.userInputMessageContext||(e.userInputMessage.userInputMessageContext={}),e.userInputMessage.userInputMessageContext.tools=m.userInputMessage.userInputMessageContext.tools),d.forEach(a=>{a.userInputMessage?.userInputMessageContext?.tools&&delete a.userInputMessage.userInputMessageContext.tools,a.userInputMessage?.userInputMessageContext&&0===Object.keys(a.userInputMessage.userInputMessageContext).length&&delete a.userInputMessage.userInputMessageContext,a.userInputMessage&&!a.userInputMessage.modelId&&(a.userInputMessage.modelId=c)}),{history:d,currentMessage:e}}(e,g,a),l=d?.providerSpecificData?.profileArn||"",m=k?.userInputMessage?.content||"",n=new Date().toISOString();m=`[Context: Current time is ${n}]
11
+
12
+ ${m}`;let o={conversationState:{chatTriggerType:"MANUAL",conversationId:(0,f.A)(),currentMessage:{userInputMessage:{content:m,modelId:a,origin:"AI_EDITOR",...k?.userInputMessage?.userInputMessageContext&&{userInputMessageContext:k.userInputMessage.userInputMessageContext}}},history:j}};return l&&(o.profileArn=l),o.inferenceConfig={},o.inferenceConfig.maxTokens=32e3,void 0!==h&&(o.inferenceConfig.temperature=h),void 0!==i&&(o.inferenceConfig.topP=i),o}(0,d.kz)(e.h.OPENAI,e.h.KIRO,g,null)},80662:(a,b,c)=>{c.d(b,{RF:()=>g});var d=c(55511),e=c.n(d);let f=new Map;function g(a){if(!a)return h();if(f.has(a))return f.get(a);let b=h();return f.set(a,b),b}function h(){return e().randomUUID()+Date.now().toString()}},89475:(a,b,c)=>{c.r(b),c.d(b,{openaiToAntigravityResponse:()=>f});var d=c(4841),e=c(14170);function f(a,b){if(!a)return null;let c=a.choices?.[0];if(!c)return a.usage&&(b._usage=a.usage),null;let d=c.delta||{},e=c.finish_reason;b._toolCallAccum||(b._toolCallAccum={}),b._responseId||(b._responseId=a.id||`resp_${Date.now()}`),b._modelVersion||(b._modelVersion=a.model||"");let f=[];if(d.reasoning_content&&f.push({thought:!0,text:d.reasoning_content}),d.content&&f.push({text:d.content}),d.tool_calls){for(let a of d.tool_calls){let c=a.index??0;b._toolCallAccum[c]||(b._toolCallAccum[c]={id:"",name:"",arguments:""});let d=b._toolCallAccum[c];a.id&&(d.id=a.id),a.function?.name&&(d.name+=a.function.name),a.function?.arguments&&(d.arguments+=a.function.arguments)}if(0===f.length&&!e)return null}if(e)for(let a of Object.keys(b._toolCallAccum)){let c=b._toolCallAccum[a],d={};try{d=JSON.parse(c.arguments)}catch{}f.push({functionCall:{name:c.name,args:d}})}if(0===f.length&&!e)return null;0===f.length&&e&&f.push({text:""});let g={content:{role:"model",parts:f}};e&&(g.finishReason=({stop:"STOP",length:"MAX_TOKENS",tool_calls:"STOP",content_filter:"SAFETY"})[e]||"STOP");let h={candidates:[g],modelVersion:b._modelVersion,responseId:b._responseId},i=a.usage||b._usage;return i&&(h.usageMetadata={promptTokenCount:i.prompt_tokens||0,candidatesTokenCount:i.completion_tokens||0,totalTokenCount:i.total_tokens||0},i.completion_tokens_details?.reasoning_tokens&&(h.usageMetadata.thoughtsTokenCount=i.completion_tokens_details.reasoning_tokens),i.prompt_tokens_details?.cached_tokens&&(h.usageMetadata.cachedContentTokenCount=i.prompt_tokens_details.cached_tokens)),{response:h}}(0,d.kz)(e.h.OPENAI,e.h.ANTIGRAVITY,null,f)},96281:(a,b,c)=>{c.d(b,{xr:()=>d,yV:()=>e});let d="EpwGCkYIChgCKkCzVUuRrg7CcglSUWEef4rH6o35g9UYS8ZPe0/VomQTBsFx6sttYNj5l8GqgW6ejuHyYqpFToxIbZl0bw17l5dJEgzCnqDO0Z8fRlMrNgsaDLS1cnCjC53KBqE0CCIwAADQdo1eO+7qPAmo8J4WR3JPmr92S97kmvr5K1iPMiOpkZNj8mEXW8uzBoOJs/9ZKoMFiqHJ3UObwaJDqFOW70E9oCwDoc6jesaWVAEdN5vWfKMpIkjFJjECdjIdkxyJNJ8Ib8yXVal3qwE7uThoPRqSZDdHB5mmwPEjWE/90cSYCbtX2YsJki1265CabBb8/QEkODXg4kgRrL+c8e8rRXz/dr1RswvaPuzEdGKHRNi9UooNUeOK4/ebx1KkP9YZttyohN9GWqlts36kOoW0Cfie/ABDgF9g534BPth/sstxDM6d79QlRmh6NxizyTF74DXJI34u0M4tTRchqE5pAq85SgdJaa+dix1yJPMji8m6nZkwJbscJb9rdc2MKyKWjz8QL2+rTSSuZ2F1k1qSsW0xNcI7qLcI12Vncfn/VqY6YOIZy/saZBR0ezXvN6g+UYbuIdyVg7AyIFZt3nbrO7/kmOEb2VKzygwklHGEIJHfFgMpH3JSrAzbZIowVHOF7VaJ+KXRFDCFin7hHTOiOsdg+1ij1mML9Z/x/9CP4b7OUcaQm1llDZPSHc6rZMNL3DdB+fW5YfmNgKU35S+7AMtA10nVILzDAk1UV4T2K9Do09JlI6rjOs9UuULlIN2Z0eE8YTlANR6uQcw7lMcdfqYE8tke4rDKc2dDiaS5vVe45VewICNpdXGN11yw8QqH7p27CR1HtN30e0tHXOR3bIwWk/Yb6O5fTaKG6Ri8e5ZCPvdD9HqepVi188nM0iTjJqL58F3ni04ECIhcbyaQWnuTes1Kw4CMwiZDLQkk8Hgz7HkUOf1btQTF/0nhD7ry0n0hAEg2PaDM3V6TjOjf4hEldRmeqERcQF1PfgKb6ZM12rlIIfUqKACczWJSzTV158+47HX36o0cgux6nFlv/DE+sEiRVxgB",e="EuwGCukGAXLI2nxwZIq54WWSoL/YN0P3TsDZ7zRnLi8g0S4aVr2HUGxvaHKySuY6HAVzcE0GPGjXrytLIldxthSvfxgUlJh6Qa9Z+Oj5QZBlYdg6HaJ6yuY5R7waE6rdwBsRf7Ft2j3DJ9rMi9qhWFqApewYtPhls3VHtuvND3l8Rm09+lbAXQs6KKWEWrxNLKTBkfpMgXhRERc/TQRMZu1twAablm6/Zk1tsYRvfWKLsNbeKF+CCojJdXJKvnR/8Ouuoa+Y2Ti20hcW7aZIIjZDFYPU//k6Ybmhg69J/imbFai2ckhfLaisqdDkdoIiBJScTOUvYqP6AE9d4MsydSC+UlhIMk4hoP76R8vUSCZRMkjOaDXstf/QoVZKbt94wyRZgAJ1G0BqI8L5ow86kLpA4wJEtxsRGymOE4bKUvApveBakYDNM9APkf+LbtbzWSseGjoZcSlycF9iN8Q2XNYKRrHbv3Lr5Y8JjdH/5y/6SHkNehTEZugaeGnSPSyCTWto1kQgHpxdWmhkLfJGNUGLmue7Mesj4TSms4J33mRpYVhNB/J333FCqIP0hr/E7BkkjEn7yZ4X7SQlh+xKPurapsnHRwiKmtsilmEFrnTE9iQr+pMr6M29qqFNv1tr5yumbaJw8JW9sB15tNsRv+dW6BjNanbsKz7HCgKUBc8tGy+7YuhXzAfViyRefcjK7eZW0Fbyt7AbybJTKz78W8NH7ye6LAwzOebXpeZ4D43fNIt8bKh26qgduSQv/7o+pAflkuqHZ99YWgHQ8h8OkZFi3eOiSYjsjhdZ/czWOdoPI/OnqIldzMPF5YlrKBLFX8VhRKVmqgsmWf5PHGulHhMkVlS+XG2UIseGy69ARa93D78Gsa+1n1kJr7EEB7Rh+27vUMxVYLdz1yMSvE5nalTAlg/ZeG8+XQ0cHuAI3KbQpHW2Q++RdXfm5JzD5WdJZUU+Zn8t8UUn85BH4RxZLeE0qJikgSsKoYVBc6YhiMjhPgkR95ReimY4Z0xCJdRo1gjexOFeODZMpQF6Yxnoic7IrdgsFA3iePTbFnPp3IAM1fAThWhXJUn3QInUOTd5o1qmTmn6REbL15g/JQNl+dqUoPkhleeb2V3kjqp1okmO3wMZbPknR3S1LZNmlS72/iBQUm+n2b/RCn4PjmM2"}};
@@ -1,5 +1,5 @@
1
- "use strict";exports.id=4989,exports.ids=[4989],exports.modules={47370:(a,b,c)=>{c.d(b,{BY:()=>E,E5:()=>B,SL:()=>n.SL,Zx:()=>C,_V:()=>w,j$:()=>F,ox:()=>n.ox,rg:()=>y,sZ:()=>A,uw:()=>x});var d=c(82996),e=c(11259),f=c(94735),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(29021),l=c.n(k),m=c(1932),n=c(90336);let o="u">typeof caches||"object"==typeof caches,p=function(){if(o)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;try{let a=process.platform,b=j().homedir(),c=function(){if(o)return"9router";let a=h().dirname((0,m.fileURLToPath)("file:///Users/Working/router4/app/src/lib/usageDb.js")),b=h().resolve(a,"../../../package.json");try{let a=JSON.parse(l().readFileSync(b,"utf-8"));return a.config?.appName||"9router"}catch{return"9router"}}();if("win32"===a)return h().join(process.env.APPDATA||h().join(b,"AppData","Roaming"),c);return h().join(b,`.${c}`)}catch(a){return console.error("[usageDb] Failed to get user data directory:",a.message),h().join(process.cwd(),".9router")}}(),q=o?null:h().join(p,"usage.json"),r=o?null:h().join(p,"log.txt");if(!o&&l()&&"function"==typeof l().existsSync)try{l().existsSync(p)||(l().mkdirSync(p,{recursive:!0}),console.log(`[usageDb] Created data directory: ${p}`))}catch(a){console.error("[usageDb] Failed to create data directory:",a.message)}let s={history:[]},t=null;global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}});let u=global._pendingRequests;global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0});let v=global._lastErrorProvider;global._statsEmitter||(global._statsEmitter=new f.EventEmitter,global._statsEmitter.setMaxListeners(50));let w=global._statsEmitter;function x(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a;u.byModel[f]||(u.byModel[f]=0),u.byModel[f]=Math.max(0,u.byModel[f]+(d?1:-1)),c&&(u.byAccount[c]||(u.byAccount[c]={}),u.byAccount[c][f]||(u.byAccount[c][f]=0),u.byAccount[c][f]=Math.max(0,u.byAccount[c][f]+(d?1:-1))),!d&&e&&b&&(v.provider=b.toLowerCase(),v.ts=Date.now());let g=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});console.log(`[${g}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),w.emit("pending")}async function y(){let a=[],b={};try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718));for(let c of(await a()))b[c.id]=c.name||c.email||c.id}catch{}for(let[c,d]of Object.entries(u.byAccount))for(let[e,f]of Object.entries(d))if(f>0){let d=b[c]||`Account ${c.slice(0,8)}...`,g=e.match(/^(.*) \((.*)\)$/),h=g?g[1]:e,i=g?g[2]:"unknown";a.push({model:h,provider:i,account:d,count:f})}let d=await z();await d.read();let e=d.data.history||[],f=new Set;return{activeRequests:a,recentRequests:[...e].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,d=b.completion_tokens||b.output_tokens||0;return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:d,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!f.has(c)&&(f.add(c),!0)}).slice(0,20),errorProvider:Date.now()-v.ts<1e4?v.provider:""}}async function z(){if(o)return t||((t=new d.t({read:async()=>{},write:async()=>{}},s)).data=s),t;if(!t){let a=new e.Pv(q);t=new d.t(a,s);try{await t.read()}catch(a){if(a instanceof SyntaxError)console.warn("[DB] Corrupt Usage JSON detected, resetting to defaults..."),t.data=s,await t.write();else throw a}t.data||(t.data=s,await t.write())}return t}async function A(a){if(!o)try{let b=await z();a.timestamp||(a.timestamp=new Date().toISOString()),Array.isArray(b.data.history)||(b.data.history=[]);let c=await D(a.provider,a.model,a.tokens);a.cost=c,b.data.history.push(a),await b.write(),w.emit("update")}catch(a){console.error("Failed to save usage stats:",a)}}async function B({model:a,provider:b,connectionId:d,tokens:e,status:f}){if(!o)try{let g=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=b(a.getDate()),d=b(a.getMonth()+1),e=a.getFullYear(),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}-${d}-${e} ${f}:${g}:${h}`}(),h=b?.toUpperCase()||"-",i=d?d.slice(0,8):"-";try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=(await a()).find(a=>a.id===d);b&&(i=b.name||b.email||i)}catch{}let j=e?.prompt_tokens!==void 0?e.prompt_tokens:"-",k=e?.completion_tokens!==void 0?e.completion_tokens:"-",m=`${g} | ${a||"-"} | ${h} | ${i} | ${j} | ${k} | ${f}
2
- `;l().appendFileSync(r,m);let n=l().readFileSync(r,"utf-8").trim().split("\n");n.length>200&&l().writeFileSync(r,n.slice(-200).join("\n")+"\n")}catch(a){console.error("Failed to append to log.txt:",a.message)}}async function C(a=200){if(o)return[];if(!l()||"function"!=typeof l().existsSync)return console.error("[usageDb] fs module not available in this environment"),[];if(!r)return console.error("[usageDb] LOG_FILE path not defined"),[];if(!l().existsSync(r))return console.log(`[usageDb] Log file does not exist: ${r}`),[];try{return l().readFileSync(r,"utf-8").trim().split("\n").slice(-a).reverse()}catch(a){return console.error("[usageDb] Failed to read log.txt:",a.message),console.error("[usageDb] LOG_FILE path:",r),[]}}async function D(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}async function E(){let a=(await z()).data.history||[],{getProviderConnections:b,getApiKeys:d,getProviderNodes:e}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),f=[];try{f=await b()}catch(a){console.warn("Could not fetch provider connections for usage stats:",a.message)}let g={};for(let a of f)g[a.id]=a.name||a.email||a.id;let h={};try{for(let a of(await e()))a.id&&a.name&&(h[a.id]=a.name)}catch{}let i=[];try{i=await d()}catch(a){console.warn("Could not fetch API keys for usage stats:",a.message)}let j={};for(let a of i)j[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let k=new Set,l=[...a].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,d=b.completion_tokens||b.output_tokens||0;return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:d,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!k.has(c)&&(k.add(c),!0)}).slice(0,20),m={totalRequests:a.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{},last10Minutes:[],pending:u,activeRequests:[],recentRequests:l,errorProvider:Date.now()-v.ts<1e4?v.provider:""};for(let[a,b]of Object.entries(u.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=g[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/),f=e?e[1]:c,h=e?e[2]:"unknown";m.activeRequests.push({model:f,provider:h,account:b,count:d})}let n=new Date,o=new Date(6e4*Math.floor(n.getTime()/6e4)),p=new Date(o.getTime()-54e4),q={};for(let a=0;a<10;a++){let b=new Date(o.getTime()-(9-a)*6e4).getTime();q[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},m.last10Minutes.push(q[b])}for(let b of a){let a=b.tokens?.prompt_tokens||0,c=b.tokens?.completion_tokens||0,d=new Date(b.timestamp),e=await D(b.provider,b.model,b.tokens);if(m.totalPromptTokens+=a,m.totalCompletionTokens+=c,m.totalCost+=e,d>=p&&d<=n){let b=6e4*Math.floor(d.getTime()/6e4);q[b]&&(q[b].requests++,q[b].promptTokens+=a,q[b].completionTokens+=c,q[b].cost+=e)}m.byProvider[b.provider]||(m.byProvider[b.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),m.byProvider[b.provider].requests++,m.byProvider[b.provider].promptTokens+=a,m.byProvider[b.provider].completionTokens+=c,m.byProvider[b.provider].cost+=e;let f=b.provider?`${b.model} (${b.provider})`:b.model,i=h[b.provider]||b.provider;if(m.byModel[f]||(m.byModel[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:i,lastUsed:b.timestamp}),m.byModel[f].requests++,m.byModel[f].promptTokens+=a,m.byModel[f].completionTokens+=c,m.byModel[f].cost+=e,new Date(b.timestamp)>new Date(m.byModel[f].lastUsed)&&(m.byModel[f].lastUsed=b.timestamp),b.connectionId){let d=g[b.connectionId]||`Account ${b.connectionId.slice(0,8)}...`,f=`${b.model} (${b.provider} - ${d})`;m.byAccount[f]||(m.byAccount[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:i,connectionId:b.connectionId,accountName:d,lastUsed:b.timestamp}),m.byAccount[f].requests++,m.byAccount[f].promptTokens+=a,m.byAccount[f].completionTokens+=c,m.byAccount[f].cost+=e,new Date(b.timestamp)>new Date(m.byAccount[f].lastUsed)&&(m.byAccount[f].lastUsed=b.timestamp)}if(b.apiKey&&"string"==typeof b.apiKey){let d=j[b.apiKey],f=d?.name||b.apiKey.slice(0,8)+"...",g=b.apiKey,h=`${g}|${b.model}|${b.provider||"unknown"}`;m.byApiKey[h]||(m.byApiKey[h]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:i,apiKey:b.apiKey,keyName:f,apiKeyKey:g,lastUsed:b.timestamp});let k=m.byApiKey[h];k.requests++,k.promptTokens+=a,k.completionTokens+=c,k.cost+=e,new Date(b.timestamp)>new Date(k.lastUsed)&&(k.lastUsed=b.timestamp)}else{let d="local-no-key";m.byApiKey[d]||(m.byApiKey[d]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:b.model,provider:i,apiKey:null,keyName:"Local (No API Key)",apiKeyKey:d,lastUsed:b.timestamp});let f=m.byApiKey[d];f.requests++,f.promptTokens+=a,f.completionTokens+=c,f.cost+=e,new Date(b.timestamp)>new Date(f.lastUsed)&&(f.lastUsed=b.timestamp)}let k=b.endpoint||"Unknown",l=`${k}|${b.model}|${b.provider||"unknown"}`;m.byEndpoint[l]||(m.byEndpoint[l]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:k,rawModel:b.model,provider:i,lastUsed:b.timestamp});let o=m.byEndpoint[l];o.requests++,o.promptTokens+=a,o.completionTokens+=c,o.cost+=e,new Date(b.timestamp)>new Date(o.lastUsed)&&(o.lastUsed=b.timestamp)}return m}async function F(a="7d"){let b,c,d,e=(await z()).data.history||[],f=Date.now();"24h"===a?(b=24,c=36e5,d=a=>new Date(a).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})):"7d"===a?(b=7,c=864e5,d=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"})):"30d"===a?(b=30,c=864e5,d=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"})):(b=60,c=864e5,d=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"}));let g=f-b*c,h=Array.from({length:b},(a,b)=>{let e=g+b*c;return{label:d(e),tokens:0,cost:0,_ts:e}});for(let a of e){let d=new Date(a.timestamp).getTime();if(d<g||d>f)continue;let e=Math.min(Math.floor((d-g)/c),b-1),i=a.tokens?.prompt_tokens||0,j=a.tokens?.completion_tokens||0;h[e].tokens+=i+j,h[e].cost+=a.cost||0}return h.map(({label:a,tokens:b,cost:c})=>({label:a,tokens:b,cost:c}))}},90336:(a,b,c)=>{c.d(b,{SL:()=>B,ox:()=>z,yU:()=>w});var d=c(87550),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(29021),k=c.n(j);let l="u">typeof caches||"object"==typeof caches;async function m(){try{let{getSettings:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;return{enabled:"boolean"==typeof b.observabilityEnabled?b.observabilityEnabled:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||"1000",10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||"20",10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||"5000",10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"1024",10))}}catch(a){return console.error("[requestDetailsDb] Failed to load observability config:",a),{enabled:!0,maxRecords:1e3,batchSize:20,flushIntervalMs:5e3,maxJsonSize:1048576}}}let n=null,o=0;async function p(){return(!n||Date.now()-o>5e3)&&(n=await m(),o=Date.now()),n}let q=null,r=function(){if(l)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;try{let a=process.platform,b=i().homedir(),c="9router";if("win32"===a)return g().join(process.env.APPDATA||g().join(b,"AppData","Roaming"),c);return g().join(b,`.${c}`)}catch(a){return console.error("[requestDetailsDb] Failed to get user data directory:",a.message),g().join(process.cwd(),".9router")}}(),s=l?null:g().join(r,"request-details.sqlite");if(!l&&k()&&"function"==typeof k().existsSync)try{k().existsSync(r)||k().mkdirSync(r,{recursive:!0})}catch(a){console.error("[requestDetailsDb] Failed to create data directory:",a.message)}let t=[],u=null,v=!1;async function w(){if(l)return q||(q={prepare:()=>({run:()=>{},get:()=>null,all:()=>[]}),exec:()=>{},pragma:()=>{}}),q;if(!q){let a=new(e())(s);a.pragma("journal_mode = WAL"),a.pragma("synchronous = NORMAL"),a.pragma("cache_size = -64000"),a.pragma("temp_store = MEMORY"),a.exec(`
1
+ "use strict";exports.id=4989,exports.ids=[4989],exports.modules={47370:(a,b,c)=>{c.d(b,{BY:()=>F,E5:()=>B,SL:()=>n.SL,Zx:()=>C,_V:()=>w,j$:()=>G,ox:()=>n.ox,rg:()=>y,sZ:()=>A,uw:()=>x});var d=c(82996),e=c(11259),f=c(94735),g=c(33873),h=c.n(g),i=c(21820),j=c.n(i),k=c(29021),l=c.n(k),m=c(1932),n=c(90336);let o="u">typeof caches||"object"==typeof caches,p=function(){if(o)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;try{let a=process.platform,b=j().homedir(),c=function(){if(o)return"9router";let a=h().dirname((0,m.fileURLToPath)("file:///Users/Working/router4/app/src/lib/usageDb.js")),b=h().resolve(a,"../../../package.json");try{let a=JSON.parse(l().readFileSync(b,"utf-8"));return a.config?.appName||"9router"}catch{return"9router"}}();if("win32"===a)return h().join(process.env.APPDATA||h().join(b,"AppData","Roaming"),c);return h().join(b,`.${c}`)}catch(a){return console.error("[usageDb] Failed to get user data directory:",a.message),h().join(process.cwd(),".9router")}}(),q=o?null:h().join(p,"usage.json"),r=o?null:h().join(p,"log.txt");if(!o&&l()&&"function"==typeof l().existsSync)try{l().existsSync(p)||(l().mkdirSync(p,{recursive:!0}),console.log(`[usageDb] Created data directory: ${p}`))}catch(a){console.error("[usageDb] Failed to create data directory:",a.message)}let s={history:[]},t=null;global._pendingRequests||(global._pendingRequests={byModel:{},byAccount:{}});let u=global._pendingRequests;global._lastErrorProvider||(global._lastErrorProvider={provider:"",ts:0});let v=global._lastErrorProvider;global._statsEmitter||(global._statsEmitter=new f.EventEmitter,global._statsEmitter.setMaxListeners(50));let w=global._statsEmitter;function x(a,b,c,d,e=!1){let f=b?`${a} (${b})`:a;u.byModel[f]||(u.byModel[f]=0),u.byModel[f]=Math.max(0,u.byModel[f]+(d?1:-1)),c&&(u.byAccount[c]||(u.byAccount[c]={}),u.byAccount[c][f]||(u.byAccount[c][f]=0),u.byAccount[c][f]=Math.max(0,u.byAccount[c][f]+(d?1:-1))),!d&&e&&b&&(v.provider=b.toLowerCase(),v.ts=Date.now());let g=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"});console.log(`[${g}] [PENDING] ${d?"START":"END"}${e?" (ERROR)":""} | provider=${b} | model=${a}`),w.emit("pending")}async function y(){let a=[],b={};try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718));for(let c of(await a()))b[c.id]=c.name||c.email||c.id}catch{}for(let[c,d]of Object.entries(u.byAccount))for(let[e,f]of Object.entries(d))if(f>0){let d=b[c]||`Account ${c.slice(0,8)}...`,g=e.match(/^(.*) \((.*)\)$/),h=g?g[1]:e,i=g?g[2]:"unknown";a.push({model:h,provider:i,account:d,count:f})}let d=await z();await d.read();let e=d.data.history||[],f=new Set;return{activeRequests:a,recentRequests:[...e].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,d=b.completion_tokens||b.output_tokens||0;return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:d,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!f.has(c)&&(f.add(c),!0)}).slice(0,20),errorProvider:Date.now()-v.ts<1e4?v.provider:""}}async function z(){if(o)return t||((t=new d.t({read:async()=>{},write:async()=>{}},s)).data=s),t;if(!t){let a=new e.Pv(q);t=new d.t(a,s);try{await t.read()}catch(a){if(a instanceof SyntaxError)console.warn("[DB] Corrupt Usage JSON detected, resetting to defaults..."),t.data=s,await t.write();else throw a}t.data||(t.data=s,await t.write())}return t}async function A(a){if(!o)try{let b=await z();a.timestamp||(a.timestamp=new Date().toISOString()),Array.isArray(b.data.history)||(b.data.history=[]);let c=await D(a.provider,a.model,a.tokens);a.cost=c,b.data.history.push(a),await b.write(),w.emit("update")}catch(a){console.error("Failed to save usage stats:",a)}}async function B({model:a,provider:b,connectionId:d,tokens:e,status:f}){if(!o)try{let g=function(a=new Date){let b=a=>String(a).padStart(2,"0"),c=b(a.getDate()),d=b(a.getMonth()+1),e=a.getFullYear(),f=b(a.getHours()),g=b(a.getMinutes()),h=b(a.getSeconds());return`${c}-${d}-${e} ${f}:${g}:${h}`}(),h=b?.toUpperCase()||"-",i=d?d.slice(0,8):"-";try{let{getProviderConnections:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=(await a()).find(a=>a.id===d);b&&(i=b.name||b.email||i)}catch{}let j=e?.prompt_tokens!==void 0?e.prompt_tokens:"-",k=e?.completion_tokens!==void 0?e.completion_tokens:"-",m=`${g} | ${a||"-"} | ${h} | ${i} | ${j} | ${k} | ${f}
2
+ `;l().appendFileSync(r,m);let n=l().readFileSync(r,"utf-8").trim().split("\n");n.length>200&&l().writeFileSync(r,n.slice(-200).join("\n")+"\n")}catch(a){console.error("Failed to append to log.txt:",a.message)}}async function C(a=200){if(o)return[];if(!l()||"function"!=typeof l().existsSync)return console.error("[usageDb] fs module not available in this environment"),[];if(!r)return console.error("[usageDb] LOG_FILE path not defined"),[];if(!l().existsSync(r))return console.log(`[usageDb] Log file does not exist: ${r}`),[];try{return l().readFileSync(r,"utf-8").trim().split("\n").slice(-a).reverse()}catch(a){return console.error("[usageDb] Failed to read log.txt:",a.message),console.error("[usageDb] LOG_FILE path:",r),[]}}async function D(a,b,d){if(!d||!a||!b)return 0;try{let{getPricingForModel:e}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),f=await e(a,b);if(!f)return 0;let g=0,h=d.prompt_tokens||d.input_tokens||0,i=d.cached_tokens||d.cache_read_input_tokens||0,j=Math.max(0,h-i);if(g+=j*(f.input/1e6),i>0){let a=f.cached||f.input;g+=a/1e6*i}let k=d.completion_tokens||d.output_tokens||0;g+=k*(f.output/1e6);let l=d.reasoning_tokens||0;if(l>0){let a=f.reasoning||f.output;g+=a/1e6*l}let m=d.cache_creation_input_tokens||0;if(m>0){let a=f.cache_creation||f.input;g+=a/1e6*m}return g}catch(a){return console.error("Error calculating cost:",a),0}}let E={"24h":864e5,"7d":6048e5,"30d":2592e6,"60d":5184e6};async function F(a="all"){let b=(await z()).data.history||[];if(a&&E[a]){let c=Date.now()-E[a];b=b.filter(a=>new Date(a.timestamp).getTime()>=c)}let{getProviderConnections:d,getApiKeys:e,getProviderNodes:f}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),g=[];try{g=await d()}catch(a){console.warn("Could not fetch provider connections for usage stats:",a.message)}let h={};for(let a of g)h[a.id]=a.name||a.email||a.id;let i={};try{for(let a of(await f()))a.id&&a.name&&(i[a.id]=a.name)}catch{}let j=[];try{j=await e()}catch(a){console.warn("Could not fetch API keys for usage stats:",a.message)}let k={};for(let a of j)k[a.key]={name:a.name,id:a.id,createdAt:a.createdAt};let l=new Set,m=[...b].sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp)).map(a=>{let b=a.tokens||{},c=b.prompt_tokens||b.input_tokens||0,d=b.completion_tokens||b.output_tokens||0;return{timestamp:a.timestamp,model:a.model,provider:a.provider||"",promptTokens:c,completionTokens:d,status:a.status||"ok"}}).filter(a=>{if(0===a.promptTokens&&0===a.completionTokens)return!1;let b=a.timestamp?a.timestamp.slice(0,16):"",c=`${a.model}|${a.provider}|${a.promptTokens}|${a.completionTokens}|${b}`;return!l.has(c)&&(l.add(c),!0)}).slice(0,20),n={totalRequests:b.length,totalPromptTokens:0,totalCompletionTokens:0,totalCost:0,byProvider:{},byModel:{},byAccount:{},byApiKey:{},byEndpoint:{},last10Minutes:[],pending:u,activeRequests:[],recentRequests:m,errorProvider:Date.now()-v.ts<1e4?v.provider:""};for(let[a,b]of Object.entries(u.byAccount))for(let[c,d]of Object.entries(b))if(d>0){let b=h[a]||`Account ${a.slice(0,8)}...`,e=c.match(/^(.*) \((.*)\)$/),f=e?e[1]:c,g=e?e[2]:"unknown";n.activeRequests.push({model:f,provider:g,account:b,count:d})}let o=new Date,p=new Date(6e4*Math.floor(o.getTime()/6e4)),q=new Date(p.getTime()-54e4),r={};for(let a=0;a<10;a++){let b=new Date(p.getTime()-(9-a)*6e4).getTime();r[b]={requests:0,promptTokens:0,completionTokens:0,cost:0},n.last10Minutes.push(r[b])}for(let a of b){let b=a.tokens?.prompt_tokens||0,c=a.tokens?.completion_tokens||0,d=new Date(a.timestamp),e=a.cost||0;if(n.totalPromptTokens+=b,n.totalCompletionTokens+=c,n.totalCost+=e,d>=q&&d<=o){let a=6e4*Math.floor(d.getTime()/6e4);r[a]&&(r[a].requests++,r[a].promptTokens+=b,r[a].completionTokens+=c,r[a].cost+=e)}n.byProvider[a.provider]||(n.byProvider[a.provider]={requests:0,promptTokens:0,completionTokens:0,cost:0}),n.byProvider[a.provider].requests++,n.byProvider[a.provider].promptTokens+=b,n.byProvider[a.provider].completionTokens+=c,n.byProvider[a.provider].cost+=e;let f=a.provider?`${a.model} (${a.provider})`:a.model,g=i[a.provider]||a.provider;if(n.byModel[f]||(n.byModel[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,lastUsed:a.timestamp}),n.byModel[f].requests++,n.byModel[f].promptTokens+=b,n.byModel[f].completionTokens+=c,n.byModel[f].cost+=e,new Date(a.timestamp)>new Date(n.byModel[f].lastUsed)&&(n.byModel[f].lastUsed=a.timestamp),a.connectionId){let d=h[a.connectionId]||`Account ${a.connectionId.slice(0,8)}...`,f=`${a.model} (${a.provider} - ${d})`;n.byAccount[f]||(n.byAccount[f]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,connectionId:a.connectionId,accountName:d,lastUsed:a.timestamp}),n.byAccount[f].requests++,n.byAccount[f].promptTokens+=b,n.byAccount[f].completionTokens+=c,n.byAccount[f].cost+=e,new Date(a.timestamp)>new Date(n.byAccount[f].lastUsed)&&(n.byAccount[f].lastUsed=a.timestamp)}if(a.apiKey&&"string"==typeof a.apiKey){let d=k[a.apiKey],f=d?.name||a.apiKey.slice(0,8)+"...",h=a.apiKey,i=`${h}|${a.model}|${a.provider||"unknown"}`;n.byApiKey[i]||(n.byApiKey[i]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKey:a.apiKey,keyName:f,apiKeyKey:h,lastUsed:a.timestamp});let j=n.byApiKey[i];j.requests++,j.promptTokens+=b,j.completionTokens+=c,j.cost+=e,new Date(a.timestamp)>new Date(j.lastUsed)&&(j.lastUsed=a.timestamp)}else{let d="local-no-key";n.byApiKey[d]||(n.byApiKey[d]={requests:0,promptTokens:0,completionTokens:0,cost:0,rawModel:a.model,provider:g,apiKey:null,keyName:"Local (No API Key)",apiKeyKey:d,lastUsed:a.timestamp});let f=n.byApiKey[d];f.requests++,f.promptTokens+=b,f.completionTokens+=c,f.cost+=e,new Date(a.timestamp)>new Date(f.lastUsed)&&(f.lastUsed=a.timestamp)}let j=a.endpoint||"Unknown",l=`${j}|${a.model}|${a.provider||"unknown"}`;n.byEndpoint[l]||(n.byEndpoint[l]={requests:0,promptTokens:0,completionTokens:0,cost:0,endpoint:j,rawModel:a.model,provider:g,lastUsed:a.timestamp});let m=n.byEndpoint[l];m.requests++,m.promptTokens+=b,m.completionTokens+=c,m.cost+=e,new Date(a.timestamp)>new Date(m.lastUsed)&&(m.lastUsed=a.timestamp)}return n}async function G(a="7d"){let b,c,d,e=(await z()).data.history||[],f=Date.now();"24h"===a?(b=24,c=36e5,d=a=>new Date(a).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1})):"7d"===a?(b=7,c=864e5,d=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"})):"30d"===a?(b=30,c=864e5,d=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"})):(b=60,c=864e5,d=a=>new Date(a).toLocaleDateString("en-US",{month:"short",day:"numeric"}));let g=f-b*c,h=Array.from({length:b},(a,b)=>{let e=g+b*c;return{label:d(e),tokens:0,cost:0,_ts:e}});for(let a of e){let d=new Date(a.timestamp).getTime();if(d<g||d>f)continue;let e=Math.min(Math.floor((d-g)/c),b-1),i=a.tokens?.prompt_tokens||0,j=a.tokens?.completion_tokens||0;h[e].tokens+=i+j,h[e].cost+=a.cost||0}return h.map(({label:a,tokens:b,cost:c})=>({label:a,tokens:b,cost:c}))}},90336:(a,b,c)=>{c.d(b,{SL:()=>B,ox:()=>z,yU:()=>w});var d=c(87550),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h),j=c(29021),k=c.n(j);let l="u">typeof caches||"object"==typeof caches;async function m(){try{let{getSettings:a}=await Promise.all([c.e(9718),c.e(4755)]).then(c.bind(c,89718)),b=await a(),d="false"!==process.env.OBSERVABILITY_ENABLED;return{enabled:"boolean"==typeof b.observabilityEnabled?b.observabilityEnabled:d,maxRecords:b.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||"1000",10),batchSize:b.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||"20",10),flushIntervalMs:b.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||"5000",10),maxJsonSize:1024*(b.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"1024",10))}}catch(a){return console.error("[requestDetailsDb] Failed to load observability config:",a),{enabled:!0,maxRecords:1e3,batchSize:20,flushIntervalMs:5e3,maxJsonSize:1048576}}}let n=null,o=0;async function p(){return(!n||Date.now()-o>5e3)&&(n=await m(),o=Date.now()),n}let q=null,r=function(){if(l)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;try{let a=process.platform,b=i().homedir(),c="9router";if("win32"===a)return g().join(process.env.APPDATA||g().join(b,"AppData","Roaming"),c);return g().join(b,`.${c}`)}catch(a){return console.error("[requestDetailsDb] Failed to get user data directory:",a.message),g().join(process.cwd(),".9router")}}(),s=l?null:g().join(r,"request-details.sqlite");if(!l&&k()&&"function"==typeof k().existsSync)try{k().existsSync(r)||k().mkdirSync(r,{recursive:!0})}catch(a){console.error("[requestDetailsDb] Failed to create data directory:",a.message)}let t=[],u=null,v=!1;async function w(){if(l)return q||(q={prepare:()=>({run:()=>{},get:()=>null,all:()=>[]}),exec:()=>{},pragma:()=>{}}),q;if(!q){let a=new(e())(s);a.pragma("journal_mode = WAL"),a.pragma("synchronous = NORMAL"),a.pragma("cache_size = -64000"),a.pragma("temp_store = MEMORY"),a.exec(`
3
3
  CREATE TABLE IF NOT EXISTS request_details (
4
4
  id TEXT PRIMARY KEY,
5
5
  provider TEXT,