zevairouter 1.0.239 → 1.0.241
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.
- package/CHANGELOG.md +11 -0
- package/README.md +2 -1
- package/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +6 -6
- package/cli/app/.next-cli-build/build-manifest.json +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback.html +1 -1
- package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.html +1 -1
- package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing.html +1 -1
- package/cli/app/.next-cli-build/server/app/landing.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/login.html +1 -1
- package/cli/app/.next-cli-build/server/app/login.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +6 -6
- package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3110.js +2 -2
- package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5436.js +2 -2
- package/cli/app/.next-cli-build/server/chunks/7319.js +3 -3
- package/cli/app/.next-cli-build/server/chunks/7634.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/pages/404.html +1 -1
- package/cli/app/.next-cli-build/server/pages/500.html +1 -1
- package/cli/app/.next-cli-build/static/chunks/{620-dcc7b8b09e769219.js → 620-985b847fdb687720.js} +1 -1
- package/cli/app/CHANGELOG.md +11 -0
- package/cli/app/package.json +1 -1
- package/cli/package.json +1 -1
- package/package.json +1 -1
- /package/cli/app/.next-cli-build/static/{_v7ydVNs7s5EDF1xhpHiV → VMnKRp8juhKkmk9YJ9CxP}/_buildManifest.js +0 -0
- /package/cli/app/.next-cli-build/static/{_v7ydVNs7s5EDF1xhpHiV → VMnKRp8juhKkmk9YJ9CxP}/_ssgManifest.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
(()=>{var a={};a.id=4010,a.ids=[4010],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1896:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(37527),u=c(21350);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/cli-tools/cowork-settings/route",pathname:"/api/cli-tools/cowork-settings",filename:"route",bundlePath:"app/api/cli-tools/cowork-settings/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/cli-tools/cowork-settings/route.js",nextConfigOutput:"standalone",userland:u,...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/cli-tools/cowork-settings/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:u,deploymentId:w,params:x,nextConfig:y,parsedUrl:z,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=f,I=(0,j.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,z,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(y.adapterPath)return await K();throw new s.NoFallbackError}}let L=null;!J||v.isDev||A||(L="/index"===(L=F)?"/":L);let M=!0===v.isDev||!J,N=J&&!M;H&&G&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,h.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,g.getRequestMeta)(a,"minimalMode"),T=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,y,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:x,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!y.experimental.authInterrupts},cacheComponents:!!y.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:y.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>v.onRequestError(a,b,d,e,C)},sharedContext:{buildId:u,deploymentId:w}},V=new k.NodeNextRequest(a),W=new k.NodeNextResponse(b),X=l.NextRequestAdapter.fromNodeNextRequest(V,(0,l.signalFromNodeResponse)(b));try{let f,g=async a=>v.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route");if(e){let b=`${O} ${e}`;a.setAttributes({"next.route":e,"http.route":e,"next.span_name":b}),a.updateName(b),f&&f!==a&&(f.setAttribute("http.route",e),f.updateName(b))}else a.updateName(`${O} ${d}`)}),i=async f=>{var h,i;let j=async({previousCacheEntry:e})=>{try{if(!S&&D&&E&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(f);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,o.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[r.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=r.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:t.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await v.handleResponse({req:a,nextConfig:y,cacheKey:L,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==t.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,p.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(r.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,q.getCacheControlHeader)(k.cacheControl)),await (0,o.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await i(Q):(f=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(m.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},i),void 0,!R))}catch(b){if(b instanceof s.NoFallbackError||await v.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,n.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,o.I)(V,W,new Response(null,{status:500})),null}}},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},3887:(a,b,c)=>{"use strict";c.r(b),c.d(b,{"0016c87b4e566cb5c6e09a0348ec6476932dc24aa3":()=>d.DELETE,"0054431ad60054a33fa186dc667d1cf4fbec85cab1":()=>d.GET,"406cde7985915c0dcd800a4ded4fa2eb6ce00e4b14":()=>d.POST});var d=c(21350)},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},24424:(a,b)=>{"use strict";function c(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
|
|
2
|
-
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@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:1997},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"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat","notion-ai":"https://app.notion.com/api/v3/runInferenceTranscript"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.
|
|
2
|
+
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(b,"D",{enumerable:!0,get:function(){return c}})},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@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:1997},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"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat","notion-ai":"https://app.notion.com/api/v3/runInferenceTranscript"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.241","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"@node-saml/node-saml":"5.1.0","next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","nanoid":"^3.3.18","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch and nanoid use fixed floors directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","minimatch":"file:vendor/minimatch3-secure","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49796:(a,b,c)=>{"use strict";Object.defineProperty(b,"A",{enumerable:!0,get:function(){return d.registerServerReference}});let d=c(77943)},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},77943:(a,b,c)=>{"use strict";a.exports=c(7553).vendored["react-rsc"].ReactServerDOMWebpackServer},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79748:a=>{"use strict";a.exports=require("fs/promises")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(83477);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,5024,3477,5681,1350],()=>b(b.s=1896));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=2121,a.ids=[2121],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},5716:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(96299),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/dashboard/media/[operation]/route",pathname:"/api/dashboard/media/[operation]",filename:"route",bundlePath:"app/api/dashboard/media/[operation]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/dashboard/media/[operation]/route.js",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/dashboard/media/[operation]/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},7066:a=>{a.exports=require("node:tty")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30549:(a,b,c)=>{c.d(b,{f:()=>e});var d=c(89718);async function e(a){if(!(a.get("authorization")||a.get("x-api-key")))try{let b=await (0,d.mt)();if(!b?.requireApiKey)return;let c=(await (0,d.PX)(!0)||[]).find(a=>a?.isActive!==!1&&"string"==typeof a?.key&&a.key);c&&a.set("authorization",`Bearer ${c.key}`)}catch{}}},31421:a=>{a.exports=require("node:child_process")},32238:(a,b,c)=>{c.d(b,{P:()=>u});var d=c(80238),e=c(89718),f=c(75681);async function g(a,b,c){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{...b,headers:function(a){if(!a)return a;let b={};for(let[c,d]of Object.entries(a))b[c]="string"==typeof d?d.replace(/[^\x00-\xFF]/g,"").trim():d;return b}(b.headers),signal:d.signal});return{ok:!0,res:c}}catch(a){return{ok:!1,timeout:a?.name==="AbortError",error:a?.message||String(a)}}finally{clearTimeout(e)}}function h(a,b){return a&&"string"==typeof a?!b||b<=0?a:a.length>b?a.slice(0,b):a:a||""}function i({provider:a,url:b,title:c,format:d,text:e,costUsd:f,responseMs:g,upstreamMs:h}){return{provider:a,url:b,title:c||null,content:{format:d,text:e||"",length:(e||"").length},metadata:{author:null,published_at:null,language:null},usage:{fetch_cost_usd:f??null},metrics:{response_time_ms:g,upstream_latency_ms:h}}}async function j(a){if((a.headers.get("content-type")||"").includes("application/json"))try{return{json:await a.json()}}catch{return{text:""}}return{text:await a.text()}}async function k({url:a,format:b,maxCharacters:c,provider:d,providerConfig:e,credentials:f,log:g}){if(!a||"string"!=typeof a)return{success:!1,status:400,error:"url is required"};if(!d)return{success:!1,status:400,error:"provider is required"};let h=b||"markdown",i=e?.timeoutMs||15e3,j=f?.apiKey||f?.key||f?.token||"",p=e?.costPerQuery??null,q=Date.now();try{if("firecrawl"===d)return await l({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("jina-reader"===d)return await m({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("tavily"===d)return await n({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("exa"===d)return await o({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});return{success:!1,status:400,error:`Unsupported provider: ${d}`}}catch(a){return g?.("fetch handler error:",a?.message||a),{success:!1,status:502,error:a?.message||"Internal fetch error"}}}async function l({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let m=Date.now(),n=await g("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({url:a,formats:[b]})},c);if(!n.ok)return{success:!1,status:n.timeout?504:502,error:n.error};let o=Date.now()-m,{json:p}=await j(n.res);if(!n.res.ok)return{success:!1,status:n.res.status,error:p?.error||`Firecrawl error: ${n.res.status}`};let q=p?.data||{},r=h(q.markdown||q.html||q.text||"",e);return{success:!0,data:i({provider:"firecrawl",url:a,title:q.metadata?.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}}async function m({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:j}){let k,l=`https://r.jina.ai/${encodeURIComponent(a)}`,n=Date.now(),o=await g(l,{method:"GET",headers:d?{authorization:`Bearer ${d}`}:{}},c);if(!o.ok)return{success:!1,status:o.timeout?504:502,error:o.error};let p=Date.now()-n,q=await o.res.text();if(!o.res.ok)return{success:!1,status:o.res.status,error:q?.slice(0,500)||`Jina error: ${o.res.status}`};let r=h(q,e);return{success:!0,data:i({provider:"jina-reader",url:a,title:(k=String(q||"").match(/^\s*#\s+(.+)$/m))?k[1].trim():null,format:b,text:r,costUsd:f,responseMs:Date.now()-j,upstreamMs:p})}}async function n({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.tavily.com/extract",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({urls:[a],extract_depth:"basic"})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let o=Date.now()-l,{json:p}=await j(m.res);return m.res.ok?{success:!0,data:i({provider:"tavily",url:a,title:null,format:b,text:h((p?.results?.[0]||{}).raw_content||"",e),costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}:{success:!1,status:m.res.status,error:p?.error||`Tavily error: ${m.res.status}`}}async function o({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.exa.ai/contents",{method:"POST",headers:{"content-type":"application/json",...d?{"x-api-key":d}:{}},body:JSON.stringify({ids:[a],text:!0})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let n=Date.now()-l,{json:p}=await j(m.res);if(!m.res.ok)return{success:!1,status:m.res.status,error:p?.error||`Exa error: ${m.res.status}`};let q=p?.results?.[0]||{},r=h(q.text||"",e);return{success:!0,data:i({provider:"exa",url:a,title:q.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:n})}}var p=c(43659),q=c(41004),r=c(7803),s=c(67828),t=c(18910);async function u(a){let b;try{b=await a.json()}catch{return r.warn("FETCH","Invalid JSON body"),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),f=b.provider||b.model,g=b.url;b.format,b.max_characters,r.request("POST",`${c.pathname} | ${f}`);let h=(0,d.Tr)(a);h?r.debug("AUTH",`API Key: ${r.maskKey(h)}`):r.debug("AUTH","No API key provided (local mode)");let i=await (0,e.mt)();if(i.requireApiKey){if(!h)return r.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(h))return r.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Invalid API key")}if(!f||"string"!=typeof f)return r.warn("FETCH","Missing provider/model"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!g||"string"!=typeof g)return r.warn("FETCH","Missing url"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: url");try{new URL(g)}catch{return r.warn("FETCH","Invalid URL",{url:g}),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid URL format")}let j=await (0,e.Uv)(),k=(0,t.Vu)(f,j);if(k){let c=i.comboStrategies||{},d=c[f]?.fallbackStrategy||i.comboStrategy||"fallback",e=i.comboStickyRoundRobinLimit;return r.info("FETCH",`Combo "${f}" with ${k.length} providers (strategy: ${d}, sticky: ${e})`),(0,t.Pr)({body:b,models:k,handleSingleModel:(b,c)=>v(b,c,a,h,i),log:r,comboName:f,comboStrategy:d,comboStickyLimit:e})}return v(b,f,a,h,i)}async function v(a,b,c,e,g){let h=a.url,i=a.format,j=a.max_characters,l=(0,f.rs)(b),m=f.AI_PROVIDERS[l];if(!m)return r.warn("FETCH","Unknown provider",{provider:b}),(0,p.yj)(q.gx.BAD_REQUEST,`Unknown provider: ${b}`);let n=m.fetchConfig;if(!n)return r.warn("FETCH","Provider does not support web fetch",{provider:l}),(0,p.yj)(q.gx.BAD_REQUEST,`Provider ${l} does not support web fetch`);if(b!==l?r.info("ROUTING",`${b} → ${l}`):r.info("ROUTING",`Provider: ${l}`),m.noAuth){r.info("AUTH",`\x1b[32m${l} no-auth mode\x1b[0m`);let a=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:null,log:r});return a.success?new Response(JSON.stringify(a.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}}):(0,p.yj)(a.status||q.gx.BAD_GATEWAY,a.error||"Fetch failed")}let o=new Set,t=null,u=null;for(;;){let a=e?await (0,d.c1)(l,o,null,{apiKey:e}):await (0,d.c1)(l,o);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=t||a.lastError||"Unavailable",c=u||Number(a.lastErrorCode)||q.gx.SERVICE_UNAVAILABLE;return r.warn("FETCH",`[${l}] ${b} (${a.retryAfterHuman})`),(0,p.wO)(c,`[${l}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===o.size)return r.error("AUTH",`No credentials for provider: ${l}`),(0,p.yj)(q.gx.BAD_REQUEST,`No credentials for provider: ${l}`);return r.warn("FETCH","No more accounts available",{provider:l}),(0,p.yj)(u||q.gx.SERVICE_UNAVAILABLE,t||"All accounts unavailable")}r.info("AUTH",`\x1b[32mUsing ${l} account: ${a.connectionName}\x1b[0m`);let b=await (0,s.eU)(l,a),c=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:b,log:r,onCredentialsRefreshed:async b=>{await (0,s.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,d.Pt)(a.connectionId,a)}});if(c.success)return new Response(JSON.stringify(c.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let{shouldFallback:f}=await (0,d.vk)(a.connectionId,c.status,c.error,l);if(f){r.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),o.add(a.connectionId),t=c.error,u=c.status;continue}return(0,p.yj)(c.status||q.gx.BAD_GATEWAY,c.error||"Fetch failed")}}},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},43833:(a,b,c)=>{c.d(b,{w:()=>x});var d=c(80238),e=c(89718),f=c(38775),g=c(4573),h=c(43659),i=c(41004),j=c(75681);function k(a,b){if(!b)return{};switch(a.authHeader){case"bearer":default:return{Authorization:`Bearer ${b}`};case"token":return{Authorization:`Token ${b}`};case"x-api-key":return{"x-api-key":b};case"key":return{Authorization:`Key ${b}`}}}function l(a){let b=(a.type||"").toLowerCase();if(b.startsWith("audio/"))return b;let c="string"==typeof a.name?a.name.toLowerCase():"";return({mp3:"audio/mpeg",mp4:"audio/mp4",m4a:"audio/mp4",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",webm:"audio/webm",aac:"audio/aac",opus:"audio/opus"})[c.includes(".")?c.split(".").pop():""]||"application/octet-stream"}async function m(a){let b="";try{b=await a.text()}catch{}let c=b||`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.error||a?.message||c}catch{}return(0,h.A1)(a.status,"string"==typeof c?c:JSON.stringify(c))}async function n(a,b,c,d,e){let f=new URL(a.baseUrl);f.searchParams.set("model",c),f.searchParams.set("smart_format","true"),f.searchParams.set("punctuate","true");let g=e.get("language");"string"==typeof g&&g.trim()?f.searchParams.set("language",g.trim()):f.searchParams.set("detect_language","true");let h=await b.arrayBuffer(),i=await fetch(f,{method:"POST",headers:{...k(a,d),"Content-Type":l(b)},body:h});if(!i.ok)return m(i);let j=await i.json();return t({text:j.results?.channels?.[0]?.alternatives?.[0]?.transcript??""})}async function o(a,b,c,d){let e=k(a,d),f=await b.arrayBuffer(),g=await fetch("https://api.assemblyai.com/v2/upload",{method:"POST",headers:{...e,"Content-Type":"application/octet-stream"},body:f});if(!g.ok)return m(g);let{upload_url:i}=await g.json(),j=await fetch(a.baseUrl,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify({audio_url:i,speech_models:[c],language_detection:!0})});if(!j.ok)return m(j);let{id:l}=await j.json(),n=Date.now();for(;Date.now()-n<12e4;){await new Promise(a=>setTimeout(a,2e3));let b=await fetch(`${a.baseUrl}/${l}`,{headers:e});if(!b.ok)continue;let c=await b.json();if("completed"===c.status)return t({text:c.text||""});if("error"===c.status)return(0,h.A1)(500,c.error||"AssemblyAI failed")}return(0,h.A1)(504,"AssemblyAI timeout after 120s")}async function p(a,b,c,d){let e=new FormData;e.append("file",b,b.name||"audio.wav"),e.append("model",c);let f=await fetch(a.baseUrl,{method:"POST",headers:k(a,d),body:e});if(!f.ok)return m(f);let g=await f.json();return t({text:g.text||g.transcript||""})}async function q(a,b,c,d,e){let f=await b.arrayBuffer(),h=g.Buffer.from(f).toString("base64"),i=l(b),j=e.get("language"),k=e.get("prompt"),n=k&&"string"==typeof k&&k.trim()?k.trim():"Generate a transcript of the speech. Return only the transcribed text, no commentary.";"string"==typeof j&&j.trim()&&(n+=` Language: ${j.trim()}.`);let o=`${a.baseUrl}/${c}:generateContent?key=${d}`,p=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:n},{inline_data:{mime_type:i,data:h}}]}]})});if(!p.ok)return m(p);let q=await p.json();return t({text:q?.candidates?.[0]?.content?.parts?.map(a=>a.text).filter(Boolean).join("")||""})}async function r(a,b,c,d){if(c.includes("..")||c.includes("//"))return(0,h.A1)(400,"Invalid model ID");let e=`${a.baseUrl.replace(/\/+$/,"")}/${c}`,f=await b.arrayBuffer(),g=await fetch(e,{method:"POST",headers:{...k(a,d),"Content-Type":l(b)},body:f});return g.ok?t({text:(await g.json()).text||""}):m(g)}async function s(a,b,c,d,e){let f=new FormData;for(let a of(f.append("file",b,b.name||"audio.wav"),f.append("model",c),["language","prompt","response_format","temperature"])){let b=e.get(a);null!=b&&""!==b&&f.append(a,b)}let g=await fetch(a.baseUrl,{method:"POST",headers:k(a,d),body:f});if(!g.ok)return m(g);let h=g.headers.get("content-type")||"application/json";return{success:!0,response:new Response(await g.text(),{status:200,headers:{"Content-Type":h,"Access-Control-Allow-Origin":"*"}})}}function t(a){return{success:!0,response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}async function u({provider:a,model:b,formData:c,credentials:d}){let e=c.get("file");if(!e)return(0,h.A1)(i.gx.BAD_REQUEST,"Missing required field: file");let f=j.AI_PROVIDERS[a]?.sttConfig;if(!f)return(0,h.A1)(i.gx.BAD_REQUEST,`Provider '${a}' does not support STT`);let g="none"===f.authType?null:d?.apiKey||d?.accessToken;if("none"!==f.authType&&!g)return(0,h.A1)(i.gx.UNAUTHORIZED,`No credentials for STT provider: ${a}`);try{switch(f.format){case"deepgram":return await n(f,e,b,g,c);case"assemblyai":return await o(f,e,b,g);case"nvidia-asr":return await p(f,e,b,g);case"huggingface-asr":return await r(f,e,b,g);case"gemini-stt":return await q(f,e,b,g,c);default:return await s(f,e,b,g,c)}}catch(a){return(0,h.A1)(i.gx.BAD_GATEWAY,a.message||"STT request failed")}}var v=c(7803);let w=new Set(Object.entries(j.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("stt")&&!a.noAuth&&a.sttConfig?.authType!=="none").map(([a])=>a));async function x(a){let b;try{b=await a.formData()}catch{return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid multipart form data")}let c=b.get("model");v.request("POST",`/v1/audio/transcriptions | ${c}`);let g=(0,d.Tr)(a);if((await (0,e.mt)()).requireApiKey){if(!g)return(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(g))return(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}if(!c)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing model");if(!b.get("file"))return(0,h.yj)(i.gx.BAD_REQUEST,"Missing required field: file");let j=await (0,f.mA)(c);if(!j.provider)return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid model format");let{provider:k,model:l}=j;if(v.info("ROUTING",`Provider: ${k}, Model: ${l}`),!w.has(k)){let a=await u({provider:k,model:l,formData:b});return a.success?a.response:(0,h.yj)(a.status||i.gx.BAD_GATEWAY,a.error||"STT failed")}let m=new Set,n=null,o=null;for(;;){let a=g?await (0,d.c1)(k,m,l,{apiKey:g}):await (0,d.c1)(k,m,l);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=n||a.lastError||"Unavailable",c=o||Number(a.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(c,`[${k}/${l}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===m.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${k}`);return(0,h.yj)(o||i.gx.SERVICE_UNAVAILABLE,n||"All accounts unavailable")}v.info("AUTH",`\x1b[32mUsing ${k} account: ${a.connectionName}\x1b[0m`);let c=await u({provider:k,model:l,formData:b,credentials:a});if(c.success)return c.response;let{shouldFallback:e}=await (0,d.vk)(a.connectionId,c.status,c.error,k,l);if(e){m.add(a.connectionId),n=c.error,o=c.status;continue}return c.response||(0,h.yj)(c.status,c.error)}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},58500:a=>{a.exports=require("node:timers/promises")},60284:(a,b,c)=>{c.d(b,{d:()=>j});let d={openai:"https://api.openai.com/v1/embeddings",openrouter:"https://openrouter.ai/api/v1/embeddings",mistral:"https://api.mistral.ai/v1/embeddings","voyage-ai":"https://api.voyageai.com/v1/embeddings",fireworks:"https://api.fireworks.ai/inference/v1/embeddings",together:"https://api.together.xyz/v1/embeddings",nebius:"https://api.tokenfactory.nebius.com/v1/embeddings",github:"https://models.github.ai/inference/embeddings",nvidia:"https://integrate.api.nvidia.com/v1/embeddings","jina-ai":"https://api.jina.ai/v1/embeddings"};function e(a){return{buildUrl:()=>d[a],buildHeaders:b=>{let c={"Content-Type":"application/json",...{Authorization:`Bearer ${b.apiKey||b.accessToken}`}};return"openrouter"===a&&(c["HTTP-Referer"]="https://endpoint-proxy.local",c["X-Title"]="Endpoint Proxy"),c},buildBody:(a,{input:b,encoding_format:c,dimensions:d})=>{let e={model:a,input:b};if(c&&(e.encoding_format=c),null!=d&&""!==d){let a=Number(d);Number.isFinite(a)&&a>0&&(e.dimensions=a)}return e},normalize:a=>a}}function f(a){return a.startsWith("models/")?a:`models/${a}`}let g={buildUrl:(a,b,{input:c}={})=>{let d=b.apiKey||b.accessToken,e=f(a),g=Array.isArray(c)?"batchEmbedContents":"embedContent";return`https://generativelanguage.googleapis.com/v1beta/${e}:${g}?key=${encodeURIComponent(d)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,dimensions:c})=>{let d=f(a),e=Number(c),g=Number.isFinite(e)&&e>0;return Array.isArray(b)?{requests:b.map(a=>({model:d,content:{parts:[{text:String(a)}]},...g?{outputDimensionality:e}:{}}))}:{model:d,content:{parts:[{text:String(b)}]},...g?{outputDimensionality:e}:{}}},normalize:(a,b)=>{if("list"===a.object&&Array.isArray(a.data))return a;let c=[];return Array.isArray(a.embeddings)?c=a.embeddings.map((a,b)=>({object:"embedding",index:b,embedding:a.values||[]})):a.embedding?.values&&(c=[{object:"embedding",index:0,embedding:a.embedding.values}]),{object:"list",data:c,model:b,usage:{prompt_tokens:0,total_tokens:0}}}},h={...e("openai"),buildUrl:(a,b)=>{let c=(b?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,"").replace(/\/embeddings$/,"");return`${c}/embeddings`}},i={...Object.fromEntries(["openai","openrouter","mistral","voyage-ai","fireworks","together","nebius","github","nvidia","jina-ai"].map(a=>[a,e(a)])),gemini:g,google_ai_studio:g};function j(a){return i[a]?i[a]:a?.startsWith?.("openai-compatible-")||a?.startsWith?.("custom-embedding-")?h:null}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66630:(a,b,c)=>{c.d(b,{G:()=>n});var d=c(80238),e=c(89718),f=c(38775),g=c(64632),h=c(43659),i=c(41004),j=c(75681),k=c(18910),l=c(7803);let m=new Set(Object.entries(j.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("tts")&&!a.noAuth&&a.ttsConfig?.authType!=="none").map(([a])=>a));async function n(a){let b;try{b=await a.json()}catch{return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),g=b.model,j=c.searchParams.get("response_format")||"mp3",m=b.language||"";l.request("POST",`${c.pathname} | ${g} | format=${j}${m?` | lang=${m}`:""}`);let n=(0,d.Tr)(a),p=await (0,e.mt)();if(p.requireApiKey){if(!n)return(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(n))return(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}if(!g)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing model");if(!b.input)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing required field: input");let q=await (0,f.d_)(g);if(q){let a=p.comboStrategies||{},c=a[g]?.fallbackStrategy||p.comboStrategy||"fallback",d=p.comboStickyRoundRobinLimit;return l.info("TTS",`Combo "${g}" with ${q.length} models (strategy: ${c}, sticky: ${d})`),(0,k.Pr)({body:b,models:q,handleSingleModel:(a,b)=>o(a,b,j,m,n),log:l,comboName:g,comboStrategy:c,comboStickyLimit:d})}return o(b,g,j,m,n)}async function o(a,b,c,e,j=null){let k=await (0,f.mA)(b);if(!k.provider)return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid model format");let{provider:n,model:p}=k;if(l.info("ROUTING",`Provider: ${n}, Voice: ${p}`),!m.has(n)){let b=await (0,g.PE)({provider:n,model:p,input:a.input,responseFormat:c,language:e});return b.success?b.response:(0,h.yj)(b.status||i.gx.BAD_GATEWAY,b.error||"TTS failed")}let q=new Set,r=null,s=null;for(;;){let b=j?await (0,d.c1)(n,q,p,{apiKey:j}):await (0,d.c1)(n,q,p);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=r||b.lastError||"Unavailable",c=s||Number(b.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(c,`[${n}/${p}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===q.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${n}`);return(0,h.yj)(s||i.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}l.info("AUTH",`\x1b[32mUsing ${n} account: ${b.connectionName}\x1b[0m`);let f=await (0,g.PE)({provider:n,model:p,input:a.input,credentials:b,responseFormat:c,language:e});if(f.success)return f.response;let{shouldFallback:k}=await (0,d.vk)(b.connectionId,f.status,f.error,n,p);if(k){q.add(b.connectionId),r=f.error,s=f.status;continue}return f.response||(0,h.yj)(f.status,f.error)}}},71553:a=>{a.exports=require("node:dns/promises")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81509:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>n});var e=c(80238),f=c(89718),g=c(38775),h=c(89132),i=c(43659),j=c(41004),k=c(7803),l=c(67828),m=a([h]);async function n(a){let b;try{b=await a.json()}catch{return k.warn("EMBEDDINGS","Invalid JSON body"),(0,i.yj)(j.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model;k.request("POST",`${c.pathname} | ${d}`);let m=(0,e.Tr)(a);if(m?k.debug("AUTH",`API Key: ${k.maskKey(m)}`):k.debug("AUTH","No API key provided (local mode)"),(await (0,f.mt)()).requireApiKey){if(!m)return k.warn("AUTH","Missing API key (requireApiKey=true)"),(0,i.yj)(j.gx.UNAUTHORIZED,"Missing API key");if(!await (0,e.kI)(m))return k.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,i.yj)(j.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return k.warn("EMBEDDINGS","Missing model"),(0,i.yj)(j.gx.BAD_REQUEST,"Missing model");if(!b.input)return k.warn("EMBEDDINGS","Missing input"),(0,i.yj)(j.gx.BAD_REQUEST,"Missing required field: input");let n=await (0,g.mA)(d);if(!n.provider)return k.warn("EMBEDDINGS","Invalid model format",{model:d}),(0,i.yj)(j.gx.BAD_REQUEST,"Invalid model format");let{provider:o,model:p}=n;d!==`${o}/${p}`?k.info("ROUTING",`${d} → ${o}/${p}`):k.info("ROUTING",`Provider: ${o}, Model: ${p}`);let q=new Set,r=null,s=null;for(;;){let a=m?await (0,e.c1)(o,q,p,{apiKey:m}):await (0,e.c1)(o,q,p);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=r||a.lastError||"Unavailable",c=s||Number(a.lastErrorCode)||j.gx.SERVICE_UNAVAILABLE;return k.warn("EMBEDDINGS",`[${o}/${p}] ${b} (${a.retryAfterHuman})`),(0,i.wO)(c,`[${o}/${p}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===q.size)return k.error("AUTH",`No credentials for provider: ${o}`),(0,i.yj)(j.gx.BAD_REQUEST,`No credentials for provider: ${o}`);return k.warn("EMBEDDINGS","No more accounts available",{provider:o}),(0,i.yj)(s||j.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}k.info("AUTH",`\x1b[32mUsing ${o} account: ${a.connectionName}\x1b[0m`);let c=await (0,l.eU)(o,a),d=await (0,h.o)({body:{...b,model:`${o}/${p}`},modelInfo:{provider:o,model:p},credentials:c,log:k,onCredentialsRefreshed:async b=>{await (0,l.vN)(a.connectionId,{...b,existingProviderSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(a.connectionId,a,p)}});if(d.success)return d.response;let{shouldFallback:f}=await (0,e.vk)(a.connectionId,d.status,d.error,o,p,d.resetsAtMs);if(f){k.warn("AUTH",`Account ${a.connectionName} unavailable (${d.status}), trying fallback`),q.add(a.connectionId),r=d.error,s=d.status;continue}return d.response}}h=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89132:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>k});var e=c(43659),f=c(41004),g=c(55330),h=c(8590),i=c(60284),j=a([g]);async function k({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:j,onRequestSuccess:l}){let m,n,{provider:o,model:p}=b,q=a.input;if(!q)return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");if("string"!=typeof q&&!Array.isArray(q))return(0,e.A1)(f.gx.BAD_REQUEST,"input must be a string or array of strings");let r=(0,i.d)(o);if(!r)return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${o}' does not support embeddings.`);let s={input:q},t=r.buildUrl(p,c,s),u=r.buildHeaders(c,s),v=r.buildBody(p,{input:q,encoding_format:a.encoding_format||"float",dimensions:a.dimensions});d?.debug?.("EMBEDDINGS",`${o.toUpperCase()} | ${p} | input_type=${Array.isArray(q)?`array[${q.length}]`:"string"}`);try{m=await fetch(t,{method:"POST",headers:u,body:JSON.stringify(v)})}catch(b){let a=(0,e.lR)(b,o,p,f.gx.BAD_GATEWAY);return d?.debug?.("EMBEDDINGS",`Fetch error: ${a}`),(0,e.A1)(f.gx.BAD_GATEWAY,a)}let w=(0,g.SB)(o);if(!w?.noAuth&&(m.status===f.gx.UNAUTHORIZED||m.status===f.gx.FORBIDDEN)){let a=await (0,h.qZ)(()=>w.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.apiKey){d?.info?.("TOKEN",`${o.toUpperCase()} | refreshed for embeddings`),Object.assign(c,a),j&&await j(a);try{let a=r.buildHeaders(c,s),b=r.buildUrl(p,c,s);m=await fetch(b,{method:"POST",headers:a,body:JSON.stringify(v)})}catch{d?.warn?.("TOKEN",`${o.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${o.toUpperCase()} | refresh failed`)}if(!m.ok){let{statusCode:a,message:b}=await (0,e.zL)(m),c=(0,e.lR)(Error(b),o,p,a);return d?.debug?.("EMBEDDINGS",`Provider error: ${c}`),(0,e.A1)(a,c)}try{n=await m.json()}catch{return(0,e.A1)(f.gx.BAD_GATEWAY,`Invalid JSON response from ${o}`)}l&&await l();let x=r.normalize(n,p);return d?.debug?.("EMBEDDINGS",`Success | usage=${JSON.stringify(x.usage||{})}`),{success:!0,response:new Response(JSON.stringify(x),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},96299:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>n,dynamic:()=>o,maxDuration:()=>q,runtime:()=>p});var e=c(30549),f=c(81509),g=c(32238),h=c(55436),i=c(58028),j=c(43833),k=c(66630),l=c(92594),m=a([f,h]);[f,h]=m.then?(await m)():m;let o="force-dynamic",p="nodejs",q=300,r=Object.freeze({embeddings:{pathname:"/api/v1/embeddings",handler:f.P},images:{pathname:"/api/v1/images/generations",handler:h.k},speech:{pathname:"/api/v1/audio/speech",handler:k.G},transcriptions:{pathname:"/api/v1/audio/transcriptions",handler:j.w},search:{pathname:"/api/v1/search",handler:i.R},fetch:{pathname:"/api/v1/web/fetch",handler:g.P},videos:{pathname:"/api/v1/videos/generations",handler:a=>(0,l.g)(a,"generations")}});async function n(a,{params:b}){let{operation:c}=await b,d=r[c];if(!d)return Response.json({error:"Unsupported dashboard media operation"},{status:404});let f=new Headers(a.headers);await (0,e.f)(f);let g=new URL(a.url);g.pathname=d.pathname;let h=await a.arrayBuffer(),i=new Request(g,{method:"POST",headers:f,body:h.byteLength>0?h:void 0,signal:a.signal});return d.handler(i)}d()}catch(a){d(a)}})}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,5433,3999,5024,3477,5681,9609,5295,2557,6306,7634,1130,3110,4795,5330,3743,1051,7828,8910,2594,4632,8028,5436],()=>b(b.s=5716));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=2121,a.ids=[2121],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{a.exports=require("node:perf_hooks")},1708:a=>{a.exports=require("node:process")},1932:a=>{a.exports=require("url")},4573:a=>{a.exports=require("node:buffer")},5716:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(96299),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/dashboard/media/[operation]/route",pathname:"/api/dashboard/media/[operation]",filename:"route",bundlePath:"app/api/dashboard/media/[operation]/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/dashboard/media/[operation]/route.js",nextConfigOutput:"standalone",userland:v,...{}}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/dashboard/media/[operation]/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:A,prerenderManifest:B,routerServerContext:C,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(B.dynamicRoutes[I]||B.routes[F]),K=async()=>((null==C?void 0:C.render404)?await C.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!A){let a=!!B.routes[F],b=B.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||z.isDev||A||(L=F,L="/index"===L?"/":L);let M=!0===z.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==C?void 0:C.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,x,B,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:B.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,C)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),b}},k=await z.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:B,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),A&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,C),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},7066:a=>{a.exports=require("node:tty")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},27910:a=>{a.exports=require("stream")},28354:a=>{a.exports=require("util")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30549:(a,b,c)=>{c.d(b,{f:()=>e});var d=c(89718);async function e(a){if(!(a.get("authorization")||a.get("x-api-key")))try{let b=await (0,d.mt)();if(!b?.requireApiKey)return;let c=(await (0,d.PX)(!0)||[]).find(a=>a?.isActive!==!1&&"string"==typeof a?.key&&a.key);c&&a.set("authorization",`Bearer ${c.key}`)}catch{}}},31421:a=>{a.exports=require("node:child_process")},32238:(a,b,c)=>{c.d(b,{P:()=>u});var d=c(80238),e=c(89718),f=c(75681);async function g(a,b,c){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{...b,headers:function(a){if(!a)return a;let b={};for(let[c,d]of Object.entries(a))b[c]="string"==typeof d?d.replace(/[^\x00-\xFF]/g,"").trim():d;return b}(b.headers),signal:d.signal});return{ok:!0,res:c}}catch(a){return{ok:!1,timeout:a?.name==="AbortError",error:a?.message||String(a)}}finally{clearTimeout(e)}}function h(a,b){return a&&"string"==typeof a?!b||b<=0?a:a.length>b?a.slice(0,b):a:a||""}function i({provider:a,url:b,title:c,format:d,text:e,costUsd:f,responseMs:g,upstreamMs:h}){return{provider:a,url:b,title:c||null,content:{format:d,text:e||"",length:(e||"").length},metadata:{author:null,published_at:null,language:null},usage:{fetch_cost_usd:f??null},metrics:{response_time_ms:g,upstream_latency_ms:h}}}async function j(a){if((a.headers.get("content-type")||"").includes("application/json"))try{return{json:await a.json()}}catch{return{text:""}}return{text:await a.text()}}async function k({url:a,format:b,maxCharacters:c,provider:d,providerConfig:e,credentials:f,log:g}){if(!a||"string"!=typeof a)return{success:!1,status:400,error:"url is required"};if(!d)return{success:!1,status:400,error:"provider is required"};let h=b||"markdown",i=e?.timeoutMs||15e3,j=f?.apiKey||f?.key||f?.token||"",p=e?.costPerQuery??null,q=Date.now();try{if("firecrawl"===d)return await l({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("jina-reader"===d)return await m({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("tavily"===d)return await n({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});if("exa"===d)return await o({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:p,startedAt:q});return{success:!1,status:400,error:`Unsupported provider: ${d}`}}catch(a){return g?.("fetch handler error:",a?.message||a),{success:!1,status:502,error:a?.message||"Internal fetch error"}}}async function l({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let m=Date.now(),n=await g("https://api.firecrawl.dev/v1/scrape",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({url:a,formats:[b]})},c);if(!n.ok)return{success:!1,status:n.timeout?504:502,error:n.error};let o=Date.now()-m,{json:p}=await j(n.res);if(!n.res.ok)return{success:!1,status:n.res.status,error:p?.error||`Firecrawl error: ${n.res.status}`};let q=p?.data||{},r=h(q.markdown||q.html||q.text||"",e);return{success:!0,data:i({provider:"firecrawl",url:a,title:q.metadata?.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}}async function m({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:j}){let k,l=`https://r.jina.ai/${encodeURIComponent(a)}`,n=Date.now(),o=await g(l,{method:"GET",headers:d?{authorization:`Bearer ${d}`}:{}},c);if(!o.ok)return{success:!1,status:o.timeout?504:502,error:o.error};let p=Date.now()-n,q=await o.res.text();if(!o.res.ok)return{success:!1,status:o.res.status,error:q?.slice(0,500)||`Jina error: ${o.res.status}`};let r=h(q,e);return{success:!0,data:i({provider:"jina-reader",url:a,title:(k=String(q||"").match(/^\s*#\s+(.+)$/m))?k[1].trim():null,format:b,text:r,costUsd:f,responseMs:Date.now()-j,upstreamMs:p})}}async function n({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.tavily.com/extract",{method:"POST",headers:{"content-type":"application/json",...d?{authorization:`Bearer ${d}`}:{}},body:JSON.stringify({urls:[a],extract_depth:"basic"})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let o=Date.now()-l,{json:p}=await j(m.res);return m.res.ok?{success:!0,data:i({provider:"tavily",url:a,title:null,format:b,text:h((p?.results?.[0]||{}).raw_content||"",e),costUsd:f,responseMs:Date.now()-k,upstreamMs:o})}:{success:!1,status:m.res.status,error:p?.error||`Tavily error: ${m.res.status}`}}async function o({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:k}){let l=Date.now(),m=await g("https://api.exa.ai/contents",{method:"POST",headers:{"content-type":"application/json",...d?{"x-api-key":d}:{}},body:JSON.stringify({ids:[a],text:!0})},c);if(!m.ok)return{success:!1,status:m.timeout?504:502,error:m.error};let n=Date.now()-l,{json:p}=await j(m.res);if(!m.res.ok)return{success:!1,status:m.res.status,error:p?.error||`Exa error: ${m.res.status}`};let q=p?.results?.[0]||{},r=h(q.text||"",e);return{success:!0,data:i({provider:"exa",url:a,title:q.title||null,format:b,text:r,costUsd:f,responseMs:Date.now()-k,upstreamMs:n})}}var p=c(43659),q=c(41004),r=c(7803),s=c(67828),t=c(18910);async function u(a){let b;try{b=await a.json()}catch{return r.warn("FETCH","Invalid JSON body"),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),f=b.provider||b.model,g=b.url;b.format,b.max_characters,r.request("POST",`${c.pathname} | ${f}`);let h=(0,d.Tr)(a);h?r.debug("AUTH",`API Key: ${r.maskKey(h)}`):r.debug("AUTH","No API key provided (local mode)");let i=await (0,e.mt)();if(i.requireApiKey){if(!h)return r.warn("AUTH","Missing API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(h))return r.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,p.yj)(q.gx.UNAUTHORIZED,"Invalid API key")}if(!f||"string"!=typeof f)return r.warn("FETCH","Missing provider/model"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!g||"string"!=typeof g)return r.warn("FETCH","Missing url"),(0,p.yj)(q.gx.BAD_REQUEST,"Missing required field: url");try{new URL(g)}catch{return r.warn("FETCH","Invalid URL",{url:g}),(0,p.yj)(q.gx.BAD_REQUEST,"Invalid URL format")}let j=await (0,e.Uv)(),k=(0,t.Vu)(f,j);if(k){let c=i.comboStrategies||{},d=c[f]?.fallbackStrategy||i.comboStrategy||"fallback",e=i.comboStickyRoundRobinLimit;return r.info("FETCH",`Combo "${f}" with ${k.length} providers (strategy: ${d}, sticky: ${e})`),(0,t.Pr)({body:b,models:k,handleSingleModel:(b,c)=>v(b,c,a,h,i),log:r,comboName:f,comboStrategy:d,comboStickyLimit:e})}return v(b,f,a,h,i)}async function v(a,b,c,e,g){let h=a.url,i=a.format,j=a.max_characters,l=(0,f.rs)(b),m=f.AI_PROVIDERS[l];if(!m)return r.warn("FETCH","Unknown provider",{provider:b}),(0,p.yj)(q.gx.BAD_REQUEST,`Unknown provider: ${b}`);let n=m.fetchConfig;if(!n)return r.warn("FETCH","Provider does not support web fetch",{provider:l}),(0,p.yj)(q.gx.BAD_REQUEST,`Provider ${l} does not support web fetch`);if(b!==l?r.info("ROUTING",`${b} → ${l}`):r.info("ROUTING",`Provider: ${l}`),m.noAuth){r.info("AUTH",`\x1b[32m${l} no-auth mode\x1b[0m`);let a=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:null,log:r});return a.success?new Response(JSON.stringify(a.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}}):(0,p.yj)(a.status||q.gx.BAD_GATEWAY,a.error||"Fetch failed")}let o=new Set,t=null,u=null;for(;;){let a=e?await (0,d.c1)(l,o,null,{apiKey:e}):await (0,d.c1)(l,o);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=t||a.lastError||"Unavailable",c=u||Number(a.lastErrorCode)||q.gx.SERVICE_UNAVAILABLE;return r.warn("FETCH",`[${l}] ${b} (${a.retryAfterHuman})`),(0,p.wO)(c,`[${l}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===o.size)return r.error("AUTH",`No credentials for provider: ${l}`),(0,p.yj)(q.gx.BAD_REQUEST,`No credentials for provider: ${l}`);return r.warn("FETCH","No more accounts available",{provider:l}),(0,p.yj)(u||q.gx.SERVICE_UNAVAILABLE,t||"All accounts unavailable")}r.info("AUTH",`\x1b[32mUsing ${l} account: ${a.connectionName}\x1b[0m`);let b=await (0,s.eU)(l,a),c=await k({url:h,format:i,maxCharacters:j,provider:m.id,providerConfig:n,credentials:b,log:r,onCredentialsRefreshed:async b=>{await (0,s.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,d.Pt)(a.connectionId,a)}});if(c.success)return new Response(JSON.stringify(c.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}});let{shouldFallback:f}=await (0,d.vk)(a.connectionId,c.status,c.error,l);if(f){r.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),o.add(a.connectionId),t=c.error,u=c.status;continue}return(0,p.yj)(c.status||q.gx.BAD_GATEWAY,c.error||"Fetch failed")}}},32467:a=>{a.exports=require("node:http2")},33873:a=>{a.exports=require("path")},34589:a=>{a.exports=require("node:assert")},37067:a=>{a.exports=require("node:http")},37540:a=>{a.exports=require("node:console")},37830:a=>{a.exports=require("node:stream/web")},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},43833:(a,b,c)=>{c.d(b,{w:()=>x});var d=c(80238),e=c(89718),f=c(38775),g=c(4573),h=c(43659),i=c(41004),j=c(75681);function k(a,b){if(!b)return{};switch(a.authHeader){case"bearer":default:return{Authorization:`Bearer ${b}`};case"token":return{Authorization:`Token ${b}`};case"x-api-key":return{"x-api-key":b};case"key":return{Authorization:`Key ${b}`}}}function l(a){let b=(a.type||"").toLowerCase();if(b.startsWith("audio/"))return b;let c="string"==typeof a.name?a.name.toLowerCase():"";return({mp3:"audio/mpeg",mp4:"audio/mp4",m4a:"audio/mp4",wav:"audio/wav",ogg:"audio/ogg",flac:"audio/flac",webm:"audio/webm",aac:"audio/aac",opus:"audio/opus"})[c.includes(".")?c.split(".").pop():""]||"application/octet-stream"}async function m(a){let b="";try{b=await a.text()}catch{}let c=b||`Upstream error (${a.status})`;try{let a=JSON.parse(b);c=a?.error?.message||a?.error||a?.message||c}catch{}return(0,h.A1)(a.status,"string"==typeof c?c:JSON.stringify(c))}async function n(a,b,c,d,e){let f=new URL(a.baseUrl);f.searchParams.set("model",c),f.searchParams.set("smart_format","true"),f.searchParams.set("punctuate","true");let g=e.get("language");"string"==typeof g&&g.trim()?f.searchParams.set("language",g.trim()):f.searchParams.set("detect_language","true");let h=await b.arrayBuffer(),i=await fetch(f,{method:"POST",headers:{...k(a,d),"Content-Type":l(b)},body:h});if(!i.ok)return m(i);let j=await i.json();return t({text:j.results?.channels?.[0]?.alternatives?.[0]?.transcript??""})}async function o(a,b,c,d){let e=k(a,d),f=await b.arrayBuffer(),g=await fetch("https://api.assemblyai.com/v2/upload",{method:"POST",headers:{...e,"Content-Type":"application/octet-stream"},body:f});if(!g.ok)return m(g);let{upload_url:i}=await g.json(),j=await fetch(a.baseUrl,{method:"POST",headers:{...e,"Content-Type":"application/json"},body:JSON.stringify({audio_url:i,speech_models:[c],language_detection:!0})});if(!j.ok)return m(j);let{id:l}=await j.json(),n=Date.now();for(;Date.now()-n<12e4;){await new Promise(a=>setTimeout(a,2e3));let b=await fetch(`${a.baseUrl}/${l}`,{headers:e});if(!b.ok)continue;let c=await b.json();if("completed"===c.status)return t({text:c.text||""});if("error"===c.status)return(0,h.A1)(500,c.error||"AssemblyAI failed")}return(0,h.A1)(504,"AssemblyAI timeout after 120s")}async function p(a,b,c,d){let e=new FormData;e.append("file",b,b.name||"audio.wav"),e.append("model",c);let f=await fetch(a.baseUrl,{method:"POST",headers:k(a,d),body:e});if(!f.ok)return m(f);let g=await f.json();return t({text:g.text||g.transcript||""})}async function q(a,b,c,d,e){let f=await b.arrayBuffer(),h=g.Buffer.from(f).toString("base64"),i=l(b),j=e.get("language"),k=e.get("prompt"),n=k&&"string"==typeof k&&k.trim()?k.trim():"Generate a transcript of the speech. Return only the transcribed text, no commentary.";"string"==typeof j&&j.trim()&&(n+=` Language: ${j.trim()}.`);let o=`${a.baseUrl}/${c}:generateContent?key=${d}`,p=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:[{parts:[{text:n},{inline_data:{mime_type:i,data:h}}]}]})});if(!p.ok)return m(p);let q=await p.json();return t({text:q?.candidates?.[0]?.content?.parts?.map(a=>a.text).filter(Boolean).join("")||""})}async function r(a,b,c,d){if(c.includes("..")||c.includes("//"))return(0,h.A1)(400,"Invalid model ID");let e=`${a.baseUrl.replace(/\/+$/,"")}/${c}`,f=await b.arrayBuffer(),g=await fetch(e,{method:"POST",headers:{...k(a,d),"Content-Type":l(b)},body:f});return g.ok?t({text:(await g.json()).text||""}):m(g)}async function s(a,b,c,d,e){let f=new FormData;for(let a of(f.append("file",b,b.name||"audio.wav"),f.append("model",c),["language","prompt","response_format","temperature"])){let b=e.get(a);null!=b&&""!==b&&f.append(a,b)}let g=await fetch(a.baseUrl,{method:"POST",headers:k(a,d),body:f});if(!g.ok)return m(g);let h=g.headers.get("content-type")||"application/json";return{success:!0,response:new Response(await g.text(),{status:200,headers:{"Content-Type":h,"Access-Control-Allow-Origin":"*"}})}}function t(a){return{success:!0,response:new Response(JSON.stringify(a),{status:200,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}async function u({provider:a,model:b,formData:c,credentials:d}){let e=c.get("file");if(!e)return(0,h.A1)(i.gx.BAD_REQUEST,"Missing required field: file");let f=j.AI_PROVIDERS[a]?.sttConfig;if(!f)return(0,h.A1)(i.gx.BAD_REQUEST,`Provider '${a}' does not support STT`);let g="none"===f.authType?null:d?.apiKey||d?.accessToken;if("none"!==f.authType&&!g)return(0,h.A1)(i.gx.UNAUTHORIZED,`No credentials for STT provider: ${a}`);try{switch(f.format){case"deepgram":return await n(f,e,b,g,c);case"assemblyai":return await o(f,e,b,g);case"nvidia-asr":return await p(f,e,b,g);case"huggingface-asr":return await r(f,e,b,g);case"gemini-stt":return await q(f,e,b,g,c);default:return await s(f,e,b,g,c)}}catch(a){return(0,h.A1)(i.gx.BAD_GATEWAY,a.message||"STT request failed")}}var v=c(7803);let w=new Set(Object.entries(j.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("stt")&&!a.noAuth&&a.sttConfig?.authType!=="none").map(([a])=>a));async function x(a){let b;try{b=await a.formData()}catch{return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid multipart form data")}let c=b.get("model");v.request("POST",`/v1/audio/transcriptions | ${c}`);let g=(0,d.Tr)(a);if((await (0,e.mt)()).requireApiKey){if(!g)return(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(g))return(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}if(!c)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing model");if(!b.get("file"))return(0,h.yj)(i.gx.BAD_REQUEST,"Missing required field: file");let j=await (0,f.mA)(c);if(!j.provider)return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid model format");let{provider:k,model:l}=j;if(v.info("ROUTING",`Provider: ${k}, Model: ${l}`),!w.has(k)){let a=await u({provider:k,model:l,formData:b});return a.success?a.response:(0,h.yj)(a.status||i.gx.BAD_GATEWAY,a.error||"STT failed")}let m=new Set,n=null,o=null;for(;;){let a=g?await (0,d.c1)(k,m,l,{apiKey:g}):await (0,d.c1)(k,m,l);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=n||a.lastError||"Unavailable",c=o||Number(a.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(c,`[${k}/${l}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===m.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${k}`);return(0,h.yj)(o||i.gx.SERVICE_UNAVAILABLE,n||"All accounts unavailable")}v.info("AUTH",`\x1b[32mUsing ${k} account: ${a.connectionName}\x1b[0m`);let c=await u({provider:k,model:l,formData:b,credentials:a});if(c.success)return c.response;let{shouldFallback:e}=await (0,d.vk)(a.connectionId,c.status,c.error,k,l);if(e){m.add(a.connectionId),n=c.error,o=c.status;continue}return c.response||(0,h.yj)(c.status,c.error)}}},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{a.exports=require("sql.js")},48161:a=>{a.exports=require("node:os")},51455:a=>{a.exports=require("node:fs/promises")},53053:a=>{a.exports=require("node:diagnostics_channel")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},57075:a=>{a.exports=require("node:stream")},57975:a=>{a.exports=require("node:util")},58500:a=>{a.exports=require("node:timers/promises")},60284:(a,b,c)=>{c.d(b,{d:()=>j});let d={openai:"https://api.openai.com/v1/embeddings",openrouter:"https://openrouter.ai/api/v1/embeddings",mistral:"https://api.mistral.ai/v1/embeddings","voyage-ai":"https://api.voyageai.com/v1/embeddings",fireworks:"https://api.fireworks.ai/inference/v1/embeddings",together:"https://api.together.xyz/v1/embeddings",nebius:"https://api.tokenfactory.nebius.com/v1/embeddings",github:"https://models.github.ai/inference/embeddings",nvidia:"https://integrate.api.nvidia.com/v1/embeddings","jina-ai":"https://api.jina.ai/v1/embeddings"};function e(a){return{buildUrl:()=>d[a],buildHeaders:b=>{let c={"Content-Type":"application/json",...{Authorization:`Bearer ${b.apiKey||b.accessToken}`}};return"openrouter"===a&&(c["HTTP-Referer"]="https://endpoint-proxy.local",c["X-Title"]="Endpoint Proxy"),c},buildBody:(b,{input:c,encoding_format:d,dimensions:e,input_type:f})=>{let g=b;"nvidia"!==a||"string"!=typeof b||b.includes("/")||(g=`nvidia/${b}`);let h={model:g,input:c};if(d&&(h.encoding_format=d),null!=e&&""!==e){let a=Number(e);Number.isFinite(a)&&a>0&&(h.dimensions=a)}return f?h.input_type=f:"nvidia"===a&&(h.input_type="query"),h},normalize:a=>a}}function f(a){return a.startsWith("models/")?a:`models/${a}`}let g={buildUrl:(a,b,{input:c}={})=>{let d=b.apiKey||b.accessToken,e=f(a),g=Array.isArray(c)?"batchEmbedContents":"embedContent";return`https://generativelanguage.googleapis.com/v1beta/${e}:${g}?key=${encodeURIComponent(d)}`},buildHeaders:()=>({"Content-Type":"application/json"}),buildBody:(a,{input:b,dimensions:c})=>{let d=f(a),e=Number(c),g=Number.isFinite(e)&&e>0;return Array.isArray(b)?{requests:b.map(a=>({model:d,content:{parts:[{text:String(a)}]},...g?{outputDimensionality:e}:{}}))}:{model:d,content:{parts:[{text:String(b)}]},...g?{outputDimensionality:e}:{}}},normalize:(a,b)=>{if("list"===a.object&&Array.isArray(a.data))return a;let c=[];return Array.isArray(a.embeddings)?c=a.embeddings.map((a,b)=>({object:"embedding",index:b,embedding:a.values||[]})):a.embedding?.values&&(c=[{object:"embedding",index:0,embedding:a.embedding.values}]),{object:"list",data:c,model:b,usage:{prompt_tokens:0,total_tokens:0}}}},h={...e("openai"),buildUrl:(a,b)=>{let c=(b?.providerSpecificData?.baseUrl||"https://api.openai.com/v1").replace(/\/$/,"").replace(/\/embeddings$/,"");return`${c}/embeddings`}},i={...Object.fromEntries(["openai","openrouter","mistral","voyage-ai","fireworks","together","nebius","github","nvidia","jina-ai"].map(a=>[a,e(a)])),gemini:g,google_ai_studio:g};function j(a){return i[a]?i[a]:a?.startsWith?.("openai-compatible-")||a?.startsWith?.("custom-embedding-")?h:null}},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},66630:(a,b,c)=>{c.d(b,{G:()=>n});var d=c(80238),e=c(89718),f=c(38775),g=c(64632),h=c(43659),i=c(41004),j=c(75681),k=c(18910),l=c(7803);let m=new Set(Object.entries(j.AI_PROVIDERS).filter(([,a])=>a.serviceKinds?.includes("tts")&&!a.noAuth&&a.ttsConfig?.authType!=="none").map(([a])=>a));async function n(a){let b;try{b=await a.json()}catch{return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),g=b.model,j=c.searchParams.get("response_format")||"mp3",m=b.language||"";l.request("POST",`${c.pathname} | ${g} | format=${j}${m?` | lang=${m}`:""}`);let n=(0,d.Tr)(a),p=await (0,e.mt)();if(p.requireApiKey){if(!n)return(0,h.yj)(i.gx.UNAUTHORIZED,"Missing API key");if(!await (0,d.kI)(n))return(0,h.yj)(i.gx.UNAUTHORIZED,"Invalid API key")}if(!g)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing model");if(!b.input)return(0,h.yj)(i.gx.BAD_REQUEST,"Missing required field: input");let q=await (0,f.d_)(g);if(q){let a=p.comboStrategies||{},c=a[g]?.fallbackStrategy||p.comboStrategy||"fallback",d=p.comboStickyRoundRobinLimit;return l.info("TTS",`Combo "${g}" with ${q.length} models (strategy: ${c}, sticky: ${d})`),(0,k.Pr)({body:b,models:q,handleSingleModel:(a,b)=>o(a,b,j,m,n),log:l,comboName:g,comboStrategy:c,comboStickyLimit:d})}return o(b,g,j,m,n)}async function o(a,b,c,e,j=null){let k=await (0,f.mA)(b);if(!k.provider)return(0,h.yj)(i.gx.BAD_REQUEST,"Invalid model format");let{provider:n,model:p}=k;if(l.info("ROUTING",`Provider: ${n}, Voice: ${p}`),!m.has(n)){let b=await (0,g.PE)({provider:n,model:p,input:a.input,responseFormat:c,language:e});return b.success?b.response:(0,h.yj)(b.status||i.gx.BAD_GATEWAY,b.error||"TTS failed")}let q=new Set,r=null,s=null;for(;;){let b=j?await (0,d.c1)(n,q,p,{apiKey:j}):await (0,d.c1)(n,q,p);if(!b||b.allRateLimited){if(b?.allRateLimited){let a=r||b.lastError||"Unavailable",c=s||Number(b.lastErrorCode)||i.gx.SERVICE_UNAVAILABLE;return(0,h.wO)(c,`[${n}/${p}] ${a}`,b.retryAfter,b.retryAfterHuman)}if(0===q.size)return(0,h.yj)(i.gx.BAD_REQUEST,`No credentials for provider: ${n}`);return(0,h.yj)(s||i.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}l.info("AUTH",`\x1b[32mUsing ${n} account: ${b.connectionName}\x1b[0m`);let f=await (0,g.PE)({provider:n,model:p,input:a.input,credentials:b,responseFormat:c,language:e});if(f.success)return f.response;let{shouldFallback:k}=await (0,d.vk)(b.connectionId,f.status,f.error,n,p);if(k){q.add(b.connectionId),r=f.error,s=f.status;continue}return f.response||(0,h.yj)(f.status,f.error)}}},71553:a=>{a.exports=require("node:dns/promises")},73024:a=>{a.exports=require("node:fs")},73136:a=>{a.exports=require("node:url")},73429:a=>{a.exports=require("node:util/types")},73496:a=>{a.exports=require("http2")},74075:a=>{a.exports=require("zlib")},75919:a=>{a.exports=require("node:worker_threads")},76760:a=>{a.exports=require("node:path")},77030:a=>{a.exports=require("node:net")},77598:a=>{a.exports=require("node:crypto")},78474:a=>{a.exports=require("node:events")},79646:a=>{a.exports=require("child_process")},79868:a=>{a.exports=require("node:sqlite")},81509:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>n});var e=c(80238),f=c(89718),g=c(38775),h=c(89132),i=c(43659),j=c(41004),k=c(7803),l=c(67828),m=a([h]);async function n(a){let b;try{b=await a.json()}catch{return k.warn("EMBEDDINGS","Invalid JSON body"),(0,i.yj)(j.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.model;k.request("POST",`${c.pathname} | ${d}`);let m=(0,e.Tr)(a);if(m?k.debug("AUTH",`API Key: ${k.maskKey(m)}`):k.debug("AUTH","No API key provided (local mode)"),(await (0,f.mt)()).requireApiKey){if(!m)return k.warn("AUTH","Missing API key (requireApiKey=true)"),(0,i.yj)(j.gx.UNAUTHORIZED,"Missing API key");if(!await (0,e.kI)(m))return k.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,i.yj)(j.gx.UNAUTHORIZED,"Invalid API key")}if(!d)return k.warn("EMBEDDINGS","Missing model"),(0,i.yj)(j.gx.BAD_REQUEST,"Missing model");if(!b.input)return k.warn("EMBEDDINGS","Missing input"),(0,i.yj)(j.gx.BAD_REQUEST,"Missing required field: input");let n=await (0,g.mA)(d);if(!n.provider)return k.warn("EMBEDDINGS","Invalid model format",{model:d}),(0,i.yj)(j.gx.BAD_REQUEST,"Invalid model format");let{provider:o,model:p}=n;d!==`${o}/${p}`?k.info("ROUTING",`${d} → ${o}/${p}`):k.info("ROUTING",`Provider: ${o}, Model: ${p}`);let q=new Set,r=null,s=null;for(;;){let a=m?await (0,e.c1)(o,q,p,{apiKey:m}):await (0,e.c1)(o,q,p);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=r||a.lastError||"Unavailable",c=s||Number(a.lastErrorCode)||j.gx.SERVICE_UNAVAILABLE;return k.warn("EMBEDDINGS",`[${o}/${p}] ${b} (${a.retryAfterHuman})`),(0,i.wO)(c,`[${o}/${p}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===q.size)return k.error("AUTH",`No credentials for provider: ${o}`),(0,i.yj)(j.gx.BAD_REQUEST,`No credentials for provider: ${o}`);return k.warn("EMBEDDINGS","No more accounts available",{provider:o}),(0,i.yj)(s||j.gx.SERVICE_UNAVAILABLE,r||"All accounts unavailable")}k.info("AUTH",`\x1b[32mUsing ${o} account: ${a.connectionName}\x1b[0m`);let c=await (0,l.eU)(o,a),d=await (0,h.o)({body:{...b,model:`${o}/${p}`},modelInfo:{provider:o,model:p},credentials:c,log:k,onCredentialsRefreshed:async b=>{await (0,l.vN)(a.connectionId,{...b,existingProviderSpecificData:a.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,e.Pt)(a.connectionId,a,p)}});if(d.success)return d.response;let{shouldFallback:f}=await (0,e.vk)(a.connectionId,d.status,d.error,o,p,d.resetsAtMs);if(f){k.warn("AUTH",`Account ${a.connectionName} unavailable (${d.status}), trying fallback`),q.add(a.connectionId),r=d.error,s=d.status;continue}return d.response}}h=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},81630:a=>{a.exports=require("http")},81787:a=>{a.exports=require("bun:sqlite")},83997:a=>{a.exports=require("tty")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{a.exports=require("better-sqlite3")},87997:a=>{a.exports=require("node:timers")},89132:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{o:()=>k});var e=c(43659),f=c(41004),g=c(55330),h=c(8590),i=c(60284),j=a([g]);async function k({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:j,onRequestSuccess:l}){let m,n,{provider:o,model:p}=b,q=a.input;if(!q)return(0,e.A1)(f.gx.BAD_REQUEST,"Missing required field: input");if("string"!=typeof q&&!Array.isArray(q))return(0,e.A1)(f.gx.BAD_REQUEST,"input must be a string or array of strings");let r=(0,i.d)(o);if(!r)return(0,e.A1)(f.gx.BAD_REQUEST,`Provider '${o}' does not support embeddings.`);let s={input:q},t=r.buildUrl(p,c,s),u=r.buildHeaders(c,s),v=r.buildBody(p,{input:q,encoding_format:a.encoding_format||"float",dimensions:a.dimensions,input_type:a.input_type});d?.debug?.("EMBEDDINGS",`${o.toUpperCase()} | ${p} | input_type=${Array.isArray(q)?`array[${q.length}]`:"string"}`);try{m=await fetch(t,{method:"POST",headers:u,body:JSON.stringify(v)})}catch(b){let a=(0,e.lR)(b,o,p,f.gx.BAD_GATEWAY);return d?.debug?.("EMBEDDINGS",`Fetch error: ${a}`),(0,e.A1)(f.gx.BAD_GATEWAY,a)}let w=(0,g.SB)(o);if(!w?.noAuth&&(m.status===f.gx.UNAUTHORIZED||m.status===f.gx.FORBIDDEN)){let a=await (0,h.qZ)(()=>w.refreshCredentials(c,d),3,d);if(a?.accessToken||a?.apiKey){d?.info?.("TOKEN",`${o.toUpperCase()} | refreshed for embeddings`),Object.assign(c,a),j&&await j(a);try{let a=r.buildHeaders(c,s),b=r.buildUrl(p,c,s);m=await fetch(b,{method:"POST",headers:a,body:JSON.stringify(v)})}catch{d?.warn?.("TOKEN",`${o.toUpperCase()} | retry after refresh failed`)}}else d?.warn?.("TOKEN",`${o.toUpperCase()} | refresh failed`)}if(!m.ok){let{statusCode:a,message:b}=await (0,e.zL)(m),c=(0,e.lR)(Error(b),o,p,a);return d?.debug?.("EMBEDDINGS",`Provider error: ${c}`),(0,e.A1)(a,c)}try{n=await m.json()}catch{return(0,e.A1)(f.gx.BAD_GATEWAY,`Invalid JSON response from ${o}`)}l&&await l();let x=r.normalize(n,p);return d?.debug?.("EMBEDDINGS",`Success | usage=${JSON.stringify(x.usage||{})}`),{success:!0,response:new Response(JSON.stringify(x),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}g=(j.then?(await j)():j)[0],d()}catch(a){d(a)}})},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},96299:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{POST:()=>n,dynamic:()=>o,maxDuration:()=>q,runtime:()=>p});var e=c(30549),f=c(81509),g=c(32238),h=c(55436),i=c(58028),j=c(43833),k=c(66630),l=c(92594),m=a([f,h]);[f,h]=m.then?(await m)():m;let o="force-dynamic",p="nodejs",q=300,r=Object.freeze({embeddings:{pathname:"/api/v1/embeddings",handler:f.P},images:{pathname:"/api/v1/images/generations",handler:h.k},speech:{pathname:"/api/v1/audio/speech",handler:k.G},transcriptions:{pathname:"/api/v1/audio/transcriptions",handler:j.w},search:{pathname:"/api/v1/search",handler:i.R},fetch:{pathname:"/api/v1/web/fetch",handler:g.P},videos:{pathname:"/api/v1/videos/generations",handler:a=>(0,l.g)(a,"generations")}});async function n(a,{params:b}){let{operation:c}=await b,d=r[c];if(!d)return Response.json({error:"Unsupported dashboard media operation"},{status:404});let f=new Headers(a.headers);await (0,e.f)(f);let g=new URL(a.url);g.pathname=d.pathname;let h=await a.arrayBuffer(),i=new Request(g,{method:"POST",headers:f,body:h.byteLength>0?h:void 0,signal:a.signal});return d.handler(i)}d()}catch(a){d(a)}})}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,7774,5433,3999,5024,3477,5681,9609,5295,2557,6306,7634,1130,3110,4795,5330,3743,1051,7828,8910,2594,4632,8028,5436],()=>b(b.s=5716));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=552,a.ids=[552,1998,4720],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16655:(a,b,c)=>{"use strict";c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(93999)},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@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:1997},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"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat","notion-ai":"https://app.notion.com/api/v3/runInferenceTranscript"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.239","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"@node-saml/node-saml":"5.1.0","next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","nanoid":"^3.3.18","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch and nanoid use fixed floors directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","minimatch":"file:vendor/minimatch3-secure","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},40774:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{GET:()=>A,PUT:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(16655),y=c(30869),z=c(75681);async function A(){try{let a=await (0,w.OM)(),b=await (0,x.vF)(),c=y.eh.filter(a=>!(b[(0,z.wG)(a.provider)||a.provider]||b[a.provider]||[]).includes(a.model)).map(b=>{let c=`${b.provider}/${b.model}`,d=Object.keys(a).find(b=>a[b]===c)||b.model;return{...b,fullModel:c,alias:d}});return v.NextResponse.json({models:c})}catch(a){return console.log("Error fetching models:",a),v.NextResponse.json({error:"Failed to fetch models"},{status:500})}}async function B(a){try{let{model:b,alias:c}=await a.json();if(!b||!c)return v.NextResponse.json({error:"Model and alias required"},{status:400});let d=await (0,w.OM)();if(Object.entries(d).find(([a,d])=>a===c&&d!==b))return v.NextResponse.json({error:"Alias already in use"},{status:400});return await (0,w.o5)(c,b),v.NextResponse.json({success:!0,model:b,alias:c})}catch(a){return console.log("Error updating alias:",a),v.NextResponse.json({error:"Failed to update alias"},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/models/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||C.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===C.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),b}},k=await C.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{"use strict";c.d(b,{Fh:()=>d.Fh,Iu:()=>d.Iu,Kg:()=>d.Kg,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.getModelAliases,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.deleteModelAlias,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79868:a=>{"use strict";a.exports=require("node:sqlite")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(83477);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,3999,5024,3477,5681],()=>b(b.s=40774));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=552,a.ids=[552,1998,4720],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16655:(a,b,c)=>{"use strict";c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(93999)},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@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:1997},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"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat","notion-ai":"https://app.notion.com/api/v3/runInferenceTranscript"}},33873:a=>{"use strict";a.exports=require("path")},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.241","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"@node-saml/node-saml":"5.1.0","next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","nanoid":"^3.3.18","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch and nanoid use fixed floors directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","minimatch":"file:vendor/minimatch3-secure","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},40774:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{GET:()=>A,PUT:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(16655),y=c(30869),z=c(75681);async function A(){try{let a=await (0,w.OM)(),b=await (0,x.vF)(),c=y.eh.filter(a=>!(b[(0,z.wG)(a.provider)||a.provider]||b[a.provider]||[]).includes(a.model)).map(b=>{let c=`${b.provider}/${b.model}`,d=Object.keys(a).find(b=>a[b]===c)||b.model;return{...b,fullModel:c,alias:d}});return v.NextResponse.json({models:c})}catch(a){return console.log("Error fetching models:",a),v.NextResponse.json({error:"Failed to fetch models"},{status:500})}}async function B(a){try{let{model:b,alias:c}=await a.json();if(!b||!c)return v.NextResponse.json({error:"Model and alias required"},{status:400});let d=await (0,w.OM)();if(Object.entries(d).find(([a,d])=>a===c&&d!==b))return v.NextResponse.json({error:"Alias already in use"},{status:400});return await (0,w.o5)(c,b),v.NextResponse.json({success:!0,model:b,alias:c})}catch(a){return console.log("Error updating alias:",a),v.NextResponse.json({error:"Failed to update alias"},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/models/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,resolvedPathname:F,clientReferenceManifest:G,serverActionsManifest:H}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[F]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[F],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||C.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===C.isDev||!J,N=J&&!M;H&&G&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:G,serverActionsManifest:H});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&D&&E&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),b}},k=await C.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:E,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",D?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:D})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{"use strict";c.d(b,{Fh:()=>d.Fh,Iu:()=>d.Iu,Kg:()=>d.Kg,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.getModelAliases,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.deleteModelAlias,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79868:a=>{"use strict";a.exports=require("node:sqlite")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(83477);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,3999,5024,3477,5681],()=>b(b.s=40774));module.exports=c})();
|
|
@@ -3,4 +3,4 @@ MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA8iMH5c02LilrsERw9t6Pv5Nc
|
|
|
3
3
|
4k6Pz1EaDicBMpdpxKduSZu5OANqUq8er4GM95omAGIOPOh+Nx0spthYA2BqGz+l
|
|
4
4
|
6HRkPJ7S236FZz73In/KVuLnwI8JJ2CbuJap8kvheCCZpmAWpb/cPx/3Vr/J6I17
|
|
5
5
|
XcW+ML9FoCI6AOvOzwIDAQAB
|
|
6
|
-
-----END PUBLIC KEY-----`},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@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:1997},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"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat","notion-ai":"https://app.notion.com/api/v3/runInferenceTranscript"}},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},38904:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>M,patchFetch:()=>L,routeModule:()=>H,serverHooks:()=>K,workAsyncStorage:()=>I,workUnitAsyncStorage:()=>J});var d={};c.r(d),c.d(d,{GET:()=>F,POST:()=>G,dynamic:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(30869),y=c(75681),z=c(57729),A=c(90715),B=c(21031);let C="force-dynamic";function D(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}async function E(a){if(null==a||""===a||"__none__"===a)return{proxyPoolId:null};let b=String(a).trim();return b?await (0,w.hr)(b)?{proxyPoolId:b}:{error:"Proxy pool not found"}:{proxyPoolId:null}}async function F(){try{let a=await (0,w.getProviderConnections)(),b={};try{for(let a of(await (0,w.Fh)()))a.id&&a.name&&(b[a.id]=a.name)}catch{}let c=a.map(a=>{let c=(0,y.mq)(a.provider)||(0,y.gb)(a.provider)?a.name||b[a.provider]||a.providerSpecificData?.nodeName||a.provider:a.name;return(0,A.js)({...a,name:c})});return v.NextResponse.json({connections:c})}catch(a){return console.log("Error fetching providers:",a),v.NextResponse.json({error:"Failed to fetch providers"},{status:500})}}async function G(a){let b;try{b=await a.json()}catch{return v.NextResponse.json({error:"Invalid JSON body"},{status:400})}let c=function(a){if(!D(a))return"JSON body must be an object";if("string"!=typeof a.provider||!a.provider.trim())return"provider must be a non-empty string";for(let b of["apiKey","name","displayName","defaultModel","testStatus","connectionProxyUrl","connectionNoProxy","baseUrl","baseURL","ollamaHostUrl"])if(void 0!==a[b]&&"string"!=typeof a[b])return`${b} must be a string`;if(void 0!==a.connectionProxyEnabled&&"boolean"!=typeof a.connectionProxyEnabled)return"connectionProxyEnabled must be a boolean";if(void 0!==a.priority&&("number"!=typeof a.priority||!Number.isFinite(a.priority)||a.priority<=0))return"priority must be a positive number";if(void 0!==a.globalPriority&&null!==a.globalPriority&&("number"!=typeof a.globalPriority||!Number.isFinite(a.globalPriority)||a.globalPriority<0))return"globalPriority must be null or a non-negative number";if(void 0!==a.proxyPoolId&&null!==a.proxyPoolId&&"string"!=typeof a.proxyPoolId)return"proxyPoolId must be a string or null";if(void 0!==a.providerSpecificData&&null!==a.providerSpecificData&&!D(a.providerSpecificData))return"providerSpecificData must be an object or null";let b=a.providerSpecificData;if(D(b)){for(let a of["baseUrl","azureEndpoint","apiVersion","deployment","organization","accountId","region","spaceId","spaceViewId","userId","notionUserId","spaceName","userName","userEmail","timezone","clientVersion","notionClientVersion","cell","notionCell"])if(void 0!==b[a]&&"string"!=typeof b[a])return`providerSpecificData.${a} must be a string`}return null}(b);if(c)return v.NextResponse.json({error:c},{status:400});try{let a=(0,z.ob)(b.provider),{apiKey:c,name:d,displayName:e,priority:f,globalPriority:g,defaultModel:h,testStatus:i}=b,j=function(a={}){let b=a?.connectionProxyEnabled===!0,c="string"==typeof a?.connectionProxyUrl?a.connectionProxyUrl.trim():"",d="string"==typeof a?.connectionNoProxy?a.connectionNoProxy.trim():"";return b&&!c?{error:"Connection proxy URL is required when connection proxy is enabled"}:{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d}}(b);if(j.error)return v.NextResponse.json({error:j.error},{status:400});let k=await E(b.proxyPoolId);if(k.error)return v.NextResponse.json({error:k.error},{status:400});let l=k.proxyPoolId,m=!!y.br[a],n=!!y.IS[a]?.authModes?.includes?.("apikey"),o=!!y.zN[a]?.authModes?.includes?.("apikey"),p=x.fg[a]||y.nJ[a]||n||o||m||(0,y.mq)(a)||(0,y.gb)(a)||(0,y.gC)(a);if(!a||!p)return v.NextResponse.json({error:"Invalid provider"},{status:400});if((!c||!c.trim())&&"ollama-local"!==a)return v.NextResponse.json({error:`${m?"Cookie value":"API Key"} is required`},{status:400});let q=c?.trim()||"";if("qoder"===a&&!(0,B.zh)(q))return v.NextResponse.json({error:"Qoder Personal Access Token must start with pt-"},{status:400});let r=d||e||y.AI_PROVIDERS[a]?.name;if(!r)return v.NextResponse.json({error:"Name is required"},{status:400});let s=(0,z.F8)(a,b,b.providerSpecificData);if((0,y.mq)(a)){let b=await (0,w.Qu)(a);if(!b)return v.NextResponse.json({error:"OpenAI Compatible node not found"},{status:404});if((await (0,w.getProviderConnections)({provider:a})).length>0)return v.NextResponse.json({error:"Only one connection is allowed for this OpenAI Compatible node"},{status:400});s={prefix:b.prefix,apiType:b.apiType,baseUrl:b.baseUrl,nodeName:b.name}}else if((0,y.gb)(a)){let b=await (0,w.Qu)(a);if(!b)return v.NextResponse.json({error:"Anthropic Compatible node not found"},{status:404});s={prefix:b.prefix,baseUrl:b.baseUrl,nodeName:b.name}}else if((0,y.gC)(a)){let b=await (0,w.Qu)(a);if(!b)return v.NextResponse.json({error:"Custom Embedding node not found"},{status:404});if((await (0,w.getProviderConnections)({provider:a})).length>0)return v.NextResponse.json({error:"Only one connection is allowed for this Custom Embedding node"},{status:400});s={prefix:b.prefix,baseUrl:b.baseUrl,nodeName:b.name}}let t={...s||{},..."qoder"===a?{authMethod:"pat"}:{},connectionProxyEnabled:j.connectionProxyEnabled,connectionProxyUrl:j.connectionProxyUrl,connectionNoProxy:j.connectionNoProxy};null!==l&&(t.proxyPoolId=l);let u=await (0,w.createProviderConnection)({provider:a,authType:m?"cookie":"apikey",name:r,apiKey:q,priority:f??1,globalPriority:g??null,defaultModel:h||null,providerSpecificData:t,isActive:!0,testStatus:i||"unknown"});return v.NextResponse.json({connection:(0,A.js)(u)},{status:201})}catch(a){return console.log("Error creating provider:",a),v.NextResponse.json({error:"Failed to create provider"},{status:500})}}let H=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/providers/route",pathname:"/api/providers",filename:"route",bundlePath:"app/api/providers/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/providers/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:J,serverHooks:K}=H;function L(){return(0,g.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:J})}async function M(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),H.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/route";"/index"===d&&(d="/");let e=await H.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[E]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||H.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===H.isDev||!J,N=J&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await H.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>H.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>H.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await H.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await H.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await H.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.239","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"@node-saml/node-saml":"5.1.0","next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","nanoid":"^3.3.18","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch and nanoid use fixed floors directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","minimatch":"file:vendor/minimatch3-secure","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57729:(a,b,c)=>{"use strict";c.d(b,{F8:()=>f,ob:()=>e});var d=c(75681);function e(a){if("string"!=typeof a)return a;let b=a.trim(),c=(0,d.rs)(b);if(d.AI_PROVIDERS[c])return c;if(d.AI_PROVIDERS[b])return b;let e=b.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(d.AI_PROVIDERS[e])return e;let f=Object.values(d.AI_PROVIDERS).find(a=>a.name?.toLowerCase()===b.toLowerCase());return f?.id||b}function f(a,b={},c=null){let d=c&&"object"==typeof c?{...c}:{};if("ollama-local"===a){let a=(d.baseUrl||b.baseUrl||b.baseURL||b.ollamaHostUrl||"").trim();a&&(d.baseUrl=a)}if("notion-ai"===a)for(let a of["spaceId","spaceViewId","userId","notionUserId","spaceName","userName","userEmail","timezone","clientVersion","notionClientVersion","cell","notionCell"])"string"==typeof d[a]&&(d[a]=d[a].trim());return Object.keys(d).length>0?d:null}},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{"use strict";c.d(b,{Fh:()=>d.Fh,Iu:()=>d.Iu,Kg:()=>d.Kg,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.getModelAliases,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.deleteModelAlias,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(83477);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},90715:(a,b,c)=>{"use strict";c.d(b,{Eq:()=>r,eK:()=>u,js:()=>v,yr:()=>s});let d=["id","provider","authType","name","displayName","email","priority","globalPriority","defaultModel","isActive","testStatus","status","lastTested","lastError","lastErrorAt","lastErrorType","errorType","errorCode","statusCode","providerErrorCode","rateLimitedUntil","expiresAt","expiresIn","tokenType","scope","projectId","lastUsedAt","consecutiveUseCount","consecutiveAuthFailures","backoffLevel","autoDisabledAt","autoDisabledReason","failureClass","upstreamRequestId","failureResetAt","quarantinedAt","quarantineReason","manuallyReenabledAt","createdAt","updatedAt"],e=["baseUrl","azureEndpoint","deployment","apiVersion","organization","accountId","region","projectId","resourceUrl","proxyPoolId","connectionProxyEnabled","connectionProxyUrl","connectionNoProxy","githubLogin","githubName","githubEmail","githubUserId","username","firstName","lastName","authMethod","authKind","chatgptAccountId","chatgptPlanType","uid","enterpriseId","userId","organizationId","profileArn","startUrl","machineId","subscriptionTier","hasGrokCodeAccess","domain","refreshExpiresAt","refreshExpiresIn","tokenType","email","name","expireTime","nodeName","prefix","apiType","enabledModels","spaceId","spaceViewId","notionUserId","clientVersion","cell","spaceName","userName","userEmail","timezone"],f=["model","providerErrorCode","reason","lockedAt","resetsAt"],g=new Set(["baseUrl","azureEndpoint","resourceUrl","startUrl","connectionProxyUrl"]),h=new Set(["lastError","autoDisabledReason","failureClass","providerErrorCode","upstreamRequestId","quarantineReason"]),i=new Set(["not_attempted","succeeded","transient_failed","rejected"]),j=/(?:api[_-]?key|access[_-]?token|auth|credential|password|secret|signature|token)/i,k=/([?&](?:api[_-]?key|access[_-]?token|auth|credential|password|secret|signature|token)=)[^&#\s;,]+/gi,l=/(\b(?:api[_-]?key|access[_-]?token|authorization|auth|credential|password|passwd|secret|signature|token)\b["']?\s*[:=]\s*)(?!(?:Bearer|Basic)\b)(?:"[^"]*"|'[^']*'|[^\s,;&}]+)/gi,m=/\b(Bearer|Basic)\s+[a-z\d._~+\/-]+=*/gi,n=/([a-z][a-z\d+.-]*:\/\/)[^@\s/]+@/gi,o=/(^|[\s("'`])[^:@/\s]+:[^@/\s]+@/gi,p=["id","name","noProxy","type","isActive","strictProxy","testStatus","lastTestedAt","lastError","createdAt","updatedAt","boundConnectionCount"];function q(a){return null===a||["string","number","boolean"].includes(typeof a)?a:Array.isArray(a)&&a.every(a=>null===a||["string","number","boolean"].includes(typeof a))?[...a]:void 0}function r(a){if("string"!=typeof a||!a)return a;if(/^[a-z][a-z\d+.-]*:\/\//i.test(a))try{let b=new URL(a);for(let a of(b.username&&(b.username="***"),b.password&&(b.password="***"),b.searchParams.keys()))j.test(a)&&b.searchParams.set(a,"***");return b.toString()}catch{}return a.replace(n,"$1***:***@").replace(o,"$1***:***@").replace(k,"$1***").replace(l,"$1***")}function s(a){return"string"==typeof a&&a?a.replace(n,"$1***:***@").replace(o,"$1***:***@").replace(k,"$1***").replace(l,"$1***").replace(m,"$1 ***"):a}function t(a){return"string"==typeof a?s(a):Array.isArray(a)?a.map(a=>"string"==typeof a?s(a):a):a}function u(a,{revealProxyUrl:b=!1}={}){if(!a||"object"!=typeof a)return{};let c={};for(let b of p){let d=q(a[b]);void 0!==d&&(c[b]=d)}let d=q(a.proxyUrl);return"string"==typeof d&&(c.proxyUrl=b?d:r(d)),void 0!==c.lastError&&(c.lastError=t(c.lastError)),c}function v(a){if(!a||"object"!=typeof a)return{};let b={};for(let c of d){let d=q(a[c]);void 0!==d&&(b[c]=h.has(c)?t(d):d)}for(let[c,d]of Object.entries(a)){if(!c.startsWith("modelLock_"))continue;let a=q(d);void 0!==a&&(b[c]=a)}let c=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of f){let d=q(a[c]);void 0!==d&&(b[c]="reason"===c?t(d):d)}return Object.keys(b).length>0?b:void 0}(a.modelLockReason);c&&(b.modelLockReason=c);let j=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of["initialStatus","retryStatus"]){let d=a[c];(null===d||Number.isInteger(d)&&d>=0&&d<=599)&&(b[c]=d)}return"boolean"==typeof a.refreshAttempted&&(b.refreshAttempted=a.refreshAttempted),i.has(a.refreshOutcome)&&(b.refreshOutcome=a.refreshOutcome),Object.keys(b).length>0?b:void 0}(a.authLifecycle);j&&(b.authLifecycle=j);let k=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of e){let d=q(a[c]);void 0!==d&&(b[c]=g.has(c)?r(d):d)}return b}(a.providerSpecificData);return k&&(b.providerSpecificData=k),b}},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7774,3999,5024,3477,5681,9609],()=>b(b.s=38904));module.exports=c})();
|
|
6
|
+
-----END PUBLIC KEY-----`},30869:(a,b,c)=>{"use strict";c.d(b,{UY:()=>h,X3:()=>j,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g,oc:()=>i});var d=c(39006),e=c(75681),f=c(81329);d.version;let g={npmPackageName:"zevairouter",installCmd:"npm i -g zevairouter",installCmdLatest:"npm i -g zevairouter@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:1997},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"}}},j={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat","notion-ai":"https://app.notion.com/api/v3/runInferenceTranscript"}},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},38904:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>M,patchFetch:()=>L,routeModule:()=>H,serverHooks:()=>K,workAsyncStorage:()=>I,workUnitAsyncStorage:()=>J});var d={};c.r(d),c.d(d,{GET:()=>F,POST:()=>G,dynamic:()=>C});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(71998),x=c(30869),y=c(75681),z=c(57729),A=c(90715),B=c(21031);let C="force-dynamic";function D(a){return null!==a&&"object"==typeof a&&!Array.isArray(a)}async function E(a){if(null==a||""===a||"__none__"===a)return{proxyPoolId:null};let b=String(a).trim();return b?await (0,w.hr)(b)?{proxyPoolId:b}:{error:"Proxy pool not found"}:{proxyPoolId:null}}async function F(){try{let a=await (0,w.getProviderConnections)(),b={};try{for(let a of(await (0,w.Fh)()))a.id&&a.name&&(b[a.id]=a.name)}catch{}let c=a.map(a=>{let c=(0,y.mq)(a.provider)||(0,y.gb)(a.provider)?a.name||b[a.provider]||a.providerSpecificData?.nodeName||a.provider:a.name;return(0,A.js)({...a,name:c})});return v.NextResponse.json({connections:c})}catch(a){return console.log("Error fetching providers:",a),v.NextResponse.json({error:"Failed to fetch providers"},{status:500})}}async function G(a){let b;try{b=await a.json()}catch{return v.NextResponse.json({error:"Invalid JSON body"},{status:400})}let c=function(a){if(!D(a))return"JSON body must be an object";if("string"!=typeof a.provider||!a.provider.trim())return"provider must be a non-empty string";for(let b of["apiKey","name","displayName","defaultModel","testStatus","connectionProxyUrl","connectionNoProxy","baseUrl","baseURL","ollamaHostUrl"])if(void 0!==a[b]&&"string"!=typeof a[b])return`${b} must be a string`;if(void 0!==a.connectionProxyEnabled&&"boolean"!=typeof a.connectionProxyEnabled)return"connectionProxyEnabled must be a boolean";if(void 0!==a.priority&&("number"!=typeof a.priority||!Number.isFinite(a.priority)||a.priority<=0))return"priority must be a positive number";if(void 0!==a.globalPriority&&null!==a.globalPriority&&("number"!=typeof a.globalPriority||!Number.isFinite(a.globalPriority)||a.globalPriority<0))return"globalPriority must be null or a non-negative number";if(void 0!==a.proxyPoolId&&null!==a.proxyPoolId&&"string"!=typeof a.proxyPoolId)return"proxyPoolId must be a string or null";if(void 0!==a.providerSpecificData&&null!==a.providerSpecificData&&!D(a.providerSpecificData))return"providerSpecificData must be an object or null";let b=a.providerSpecificData;if(D(b)){for(let a of["baseUrl","azureEndpoint","apiVersion","deployment","organization","accountId","region","spaceId","spaceViewId","userId","notionUserId","spaceName","userName","userEmail","timezone","clientVersion","notionClientVersion","cell","notionCell"])if(void 0!==b[a]&&"string"!=typeof b[a])return`providerSpecificData.${a} must be a string`}return null}(b);if(c)return v.NextResponse.json({error:c},{status:400});try{let a=(0,z.ob)(b.provider),{apiKey:c,name:d,displayName:e,priority:f,globalPriority:g,defaultModel:h,testStatus:i}=b,j=function(a={}){let b=a?.connectionProxyEnabled===!0,c="string"==typeof a?.connectionProxyUrl?a.connectionProxyUrl.trim():"",d="string"==typeof a?.connectionNoProxy?a.connectionNoProxy.trim():"";return b&&!c?{error:"Connection proxy URL is required when connection proxy is enabled"}:{connectionProxyEnabled:b,connectionProxyUrl:c,connectionNoProxy:d}}(b);if(j.error)return v.NextResponse.json({error:j.error},{status:400});let k=await E(b.proxyPoolId);if(k.error)return v.NextResponse.json({error:k.error},{status:400});let l=k.proxyPoolId,m=!!y.br[a],n=!!y.IS[a]?.authModes?.includes?.("apikey"),o=!!y.zN[a]?.authModes?.includes?.("apikey"),p=x.fg[a]||y.nJ[a]||n||o||m||(0,y.mq)(a)||(0,y.gb)(a)||(0,y.gC)(a);if(!a||!p)return v.NextResponse.json({error:"Invalid provider"},{status:400});if((!c||!c.trim())&&"ollama-local"!==a)return v.NextResponse.json({error:`${m?"Cookie value":"API Key"} is required`},{status:400});let q=c?.trim()||"";if("qoder"===a&&!(0,B.zh)(q))return v.NextResponse.json({error:"Qoder Personal Access Token must start with pt-"},{status:400});let r=d||e||y.AI_PROVIDERS[a]?.name;if(!r)return v.NextResponse.json({error:"Name is required"},{status:400});let s=(0,z.F8)(a,b,b.providerSpecificData);if((0,y.mq)(a)){let b=await (0,w.Qu)(a);if(!b)return v.NextResponse.json({error:"OpenAI Compatible node not found"},{status:404});if((await (0,w.getProviderConnections)({provider:a})).length>0)return v.NextResponse.json({error:"Only one connection is allowed for this OpenAI Compatible node"},{status:400});s={prefix:b.prefix,apiType:b.apiType,baseUrl:b.baseUrl,nodeName:b.name}}else if((0,y.gb)(a)){let b=await (0,w.Qu)(a);if(!b)return v.NextResponse.json({error:"Anthropic Compatible node not found"},{status:404});s={prefix:b.prefix,baseUrl:b.baseUrl,nodeName:b.name}}else if((0,y.gC)(a)){let b=await (0,w.Qu)(a);if(!b)return v.NextResponse.json({error:"Custom Embedding node not found"},{status:404});if((await (0,w.getProviderConnections)({provider:a})).length>0)return v.NextResponse.json({error:"Only one connection is allowed for this Custom Embedding node"},{status:400});s={prefix:b.prefix,baseUrl:b.baseUrl,nodeName:b.name}}let t={...s||{},..."qoder"===a?{authMethod:"pat"}:{},connectionProxyEnabled:j.connectionProxyEnabled,connectionProxyUrl:j.connectionProxyUrl,connectionNoProxy:j.connectionNoProxy};null!==l&&(t.proxyPoolId=l);let u=await (0,w.createProviderConnection)({provider:a,authType:m?"cookie":"apikey",name:r,apiKey:q,priority:f??1,globalPriority:g??null,defaultModel:h||null,providerSpecificData:t,isActive:!0,testStatus:i||"unknown"});return v.NextResponse.json({connection:(0,A.js)(u)},{status:201})}catch(a){return console.log("Error creating provider:",a),v.NextResponse.json({error:"Failed to create provider"},{status:500})}}let H=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/providers/route",pathname:"/api/providers",filename:"route",bundlePath:"app/api/providers/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/providers/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:J,serverHooks:K}=H;function L(){return(0,g.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:J})}async function M(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),H.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/providers/route";"/index"===d&&(d="/");let e=await H.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,deploymentId:v,params:w,nextConfig:x,parsedUrl:y,isDraftMode:z,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,I=(0,k.normalizeAppPath)(d),J=!!(A.dynamicRoutes[I]||A.routes[E]),K=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(J&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[I];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await K();throw new t.NoFallbackError}}let L=null;!J||H.isDev||z||(L="/index"===(L=E)?"/":L);let M=!0===H.isDev||!J,N=J&&!M;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let O=a.method||"GET",P=(0,i.getTracer)(),Q=P.getActiveScopeSpan(),R=!!(null==B?void 0:B.isWrappedByNextServer),S=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await H.getIncrementalCache(a,x,A,S);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:M,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>H.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},V=new l.NodeNextRequest(a),W=new l.NodeNextResponse(b),X=m.NextRequestAdapter.fromNodeNextRequest(V,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>H.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=P.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${O} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${O} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!S&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=U.renderOpts.fetchMetrics;let h=U.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=U.renderOpts.collectedTags;if(!J)return await (0,p.I)(V,W,d,U.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==U.renderOpts.collectedRevalidate&&!(U.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&U.renderOpts.collectedRevalidate,e=void 0===U.renderOpts.collectedExpire||U.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:U.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await H.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await H.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:S});if(!J)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});S||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),z&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return S&&J||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(V,W,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};R&&Q?await h(Q):(e=P.getActiveScopeSpan(),await P.withPropagatedContext(a.headers,()=>P.trace(n.BaseServerSpan.handleRequest,{spanName:`${O} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":O,"http.target":a.url}},h),void 0,!R))}catch(b){if(b instanceof t.NoFallbackError||await H.onRequestError(a,b,{routerKind:"App Router",routePath:I,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),J)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},39006:a=>{"use strict";a.exports=JSON.parse('{"name":"zevairouter","version":"1.0.241","description":"Self-hosted AI router: many providers, one OpenAI-compatible /v1 endpoint and dashboard","bin":{"zevai":"cli/cli.js"},"files":["cli/cli.js","cli/app/","cli/hooks/","cli/src/","cli/package.json","cli/README.md","cli/LICENSE","scripts/start-standalone.mjs","README.md","README.zh-CN.md","DOCKER.md","LICENSE","CHANGELOG.md"],"scripts":{"dev":"next dev --webpack --port 1997","build":"node scripts/build-app.mjs","start":"node ./scripts/start-standalone.mjs","dev:bun":"bun --bun next dev --webpack --port 1997","build:bun":"bun --bun next build --webpack","start:bun":"bun ./.next/standalone/server.js","lint":"eslint .","test":"vitest run --config tests/vitest.config.js","build:cli":"node cli/scripts/build-cli.js","audit:package":"node cli/scripts/audit-package.mjs","smoke:package":"node cli/scripts/smoke-package.mjs","release":"node cli/scripts/release.js","prepack":"npm run build:cli && npm run audit:package","postinstall":"node cli/hooks/postinstall.js"},"dependencies":{"@node-saml/node-saml":"5.1.0","next":"16.2.12","node-machine-id":"1.1.12","react":"19.2.4","react-dom":"19.2.4","sql.js":"1.14.1","yaml":"2.9.0"},"comment_optional_runtime":"Optional packages are installed into ~/.zevai/runtime instead of the published tarball. Automation uses CloakBrowser with playwright-core; ZEVAI_MINIMAL_POSTINSTALL=1 skips its browser download. Other lazy runtimes are better-sqlite3, node-pty, and systray2.","overrides":{"body-parser":"^2.3.0","brace-expansion":"5.0.9","dompurify":"^3.4.12","ip-address":"^10.4.0","nanoid":"^3.3.18","postcss":"^8.5.10","sharp":"^0.35.0"},"comment_overrides":"Security floors for transitive dependencies. ESLint\'s legacy minimatch is a private, source-pinned 3.1.5 compatibility package backed by brace-expansion 5.0.9; modern minimatch and nanoid use fixed floors directly. Monaco still pins an old DOMPurify; Express and Next may resolve vulnerable body-parser/sharp releases. Recheck and remove overrides once parent packages require fixed versions.","devDependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/modifiers":"^9.0.0","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@monaco-editor/react":"^4.7.0","@tailwindcss/postcss":"^4.1.18","@xterm/addon-fit":"^0.11.0","@xterm/addon-web-links":"^0.12.0","@xterm/xterm":"^6.0.0","@xyflow/react":"^12.10.1","bcryptjs":"^3.0.3","better-sqlite3":"^12.6.2","chalk":"^4.1.2","confbox":"^0.2.4","dompurify":"^3.4.12","esbuild":"^0.28.1","eslint":"^9","eslint-config-next":"16.2.9","express":"^5.2.1","http-proxy-middleware":"^3.0.7","jose":"^6.1.3","marked":"^18.0.1","material-symbols":"^0.45.1","minimatch":"file:vendor/minimatch3-secure","monaco-editor":"^0.55.1","node-forge":"^1.3.3","open":"^11.0.0","ora":"^9.1.0","postcss":"^8.5.10","prop-types":"^15.8.1","react-is":"^19.2.7","recharts":"^3.7.0","selfsigned":"^5.5.0","socks":"^2.8.9","socks-proxy-agent":"^10.1.0","tailwindcss":"^4","undici":"^8.10.0","uuid":"^14.0.1","vitest":"^4.1.10","zustand":"^5.0.10"},"engines":{"node":">=22.5.0"},"keywords":["zevairouter","zevai","ai","router","proxy","kiro","codebuddy","claude","openai","api","quota","automation"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/Verifiedlabs/zevairouter.git"},"bugs":{"url":"https://github.com/Verifiedlabs/zevairouter/issues"},"homepage":"https://github.com/Verifiedlabs/zevairouter"}')},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57729:(a,b,c)=>{"use strict";c.d(b,{F8:()=>f,ob:()=>e});var d=c(75681);function e(a){if("string"!=typeof a)return a;let b=a.trim(),c=(0,d.rs)(b);if(d.AI_PROVIDERS[c])return c;if(d.AI_PROVIDERS[b])return b;let e=b.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"");if(d.AI_PROVIDERS[e])return e;let f=Object.values(d.AI_PROVIDERS).find(a=>a.name?.toLowerCase()===b.toLowerCase());return f?.id||b}function f(a,b={},c=null){let d=c&&"object"==typeof c?{...c}:{};if("ollama-local"===a){let a=(d.baseUrl||b.baseUrl||b.baseURL||b.ollamaHostUrl||"").trim();a&&(d.baseUrl=a)}if("notion-ai"===a)for(let a of["spaceId","spaceViewId","userId","notionUserId","spaceName","userName","userEmail","timezone","clientVersion","notionClientVersion","cell","notionCell"])"string"==typeof d[a]&&(d[a]=d[a].trim());return Object.keys(d).length>0?d:null}},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71998:(a,b,c)=>{"use strict";c.d(b,{Fh:()=>d.Fh,Iu:()=>d.Iu,Kg:()=>d.Kg,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.getModelAliases,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.deleteModelAlias,getProviderConnections:()=>d.getProviderConnections,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,o5:()=>d.o5,op:()=>d.op,rj:()=>d.updateProviderConnection,uL:()=>d.uL,ui:()=>d.ui,uv:()=>d.uv});var d=c(89718)},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81329:(a,b,c)=>{"use strict";c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(83477);Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a);let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},90715:(a,b,c)=>{"use strict";c.d(b,{Eq:()=>r,eK:()=>u,js:()=>v,yr:()=>s});let d=["id","provider","authType","name","displayName","email","priority","globalPriority","defaultModel","isActive","testStatus","status","lastTested","lastError","lastErrorAt","lastErrorType","errorType","errorCode","statusCode","providerErrorCode","rateLimitedUntil","expiresAt","expiresIn","tokenType","scope","projectId","lastUsedAt","consecutiveUseCount","consecutiveAuthFailures","backoffLevel","autoDisabledAt","autoDisabledReason","failureClass","upstreamRequestId","failureResetAt","quarantinedAt","quarantineReason","manuallyReenabledAt","createdAt","updatedAt"],e=["baseUrl","azureEndpoint","deployment","apiVersion","organization","accountId","region","projectId","resourceUrl","proxyPoolId","connectionProxyEnabled","connectionProxyUrl","connectionNoProxy","githubLogin","githubName","githubEmail","githubUserId","username","firstName","lastName","authMethod","authKind","chatgptAccountId","chatgptPlanType","uid","enterpriseId","userId","organizationId","profileArn","startUrl","machineId","subscriptionTier","hasGrokCodeAccess","domain","refreshExpiresAt","refreshExpiresIn","tokenType","email","name","expireTime","nodeName","prefix","apiType","enabledModels","spaceId","spaceViewId","notionUserId","clientVersion","cell","spaceName","userName","userEmail","timezone"],f=["model","providerErrorCode","reason","lockedAt","resetsAt"],g=new Set(["baseUrl","azureEndpoint","resourceUrl","startUrl","connectionProxyUrl"]),h=new Set(["lastError","autoDisabledReason","failureClass","providerErrorCode","upstreamRequestId","quarantineReason"]),i=new Set(["not_attempted","succeeded","transient_failed","rejected"]),j=/(?:api[_-]?key|access[_-]?token|auth|credential|password|secret|signature|token)/i,k=/([?&](?:api[_-]?key|access[_-]?token|auth|credential|password|secret|signature|token)=)[^&#\s;,]+/gi,l=/(\b(?:api[_-]?key|access[_-]?token|authorization|auth|credential|password|passwd|secret|signature|token)\b["']?\s*[:=]\s*)(?!(?:Bearer|Basic)\b)(?:"[^"]*"|'[^']*'|[^\s,;&}]+)/gi,m=/\b(Bearer|Basic)\s+[a-z\d._~+\/-]+=*/gi,n=/([a-z][a-z\d+.-]*:\/\/)[^@\s/]+@/gi,o=/(^|[\s("'`])[^:@/\s]+:[^@/\s]+@/gi,p=["id","name","noProxy","type","isActive","strictProxy","testStatus","lastTestedAt","lastError","createdAt","updatedAt","boundConnectionCount"];function q(a){return null===a||["string","number","boolean"].includes(typeof a)?a:Array.isArray(a)&&a.every(a=>null===a||["string","number","boolean"].includes(typeof a))?[...a]:void 0}function r(a){if("string"!=typeof a||!a)return a;if(/^[a-z][a-z\d+.-]*:\/\//i.test(a))try{let b=new URL(a);for(let a of(b.username&&(b.username="***"),b.password&&(b.password="***"),b.searchParams.keys()))j.test(a)&&b.searchParams.set(a,"***");return b.toString()}catch{}return a.replace(n,"$1***:***@").replace(o,"$1***:***@").replace(k,"$1***").replace(l,"$1***")}function s(a){return"string"==typeof a&&a?a.replace(n,"$1***:***@").replace(o,"$1***:***@").replace(k,"$1***").replace(l,"$1***").replace(m,"$1 ***"):a}function t(a){return"string"==typeof a?s(a):Array.isArray(a)?a.map(a=>"string"==typeof a?s(a):a):a}function u(a,{revealProxyUrl:b=!1}={}){if(!a||"object"!=typeof a)return{};let c={};for(let b of p){let d=q(a[b]);void 0!==d&&(c[b]=d)}let d=q(a.proxyUrl);return"string"==typeof d&&(c.proxyUrl=b?d:r(d)),void 0!==c.lastError&&(c.lastError=t(c.lastError)),c}function v(a){if(!a||"object"!=typeof a)return{};let b={};for(let c of d){let d=q(a[c]);void 0!==d&&(b[c]=h.has(c)?t(d):d)}for(let[c,d]of Object.entries(a)){if(!c.startsWith("modelLock_"))continue;let a=q(d);void 0!==a&&(b[c]=a)}let c=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of f){let d=q(a[c]);void 0!==d&&(b[c]="reason"===c?t(d):d)}return Object.keys(b).length>0?b:void 0}(a.modelLockReason);c&&(b.modelLockReason=c);let j=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of["initialStatus","retryStatus"]){let d=a[c];(null===d||Number.isInteger(d)&&d>=0&&d<=599)&&(b[c]=d)}return"boolean"==typeof a.refreshAttempted&&(b.refreshAttempted=a.refreshAttempted),i.has(a.refreshOutcome)&&(b.refreshOutcome=a.refreshOutcome),Object.keys(b).length>0?b:void 0}(a.authLifecycle);j&&(b.authLifecycle=j);let k=function(a){if(!a||"object"!=typeof a||Array.isArray(a))return;let b={};for(let c of e){let d=q(a[c]);void 0!==d&&(b[c]=g.has(c)?r(d):d)}return b}(a.providerSpecificData);return k&&(b.providerSpecificData=k),b}},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,7774,3999,5024,3477,5681,9609],()=>b(b.s=38904));module.exports=c})();
|