@ltgiang/9router 0.5.25 → 0.5.26

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 (1425) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +11 -11
  3. package/app/.next-cli-build/build-manifest.json +3 -3
  4. package/app/.next-cli-build/prerender-manifest.json +3 -3
  5. package/app/.next-cli-build/required-server-files.json +4 -4
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
  34. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
  35. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  36. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
  37. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
  38. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  39. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
  40. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
  41. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
  43. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
  44. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  45. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
  46. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
  47. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  48. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
  49. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
  50. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  51. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
  52. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
  53. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  54. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
  55. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
  56. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  57. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
  58. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
  59. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  60. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +2 -2
  61. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
  62. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  63. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
  64. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
  65. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  66. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
  67. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
  68. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  69. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
  70. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
  71. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  72. package/app/.next-cli-build/server/app/_global-error/page.js +3 -3
  73. package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
  74. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  75. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  76. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  77. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  78. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  81. package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
  82. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/_not-found/page.js +2 -2
  84. package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
  85. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  86. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  87. package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
  88. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
  89. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +6 -6
  91. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  92. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  94. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  95. package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
  96. package/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
  97. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  98. package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
  99. package/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
  100. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  101. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
  102. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
  103. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  104. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
  105. package/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
  106. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  107. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
  108. package/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
  109. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js +1 -1
  110. package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
  111. package/app/.next-cli-build/server/app/api/auth/reset-password/route_client-reference-manifest.js +1 -1
  112. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  113. package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
  114. package/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
  115. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
  116. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
  117. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
  118. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  119. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
  120. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
  121. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  122. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
  123. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
  124. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  125. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
  126. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
  127. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  128. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
  129. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
  130. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  131. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
  132. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
  133. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  134. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
  135. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
  136. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
  137. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
  138. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
  139. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  140. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
  141. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
  142. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  143. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
  144. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
  145. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  146. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
  147. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
  148. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  149. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
  150. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
  151. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  152. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
  153. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
  154. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  155. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
  156. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
  157. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  158. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
  159. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
  160. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  161. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
  162. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
  163. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  164. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
  165. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
  166. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  167. package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
  168. package/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
  169. package/app/.next-cli-build/server/app/api/combos/reorder/route.js +1 -1
  170. package/app/.next-cli-build/server/app/api/combos/reorder/route.js.nft.json +1 -1
  171. package/app/.next-cli-build/server/app/api/combos/reorder/route_client-reference-manifest.js +1 -1
  172. package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
  173. package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
  174. package/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
  175. package/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
  176. package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
  177. package/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
  178. package/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
  179. package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
  180. package/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
  181. package/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
  182. package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
  183. package/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
  184. package/app/.next-cli-build/server/app/api/health/route.js +1 -1
  185. package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
  186. package/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
  187. package/app/.next-cli-build/server/app/api/init/route.js +1 -1
  188. package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
  189. package/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
  190. package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
  191. package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
  192. package/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
  193. package/app/.next-cli-build/server/app/api/keys/route.js +1 -1
  194. package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
  195. package/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
  196. package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
  197. package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
  198. package/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
  199. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
  200. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
  201. package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
  202. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
  203. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
  204. package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
  205. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
  206. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
  207. package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
  208. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
  209. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
  210. package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
  211. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
  212. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
  213. package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
  214. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
  215. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
  216. package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
  217. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
  218. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
  219. package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
  220. package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
  221. package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
  222. package/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
  223. package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
  224. package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
  225. package/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
  226. package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
  227. package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
  228. package/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
  229. package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
  230. package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
  231. package/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
  232. package/app/.next-cli-build/server/app/api/models/order/route.js +1 -1
  233. package/app/.next-cli-build/server/app/api/models/order/route.js.nft.json +1 -1
  234. package/app/.next-cli-build/server/app/api/models/order/route_client-reference-manifest.js +1 -1
  235. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  236. package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
  237. package/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
  238. package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
  239. package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
  240. package/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
  241. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
  242. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
  243. package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
  244. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
  245. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
  246. package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route_client-reference-manifest.js +1 -1
  247. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
  248. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
  249. package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
  250. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
  251. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
  252. package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
  253. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
  254. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
  255. package/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
  256. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
  257. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
  258. package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
  259. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
  260. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
  261. package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
  262. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
  263. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
  264. package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route_client-reference-manifest.js +1 -1
  265. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
  266. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
  267. package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
  268. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
  269. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
  270. package/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
  271. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
  272. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
  273. package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route_client-reference-manifest.js +1 -1
  274. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
  275. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
  276. package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
  277. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
  278. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
  279. package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
  280. package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
  281. package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
  282. package/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
  283. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
  284. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
  285. package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
  286. package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
  287. package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
  288. package/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
  289. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  290. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
  291. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
  292. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js +1 -1
  293. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route.js.nft.json +1 -1
  294. package/app/.next-cli-build/server/app/api/providers/[id]/connections/disabled/route_client-reference-manifest.js +1 -1
  295. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  296. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  297. package/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
  298. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js +1 -1
  299. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route.js.nft.json +1 -1
  300. package/app/.next-cli-build/server/app/api/providers/[id]/pool/pull/route_client-reference-manifest.js +1 -1
  301. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js +1 -1
  302. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route.js.nft.json +1 -1
  303. package/app/.next-cli-build/server/app/api/providers/[id]/pool/push/route_client-reference-manifest.js +1 -1
  304. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js +1 -1
  305. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route.js.nft.json +1 -1
  306. package/app/.next-cli-build/server/app/api/providers/[id]/pool/route_client-reference-manifest.js +1 -1
  307. package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
  308. package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
  309. package/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
  310. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
  311. package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
  312. package/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
  313. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
  314. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
  315. package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
  316. package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
  317. package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
  318. package/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
  319. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
  320. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
  321. package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
  322. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  323. package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
  324. package/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
  325. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
  326. package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
  327. package/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
  328. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
  329. package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
  330. package/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
  331. package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
  332. package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
  333. package/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
  334. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
  335. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
  336. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
  337. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
  338. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
  339. package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
  340. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
  341. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
  342. package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
  343. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
  344. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
  345. package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
  346. package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
  347. package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
  348. package/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
  349. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
  350. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
  351. package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
  352. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  353. package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
  354. package/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
  355. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
  356. package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
  357. package/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
  358. package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
  359. package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
  360. package/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
  361. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  362. package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
  363. package/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
  364. package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
  365. package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
  366. package/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
  367. package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
  368. package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
  369. package/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
  370. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  371. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
  372. package/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
  373. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
  374. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
  375. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
  376. package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
  377. package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
  378. package/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
  379. package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
  380. package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
  381. package/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
  382. package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
  383. package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
  384. package/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
  385. package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
  386. package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
  387. package/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
  388. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
  389. package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
  390. package/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
  391. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
  392. package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
  393. package/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
  394. package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
  395. package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
  396. package/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
  397. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
  398. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
  399. package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
  400. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
  401. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
  402. package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
  403. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
  404. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
  405. package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
  406. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
  407. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
  408. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
  409. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
  410. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
  411. package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route_client-reference-manifest.js +1 -1
  412. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
  413. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
  414. package/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
  415. package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
  416. package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
  417. package/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
  418. package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
  419. package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
  420. package/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
  421. package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
  422. package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
  423. package/app/.next-cli-build/server/app/api/usage/logs/route_client-reference-manifest.js +1 -1
  424. package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
  425. package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
  426. package/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
  427. package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
  428. package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
  429. package/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
  430. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
  431. package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
  432. package/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
  433. package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
  434. package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
  435. package/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
  436. package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
  437. package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
  438. package/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
  439. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
  440. package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
  441. package/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
  442. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  443. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  444. package/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
  445. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  446. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  447. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
  448. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
  449. package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
  450. package/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
  451. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
  452. package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  453. package/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
  454. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  455. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  456. package/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
  457. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  458. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  459. package/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
  460. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
  461. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
  462. package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
  463. package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
  464. package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
  465. package/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
  466. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
  467. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
  468. package/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
  469. package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
  470. package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
  471. package/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
  472. package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
  473. package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
  474. package/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
  475. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
  476. package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
  477. package/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
  478. package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
  479. package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
  480. package/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
  481. package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
  482. package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
  483. package/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
  484. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  485. package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
  486. package/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
  487. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  488. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
  489. package/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
  490. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
  491. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
  492. package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
  493. package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
  494. package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
  495. package/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
  496. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  497. package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
  498. package/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
  499. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  500. package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
  501. package/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
  502. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  503. package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
  504. package/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
  505. package/app/.next-cli-build/server/app/callback/page.js +2 -2
  506. package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
  507. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  508. package/app/.next-cli-build/server/app/callback.html +1 -1
  509. package/app/.next-cli-build/server/app/callback.rsc +7 -7
  510. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +7 -7
  511. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  512. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +6 -6
  513. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
  514. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
  515. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  516. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  517. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +9 -9
  518. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  519. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  520. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  521. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  522. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +9 -9
  523. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  524. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
  525. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
  526. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  527. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +10 -10
  528. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  529. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  530. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  531. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  532. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +10 -10
  533. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  534. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
  535. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
  536. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  537. package/app/.next-cli-build/server/app/dashboard/combos.rsc +9 -9
  538. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  539. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  540. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  541. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  542. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +9 -9
  543. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  544. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
  545. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
  546. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  547. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +10 -10
  548. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  549. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  550. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  551. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  552. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +10 -10
  553. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  554. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
  555. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
  556. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  557. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +9 -9
  558. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  559. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  560. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  561. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  562. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  563. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +9 -9
  564. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  565. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +6 -6
  566. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
  567. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  568. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +9 -9
  569. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  570. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  571. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  572. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  573. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +9 -9
  574. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  575. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
  576. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
  577. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  578. package/app/.next-cli-build/server/app/dashboard/profile.rsc +9 -9
  579. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  580. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  581. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  582. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  583. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +9 -9
  584. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  585. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
  586. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
  587. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  588. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +9 -9
  589. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  590. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  591. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  592. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  593. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  594. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +9 -9
  595. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  596. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
  597. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
  598. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  599. package/app/.next-cli-build/server/app/dashboard/providers.rsc +9 -9
  600. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  601. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  602. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  603. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  604. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +9 -9
  605. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  606. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
  607. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
  608. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  609. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +9 -9
  610. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  611. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  612. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  613. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  614. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +9 -9
  615. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  616. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
  617. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
  618. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  619. package/app/.next-cli-build/server/app/dashboard/quota.rsc +10 -10
  620. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  621. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  622. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  623. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  624. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +10 -10
  625. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  626. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
  627. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
  628. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
  629. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
  630. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  631. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  632. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
  633. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
  634. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  635. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
  636. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
  637. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
  638. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  639. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  640. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  641. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  642. package/app/.next-cli-build/server/app/dashboard/skills.rsc +9 -9
  643. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  644. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  645. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  646. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  647. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +9 -9
  648. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  649. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +6 -6
  650. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +4 -4
  651. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  652. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +9 -9
  653. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  654. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  655. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  656. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  657. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +9 -9
  658. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  659. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +6 -6
  660. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +4 -4
  661. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  662. package/app/.next-cli-build/server/app/dashboard/translator.rsc +9 -9
  663. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  664. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  665. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  666. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  667. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +9 -9
  668. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  669. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
  670. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
  671. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  672. package/app/.next-cli-build/server/app/dashboard/usage.rsc +9 -9
  673. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  674. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  675. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  676. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  677. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +9 -9
  678. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  679. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
  680. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
  681. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  682. package/app/.next-cli-build/server/app/dashboard.rsc +10 -10
  683. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  684. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  685. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
  686. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +10 -10
  687. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  688. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +6 -6
  689. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -4
  690. package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
  691. package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
  692. package/app/.next-cli-build/server/app/index.html +1 -1
  693. package/app/.next-cli-build/server/app/index.rsc +6 -6
  694. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  695. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
  696. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  697. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +6 -6
  698. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
  699. package/app/.next-cli-build/server/app/landing/page.js +2 -2
  700. package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
  701. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  702. package/app/.next-cli-build/server/app/landing.html +1 -1
  703. package/app/.next-cli-build/server/app/landing.rsc +7 -7
  704. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +7 -7
  705. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  706. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +6 -6
  707. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
  708. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
  709. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  710. package/app/.next-cli-build/server/app/login/page.js +2 -2
  711. package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
  712. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  713. package/app/.next-cli-build/server/app/login.html +1 -1
  714. package/app/.next-cli-build/server/app/login.rsc +8 -8
  715. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +8 -8
  716. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  717. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +6 -6
  718. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +4 -4
  719. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
  720. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  721. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
  722. package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
  723. package/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
  724. package/app/.next-cli-build/server/app/page.js +2 -2
  725. package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
  726. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  727. package/app/.next-cli-build/server/app-paths-manifest.json +11 -11
  728. package/app/.next-cli-build/server/chunks/1051.js +1 -1
  729. package/app/.next-cli-build/server/chunks/212.js +1 -1
  730. package/app/.next-cli-build/server/chunks/2231.js +1 -1
  731. package/app/.next-cli-build/server/chunks/318.js +13 -13
  732. package/app/.next-cli-build/server/chunks/319.js +3 -3
  733. package/app/.next-cli-build/server/chunks/3913.js +64 -0
  734. package/app/.next-cli-build/server/chunks/412.js +2 -2
  735. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  736. package/app/.next-cli-build/server/chunks/4746.js +1 -1
  737. package/app/.next-cli-build/server/chunks/4827.js +1 -1
  738. package/app/.next-cli-build/server/chunks/5082.js +1 -1
  739. package/app/.next-cli-build/server/chunks/5692.js +1 -0
  740. package/app/.next-cli-build/server/chunks/5852.js +2 -2
  741. package/app/.next-cli-build/server/chunks/5961.js +1 -1
  742. package/app/.next-cli-build/server/chunks/6070.js +1 -1
  743. package/app/.next-cli-build/server/chunks/6482.js +1 -1
  744. package/app/.next-cli-build/server/chunks/6568.js +3 -0
  745. package/app/.next-cli-build/server/chunks/7220.js +1 -1
  746. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  747. package/app/.next-cli-build/server/chunks/8271.js +1 -1
  748. package/app/.next-cli-build/server/chunks/8833.js +3 -3
  749. package/app/.next-cli-build/server/chunks/8895.js +11 -7
  750. package/app/.next-cli-build/server/chunks/8914.js +1 -0
  751. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  752. package/app/.next-cli-build/server/middleware.js +5 -5
  753. package/app/.next-cli-build/server/next-font-manifest.js +1 -1
  754. package/app/.next-cli-build/server/next-font-manifest.json +1 -1
  755. package/app/.next-cli-build/server/pages/404.html +1 -1
  756. package/app/.next-cli-build/server/pages/500.html +1 -1
  757. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  758. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  759. package/app/.next-cli-build/static/chunks/1051-080896ceff7ba88d.js +64 -0
  760. package/app/.next-cli-build/static/chunks/{1321-2e05f66829a808a0.js → 1321-5f160f287147cfbc.js} +1 -1
  761. package/app/.next-cli-build/static/chunks/1a258343-5938f676ed376386.js +1 -0
  762. package/app/.next-cli-build/static/chunks/5497-98a294643e6a188f.js +7 -0
  763. package/app/.next-cli-build/static/chunks/{7784-265a15eadd679bdc.js → 6502-a256ecf92ee18c14.js} +2 -2
  764. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-06cfd8a0cc5a862e.js +1 -0
  765. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-b329685fefc0d837.js +1 -0
  766. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-3b835fd92c5fd7cc.js +1 -0
  767. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-774e6d375a0d6f90.js +1 -0
  768. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-37a6ca20c5d9ea42.js +1 -0
  769. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-0b7d25d515c9ca63.js +1 -0
  770. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-d68cb371259802c9.js → page-397175b0e88b17d5.js} +1 -1
  771. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/{page-7459b843d657f2d3.js → page-2b25a9ecd8f5d67e.js} +1 -1
  772. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-487958212cd92c45.js → page-a68447cbbe0b4d32.js} +1 -1
  773. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-4137c1be03e8de9a.js +1 -0
  774. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-797101916aa47351.js → page-57a511825a72f0bb.js} +1 -1
  775. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-a46b712ba38477b6.js +1 -0
  776. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-a99707fd8256da4b.js +1 -0
  777. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-d85d31794fe3b38f.js → page-8f6d6250e69b319c.js} +2 -2
  778. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-f2eda137bc8e146b.js → page-b1786320b2ea6c1b.js} +1 -1
  779. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/{page-5ff67d74a24a6256.js → page-4c05d914bacb5ba6.js} +1 -1
  780. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-0f2f03b57f31bac2.js → page-8d9ae17d68ca8e29.js} +2 -2
  781. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/{page-b51357d291487f2e.js → page-2a28c22c6cc8259b.js} +1 -1
  782. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-cfd9d00011014599.js +1 -0
  783. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-5482ad01fc7fbb06.js +1 -0
  784. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-3f1f26e8c957d2a6.js +1 -0
  785. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-831825418265fe8b.js +1 -0
  786. package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-e74f0a0d9c9cec73.js → layout-9e4b8c7d3e1c387a.js} +1 -1
  787. package/app/.next-cli-build/static/chunks/app/_not-found/{page-5b7961cf7eeec8c2.js → page-e4d84f64a8c852f7.js} +1 -1
  788. package/app/.next-cli-build/static/chunks/app/callback/page-e8c2598af60dacf3.js +1 -0
  789. package/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/{page-af91b33b144badc9.js → page-83b1cb18661ea4f7.js} +1 -1
  790. package/app/.next-cli-build/static/chunks/app/landing/{page-e9702e315a419701.js → page-34fb5bf37abde153.js} +1 -1
  791. package/app/.next-cli-build/static/chunks/app/{layout-70c637ccaa3f6ede.js → layout-ad10b603c07438f2.js} +1 -1
  792. package/app/.next-cli-build/static/chunks/app/login/{page-9ea942c9628e5ad8.js → page-da97996a4cd7ef55.js} +1 -1
  793. package/app/.next-cli-build/static/chunks/{main-app-bc058b5e1f4a8632.js → main-app-3057ce86fdd7f7ab.js} +1 -1
  794. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-9e6846bb98322e86.js +1 -0
  795. package/app/.next-cli-build/static/css/{008a05b0ad6b854a.css → 599369d853c61df7.css} +1 -1
  796. package/app/.next-cli-build/static/css/{8f9ac5a7bd3a79e5.css → 88fb3376e840da30.css} +1 -1
  797. package/app/.next-cli-build/static/css/8e306e0644a8f5f7.css +1 -0
  798. package/app/.next-cli-build/static/media/material-symbols-outlined.50fdf095.woff2 +0 -0
  799. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.13-to-0.5.14-0.5.14-20260628-194704 → upgrade-0.5.18-to-0.5.19-0.5.19-20260630-120550}/data.sqlite +0 -0
  800. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.14-to-0.5.17-0.5.17-20260629-185837 → upgrade-0.5.19-to-0.5.20-0.5.20-20260630-145650}/data.sqlite +0 -0
  801. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.17-to-0.5.23-0.5.23-20260701-005348 → upgrade-0.5.20-to-0.5.21-0.5.21-20260630-174438}/data.sqlite +0 -0
  802. package/app/cli/.build-home/.9router/db/backups/{upgrade-0.5.23-to-0.5.24-0.5.24-20260701-011344 → upgrade-0.5.21-to-0.5.22-0.5.22-20260630-180928}/data.sqlite +0 -0
  803. package/app/cli/.build-home/.9router/db/data.sqlite +0 -0
  804. package/app/cli/.build-home/.9router/jwt-secret +1 -1
  805. package/app/cli/.build-home/.9router/machine-id +1 -1
  806. package/app/cli/.build-home/.config/nextjs-nodejs/config.json +3 -3
  807. package/app/node_modules/baseline-browser-mapping/dist/index.cjs +1 -1
  808. package/app/node_modules/baseline-browser-mapping/package.json +3 -3
  809. package/app/node_modules/caniuse-lite/data/agents.js +1 -1
  810. package/app/node_modules/caniuse-lite/data/browserVersions.js +1 -1
  811. package/app/node_modules/caniuse-lite/data/features/aac.js +1 -1
  812. package/app/node_modules/caniuse-lite/data/features/abortcontroller.js +1 -1
  813. package/app/node_modules/caniuse-lite/data/features/ac3-ec3.js +1 -1
  814. package/app/node_modules/caniuse-lite/data/features/accelerometer.js +1 -1
  815. package/app/node_modules/caniuse-lite/data/features/addeventlistener.js +1 -1
  816. package/app/node_modules/caniuse-lite/data/features/alternate-stylesheet.js +1 -1
  817. package/app/node_modules/caniuse-lite/data/features/ambient-light.js +1 -1
  818. package/app/node_modules/caniuse-lite/data/features/apng.js +1 -1
  819. package/app/node_modules/caniuse-lite/data/features/array-find-index.js +1 -1
  820. package/app/node_modules/caniuse-lite/data/features/array-find.js +1 -1
  821. package/app/node_modules/caniuse-lite/data/features/array-flat.js +1 -1
  822. package/app/node_modules/caniuse-lite/data/features/array-includes.js +1 -1
  823. package/app/node_modules/caniuse-lite/data/features/arrow-functions.js +1 -1
  824. package/app/node_modules/caniuse-lite/data/features/asmjs.js +1 -1
  825. package/app/node_modules/caniuse-lite/data/features/async-clipboard.js +1 -1
  826. package/app/node_modules/caniuse-lite/data/features/async-functions.js +1 -1
  827. package/app/node_modules/caniuse-lite/data/features/atob-btoa.js +1 -1
  828. package/app/node_modules/caniuse-lite/data/features/audio-api.js +1 -1
  829. package/app/node_modules/caniuse-lite/data/features/audio.js +1 -1
  830. package/app/node_modules/caniuse-lite/data/features/audiotracks.js +1 -1
  831. package/app/node_modules/caniuse-lite/data/features/autofocus.js +1 -1
  832. package/app/node_modules/caniuse-lite/data/features/auxclick.js +1 -1
  833. package/app/node_modules/caniuse-lite/data/features/av1.js +1 -1
  834. package/app/node_modules/caniuse-lite/data/features/avif.js +1 -1
  835. package/app/node_modules/caniuse-lite/data/features/background-attachment.js +1 -1
  836. package/app/node_modules/caniuse-lite/data/features/background-clip-text.js +1 -1
  837. package/app/node_modules/caniuse-lite/data/features/background-img-opts.js +1 -1
  838. package/app/node_modules/caniuse-lite/data/features/background-position-x-y.js +1 -1
  839. package/app/node_modules/caniuse-lite/data/features/background-repeat-round-space.js +1 -1
  840. package/app/node_modules/caniuse-lite/data/features/background-sync.js +1 -1
  841. package/app/node_modules/caniuse-lite/data/features/battery-status.js +1 -1
  842. package/app/node_modules/caniuse-lite/data/features/beacon.js +1 -1
  843. package/app/node_modules/caniuse-lite/data/features/beforeafterprint.js +1 -1
  844. package/app/node_modules/caniuse-lite/data/features/bigint.js +1 -1
  845. package/app/node_modules/caniuse-lite/data/features/blobbuilder.js +1 -1
  846. package/app/node_modules/caniuse-lite/data/features/bloburls.js +1 -1
  847. package/app/node_modules/caniuse-lite/data/features/border-image.js +1 -1
  848. package/app/node_modules/caniuse-lite/data/features/border-radius.js +1 -1
  849. package/app/node_modules/caniuse-lite/data/features/broadcastchannel.js +1 -1
  850. package/app/node_modules/caniuse-lite/data/features/brotli.js +1 -1
  851. package/app/node_modules/caniuse-lite/data/features/calc.js +1 -1
  852. package/app/node_modules/caniuse-lite/data/features/canvas-blending.js +1 -1
  853. package/app/node_modules/caniuse-lite/data/features/canvas-text.js +1 -1
  854. package/app/node_modules/caniuse-lite/data/features/canvas.js +1 -1
  855. package/app/node_modules/caniuse-lite/data/features/ch-unit.js +1 -1
  856. package/app/node_modules/caniuse-lite/data/features/chacha20-poly1305.js +1 -1
  857. package/app/node_modules/caniuse-lite/data/features/channel-messaging.js +1 -1
  858. package/app/node_modules/caniuse-lite/data/features/childnode-remove.js +1 -1
  859. package/app/node_modules/caniuse-lite/data/features/classlist.js +1 -1
  860. package/app/node_modules/caniuse-lite/data/features/client-hints-dpr-width-viewport.js +1 -1
  861. package/app/node_modules/caniuse-lite/data/features/clipboard.js +1 -1
  862. package/app/node_modules/caniuse-lite/data/features/colr-v1.js +1 -1
  863. package/app/node_modules/caniuse-lite/data/features/colr.js +1 -1
  864. package/app/node_modules/caniuse-lite/data/features/comparedocumentposition.js +1 -1
  865. package/app/node_modules/caniuse-lite/data/features/console-basic.js +1 -1
  866. package/app/node_modules/caniuse-lite/data/features/console-time.js +1 -1
  867. package/app/node_modules/caniuse-lite/data/features/const.js +1 -1
  868. package/app/node_modules/caniuse-lite/data/features/constraint-validation.js +1 -1
  869. package/app/node_modules/caniuse-lite/data/features/contenteditable.js +1 -1
  870. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy.js +1 -1
  871. package/app/node_modules/caniuse-lite/data/features/contentsecuritypolicy2.js +1 -1
  872. package/app/node_modules/caniuse-lite/data/features/cookie-store-api.js +1 -1
  873. package/app/node_modules/caniuse-lite/data/features/cors.js +1 -1
  874. package/app/node_modules/caniuse-lite/data/features/createimagebitmap.js +1 -1
  875. package/app/node_modules/caniuse-lite/data/features/credential-management.js +1 -1
  876. package/app/node_modules/caniuse-lite/data/features/cross-document-view-transitions.js +1 -1
  877. package/app/node_modules/caniuse-lite/data/features/cryptography.js +1 -1
  878. package/app/node_modules/caniuse-lite/data/features/css-all.js +1 -1
  879. package/app/node_modules/caniuse-lite/data/features/css-anchor-positioning.js +1 -1
  880. package/app/node_modules/caniuse-lite/data/features/css-animation.js +1 -1
  881. package/app/node_modules/caniuse-lite/data/features/css-any-link.js +1 -1
  882. package/app/node_modules/caniuse-lite/data/features/css-appearance.js +1 -1
  883. package/app/node_modules/caniuse-lite/data/features/css-at-counter-style.js +1 -1
  884. package/app/node_modules/caniuse-lite/data/features/css-autofill.js +1 -1
  885. package/app/node_modules/caniuse-lite/data/features/css-backdrop-filter.js +1 -1
  886. package/app/node_modules/caniuse-lite/data/features/css-background-offsets.js +1 -1
  887. package/app/node_modules/caniuse-lite/data/features/css-backgroundblendmode.js +1 -1
  888. package/app/node_modules/caniuse-lite/data/features/css-boxdecorationbreak.js +1 -1
  889. package/app/node_modules/caniuse-lite/data/features/css-boxshadow.js +1 -1
  890. package/app/node_modules/caniuse-lite/data/features/css-canvas.js +1 -1
  891. package/app/node_modules/caniuse-lite/data/features/css-caret-color.js +1 -1
  892. package/app/node_modules/caniuse-lite/data/features/css-cascade-layers.js +1 -1
  893. package/app/node_modules/caniuse-lite/data/features/css-cascade-scope.js +1 -1
  894. package/app/node_modules/caniuse-lite/data/features/css-case-insensitive.js +1 -1
  895. package/app/node_modules/caniuse-lite/data/features/css-clip-path.js +1 -1
  896. package/app/node_modules/caniuse-lite/data/features/css-color-adjust.js +1 -1
  897. package/app/node_modules/caniuse-lite/data/features/css-color-function.js +1 -1
  898. package/app/node_modules/caniuse-lite/data/features/css-conic-gradients.js +1 -1
  899. package/app/node_modules/caniuse-lite/data/features/css-container-queries-style.js +1 -1
  900. package/app/node_modules/caniuse-lite/data/features/css-container-queries.js +1 -1
  901. package/app/node_modules/caniuse-lite/data/features/css-container-query-units.js +1 -1
  902. package/app/node_modules/caniuse-lite/data/features/css-containment.js +1 -1
  903. package/app/node_modules/caniuse-lite/data/features/css-content-visibility.js +1 -1
  904. package/app/node_modules/caniuse-lite/data/features/css-counters.js +1 -1
  905. package/app/node_modules/caniuse-lite/data/features/css-crisp-edges.js +1 -1
  906. package/app/node_modules/caniuse-lite/data/features/css-cross-fade.js +1 -1
  907. package/app/node_modules/caniuse-lite/data/features/css-default-pseudo.js +1 -1
  908. package/app/node_modules/caniuse-lite/data/features/css-descendant-gtgt.js +1 -1
  909. package/app/node_modules/caniuse-lite/data/features/css-deviceadaptation.js +1 -1
  910. package/app/node_modules/caniuse-lite/data/features/css-dir-pseudo.js +1 -1
  911. package/app/node_modules/caniuse-lite/data/features/css-display-contents.js +1 -1
  912. package/app/node_modules/caniuse-lite/data/features/css-element-function.js +1 -1
  913. package/app/node_modules/caniuse-lite/data/features/css-env-function.js +1 -1
  914. package/app/node_modules/caniuse-lite/data/features/css-exclusions.js +1 -1
  915. package/app/node_modules/caniuse-lite/data/features/css-featurequeries.js +1 -1
  916. package/app/node_modules/caniuse-lite/data/features/css-file-selector-button.js +1 -1
  917. package/app/node_modules/caniuse-lite/data/features/css-filter-function.js +1 -1
  918. package/app/node_modules/caniuse-lite/data/features/css-filters.js +1 -1
  919. package/app/node_modules/caniuse-lite/data/features/css-first-letter.js +1 -1
  920. package/app/node_modules/caniuse-lite/data/features/css-first-line.js +1 -1
  921. package/app/node_modules/caniuse-lite/data/features/css-fixed.js +1 -1
  922. package/app/node_modules/caniuse-lite/data/features/css-focus-visible.js +1 -1
  923. package/app/node_modules/caniuse-lite/data/features/css-focus-within.js +1 -1
  924. package/app/node_modules/caniuse-lite/data/features/css-font-palette.js +1 -1
  925. package/app/node_modules/caniuse-lite/data/features/css-font-rendering-controls.js +1 -1
  926. package/app/node_modules/caniuse-lite/data/features/css-font-stretch.js +1 -1
  927. package/app/node_modules/caniuse-lite/data/features/css-gencontent.js +1 -1
  928. package/app/node_modules/caniuse-lite/data/features/css-gradients.js +1 -1
  929. package/app/node_modules/caniuse-lite/data/features/css-grid-animation.js +1 -1
  930. package/app/node_modules/caniuse-lite/data/features/css-grid-lanes.js +1 -1
  931. package/app/node_modules/caniuse-lite/data/features/css-grid.js +1 -1
  932. package/app/node_modules/caniuse-lite/data/features/css-hanging-punctuation.js +1 -1
  933. package/app/node_modules/caniuse-lite/data/features/css-has.js +1 -1
  934. package/app/node_modules/caniuse-lite/data/features/css-hyphens.js +1 -1
  935. package/app/node_modules/caniuse-lite/data/features/css-if.js +1 -1
  936. package/app/node_modules/caniuse-lite/data/features/css-image-orientation.js +1 -1
  937. package/app/node_modules/caniuse-lite/data/features/css-image-set.js +1 -1
  938. package/app/node_modules/caniuse-lite/data/features/css-in-out-of-range.js +1 -1
  939. package/app/node_modules/caniuse-lite/data/features/css-indeterminate-pseudo.js +1 -1
  940. package/app/node_modules/caniuse-lite/data/features/css-initial-letter.js +1 -1
  941. package/app/node_modules/caniuse-lite/data/features/css-initial-value.js +1 -1
  942. package/app/node_modules/caniuse-lite/data/features/css-lch-lab.js +1 -1
  943. package/app/node_modules/caniuse-lite/data/features/css-letter-spacing.js +1 -1
  944. package/app/node_modules/caniuse-lite/data/features/css-line-clamp.js +1 -1
  945. package/app/node_modules/caniuse-lite/data/features/css-logical-props.js +1 -1
  946. package/app/node_modules/caniuse-lite/data/features/css-marker-pseudo.js +1 -1
  947. package/app/node_modules/caniuse-lite/data/features/css-masks.js +1 -1
  948. package/app/node_modules/caniuse-lite/data/features/css-matches-pseudo.js +1 -1
  949. package/app/node_modules/caniuse-lite/data/features/css-math-functions.js +1 -1
  950. package/app/node_modules/caniuse-lite/data/features/css-media-interaction.js +1 -1
  951. package/app/node_modules/caniuse-lite/data/features/css-media-range-syntax.js +1 -1
  952. package/app/node_modules/caniuse-lite/data/features/css-media-resolution.js +1 -1
  953. package/app/node_modules/caniuse-lite/data/features/css-media-scripting.js +1 -1
  954. package/app/node_modules/caniuse-lite/data/features/css-mediaqueries.js +1 -1
  955. package/app/node_modules/caniuse-lite/data/features/css-mixblendmode.js +1 -1
  956. package/app/node_modules/caniuse-lite/data/features/css-module-scripts.js +1 -1
  957. package/app/node_modules/caniuse-lite/data/features/css-motion-paths.js +1 -1
  958. package/app/node_modules/caniuse-lite/data/features/css-namespaces.js +1 -1
  959. package/app/node_modules/caniuse-lite/data/features/css-nesting.js +1 -1
  960. package/app/node_modules/caniuse-lite/data/features/css-not-sel-list.js +1 -1
  961. package/app/node_modules/caniuse-lite/data/features/css-nth-child-of.js +1 -1
  962. package/app/node_modules/caniuse-lite/data/features/css-opacity.js +1 -1
  963. package/app/node_modules/caniuse-lite/data/features/css-optional-pseudo.js +1 -1
  964. package/app/node_modules/caniuse-lite/data/features/css-overflow-anchor.js +1 -1
  965. package/app/node_modules/caniuse-lite/data/features/css-overflow-overlay.js +1 -1
  966. package/app/node_modules/caniuse-lite/data/features/css-overflow.js +1 -1
  967. package/app/node_modules/caniuse-lite/data/features/css-overscroll-behavior.js +1 -1
  968. package/app/node_modules/caniuse-lite/data/features/css-page-break.js +1 -1
  969. package/app/node_modules/caniuse-lite/data/features/css-paged-media.js +1 -1
  970. package/app/node_modules/caniuse-lite/data/features/css-paint-api.js +1 -1
  971. package/app/node_modules/caniuse-lite/data/features/css-placeholder-shown.js +1 -1
  972. package/app/node_modules/caniuse-lite/data/features/css-placeholder.js +1 -1
  973. package/app/node_modules/caniuse-lite/data/features/css-print-color-adjust.js +1 -1
  974. package/app/node_modules/caniuse-lite/data/features/css-read-only-write.js +1 -1
  975. package/app/node_modules/caniuse-lite/data/features/css-rebeccapurple.js +1 -1
  976. package/app/node_modules/caniuse-lite/data/features/css-reflections.js +1 -1
  977. package/app/node_modules/caniuse-lite/data/features/css-regions.js +1 -1
  978. package/app/node_modules/caniuse-lite/data/features/css-relative-colors.js +1 -1
  979. package/app/node_modules/caniuse-lite/data/features/css-repeating-gradients.js +1 -1
  980. package/app/node_modules/caniuse-lite/data/features/css-resize.js +1 -1
  981. package/app/node_modules/caniuse-lite/data/features/css-revert-value.js +1 -1
  982. package/app/node_modules/caniuse-lite/data/features/css-rrggbbaa.js +1 -1
  983. package/app/node_modules/caniuse-lite/data/features/css-scroll-behavior.js +1 -1
  984. package/app/node_modules/caniuse-lite/data/features/css-scrollbar.js +1 -1
  985. package/app/node_modules/caniuse-lite/data/features/css-sel2.js +1 -1
  986. package/app/node_modules/caniuse-lite/data/features/css-sel3.js +1 -1
  987. package/app/node_modules/caniuse-lite/data/features/css-selection.js +1 -1
  988. package/app/node_modules/caniuse-lite/data/features/css-shapes.js +1 -1
  989. package/app/node_modules/caniuse-lite/data/features/css-snappoints.js +1 -1
  990. package/app/node_modules/caniuse-lite/data/features/css-sticky.js +1 -1
  991. package/app/node_modules/caniuse-lite/data/features/css-subgrid.js +1 -1
  992. package/app/node_modules/caniuse-lite/data/features/css-supports-api.js +1 -1
  993. package/app/node_modules/caniuse-lite/data/features/css-table.js +1 -1
  994. package/app/node_modules/caniuse-lite/data/features/css-text-align-last.js +1 -1
  995. package/app/node_modules/caniuse-lite/data/features/css-text-box-trim.js +1 -1
  996. package/app/node_modules/caniuse-lite/data/features/css-text-indent.js +1 -1
  997. package/app/node_modules/caniuse-lite/data/features/css-text-justify.js +1 -1
  998. package/app/node_modules/caniuse-lite/data/features/css-text-orientation.js +1 -1
  999. package/app/node_modules/caniuse-lite/data/features/css-text-spacing.js +1 -1
  1000. package/app/node_modules/caniuse-lite/data/features/css-text-wrap-balance.js +1 -1
  1001. package/app/node_modules/caniuse-lite/data/features/css-textshadow.js +1 -1
  1002. package/app/node_modules/caniuse-lite/data/features/css-touch-action.js +1 -1
  1003. package/app/node_modules/caniuse-lite/data/features/css-transitions.js +1 -1
  1004. package/app/node_modules/caniuse-lite/data/features/css-unicode-bidi.js +1 -1
  1005. package/app/node_modules/caniuse-lite/data/features/css-unset-value.js +1 -1
  1006. package/app/node_modules/caniuse-lite/data/features/css-variables.js +1 -1
  1007. package/app/node_modules/caniuse-lite/data/features/css-when-else.js +1 -1
  1008. package/app/node_modules/caniuse-lite/data/features/css-widows-orphans.js +1 -1
  1009. package/app/node_modules/caniuse-lite/data/features/css-width-stretch.js +1 -1
  1010. package/app/node_modules/caniuse-lite/data/features/css-writing-mode.js +1 -1
  1011. package/app/node_modules/caniuse-lite/data/features/css-zoom.js +1 -1
  1012. package/app/node_modules/caniuse-lite/data/features/css3-attr.js +1 -1
  1013. package/app/node_modules/caniuse-lite/data/features/css3-boxsizing.js +1 -1
  1014. package/app/node_modules/caniuse-lite/data/features/css3-colors.js +1 -1
  1015. package/app/node_modules/caniuse-lite/data/features/css3-cursors-grab.js +1 -1
  1016. package/app/node_modules/caniuse-lite/data/features/css3-cursors-newer.js +1 -1
  1017. package/app/node_modules/caniuse-lite/data/features/css3-cursors.js +1 -1
  1018. package/app/node_modules/caniuse-lite/data/features/css3-tabsize.js +1 -1
  1019. package/app/node_modules/caniuse-lite/data/features/currentcolor.js +1 -1
  1020. package/app/node_modules/caniuse-lite/data/features/custom-elements.js +1 -1
  1021. package/app/node_modules/caniuse-lite/data/features/custom-elementsv1.js +1 -1
  1022. package/app/node_modules/caniuse-lite/data/features/customevent.js +1 -1
  1023. package/app/node_modules/caniuse-lite/data/features/customizable-select.js +1 -1
  1024. package/app/node_modules/caniuse-lite/data/features/datalist.js +1 -1
  1025. package/app/node_modules/caniuse-lite/data/features/dataset.js +1 -1
  1026. package/app/node_modules/caniuse-lite/data/features/datauri.js +1 -1
  1027. package/app/node_modules/caniuse-lite/data/features/date-tolocaledatestring.js +1 -1
  1028. package/app/node_modules/caniuse-lite/data/features/declarative-shadow-dom.js +1 -1
  1029. package/app/node_modules/caniuse-lite/data/features/decorators.js +1 -1
  1030. package/app/node_modules/caniuse-lite/data/features/details.js +1 -1
  1031. package/app/node_modules/caniuse-lite/data/features/deviceorientation.js +1 -1
  1032. package/app/node_modules/caniuse-lite/data/features/devicepixelratio.js +1 -1
  1033. package/app/node_modules/caniuse-lite/data/features/dialog.js +1 -1
  1034. package/app/node_modules/caniuse-lite/data/features/dispatchevent.js +1 -1
  1035. package/app/node_modules/caniuse-lite/data/features/dnssec.js +1 -1
  1036. package/app/node_modules/caniuse-lite/data/features/do-not-track.js +1 -1
  1037. package/app/node_modules/caniuse-lite/data/features/document-currentscript.js +1 -1
  1038. package/app/node_modules/caniuse-lite/data/features/document-evaluate-xpath.js +1 -1
  1039. package/app/node_modules/caniuse-lite/data/features/document-execcommand.js +1 -1
  1040. package/app/node_modules/caniuse-lite/data/features/document-policy.js +1 -1
  1041. package/app/node_modules/caniuse-lite/data/features/document-scrollingelement.js +1 -1
  1042. package/app/node_modules/caniuse-lite/data/features/documenthead.js +1 -1
  1043. package/app/node_modules/caniuse-lite/data/features/dom-manip-convenience.js +1 -1
  1044. package/app/node_modules/caniuse-lite/data/features/dom-range.js +1 -1
  1045. package/app/node_modules/caniuse-lite/data/features/domcontentloaded.js +1 -1
  1046. package/app/node_modules/caniuse-lite/data/features/dommatrix.js +1 -1
  1047. package/app/node_modules/caniuse-lite/data/features/download.js +1 -1
  1048. package/app/node_modules/caniuse-lite/data/features/dragndrop.js +1 -1
  1049. package/app/node_modules/caniuse-lite/data/features/element-closest.js +1 -1
  1050. package/app/node_modules/caniuse-lite/data/features/element-from-point.js +1 -1
  1051. package/app/node_modules/caniuse-lite/data/features/element-scroll-methods.js +1 -1
  1052. package/app/node_modules/caniuse-lite/data/features/eme.js +1 -1
  1053. package/app/node_modules/caniuse-lite/data/features/eot.js +1 -1
  1054. package/app/node_modules/caniuse-lite/data/features/es5.js +1 -1
  1055. package/app/node_modules/caniuse-lite/data/features/es6-class.js +1 -1
  1056. package/app/node_modules/caniuse-lite/data/features/es6-generators.js +1 -1
  1057. package/app/node_modules/caniuse-lite/data/features/es6-module-dynamic-import.js +1 -1
  1058. package/app/node_modules/caniuse-lite/data/features/es6-module.js +1 -1
  1059. package/app/node_modules/caniuse-lite/data/features/es6-number.js +1 -1
  1060. package/app/node_modules/caniuse-lite/data/features/es6-string-includes.js +1 -1
  1061. package/app/node_modules/caniuse-lite/data/features/es6.js +1 -1
  1062. package/app/node_modules/caniuse-lite/data/features/eventsource.js +1 -1
  1063. package/app/node_modules/caniuse-lite/data/features/extended-system-fonts.js +1 -1
  1064. package/app/node_modules/caniuse-lite/data/features/feature-policy.js +1 -1
  1065. package/app/node_modules/caniuse-lite/data/features/fetch.js +1 -1
  1066. package/app/node_modules/caniuse-lite/data/features/fieldset-disabled.js +1 -1
  1067. package/app/node_modules/caniuse-lite/data/features/fileapi.js +1 -1
  1068. package/app/node_modules/caniuse-lite/data/features/filereader.js +1 -1
  1069. package/app/node_modules/caniuse-lite/data/features/filereadersync.js +1 -1
  1070. package/app/node_modules/caniuse-lite/data/features/filesystem.js +1 -1
  1071. package/app/node_modules/caniuse-lite/data/features/flac.js +1 -1
  1072. package/app/node_modules/caniuse-lite/data/features/flexbox-gap.js +1 -1
  1073. package/app/node_modules/caniuse-lite/data/features/flexbox.js +1 -1
  1074. package/app/node_modules/caniuse-lite/data/features/flow-root.js +1 -1
  1075. package/app/node_modules/caniuse-lite/data/features/focusin-focusout-events.js +1 -1
  1076. package/app/node_modules/caniuse-lite/data/features/font-family-system-ui.js +1 -1
  1077. package/app/node_modules/caniuse-lite/data/features/font-feature.js +1 -1
  1078. package/app/node_modules/caniuse-lite/data/features/font-kerning.js +1 -1
  1079. package/app/node_modules/caniuse-lite/data/features/font-loading.js +1 -1
  1080. package/app/node_modules/caniuse-lite/data/features/font-size-adjust.js +1 -1
  1081. package/app/node_modules/caniuse-lite/data/features/font-smooth.js +1 -1
  1082. package/app/node_modules/caniuse-lite/data/features/font-unicode-range.js +1 -1
  1083. package/app/node_modules/caniuse-lite/data/features/font-variant-alternates.js +1 -1
  1084. package/app/node_modules/caniuse-lite/data/features/font-variant-numeric.js +1 -1
  1085. package/app/node_modules/caniuse-lite/data/features/fontface.js +1 -1
  1086. package/app/node_modules/caniuse-lite/data/features/form-attribute.js +1 -1
  1087. package/app/node_modules/caniuse-lite/data/features/form-submit-attributes.js +1 -1
  1088. package/app/node_modules/caniuse-lite/data/features/form-validation.js +1 -1
  1089. package/app/node_modules/caniuse-lite/data/features/forms.js +1 -1
  1090. package/app/node_modules/caniuse-lite/data/features/fullscreen.js +1 -1
  1091. package/app/node_modules/caniuse-lite/data/features/gamepad.js +1 -1
  1092. package/app/node_modules/caniuse-lite/data/features/geolocation.js +1 -1
  1093. package/app/node_modules/caniuse-lite/data/features/getboundingclientrect.js +1 -1
  1094. package/app/node_modules/caniuse-lite/data/features/getcomputedstyle.js +1 -1
  1095. package/app/node_modules/caniuse-lite/data/features/getelementsbyclassname.js +1 -1
  1096. package/app/node_modules/caniuse-lite/data/features/getrandomvalues.js +1 -1
  1097. package/app/node_modules/caniuse-lite/data/features/gyroscope.js +1 -1
  1098. package/app/node_modules/caniuse-lite/data/features/hardwareconcurrency.js +1 -1
  1099. package/app/node_modules/caniuse-lite/data/features/hashchange.js +1 -1
  1100. package/app/node_modules/caniuse-lite/data/features/heif.js +1 -1
  1101. package/app/node_modules/caniuse-lite/data/features/hevc.js +1 -1
  1102. package/app/node_modules/caniuse-lite/data/features/hidden.js +1 -1
  1103. package/app/node_modules/caniuse-lite/data/features/high-resolution-time.js +1 -1
  1104. package/app/node_modules/caniuse-lite/data/features/history.js +1 -1
  1105. package/app/node_modules/caniuse-lite/data/features/html-media-capture.js +1 -1
  1106. package/app/node_modules/caniuse-lite/data/features/html5semantic.js +1 -1
  1107. package/app/node_modules/caniuse-lite/data/features/http-live-streaming.js +1 -1
  1108. package/app/node_modules/caniuse-lite/data/features/http2.js +1 -1
  1109. package/app/node_modules/caniuse-lite/data/features/http3.js +1 -1
  1110. package/app/node_modules/caniuse-lite/data/features/iframe-sandbox.js +1 -1
  1111. package/app/node_modules/caniuse-lite/data/features/iframe-seamless.js +1 -1
  1112. package/app/node_modules/caniuse-lite/data/features/iframe-srcdoc.js +1 -1
  1113. package/app/node_modules/caniuse-lite/data/features/imagecapture.js +1 -1
  1114. package/app/node_modules/caniuse-lite/data/features/ime.js +1 -1
  1115. package/app/node_modules/caniuse-lite/data/features/img-naturalwidth-naturalheight.js +1 -1
  1116. package/app/node_modules/caniuse-lite/data/features/import-maps.js +1 -1
  1117. package/app/node_modules/caniuse-lite/data/features/imports.js +1 -1
  1118. package/app/node_modules/caniuse-lite/data/features/indeterminate-checkbox.js +1 -1
  1119. package/app/node_modules/caniuse-lite/data/features/indexeddb.js +1 -1
  1120. package/app/node_modules/caniuse-lite/data/features/indexeddb2.js +1 -1
  1121. package/app/node_modules/caniuse-lite/data/features/inline-block.js +1 -1
  1122. package/app/node_modules/caniuse-lite/data/features/innertext.js +1 -1
  1123. package/app/node_modules/caniuse-lite/data/features/input-autocomplete-onoff.js +1 -1
  1124. package/app/node_modules/caniuse-lite/data/features/input-color.js +1 -1
  1125. package/app/node_modules/caniuse-lite/data/features/input-datetime.js +1 -1
  1126. package/app/node_modules/caniuse-lite/data/features/input-email-tel-url.js +1 -1
  1127. package/app/node_modules/caniuse-lite/data/features/input-event.js +1 -1
  1128. package/app/node_modules/caniuse-lite/data/features/input-file-accept.js +1 -1
  1129. package/app/node_modules/caniuse-lite/data/features/input-file-directory.js +1 -1
  1130. package/app/node_modules/caniuse-lite/data/features/input-file-multiple.js +1 -1
  1131. package/app/node_modules/caniuse-lite/data/features/input-inputmode.js +1 -1
  1132. package/app/node_modules/caniuse-lite/data/features/input-minlength.js +1 -1
  1133. package/app/node_modules/caniuse-lite/data/features/input-number.js +1 -1
  1134. package/app/node_modules/caniuse-lite/data/features/input-pattern.js +1 -1
  1135. package/app/node_modules/caniuse-lite/data/features/input-placeholder.js +1 -1
  1136. package/app/node_modules/caniuse-lite/data/features/input-range.js +1 -1
  1137. package/app/node_modules/caniuse-lite/data/features/input-search.js +1 -1
  1138. package/app/node_modules/caniuse-lite/data/features/input-selection.js +1 -1
  1139. package/app/node_modules/caniuse-lite/data/features/insert-adjacent.js +1 -1
  1140. package/app/node_modules/caniuse-lite/data/features/insertadjacenthtml.js +1 -1
  1141. package/app/node_modules/caniuse-lite/data/features/internationalization.js +1 -1
  1142. package/app/node_modules/caniuse-lite/data/features/intersectionobserver-v2.js +1 -1
  1143. package/app/node_modules/caniuse-lite/data/features/intersectionobserver.js +1 -1
  1144. package/app/node_modules/caniuse-lite/data/features/intl-pluralrules.js +1 -1
  1145. package/app/node_modules/caniuse-lite/data/features/intrinsic-width.js +1 -1
  1146. package/app/node_modules/caniuse-lite/data/features/jpeg2000.js +1 -1
  1147. package/app/node_modules/caniuse-lite/data/features/jpegxl.js +1 -1
  1148. package/app/node_modules/caniuse-lite/data/features/jpegxr.js +1 -1
  1149. package/app/node_modules/caniuse-lite/data/features/js-regexp-lookbehind.js +1 -1
  1150. package/app/node_modules/caniuse-lite/data/features/json.js +1 -1
  1151. package/app/node_modules/caniuse-lite/data/features/justify-content-space-evenly.js +1 -1
  1152. package/app/node_modules/caniuse-lite/data/features/kerning-pairs-ligatures.js +1 -1
  1153. package/app/node_modules/caniuse-lite/data/features/keyboardevent-charcode.js +1 -1
  1154. package/app/node_modules/caniuse-lite/data/features/keyboardevent-code.js +1 -1
  1155. package/app/node_modules/caniuse-lite/data/features/keyboardevent-getmodifierstate.js +1 -1
  1156. package/app/node_modules/caniuse-lite/data/features/keyboardevent-key.js +1 -1
  1157. package/app/node_modules/caniuse-lite/data/features/keyboardevent-location.js +1 -1
  1158. package/app/node_modules/caniuse-lite/data/features/keyboardevent-which.js +1 -1
  1159. package/app/node_modules/caniuse-lite/data/features/lazyload.js +1 -1
  1160. package/app/node_modules/caniuse-lite/data/features/let.js +1 -1
  1161. package/app/node_modules/caniuse-lite/data/features/link-icon-png.js +1 -1
  1162. package/app/node_modules/caniuse-lite/data/features/link-icon-svg.js +1 -1
  1163. package/app/node_modules/caniuse-lite/data/features/link-rel-dns-prefetch.js +1 -1
  1164. package/app/node_modules/caniuse-lite/data/features/link-rel-modulepreload.js +1 -1
  1165. package/app/node_modules/caniuse-lite/data/features/link-rel-preconnect.js +1 -1
  1166. package/app/node_modules/caniuse-lite/data/features/link-rel-prefetch.js +1 -1
  1167. package/app/node_modules/caniuse-lite/data/features/link-rel-preload.js +1 -1
  1168. package/app/node_modules/caniuse-lite/data/features/link-rel-prerender.js +1 -1
  1169. package/app/node_modules/caniuse-lite/data/features/loading-lazy-attr.js +1 -1
  1170. package/app/node_modules/caniuse-lite/data/features/loading-lazy-media.js +1 -1
  1171. package/app/node_modules/caniuse-lite/data/features/localecompare.js +1 -1
  1172. package/app/node_modules/caniuse-lite/data/features/magnetometer.js +1 -1
  1173. package/app/node_modules/caniuse-lite/data/features/matchesselector.js +1 -1
  1174. package/app/node_modules/caniuse-lite/data/features/matchmedia.js +1 -1
  1175. package/app/node_modules/caniuse-lite/data/features/mathml.js +1 -1
  1176. package/app/node_modules/caniuse-lite/data/features/maxlength.js +1 -1
  1177. package/app/node_modules/caniuse-lite/data/features/mdn-css-backdrop-pseudo-element.js +1 -1
  1178. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate-override.js +1 -1
  1179. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-isolate.js +1 -1
  1180. package/app/node_modules/caniuse-lite/data/features/mdn-css-unicode-bidi-plaintext.js +1 -1
  1181. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-color.js +1 -1
  1182. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-line.js +1 -1
  1183. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-shorthand.js +1 -1
  1184. package/app/node_modules/caniuse-lite/data/features/mdn-text-decoration-style.js +1 -1
  1185. package/app/node_modules/caniuse-lite/data/features/media-fragments.js +1 -1
  1186. package/app/node_modules/caniuse-lite/data/features/mediacapture-fromelement.js +1 -1
  1187. package/app/node_modules/caniuse-lite/data/features/mediarecorder.js +1 -1
  1188. package/app/node_modules/caniuse-lite/data/features/mediasource.js +1 -1
  1189. package/app/node_modules/caniuse-lite/data/features/menu.js +1 -1
  1190. package/app/node_modules/caniuse-lite/data/features/meta-theme-color.js +1 -1
  1191. package/app/node_modules/caniuse-lite/data/features/meter.js +1 -1
  1192. package/app/node_modules/caniuse-lite/data/features/midi.js +1 -1
  1193. package/app/node_modules/caniuse-lite/data/features/minmaxwh.js +1 -1
  1194. package/app/node_modules/caniuse-lite/data/features/mp3.js +1 -1
  1195. package/app/node_modules/caniuse-lite/data/features/mpeg-dash.js +1 -1
  1196. package/app/node_modules/caniuse-lite/data/features/mpeg4.js +1 -1
  1197. package/app/node_modules/caniuse-lite/data/features/multibackgrounds.js +1 -1
  1198. package/app/node_modules/caniuse-lite/data/features/multicolumn.js +1 -1
  1199. package/app/node_modules/caniuse-lite/data/features/mutation-events.js +1 -1
  1200. package/app/node_modules/caniuse-lite/data/features/mutationobserver.js +1 -1
  1201. package/app/node_modules/caniuse-lite/data/features/namevalue-storage.js +1 -1
  1202. package/app/node_modules/caniuse-lite/data/features/native-filesystem-api.js +1 -1
  1203. package/app/node_modules/caniuse-lite/data/features/nav-timing.js +1 -1
  1204. package/app/node_modules/caniuse-lite/data/features/netinfo.js +1 -1
  1205. package/app/node_modules/caniuse-lite/data/features/notifications.js +1 -1
  1206. package/app/node_modules/caniuse-lite/data/features/object-entries.js +1 -1
  1207. package/app/node_modules/caniuse-lite/data/features/object-fit.js +1 -1
  1208. package/app/node_modules/caniuse-lite/data/features/object-observe.js +1 -1
  1209. package/app/node_modules/caniuse-lite/data/features/object-values.js +1 -1
  1210. package/app/node_modules/caniuse-lite/data/features/objectrtc.js +1 -1
  1211. package/app/node_modules/caniuse-lite/data/features/offline-apps.js +1 -1
  1212. package/app/node_modules/caniuse-lite/data/features/offscreencanvas.js +1 -1
  1213. package/app/node_modules/caniuse-lite/data/features/ogg-vorbis.js +1 -1
  1214. package/app/node_modules/caniuse-lite/data/features/ogv.js +1 -1
  1215. package/app/node_modules/caniuse-lite/data/features/ol-reversed.js +1 -1
  1216. package/app/node_modules/caniuse-lite/data/features/once-event-listener.js +1 -1
  1217. package/app/node_modules/caniuse-lite/data/features/online-status.js +1 -1
  1218. package/app/node_modules/caniuse-lite/data/features/opus.js +1 -1
  1219. package/app/node_modules/caniuse-lite/data/features/orientation-sensor.js +1 -1
  1220. package/app/node_modules/caniuse-lite/data/features/outline.js +1 -1
  1221. package/app/node_modules/caniuse-lite/data/features/pad-start-end.js +1 -1
  1222. package/app/node_modules/caniuse-lite/data/features/page-transition-events.js +1 -1
  1223. package/app/node_modules/caniuse-lite/data/features/pagevisibility.js +1 -1
  1224. package/app/node_modules/caniuse-lite/data/features/passive-event-listener.js +1 -1
  1225. package/app/node_modules/caniuse-lite/data/features/passkeys.js +1 -1
  1226. package/app/node_modules/caniuse-lite/data/features/passwordrules.js +1 -1
  1227. package/app/node_modules/caniuse-lite/data/features/path2d.js +1 -1
  1228. package/app/node_modules/caniuse-lite/data/features/payment-request.js +1 -1
  1229. package/app/node_modules/caniuse-lite/data/features/pdf-viewer.js +1 -1
  1230. package/app/node_modules/caniuse-lite/data/features/permissions-api.js +1 -1
  1231. package/app/node_modules/caniuse-lite/data/features/permissions-policy.js +1 -1
  1232. package/app/node_modules/caniuse-lite/data/features/picture-in-picture.js +1 -1
  1233. package/app/node_modules/caniuse-lite/data/features/picture.js +1 -1
  1234. package/app/node_modules/caniuse-lite/data/features/ping.js +1 -1
  1235. package/app/node_modules/caniuse-lite/data/features/png-alpha.js +1 -1
  1236. package/app/node_modules/caniuse-lite/data/features/pointer-events.js +1 -1
  1237. package/app/node_modules/caniuse-lite/data/features/pointer.js +1 -1
  1238. package/app/node_modules/caniuse-lite/data/features/pointerlock.js +1 -1
  1239. package/app/node_modules/caniuse-lite/data/features/portals.js +1 -1
  1240. package/app/node_modules/caniuse-lite/data/features/prefers-color-scheme.js +1 -1
  1241. package/app/node_modules/caniuse-lite/data/features/prefers-reduced-motion.js +1 -1
  1242. package/app/node_modules/caniuse-lite/data/features/progress.js +1 -1
  1243. package/app/node_modules/caniuse-lite/data/features/promise-finally.js +1 -1
  1244. package/app/node_modules/caniuse-lite/data/features/promises.js +1 -1
  1245. package/app/node_modules/caniuse-lite/data/features/proximity.js +1 -1
  1246. package/app/node_modules/caniuse-lite/data/features/proxy.js +1 -1
  1247. package/app/node_modules/caniuse-lite/data/features/publickeypinning.js +1 -1
  1248. package/app/node_modules/caniuse-lite/data/features/push-api.js +1 -1
  1249. package/app/node_modules/caniuse-lite/data/features/queryselector.js +1 -1
  1250. package/app/node_modules/caniuse-lite/data/features/readonly-attr.js +1 -1
  1251. package/app/node_modules/caniuse-lite/data/features/referrer-policy.js +1 -1
  1252. package/app/node_modules/caniuse-lite/data/features/registerprotocolhandler.js +1 -1
  1253. package/app/node_modules/caniuse-lite/data/features/rel-noopener.js +1 -1
  1254. package/app/node_modules/caniuse-lite/data/features/rel-noreferrer.js +1 -1
  1255. package/app/node_modules/caniuse-lite/data/features/rellist.js +1 -1
  1256. package/app/node_modules/caniuse-lite/data/features/rem.js +1 -1
  1257. package/app/node_modules/caniuse-lite/data/features/requestanimationframe.js +1 -1
  1258. package/app/node_modules/caniuse-lite/data/features/requestidlecallback.js +1 -1
  1259. package/app/node_modules/caniuse-lite/data/features/resizeobserver.js +1 -1
  1260. package/app/node_modules/caniuse-lite/data/features/resource-timing.js +1 -1
  1261. package/app/node_modules/caniuse-lite/data/features/rest-parameters.js +1 -1
  1262. package/app/node_modules/caniuse-lite/data/features/rtcpeerconnection.js +1 -1
  1263. package/app/node_modules/caniuse-lite/data/features/ruby.js +1 -1
  1264. package/app/node_modules/caniuse-lite/data/features/run-in.js +1 -1
  1265. package/app/node_modules/caniuse-lite/data/features/same-site-cookie-attribute.js +1 -1
  1266. package/app/node_modules/caniuse-lite/data/features/screen-orientation.js +1 -1
  1267. package/app/node_modules/caniuse-lite/data/features/script-async.js +1 -1
  1268. package/app/node_modules/caniuse-lite/data/features/script-defer.js +1 -1
  1269. package/app/node_modules/caniuse-lite/data/features/scrollintoview.js +1 -1
  1270. package/app/node_modules/caniuse-lite/data/features/scrollintoviewifneeded.js +1 -1
  1271. package/app/node_modules/caniuse-lite/data/features/sdch.js +1 -1
  1272. package/app/node_modules/caniuse-lite/data/features/selection-api.js +1 -1
  1273. package/app/node_modules/caniuse-lite/data/features/server-timing.js +1 -1
  1274. package/app/node_modules/caniuse-lite/data/features/serviceworkers.js +1 -1
  1275. package/app/node_modules/caniuse-lite/data/features/setimmediate.js +1 -1
  1276. package/app/node_modules/caniuse-lite/data/features/shadowdom.js +1 -1
  1277. package/app/node_modules/caniuse-lite/data/features/shadowdomv1.js +1 -1
  1278. package/app/node_modules/caniuse-lite/data/features/sharedarraybuffer.js +1 -1
  1279. package/app/node_modules/caniuse-lite/data/features/sharedworkers.js +1 -1
  1280. package/app/node_modules/caniuse-lite/data/features/sni.js +1 -1
  1281. package/app/node_modules/caniuse-lite/data/features/spdy.js +1 -1
  1282. package/app/node_modules/caniuse-lite/data/features/speech-recognition.js +1 -1
  1283. package/app/node_modules/caniuse-lite/data/features/speech-synthesis.js +1 -1
  1284. package/app/node_modules/caniuse-lite/data/features/spellcheck-attribute.js +1 -1
  1285. package/app/node_modules/caniuse-lite/data/features/sql-storage.js +1 -1
  1286. package/app/node_modules/caniuse-lite/data/features/srcset.js +1 -1
  1287. package/app/node_modules/caniuse-lite/data/features/stream.js +1 -1
  1288. package/app/node_modules/caniuse-lite/data/features/streams.js +1 -1
  1289. package/app/node_modules/caniuse-lite/data/features/stricttransportsecurity.js +1 -1
  1290. package/app/node_modules/caniuse-lite/data/features/style-scoped.js +1 -1
  1291. package/app/node_modules/caniuse-lite/data/features/subresource-bundling.js +1 -1
  1292. package/app/node_modules/caniuse-lite/data/features/subresource-integrity.js +1 -1
  1293. package/app/node_modules/caniuse-lite/data/features/svg-css.js +1 -1
  1294. package/app/node_modules/caniuse-lite/data/features/svg-filters.js +1 -1
  1295. package/app/node_modules/caniuse-lite/data/features/svg-fonts.js +1 -1
  1296. package/app/node_modules/caniuse-lite/data/features/svg-fragment.js +1 -1
  1297. package/app/node_modules/caniuse-lite/data/features/svg-html.js +1 -1
  1298. package/app/node_modules/caniuse-lite/data/features/svg-html5.js +1 -1
  1299. package/app/node_modules/caniuse-lite/data/features/svg-img.js +1 -1
  1300. package/app/node_modules/caniuse-lite/data/features/svg-smil.js +1 -1
  1301. package/app/node_modules/caniuse-lite/data/features/svg.js +1 -1
  1302. package/app/node_modules/caniuse-lite/data/features/sxg.js +1 -1
  1303. package/app/node_modules/caniuse-lite/data/features/tabindex-attr.js +1 -1
  1304. package/app/node_modules/caniuse-lite/data/features/template-literals.js +1 -1
  1305. package/app/node_modules/caniuse-lite/data/features/template.js +1 -1
  1306. package/app/node_modules/caniuse-lite/data/features/temporal.js +1 -1
  1307. package/app/node_modules/caniuse-lite/data/features/testfeat.js +1 -1
  1308. package/app/node_modules/caniuse-lite/data/features/text-decoration.js +1 -1
  1309. package/app/node_modules/caniuse-lite/data/features/text-emphasis.js +1 -1
  1310. package/app/node_modules/caniuse-lite/data/features/text-overflow.js +1 -1
  1311. package/app/node_modules/caniuse-lite/data/features/text-size-adjust.js +1 -1
  1312. package/app/node_modules/caniuse-lite/data/features/text-stroke.js +1 -1
  1313. package/app/node_modules/caniuse-lite/data/features/textcontent.js +1 -1
  1314. package/app/node_modules/caniuse-lite/data/features/textencoder.js +1 -1
  1315. package/app/node_modules/caniuse-lite/data/features/tls1-1.js +1 -1
  1316. package/app/node_modules/caniuse-lite/data/features/tls1-2.js +1 -1
  1317. package/app/node_modules/caniuse-lite/data/features/tls1-3.js +1 -1
  1318. package/app/node_modules/caniuse-lite/data/features/touch.js +1 -1
  1319. package/app/node_modules/caniuse-lite/data/features/transforms2d.js +1 -1
  1320. package/app/node_modules/caniuse-lite/data/features/transforms3d.js +1 -1
  1321. package/app/node_modules/caniuse-lite/data/features/trusted-types.js +1 -1
  1322. package/app/node_modules/caniuse-lite/data/features/ttf.js +1 -1
  1323. package/app/node_modules/caniuse-lite/data/features/typedarrays.js +1 -1
  1324. package/app/node_modules/caniuse-lite/data/features/u2f.js +1 -1
  1325. package/app/node_modules/caniuse-lite/data/features/unhandledrejection.js +1 -1
  1326. package/app/node_modules/caniuse-lite/data/features/upgradeinsecurerequests.js +1 -1
  1327. package/app/node_modules/caniuse-lite/data/features/url-scroll-to-text-fragment.js +1 -1
  1328. package/app/node_modules/caniuse-lite/data/features/url.js +1 -1
  1329. package/app/node_modules/caniuse-lite/data/features/urlsearchparams.js +1 -1
  1330. package/app/node_modules/caniuse-lite/data/features/use-strict.js +1 -1
  1331. package/app/node_modules/caniuse-lite/data/features/user-select-none.js +1 -1
  1332. package/app/node_modules/caniuse-lite/data/features/user-timing.js +1 -1
  1333. package/app/node_modules/caniuse-lite/data/features/variable-fonts.js +1 -1
  1334. package/app/node_modules/caniuse-lite/data/features/vector-effect.js +1 -1
  1335. package/app/node_modules/caniuse-lite/data/features/vibration.js +1 -1
  1336. package/app/node_modules/caniuse-lite/data/features/video.js +1 -1
  1337. package/app/node_modules/caniuse-lite/data/features/videotracks.js +1 -1
  1338. package/app/node_modules/caniuse-lite/data/features/view-transitions.js +1 -1
  1339. package/app/node_modules/caniuse-lite/data/features/viewport-unit-variants.js +1 -1
  1340. package/app/node_modules/caniuse-lite/data/features/viewport-units.js +1 -1
  1341. package/app/node_modules/caniuse-lite/data/features/wai-aria.js +1 -1
  1342. package/app/node_modules/caniuse-lite/data/features/wake-lock.js +1 -1
  1343. package/app/node_modules/caniuse-lite/data/features/wasm-bigint.js +1 -1
  1344. package/app/node_modules/caniuse-lite/data/features/wasm-bulk-memory.js +1 -1
  1345. package/app/node_modules/caniuse-lite/data/features/wasm-extended-const.js +1 -1
  1346. package/app/node_modules/caniuse-lite/data/features/wasm-gc.js +1 -1
  1347. package/app/node_modules/caniuse-lite/data/features/wasm-multi-memory.js +1 -1
  1348. package/app/node_modules/caniuse-lite/data/features/wasm-multi-value.js +1 -1
  1349. package/app/node_modules/caniuse-lite/data/features/wasm-mutable-globals.js +1 -1
  1350. package/app/node_modules/caniuse-lite/data/features/wasm-nontrapping-fptoint.js +1 -1
  1351. package/app/node_modules/caniuse-lite/data/features/wasm-reference-types.js +1 -1
  1352. package/app/node_modules/caniuse-lite/data/features/wasm-relaxed-simd.js +1 -1
  1353. package/app/node_modules/caniuse-lite/data/features/wasm-signext.js +1 -1
  1354. package/app/node_modules/caniuse-lite/data/features/wasm-simd.js +1 -1
  1355. package/app/node_modules/caniuse-lite/data/features/wasm-tail-calls.js +1 -1
  1356. package/app/node_modules/caniuse-lite/data/features/wasm-threads.js +1 -1
  1357. package/app/node_modules/caniuse-lite/data/features/wasm.js +1 -1
  1358. package/app/node_modules/caniuse-lite/data/features/wav.js +1 -1
  1359. package/app/node_modules/caniuse-lite/data/features/wbr-element.js +1 -1
  1360. package/app/node_modules/caniuse-lite/data/features/web-animation.js +1 -1
  1361. package/app/node_modules/caniuse-lite/data/features/web-app-manifest.js +1 -1
  1362. package/app/node_modules/caniuse-lite/data/features/web-bluetooth.js +1 -1
  1363. package/app/node_modules/caniuse-lite/data/features/web-serial.js +1 -1
  1364. package/app/node_modules/caniuse-lite/data/features/web-share.js +1 -1
  1365. package/app/node_modules/caniuse-lite/data/features/webauthn.js +1 -1
  1366. package/app/node_modules/caniuse-lite/data/features/webcodecs.js +1 -1
  1367. package/app/node_modules/caniuse-lite/data/features/webgl.js +1 -1
  1368. package/app/node_modules/caniuse-lite/data/features/webgl2.js +1 -1
  1369. package/app/node_modules/caniuse-lite/data/features/webgpu.js +1 -1
  1370. package/app/node_modules/caniuse-lite/data/features/webhid.js +1 -1
  1371. package/app/node_modules/caniuse-lite/data/features/webkit-user-drag.js +1 -1
  1372. package/app/node_modules/caniuse-lite/data/features/webm.js +1 -1
  1373. package/app/node_modules/caniuse-lite/data/features/webnfc.js +1 -1
  1374. package/app/node_modules/caniuse-lite/data/features/webp.js +1 -1
  1375. package/app/node_modules/caniuse-lite/data/features/websockets.js +1 -1
  1376. package/app/node_modules/caniuse-lite/data/features/webtransport.js +1 -1
  1377. package/app/node_modules/caniuse-lite/data/features/webusb.js +1 -1
  1378. package/app/node_modules/caniuse-lite/data/features/webvr.js +1 -1
  1379. package/app/node_modules/caniuse-lite/data/features/webvtt.js +1 -1
  1380. package/app/node_modules/caniuse-lite/data/features/webworkers.js +1 -1
  1381. package/app/node_modules/caniuse-lite/data/features/webxr.js +1 -1
  1382. package/app/node_modules/caniuse-lite/data/features/will-change.js +1 -1
  1383. package/app/node_modules/caniuse-lite/data/features/woff.js +1 -1
  1384. package/app/node_modules/caniuse-lite/data/features/woff2.js +1 -1
  1385. package/app/node_modules/caniuse-lite/data/features/word-break.js +1 -1
  1386. package/app/node_modules/caniuse-lite/data/features/wordwrap.js +1 -1
  1387. package/app/node_modules/caniuse-lite/data/features/x-doc-messaging.js +1 -1
  1388. package/app/node_modules/caniuse-lite/data/features/x-frame-options.js +1 -1
  1389. package/app/node_modules/caniuse-lite/data/features/xhr2.js +1 -1
  1390. package/app/node_modules/caniuse-lite/data/features/xhtml.js +1 -1
  1391. package/app/node_modules/caniuse-lite/data/features/xhtmlsmil.js +1 -1
  1392. package/app/node_modules/caniuse-lite/data/features/xml-serializer.js +1 -1
  1393. package/app/node_modules/caniuse-lite/data/features/zstd.js +1 -1
  1394. package/app/node_modules/caniuse-lite/package.json +1 -1
  1395. package/app/node_modules/nanoid/non-secure/index.cjs +10 -0
  1396. package/app/node_modules/nanoid/package.json +1 -1
  1397. package/app/package.json +1 -1
  1398. package/app/server.js +1 -1
  1399. package/package.json +1 -1
  1400. package/app/.next-cli-build/server/chunks/1315.js +0 -64
  1401. package/app/.next-cli-build/server/chunks/260.js +0 -1
  1402. package/app/.next-cli-build/server/chunks/7248.js +0 -3
  1403. package/app/.next-cli-build/server/chunks/9350.js +0 -1
  1404. package/app/.next-cli-build/static/chunks/1a258343-1aa1820b9db68d51.js +0 -1
  1405. package/app/.next-cli-build/static/chunks/3807-460da912ae27731f.js +0 -64
  1406. package/app/.next-cli-build/static/chunks/5497-5c2a4e8c9f6b5339.js +0 -7
  1407. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-34ca4e62572e698d.js +0 -1
  1408. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-de896f949e4db0a5.js +0 -1
  1409. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/page-92479cb56b307663.js +0 -1
  1410. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-c2349580aa9b9430.js +0 -1
  1411. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-ee26499f5039ddf4.js +0 -1
  1412. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-037703dc965abed1.js +0 -1
  1413. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/page-d69ecce859cd7454.js +0 -1
  1414. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-a2ccd01e7798869c.js +0 -1
  1415. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-693cf10831316638.js +0 -1
  1416. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-e3890a44492370b7.js +0 -1
  1417. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-8939090f4358b4bd.js +0 -1
  1418. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-854c277a8364d017.js +0 -1
  1419. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-430c6ce20faf59b3.js +0 -1
  1420. package/app/.next-cli-build/static/chunks/app/callback/page-0aea66cf6ec64b5c.js +0 -1
  1421. package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-957f3d80a84331d4.js +0 -1
  1422. package/app/.next-cli-build/static/css/1d9e5727cd295362.css +0 -1
  1423. package/app/.next-cli-build/static/media/material-symbols-outlined.ec1fa111.woff2 +0 -0
  1424. /package/app/.next-cli-build/static/{pGQbn0t8ov3BiKpWA6bem → dE_mWEpkugRo1MPJQBacP}/_buildManifest.js +0 -0
  1425. /package/app/.next-cli-build/static/{pGQbn0t8ov3BiKpWA6bem → dE_mWEpkugRo1MPJQBacP}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- exports.id=6482,exports.ids=[6482],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},5439:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(13973),g=c(41659),h=c(31797),i=c(71544),j=c(89964),k=c(77165),l=c(66796),m=c(47929),n=c(62018),o=c(23101),p=c(37525),q=c(95491);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},7904:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},10684:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},16764:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/@next/third-parties/dist/ThirdPartyScriptEmbed.js")},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},19148:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAnalytics=void 0;let f=e(c(96780)),g=c(81052);b.GoogleAnalytics=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},20349:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/@next/third-parties/dist/google/ga.js")},23101:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},23315:(a,b)=>{"use strict";function c(a){return a.replace(/\\/g,"/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathSep",{enumerable:!0,get:function(){return c}})},27196:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},28559:a=>{"use strict";a.exports=JSON.parse('{"id":"youtube-embed","description":"Embed a YouTube embed on your webpage.","website":"https://github.com/paulirish/lite-youtube-embed","html":{"element":"lite-youtube","attributes":{"videoid":null,"playlabel":null}},"stylesheets":["https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.css"],"scripts":[{"url":"https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.js","strategy":"idle","location":"head","action":"append"}]}')},31383:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},31797:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(47929),g=c(32107),h=c(31383),i=c(77165),j=c(93646);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},31935:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/@next/third-parties/dist/google/gtm.js")},33071:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/giang/work/9router/node_modules/next/dist/client/script.js")},35687:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleMapsEmbed=void 0;let f=e(c(39235)),g=c(81052);b.GoogleMapsEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},36497:()=>{},39235:a=>{"use strict";a.exports=JSON.parse('{"id":"google-maps-embed","description":"Embed a Google Maps embed on your webpage","website":"https://developers.google.com/maps/documentation/embed/get-started","html":{"element":"iframe","attributes":{"loading":"lazy","src":{"url":"https://www.google.com/maps/embed/v1/place","slugParam":"mode","params":["key","q","center","zoom","maptype","language","region"]},"referrerpolicy":"no-referrer-when-downgrade","frameborder":"0","style":"border:0","allowfullscreen":true,"width":null,"height":null}}}')},40862:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={cancelIdleCallback:function(){return f},requestIdleCallback:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(a){let b=Date.now();return self.setTimeout(function(){a({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-b))}})},1)},f="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(a){return clearTimeout(a)};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41659:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(27196);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},47300:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{apiKey:b,...c}=a,d={...c,key:b},{html:h}=(0,f.GoogleMapsEmbed)(d);return(0,e.jsx)(g.default,{height:d.height||null,width:d.width||null,html:h,dataNtpc:"GoogleMapsEmbed"})};let e=c(5735),f=c(93166),g=d(c(16764))},54718:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e.a});var d=c(90929),e=c.n(d),f={};for(let a in d)"default"!==a&&(f[a]=()=>d[a]);c.d(b,f)},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},59537:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.sendGAEvent=b.GoogleAnalytics=b.sendGTMEvent=b.GoogleTagManager=b.YouTubeEmbed=b.GoogleMapsEmbed=void 0;var e=c(47300);Object.defineProperty(b,"GoogleMapsEmbed",{enumerable:!0,get:function(){return d(e).default}});var f=c(73992);Object.defineProperty(b,"YouTubeEmbed",{enumerable:!0,get:function(){return d(f).default}});var g=c(31935);Object.defineProperty(b,"GoogleTagManager",{enumerable:!0,get:function(){return g.GoogleTagManager}}),Object.defineProperty(b,"sendGTMEvent",{enumerable:!0,get:function(){return g.sendGTMEvent}});var h=c(20349);Object.defineProperty(b,"GoogleAnalytics",{enumerable:!0,get:function(){return h.GoogleAnalytics}}),Object.defineProperty(b,"sendGAEvent",{enumerable:!0,get:function(){return h.sendGAEvent}})},60002:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"setAttributesFromProps",{enumerable:!0,get:function(){return f}});let c={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},d=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function e(a){return["async","defer","noModule"].includes(a)}function f(a,b){for(let[f,g]of Object.entries(b)){if(!b.hasOwnProperty(f)||d.includes(f)||void 0===g)continue;let h=c[f]||f.toLowerCase();"SCRIPT"===a.tagName&&e(h)?a[h]=!!g:a.setAttribute(h,String(g)),(!1===g||"SCRIPT"===a.tagName&&e(h)&&(!g||"false"===g))&&(a.setAttribute(h,""),a.removeAttribute(h))}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},63419:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.YouTubeEmbed=void 0;let f=e(c(28559)),g=c(81052);b.YouTubeEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},68097:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(9787),e=c(49286);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},69566:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ESCAPE_REGEX:function(){return f},htmlEscapeAttributeString:function(){return j},htmlEscapeJsonString:function(){return i}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},f=/[&><\u2028\u2029]/g,g={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},h=/[&"'<>]/g;function i(a){return a.replace(f,a=>e[a])}function j(a){return a.replace(h,a=>g[a])}},71544:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(16433),e=c(89151);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},73992:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{html:b,scripts:c,stylesheets:d}=(0,g.YouTubeEmbed)(a);return(0,e.jsx)(h.default,{height:a.height||null,width:a.width||null,html:b,dataNtpc:"YouTubeEmbed",children:null==c?void 0:c.map(a=>(0,e.jsx)(f.default,{src:a.url,strategy:i[a.strategy],stylesheets:d},a.url))})};let e=c(5735),f=d(c(93968)),g=c(93166),h=d(c(16764)),i={server:"beforeInteractive",client:"afterInteractive",idle:"lazyOnload",worker:"worker"}},74281:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),b.sendGTMEvent=void 0,b.GoogleTagManager=function(a){let{gtmId:b,gtmScriptUrl:c,dataLayerName:d="dataLayer",auth:i,preview:j,dataLayer:k,nonce:l}=a;h=d;let m=new URL(c||"https://www.googletagmanager.com/gtm.js");return b&&m.searchParams.set("id",b),"dataLayer"!==d&&m.searchParams.set("l",d),i&&m.searchParams.set("gtm_auth",i),j&&(m.searchParams.set("gtm_preview",j),m.searchParams.set("gtm_cookies_win","x")),(0,f.useEffect)(()=>{performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-gtm"}})},[]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g.default,{id:"_next-gtm-init",dangerouslySetInnerHTML:{__html:`
1
+ exports.id=6482,exports.ids=[6482],exports.modules={300:(a,b,c)=>{"use strict";c.d(b,{Zr:()=>e});let d=a=>b=>{try{let c=a(b);if(c instanceof Promise)return c;return{then:a=>d(a)(c),catch(a){return this}}}catch(a){return{then(a){return this},catch:b=>d(b)(a)}}},e=(a,b)=>(c,e,f)=>{let g,h={storage:function(a){let b;try{b=a()}catch(a){return}return{getItem:a=>{var c;let d=a=>null===a?null:JSON.parse(a,void 0),e=null!=(c=b.getItem(a))?c:null;return e instanceof Promise?e.then(d):d(e)},setItem:(a,c)=>b.setItem(a,JSON.stringify(c,void 0)),removeItem:a=>b.removeItem(a)}}(()=>window.localStorage),partialize:a=>a,version:0,merge:(a,b)=>({...b,...a}),...b},i=!1,j=0,k=new Set,l=new Set,m=h.storage;if(!m)return a((...a)=>{console.warn(`[zustand persist middleware] Unable to update item '${h.name}', the given storage is currently unavailable.`),c(...a)},e,f);let n=()=>{let a=h.partialize({...e()});return m.setItem(h.name,{state:a,version:h.version})},o=f.setState;f.setState=(a,b)=>(o(a,b),n());let p=a((...a)=>(c(...a),n()),e,f);f.getInitialState=()=>p;let q=()=>{var a,b;if(!m)return;let f=++j;i=!1,k.forEach(a=>{var b;return a(null!=(b=e())?b:p)});let o=(null==(b=h.onRehydrateStorage)?void 0:b.call(h,null!=(a=e())?a:p))||void 0;return d(m.getItem.bind(m))(h.name).then(a=>{if(a)if("number"!=typeof a.version||a.version===h.version)return[!1,a.state];else{if(h.migrate){let b=h.migrate(a.state,a.version);return b instanceof Promise?b.then(a=>[!0,a]):[!0,b]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}return[!1,void 0]}).then(a=>{var b;if(f!==j)return;let[d,i]=a;if(c(g=h.merge(i,null!=(b=e())?b:p),!0),d)return n()}).then(()=>{f===j&&(null==o||o(e(),void 0),g=e(),i=!0,l.forEach(a=>a(g)))}).catch(a=>{f===j&&(null==o||o(void 0,a))})};return f.persist={setOptions:a=>{h={...h,...a},a.storage&&(m=a.storage)},clearStorage:()=>{null==m||m.removeItem(h.name)},getOptions:()=>h,rehydrate:()=>q(),hasHydrated:()=>i,onHydrate:a=>(k.add(a),()=>{k.delete(a)}),onFinishHydration:a=>(l.add(a),()=>{l.delete(a)})},h.skipHydration||q(),g||p}},5439:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getPreviouslyRevalidatedTags:function(){return w},getServerUtils:function(){return v},interpolateDynamicPath:function(){return t},normalizeCdnUrl:function(){return s},normalizeDynamicRouteParams:function(){return u}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(13973),g=c(41659),h=c(31797),i=c(71544),j=c(89964),k=c(77165),l=c(66796),m=c(47929),n=c(62018),o=c(23101),p=c(37525),q=c(95491);function r(a,b){for(let c in delete a.nextInternalLocale,a){let d=c!==m.NEXT_QUERY_PARAM_PREFIX&&c.startsWith(m.NEXT_QUERY_PARAM_PREFIX),e=c!==m.NEXT_INTERCEPTION_MARKER_PREFIX&&c.startsWith(m.NEXT_INTERCEPTION_MARKER_PREFIX);(d||e||b.includes(c))&&delete a[c]}}function s(a,b){let c=(0,p.parseReqUrl)(a.url);if(!c)return a.url;delete c.search,r(c.query,b),a.url=(0,q.formatUrl)(c)}function t(a,b,c){if(!c)return a;for(let d of Object.keys(c.groups)){let e,{optional:f,repeat:g}=c.groups[d],h=`[${g?"...":""}${d}]`;f&&(h=`[${h}]`);let i=b[d];((e=Array.isArray(i)?i.map(a=>a&&encodeURIComponent(a)).join("/"):i?encodeURIComponent(i):"")||f)&&(a=a.replaceAll(h,e))}return a}function u(a,b,c,d){let e=(a,b)=>{if(!a)return!1;let c=(0,l.normalizeRscURL)(a);for(let a=0;a<3;a++){if(c===b)return!0;let a=(0,o.decodeQueryPathParameter)(c);if(a===c)break;c=a}return!1},f={};for(let g of Object.keys(b.groups)){let h=a[g];"string"==typeof h?h=(0,l.normalizeRscURL)(h):Array.isArray(h)&&(h=h.map(l.normalizeRscURL));let i=c[g],j=b.groups[g].optional;if((Array.isArray(i)?i.some(a=>Array.isArray(h)?h.some(b=>e(b,a)):e(h,a)):Array.isArray(h)?h.some(a=>e(a,i)):e(h,i))||void 0===h&&!(j&&d))return{params:{},hasValidParams:!1};j&&(!h||Array.isArray(h)&&1===h.length&&("index"===h[0]||h[0]===`[[...${g}]]`)||"index"===h||h===`[[...${g}]]`)&&(h=void 0,delete a[g]),h&&"string"==typeof h&&b.groups[g].repeat&&(h=h.split("/")),h&&(f[g]=h)}return{params:f,hasValidParams:!0}}function v({page:a,i18n:b,basePath:c,rewrites:d,pageIsDynamic:e,trailingSlash:l,caseSensitive:m}){let p,q,w;return e&&(p=(0,h.getNamedRouteRegex)(a,{prefixRouteKeys:!1}),w=(q=(0,i.getRouteMatcher)(p))(a)),{handleRewrites:function(h,i){let n=structuredClone(i),o={},p=n.pathname,r=d=>{let i=(0,g.getPathMatch)(d.source+(l?"(/)?":""),{removeUnnamedParams:!0,strict:!0,sensitive:!!m});if(!n.pathname)return!1;let k=i(n.pathname);if((d.has||d.missing)&&k){let a=(0,j.matchHas)(h,n.query,d.has,d.missing);a?Object.assign(k,a):k=!1}if(k){let{parsedDestination:g,destQuery:h}=(0,j.prepareDestination)({appendParamsToQuery:!0,destination:d.destination,params:k,query:n.query});if(g.protocol)return!0;if(Object.assign(o,h,k),Object.assign(n.query,g.query),delete g.query,Object.assign(n,g),!(p=n.pathname))return!1;if(c&&(p=p.replace(RegExp(`^${c}`),"")||"/"),b){let a=(0,f.normalizeLocalePath)(p,b.locales);p=a.pathname,n.query.nextInternalLocale=a.detectedLocale||k.nextInternalLocale}if(p===a)return!0;if(e&&q){let a=q(p);if(a)return n.query={...n.query,...a},!0}}return!1};for(let a of d.beforeFiles||[])r(a);if(p!==a){let b,c=!1;for(let a of d.afterFiles||[])if(c=r(a))break;if(!c&&!((b=(0,k.removeTrailingSlash)(p||""))===(0,k.removeTrailingSlash)(a)||(null==q?void 0:q(b)))){for(let a of d.fallback||[])if(c=r(a))break}}return{rewriteParams:o,rewrittenParsedUrl:n}},defaultRouteRegex:p,dynamicRouteMatcher:q,defaultRouteMatches:w,normalizeQueryParams:function(a,b){for(let[c,d]of(delete a.nextInternalLocale,Object.entries(a))){let e=(0,n.normalizeNextQueryParam)(c);e&&(delete a[c],b.add(e),void 0!==d&&(a[e]=Array.isArray(d)?d.map(a=>(0,o.decodeQueryPathParameter)(a)):(0,o.decodeQueryPathParameter)(d)))}},getParamsFromRouteMatches:function(a){if(!p)return null;let{groups:b,routeKeys:c}=p,d=(0,i.getRouteMatcher)({re:{exec:a=>{let d=Object.fromEntries(new URLSearchParams(a));for(let[a,b]of Object.entries(d)){let c=(0,n.normalizeNextQueryParam)(a);c&&(d[c]=b,delete d[a])}let e={};for(let a of Object.keys(c)){let f=c[a];if(!f)continue;let g=b[f],h=d[a];if(!g.optional&&!h)return null;e[g.pos]=h}return e}},groups:b})(a);return d||null},normalizeDynamicRouteParams:(a,b)=>p&&w?u(a,p,w,b):{params:{},hasValidParams:!1},normalizeCdnUrl:(a,b)=>s(a,b),interpolateDynamicPath:(a,b)=>t(a,b,p),filterInternalQuery:(a,b)=>r(a,b)}}function w(a,b){return"string"==typeof a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER]&&a[m.NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER]===b?a[m.NEXT_CACHE_REVALIDATED_TAGS_HEADER].split(","):[]}},7904:(a,b,c)=>{"use strict";function d(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(d=function(a){return a?c:b})(a)}function e(a,b){if(!b&&a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=d(b);if(c&&c.has(a))return c.get(a);var e={__proto__:null},f=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var g in a)if("default"!==g&&Object.prototype.hasOwnProperty.call(a,g)){var h=f?Object.getOwnPropertyDescriptor(a,g):null;h&&(h.get||h.set)?Object.defineProperty(e,g,h):e[g]=a[g]}return e.default=a,c&&c.set(a,e),e}c.r(b),c.d(b,{_:()=>e})},10684:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={PARAM_SEPARATOR:function(){return e},hasAdjacentParameterIssues:function(){return f},normalizeAdjacentParameters:function(){return g},normalizeTokensForRegexp:function(){return h},stripNormalizedSeparators:function(){return i},stripParameterSeparators:function(){return j}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="_NEXTSEP_";function f(a){return"string"==typeof a&&!!(/\/\(\.{1,3}\):[^/\s]+/.test(a)||/:[a-zA-Z_][a-zA-Z0-9_]*:[a-zA-Z_][a-zA-Z0-9_]*/.test(a))}function g(a){let b=a;return(b=b.replace(/(\([^)]*\)):([^/\s]+)/g,`$1${e}:$2`)).replace(/:([^:/\s)]+)(?=:)/g,`:$1${e}`)}function h(a){return a.map(a=>"object"==typeof a&&null!==a&&"modifier"in a&&("*"===a.modifier||"+"===a.modifier)&&"prefix"in a&&"suffix"in a&&""===a.prefix&&""===a.suffix?{...a,prefix:"/"}:a)}function i(a){return a.replace(RegExp(`\\)${e}`,"g"),")")}function j(a){let b={};for(let[c,d]of Object.entries(a))"string"==typeof d?b[c]=d.replace(RegExp(`^${e}`),""):Array.isArray(d)?b[c]=d.map(a=>"string"==typeof a?a.replace(RegExp(`^${e}`),""):a):b[c]=d;return b}},16764:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/@next/third-parties/dist/ThirdPartyScriptEmbed.js")},19099:(a,b,c)=>{"use strict";var d=c(54839);c.o(d,"notFound")&&c.d(b,{notFound:function(){return d.notFound}}),c.o(d,"useParams")&&c.d(b,{useParams:function(){return d.useParams}}),c.o(d,"usePathname")&&c.d(b,{usePathname:function(){return d.usePathname}}),c.o(d,"useRouter")&&c.d(b,{useRouter:function(){return d.useRouter}}),c.o(d,"useSearchParams")&&c.d(b,{useSearchParams:function(){return d.useSearchParams}})},19148:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleAnalytics=void 0;let f=e(c(96780)),g=c(81052);b.GoogleAnalytics=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},20349:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/@next/third-parties/dist/google/ga.js")},23101:(a,b)=>{"use strict";function c(a){try{return decodeURIComponent(a)}catch{return a}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"decodeQueryPathParameter",{enumerable:!0,get:function(){return c}})},23315:(a,b)=>{"use strict";function c(a){return a.replace(/\\/g,"/")}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizePathSep",{enumerable:!0,get:function(){return c}})},27196:a=>{(()=>{"use strict";"u">typeof __nccwpck_require__&&(__nccwpck_require__.ab=__dirname+"/");var b={};(()=>{function a(a,b){void 0===b&&(b={});for(var c=function(a){for(var b=[],c=0;c<a.length;){var d=a[c];if("*"===d||"+"===d||"?"===d){b.push({type:"MODIFIER",index:c,value:a[c++]});continue}if("\\"===d){b.push({type:"ESCAPED_CHAR",index:c++,value:a[c++]});continue}if("{"===d){b.push({type:"OPEN",index:c,value:a[c++]});continue}if("}"===d){b.push({type:"CLOSE",index:c,value:a[c++]});continue}if(":"===d){for(var e="",f=c+1;f<a.length;){var g=a.charCodeAt(f);if(g>=48&&g<=57||g>=65&&g<=90||g>=97&&g<=122||95===g){e+=a[f++];continue}break}if(!e)throw TypeError("Missing parameter name at ".concat(c));b.push({type:"NAME",index:c,value:e}),c=f;continue}if("("===d){var h=1,i="",f=c+1;if("?"===a[f])throw TypeError('Pattern cannot start with "?" at '.concat(f));for(;f<a.length;){if("\\"===a[f]){i+=a[f++]+a[f++];continue}if(")"===a[f]){if(0==--h){f++;break}}else if("("===a[f]&&(h++,"?"!==a[f+1]))throw TypeError("Capturing groups are not allowed at ".concat(f));i+=a[f++]}if(h)throw TypeError("Unbalanced pattern at ".concat(c));if(!i)throw TypeError("Missing pattern at ".concat(c));b.push({type:"PATTERN",index:c,value:i}),c=f;continue}b.push({type:"CHAR",index:c,value:a[c++]})}return b.push({type:"END",index:c,value:""}),b}(a),d=b.prefixes,f=void 0===d?"./":d,g=b.delimiter,h=void 0===g?"/#?":g,i=[],j=0,k=0,l="",m=function(a){if(k<c.length&&c[k].type===a)return c[k++].value},n=function(a){var b=m(a);if(void 0!==b)return b;var d=c[k],e=d.type,f=d.index;throw TypeError("Unexpected ".concat(e," at ").concat(f,", expected ").concat(a))},o=function(){for(var a,b="";a=m("CHAR")||m("ESCAPED_CHAR");)b+=a;return b},p=function(a){for(var b=0;b<h.length;b++){var c=h[b];if(a.indexOf(c)>-1)return!0}return!1},q=function(a){var b=i[i.length-1],c=a||(b&&"string"==typeof b?b:"");if(b&&!c)throw TypeError('Must have text between two parameters, missing text after "'.concat(b.name,'"'));return!c||p(c)?"[^".concat(e(h),"]+?"):"(?:(?!".concat(e(c),")[^").concat(e(h),"])+?")};k<c.length;){var r=m("CHAR"),s=m("NAME"),t=m("PATTERN");if(s||t){var u=r||"";-1===f.indexOf(u)&&(l+=u,u=""),l&&(i.push(l),l=""),i.push({name:s||j++,prefix:u,suffix:"",pattern:t||q(u),modifier:m("MODIFIER")||""});continue}var v=r||m("ESCAPED_CHAR");if(v){l+=v;continue}if(l&&(i.push(l),l=""),m("OPEN")){var u=o(),w=m("NAME")||"",x=m("PATTERN")||"",y=o();n("CLOSE"),i.push({name:w||(x?j++:""),pattern:w&&!x?q(u):x,prefix:u,suffix:y,modifier:m("MODIFIER")||""});continue}n("END")}return i}function c(a,b){void 0===b&&(b={});var c=f(b),d=b.encode,e=void 0===d?function(a){return a}:d,g=b.validate,h=void 0===g||g,i=a.map(function(a){if("object"==typeof a)return new RegExp("^(?:".concat(a.pattern,")$"),c)});return function(b){for(var c="",d=0;d<a.length;d++){var f=a[d];if("string"==typeof f){c+=f;continue}var g=b?b[f.name]:void 0,j="?"===f.modifier||"*"===f.modifier,k="*"===f.modifier||"+"===f.modifier;if(Array.isArray(g)){if(!k)throw TypeError('Expected "'.concat(f.name,'" to not repeat, but got an array'));if(0===g.length){if(j)continue;throw TypeError('Expected "'.concat(f.name,'" to not be empty'))}for(var l=0;l<g.length;l++){var m=e(g[l],f);if(h&&!i[d].test(m))throw TypeError('Expected all "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix}continue}if("string"==typeof g||"number"==typeof g){var m=e(String(g),f);if(h&&!i[d].test(m))throw TypeError('Expected "'.concat(f.name,'" to match "').concat(f.pattern,'", but got "').concat(m,'"'));c+=f.prefix+m+f.suffix;continue}if(!j){var n=k?"an array":"a string";throw TypeError('Expected "'.concat(f.name,'" to be ').concat(n))}}return c}}function d(a,b,c){void 0===c&&(c={});var d=c.decode,e=void 0===d?function(a){return a}:d;return function(c){var d=a.exec(c);if(!d)return!1;for(var f=d[0],g=d.index,h=Object.create(null),i=1;i<d.length;i++)!function(a){if(void 0!==d[a]){var c=b[a-1];"*"===c.modifier||"+"===c.modifier?h[c.name]=d[a].split(c.prefix+c.suffix).map(function(a){return e(a,c)}):h[c.name]=e(d[a],c)}}(i);return{path:f,index:g,params:h}}}function e(a){return a.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function f(a){return a&&a.sensitive?"":"i"}function g(a,b,c){void 0===c&&(c={});for(var d=c.strict,g=void 0!==d&&d,h=c.start,i=c.end,j=c.encode,k=void 0===j?function(a){return a}:j,l=c.delimiter,m=c.endsWith,n="[".concat(e(void 0===m?"":m),"]|$"),o="[".concat(e(void 0===l?"/#?":l),"]"),p=void 0===h||h?"^":"",q=0;q<a.length;q++){var r=a[q];if("string"==typeof r)p+=e(k(r));else{var s=e(k(r.prefix)),t=e(k(r.suffix));if(r.pattern)if(b&&b.push(r),s||t)if("+"===r.modifier||"*"===r.modifier){var u="*"===r.modifier?"?":"";p+="(?:".concat(s,"((?:").concat(r.pattern,")(?:").concat(t).concat(s,"(?:").concat(r.pattern,"))*)").concat(t,")").concat(u)}else p+="(?:".concat(s,"(").concat(r.pattern,")").concat(t,")").concat(r.modifier);else{if("+"===r.modifier||"*"===r.modifier)throw TypeError('Can not repeat "'.concat(r.name,'" without a prefix and suffix'));p+="(".concat(r.pattern,")").concat(r.modifier)}else p+="(?:".concat(s).concat(t,")").concat(r.modifier)}}if(void 0===i||i)g||(p+="".concat(o,"?")),p+=c.endsWith?"(?=".concat(n,")"):"$";else{var v=a[a.length-1],w="string"==typeof v?o.indexOf(v[v.length-1])>-1:void 0===v;g||(p+="(?:".concat(o,"(?=").concat(n,"))?")),w||(p+="(?=".concat(o,"|").concat(n,")"))}return new RegExp(p,f(c))}function h(b,c,d){if(b instanceof RegExp){var e;if(!c)return b;for(var i=/\((?:\?<(.*?)>)?(?!\?)/g,j=0,k=i.exec(b.source);k;)c.push({name:k[1]||j++,prefix:"",suffix:"",modifier:"",pattern:""}),k=i.exec(b.source);return b}return Array.isArray(b)?(e=b.map(function(a){return h(a,c,d).source}),new RegExp("(?:".concat(e.join("|"),")"),f(d))):g(a(b,d),c,d)}Object.defineProperty(b,"__esModule",{value:!0}),b.pathToRegexp=b.tokensToRegexp=b.regexpToFunction=b.match=b.tokensToFunction=b.compile=b.parse=void 0,b.parse=a,b.compile=function(b,d){return c(a(b,d),d)},b.tokensToFunction=c,b.match=function(a,b){var c=[];return d(h(a,c,b),c,b)},b.regexpToFunction=d,b.tokensToRegexp=g,b.pathToRegexp=h})(),a.exports=b})()},28559:a=>{"use strict";a.exports=JSON.parse('{"id":"youtube-embed","description":"Embed a YouTube embed on your webpage.","website":"https://github.com/paulirish/lite-youtube-embed","html":{"element":"lite-youtube","attributes":{"videoid":null,"playlabel":null}},"stylesheets":["https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.css"],"scripts":[{"url":"https://cdn.jsdelivr.net/gh/paulirish/lite-youtube-embed@master/src/lite-yt-embed.js","strategy":"idle","location":"head","action":"append"}]}')},31383:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"escapeStringRegexp",{enumerable:!0,get:function(){return e}});let c=/[|\\{}()[\]^$+*?.-]/,d=/[|\\{}()[\]^$+*?.-]/g;function e(a){return c.test(a)?a.replace(d,"\\$&"):a}},31417:(a,b,c)=>{"use strict";c.d(b,{v:()=>g});var d=c(67484);let e=a=>{let b,c=new Set,d=(a,d)=>{let e="function"==typeof a?a(b):a;if(!Object.is(e,b)){let a=b;b=(null!=d?d:"object"!=typeof e||null===e)?e:Object.assign({},b,e),c.forEach(c=>c(b,a))}},e=()=>b,f={setState:d,getState:e,getInitialState:()=>g,subscribe:a=>(c.add(a),()=>c.delete(a))},g=b=a(d,e,f);return f},f=a=>{let b=a?e(a):e,c=a=>(function(a,b=a=>a){let c=d.useSyncExternalStore(a.subscribe,d.useCallback(()=>b(a.getState()),[a,b]),d.useCallback(()=>b(a.getInitialState()),[a,b]));return d.useDebugValue(c),c})(b,a);return Object.assign(c,b),c},g=a=>a?f(a):f},31797:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var d={getNamedMiddlewareRegex:function(){return p},getNamedRouteRegex:function(){return o},getRouteRegex:function(){return l}};for(var e in d)Object.defineProperty(b,e,{enumerable:!0,get:d[e]});let f=c(47929),g=c(32107),h=c(31383),i=c(77165),j=c(93646);function k(a,b,c){let d={},e=1,f=[];for(let k of(0,i.removeTrailingSlash)(a).slice(1).split("/")){let a=g.INTERCEPTION_ROUTE_MARKERS.find(a=>k.startsWith(a)),i=k.match(j.PARAMETER_PATTERN);if(a&&i&&i[2]){let{key:b,optional:c,repeat:g}=(0,j.parseMatchedParameter)(i[2]);d[b]={pos:e++,repeat:g,optional:c},f.push(`/${(0,h.escapeStringRegexp)(a)}([^/]+?)`)}else if(i&&i[2]){let{key:a,repeat:b,optional:g}=(0,j.parseMatchedParameter)(i[2]);d[a]={pos:e++,repeat:b,optional:g},c&&i[1]&&f.push(`/${(0,h.escapeStringRegexp)(i[1])}`);let k=b?g?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)";c&&i[1]&&(k=k.substring(1)),f.push(k)}else f.push(`/${(0,h.escapeStringRegexp)(k)}`);b&&i&&i[3]&&f.push((0,h.escapeStringRegexp)(i[3]))}return{parameterizedRoute:f.join(""),groups:d}}function l(a,{includeSuffix:b=!1,includePrefix:c=!1,excludeOptionalTrailingSlash:d=!1}={}){let{parameterizedRoute:e,groups:f}=k(a,b,c),g=e;return d||(g+="(?:/)?"),{re:RegExp(`^${g}$`),groups:f}}function m({interceptionMarker:a,getSafeRouteKey:b,segment:c,routeKeys:d,keyPrefix:e,backreferenceDuplicateKeys:f}){let g,{key:i,optional:k,repeat:l}=(0,j.parseMatchedParameter)(c),n=i.replace(/\W/g,"");e&&(n=`${e}${n}`);let o=!1;(0===n.length||n.length>30)&&(o=!0),isNaN(parseInt(n.slice(0,1)))||(o=!0),o&&(n=b());let p=n in d;e?d[n]=`${e}${i}`:d[n]=i;let q=a?(0,h.escapeStringRegexp)(a):"";return g=p&&f?`\\k<${n}>`:l?`(?<${n}>.+?)`:`(?<${n}>[^/]+?)`,{key:i,pattern:k?`(?:/${q}${g})?`:`/${q}${g}`,cleanedKey:n,optional:k,repeat:l}}function n(a,b,c,d,e,k={names:{},intercepted:{}}){let l,o=(l=0,()=>{let a="",b=++l;for(;b>0;)a+=String.fromCharCode(97+(b-1)%26),b=Math.floor((b-1)/26);return a}),p={},q=[],r=[];for(let l of(k=structuredClone(k),(0,i.removeTrailingSlash)(a).slice(1).split("/"))){let a,i=g.INTERCEPTION_ROUTE_MARKERS.some(a=>l.startsWith(a)),n=l.match(j.PARAMETER_PATTERN),s=i?n?.[1]:void 0;if(s&&n?.[2]?(a=b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0,k.intercepted[n[2]]=s):a=n?.[2]&&k.intercepted[n[2]]?b?f.NEXT_INTERCEPTION_MARKER_PREFIX:void 0:b?f.NEXT_QUERY_PARAM_PREFIX:void 0,s&&n&&n[2]){let{key:b,pattern:c,cleanedKey:d,repeat:f,optional:g}=m({getSafeRouteKey:o,interceptionMarker:s,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e});q.push(c),r.push(`/${n[1]}:${k.names[b]??d}${f?g?"*":"+":""}`),k.names[b]??=d}else if(n&&n[2]){d&&n[1]&&(q.push(`/${(0,h.escapeStringRegexp)(n[1])}`),r.push(`/${n[1]}`));let{key:b,pattern:c,cleanedKey:f,repeat:g,optional:i}=m({getSafeRouteKey:o,segment:n[2],routeKeys:p,keyPrefix:a,backreferenceDuplicateKeys:e}),j=c;d&&n[1]&&(j=j.substring(1)),q.push(j),r.push(`/:${k.names[b]??f}${g?i?"*":"+":""}`),k.names[b]??=f}else q.push(`/${(0,h.escapeStringRegexp)(l)}`),r.push(`/${l}`);c&&n&&n[3]&&(q.push((0,h.escapeStringRegexp)(n[3])),r.push(n[3]))}return{namedParameterizedRoute:q.join(""),routeKeys:p,pathToRegexpPattern:r.join(""),reference:k}}function o(a,b){let c=n(a,b.prefixRouteKeys,b.includeSuffix??!1,b.includePrefix??!1,b.backreferenceDuplicateKeys??!1,b.reference),d=c.namedParameterizedRoute;return b.excludeOptionalTrailingSlash||(d+="(?:/)?"),{...l(a,b),namedRegex:`^${d}$`,routeKeys:c.routeKeys,pathToRegexpPattern:c.pathToRegexpPattern,reference:c.reference}}function p(a,b){let{parameterizedRoute:c}=k(a,!1,!1),{catchAll:d=!0}=b;if("/"===c)return{namedRegex:`^/${d?".*":""}$`};let{namedParameterizedRoute:e}=n(a,!1,!1,!1,!1,void 0);return{namedRegex:`^${e}${d?"(?:(/.*)?)":""}$`}}},31935:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/@next/third-parties/dist/google/gtm.js")},33071:(a,b,c)=>{let{createProxy:d}=c(78830);a.exports=d("/home/letruonggiang/work/9router/node_modules/next/dist/client/script.js")},35687:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.GoogleMapsEmbed=void 0;let f=e(c(39235)),g=c(81052);b.GoogleMapsEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},36497:()=>{},39235:a=>{"use strict";a.exports=JSON.parse('{"id":"google-maps-embed","description":"Embed a Google Maps embed on your webpage","website":"https://developers.google.com/maps/documentation/embed/get-started","html":{"element":"iframe","attributes":{"loading":"lazy","src":{"url":"https://www.google.com/maps/embed/v1/place","slugParam":"mode","params":["key","q","center","zoom","maptype","language","region"]},"referrerpolicy":"no-referrer-when-downgrade","frameborder":"0","style":"border:0","allowfullscreen":true,"width":null,"height":null}}}')},40862:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={cancelIdleCallback:function(){return f},requestIdleCallback:function(){return e}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e="u">typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(a){let b=Date.now();return self.setTimeout(function(){a({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-b))}})},1)},f="u">typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(a){return clearTimeout(a)};("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},41659:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getPathMatch",{enumerable:!0,get:function(){return e}});let d=c(27196);function e(a,b){let c=[],e=(0,d.pathToRegexp)(a,c,{delimiter:"/",sensitive:"boolean"==typeof b?.sensitive&&b.sensitive,strict:b?.strict}),f=(0,d.regexpToFunction)(b?.regexModifier?new RegExp(b.regexModifier(e.source),e.flags):e,c);return(a,d)=>{if("string"!=typeof a)return!1;let e=f(a);if(!e)return!1;if(b?.removeUnnamedParams)for(let a of c)"number"==typeof a.name&&delete e.params[a.name];return{...d,...e.params}}}},47300:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{apiKey:b,...c}=a,d={...c,key:b},{html:h}=(0,f.GoogleMapsEmbed)(d);return(0,e.jsx)(g.default,{height:d.height||null,width:d.width||null,html:h,dataNtpc:"GoogleMapsEmbed"})};let e=c(5735),f=c(93166),g=d(c(16764))},54718:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>e.a});var d=c(90929),e=c.n(d),f={};for(let a in d)"default"!==a&&(f[a]=()=>d[a]);c.d(b,f)},55091:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return f}});let d=c(5735),e=c(22675);function f(){return(0,d.jsx)(e.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},59537:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.sendGAEvent=b.GoogleAnalytics=b.sendGTMEvent=b.GoogleTagManager=b.YouTubeEmbed=b.GoogleMapsEmbed=void 0;var e=c(47300);Object.defineProperty(b,"GoogleMapsEmbed",{enumerable:!0,get:function(){return d(e).default}});var f=c(73992);Object.defineProperty(b,"YouTubeEmbed",{enumerable:!0,get:function(){return d(f).default}});var g=c(31935);Object.defineProperty(b,"GoogleTagManager",{enumerable:!0,get:function(){return g.GoogleTagManager}}),Object.defineProperty(b,"sendGTMEvent",{enumerable:!0,get:function(){return g.sendGTMEvent}});var h=c(20349);Object.defineProperty(b,"GoogleAnalytics",{enumerable:!0,get:function(){return h.GoogleAnalytics}}),Object.defineProperty(b,"sendGAEvent",{enumerable:!0,get:function(){return h.sendGAEvent}})},60002:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"setAttributesFromProps",{enumerable:!0,get:function(){return f}});let c={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},d=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function e(a){return["async","defer","noModule"].includes(a)}function f(a,b){for(let[f,g]of Object.entries(b)){if(!b.hasOwnProperty(f)||d.includes(f)||void 0===g)continue;let h=c[f]||f.toLowerCase();"SCRIPT"===a.tagName&&e(h)?a[h]=!!g:a.setAttribute(h,String(g)),(!1===g||"SCRIPT"===a.tagName&&e(h)&&(!g||"false"===g))&&(a.setAttribute(h,""),a.removeAttribute(h))}}("function"==typeof b.default||"object"==typeof b.default&&null!==b.default)&&void 0===b.default.__esModule&&(Object.defineProperty(b.default,"__esModule",{value:!0}),Object.assign(b.default,b),a.exports=b.default)},63419:function(a,b,c){"use strict";var d=this&&this.__rest||function(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c},e=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.YouTubeEmbed=void 0;let f=e(c(28559)),g=c(81052);b.YouTubeEmbed=a=>{var b=d(a,[]);return(0,g.formatData)(f.default,b)}},68097:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parseUrl",{enumerable:!0,get:function(){return f}});let d=c(9787),e=c(49286);function f(a){if(a.startsWith("/"))return(0,e.parseRelativeUrl)(a);let b=new URL(a),c=b.username,f=b.password,g=c?f?`${c}:${f}`:c:null,h=b.pathname,i=b.search;return{auth:g,hash:b.hash,hostname:b.hostname,href:b.href,pathname:h,port:b.port,protocol:b.protocol,query:(0,d.searchParamsToUrlQuery)(b.searchParams),search:i,origin:b.origin,slashes:"//"===b.href.slice(b.protocol.length,b.protocol.length+2)}}},69566:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});var c={ESCAPE_REGEX:function(){return f},htmlEscapeAttributeString:function(){return j},htmlEscapeJsonString:function(){return i}};for(var d in c)Object.defineProperty(b,d,{enumerable:!0,get:c[d]});let e={"&":"\\u0026",">":"\\u003e","<":"\\u003c","\u2028":"\\u2028","\u2029":"\\u2029"},f=/[&><\u2028\u2029]/g,g={"&":"&amp;",'"':"&quot;","'":"&#39;","<":"&lt;",">":"&gt;"},h=/[&"'<>]/g;function i(a){return a.replace(f,a=>e[a])}function j(a){return a.replace(h,a=>g[a])}},71544:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getRouteMatcher",{enumerable:!0,get:function(){return f}});let d=c(16433),e=c(89151);function f({re:a,groups:b}){return(0,e.safeRouteMatcher)(c=>{let e=a.exec(c);if(!e)return!1;let f=a=>{try{return decodeURIComponent(a)}catch{throw Object.defineProperty(new d.DecodeError("failed to decode param"),"__NEXT_ERROR_CODE",{value:"E528",enumerable:!1,configurable:!0})}},g={};for(let[a,c]of Object.entries(b)){let b=e[c.pos];void 0!==b&&(c.repeat?g[a]=b.split("/").map(a=>f(a)):g[a]=f(b))}return g})}},73992:function(a,b,c){"use strict";var d=this&&this.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(b,"__esModule",{value:!0}),b.default=function(a){let{html:b,scripts:c,stylesheets:d}=(0,g.YouTubeEmbed)(a);return(0,e.jsx)(h.default,{height:a.height||null,width:a.width||null,html:b,dataNtpc:"YouTubeEmbed",children:null==c?void 0:c.map(a=>(0,e.jsx)(f.default,{src:a.url,strategy:i[a.strategy],stylesheets:d},a.url))})};let e=c(5735),f=d(c(93968)),g=c(93166),h=d(c(16764)),i={server:"beforeInteractive",client:"afterInteractive",idle:"lazyOnload",worker:"worker"}},74281:(a,b,c)=>{"use strict";var d;Object.defineProperty(b,"__esModule",{value:!0}),b.sendGTMEvent=void 0,b.GoogleTagManager=function(a){let{gtmId:b,gtmScriptUrl:c,dataLayerName:d="dataLayer",auth:i,preview:j,dataLayer:k,nonce:l}=a;h=d;let m=new URL(c||"https://www.googletagmanager.com/gtm.js");return b&&m.searchParams.set("id",b),"dataLayer"!==d&&m.searchParams.set("l",d),i&&m.searchParams.set("gtm_auth",i),j&&(m.searchParams.set("gtm_preview",j),m.searchParams.set("gtm_cookies_win","x")),(0,f.useEffect)(()=>{performance.mark("mark_feature_usage",{detail:{feature:"next-third-parties-gtm"}})},[]),(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(g.default,{id:"_next-gtm-init",dangerouslySetInnerHTML:{__html:`
2
2
  (function(w,l){
3
3
  w[l]=w[l]||[];
4
4
  w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});
@@ -0,0 +1,3 @@
1
+ exports.id=6568,exports.ids=[6568],exports.modules={11346:(a,b,c)=>{Promise.resolve().then(c.bind(c,51747))},51747:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/letruonggiang/work/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/letruonggiang/work/9router/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js","default")},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},58202:(a,b,c)=>{Promise.resolve().then(c.bind(c,69232))},67960:(a,b,c)=>{"use strict";c.d(b,{Cp:()=>g,Hx:()=>f,Iv:()=>k,Nv:()=>m,RL:()=>j,ev:()=>l,fl:()=>h,hT:()=>d,oX:()=>e,t6:()=>i});let d=["zh-CN","zh-TW"],e=[{icon:"public",title:"Access Anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share Endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}],f=2e3,g=3e5,h=5e3,i=5,j=1e4,k=5e3,l=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],m=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}]},69232:(a,b,c)=>{"use strict";c.d(b,{default:()=>o});var d=c(48249),e=c(67484),f=c(49885),g=c.n(f),h=c(50412),i=c(50377),j=c(67960);function k({label:a,url:b,copyId:c,copied:e,onCopy:f,badge:g,actions:i}){return(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${"CF"===g||"TS"===g?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:a}),(0,d.jsx)(h.pd,{value:b,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>f(b,c),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:e===c?"check":"content_copy"})}),i]})}function l({status:a,className:b=""}){return(0,d.jsx)("div",{className:`p-2 rounded text-sm ${b} ${"success"===a.type?"bg-green-500/10 text-green-600 dark:text-green-400":"warning"===a.type?"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400":"info"===a.type?"bg-blue-500/10 text-blue-600 dark:text-blue-400":"bg-red-500/10 text-red-600 dark:text-red-400"}`,children:a.message.split(/(https?:\/\/[^\s]+)/g).map((a,b)=>/^https?:\/\//.test(a)?(0,d.jsx)("a",{href:a,target:"_blank",rel:"noreferrer",className:"underline font-medium",children:a},b):a)})}function m({text:a}){return(0,d.jsxs)("span",{className:"relative group inline-flex items-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px] text-text-muted cursor-help",children:"help"}),(0,d.jsx)("span",{className:"pointer-events-none absolute left-5 top-1/2 -translate-y-1/2 z-50 w-64 rounded bg-gray-900 dark:bg-gray-800 text-white text-xs px-2.5 py-1.5 opacity-0 group-hover:opacity-100 transition-opacity shadow-lg",children:a})]})}function n({message:a,action:b}){return(0,d.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2 rounded-lg bg-amber-500/10 border border-amber-500/20 text-amber-700 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px] shrink-0 mt-0.5",children:"warning"}),(0,d.jsx)("p",{className:"text-xs flex-1",children:a}),b&&(0,d.jsx)("a",{href:b.href,className:"text-xs font-medium underline shrink-0 hover:opacity-80",onClick:b.href.startsWith("#")?a=>{a.preventDefault(),document.getElementById(b.href.slice(1))?.scrollIntoView({behavior:"smooth"})}:void 0,children:b.label})]})}function o({machineId:a}){let[b,c]=(0,e.useState)([]),[f,g]=(0,e.useState)(!0),[p,q]=(0,e.useState)(!1),[r,s]=(0,e.useState)(""),[t,u]=(0,e.useState)(null),[v,w]=(0,e.useState)(null),[x,y]=(0,e.useState)(!1),[z,A]=(0,e.useState)(!0),[B,C]=(0,e.useState)(!0),[D,E]=(0,e.useState)(!1),[F,G]=(0,e.useState)(!0),[H,I]=(0,e.useState)(!1),[J,K]=(0,e.useState)(!1),[L,M]=(0,e.useState)(""),[N,O]=(0,e.useState)(""),[P,Q]=(0,e.useState)(!1),[R,S]=(0,e.useState)(""),[T,U]=(0,e.useState)(null),[V,W]=(0,e.useState)(!1),[X,Y]=(0,e.useState)(!1),[Z,$]=(0,e.useState)(!1),[_,aa]=(0,e.useState)(!1),[ab,ac]=(0,e.useState)(""),[ad,ae]=(0,e.useState)(!1),[af,ag]=(0,e.useState)(""),[ah,ai]=(0,e.useState)(null),[aj,ak]=(0,e.useState)(""),[al,am]=(0,e.useState)(""),[an,ao]=(0,e.useState)(null),[ap,aq]=(0,e.useState)(!1),[ar,as]=(0,e.useState)([]),[at,au]=(0,e.useState)(""),[av,aw]=(0,e.useState)(!1),[ax,ay]=(0,e.useState)(!1),[az,aA]=(0,e.useState)(!1),aB=(0,e.useRef)(null);(0,e.useRef)(0),(0,e.useRef)(0),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1),(0,e.useRef)(!1);let[aC,aD]=(0,e.useState)(!1),[aE,aF]=(0,e.useState)(!1),[aG,aH]=(0,e.useState)(new Set),[aI,aJ]=(0,e.useState)(!1),{copied:aK,copy:aL}=(0,i.C)(),aM=!z||!B,aN=z?"Change the default dashboard password before activating the tunnel.":'Enable "Require login" and set a custom password before activating the tunnel.';(0,e.useCallback)((a,b,c,d,e,f)=>{b.current?(c.current=0,d(!0),e.current||(e.current=!0,f(!0))):(c.current+=1,c.current>=j.t6&&d(!1))},[]);let aO=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tunnelDashboardAccess:a})})).ok&&E(a)}catch(a){console.log("Error updating tunnelDashboardAccess:",a)}},aP=async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:a})})).ok&&y(a)}catch(a){console.log("Error updating requireApiKey:",a)}},aQ=async()=>{try{let a=await fetch("/api/keys"),b=await a.json();a.ok&&c(b.keys||[])}catch(a){console.log("Error fetching data:",a)}finally{g(!1)}},aR=async(...a)=>{Q(!0),S("Waiting for tunnel ready...");let b=a.filter(Boolean).map(a=>`${a}/api/health`),c=Date.now();for(;Date.now()-c<j.Cp;){if(await new Promise(a=>setTimeout(a,j.Hx)),await Promise.any(b.map(async a=>{if((await fetch(a,{mode:"cors",cache:"no-store"})).ok)return!0;throw Error("not ready")})).catch(()=>!1))return I(!0),Q(!1),S(""),!0;if((Date.now()-c)%1e4<j.Hx)try{let a=await fetch("/api/tunnel/status");if(a.ok){let b=await a.json();if(!b.tunnel?.enabled)return U({type:"error",message:"Tunnel process stopped unexpectedly."}),Q(!1),S(""),!1}}catch{}}return U({type:"error",message:"Tunnel created but not reachable. Please try again."}),Q(!1),S(""),!1},aS=async()=>{W(!1),Q(!0),U(null),S("Creating tunnel...");let a=!0;(async()=>{for(;a;){try{let b=await fetch("/api/tunnel/status");if(b.ok){let c=await b.json();c.download?.downloading?S(`Downloading cloudflared... ${c.download.progress}%`):a&&S("Creating tunnel...")}}catch{}await new Promise(a=>setTimeout(a,1e3))}})();try{let b=await fetch("/api/tunnel/enable",{method:"POST"});a=!1;let c=await b.json();if(!b.ok)return void U({type:"error",message:c.error||"Failed to enable tunnel"});let d=c.tunnelUrl;if(!d)return void U({type:"error",message:"No tunnel URL returned"});M(d),O(c.publicUrl||""),await aR(c.publicUrl,d)}catch(a){U({type:"error",message:a.message})}finally{a=!1,Q(!1),S("")}},aT=async()=>{Q(!0),U(null);try{let a=await fetch("/api/tunnel/disable",{method:"POST"}),b=await a.json();a.ok?(I(!1),M(""),Y(!1),U({type:"success",message:"Tunnel disabled"})):U({type:"error",message:b.error||"Failed to disable tunnel"})}catch(a){U({type:"error",message:a.message})}finally{Q(!1)}},aU=async()=>{ao(null);try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok){let b=await a.json();return ao(b.installed),b}}catch{}return ao(!1),{installed:!1}},aV=async()=>{aq(!0),ai(null),as([]);try{let a=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:at})});au("");let b=a.body.getReader(),c=new TextDecoder,d="";for(;;){let{done:a,value:e}=await b.read();if(a)break;let f=(d+=c.decode(e,{stream:!0})).split("\n\n");for(let a of(d=f.pop()||"",f)){let b=a.split("\n"),c="progress",d=null;for(let a of b)if(a.startsWith("event: ")&&(c=a.slice(7).trim()),a.startsWith("data: "))try{d=JSON.parse(a.slice(6))}catch{}if(d)if("progress"===c)as(a=>[...a.slice(-50),d.message]);else if("done"===c){ao(!0),aq(!1),ay(!1),aZ();return}else"error"===c&&ai({type:"error",message:d.error||"Install failed"})}}}catch(a){ai({type:"error",message:a.message})}finally{aq(!1)}},aW=async a=>{ag("Waiting for Tailscale ready...");let b=`${a}/api/health`,c=Date.now();for(;Date.now()-c<j.Cp;){await new Promise(a=>setTimeout(a,j.Hx));try{let a=await fetch(b,{mode:"no-cors",cache:"no-store"});if(a.ok||"opaque"===a.type)return!0}catch{}}return!1},aX=(a,b)=>{ak(a),am(b)},aY=()=>{ak(""),am("")},aZ=async()=>{ay(!1),aw(!0),ae(!0),ai(null),ag("Connecting..."),aY();try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){ac(b.tunnelUrl||"");let a=await aW(b.tunnelUrl);$(!0),ai(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.needsLogin&&b.authUrl){aX(b.authUrl,"Open Login Page"),ag('Login required — click "Open Login Page" to continue');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok&&(await a.json()).loggedIn){aY(),ag("Starting funnel...");let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){ac(b.tunnelUrl||"");let a=await aW(b.tunnelUrl);$(!0),ai(a?null:{type:"warning",message:"Connected but not reachable yet."})}else b.funnelNotEnabled&&b.enableUrl?await a$(b.enableUrl):ai({type:"error",message:b.error||"Failed to start funnel"});return}}catch{}}aY(),ai({type:"error",message:"Login timed out. Please try again."});return}if(b.funnelNotEnabled&&b.enableUrl)return void await a$(b.enableUrl);ai({type:"error",message:b.error||"Failed to connect"})}catch(a){ai({type:"error",message:a.message})}finally{ae(!1),aw(!1),ag(""),aY()}},a$=async a=>{aX(a,"Open Funnel Settings"),ag('Click "Open Funnel Settings" to enable Funnel...');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){aY(),ac(b.tunnelUrl||"");let a=await aW(b.tunnelUrl);$(!0),ai(a?null:{type:"warning",message:"Connected but not reachable yet."});return}if(b.funnelNotEnabled)continue;if(b.error){aY(),ai({type:"error",message:b.error});return}}catch{}}aY(),ai({type:"error",message:"Timed out waiting for Funnel to be enabled."})},a_=async()=>{ae(!0),ai(null);try{let a=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),b=await a.json();a.ok?($(!1),ac(""),aA(!1),ai({type:"success",message:"Tailscale disabled"})):ai({type:"error",message:b.error||"Failed to disable Tailscale"})}catch(a){ai({type:"error",message:a.message})}finally{ae(!1)}},a0=async()=>{ai(null),as([]);let a=await aU();a?.installed&&a?.hasCachedPassword?aZ():ay(!0)},a1=async()=>{if(r.trim())try{let a=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r})}),b=await a.json();a.ok&&(u(b.key),await aQ(),s(""),q(!1))}catch(a){console.log("Error creating key:",a)}},a2=async a=>{w({title:"Delete API Key",message:"Delete this API key?",onConfirm:async()=>{w(null);try{(await fetch(`/api/keys/${a}`,{method:"DELETE"})).ok&&(c(b.filter(b=>b.id!==a)),aH(b=>{let c=new Set(b);return c.delete(a),c}))}catch(a){console.log("Error deleting key:",a)}}})},a3=async(a,b)=>{try{(await fetch(`/api/keys/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:b})})).ok&&c(c=>c.map(c=>c.id===a?{...c,isActive:b}:c))}catch(a){console.log("Error toggling key:",a)}},[a4,a5]=(0,e.useState)("/v1");return f?(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsx)(h.Qv,{}),(0,d.jsx)(h.Qv,{})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-8",children:[(0,d.jsxs)(h.Zp,{children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold mb-4 flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"api"}),"API Endpoint"]}),(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(k,{label:"Local",url:a4,copyId:"local_url",copied:aK,onCopy:aL}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${H?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tunnel"}),H&&!P&&J?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${N||L}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>aL(`${N||L}/v1`,"tunnel_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tunnel_url"===aK?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!H||P||J?P?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),R||"Creating tunnel..."]}),(0,d.jsx)("button",{onClick:()=>{Q(!1),S("")},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):T?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),T.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>W(!0),children:"Enable"})]}):F?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),(0,d.jsx)("button",{onClick:()=>G(!1),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"cloud_upload",onClick:()=>{aM?U({type:"error",message:`Security required: ${aN}`}):x?W(!0):U({type:"error",message:'Security required: Enable "Require API key" before activating the tunnel.'})},children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aC?"Tunnel reconnecting...":"Tunnel checking..."]}),(0,d.jsx)("button",{onClick:()=>Y(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tunnel",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:`text-xs font-mono px-1.5 py-0.5 rounded shrink-0 min-w-[88px] text-center ${Z?"bg-primary/10 text-primary":"bg-surface-2 text-text-muted"}`,children:"Tailscale"}),Z&&!ad&&_?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(h.pd,{value:`${ab}/v1`,readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)("button",{onClick:()=>aL(`${ab}/v1`,"ts_url"),className:"p-2 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary transition-colors shrink-0",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"ts_url"===aK?"check":"content_copy"})}),(0,d.jsx)("button",{onClick:()=>aA(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):!Z||ad||_?ad||av?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-border bg-input text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),af||"Connecting..."]}),aj&&(0,d.jsx)(h.$n,{size:"sm",icon:"open_in_new",onClick:()=>window.open(aj,"tailscale_auth","width=600,height=700,noopener,noreferrer"),children:al||"Open"}),(0,d.jsx)("button",{onClick:()=>{ae(!1),aw(!1),ag(""),aY()},className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Stop",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]}):ah?.type==="error"?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-red-300 dark:border-red-800 bg-red-500/5 text-sm text-red-600 dark:text-red-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-sm",children:"error"}),ah.message]}),(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:a0,children:"Enable"})]}):(0,d.jsx)(h.$n,{size:"sm",icon:"vpn_lock",onClick:()=>{aM?ai({type:"error",message:`Security required: ${aN}`}):a0()},className:"bg-linear-to-r from-indigo-500 to-purple-500 hover:from-indigo-600 hover:to-purple-600 text-white!",children:"Enable"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)("div",{className:"flex-1 flex items-center gap-2 px-3 py-1.5 rounded border border-amber-300 dark:border-amber-800 bg-amber-500/5 text-sm text-amber-600 dark:text-amber-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),aE?"Tailscale reconnecting...":"Tailscale checking..."]}),(0,d.jsx)("button",{onClick:()=>aA(!0),className:"p-2 hover:bg-red-500/10 rounded text-red-500 transition-colors shrink-0",title:"Disable Tailscale",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"power_settings_new"})})]})]})]}),aM&&!H&&!Z&&(0,d.jsx)("div",{className:"mt-4",children:(0,d.jsx)(n,{message:aN,action:{label:"Open settings",href:"/dashboard/profile"}})}),(H||Z)&&(0,d.jsxs)("div",{className:"mt-4 flex flex-col gap-2",children:[!x&&(0,d.jsx)(n,{message:"Require API key is disabled — your endpoint is publicly accessible without authentication.",action:{label:"Enable",href:"#require-api-key"}}),(!z||!B)&&(0,d.jsx)(n,{message:z?"Dashboard uses the default password — change it in Profile settings.":"Require login is disabled — anyone can access your dashboard via tunnel.",action:{label:z?"Change password":"Enable",href:"/dashboard/profile"}})]}),(H||Z)&&(0,d.jsxs)("div",{className:"mt-4 pt-4 border-t border-border flex items-center gap-3",children:[(0,d.jsx)(h.lM,{checked:D,onChange:()=>aO(!D)}),(0,d.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,d.jsx)("p",{className:"font-medium text-sm",children:"Allow dashboard access via tunnel"}),(0,d.jsx)(m,{text:"When enabled, the dashboard can be accessed through your tunnel or Tailscale URL (login still required). When disabled, dashboard access via tunnel/Tailscale is completely blocked."})]})]})]}),(0,d.jsxs)(h.Zp,{id:"require-api-key",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between mb-4",children:[(0,d.jsxs)("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"vpn_key"}),"API Keys"]}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>q(!0),children:"Create Key"})]}),(0,d.jsxs)("div",{className:"flex items-center justify-between pb-4 mb-4 border-b border-border",children:[(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"font-medium",children:"Require API key"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Requests without a valid key will be rejected"})]}),(0,d.jsx)(h.lM,{checked:x,onChange:()=>aP(!x)})]}),aI&&!x&&(0,d.jsx)("div",{className:"mb-4 -mt-2",children:(0,d.jsx)(n,{message:"Endpoint is exposed without an API key."})}),0===b.length?(0,d.jsxs)("div",{className:"text-center py-12",children:[(0,d.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"vpn_key"})}),(0,d.jsx)("p",{className:"text-text-main font-medium mb-1",children:"No API keys yet"}),(0,d.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Create your first API key to get started"}),(0,d.jsx)(h.$n,{icon:"add",onClick:()=>q(!0),children:"Create Key"})]}):(0,d.jsx)("div",{className:"flex flex-col",children:b.map(a=>{var b;return(0,d.jsxs)("div",{className:`group flex items-center justify-between py-3 border-b border-black/[0.03] dark:border-white/[0.03] last:border-b-0 ${!1===a.isActive?"opacity-60":""}`,children:[(0,d.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,d.jsx)("p",{className:"text-sm font-medium",children:a.name}),(0,d.jsxs)("div",{className:"flex items-center gap-2 mt-1",children:[(0,d.jsx)("code",{className:"text-xs text-text-muted font-mono",children:aG.has(a.id)?a.key:(b=a.key)&&!(b.length<=10)?b.slice(0,6)+"•".repeat(b.length-10)+b.slice(-4):b||""}),(0,d.jsx)("button",{onClick:()=>{var b;return b=a.id,void aH(a=>{let c=new Set(a);return c.has(b)?c.delete(b):c.add(b),c})},className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",title:aG.has(a.id)?"Hide key":"Show key",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:aG.has(a.id)?"visibility_off":"visibility"})}),(0,d.jsx)("button",{onClick:()=>aL(a.key,a.id),className:"p-1 hover:bg-black/5 dark:hover:bg-white/5 rounded text-text-muted hover:text-primary opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:aK===a.id?"check":"content_copy"})})]}),(0,d.jsxs)("p",{className:"text-xs text-text-muted mt-1",children:["Created ",new Date(a.createdAt).toLocaleDateString()]}),!1===a.isActive&&(0,d.jsx)("p",{className:"text-xs text-orange-500 mt-1",children:"Paused"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(h.lM,{size:"sm",checked:a.isActive??!0,onChange:b=>{a.isActive&&!b?w({title:"Pause API Key",message:`Pause API key "${a.name}"?
2
+
3
+ This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{w(null),a3(a.id,b)}}):a3(a.id,b)},title:a.isActive?"Pause key":"Resume key"}),(0,d.jsx)("button",{onClick:()=>a2(a.id),className:"p-2 hover:bg-red-500/10 rounded text-red-500 opacity-100 sm:opacity-0 sm:group-hover:opacity-100 transition-all",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},a.id)})})]}),(0,d.jsx)(h.aF,{isOpen:p,title:"Create API Key",onClose:()=>{q(!1),s("")},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(h.pd,{label:"Key Name",value:r,onChange:a=>s(a.target.value),placeholder:"Production Key"}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a1,fullWidth:!0,disabled:!r.trim(),children:"Create"}),(0,d.jsx)(h.$n,{onClick:()=>{q(!1),s("")},variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:!!t,title:"API Key Created",onClose:()=>u(null),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4",children:[(0,d.jsx)("p",{className:"text-sm text-yellow-800 dark:text-yellow-200 mb-2 font-medium",children:"Save this key now!"}),(0,d.jsx)("p",{className:"text-sm text-yellow-700 dark:text-yellow-300",children:"This is the only time you will see this key. Store it securely."})]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.pd,{value:t||"",readOnly:!0,className:"flex-1 font-mono text-sm"}),(0,d.jsx)(h.$n,{variant:"secondary",icon:"created_key"===aK?"check":"content_copy",onClick:()=>aL(t,"created_key"),children:"created_key"===aK?"Copied!":"Copy"})]}),(0,d.jsx)(h.$n,{onClick:()=>u(null),fullWidth:!0,children:"Done"})]})}),(0,d.jsx)(h.aF,{isOpen:V,title:"Enable Tunnel",onClose:()=>W(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("div",{className:"bg-surface-2 border border-border-subtle rounded-lg p-4",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-primary",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm text-text-main font-medium mb-1",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Expose your local 9Router to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere."})]})]})}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:j.oX.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center text-center p-3 rounded-lg bg-sidebar/50",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-xl text-primary mb-1",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aS,fullWidth:!0,children:"Start Tunnel"}),(0,d.jsx)(h.$n,{onClick:()=>W(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:X,title:"Disable Tunnel",onClose:()=>!P&&Y(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aT,fullWidth:!0,disabled:P,variant:"danger",children:P?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>Y(!1),variant:"ghost",fullWidth:!0,disabled:P,children:"Cancel"})]})]})}),(0,d.jsx)(h.aF,{isOpen:ax,title:"Tailscale Funnel",onClose:()=>{ap||(ay(!1),au(""),ai(null))},children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===an&&(0,d.jsxs)("p",{className:"text-sm text-text-muted flex items-center gap-2",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Checking..."]}),!1===an&&!ap&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:aV,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(h.$n,{onClick:()=>ay(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),ap&&(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[(0,d.jsx)("span",{className:"material-symbols-outlined animate-spin text-sm",children:"progress_activity"}),"Installing Tailscale..."]}),ar.length>0&&(0,d.jsx)("div",{ref:aB,className:"bg-black/5 dark:bg-white/5 rounded p-2 max-h-40 overflow-y-auto font-mono text-xs text-text-muted",children:ar.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===an&&!ap&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-green-600 dark:text-green-400",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:()=>aZ(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(h.$n,{onClick:()=>ay(!1),variant:"ghost",fullWidth:!0,children:"Cancel"})]})]}),ah&&(0,d.jsx)(l,{status:ah})]})}),(0,d.jsx)(h.aF,{isOpen:az,title:"Disable Tailscale",onClose:()=>!ad&&aA(!1),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)("p",{className:"text-sm text-text-muted",children:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(h.$n,{onClick:a_,fullWidth:!0,disabled:ad,variant:"danger",children:ad?"Disabling...":"Disable"}),(0,d.jsx)(h.$n,{onClick:()=>aA(!1),variant:"ghost",fullWidth:!0,disabled:ad,children:"Cancel"})]})]})}),(0,d.jsx)(h.uo,{isOpen:!!v,onClose:()=>w(null),onConfirm:v?.onConfirm,title:v?.title||"Confirm",message:v?.message,variant:"danger"})]})}o.propTypes={machineId:g().string.isRequired}},87250:(a,b,c)=>{"use strict";c.d(b,{D:()=>e});var d=c(54603);async function e(){return await (0,d.Xj)()}}};
@@ -1 +1 @@
1
- "use strict";exports.id=7220,exports.ids=[7220],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(58246)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>A,OPTIONS:()=>z,buildModelsList:()=>y});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(29679),i=c(52007),j=c(53225),k=c(39609),l=c(75924),m=c(8521);let n=new Map;async function o(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,k.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${l.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${l.x0.COPILOT_CHAT_VERSION}`,"user-agent":l.x0.USER_AGENT,"x-github-api-version":l.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function p(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=n.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await o(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,m.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await o(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(n.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var q=c(67828),r=c(66306);let s={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,j.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,i.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await p({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,q.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null}},t=/[-_][0-9a-f]{8,}$/i,u={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function v(a){let b=a?.kind||a?.type;return b&&u[b]||"llm"}async function w(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function x(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function y(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let c=[];try{c=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let h=[];try{h=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let j={};try{j=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let k=(a,b)=>Array.isArray(j[a])&&j[a].includes(b),l=new Map;for(let a of b)l.has(a.provider)||l.set(a.provider,a);let m=[];for(let b of c){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),m.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(x(b[c]||c,a))for(let b of e)a.includes(v(b))&&(k(c,b.id)||m.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&m.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of l.entries()){if(!x(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),j=d.vq[f]||[],l=c?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,o=(0,e.mq)(b)||(0,e.gb)(b),p=new Map(j.map(a=>[a.id,v(a)])),q=new Map,u=new Map,y=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id);o&&0===y.length&&!t.test(b)&&(y=await w(c));let z=s[b];if(z&&!n)try{let a=await z(c);a?.models?.length&&(y=a.models.map(a=>a.id),q=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,v(a)])),u=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let A=y.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),B=new Map;for(let c of Array.from(new Set([...A,...h.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&B.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=B.get(c),d=q.get(c),e=b||d||p.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),h="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!h||k(g,c)||k(f,c))continue;let i={id:`${g}/${c}`,object:"model",owned_by:g},j=u.get(c)||(0,r.a0)(b||d);j&&(i.capabilities=j),m.push(i)}let C=e.AI_PROVIDERS[b];a.includes("webSearch")&&C?.searchConfig&&m.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&C?.fetchConfig&&m.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let n=[],o=new Set;for(let a of m)!a?.id||o.has(a.id)||(o.add(a.id),n.push(a));return n}async function z(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function A(){try{let a=await y(["llm"]);return Response.json({object:"list",data:a},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8521);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
1
+ "use strict";exports.id=7220,exports.ids=[7220],exports.modules={16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(58246)},19225:(a,b,c)=>{a.exports=c(44870)},27547:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>A,OPTIONS:()=>z,buildModelsList:()=>y});var d=c(81329),e=c(40615),f=c(89718),g=c(16655),h=c(29679),i=c(52007),j=c(53225),k=c(58337),l=c(75924),m=c(8521);let n=new Map;async function o(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,k.proxyAwareFetch)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json","Copilot-Integration-Id":"vscode-chat","editor-version":`vscode/${l.x0.VSCODE_VERSION}`,"editor-plugin-version":`copilot-chat/${l.x0.COPILOT_CHAT_VERSION}`,"user-agent":l.x0.USER_AGENT,"x-github-api-version":l.x0.API_VERSION},cache:"no-store",signal:b||c.signal});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function p(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=n.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await o(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,m.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await o(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(n.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var q=c(67828),r=c(66306);let s={kiro:async a=>{let b=await (0,h.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},qoder:async a=>{let b=await (0,j.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}});return b?.models?.length?{models:b.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async a=>{let b=await (0,i.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console});return b?.models?.length?{models:b.models}:null},github:async a=>{let b=await p({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,onCredentialsRefreshed:async b=>{await (0,q.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return b?.models?.length?{models:b.models}:null}},t=/[-_][0-9a-f]{8,}$/i,u={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function v(a){let b=a?.kind||a?.type;return b&&u[b]||"llm"}async function w(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{var f;let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let g=(f=await e.json(),Array.isArray(f)?f:f?.data||f?.models||f?.results||[]);return Array.from(new Set(g.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim())))}catch{return[]}}function x(a,b){let c=e.AI_PROVIDERS[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function y(a){let b=[];try{b=(b=await (0,f.getProviderConnections)()).filter(a=>!1!==a.isActive)}catch(a){console.log("Could not fetch providers, returning all models")}let c=[];try{c=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let h=[];try{h=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let i={};try{i=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let j={};try{j=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let k=(a,b)=>Array.isArray(j[a])&&j[a].includes(b),l=new Map;for(let a of b)l.has(a.provider)||l.set(a.provider,a);let m=[];for(let b of c){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;let c={id:b.name,object:"model",owned_by:"combo"};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),m.push(c)}if(0===b.length){let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(x(b[c]||c,a))for(let b of e)a.includes(v(b))&&(k(c,b.id)||m.push({id:`${c}/${b.id}`,object:"model",owned_by:c}));for(let b of h){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&m.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[b,c]of l.entries()){if(!x(b,a))continue;let f=d.Xg[b]||b,g=(c?.providerSpecificData?.prefix||(0,e.wG)(b)||f).trim(),j=d.vq[f]||[],l=c?.providerSpecificData?.enabledModels,n=Array.isArray(l)&&l.length>0,o=(0,e.mq)(b)||(0,e.gb)(b),p=new Map(j.map(a=>[a.id,v(a)])),q=new Map,u=new Map,y=n?Array.from(new Set(l.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id);o&&0===y.length&&!t.test(b)&&(y=await w(c));let z=s[b];if(z&&!n)try{let a=await z(c);a?.models?.length&&(y=a.models.map(a=>a.id),q=new Map(a.models.filter(a=>a?.id).map(a=>[a.id,v(a)])),u=new Map(a.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])))}catch(a){console.log(`Live model fetch failed for ${b}: ${a?.message||a}`)}let A=y.map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),B=new Map;for(let c of Array.from(new Set([...A,...h.filter(c=>{if(!c?.id)return!1;let e=(0,d.CP)(c)||"llm";if(!a.includes(e)&&!("imageToText"===e&&a.includes("llm")))return!1;let h=c.providerAlias;return h===f||h===g||h===b}).map(a=>{let b=String(a.id).trim();return b&&B.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(i||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${g}/`)||a.startsWith(`${f}/`)||a.startsWith(`${b}/`))).map(a=>a.startsWith(`${g}/`)?a.slice(g.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a.startsWith(`${b}/`)?a.slice(b.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let b=B.get(c),d=q.get(c),e=b||d||p.get(c)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(c),h="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!h||k(g,c)||k(f,c))continue;let i={id:`${g}/${c}`,object:"model",owned_by:g},j=u.get(c)||(0,r.a0)(b||d);j&&(i.capabilities=j),m.push(i)}let C=e.AI_PROVIDERS[b];a.includes("webSearch")&&C?.searchConfig&&m.push({id:`${g}/search`,object:"model",kind:"webSearch",owned_by:g}),a.includes("webFetch")&&C?.fetchConfig&&m.push({id:`${g}/fetch`,object:"model",kind:"webFetch",owned_by:g})}let n=[],o=new Set;for(let a of m)!a?.id||o.has(a.id)||(o.add(a.id),n.push(a));return n}async function z(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function A(){try{let a=await y(["llm"]);return Response.json({object:"list",data:a},{headers:{"Access-Control-Allow-Origin":"*"}})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:a.message,type:"server_error"}},{status:500})}}},29679:(a,b,c)=>{c.d(b,{cW:()=>l});var d=c(94755),e=c(55511),f=c(8521);let g="1.0.0",h="0.10.32",i="us-east-1",j=new Map;async function k(a,b){let c,f,j,k=a?.providerSpecificData?.profileArn||"",l=function(a){if(!a||"string"!=typeof a)return i;let b=a.split(":");return b.length>=4&&b[3]?b[3]:i}(k),m=new URLSearchParams;m.set("origin","AI_EDITOR"),k&&m.set("profileArn",k);let n=`https://q.${l}.amazonaws.com/ListAvailableModels?${m.toString()}`,o={...(f=a?.providerSpecificData?.clientId||a?.refreshToken||a?.providerSpecificData?.profileArn||a?.accessToken||"kiro-anonymous",j=(0,e.createHash)("sha256").update(String(f)).digest("hex"),{"User-Agent":`aws-sdk-js/${g} ua/2.1 os/windows#10.0.26200 lang/js md/nodejs#22.21.1 api/codewhispererruntime#${g} m/N,E KiroIDE-${h}-${j}`,"x-amz-user-agent":`aws-sdk-js/${g} KiroIDE-${h}-${j}`,"x-amzn-kiro-agent-mode":"vibe","x-amzn-codewhisperer-optout":"true","amz-sdk-request":"attempt=1; max=1","amz-sdk-invocation-id":(0,d.A)(),Accept:"application/json"}),Authorization:`Bearer ${a?.accessToken||""}`},p=new AbortController,q=setTimeout(()=>p.abort("timeout"),3e4);b&&"function"==typeof b.addEventListener&&b.addEventListener("abort",()=>p.abort(b.reason));try{c=await fetch(n,{method:"GET",headers:o,signal:p.signal})}finally{clearTimeout(q)}if(!c.ok){let a=await c.text().catch(()=>""),b=Error(`Kiro ListAvailableModels ${c.status}: ${a||c.statusText}`);throw b.status=c.status,b.body=a,b}let r=await c.json();return Array.isArray(r?.models)?r.models:[]}async function l(a,b={}){let c,d,g;if(!a||!a.accessToken)return b.log?.debug?.("KIRO_MODELS","No accessToken; skipping live fetch"),null;let h=(g=(d=a?.providerSpecificData||{}).profileArn||d.clientId||a?.refreshToken||a?.accessToken||"anonymous",(0,e.createHash)("sha256").update(`kiro:${g}`).digest("hex")),i=Date.now();if(!b.forceRefresh){let a=j.get(h);if(a&&a.expiresAt>i)return{models:a.models,rawModels:a.rawModels}}try{c=await k(a,b.signal)}catch(d){if(!d||401!==d.status||!a.refreshToken)return b.log?.warn?.("KIRO_MODELS",`ListAvailableModels failed: ${d?.message||d}`),null;{b.log?.info?.("KIRO_MODELS","Got 401 from Kiro; refreshing token");let d=await (0,f.Ql)(a.refreshToken,a.providerSpecificData,b.log);if(!d?.accessToken)return b.log?.warn?.("KIRO_MODELS","Token refresh did not return accessToken"),null;{let e={...a,...d};if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed(d)}catch(a){b.log?.warn?.("KIRO_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await k(e,b.signal),a.accessToken=e.accessToken,e.refreshToken&&(a.refreshToken=e.refreshToken)}catch(a){return b.log?.warn?.("KIRO_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}}let m=[];for(let a of c){if(!a||"object"!=typeof a)continue;let b=a.modelId||a.id;if(!b)continue;let c=function(a,b,c){let d=(a||b||"Kiro").trim(),e=Number(c);if(!Number.isFinite(e)||1e-9>Math.abs(e-1)||e<=0)return`Kiro ${d}`;let f=e.toFixed(1).replace(",",".");return`Kiro ${d} (${f}x credit)`}(a.modelName,b,a.rateMultiplier),d=Number(a?.tokenLimits?.maxInputTokens)||2e5;for(let e of function(a,b){let c,d=((c=a).endsWith("-agentic")&&(c=c.slice(0,-8)),c.endsWith("-thinking")&&(c=c.slice(0,-9)),c),e=b||`Kiro ${d}`,f=[{id:d,name:e,capabilities:{thinking:!1,agentic:!1}},{id:`${d}-thinking`,name:`${e} (Thinking)`,capabilities:{thinking:!0,agentic:!1}}];return"auto"!==d&&(f.push({id:`${d}-agentic`,name:`${e} (Agentic)`,capabilities:{thinking:!1,agentic:!0}}),f.push({id:`${d}-thinking-agentic`,name:`${e} (Thinking + Agentic)`,capabilities:{thinking:!0,agentic:!0}})),f}(b,c))m.push({...e,contextLength:d,rateMultiplier:Number.isFinite(Number(a.rateMultiplier))?Number(a.rateMultiplier):1,upstreamModelId:b,description:a.description||""})}return j.set(h,{expiresAt:i+3e5,models:m,rawModels:c}),{models:m,rawModels:c}}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=8238,exports.ids=[615,5699,8238],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},38238:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89718),e=c(30869),f=c(54603);async function g(){let a=null;try{let b=await (0,d.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,f.Xj)("9r-cli-auth"),b}async function h(a,b,c=`http://127.0.0.1:${process.env.PORT||e.h0.appPort}`){let d=await g(),f=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,g,h,i=new FormData,j=(g=new DataView(e=new ArrayBuffer(44+(b=2*Math.max(1,Math.floor(4e3))))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-f,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}let i=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:16,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(15e3)}),j=Date.now()-f,k=await i.text().catch(()=>""),l=null;try{l=k?JSON.parse(k):null}catch{}if(!i.ok){let a=l?.error?.message||l?.msg||l?.message||l?.error||k;return{ok:!1,latencyMs:j,error:`HTTP ${i.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:i.status}}let m=l?.status,n=l?.msg||l?.message;if(null!=m&&"200"!==String(m)&&"0"!==String(m)&&n)return{ok:!1,latencyMs:j,status:i.status,error:`Provider status ${m}: ${String(n).slice(0,240)}`};if(l?.error){let a=l?.error?.message||l?.error||"Provider returned an error";return{ok:!1,latencyMs:j,status:i.status,error:String(a).slice(0,240)}}return Array.isArray(l?.choices)&&l.choices.length>0?{ok:!0,latencyMs:j,error:null,status:i.status}:{ok:!1,latencyMs:j,status:i.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.5.25"}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},45699:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>q,ux:()=>k,OA:()=>l,kt:()=>m,KC:()=>p,SM:()=>i});var d=c(35024),e=c(30255),f=c(26070),g=c(99511);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a){let b=o[a]||a;return f.vq[b]||[]}function q(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},89718:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CG:()=>d.CG,CK:()=>d.CK,Dj:()=>d.Dj,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Iq:()=>d.Iq,Is:()=>d.Is,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,Rp:()=>d.Rp,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,Wq:()=>d.Wq,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,ik:()=>d.ik,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,q5:()=>d.q5,r4:()=>d.r4,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(58246)}};
1
+ "use strict";exports.id=8238,exports.ids=[615,5699,8238],exports.modules={30869:(a,b,c)=>{c.d(b,{UY:()=>h,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(40615),f=c(81329);d.rE;let g={npmPackageName:"9router",installCmd:"npm i -g 9router",installCmdLatest:"npm i -g 9router@latest --prefer-online",shutdownCountdownSec:3,exitDelayMs:500,statusPort:20129,statusPollIntervalMs:1e3,statusLogTailLines:8,installRetries:3,installRetryDelayMs:5e3,lingerAfterDoneMs:3e4,waitForExitMinMs:5e3,waitForExitMaxMs:2e4,waitForExitCheckMs:500,appPort:20128},h={maxLines:200,pollIntervalMs:1e3},i={tickIntervalMs:6e4,pingLeadMs:5e3,refreshAheadMs:3e5,failureCooldownMs:9e5,providers:{claude:{settingsKey:"claudeAutoPing",quotaKey:"session (5h)",pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1},codex:{settingsKey:"codexAutoPing",quotaKey:"session",pingWhenResetAtSlides:!0,resetAtDriftMs:3e4,minPingIntervalMs:6e5,skipWhenBlockingQuotaExhausted:!0,pingModel:"gpt-5.5",pingText:"hi",pingInstructions:"Reply with OK.",pingReasoningEffort:"none"}}}},35024:(a,b,c)=>{c.d(b,{Ak:()=>e,Yg:()=>h,sr:()=>d.sr,xq:()=>d.xq});var d=c(26070);function e(a){return(a?.providerSpecificData?.baseUrl?.trim()||"http://localhost:11434").replace(/\/$/,"")}let f=d.xq["xiaomi-tokenplan"]?.regions||{},g=d.xq["xiaomi-tokenplan"]?.defaultRegion;function h(a){return f[a?.providerSpecificData?.region]||f[g]}},38238:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89718),e=c(30869),f=c(54603);async function g(){let a=null;try{let b=await (0,d.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,f.Xj)("9r-cli-auth"),b}async function h(a,b,c=`http://127.0.0.1:${process.env.PORT||e.h0.appPort}`){let d=await g(),f=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,g,h,i=new FormData,j=(g=new DataView(e=new ArrayBuffer(44+(b=2*Math.max(1,Math.floor(4e3))))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-f,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}let i=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:d,body:JSON.stringify({model:a,max_tokens:16,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(15e3)}),j=Date.now()-f,k=await i.text().catch(()=>""),l=null;try{l=k?JSON.parse(k):null}catch{}if(!i.ok){let a=l?.error?.message||l?.msg||l?.message||l?.error||k;return{ok:!1,latencyMs:j,error:`HTTP ${i.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:i.status}}let m=l?.status,n=l?.msg||l?.message;if(null!=m&&"200"!==String(m)&&"0"!==String(m)&&n)return{ok:!1,latencyMs:j,status:i.status,error:`Provider status ${m}: ${String(n).slice(0,240)}`};if(l?.error){let a=l?.error?.message||l?.error||"Provider returned an error";return{ok:!1,latencyMs:j,status:i.status,error:String(a).slice(0,240)}}return Array.isArray(l?.choices)&&l.choices.length>0?{ok:!0,latencyMs:j,error:null,status:i.status}:{ok:!1,latencyMs:j,status:i.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.5.26"}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},45699:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>q,ux:()=>k,OA:()=>l,kt:()=>m,KC:()=>p,SM:()=>i});var d=c(35024),e=c(30255),f=c(26070),g=c(99511);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a){let b=o[a]||a;return f.vq[b]||[]}function q(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},54603:(a,b,c)=>{c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.n,"machine-id"),m=h().join(k.n,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.n,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="9r-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},81329:(a,b,c)=>{c.d(b,{CP:()=>f,Xg:()=>d.Xg,eh:()=>e,vq:()=>d.PROVIDER_MODELS});var d=c(45699);Object.entries(c(40615).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.PROVIDER_MODELS).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name}))),f=(a,b=null)=>a?.kind||a?.type||b},89718:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CG:()=>d.CG,CK:()=>d.CK,Dj:()=>d.Dj,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Iq:()=>d.Iq,Is:()=>d.Is,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,Rp:()=>d.Rp,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,Wq:()=>d.Wq,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,ik:()=>d.ik,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,q5:()=>d.q5,r4:()=>d.r4,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(58246)}};
@@ -1 +1 @@
1
- "use strict";exports.id=8271,exports.ids=[615,1998,8271],exports.modules={6551:(a,b,c)=>{c.d(b,{R:()=>k,T:()=>j});var d=c(39609),e=c(24295);let f={usageUrl:(0,e.U)("codex").url,resetCreditsConsumeUrl:(0,e.U)("codex").resetCreditsConsumeUrl};function g(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function h(a){let b=Math.max(0,Math.min(100,(0,e.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,e.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function i(a,b,c){let d=g(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,i=!1;return e&&(a[b?`${b}_session`:"session"]=h(e),i=!0),f&&(a[b?`${b}_weekly`:"weekly"]=h(f),i=!0),i}async function j(a,b=null){try{let c=await (0,d.proxyAwareFetch)(f.usageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let h=await c.json(),j=h.rate_limit||h.rate_limits||h.rate_limits_by_limit_id?.codex||{},k=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(h),l=Math.max(0,(0,e.IQ)(h.rate_limit_reset_credits?.available_count,0)),m={};return i(m,"",j),i(m,"review",k),{plan:h.plan_type||h.summary?.plan||"unknown",limitReached:g(j)?.limit_reached||!1,reviewLimitReached:g(k)?.limit_reached||!1,resetCredits:{availableCount:l},quotas:m}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function k(a,b,c=null){let g;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");if(!b||"string"!=typeof b)throw Error("A redeem request id is required to consume a Codex reset credit.");let h=null;try{g=await (0,d.proxyAwareFetch)(f.resetCreditsConsumeUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({redeem_request_id:b})},c);let e=await g.text();h=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let i=h?.code||null,j=(0,e.IQ)(h?.windows_reset,0);return{ok:g.ok&&("reset"===i||j>0),noCredit:g.ok&&"no_credit"===i,status:g.status,code:i,windowsReset:j,message:h?.message||null,raw:h}}},18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m,refreshAndUpdateCredentials:()=>l});var e=c(48895),f=c(89718),g=c(99002),h=c(55330),i=c(39326),j=c(40615),k=a([e,h]);[e,h]=k.then?(await k)():k;let n=["expired","authentication","unauthorized","401","re-authorize"];async function l(a,b=!1,c=null){let d=(0,h.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let i={updatedAt:new Date().toISOString()};g.accessToken&&(i.accessToken=g.accessToken),g.refreshToken&&(i.refreshToken=g.refreshToken),g.idToken&&(i.idToken=g.idToken),g.lastRefreshAt&&(i.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(i.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),i.expiresIn=g.expiresIn):g.expiresAt&&(i.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(i.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,i),{connection:{...a,...i,providerSpecificData:i.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function m(a,{params:b}){let c;try{let{connectionId:a}=await b;if(!(c=await (0,f.Mc)(a)))return Response.json({error:"Connection not found"},{status:404});let d="oauth"===c.authType,e=("apikey"===c.authType||"api_key"===c.authType)&&j.jO.includes(c.provider);if(!d&&!e)return Response.json({message:"Usage not available for this connection"});let h=await (0,i.B)(c.providerSpecificData),k={connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1};if(d)try{c=(await l(c,!1,k)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let m=await (0,g.m)(c,k);if(d&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return n.some(a=>b.includes(a))}(m)&&c.refreshToken)try{c=(await l(c,!0,k)).connection,m=await (0,g.m)(c,k)}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}return Response.json(m)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},24295:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(26070),e=c(39609);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},69788:(a,b,c)=>{c.d(b,{g:()=>i});var d=c(39609),e=c(74129),f=c(24295);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,apiVersion:e.b8},h=new Map;async function i(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await j(a,b);let e=await (0,d.proxyAwareFetch)(g.oauthUsageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion}},b);if(e.ok){let a=await e.json(),b={},c=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,d=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:(0,f.eZ)(a.resets_at),unlimited:!1}};for(let[e,f]of(c(a.five_hour)&&(b["session (5h)"]=d(a.five_hour)),c(a.seven_day)&&(b["weekly (7d)"]=d(a.seven_day)),Object.entries(a)))if(e.startsWith("seven_day_")&&"seven_day"!==e&&c(f)){let a=e.replace("seven_day_","");b[`weekly ${a} (7d)`]=d(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return 429===e.status&&h.set(a,Date.now()+18e4),console.warn(`[Claude Usage] OAuth endpoint returned ${e.status}, falling back to legacy`),await j(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function j(a,b=null){try{let c=await (0,d.proxyAwareFetch)(g.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let e=await c.json();if(e.organization_id){let c=await (0,d.proxyAwareFetch)(g.usageUrl.replace("{org_id}",e.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let a=await c.json();return{plan:e.plan||"Unknown",organization:e.organization_name,quotas:a}}}return{plan:e.plan||"Unknown",organization:e.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Is:()=>d.Is,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},99002:(a,b,c)=>{c.d(b,{R:()=>r.R,m:()=>O});var d=c(39609),e=c(26070),f=c(24295);let g={apiVersion:e.sr.github?.apiVersion,userAgent:e.sr.github?.userAgent};async function h(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,d.proxyAwareFetch)((0,f.U)("github").url,{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":g.apiVersion,"User-Agent":g.userAgent,"Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let e=await b.json();if(e.quota_snapshots){let a=e.quota_snapshots,b=(0,f.eZ)(e.quota_reset_date);return{plan:e.copilot_plan,resetDate:e.quota_reset_date,quotas:{chat:{...i(a.chat),resetAt:b},completions:{...i(a.completions),resetAt:b},premium_interactions:{...i(a.premium_interactions),resetAt:b}}}}if(e.monthly_quotas||e.limited_user_quotas){let a=e.monthly_quotas||{},b=e.limited_user_quotas||{},c=(0,f.eZ)(e.limited_user_reset_date);return{plan:e.copilot_plan||e.access_type_sku,resetDate:e.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function i(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}var j=c(75924),k=c(74129);let l={...(0,f.U)("antigravity"),...k.XP,userAgent:(0,j.A9)()};async function m(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d=(0,f.gD)(b?.projectId),e="Free";if(!d){let b=await n(a,c);d=(0,f.gD)(b?.cloudaicompanionProject),e=b?.currentTier?.name||e}if(!d)return{plan:e,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let g=await (0,f.u9)((0,f.U)("gemini-cli").quotaUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:d})},1e4,c);if(!g.ok)return{plan:e,message:`Gemini CLI quota error (${g.status}).`};let h=await g.json(),i={};if(Array.isArray(h.buckets))for(let a of h.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);i[a.modelId]={used:d,total:1e3,resetAt:(0,f.eZ)(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:e,quotas:i}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}async function n(a,b=null){try{let c=await (0,f.u9)((0,f.U)("gemini-cli").loadCodeAssistUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:j.Cn})},1e4,b);if(!c.ok)return null;return await c.json()}catch{return null}}async function o(a,b,c=null){try{let b=await p(a,c),d=b?.cloudaicompanionProject||null,e=await (0,f.u9)(l.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":l.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":"1.107.0","x-request-source":"local"},body:JSON.stringify({...d?{project:d}:{}})},1e4,c);if(403===e.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===e.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!e.ok)throw Error(`Antigravity API error: ${e.status}`);let g=await e.json(),h={};if(g.models){let a=["gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash","gemini-3.1-flash-image","gemini-3-pro-image"];for(let[b,c]of Object.entries(g.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d=c.quotaInfo.remainingFraction||0,e=100*d,g=Math.round(1e3*d),i=1e3-g;h[b]={used:i,total:1e3,resetAt:(0,f.eZ)(c.quotaInfo.resetTime),remainingPercentage:e,unlimited:!1,displayName:c.displayName||b}}}return{plan:b?.currentTier?.name||"Unknown",quotas:h,subscriptionInfo:b}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function p(a,b=null){try{let c=await (0,f.u9)(l.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":l.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:j.Cn,mode:1})},1e4,b);if(!c.ok)return null;return await c.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}}var q=c(69788),r=c(6551),s=c(6382);async function t(a,b,c=null){let e=b?.authMethod||"builder-id",g="api_key"===e,h=g?{tokentype:"API_KEY"}:{},i="external_idp"===e?{TokenType:"EXTERNAL_IDP"}:{},j=g?b?.profileArn||"":b?.profileArn||(0,s.We)(e),k=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),l=!1,m=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").cwHost}${(0,f.U)("kiro").limitsPath}?${k.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE",...h,...i}},c)},{name:"codewhisperer-post",run:async()=>(0,d.proxyAwareFetch)((0,f.U)("kiro").cwHost,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...h,...i},body:JSON.stringify({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"});return(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").qHost}${(0,f.U)("kiro").limitsPath}?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...h,...i}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(l=!0),m.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=(0,f.eZ)(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,g=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:g,remaining:g-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,g=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:g,remaining:g-e,resetAt:(0,f.eZ)(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){m.push(`${b.name}:${a.message}`)}return l&&"idc"===e?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:l&&("google"===e||"github"===e)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:l?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:m.length>0?`Unable to fetch Kiro usage right now. (${m[m.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}let u={minimax:(0,f.U)("minimax").urls,"minimax-cn":(0,f.U)("minimax-cn").urls};function v(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function w(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function x(a){return Math.max(0,Number(v(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function y(a){return Math.max(0,Number(v(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function z(a){return!!(x(a)>0||y(a)>0)||null!==w(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==w(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function A(a,b,c,d,e,g,h,i,j,k){let l=d(c),m=w(c,h,i);if(l<=0&&null===m)return;let n=Math.max(0,Number(v(c,e,g))||0),o=l,p=n;l<=0&&(o=100,p=k?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,p,function(a,b,c,d,e,g){let h=Number(v(a,c,d))||0;return h>0?new Date(b+h).toISOString():(0,f.eZ)(v(a,e,g))}(c,...j),k,m)}async function B(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let e=u[b]||[],f="";for(let b=0;b<e.length;b+=1){let g=e[b],h=b<e.length-1;try{let b=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),e=await b.text(),i={};if(e)try{i=JSON.parse(e)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${e}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(z);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(v(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);A(s,`${b} (5h)`,a,x,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),A(s,`${b} (7d)`,a,y,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}let C="codebuddy-cn";function D(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function E(a,b,c,g=null){let h=a||b;if(!h)return{message:"CodeBuddy CN credential not available."};try{let a=await (0,d.proxyAwareFetch)((0,f.U)(C).url,{method:"POST",headers:{...e.xq[C]?.headers||{},Authorization:`Bearer ${h}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}"},g);if(401===a.status||403===a.status)return{message:"CodeBuddy CN credential invalid or expired."};if(!a.ok)return{message:`CodeBuddy CN quota API error (${a.status}).`};let b=await a.json();if(b?.code!==0)return{message:`CodeBuddy CN quota error: ${b?.msg||"unknown"}`};let c=b?.data?.Response?.Data||{},i=Array.isArray(c.Accounts)?c.Accounts:[];if(0===i.length)return{message:"CodeBuddy CN connected. No credit package found."};let j=a=>{let b=(0,f.eZ)(a.CycleEndTime);return b?new Date(b).getTime():1/0},k=a=>{let b=j(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},l=(a,b)=>j(a)-j(b),m=i.filter(k).sort(l),n=i.filter(a=>!k(a)).sort(l),o={},p={};m.forEach(a=>{let b=function(a){let b=(0,f.eZ)(a.CycleStartTime),c=(0,f.eZ)(a.CycleEndTime);if(b&&c){let a=(new Date(c).getTime()-new Date(b).getTime())/864e5;if(a<=1.5)return"Daily";if(a<=10)return"Weekly"}return"Monthly"}(a);p[b]=(p[b]||0)+1,o[p[b]>1?`${b} ${p[b]}`:b]={used:D(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:D(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),n.forEach((a,b)=>{o[`Bonus Pack ${b+1}`]={used:D(a.CapacityUsedPrecise,a.CapacityUsed),total:D(a.CapacitySizePrecise,a.CapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!1}});let q=m[0]||i[0]||{};return{plan:q.PackageName||q.SubProductName||"CodeBuddy CN",quotas:o}}catch(a){return{message:`CodeBuddy CN error: ${a.message}`}}}let F={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url},G=(0,f.U)("vercel-ai-gateway").url;async function H(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function I(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function J(a,b){try{return{plan:b?.plan||"Free",message:"Ollama Cloud uses a free tier with light usage limits (resets every 5h & 7d). For detailed usage tracking, visit ollama.com/settings/keys.",quotas:[]}}catch(a){return{message:"Unable to fetch Ollama Cloud usage."}}}async function K(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=F["glm-cn"===b?"china":"international"];try{let b=await (0,d.proxyAwareFetch)(e,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}async function L(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(G,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let e=await c.json(),f=Number(e?.balance)||0,g=Number(e?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function M(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,d.proxyAwareFetch)((0,f.U)("qoder").url,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let e=await c.json().catch(()=>null);if(!e)return{message:"Qoder connected. Usage response was not JSON."};let g=e.userQuota||{},h=e.orgResourcePackage||{},i=Number.isFinite(Number(e.expiresAt))&&Number(e.expiresAt)>0?Number(e.expiresAt):null,j=i?new Date(i).toISOString():null;return{quotas:{user:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:j},organization:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:j}},totalUsagePercentage:Number(e.totalUsagePercentage)||0,isQuotaExceeded:!!e.isQuotaExceeded,expiresAt:i}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let N={github:a=>h(a.accessToken,a.providerSpecificData,a.proxyOptions),"gemini-cli":a=>m(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),antigravity:a=>o(a.accessToken,a.providerSpecificData,a.proxyOptions),claude:a=>(0,q.g)(a.accessToken,a.proxyOptions),codex:a=>(0,r.T)(a.accessToken,a.proxyOptions),kiro:a=>t(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>M(a.accessToken,a.proxyOptions),qwen:a=>H(a.accessToken,a.providerSpecificData),iflow:a=>I(a.accessToken),ollama:a=>J(a.accessToken),glm:a=>K(a.apiKey,a.provider,a.proxyOptions),"glm-cn":a=>K(a.apiKey,a.provider,a.proxyOptions),minimax:a=>B(a.apiKey,a.provider,a.proxyOptions),"minimax-cn":a=>B(a.apiKey,a.provider,a.proxyOptions),"vercel-ai-gateway":a=>L(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>E(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions)};async function O(a,b=null){let{provider:c,accessToken:d,apiKey:e,providerSpecificData:f,projectId:g}=a,h={...f||{},...g?{projectId:g}:{}},i=N[c];return i?await i({provider:c,accessToken:d,apiKey:e,providerSpecificData:f,providerDataWithProjectId:h,proxyOptions:b}):{message:`Usage API not implemented for ${c}`}}}};
1
+ "use strict";exports.id=8271,exports.ids=[615,1998,8271],exports.modules={6551:(a,b,c)=>{c.d(b,{R:()=>k,T:()=>j});var d=c(58337),e=c(24295);let f={usageUrl:(0,e.U)("codex").url,resetCreditsConsumeUrl:(0,e.U)("codex").resetCreditsConsumeUrl};function g(a){return!a||"object"!=typeof a||Array.isArray(a)?null:a.rate_limit&&"object"==typeof a.rate_limit?a.rate_limit:a}function h(a){let b=Math.max(0,Math.min(100,(0,e.IQ)(a?.used_percent??a?.percent_used,0)));return{used:b,total:100,remaining:Math.max(0,100-b),resetAt:(0,e.eZ)(a?.reset_at??a?.resets_at??a?.resetAt??null),unlimited:!1}}function i(a,b,c){let d=g(c);if(!d)return!1;let e=d.primary_window||d.primary||c.primary_window||c.primary,f=d.secondary_window||d.secondary||c.secondary_window||c.secondary,i=!1;return e&&(a[b?`${b}_session`:"session"]=h(e),i=!0),f&&(a[b?`${b}_weekly`:"weekly"]=h(f),i=!0),i}async function j(a,b=null){try{let c=await (0,d.proxyAwareFetch)(f.usageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Codex connected. Usage API temporarily unavailable (${c.status}).`};let h=await c.json(),j=h.rate_limit||h.rate_limits||h.rate_limits_by_limit_id?.codex||{},k=function(a){if(a.code_review_rate_limit||a.review_rate_limit)return a.code_review_rate_limit||a.review_rate_limit;let b=a.rate_limits_by_limit_id;return b&&"object"==typeof b&&!Array.isArray(b)?b.code_review||b.codex_review||b.review||null:(Array.isArray(a.additional_rate_limits)?a.additional_rate_limits:[]).find(a=>{let b=String(a?.limit_name||a?.metered_feature||a?.id||"").toLowerCase();return"code_review"===b||"codex_review"===b||"review"===b||b.includes("review")})||null}(h),l=Math.max(0,(0,e.IQ)(h.rate_limit_reset_credits?.available_count,0)),m={};return i(m,"",j),i(m,"review",k),{plan:h.plan_type||h.summary?.plan||"unknown",limitReached:g(j)?.limit_reached||!1,reviewLimitReached:g(k)?.limit_reached||!1,resetCredits:{availableCount:l},quotas:m}}catch(a){throw Error(`Failed to fetch Codex usage: ${a.message}`)}}async function k(a,b,c=null){let g;if(!a)throw Error("No Codex access token available. Please re-authorize the connection.");if(!b||"string"!=typeof b)throw Error("A redeem request id is required to consume a Codex reset credit.");let h=null;try{g=await (0,d.proxyAwareFetch)(f.resetCreditsConsumeUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({redeem_request_id:b})},c);let e=await g.text();h=e?JSON.parse(e):null}catch(a){throw Error(`Failed to consume Codex reset credit: ${a.message}`)}let i=h?.code||null,j=(0,e.IQ)(h?.windows_reset,0);return{ok:g.ok&&("reset"===i||j>0),noCredit:g.ok&&"no_credit"===i,status:g.status,code:i,windowsReset:j,message:h?.message||null,raw:h}}},18271:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>m,refreshAndUpdateCredentials:()=>l});var e=c(48895),f=c(89718),g=c(99002),h=c(55330),i=c(39326),j=c(40615),k=a([e,h]);[e,h]=k.then?(await k)():k;let n=["expired","authentication","unauthorized","401","re-authorize"];async function l(a,b=!1,c=null){let d=(0,h.SB)(a.provider),e={accessToken:a.accessToken,refreshToken:a.refreshToken,idToken:a.idToken,expiresAt:a.expiresAt||a.tokenExpiresAt,lastRefreshAt:a.lastRefreshAt,connectionId:a.id,providerSpecificData:a.providerSpecificData,copilotToken:a.providerSpecificData?.copilotToken,copilotTokenExpiresAt:a.providerSpecificData?.copilotTokenExpiresAt};if(!(b||d.needsRefresh(e)))return{connection:a,refreshed:!1};let g=await d.refreshCredentials(e,console,c);if(!g){if(a.accessToken)return{connection:a,refreshed:!1};throw Error("Failed to refresh credentials. Please re-authorize the connection.")}let i={updatedAt:new Date().toISOString()};g.accessToken&&(i.accessToken=g.accessToken),g.refreshToken&&(i.refreshToken=g.refreshToken),g.idToken&&(i.idToken=g.idToken),g.lastRefreshAt&&(i.lastRefreshAt=g.lastRefreshAt),g.expiresIn?(i.expiresAt=new Date(Date.now()+1e3*g.expiresIn).toISOString(),i.expiresIn=g.expiresIn):g.expiresAt&&(i.expiresAt=g.expiresAt);let j={...g.providerSpecificData||{},...g.copilotToken?{copilotToken:g.copilotToken}:{},...g.copilotTokenExpiresAt?{copilotTokenExpiresAt:g.copilotTokenExpiresAt}:{}};return Object.keys(j).length>0&&(i.providerSpecificData={...a.providerSpecificData||{},...j}),await (0,f.updateProviderConnection)(a.id,i),{connection:{...a,...i,providerSpecificData:i.providerSpecificData||a.providerSpecificData},refreshed:!0}}async function m(a,{params:b}){let c;try{let{connectionId:a}=await b;if(!(c=await (0,f.Mc)(a)))return Response.json({error:"Connection not found"},{status:404});let d="oauth"===c.authType,e=("apikey"===c.authType||"api_key"===c.authType)&&j.jO.includes(c.provider);if(!d&&!e)return Response.json({message:"Usage not available for this connection"});let h=await (0,i.B)(c.providerSpecificData),k={connectionProxyEnabled:!0===h.connectionProxyEnabled,connectionProxyUrl:h.connectionProxyUrl||"",connectionNoProxy:h.connectionNoProxy||"",vercelRelayUrl:h.vercelRelayUrl||"",strictProxy:!1};if(d)try{c=(await l(c,!1,k)).connection}catch(a){return console.error("[Usage API] Credential refresh failed:",a),Response.json({error:`Credential refresh failed: ${a.message}`},{status:401})}let m=await (0,g.m)(c,k);if(d&&function(a){if(!a?.message)return!1;let b=a.message.toLowerCase();return n.some(a=>b.includes(a))}(m)&&c.refreshToken)try{c=(await l(c,!0,k)).connection,m=await (0,g.m)(c,k)}catch(a){console.warn(`[Usage] ${c.provider}: force refresh failed: ${a.message}`)}return Response.json(m)}catch(b){let a=c?.provider??"unknown";return console.warn(`[Usage] ${a}: ${b.message}`),Response.json({error:b.message},{status:500})}}d()}catch(a){d(a)}})},24295:(a,b,c)=>{c.d(b,{IQ:()=>h,U:()=>f,eZ:()=>g,gD:()=>i,u9:()=>j});var d=c(26070),e=c(58337);let f=a=>d.xq[a]?.usage||{};function g(a){if(!a)return null;try{if(a instanceof Date)return a.toISOString();if("number"==typeof a)return new Date(a<1e12?1e3*a:a).toISOString();if("string"==typeof a){if(/^\d+$/.test(a)){let b=Number(a);return new Date(b<1e12?1e3*b:b).toISOString()}return new Date(a).toISOString()}return null}catch(b){return console.warn(`Failed to parse reset time: ${a}`,b),null}}function h(a,b=0){if("number"==typeof a&&Number.isFinite(a))return a;if("string"==typeof a&&a.trim()){let b=Number(a);if(Number.isFinite(b))return b}return b}function i(a){return"string"==typeof a?a.trim()||null:a&&"object"==typeof a&&"string"==typeof a.id&&a.id.trim()||null}async function j(a,b,c=1e4,d=null){let f=new AbortController,g=setTimeout(()=>f.abort(),c);try{return await (0,e.proxyAwareFetch)(a,{...b,signal:f.signal},d)}finally{clearTimeout(g)}}},39326:(a,b,c)=>{c.d(b,{B:()=>f});var d=c(71998);function e(a){return null==a?"":String(a).trim()}async function f(a={}){try{let b=e(a?.proxyPoolId),c="__none__"===b?"":b,f=function(a={}){let b=a?.connectionProxyEnabled===!0,c=e(a?.connectionProxyUrl);return{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:e(a?.connectionNoProxy)}}(a);if(c){let a=await (0,d.hr)(c),b=e(a?.proxyUrl),f=e(a?.noProxy);if(a&&!0===a.isActive&&b){if("vercel"===a.type||"cloudflare"===a.type||"deno"===a.type)return{source:a.type,proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:f,strictProxy:!0===a.strictProxy,vercelRelayUrl:b};return{source:"pool",proxyPoolId:c,proxyPool:a,connectionProxyEnabled:!0,connectionProxyUrl:b,connectionNoProxy:f,strictProxy:!0===a.strictProxy}}}if(f.connectionProxyEnabled&&f.connectionProxyUrl)return{source:"legacy",proxyPoolId:c||null,proxyPool:null,...f};return{source:"none",proxyPoolId:c||null,proxyPool:null,...f}}catch(a){return console.error("[resolveConnectionProxyConfig] Failed to resolve proxy config:",a),{source:"error",proxyPoolId:null,proxyPool:null,connectionProxyEnabled:!1,connectionProxyUrl:"",connectionNoProxy:"",strictProxy:!1}}}},40615:(a,b,c)=>{c.d(b,{AI_PROVIDERS:()=>s,js:()=>w,DI:()=>n,fg:()=>k,Pd:()=>o,IS:()=>h,nJ:()=>i,zN:()=>j,JH:()=>m,jO:()=>y,wb:()=>x,br:()=>l,wG:()=>v,zt:()=>t,gb:()=>q,gC:()=>r,mq:()=>p,rs:()=>u});var d=c(30255);let e="⚠️ Risk Notice: This provider uses a subscription/OAuth session not officially licensed for proxy/router use. Account may be restricted or banned. Use at your own risk.";Object.fromEntries(d.A.filter(a=>a.display).map(a=>{let b;return[a.id,"RISK_NOTICE"===(b=a.display).deprecationNotice?{...b,deprecationNotice:e}:b]}));let f=["serviceKinds","ttsConfig","sttConfig","embeddingConfig","imageConfig","imageToTextConfig","videoConfig","musicConfig","searchViaChat","searchConfig","fetchConfig","modelsFetcher","mediaPriority","hiddenKinds"],g=a=>Object.fromEntries(d.A.filter(b=>b.category===a).map(a=>[a.id,function(a){let b={};for(let c of(a.media&&Object.assign(b,a.media),f))void 0!==a[c]&&(b[c]=a[c]);let c={...a.display||{}};return"RISK_NOTICE"===c.deprecationNotice&&(c.deprecationNotice=e),{...c,id:a.id,alias:a.uiAlias||a.alias,...a.hidden?{hidden:!0}:{},...b,...void 0!==a.priority?{priority:a.priority}:{},...a.hasFree?{hasFree:!0}:{},...a.thinkingConfig?{thinkingConfig:a.thinkingConfig}:{},...a.regions?{regions:a.regions,defaultRegion:a.defaultRegion}:{},...a.hasProviderSpecificData?{hasProviderSpecificData:!0}:{},...a.noAuth?{noAuth:!0}:{},...a.passthroughModels?{passthroughModels:!0}:{},...a.hasOAuth?{hasOAuth:!0}:{},...a.authModes?{authModes:a.authModes}:{},...a.authType?{authType:a.authType}:{},...a.authHint?{authHint:a.authHint}:{}}}(a)])),h=g("free"),i=g("freeTier"),j=g("oauth"),k=g("apikey"),l=g("webCookie"),m="openai-compatible-",n="anthropic-compatible-",o="custom-embedding-";function p(a){return"string"==typeof a&&a.startsWith(m)}function q(a){return"string"==typeof a&&a.startsWith(n)}function r(a){return"string"==typeof a&&a.startsWith(o)}let s={...h,...i,...j,...k,...l};function t(a){for(let b of Object.values(s))if(b.alias===a||b.id===a)return b;return null}function u(a){let b=t(a);return b?.id||a}function v(a){let b=s[a];return b?.alias||a}let w=Object.values(s).reduce((a,b)=>(a[b.alias]=b.id,a),{});Object.values(s).reduce((a,b)=>(a[b.id]=b.alias,a),{});let x=d.A.filter(a=>a.features?.usage).map(a=>a.id),y=d.A.filter(a=>a.features?.usageApikey).map(a=>a.id)},69788:(a,b,c)=>{c.d(b,{g:()=>i});var d=c(58337),e=c(74129),f=c(24295);let g={oauthUsageUrl:(0,f.U)("claude").oauthUrl,usageUrl:(0,f.U)("claude").orgUrl,settingsUrl:(0,f.U)("claude").settingsUrl,apiVersion:e.b8},h=new Map;async function i(a,b=null){try{let c=h.get(a);if(c&&Date.now()<c)return await j(a,b);let e=await (0,d.proxyAwareFetch)(g.oauthUsageUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-beta":"oauth-2025-04-20","anthropic-version":g.apiVersion}},b);if(e.ok){let a=await e.json(),b={},c=a=>a&&"object"==typeof a&&"number"==typeof a.utilization,d=a=>{let b=a.utilization,c=Math.max(0,100-b);return{used:b,total:100,remaining:c,remainingPercentage:c,resetAt:(0,f.eZ)(a.resets_at),unlimited:!1}};for(let[e,f]of(c(a.five_hour)&&(b["session (5h)"]=d(a.five_hour)),c(a.seven_day)&&(b["weekly (7d)"]=d(a.seven_day)),Object.entries(a)))if(e.startsWith("seven_day_")&&"seven_day"!==e&&c(f)){let a=e.replace("seven_day_","");b[`weekly ${a} (7d)`]=d(f)}return{plan:"Claude Code",extraUsage:a.extra_usage??null,quotas:b}}return 429===e.status&&h.set(a,Date.now()+18e4),console.warn(`[Claude Usage] OAuth endpoint returned ${e.status}, falling back to legacy`),await j(a,b)}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}async function j(a,b=null){try{let c=await (0,d.proxyAwareFetch)(g.settingsUrl,{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let e=await c.json();if(e.organization_id){let c=await (0,d.proxyAwareFetch)(g.usageUrl.replace("{org_id}",e.organization_id),{method:"GET",headers:{Authorization:`Bearer ${a}`,"anthropic-version":g.apiVersion}},b);if(c.ok){let a=await c.json();return{plan:e.plan||"Unknown",organization:e.organization_name,quotas:a}}}return{plan:e.plan||"Unknown",organization:e.organization_name,message:"Claude connected. Usage details require admin access."}}return{message:"Claude connected. Usage API requires admin permissions."}}catch(a){return{message:`Claude connected. Unable to fetch usage: ${a.message}`}}}},71998:(a,b,c)=>{c.d(b,{Ax:()=>d.Ax,CK:()=>d.CK,EE:()=>d.EE,Fh:()=>d.Fh,ID:()=>d.ID,Is:()=>d.Is,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Wq:()=>d.Wq,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fu:()=>d.fu,fv:()=>d.fv,g4:()=>d.g4,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,ik:()=>d.ik,o5:()=>d.o5,op:()=>d.op,q5:()=>d.q5,rj:()=>d.updateProviderConnection,sN:()=>d.sN,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},99002:(a,b,c)=>{c.d(b,{R:()=>r.R,m:()=>O});var d=c(58337),e=c(26070),f=c(24295);let g={apiVersion:e.sr.github?.apiVersion,userAgent:e.sr.github?.userAgent};async function h(a,b,c=null){try{if(!a)throw Error("No GitHub access token available. Please re-authorize the connection.");let b=await (0,d.proxyAwareFetch)((0,f.U)("github").url,{headers:{Authorization:`token ${a}`,Accept:"application/json","X-GitHub-Api-Version":g.apiVersion,"User-Agent":g.userAgent,"Editor-Version":"vscode/1.100.0","Editor-Plugin-Version":"copilot-chat/0.26.7"}},c);if(!b.ok){let a=await b.text();throw Error(`GitHub API error: ${a}`)}let e=await b.json();if(e.quota_snapshots){let a=e.quota_snapshots,b=(0,f.eZ)(e.quota_reset_date);return{plan:e.copilot_plan,resetDate:e.quota_reset_date,quotas:{chat:{...i(a.chat),resetAt:b},completions:{...i(a.completions),resetAt:b},premium_interactions:{...i(a.premium_interactions),resetAt:b}}}}if(e.monthly_quotas||e.limited_user_quotas){let a=e.monthly_quotas||{},b=e.limited_user_quotas||{},c=(0,f.eZ)(e.limited_user_reset_date);return{plan:e.copilot_plan||e.access_type_sku,resetDate:e.limited_user_reset_date,quotas:{chat:{used:b.chat||0,total:a.chat||0,unlimited:!1,resetAt:c},completions:{used:b.completions||0,total:a.completions||0,unlimited:!1,resetAt:c}}}}return{message:"GitHub Copilot connected. Unable to parse quota data."}}catch(a){throw Error(`Failed to fetch GitHub usage: ${a.message}`)}}function i(a){return a?{used:a.entitlement-a.remaining,total:a.entitlement,remaining:a.remaining,unlimited:a.unlimited||!1}:{used:0,total:0,unlimited:!0}}var j=c(75924),k=c(74129);let l={...(0,f.U)("antigravity"),...k.XP,userAgent:(0,j.A9)()};async function m(a,b,c=null){if(!a)return{plan:"Free",message:"Gemini CLI access token not available."};try{let d=(0,f.gD)(b?.projectId),e="Free";if(!d){let b=await n(a,c);d=(0,f.gD)(b?.cloudaicompanionProject),e=b?.currentTier?.name||e}if(!d)return{plan:e,message:"Gemini CLI project ID not available. Reconnect Gemini CLI, or configure a Google Cloud project with Gemini Code Assist access before checking quota."};let g=await (0,f.u9)((0,f.U)("gemini-cli").quotaUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({project:d})},1e4,c);if(!g.ok)return{plan:e,message:`Gemini CLI quota error (${g.status}).`};let h=await g.json(),i={};if(Array.isArray(h.buckets))for(let a of h.buckets){if(!a.modelId||null==a.remainingFraction)continue;let b=Number(a.remainingFraction)||0,c=Math.round(1e3*b),d=Math.max(0,1e3-c);i[a.modelId]={used:d,total:1e3,resetAt:(0,f.eZ)(a.resetTime),remainingPercentage:100*b,unlimited:!1}}return{plan:e,quotas:i}}catch(a){return{message:`Gemini CLI error: ${a.message}`}}}async function n(a,b=null){try{let c=await (0,f.u9)((0,f.U)("gemini-cli").loadCodeAssistUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},body:JSON.stringify({metadata:j.Cn})},1e4,b);if(!c.ok)return null;return await c.json()}catch{return null}}async function o(a,b,c=null){try{let b=await p(a,c),d=b?.cloudaicompanionProject||null,e=await (0,f.u9)(l.quotaApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":l.userAgent,"Content-Type":"application/json","X-Client-Name":"antigravity","X-Client-Version":"1.107.0","x-request-source":"local"},body:JSON.stringify({...d?{project:d}:{}})},1e4,c);if(403===e.status)return{message:"Antigravity quota API access forbidden. Chat may still work.",quotas:{}};if(401===e.status)return{message:"Antigravity quota API authentication expired. Chat may still work.",quotas:{}};if(!e.ok)throw Error(`Antigravity API error: ${e.status}`);let g=await e.json(),h={};if(g.models){let a=["gemini-3-flash-agent","gemini-3.5-flash-low","gemini-3.5-flash-extra-low","gemini-pro-agent","gemini-3.1-pro-low","claude-sonnet-4-6","claude-opus-4-6-thinking","gpt-oss-120b-medium","gemini-3-flash","gemini-3.1-flash-image","gemini-3-pro-image"];for(let[b,c]of Object.entries(g.models)){if(!c.quotaInfo||c.isInternal||!a.includes(b))continue;let d=c.quotaInfo.remainingFraction||0,e=100*d,g=Math.round(1e3*d),i=1e3-g;h[b]={used:i,total:1e3,resetAt:(0,f.eZ)(c.quotaInfo.resetTime),remainingPercentage:e,unlimited:!1,displayName:c.displayName||b}}}return{plan:b?.currentTier?.name||"Unknown",quotas:h,subscriptionInfo:b}}catch(a){return console.error("[Antigravity Usage] Error:",a.message,a.cause),{message:`Antigravity error: ${a.message}`}}}async function p(a,b=null){try{let c=await (0,f.u9)(l.loadProjectApiUrl,{method:"POST",headers:{Authorization:`Bearer ${a}`,"User-Agent":l.userAgent,"Content-Type":"application/json","x-request-source":"local"},body:JSON.stringify({metadata:j.Cn,mode:1})},1e4,b);if(!c.ok)return null;return await c.json()}catch(a){return console.error("[Antigravity Subscription] Error:",a.message),null}}var q=c(69788),r=c(6551),s=c(6382);async function t(a,b,c=null){let e=b?.authMethod||"builder-id",g="api_key"===e,h=g?{tokentype:"API_KEY"}:{},i="external_idp"===e?{TokenType:"EXTERNAL_IDP"}:{},j=g?b?.profileArn||"":b?.profileArn||(0,s.We)(e),k=new URLSearchParams({isEmailRequired:"true",origin:"AI_EDITOR",resourceType:"AGENTIC_REQUEST"}),l=!1,m=[];for(let b of[{name:"codewhisperer-get",run:async()=>(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").cwHost}${(0,f.U)("kiro").limitsPath}?${k.toString()}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","x-amz-user-agent":"aws-sdk-js/1.0.0 KiroIDE","user-agent":"aws-sdk-js/1.0.0 KiroIDE",...h,...i}},c)},{name:"codewhisperer-post",run:async()=>(0,d.proxyAwareFetch)((0,f.U)("kiro").cwHost,{method:"POST",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/x-amz-json-1.0","x-amz-target":"AmazonCodeWhispererService.GetUsageLimits",Accept:"application/json",...h,...i},body:JSON.stringify({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"})},c)},{name:"q-get",run:async()=>{let b=new URLSearchParams({origin:"AI_EDITOR",...j?{profileArn:j}:{},resourceType:"AGENTIC_REQUEST"});return(0,d.proxyAwareFetch)(`${(0,f.U)("kiro").qHost}${(0,f.U)("kiro").limitsPath}?${b}`,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json",...h,...i}},c)}}])try{let a=await b.run();if(!a.ok){let c=await a.text().catch(()=>"");(401===a.status||403===a.status)&&(l=!0),m.push(`${b.name}:${a.status}${c?`:${c}`:""}`);continue}let c=await a.json();return function(a){let b=a.usageBreakdownList||[],c={},d=(0,f.eZ)(a.nextDateReset||a.resetDate);return b.forEach(a=>{let b=a.resourceType?.toLowerCase()||"unknown",e=a.currentUsageWithPrecision||0,g=a.usageLimitWithPrecision||0;if(c[b]={used:e,total:g,remaining:g-e,resetAt:d,unlimited:!1},a.freeTrialInfo){let e=a.freeTrialInfo.currentUsageWithPrecision||0,g=a.freeTrialInfo.usageLimitWithPrecision||0;c[`${b}_freetrial`]={used:e,total:g,remaining:g-e,resetAt:(0,f.eZ)(a.freeTrialInfo.freeTrialExpiry||d),unlimited:!1}}}),{plan:a.subscriptionInfo?.subscriptionTitle||"Kiro",quotas:c}}(c)}catch(a){m.push(`${b.name}:${a.message}`)}return l&&"idc"===e?{message:"Kiro quota API is unavailable for the current AWS IAM Identity Center session. Chat may still work. If this persists after renewing your session, reconnect Kiro.",quotas:{}}:l&&("google"===e||"github"===e)?{message:"Kiro quota API authentication expired. Chat may still work.",quotas:{}}:l?{message:"Kiro quota API rejected the current token. Chat may still work.",quotas:{}}:{message:m.length>0?`Unable to fetch Kiro usage right now. (${m[m.length-1]})`:"Unable to fetch Kiro usage right now.",quotas:{}}}let u={minimax:(0,f.U)("minimax").urls,"minimax-cn":(0,f.U)("minimax-cn").urls};function v(a,b,c){return a&&"object"==typeof a?a[b]??a[c]??null:null}function w(a,b,c){if(!a||"object"!=typeof a)return null;let d=a[b]??a[c];if(null==d)return null;let e=Number(d);return Number.isFinite(e)?Math.max(0,Math.min(100,e)):null}function x(a){return Math.max(0,Number(v(a,"current_interval_total_count","currentIntervalTotalCount"))||0)}function y(a){return Math.max(0,Number(v(a,"current_weekly_total_count","currentWeeklyTotalCount"))||0)}function z(a){return!!(x(a)>0||y(a)>0)||null!==w(a,"current_interval_remaining_percent","currentIntervalRemainingPercent")||null!==w(a,"current_weekly_remaining_percent","currentWeeklyRemainingPercent")}function A(a,b,c,d,e,g,h,i,j,k){let l=d(c),m=w(c,h,i);if(l<=0&&null===m)return;let n=Math.max(0,Number(v(c,e,g))||0),o=l,p=n;l<=0&&(o=100,p=k?Math.round(m/100*o):Math.round(o*(1-m/100))),a[b]=function(a,b,c,d,e=null){var f,g,h;let i=Math.max(0,a),j=d?Math.max(i-b,0):Math.min(Math.max(0,b),i),k=Math.max(i-j,0),l=(f=e,g=k,h=i,null!=f&&Number.isFinite(f)?Math.max(0,Math.min(100,f)):h>0?Math.max(0,Math.min(100,g/h*100)):0);return{used:j,total:i,remaining:k,remainingPercentage:l,resetAt:c,unlimited:!1}}(o,p,function(a,b,c,d,e,g){let h=Number(v(a,c,d))||0;return h>0?new Date(b+h).toISOString():(0,f.eZ)(v(a,e,g))}(c,...j),k,m)}async function B(a,b,c=null){if(!a)return{message:"MiniMax API key not available."};let e=u[b]||[],f="";for(let b=0;b<e.length;b+=1){let g=e[b],h=b<e.length-1;try{let b=await (0,d.proxyAwareFetch)(g,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json","Content-Type":"application/json"}},c),e=await b.text(),i={};if(e)try{i=JSON.parse(e)}catch{i={}}let j=(i?.base_resp??i?.baseResp)||{},k=Number(j.status_code??j.statusCode)||0,l=String(j.status_msg??j.statusMsg??"").trim(),m=`${l} ${e}`.trim(),n=/token plan|coding plan|invalid api key|invalid key|unauthorized|inactive/i;if(401===b.status||403===b.status||1004===k||n.test(m))return{message:"MiniMax API key invalid or inactive. Use an active Token/Coding Plan key."};if(!b.ok){if(f=`MiniMax usage endpoint error (${b.status})`,(404===b.status||405===b.status||b.status>=500)&&h)continue;return{message:`MiniMax connected. ${f}`}}if(0!==k)return{message:`MiniMax connected. ${l||"Upstream quota API error"}`};let o=i?.model_remains??i?.modelRemains,p=(Array.isArray(o)?o:[]).filter(z);if(0===p.length)return{message:"MiniMax connected. No quota data was returned."};let q=Date.now(),r=g.includes("/coding_plan/remains"),s={};for(let a of p){let b=function(a){let b=String(v(a,"model_name","modelName")||"").trim();return b?"MiniMax-M*"===b||"general"===b?"M-series":b.replace(/[_-]+/g," ").replace(/\s+/g," ").trim().replace(/\b\w/g,a=>a.toUpperCase()).replace(/\bTo\b/g,"to").replace(/\bTts\b/g,"TTS").replace(/\bHd\b/g,"HD"):"MiniMax"}(a);A(s,`${b} (5h)`,a,x,"current_interval_usage_count","currentIntervalUsageCount","current_interval_remaining_percent","currentIntervalRemainingPercent",[q,"remains_time","remainsTime","end_time","endTime"],r),A(s,`${b} (7d)`,a,y,"current_weekly_usage_count","currentWeeklyUsageCount","current_weekly_remaining_percent","currentWeeklyRemainingPercent",[q,"weekly_remains_time","weeklyRemainsTime","weekly_end_time","weeklyEndTime"],r)}if(0===Object.keys(s).length)return{message:"MiniMax connected. Unable to extract quota usage."};return{quotas:s}}catch(a){if(f=a.message,!h)break}}return{message:f?`MiniMax connected. Unable to fetch usage: ${f}`:"MiniMax connected. Unable to fetch usage."}}let C="codebuddy-cn";function D(a,b){let c=Number(a??b);return Number.isFinite(c)?c:0}async function E(a,b,c,g=null){let h=a||b;if(!h)return{message:"CodeBuddy CN credential not available."};try{let a=await (0,d.proxyAwareFetch)((0,f.U)(C).url,{method:"POST",headers:{...e.xq[C]?.headers||{},Authorization:`Bearer ${h}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}"},g);if(401===a.status||403===a.status)return{message:"CodeBuddy CN credential invalid or expired."};if(!a.ok)return{message:`CodeBuddy CN quota API error (${a.status}).`};let b=await a.json();if(b?.code!==0)return{message:`CodeBuddy CN quota error: ${b?.msg||"unknown"}`};let c=b?.data?.Response?.Data||{},i=Array.isArray(c.Accounts)?c.Accounts:[];if(0===i.length)return{message:"CodeBuddy CN connected. No credit package found."};let j=a=>{let b=(0,f.eZ)(a.CycleEndTime);return b?new Date(b).getTime():1/0},k=a=>{let b=j(a),c=Number(a.DeductionEndTime);return Number.isFinite(b)&&Number.isFinite(c)&&c-b>1728e5},l=(a,b)=>j(a)-j(b),m=i.filter(k).sort(l),n=i.filter(a=>!k(a)).sort(l),o={},p={};m.forEach(a=>{let b=function(a){let b=(0,f.eZ)(a.CycleStartTime),c=(0,f.eZ)(a.CycleEndTime);if(b&&c){let a=(new Date(c).getTime()-new Date(b).getTime())/864e5;if(a<=1.5)return"Daily";if(a<=10)return"Weekly"}return"Monthly"}(a);p[b]=(p[b]||0)+1,o[p[b]>1?`${b} ${p[b]}`:b]={used:D(a.CycleCapacityUsedPrecise,a.CycleCapacityUsed),total:D(a.CycleCapacitySizePrecise,a.CycleCapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!0}}),n.forEach((a,b)=>{o[`Bonus Pack ${b+1}`]={used:D(a.CapacityUsedPrecise,a.CapacityUsed),total:D(a.CapacitySizePrecise,a.CapacitySize),resetAt:(0,f.eZ)(a.CycleEndTime),unlimited:!1,recurring:!1}});let q=m[0]||i[0]||{};return{plan:q.PackageName||q.SubProductName||"CodeBuddy CN",quotas:o}}catch(a){return{message:`CodeBuddy CN error: ${a.message}`}}}let F={international:(0,f.U)("glm").url,china:(0,f.U)("glm-cn").url},G=(0,f.U)("vercel-ai-gateway").url;async function H(a,b){try{if(!b?.resourceUrl)return{message:"Qwen connected. No resource URL available."};return{message:"Qwen connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch Qwen usage."}}}async function I(a){try{return{message:"iFlow connected. Usage tracked per request."}}catch(a){return{message:"Unable to fetch iFlow usage."}}}async function J(a,b){try{return{plan:b?.plan||"Free",message:"Ollama Cloud uses a free tier with light usage limits (resets every 5h & 7d). For detailed usage tracking, visit ollama.com/settings/keys.",quotas:[]}}catch(a){return{message:"Unable to fetch Ollama Cloud usage."}}}async function K(a,b,c=null){if(!a)return{message:"GLM API key not available."};let e=F["glm-cn"===b?"china":"international"];try{let b=await (0,d.proxyAwareFetch)(e,{headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},c);if(!b.ok){if(401===b.status)return{message:"GLM API key invalid or expired."};return{message:`GLM quota API error (${b.status}).`}}let f=await b.json(),g=f?.data&&"object"==typeof f.data?f.data:{},h=Array.isArray(g.limits)?g.limits:[],i={};for(let a of h){if(!a||"TOKENS_LIMIT"!==a.type)continue;let b=Number(a.percentage)||0,c=Number(a.nextResetTime)||0,d=Math.max(0,100-b);i.session={used:b,total:100,remaining:d,remainingPercentage:d,resetAt:c>0?new Date(c).toISOString():null,unlimited:!1}}let j="string"==typeof g.level?g.level:"";return{plan:j?j.charAt(0).toUpperCase()+j.slice(1).toLowerCase():"Unknown",quotas:i}}catch(a){return{message:`GLM error: ${a.message}`}}}async function L(a,b=null){if(!a)return{message:"Vercel AI Gateway API key not available."};try{let c=await (0,d.proxyAwareFetch)(G,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(401===c.status||403===c.status)return{message:"Vercel AI Gateway API key invalid or expired."};if(!c.ok){let a=await c.text().catch(()=>""),b=a?`: ${a.slice(0,200)}`:"";return{message:`Vercel AI Gateway credits API error (${c.status})${b}`}}let e=await c.json(),f=Number(e?.balance)||0,g=Number(e?.total_used)||0;if(f<=0&&g<=0)return{plan:"Pay-as-you-go",message:"Vercel AI Gateway connected. No credit allocation found (BYOK or unfunded account).",quotas:{}};return{plan:"Pay-as-you-go",quotas:{"Used (USD)":{used:g,total:0,remaining:0,remainingPercentage:100,unlimited:!0},"Remaining (USD)":{used:f,total:5,remaining:f,remainingPercentage:f/5*100,unlimited:!1}}}}catch(a){return{message:`Vercel AI Gateway error: ${a.message}`}}}async function M(a,b=null){if(!a)return{message:"Qoder usage unavailable: no access token"};try{let c=await (0,d.proxyAwareFetch)((0,f.U)("qoder").url,{method:"GET",headers:{Authorization:`Bearer ${a}`,Accept:"application/json"}},b);if(!c.ok)return{message:`Qoder connected. Usage fetch returned ${c.status}.`};let e=await c.json().catch(()=>null);if(!e)return{message:"Qoder connected. Usage response was not JSON."};let g=e.userQuota||{},h=e.orgResourcePackage||{},i=Number.isFinite(Number(e.expiresAt))&&Number(e.expiresAt)>0?Number(e.expiresAt):null,j=i?new Date(i).toISOString():null;return{quotas:{user:{total:Number(g.total)||0,used:Number(g.used)||0,remaining:Number(g.remaining)||0,unit:g.unit||"credits",resetAt:j},organization:{total:Number(h.total)||0,used:Number(h.used)||0,remaining:Number(h.remaining)||0,unit:h.unit||"credits",resetAt:j}},totalUsagePercentage:Number(e.totalUsagePercentage)||0,isQuotaExceeded:!!e.isQuotaExceeded,expiresAt:i}}catch(a){return{message:`Qoder connected. Unable to fetch usage: ${a.message}`}}}let N={github:a=>h(a.accessToken,a.providerSpecificData,a.proxyOptions),"gemini-cli":a=>m(a.accessToken,a.providerDataWithProjectId,a.proxyOptions),antigravity:a=>o(a.accessToken,a.providerSpecificData,a.proxyOptions),claude:a=>(0,q.g)(a.accessToken,a.proxyOptions),codex:a=>(0,r.T)(a.accessToken,a.proxyOptions),kiro:a=>t(a.accessToken,a.providerSpecificData,a.proxyOptions),qoder:a=>M(a.accessToken,a.proxyOptions),qwen:a=>H(a.accessToken,a.providerSpecificData),iflow:a=>I(a.accessToken),ollama:a=>J(a.accessToken),glm:a=>K(a.apiKey,a.provider,a.proxyOptions),"glm-cn":a=>K(a.apiKey,a.provider,a.proxyOptions),minimax:a=>B(a.apiKey,a.provider,a.proxyOptions),"minimax-cn":a=>B(a.apiKey,a.provider,a.proxyOptions),"vercel-ai-gateway":a=>L(a.apiKey,a.proxyOptions),"codebuddy-cn":a=>E(a.accessToken,a.apiKey,a.providerSpecificData,a.proxyOptions)};async function O(a,b=null){let{provider:c,accessToken:d,apiKey:e,providerSpecificData:f,projectId:g}=a,h={...f||{},...g?{projectId:g}:{}},i=N[c];return i?await i({provider:c,accessToken:d,apiKey:e,providerSpecificData:f,providerDataWithProjectId:h,proxyOptions:b}):{message:`Usage API not implemented for ${c}`}}}};