vansrouter 0.7.6 → 0.7.8
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/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +9 -9
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/react-loadable-manifest.json +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/masuk/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +9 -9
- package/app/.next-cli-build/server/chunks/1536.js +1 -1
- package/app/.next-cli-build/server/chunks/2557.js +4 -4
- package/app/.next-cli-build/server/chunks/383.js +1 -1
- package/app/.next-cli-build/server/chunks/403.js +1 -1
- package/app/.next-cli-build/server/chunks/4418.js +16 -14
- package/app/.next-cli-build/server/chunks/4574.js +2 -2
- package/app/.next-cli-build/server/chunks/5006.js +1 -1
- package/app/.next-cli-build/server/chunks/5290.js +1 -1
- package/app/.next-cli-build/server/chunks/5598.js +1 -1
- package/app/.next-cli-build/server/chunks/6159.js +1 -1
- package/app/.next-cli-build/server/chunks/6723.js +1 -1
- package/app/.next-cli-build/server/chunks/7916.js +1 -1
- package/app/.next-cli-build/server/chunks/9984.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/4385-e7386da5593047d9.js +1 -0
- package/app/.next-cli-build/static/chunks/{5737-b48f5e3f71caff94.js → 5737-db655a51294730ae.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-843674c44029b01b.js +1 -0
- package/app/.next-cli-build/static/chunks/{webpack-709c19c4ca395e42.js → webpack-79b65541449c3a45.js} +1 -1
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/src/cli/tray/tray.ps1 +130 -79
- package/app/.next-cli-build/static/chunks/4385-7bad7f9144a8bd2d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-ab94afac28af93d9.js +0 -1
- /package/app/.next-cli-build/static/{hfSdoGhzBHU-MAopyKXHv → GKLmZnKWr8SmNlRLjgypS}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{hfSdoGhzBHU-MAopyKXHv → GKLmZnKWr8SmNlRLjgypS}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=8736,a.ids=[8736],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},26915:a=>{a.exports=import("playwright-core")},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")},31421:a=>{a.exports=require("node:child_process")},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")},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},40993:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>ae,patchFetch:()=>ad,routeModule:()=>_,serverHooks:()=>ac,workAsyncStorage:()=>aa,workUnitAsyncStorage:()=>ab});var d={};c.r(d),c.d(d,{OPTIONS:()=>Z,POST:()=>$});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(15261),x=c(92398),y=c(90293),z=c(83950),A=c(44004),B=c(94164),C=c(91253),D=c(84310);function E(a){if(!a?.length)return{includes:[],excludes:[]};let b=[],c=[];for(let d of a)d.startsWith("-")?c.push(d.slice(1)):b.push(d);return{includes:b,excludes:c}}function F(a,b){let c=a.providerOptions?.[b];if("string"==typeof c&&c.trim().length>0)return c.trim();let d=a.providerSpecificData?.[b];if("string"==typeof d&&d.trim().length>0)return d.trim()}function G(a,b){return(F(b,"baseUrl")||a.baseUrl).replace(/\/+$/,"")}function H(a,b){if("number"==typeof a&&!(a<=0)&&!(b<=0))return Math.floor(a/b)+1}let I={serper:function(a,b){let c="news"===b.searchType?"/news":"/search",d={q:b.query,num:b.maxResults};return b.country&&(d.gl=b.country.toLowerCase()),b.language&&(d.hl=b.language),{url:`${G(a,b)}${c}`,init:{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":b.token},body:JSON.stringify(d)}}},"brave-search":function(a,b){let c="news"===b.searchType?"/news/search":"/web/search",d=new URLSearchParams({q:b.query,count:String(b.maxResults)});return b.country&&d.set("country",b.country),b.language&&d.set("search_lang",b.language),{url:`${G(a,b)}${c}?${d}`,init:{method:"GET",headers:{Accept:"application/json","X-Subscription-Token":b.token}}}},perplexity:function(a,b){let c={query:b.query,max_results:b.maxResults};return b.country&&(c.country=b.country),b.language&&(c.search_language_filter=[b.language]),b.domainFilter?.length&&(c.search_domain_filter=b.domainFilter),{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b.token}`},body:JSON.stringify(c)}}},exa:function(a,b){let{includes:c,excludes:d}=E(b.domainFilter),e={query:b.query,numResults:b.maxResults,type:"auto",text:!0,highlights:!0};return c.length&&(e.includeDomains=c),d.length&&(e.excludeDomains=d),"news"===b.searchType&&(e.category="news"),{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json","x-api-key":b.token},body:JSON.stringify(e)}}},tavily:function(a,b){let{includes:c,excludes:d}=E(b.domainFilter),e={query:b.query,max_results:b.maxResults,topic:"news"===b.searchType?"news":"general"};return c.length&&(e.include_domains=c),d.length&&(e.exclude_domains=d),b.country&&(e.country=b.country),{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b.token}`},body:JSON.stringify(e)}}},"google-pse":function(a,b){let c=b.token,d=F(b,"cx");if(!c||!d)throw Error("Google Programmable Search requires both apiKey and cx");let e=new URLSearchParams({key:c,cx:d,q:b.query,num:String(Math.min(b.maxResults,10))});if(b.country&&e.set("gl",b.country.toLowerCase()),b.language&&e.set("hl",b.language),b.timeRange&&"any"!==b.timeRange){let a={day:"d1",week:"w1",month:"m1",year:"y1"}[b.timeRange];a&&e.set("dateRestrict",a)}return"number"==typeof b.offset&&b.offset>0&&e.set("start",String(Math.min(b.offset+1,91))),{url:`${G(a,b)}?${e}`,init:{method:"GET",headers:{Accept:"application/json"}}}},linkup:function(a,b){let c=b.token;if(!c)throw Error("Linkup Search requires an API key");let{includes:d,excludes:e}=E(b.domainFilter),f=F(b,"depth"),g=f&&["fast","standard","deep"].includes(f)?f:"standard",h={q:b.query,depth:g,outputType:"searchResults",maxResults:b.maxResults};if(d.length&&(h.includeDomains=d),e.length&&(h.excludeDomains=e),b.timeRange&&"any"!==b.timeRange){let a=new Date,c=a.toISOString().slice(0,10),d=new Date(a);"day"===b.timeRange&&d.setUTCDate(d.getUTCDate()-1),"week"===b.timeRange&&d.setUTCDate(d.getUTCDate()-7),"month"===b.timeRange&&d.setUTCMonth(d.getUTCMonth()-1),"year"===b.timeRange&&d.setUTCFullYear(d.getUTCFullYear()-1),h.fromDate=d.toISOString().slice(0,10),h.toDate=c}return{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(h)}}},searchapi:function(a,b){let c=b.token;if(!c)throw Error("SearchAPI requires an API key");let d=new URLSearchParams({engine:"news"===b.searchType?"google_news":"google",q:b.query,api_key:c});b.country&&d.set("gl",b.country.toLowerCase()),b.language&&d.set("hl",b.language);let e=H(b.offset,b.maxResults);return e&&d.set("page",String(e)),{url:`${G(a,b)}?${d}`,init:{method:"GET",headers:{Accept:"application/json"}}}},youcom:function(a,b){let c=b.token;if(!c)throw Error("You.com Search requires an API key");let{includes:d,excludes:e}=E(b.domainFilter),f=new URLSearchParams({query:b.query,count:String(Math.min(b.maxResults,100))});return b.timeRange&&"any"!==b.timeRange&&f.set("freshness",b.timeRange),"number"==typeof b.offset&&b.offset>0&&b.maxResults>0&&f.set("offset",String(Math.min(Math.floor(b.offset/b.maxResults),9))),b.country&&f.set("country",b.country),b.language&&f.set("language",b.language),d.length&&f.set("include_domains",d.join(",")),e.length&&f.set("exclude_domains",e.join(",")),b.contentOptions?.full_page&&(f.set("livecrawl","news"===b.searchType?"news":"web"),f.append("livecrawl_formats","markdown"===b.contentOptions.format?"markdown":"html")),{url:`${G(a,b)}?${f}`,init:{method:"GET",headers:{Accept:"application/json","X-API-Key":c}}}},searxng:function(a,b){let c=G(a,b),d=c.endsWith("/search")?c:`${c}/search`,e=new URLSearchParams({q:b.query,format:"json",categories:"news"===b.searchType?"news":"general"});b.language&&e.set("language",b.language),b.timeRange&&"any"!==b.timeRange&&e.set("time_range",b.timeRange);let f=H(b.offset,b.maxResults);return f&&e.set("pageno",String(f)),{url:`${d}?${e}`,init:{method:"GET",headers:{Accept:"application/json"}}}}};function J(a,b,c,d){let e=b.url||"";return{title:b.title||"",url:e,display_url:e?e.replace(/^https?:\/\/(www\.)?/,"").split("?")[0]:void 0,snippet:b.snippet||"",position:c+1,score:"number"==typeof b.score?Math.min(1,Math.max(0,b.score)):null,published_at:b.published_at||null,favicon_url:b.favicon_url||null,content:b.full_text?{format:b.text_format||"text",text:b.full_text,length:b.full_text.length}:null,metadata:{author:b.author||null,language:null,source_type:b.source_type||null,image_url:b.image_url||null},citation:{provider:a,retrieved_at:d,rank:c+1},provider_raw:null}}let K={serper:function(a,b,c){let d=new Date().toISOString(),e="news"===c?a.news:a.organic;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("serper",{title:a.title,url:a.link,snippet:a.snippet||a.description,published_at:a.date},b,d)),g=a.searchParameters?.totalResults;return{results:f,totalResults:"number"==typeof g?g:null}},"brave-search":function(a,b,c){let d=new Date().toISOString(),e="news"===c?a.news||a:a.web,f=e?.results;return Array.isArray(f)?{results:f.map((a,b)=>J("brave-search",{title:a.title,url:a.url,snippet:a.description,published_at:a.page_age||a.age,favicon_url:a.meta_url?.favicon||a.favicon},b,d)),totalResults:e?.totalCount??null}:{results:[],totalResults:null}},perplexity:function(a,b,c){let d=new Date().toISOString(),e=a.results;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("perplexity",{title:a.title,url:a.url,snippet:a.snippet,published_at:a.date||a.last_updated},b,d));return{results:f,totalResults:f.length}},exa:function(a,b,c){let d=new Date().toISOString(),e=a.results;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("exa",{title:a.title,url:a.url,snippet:a.highlights?.[0]||a.text?.slice(0,300)||"",score:a.score,published_at:a.publishedDate,favicon_url:a.favicon,author:a.author,image_url:a.image,full_text:a.text,text_format:"text"},b,d));return{results:f,totalResults:f.length}},tavily:function(a,b,c){let d=new Date().toISOString(),e=a.results;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("tavily",{title:a.title,url:a.url,snippet:a.content||"",score:a.score,published_at:a.published_date,full_text:a.raw_content,text_format:"text"},b,d));return{results:f,totalResults:f.length}},"google-pse":function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.items)?a.items:[]).map((a,b)=>J("google-pse",{title:a.title,url:a.link,snippet:a.snippet,image_url:a.pagemap?.cse_image?.[0]?.src||a.pagemap?.cse_thumbnail?.[0]?.src||a.pagemap?.metatags?.[0]?.["og:image"]},b,d)),f=a.searchInformation?.totalResults??a.queries?.request?.[0]?.totalResults??null,g="string"==typeof f?Number(f):f;return{results:e,totalResults:Number.isFinite(g)?g:null}},linkup:function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.results)?a.results:[]).map((a,b)=>J("linkup",{title:a.name||a.title,url:a.url,snippet:a.content||a.snippet||"",source_type:a.type||"web",image_url:a.image_url||a.imageUrl||null,full_text:a.content,text_format:"text"},b,d));return{results:e,totalResults:e.length}},searchapi:function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.organic_results)?a.organic_results:Array.isArray(a.top_stories)?a.top_stories:[]).map((a,b)=>J("searchapi",{title:a.title,url:a.link,snippet:a.snippet||a.description||"",published_at:a.date||a.published_at,favicon_url:a.favicon,author:a.source||null,image_url:a.thumbnail||null},b,d)),f=a.search_information?.total_results,g="number"==typeof f?f:"string"==typeof f?Number(f):null;return{results:e,totalResults:Number.isFinite(g)?g:e.length}},youcom:function(a,b,c){let d=new Date().toISOString(),e=a?.results&&"object"==typeof a.results?a.results:void 0,f="news"===c?e?.news||[]:e?.web||[],g=(Array.isArray(f)?f:[]).map((a,b)=>{let e=Array.isArray(a.snippets)?a.snippets.find(a=>"string"==typeof a):null,f="string"==typeof a.markdown?a.markdown:"string"==typeof a.html?a.html:void 0,g="string"==typeof a.markdown?"markdown":"html";return J("youcom",{title:a.title,url:a.url,snippet:"string"==typeof e?e:"string"==typeof a.description?a.description:"",published_at:a.page_age,favicon_url:a.favicon_url,image_url:a.thumbnail_url,source_type:c,full_text:f,text_format:f?g:void 0},b,d)});return{results:g,totalResults:g.length}},searxng:function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.results)?a.results:[]).map((a,b)=>J("searxng",{title:a.title,url:a.url,snippet:a.content||a.snippet||"",published_at:a.publishedDate||a.published_date||null,source_type:Array.isArray(a.engines)?a.engines.join(", "):a.engine||a.category||null,image_url:a.thumbnail||a.img_src||null},b,d));return{results:e,totalResults:e.length}}};var L=c(68711);let M=(a,b)=>(L.B$[a]?.searchViaChat?.endpoint||"").replace("{model}",b||"");function N(a){return a?"string"==typeof a?{url:a}:"object"==typeof a&&a.url?a:null:null}let O={gemini:{endpoint:a=>M("gemini",a),buildBody:a=>({contents:[{role:"user",parts:[{text:a}]}],tools:[{google_search:{}}]}),buildHeaders:a=>({"Content-Type":"application/json","x-goog-api-key":a}),extractAnswer:a=>{let b=a?.candidates?.[0],c=(b?.content?.parts||[]).map(a=>a?.text||"").filter(Boolean).join("");return{text:c,citations:(b?.groundingMetadata?.groundingChunks||[]).map(a=>a?.web).filter(Boolean).map(a=>({url:a.uri||a.url,title:a.title||""})).filter(a=>a.url),tokens:a?.usageMetadata?.totalTokenCount||0}}},openai:{endpoint:()=>M("openai"),buildBody:(a,b)=>{let c={model:b,messages:[{role:"user",content:a}]};return/search/i.test(b)||(c.tools=[{type:"web_search"}]),c},buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=a?.choices?.[0]?.message||{},c=b.content||"",d=(Array.isArray(b.annotations)?b.annotations:[]).map(a=>a?.url_citation).filter(Boolean).map(a=>({url:a.url,title:a.title||""})),e=Array.isArray(a?.citations)?a.citations.map(N).filter(Boolean):[];return{text:c,citations:d.length?d:e,tokens:a?.usage?.total_tokens||0}}},xai:{endpoint:()=>M("xai"),buildBody:(a,b)=>({model:b,input:[{role:"user",content:a}],tools:[{type:"web_search"}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=Array.isArray(a?.output)?a.output:[],c="",d=[];for(let a of b)for(let b of Array.isArray(a?.content)?a.content:[])for(let a of("string"==typeof b?.text&&(c+=b.text),Array.isArray(b?.annotations)?b.annotations:[])){let b=N(a?.url?a:a?.url_citation);b&&d.push(b)}if(!d.length&&Array.isArray(a?.citations))for(let b of a.citations){let a=N(b);a&&d.push(a)}return{text:c,citations:d,tokens:a?.usage?.total_tokens||0}}},kimi:{endpoint:()=>M("kimi"),buildBody:(a,b)=>({model:b,messages:[{role:"user",content:a}],tools:[{type:"builtin_function",function:{name:"$web_search"}}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=a?.choices?.[0]?.message||{},c=b.content||"",d=Array.isArray(b.tool_calls)?b.tool_calls:[],e=[];for(let a of d){let b,c=a?.function?.arguments;if(!c)continue;try{b="string"==typeof c?JSON.parse(c):c}catch{continue}let d=b?.search_results||b?.results||b?.references||[];if(Array.isArray(d))for(let a of d){let b=a?.url||a?.link;b&&e.push({url:b,title:a.title||"",snippet:a.snippet||a.summary||""})}}return{text:c,citations:e,tokens:a?.usage?.total_tokens||0}}},minimax:{endpoint:()=>M("minimax"),buildBody:(a,b)=>({model:b,messages:[{role:"user",content:a}],tools:[{type:"web_search"}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=a?.choices?.[0]?.message||{},c=b.content||"",d=[];for(let b of Array.isArray(a?.web_search_results)?a.web_search_results:[]){let a=b?.url||b?.link;a&&d.push({url:a,title:b.title||"",snippet:b.snippet||b.summary||""})}if(!d.length)for(let a of Array.isArray(b.tool_calls)?b.tool_calls:[]){let b,c=a?.function?.arguments;if(!c)continue;try{b="string"==typeof c?JSON.parse(c):c}catch{continue}let e=b?.results||b?.search_results||[];if(Array.isArray(e))for(let a of e){let b=a?.url||a?.link;b&&d.push({url:b,title:a.title||"",snippet:a.snippet||""})}}return{text:c,citations:d,tokens:a?.usage?.total_tokens||0}}},perplexity:{endpoint:()=>M("perplexity"),buildBody:(a,b)=>({model:b,messages:[{role:"user",content:a}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=(a?.choices?.[0]?.message||{}).content||"",c=a?.citations||[];return{text:b,citations:Array.isArray(c)?c.map(N).filter(Boolean):[],tokens:a?.usage?.total_tokens||0}}}};async function P({provider:a,query:b,maxResults:c,model:d,credentials:e,log:f}){let g,h,i=Date.now(),j=O[a];if(!j)return{success:!1,status:400,error:`Unsupported chat-search provider: ${a}`};if(!b||"string"!=typeof b)return{success:!1,status:400,error:"Missing query"};let k=e?.apiKey||e?.accessToken;if(!k)return{success:!1,status:401,error:"Missing credentials (apiKey or accessToken)"};let l=Number.isFinite(c)&&c>0?Math.floor(c):10,m=d||L.B$[a]?.searchViaChat?.defaultModel,n=j.endpoint(m),o=j.buildBody(b,m),p=j.buildHeaders(k),q=new AbortController,r=setTimeout(()=>q.abort(),15e3),s=Date.now();try{g=await fetch(n,{method:"POST",headers:p,body:JSON.stringify(o),signal:q.signal})}catch(b){if(clearTimeout(r),b?.name==="AbortError")return f?.warn?.(`[chatSearch] timeout provider=${a}`),{success:!1,status:504,error:"Upstream timeout"};return f?.error?.(`[chatSearch] network error provider=${a}: ${b?.message}`),{success:!1,status:502,error:`Network error: ${b?.message||"unknown"}`}}clearTimeout(r);let t=Date.now()-s;try{h=await g.json()}catch{return{success:!1,status:502,error:`Invalid upstream response (status ${g.status})`}}if(!g.ok){let b=h?.error?.message||h?.error||h?.message||`Upstream HTTP ${g.status}`;return f?.warn?.(`[chatSearch] upstream error provider=${a} status=${g.status}`),{success:!1,status:g.status,error:"string"==typeof b?b:JSON.stringify(b)}}let{text:u,citations:v,tokens:w}=j.extractAnswer(h),x=new Date().toISOString(),y=(v||[]).slice(0,l).map((b,c)=>({title:b.title||"",url:b.url,snippet:b.snippet||"",position:c+1,score:null,published_at:null,favicon_url:null,content:null,metadata:{},citation:{provider:a,retrieved_at:x,rank:c+1},provider_raw:null}));return{success:!0,status:200,data:{provider:a,query:b,results:y,answer:{source:a,text:u||"",model:m},usage:{queries_used:1,search_cost_usd:0,llm_tokens:w||0},metrics:{response_time_ms:Date.now()-i,upstream_latency_ms:t,total_results_available:null},errors:[]}}}let Q=new Set([400,401,403,404]),R=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/;function S(a,b=200){return new Response(JSON.stringify(a),{status:b,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}function T(a,b){return{success:!1,status:a,error:b,response:S({error:{message:b,code:a}},a)}}function U(a){return{success:!0,data:a,response:S(a,200)}}async function V({provider:a,providerConfig:b,body:c,credentials:d,log:e,globalStartTime:f}){var g,h,i,j;let k,l,m=Date.now(),n=d?.apiKey||d?.accessToken||void 0;if("none"!==b.authType&&!n)return{success:!1,status:401,error:`No credentials for provider: ${a.id}`};let o={query:c.query,searchType:c.search_type||b.searchTypes?.[0]||"web",maxResults:Math.min(c.max_results||b.defaultMaxResults||5,b.maxMaxResults||100),token:n,country:c.country,language:c.language,timeRange:c.time_range,offset:c.offset,domainFilter:c.domain_filter,contentOptions:c.content_options,providerOptions:c.provider_options,providerSpecificData:d?.providerSpecificData};try{let c;({url:k,init:l}=(g={id:a.id,...b},(c=I[g.id])?c(g,o):{url:G(g,o),init:{method:g.method||"POST",headers:{"Content-Type":"application/json",...o.token?{Authorization:`Bearer ${o.token}`}:{}},body:JSON.stringify({query:o.query,max_results:o.maxResults,search_type:o.searchType})}}))}catch(b){return{success:!1,status:400,error:b?.message||`Invalid request for ${a.id}`}}let p=15e3-(Date.now()-f),q=Math.min(b.timeoutMs||1e4,Math.max(p,1e3)),r=new AbortController,s=setTimeout(()=>r.abort(),q);e?.info?.("SEARCH",`${a.id} | "${o.query.slice(0,80)}" | type=${o.searchType}`);try{let c,d=await fetch(k,{...l,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}(l.headers),signal:r.signal});if(clearTimeout(s),!d.ok){let b=await d.text().catch(()=>"");return e?.error?.("SEARCH",`${a.id} ${d.status}: ${b.slice(0,200)}`),{success:!1,status:d.status,error:`${a.id} returned ${d.status}: ${b.slice(0,200)}`}}let f=await d.json(),g=(h=a.id,i=o.query,j=o.searchType,(c=K[h])?c(f,i,j):{results:[],totalResults:null}),n=g.results.slice(0,o.maxResults),p=Date.now()-m;return{success:!0,data:{provider:a.id,query:o.query,results:n,answer:null,usage:{queries_used:1,search_cost_usd:b.costPerQuery||0},metrics:{response_time_ms:p,upstream_latency_ms:p,total_results_available:g.totalResults},errors:[]}}}catch(c){clearTimeout(s);let b="AbortError"===c.name;return e?.error?.("SEARCH",`${a.id} ${b?"timeout":"error"}: ${c.message}`),{success:!1,status:b?504:502,error:`${a.id} ${b?"timeout":"error"}: ${c.message}`}}}async function W({body:a,provider:b,providerConfig:c,credentials:d,log:e}){let f,g=Date.now(),{clean:h,error:i}=function(a){if(R.test(a))return{error:"Query contains invalid control characters"};let b=a.normalize("NFKC").trim().replace(/\s+/g," ");return b?{clean:b}:{error:"Query is empty after normalization"}}(a.query||"");if(i)return T(400,i);let j={...a,query:h};if(c)f=await V({provider:b,providerConfig:c,body:j,credentials:d,log:e,globalStartTime:g});else{if(!b.searchViaChat)return T(400,`Provider ${b.id} does not support web search`);f=await P({provider:b.id,query:h,maxResults:j.max_results,model:b.searchViaChat.defaultModel,credentials:d,log:e})}if(f.success)return U(f.data);if(!Q.has(f.status||0)&&Date.now()-g<15e3&&b.searchViaChat&&c){e?.warn?.("SEARCH",`${b.id} dedicated failed (${f.status}), falling back to chat-based search`);let a=await P({provider:b.id,query:h,maxResults:j.max_results,model:b.searchViaChat.defaultModel,credentials:d,log:e});if(a.success)return U(a.data)}return T(f.status||502,f.error||"Search failed")}async function X(a){let b;try{b=await a.json()}catch{return y.warn("SEARCH","Invalid JSON body"),(0,w.yj)(x.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.provider||b.model,e=b.query;y.request("POST",`${c.pathname} | ${d}`);let f=(0,v.Tr)(a);f?y.debug("AUTH",`API Key: ${y.maskKey(f)}`):y.debug("AUTH","No API key provided (local mode)");let g=await (0,B.mt)(),h=null;if(!await (0,v.Ov)(a)&&g.requireApiKey){if(!f)return y.warn("AUTH","Missing API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Missing API key");if(!(h=await (0,v.kI)(f)))return y.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Invalid API key")}if(!d||"string"!=typeof d)return y.warn("SEARCH","Missing provider/model"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!(0,v.L$)(h,"web"))return y.warn("AUTH","Web search kind not allowed for API key"),(0,w.yj)(x.gx.FORBIDDEN,"Web search requests are not allowed for this API key");if(!e||"string"!=typeof e||!e.trim())return y.warn("SEARCH","Missing query"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: query");let i=await (0,B.Uv)(),j=(0,A.Vu)(d,i);if(j){if(!(0,v.DC)(h,d))return(0,w.yj)(x.gx.FORBIDDEN,`Combo "${d}" is not allowed for this API key`);let c=(0,A.ZO)(d),e=g.comboStrategies||{},i=e[c]?.fallbackStrategy||g.comboStrategy||"fallback",k=g.comboStickyRoundRobinLimit;return y.info("SEARCH",`Combo "${c}" with ${j.length} providers (strategy: ${i}, sticky: ${k})`),(0,A.Pr)({body:b,models:j,handleSingleModel:(b,c)=>Y(b,c,a,f,g,h),log:y,comboName:c,comboStrategy:i,comboStickyLimit:k})}return Y(b,d,a,f,g,h)}async function Y(a,b,c,d,e,f=null){let g=a.query,h=(0,C.rs)(b),i=C.AI_PROVIDERS[h];if(!i)return y.warn("SEARCH","Unknown provider",{provider:b}),(0,w.yj)(x.gx.BAD_REQUEST,`Unknown provider: ${b}`);let j=i.searchConfig;if(!(j||i.searchViaChat))return y.warn("SEARCH","Provider does not support web search",{provider:h}),(0,w.yj)(x.gx.BAD_REQUEST,`Provider ${h} does not support web search`);if(!await (0,v.kt)(f,h))return y.warn("AUTH",`Provider "${h}" not allowed for API key`,{provider:h}),(0,w.yj)(x.gx.FORBIDDEN,`Provider "${h}" is not allowed for this API key`);let k=C.AI_PROVIDERS[h]?.alias||h,l=`${k}/search`;if(!await (0,D.Uw)(l,f))return y.warn("SEARCH","Search model not in available models list",{model:l}),(0,w.yj)(x.gx.NOT_FOUND,`Model "${l}" is not available. Only models listed in /v1/models can be used.`);b!==h?y.info("ROUTING",`${b} → ${h}`):y.info("ROUTING",`Provider: ${h}`);let m={query:g.trim(),provider:h,max_results:a.max_results,search_type:a.search_type,country:a.country,language:a.language,time_range:a.time_range,offset:a.offset,domain_filter:a.domain_filter,content_options:a.content_options,provider_options:a.provider_options};if(i.noAuth){y.info("AUTH",`\x1b[32m${h} no-auth mode\x1b[0m`);let a=await W({body:m,provider:i,providerConfig:j,credentials:null,log:y});return a.success,a.response}let n=new Set,o=null,p=null;for(;;){let a=await (0,v.c1)(h,n);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=o||a.lastError||"Unavailable",c=p||Number(a.lastErrorCode)||x.gx.SERVICE_UNAVAILABLE;return y.warn("SEARCH",`[${h}] ${b} (${a.retryAfterHuman})`),(0,w.wO)(c,`[${h}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===n.size)return y.error("AUTH",`No credentials for provider: ${h}`),(0,w.yj)(x.gx.BAD_REQUEST,`No credentials for provider: ${h}`);return y.warn("SEARCH","No more accounts available",{provider:h}),(0,w.yj)(p||x.gx.SERVICE_UNAVAILABLE,o||"All accounts unavailable")}y.info("AUTH",`\x1b[32mUsing ${h} account: ${a.connectionName}\x1b[0m`);let b=await (0,z.eU)(h,a),c=await W({body:m,provider:i,providerConfig:j,credentials:b,log:y,onCredentialsRefreshed:async b=>{await (0,z.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.Pt)(a.connectionId,a)}});if(c.success)return c.response;let{shouldFallback:d}=await (0,v.vk)(a.connectionId,c.status,c.error,h);if(d){y.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),n.add(a.connectionId),o=c.error,p=c.status;continue}return c.response}}async function Z(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function $(a){return await X(a)}let _=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/search/route",pathname:"/api/v1/search",filename:"route",bundlePath:"app/api/v1/search/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/search/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:aa,workUnitAsyncStorage:ab,serverHooks:ac}=_;function ad(){return(0,g.patchFetch)({workAsyncStorage:aa,workUnitAsyncStorage:ab})}async function ae(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),_.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/search/route";"/index"===d&&(d="/");let e=await _.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,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||_.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===_.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await _.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>_.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>_.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 _.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await _.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||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 R&&I||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)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await _.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},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")},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},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")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(13946),e=c(55290),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},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")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,5290,8711,7010,7916,3133,3424,818,4004,3950],()=>b(b.s=40993));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=8736,a.ids=[8736],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},26915:a=>{a.exports=import("playwright-core")},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")},31421:a=>{a.exports=require("node:child_process")},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")},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},38522:a=>{a.exports=require("node:zlib")},40610:a=>{a.exports=require("node:dns")},40993:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>ae,patchFetch:()=>ad,routeModule:()=>_,serverHooks:()=>ac,workAsyncStorage:()=>aa,workUnitAsyncStorage:()=>ab});var d={};c.r(d),c.d(d,{OPTIONS:()=>Z,POST:()=>$});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(15261),x=c(92398),y=c(90293),z=c(83950),A=c(44004),B=c(94164),C=c(91253),D=c(84310);function E(a){if(!a?.length)return{includes:[],excludes:[]};let b=[],c=[];for(let d of a)d.startsWith("-")?c.push(d.slice(1)):b.push(d);return{includes:b,excludes:c}}function F(a,b){let c=a.providerOptions?.[b];if("string"==typeof c&&c.trim().length>0)return c.trim();let d=a.providerSpecificData?.[b];if("string"==typeof d&&d.trim().length>0)return d.trim()}function G(a,b){return(F(b,"baseUrl")||a.baseUrl).replace(/\/+$/,"")}function H(a,b){if("number"==typeof a&&!(a<=0)&&!(b<=0))return Math.floor(a/b)+1}let I={serper:function(a,b){let c="news"===b.searchType?"/news":"/search",d={q:b.query,num:b.maxResults};return b.country&&(d.gl=b.country.toLowerCase()),b.language&&(d.hl=b.language),{url:`${G(a,b)}${c}`,init:{method:"POST",headers:{"Content-Type":"application/json","X-API-Key":b.token},body:JSON.stringify(d)}}},"brave-search":function(a,b){let c="news"===b.searchType?"/news/search":"/web/search",d=new URLSearchParams({q:b.query,count:String(b.maxResults)});return b.country&&d.set("country",b.country),b.language&&d.set("search_lang",b.language),{url:`${G(a,b)}${c}?${d}`,init:{method:"GET",headers:{Accept:"application/json","X-Subscription-Token":b.token}}}},perplexity:function(a,b){let c={query:b.query,max_results:b.maxResults};return b.country&&(c.country=b.country),b.language&&(c.search_language_filter=[b.language]),b.domainFilter?.length&&(c.search_domain_filter=b.domainFilter),{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b.token}`},body:JSON.stringify(c)}}},exa:function(a,b){let{includes:c,excludes:d}=E(b.domainFilter),e={query:b.query,numResults:b.maxResults,type:"auto",text:!0,highlights:!0};return c.length&&(e.includeDomains=c),d.length&&(e.excludeDomains=d),"news"===b.searchType&&(e.category="news"),{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json","x-api-key":b.token},body:JSON.stringify(e)}}},tavily:function(a,b){let{includes:c,excludes:d}=E(b.domainFilter),e={query:b.query,max_results:b.maxResults,topic:"news"===b.searchType?"news":"general"};return c.length&&(e.include_domains=c),d.length&&(e.exclude_domains=d),b.country&&(e.country=b.country),{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${b.token}`},body:JSON.stringify(e)}}},"google-pse":function(a,b){let c=b.token,d=F(b,"cx");if(!c||!d)throw Error("Google Programmable Search requires both apiKey and cx");let e=new URLSearchParams({key:c,cx:d,q:b.query,num:String(Math.min(b.maxResults,10))});if(b.country&&e.set("gl",b.country.toLowerCase()),b.language&&e.set("hl",b.language),b.timeRange&&"any"!==b.timeRange){let a={day:"d1",week:"w1",month:"m1",year:"y1"}[b.timeRange];a&&e.set("dateRestrict",a)}return"number"==typeof b.offset&&b.offset>0&&e.set("start",String(Math.min(b.offset+1,91))),{url:`${G(a,b)}?${e}`,init:{method:"GET",headers:{Accept:"application/json"}}}},linkup:function(a,b){let c=b.token;if(!c)throw Error("Linkup Search requires an API key");let{includes:d,excludes:e}=E(b.domainFilter),f=F(b,"depth"),g=f&&["fast","standard","deep"].includes(f)?f:"standard",h={q:b.query,depth:g,outputType:"searchResults",maxResults:b.maxResults};if(d.length&&(h.includeDomains=d),e.length&&(h.excludeDomains=e),b.timeRange&&"any"!==b.timeRange){let a=new Date,c=a.toISOString().slice(0,10),d=new Date(a);"day"===b.timeRange&&d.setUTCDate(d.getUTCDate()-1),"week"===b.timeRange&&d.setUTCDate(d.getUTCDate()-7),"month"===b.timeRange&&d.setUTCMonth(d.getUTCMonth()-1),"year"===b.timeRange&&d.setUTCFullYear(d.getUTCFullYear()-1),h.fromDate=d.toISOString().slice(0,10),h.toDate=c}return{url:G(a,b),init:{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${c}`},body:JSON.stringify(h)}}},searchapi:function(a,b){let c=b.token;if(!c)throw Error("SearchAPI requires an API key");let d=new URLSearchParams({engine:"news"===b.searchType?"google_news":"google",q:b.query,api_key:c});b.country&&d.set("gl",b.country.toLowerCase()),b.language&&d.set("hl",b.language);let e=H(b.offset,b.maxResults);return e&&d.set("page",String(e)),{url:`${G(a,b)}?${d}`,init:{method:"GET",headers:{Accept:"application/json"}}}},youcom:function(a,b){let c=b.token;if(!c)throw Error("You.com Search requires an API key");let{includes:d,excludes:e}=E(b.domainFilter),f=new URLSearchParams({query:b.query,count:String(Math.min(b.maxResults,100))});return b.timeRange&&"any"!==b.timeRange&&f.set("freshness",b.timeRange),"number"==typeof b.offset&&b.offset>0&&b.maxResults>0&&f.set("offset",String(Math.min(Math.floor(b.offset/b.maxResults),9))),b.country&&f.set("country",b.country),b.language&&f.set("language",b.language),d.length&&f.set("include_domains",d.join(",")),e.length&&f.set("exclude_domains",e.join(",")),b.contentOptions?.full_page&&(f.set("livecrawl","news"===b.searchType?"news":"web"),f.append("livecrawl_formats","markdown"===b.contentOptions.format?"markdown":"html")),{url:`${G(a,b)}?${f}`,init:{method:"GET",headers:{Accept:"application/json","X-API-Key":c}}}},searxng:function(a,b){let c=G(a,b),d=c.endsWith("/search")?c:`${c}/search`,e=new URLSearchParams({q:b.query,format:"json",categories:"news"===b.searchType?"news":"general"});b.language&&e.set("language",b.language),b.timeRange&&"any"!==b.timeRange&&e.set("time_range",b.timeRange);let f=H(b.offset,b.maxResults);return f&&e.set("pageno",String(f)),{url:`${d}?${e}`,init:{method:"GET",headers:{Accept:"application/json"}}}}};function J(a,b,c,d){let e=b.url||"";return{title:b.title||"",url:e,display_url:e?e.replace(/^https?:\/\/(www\.)?/,"").split("?")[0]:void 0,snippet:b.snippet||"",position:c+1,score:"number"==typeof b.score?Math.min(1,Math.max(0,b.score)):null,published_at:b.published_at||null,favicon_url:b.favicon_url||null,content:b.full_text?{format:b.text_format||"text",text:b.full_text,length:b.full_text.length}:null,metadata:{author:b.author||null,language:null,source_type:b.source_type||null,image_url:b.image_url||null},citation:{provider:a,retrieved_at:d,rank:c+1},provider_raw:null}}let K={serper:function(a,b,c){let d=new Date().toISOString(),e="news"===c?a.news:a.organic;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("serper",{title:a.title,url:a.link,snippet:a.snippet||a.description,published_at:a.date},b,d)),g=a.searchParameters?.totalResults;return{results:f,totalResults:"number"==typeof g?g:null}},"brave-search":function(a,b,c){let d=new Date().toISOString(),e="news"===c?a.news||a:a.web,f=e?.results;return Array.isArray(f)?{results:f.map((a,b)=>J("brave-search",{title:a.title,url:a.url,snippet:a.description,published_at:a.page_age||a.age,favicon_url:a.meta_url?.favicon||a.favicon},b,d)),totalResults:e?.totalCount??null}:{results:[],totalResults:null}},perplexity:function(a,b,c){let d=new Date().toISOString(),e=a.results;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("perplexity",{title:a.title,url:a.url,snippet:a.snippet,published_at:a.date||a.last_updated},b,d));return{results:f,totalResults:f.length}},exa:function(a,b,c){let d=new Date().toISOString(),e=a.results;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("exa",{title:a.title,url:a.url,snippet:a.highlights?.[0]||a.text?.slice(0,300)||"",score:a.score,published_at:a.publishedDate,favicon_url:a.favicon,author:a.author,image_url:a.image,full_text:a.text,text_format:"text"},b,d));return{results:f,totalResults:f.length}},tavily:function(a,b,c){let d=new Date().toISOString(),e=a.results;if(!Array.isArray(e))return{results:[],totalResults:null};let f=e.map((a,b)=>J("tavily",{title:a.title,url:a.url,snippet:a.content||"",score:a.score,published_at:a.published_date,full_text:a.raw_content,text_format:"text"},b,d));return{results:f,totalResults:f.length}},"google-pse":function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.items)?a.items:[]).map((a,b)=>J("google-pse",{title:a.title,url:a.link,snippet:a.snippet,image_url:a.pagemap?.cse_image?.[0]?.src||a.pagemap?.cse_thumbnail?.[0]?.src||a.pagemap?.metatags?.[0]?.["og:image"]},b,d)),f=a.searchInformation?.totalResults??a.queries?.request?.[0]?.totalResults??null,g="string"==typeof f?Number(f):f;return{results:e,totalResults:Number.isFinite(g)?g:null}},linkup:function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.results)?a.results:[]).map((a,b)=>J("linkup",{title:a.name||a.title,url:a.url,snippet:a.content||a.snippet||"",source_type:a.type||"web",image_url:a.image_url||a.imageUrl||null,full_text:a.content,text_format:"text"},b,d));return{results:e,totalResults:e.length}},searchapi:function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.organic_results)?a.organic_results:Array.isArray(a.top_stories)?a.top_stories:[]).map((a,b)=>J("searchapi",{title:a.title,url:a.link,snippet:a.snippet||a.description||"",published_at:a.date||a.published_at,favicon_url:a.favicon,author:a.source||null,image_url:a.thumbnail||null},b,d)),f=a.search_information?.total_results,g="number"==typeof f?f:"string"==typeof f?Number(f):null;return{results:e,totalResults:Number.isFinite(g)?g:e.length}},youcom:function(a,b,c){let d=new Date().toISOString(),e=a?.results&&"object"==typeof a.results?a.results:void 0,f="news"===c?e?.news||[]:e?.web||[],g=(Array.isArray(f)?f:[]).map((a,b)=>{let e=Array.isArray(a.snippets)?a.snippets.find(a=>"string"==typeof a):null,f="string"==typeof a.markdown?a.markdown:"string"==typeof a.html?a.html:void 0,g="string"==typeof a.markdown?"markdown":"html";return J("youcom",{title:a.title,url:a.url,snippet:"string"==typeof e?e:"string"==typeof a.description?a.description:"",published_at:a.page_age,favicon_url:a.favicon_url,image_url:a.thumbnail_url,source_type:c,full_text:f,text_format:f?g:void 0},b,d)});return{results:g,totalResults:g.length}},searxng:function(a,b,c){let d=new Date().toISOString(),e=(Array.isArray(a.results)?a.results:[]).map((a,b)=>J("searxng",{title:a.title,url:a.url,snippet:a.content||a.snippet||"",published_at:a.publishedDate||a.published_date||null,source_type:Array.isArray(a.engines)?a.engines.join(", "):a.engine||a.category||null,image_url:a.thumbnail||a.img_src||null},b,d));return{results:e,totalResults:e.length}}};var L=c(68711);let M=(a,b)=>(L.B$[a]?.searchViaChat?.endpoint||"").replace("{model}",b||"");function N(a){return a?"string"==typeof a?{url:a}:"object"==typeof a&&a.url?a:null:null}let O={gemini:{endpoint:a=>M("gemini",a),buildBody:a=>({contents:[{role:"user",parts:[{text:a}]}],tools:[{google_search:{}}]}),buildHeaders:a=>({"Content-Type":"application/json","x-goog-api-key":a}),extractAnswer:a=>{let b=a?.candidates?.[0],c=(b?.content?.parts||[]).map(a=>a?.text||"").filter(Boolean).join("");return{text:c,citations:(b?.groundingMetadata?.groundingChunks||[]).map(a=>a?.web).filter(Boolean).map(a=>({url:a.uri||a.url,title:a.title||""})).filter(a=>a.url),tokens:a?.usageMetadata?.totalTokenCount||0}}},openai:{endpoint:()=>M("openai"),buildBody:(a,b)=>{let c={model:b,messages:[{role:"user",content:a}]};return/search/i.test(b)||(c.tools=[{type:"web_search"}]),c},buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=a?.choices?.[0]?.message||{},c=b.content||"",d=(Array.isArray(b.annotations)?b.annotations:[]).map(a=>a?.url_citation).filter(Boolean).map(a=>({url:a.url,title:a.title||""})),e=Array.isArray(a?.citations)?a.citations.map(N).filter(Boolean):[];return{text:c,citations:d.length?d:e,tokens:a?.usage?.total_tokens||0}}},xai:{endpoint:()=>M("xai"),buildBody:(a,b)=>({model:b,input:[{role:"user",content:a}],tools:[{type:"web_search"}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=Array.isArray(a?.output)?a.output:[],c="",d=[];for(let a of b)for(let b of Array.isArray(a?.content)?a.content:[])for(let a of("string"==typeof b?.text&&(c+=b.text),Array.isArray(b?.annotations)?b.annotations:[])){let b=N(a?.url?a:a?.url_citation);b&&d.push(b)}if(!d.length&&Array.isArray(a?.citations))for(let b of a.citations){let a=N(b);a&&d.push(a)}return{text:c,citations:d,tokens:a?.usage?.total_tokens||0}}},kimi:{endpoint:()=>M("kimi"),buildBody:(a,b)=>({model:b,messages:[{role:"user",content:a}],tools:[{type:"builtin_function",function:{name:"$web_search"}}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=a?.choices?.[0]?.message||{},c=b.content||"",d=Array.isArray(b.tool_calls)?b.tool_calls:[],e=[];for(let a of d){let b,c=a?.function?.arguments;if(!c)continue;try{b="string"==typeof c?JSON.parse(c):c}catch{continue}let d=b?.search_results||b?.results||b?.references||[];if(Array.isArray(d))for(let a of d){let b=a?.url||a?.link;b&&e.push({url:b,title:a.title||"",snippet:a.snippet||a.summary||""})}}return{text:c,citations:e,tokens:a?.usage?.total_tokens||0}}},minimax:{endpoint:()=>M("minimax"),buildBody:(a,b)=>({model:b,messages:[{role:"user",content:a}],tools:[{type:"web_search"}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=a?.choices?.[0]?.message||{},c=b.content||"",d=[];for(let b of Array.isArray(a?.web_search_results)?a.web_search_results:[]){let a=b?.url||b?.link;a&&d.push({url:a,title:b.title||"",snippet:b.snippet||b.summary||""})}if(!d.length)for(let a of Array.isArray(b.tool_calls)?b.tool_calls:[]){let b,c=a?.function?.arguments;if(!c)continue;try{b="string"==typeof c?JSON.parse(c):c}catch{continue}let e=b?.results||b?.search_results||[];if(Array.isArray(e))for(let a of e){let b=a?.url||a?.link;b&&d.push({url:b,title:a.title||"",snippet:a.snippet||""})}}return{text:c,citations:d,tokens:a?.usage?.total_tokens||0}}},perplexity:{endpoint:()=>M("perplexity"),buildBody:(a,b)=>({model:b,messages:[{role:"user",content:a}]}),buildHeaders:a=>({"Content-Type":"application/json",Authorization:`Bearer ${a}`}),extractAnswer:a=>{let b=(a?.choices?.[0]?.message||{}).content||"",c=a?.citations||[];return{text:b,citations:Array.isArray(c)?c.map(N).filter(Boolean):[],tokens:a?.usage?.total_tokens||0}}}};async function P({provider:a,query:b,maxResults:c,model:d,credentials:e,log:f}){let g,h,i=Date.now(),j=O[a];if(!j)return{success:!1,status:400,error:`Unsupported chat-search provider: ${a}`};if(!b||"string"!=typeof b)return{success:!1,status:400,error:"Missing query"};let k=e?.apiKey||e?.accessToken;if(!k)return{success:!1,status:401,error:"Missing credentials (apiKey or accessToken)"};let l=Number.isFinite(c)&&c>0?Math.floor(c):10,m=d||L.B$[a]?.searchViaChat?.defaultModel,n=j.endpoint(m),o=j.buildBody(b,m),p=j.buildHeaders(k),q=new AbortController,r=setTimeout(()=>q.abort(),15e3),s=Date.now();try{g=await fetch(n,{method:"POST",headers:p,body:JSON.stringify(o),signal:q.signal})}catch(b){if(clearTimeout(r),b?.name==="AbortError")return f?.warn?.(`[chatSearch] timeout provider=${a}`),{success:!1,status:504,error:"Upstream timeout"};return f?.error?.(`[chatSearch] network error provider=${a}: ${b?.message}`),{success:!1,status:502,error:`Network error: ${b?.message||"unknown"}`}}clearTimeout(r);let t=Date.now()-s;try{h=await g.json()}catch{return{success:!1,status:502,error:`Invalid upstream response (status ${g.status})`}}if(!g.ok){let b=h?.error?.message||h?.error||h?.message||`Upstream HTTP ${g.status}`;return f?.warn?.(`[chatSearch] upstream error provider=${a} status=${g.status}`),{success:!1,status:g.status,error:"string"==typeof b?b:JSON.stringify(b)}}let{text:u,citations:v,tokens:w}=j.extractAnswer(h),x=new Date().toISOString(),y=(v||[]).slice(0,l).map((b,c)=>({title:b.title||"",url:b.url,snippet:b.snippet||"",position:c+1,score:null,published_at:null,favicon_url:null,content:null,metadata:{},citation:{provider:a,retrieved_at:x,rank:c+1},provider_raw:null}));return{success:!0,status:200,data:{provider:a,query:b,results:y,answer:{source:a,text:u||"",model:m},usage:{queries_used:1,search_cost_usd:0,llm_tokens:w||0},metrics:{response_time_ms:Date.now()-i,upstream_latency_ms:t,total_results_available:null},errors:[]}}}let Q=new Set([400,401,403,404]),R=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/;function S(a,b=200){return new Response(JSON.stringify(a),{status:b,headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}function T(a,b){return{success:!1,status:a,error:b,response:S({error:{message:b,code:a}},a)}}function U(a){return{success:!0,data:a,response:S(a,200)}}async function V({provider:a,providerConfig:b,body:c,credentials:d,log:e,globalStartTime:f}){var g,h,i,j;let k,l,m=Date.now(),n=d?.apiKey||d?.accessToken||void 0;if("none"!==b.authType&&!n)return{success:!1,status:401,error:`No credentials for provider: ${a.id}`};let o={query:c.query,searchType:c.search_type||b.searchTypes?.[0]||"web",maxResults:Math.min(c.max_results||b.defaultMaxResults||5,b.maxMaxResults||100),token:n,country:c.country,language:c.language,timeRange:c.time_range,offset:c.offset,domainFilter:c.domain_filter,contentOptions:c.content_options,providerOptions:c.provider_options,providerSpecificData:d?.providerSpecificData};try{let c;({url:k,init:l}=(g={id:a.id,...b},(c=I[g.id])?c(g,o):{url:G(g,o),init:{method:g.method||"POST",headers:{"Content-Type":"application/json",...o.token?{Authorization:`Bearer ${o.token}`}:{}},body:JSON.stringify({query:o.query,max_results:o.maxResults,search_type:o.searchType})}}))}catch(b){return{success:!1,status:400,error:b?.message||`Invalid request for ${a.id}`}}let p=15e3-(Date.now()-f),q=Math.min(b.timeoutMs||1e4,Math.max(p,1e3)),r=new AbortController,s=setTimeout(()=>r.abort(),q);e?.info?.("SEARCH",`${a.id} | "${o.query.slice(0,80)}" | type=${o.searchType}`);try{let c,d=await fetch(k,{...l,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}(l.headers),signal:r.signal});if(clearTimeout(s),!d.ok){let b=await d.text().catch(()=>"");return e?.error?.("SEARCH",`${a.id} ${d.status}: ${b.slice(0,200)}`),{success:!1,status:d.status,error:`${a.id} returned ${d.status}: ${b.slice(0,200)}`}}let f=await d.json(),g=(h=a.id,i=o.query,j=o.searchType,(c=K[h])?c(f,i,j):{results:[],totalResults:null}),n=g.results.slice(0,o.maxResults),p=Date.now()-m;return{success:!0,data:{provider:a.id,query:o.query,results:n,answer:null,usage:{queries_used:1,search_cost_usd:b.costPerQuery||0},metrics:{response_time_ms:p,upstream_latency_ms:p,total_results_available:g.totalResults},errors:[]}}}catch(c){clearTimeout(s);let b="AbortError"===c.name;return e?.error?.("SEARCH",`${a.id} ${b?"timeout":"error"}: ${c.message}`),{success:!1,status:b?504:502,error:`${a.id} ${b?"timeout":"error"}: ${c.message}`}}}async function W({body:a,provider:b,providerConfig:c,credentials:d,log:e}){let f,g=Date.now(),{clean:h,error:i}=function(a){if(R.test(a))return{error:"Query contains invalid control characters"};let b=a.normalize("NFKC").trim().replace(/\s+/g," ");return b?{clean:b}:{error:"Query is empty after normalization"}}(a.query||"");if(i)return T(400,i);let j={...a,query:h};if(c)f=await V({provider:b,providerConfig:c,body:j,credentials:d,log:e,globalStartTime:g});else{if(!b.searchViaChat)return T(400,`Provider ${b.id} does not support web search`);f=await P({provider:b.id,query:h,maxResults:j.max_results,model:b.searchViaChat.defaultModel,credentials:d,log:e})}if(f.success)return U(f.data);if(!Q.has(f.status||0)&&Date.now()-g<15e3&&b.searchViaChat&&c){e?.warn?.("SEARCH",`${b.id} dedicated failed (${f.status}), falling back to chat-based search`);let a=await P({provider:b.id,query:h,maxResults:j.max_results,model:b.searchViaChat.defaultModel,credentials:d,log:e});if(a.success)return U(a.data)}return T(f.status||502,f.error||"Search failed")}async function X(a){let b;try{b=await a.json()}catch{return y.warn("SEARCH","Invalid JSON body"),(0,w.yj)(x.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.provider||b.model,e=b.query;y.request("POST",`${c.pathname} | ${d}`);let f=(0,v.Tr)(a);f?y.debug("AUTH",`API Key: ${y.maskKey(f)}`):y.debug("AUTH","No API key provided (local mode)");let g=await (0,B.mt)(),h=null;if(!await (0,v.Ov)(a)&&g.requireApiKey){if(!f)return y.warn("AUTH","Missing API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Missing API key");if(!(h=await (0,v.kI)(f)))return y.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Invalid API key")}if(!d||"string"!=typeof d)return y.warn("SEARCH","Missing provider/model"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!(0,v.L$)(h,"web"))return y.warn("AUTH","Web search kind not allowed for API key"),(0,w.yj)(x.gx.FORBIDDEN,"Web search requests are not allowed for this API key");if(!e||"string"!=typeof e||!e.trim())return y.warn("SEARCH","Missing query"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: query");let i=await (0,B.Uv)(),j=(0,A.Vu)(d,i);if(j){if(!(0,v.DC)(h,d))return(0,w.yj)(x.gx.FORBIDDEN,`Combo "${d}" is not allowed for this API key`);let c=(0,A.ZO)(d),e=g.comboStrategies||{},i=e[c]?.fallbackStrategy||g.comboStrategy||"fallback",k=g.comboStickyRoundRobinLimit;return y.info("SEARCH",`Combo "${c}" with ${j.length} providers (strategy: ${i}, sticky: ${k})`),(0,A.Pr)({body:b,models:j,handleSingleModel:(b,c)=>Y(b,c,a,f,g,h),log:y,comboName:c,comboStrategy:i,comboStickyLimit:k})}return Y(b,d,a,f,g,h)}async function Y(a,b,c,d,e,f=null){let g=a.query,h=(0,C.rs)(b),i=C.AI_PROVIDERS[h];if(!i)return y.warn("SEARCH","Unknown provider",{provider:b}),(0,w.yj)(x.gx.BAD_REQUEST,`Unknown provider: ${b}`);let j=i.searchConfig;if(!(j||i.searchViaChat))return y.warn("SEARCH","Provider does not support web search",{provider:h}),(0,w.yj)(x.gx.BAD_REQUEST,`Provider ${h} does not support web search`);if(!await (0,v.kt)(f,h))return y.warn("AUTH",`Provider "${h}" not allowed for API key`,{provider:h}),(0,w.yj)(x.gx.FORBIDDEN,`Provider "${h}" is not allowed for this API key`);let k=C.AI_PROVIDERS[h]?.alias||h,l=`${k}/search`;if(!await (0,D.Uw)(l,f))return y.warn("SEARCH","Search model not in available models list",{model:l}),(0,w.yj)(x.gx.NOT_FOUND,`Model "${l}" is not available. Only models listed in /v1/models can be used.`);b!==h?y.info("ROUTING",`${b} → ${h}`):y.info("ROUTING",`Provider: ${h}`);let m={query:g.trim(),provider:h,max_results:a.max_results,search_type:a.search_type,country:a.country,language:a.language,time_range:a.time_range,offset:a.offset,domain_filter:a.domain_filter,content_options:a.content_options,provider_options:a.provider_options};if(i.noAuth){y.info("AUTH",`\x1b[32m${h} no-auth mode\x1b[0m`);let a=await W({body:m,provider:i,providerConfig:j,credentials:null,log:y});return a.success,a.response}let n=new Set,o=null,p=null;for(;;){let a=await (0,v.c1)(h,n);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=o||a.lastError||"Unavailable",c=p||Number(a.lastErrorCode)||x.gx.SERVICE_UNAVAILABLE;return y.warn("SEARCH",`[${h}] ${b} (${a.retryAfterHuman})`),(0,w.wO)(c,`[${h}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===n.size)return y.error("AUTH",`No credentials for provider: ${h}`),(0,w.yj)(x.gx.BAD_REQUEST,`No credentials for provider: ${h}`);return y.warn("SEARCH","No more accounts available",{provider:h}),(0,w.yj)(p||x.gx.SERVICE_UNAVAILABLE,o||"All accounts unavailable")}y.info("AUTH",`\x1b[32mUsing ${h} account: ${a.connectionName}\x1b[0m`);let b=await (0,z.eU)(h,a),c=await W({body:m,provider:i,providerConfig:j,credentials:b,log:y,onCredentialsRefreshed:async b=>{await (0,z.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.Pt)(a.connectionId,a)}});if(c.success)return c.response;let{shouldFallback:d}=await (0,v.vk)(a.connectionId,c.status,c.error,h);if(d){y.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),n.add(a.connectionId),o=c.error,p=c.status;continue}return c.response}}async function Z(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function $(a){return await X(a)}let _=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/search/route",pathname:"/api/v1/search",filename:"route",bundlePath:"app/api/v1/search/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/search/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:aa,workUnitAsyncStorage:ab,serverHooks:ac}=_;function ad(){return(0,g.patchFetch)({workAsyncStorage:aa,workUnitAsyncStorage:ab})}async function ae(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),_.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/search/route";"/index"===d&&(d="/");let e=await _.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,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||_.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===_.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await _.getIncrementalCache(a,x,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>_.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g,deploymentId:v}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>_.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&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=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.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!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.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 _.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await _.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||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 R&&I||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)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await _.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},41692:a=>{a.exports=require("node:tls")},41792:a=>{a.exports=require("node:querystring")},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")},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},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")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(13946),e=c(55290),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},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")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,5290,8711,7010,7916,3133,3424,818,4004,3950],()=>b(b.s=40993));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var a={};a.id=3883,a.ids=[3883],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},7663:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>X,patchFetch:()=>W,routeModule:()=>S,serverHooks:()=>V,workAsyncStorage:()=>T,workUnitAsyncStorage:()=>U});var d={};c.r(d),c.d(d,{OPTIONS:()=>Q,POST:()=>R});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(15261),x=c(92398),y=c(90293),z=c(83950),A=c(44004),B=c(94164),C=c(91253),D=c(84310);async function E(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 F(a,b){return a&&"string"==typeof a?!b||b<=0?a:a.length>b?a.slice(0,b):a:a||""}function G({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 H(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 I({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||"",k=e?.costPerQuery??null,l=Date.now();try{if("firecrawl"===d)return await J({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});if("jina-reader"===d)return await K({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});if("tavily"===d)return await L({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});if("exa"===d)return await M({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});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 J({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h=Date.now(),i=await E("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(!i.ok)return{success:!1,status:i.timeout?504:502,error:i.error};let j=Date.now()-h,{json:k}=await H(i.res);if(!i.res.ok)return{success:!1,status:i.res.status,error:k?.error||`Firecrawl error: ${i.res.status}`};let l=k?.data||{},m=F(l.markdown||l.html||l.text||"",e);return{success:!0,data:G({provider:"firecrawl",url:a,title:l.metadata?.title||null,format:b,text:m,costUsd:f,responseMs:Date.now()-g,upstreamMs:j})}}async function K({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h,i=`https://r.jina.ai/${encodeURIComponent(a)}`,j=Date.now(),k=await E(i,{method:"GET",headers:d?{authorization:`Bearer ${d}`}:{}},c);if(!k.ok)return{success:!1,status:k.timeout?504:502,error:k.error};let l=Date.now()-j,m=await k.res.text();if(!k.res.ok)return{success:!1,status:k.res.status,error:m?.slice(0,500)||`Jina error: ${k.res.status}`};let n=F(m,e);return{success:!0,data:G({provider:"jina-reader",url:a,title:(h=String(m||"").match(/^\s*#\s+(.+)$/m))?h[1].trim():null,format:b,text:n,costUsd:f,responseMs:Date.now()-g,upstreamMs:l})}}async function L({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h=Date.now(),i=await E("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(!i.ok)return{success:!1,status:i.timeout?504:502,error:i.error};let j=Date.now()-h,{json:k}=await H(i.res);return i.res.ok?{success:!0,data:G({provider:"tavily",url:a,title:null,format:b,text:F((k?.results?.[0]||{}).raw_content||"",e),costUsd:f,responseMs:Date.now()-g,upstreamMs:j})}:{success:!1,status:i.res.status,error:k?.error||`Tavily error: ${i.res.status}`}}async function M({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h=Date.now(),i=await E("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(!i.ok)return{success:!1,status:i.timeout?504:502,error:i.error};let j=Date.now()-h,{json:k}=await H(i.res);if(!i.res.ok)return{success:!1,status:i.res.status,error:k?.error||`Exa error: ${i.res.status}`};let l=k?.results?.[0]||{},m=F(l.text||"",e);return{success:!0,data:G({provider:"exa",url:a,title:l.title||null,format:b,text:m,costUsd:f,responseMs:Date.now()-g,upstreamMs:j})}}var N=c(97774);async function O(a){let b;try{b=await a.json()}catch{return y.warn("FETCH","Invalid JSON body"),(0,w.yj)(x.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.provider||b.model,e=b.url;b.format,b.max_characters,y.request("POST",`${c.pathname} | ${d}`);let f=(0,v.Tr)(a);f?y.debug("AUTH",`API Key: ${y.maskKey(f)}`):y.debug("AUTH","No API key provided (local mode)");let g=await (0,B.mt)(),h=null;if(g.requireApiKey){if(!f)return y.warn("AUTH","Missing API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Missing API key");if(!(h=await (0,v.kI)(f)))return y.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Invalid API key")}if(!d||"string"!=typeof d)return y.warn("FETCH","Missing provider/model"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!(0,v.L$)(h,"web"))return y.warn("AUTH","Web fetch kind not allowed for API key"),(0,w.yj)(x.gx.FORBIDDEN,"Web fetch requests are not allowed for this API key");if(!e||"string"!=typeof e)return y.warn("FETCH","Missing url"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: url");try{new URL(e)}catch{return y.warn("FETCH","Invalid URL",{url:e}),(0,w.yj)(x.gx.BAD_REQUEST,"Invalid URL format")}try{(0,N.P)(e)}catch(a){return y.warn("FETCH","Blocked URL",{url:e}),(0,w.yj)(x.gx.BAD_REQUEST,a.message)}let i=await (0,B.Uv)(),j=(0,A.Vu)(d,i);if(j){if(!(0,v.DC)(h,d))return(0,w.yj)(x.gx.FORBIDDEN,`Combo "${d}" is not allowed for this API key`);let c=(0,A.ZO)(d),e=g.comboStrategies||{},i=e[c]?.fallbackStrategy||g.comboStrategy||"fallback",k=g.comboStickyRoundRobinLimit;return y.info("FETCH",`Combo "${c}" with ${j.length} providers (strategy: ${i}, sticky: ${k})`),(0,A.Pr)({body:b,models:j,handleSingleModel:(b,c)=>P(b,c,a,f,g,h),log:y,comboName:c,comboStrategy:i,comboStickyLimit:k})}return P(b,d,a,f,g,h)}async function P(a,b,c,d,e,f=null){let g=a.url,h=a.format,i=a.max_characters,j=(0,C.rs)(b),k=C.AI_PROVIDERS[j];if(!k)return y.warn("FETCH","Unknown provider",{provider:b}),(0,w.yj)(x.gx.BAD_REQUEST,`Unknown provider: ${b}`);let l=k.fetchConfig;if(!l)return y.warn("FETCH","Provider does not support web fetch",{provider:j}),(0,w.yj)(x.gx.BAD_REQUEST,`Provider ${j} does not support web fetch`);if(!await (0,v.kt)(f,j))return y.warn("AUTH",`Provider "${j}" not allowed for API key`,{provider:j}),(0,w.yj)(x.gx.FORBIDDEN,`Provider "${j}" is not allowed for this API key`);let m=k.alias||j,n=`${m}/fetch`;if(!await (0,D.Uw)(n,f))return y.warn("FETCH","Fetch model not in available models list",{model:n}),(0,w.yj)(x.gx.NOT_FOUND,`Model "${n}" is not available. Only models listed in /v1/models can be used.`);if(b!==j?y.info("ROUTING",`${b} → ${j}`):y.info("ROUTING",`Provider: ${j}`),k.noAuth){y.info("AUTH",`\x1b[32m${j} no-auth mode\x1b[0m`);let a=await I({url:g,format:h,maxCharacters:i,provider:k.id,providerConfig:l,credentials:null,log:y});return a.success?new Response(JSON.stringify(a.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}}):(0,w.yj)(a.status||x.gx.BAD_GATEWAY,a.error||"Fetch failed")}let o=new Set,p=null,q=null;for(;;){let a=await (0,v.c1)(j,o);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=p||a.lastError||"Unavailable",c=q||Number(a.lastErrorCode)||x.gx.SERVICE_UNAVAILABLE;return y.warn("FETCH",`[${j}] ${b} (${a.retryAfterHuman})`),(0,w.wO)(c,`[${j}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===o.size)return y.error("AUTH",`No credentials for provider: ${j}`),(0,w.yj)(x.gx.BAD_REQUEST,`No credentials for provider: ${j}`);return y.warn("FETCH","No more accounts available",{provider:j}),(0,w.yj)(q||x.gx.SERVICE_UNAVAILABLE,p||"All accounts unavailable")}y.info("AUTH",`\x1b[32mUsing ${j} account: ${a.connectionName}\x1b[0m`);let b=await (0,z.eU)(j,a),c=await I({url:g,format:h,maxCharacters:i,provider:k.id,providerConfig:l,credentials:b,log:y,onCredentialsRefreshed:async b=>{await (0,z.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.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:d}=await (0,v.vk)(a.connectionId,c.status,c.error,j);if(d){y.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),o.add(a.connectionId),p=c.error,q=c.status;continue}return(0,w.yj)(c.status||x.gx.BAD_GATEWAY,c.error||"Fetch failed")}}async function Q(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function R(a){return await O(a)}let S=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/web/fetch/route",pathname:"/api/v1/web/fetch",filename:"route",bundlePath:"app/api/v1/web/fetch/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/web/fetch/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:U,serverHooks:V}=S;function W(){return(0,g.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:U})}async function X(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),S.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/web/fetch/route";"/index"===d&&(d="/");let e=await S.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,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||S.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===S.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await S.getIncrementalCache(a,x,A,R);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>S.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=>S.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&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(!I)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 S.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await S.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||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 R&&I||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};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await S.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},26915:a=>{a.exports=import("playwright-core")},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")},31421:a=>{a.exports=require("node:child_process")},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")},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},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")},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")},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},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")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(13946),e=c(55290),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},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")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},97774:(a,b,c)=>{c.d(b,{P:()=>i});let d=new Set(["localhost","ip6-localhost","ip6-loopback"]),e=[".internal",".local",".localhost"];function f(a){let b=a.split(".");if(4!==b.length)return null;let c=0;for(let a of b){if(!/^\d{1,3}$/.test(a))return null;let b=Number(a);if(b>255)return null;c=256*c+b}return c>>>0}let g=[[f("0.0.0.0"),8],[f("10.0.0.0"),8],[f("127.0.0.0"),8],[f("169.254.0.0"),16],[f("172.16.0.0"),12],[f("192.168.0.0"),16]];function h(a){let b=f(a);return null!==b&&g.some(([a,c])=>{let d=0===c?0:0xffffffff<<32-c>>>0;return(b&d)==(a&d)})}function i(a){let b,c,f=new URL(a).hostname.toLowerCase();if(d.has(f)||e.some(a=>f.endsWith(a)))throw Error("Blocked URL: internal host");if(h(f)||f.includes(":")&&((c=(b=f.replace(/^\[|\]$/g,"").toLowerCase()).match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/))?h(c[1]):"::1"===b||"::"===b||b.startsWith("fe80:")||b.startsWith("fc")||b.startsWith("fd")))throw Error("Blocked URL: private IP")}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,5290,8711,7010,7916,3133,3424,818,4004,3950],()=>b(b.s=7663));module.exports=c})();
|
|
1
|
+
"use strict";(()=>{var a={};a.id=3883,a.ids=[3883],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")},4573:a=>{a.exports=require("node:buffer")},7066:a=>{a.exports=require("node:tty")},7663:(a,b,c)=>{c.r(b),c.d(b,{handler:()=>X,patchFetch:()=>W,routeModule:()=>S,serverHooks:()=>V,workAsyncStorage:()=>T,workUnitAsyncStorage:()=>U});var d={};c.r(d),c.d(d,{OPTIONS:()=>Q,POST:()=>R});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(14836),w=c(15261),x=c(92398),y=c(90293),z=c(83950),A=c(44004),B=c(94164),C=c(91253),D=c(84310);async function E(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 F(a,b){return a&&"string"==typeof a?!b||b<=0?a:a.length>b?a.slice(0,b):a:a||""}function G({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 H(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 I({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||"",k=e?.costPerQuery??null,l=Date.now();try{if("firecrawl"===d)return await J({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});if("jina-reader"===d)return await K({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});if("tavily"===d)return await L({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});if("exa"===d)return await M({url:a,fmt:h,timeoutMs:i,apiKey:j,maxCharacters:c,costPerQuery:k,startedAt:l});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 J({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h=Date.now(),i=await E("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(!i.ok)return{success:!1,status:i.timeout?504:502,error:i.error};let j=Date.now()-h,{json:k}=await H(i.res);if(!i.res.ok)return{success:!1,status:i.res.status,error:k?.error||`Firecrawl error: ${i.res.status}`};let l=k?.data||{},m=F(l.markdown||l.html||l.text||"",e);return{success:!0,data:G({provider:"firecrawl",url:a,title:l.metadata?.title||null,format:b,text:m,costUsd:f,responseMs:Date.now()-g,upstreamMs:j})}}async function K({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h,i=`https://r.jina.ai/${encodeURIComponent(a)}`,j=Date.now(),k=await E(i,{method:"GET",headers:d?{authorization:`Bearer ${d}`}:{}},c);if(!k.ok)return{success:!1,status:k.timeout?504:502,error:k.error};let l=Date.now()-j,m=await k.res.text();if(!k.res.ok)return{success:!1,status:k.res.status,error:m?.slice(0,500)||`Jina error: ${k.res.status}`};let n=F(m,e);return{success:!0,data:G({provider:"jina-reader",url:a,title:(h=String(m||"").match(/^\s*#\s+(.+)$/m))?h[1].trim():null,format:b,text:n,costUsd:f,responseMs:Date.now()-g,upstreamMs:l})}}async function L({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h=Date.now(),i=await E("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(!i.ok)return{success:!1,status:i.timeout?504:502,error:i.error};let j=Date.now()-h,{json:k}=await H(i.res);return i.res.ok?{success:!0,data:G({provider:"tavily",url:a,title:null,format:b,text:F((k?.results?.[0]||{}).raw_content||"",e),costUsd:f,responseMs:Date.now()-g,upstreamMs:j})}:{success:!1,status:i.res.status,error:k?.error||`Tavily error: ${i.res.status}`}}async function M({url:a,fmt:b,timeoutMs:c,apiKey:d,maxCharacters:e,costPerQuery:f,startedAt:g}){let h=Date.now(),i=await E("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(!i.ok)return{success:!1,status:i.timeout?504:502,error:i.error};let j=Date.now()-h,{json:k}=await H(i.res);if(!i.res.ok)return{success:!1,status:i.res.status,error:k?.error||`Exa error: ${i.res.status}`};let l=k?.results?.[0]||{},m=F(l.text||"",e);return{success:!0,data:G({provider:"exa",url:a,title:l.title||null,format:b,text:m,costUsd:f,responseMs:Date.now()-g,upstreamMs:j})}}var N=c(97774);async function O(a){let b;try{b=await a.json()}catch{return y.warn("FETCH","Invalid JSON body"),(0,w.yj)(x.gx.BAD_REQUEST,"Invalid JSON body")}let c=new URL(a.url),d=b.provider||b.model,e=b.url;b.format,b.max_characters,y.request("POST",`${c.pathname} | ${d}`);let f=(0,v.Tr)(a);f?y.debug("AUTH",`API Key: ${y.maskKey(f)}`):y.debug("AUTH","No API key provided (local mode)");let g=await (0,B.mt)(),h=null;if(g.requireApiKey){if(!f)return y.warn("AUTH","Missing API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Missing API key");if(!(h=await (0,v.kI)(f)))return y.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,w.yj)(x.gx.UNAUTHORIZED,"Invalid API key")}if(!d||"string"!=typeof d)return y.warn("FETCH","Missing provider/model"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: provider (or model)");if(!(0,v.L$)(h,"web"))return y.warn("AUTH","Web fetch kind not allowed for API key"),(0,w.yj)(x.gx.FORBIDDEN,"Web fetch requests are not allowed for this API key");if(!e||"string"!=typeof e)return y.warn("FETCH","Missing url"),(0,w.yj)(x.gx.BAD_REQUEST,"Missing required field: url");try{new URL(e)}catch{return y.warn("FETCH","Invalid URL",{url:e}),(0,w.yj)(x.gx.BAD_REQUEST,"Invalid URL format")}try{(0,N.P)(e)}catch(a){return y.warn("FETCH","Blocked URL",{url:e}),(0,w.yj)(x.gx.BAD_REQUEST,a.message)}let i=await (0,B.Uv)(),j=(0,A.Vu)(d,i);if(j){if(!(0,v.DC)(h,d))return(0,w.yj)(x.gx.FORBIDDEN,`Combo "${d}" is not allowed for this API key`);let c=(0,A.ZO)(d),e=g.comboStrategies||{},i=e[c]?.fallbackStrategy||g.comboStrategy||"fallback",k=g.comboStickyRoundRobinLimit;return y.info("FETCH",`Combo "${c}" with ${j.length} providers (strategy: ${i}, sticky: ${k})`),(0,A.Pr)({body:b,models:j,handleSingleModel:(b,c)=>P(b,c,a,f,g,h),log:y,comboName:c,comboStrategy:i,comboStickyLimit:k})}return P(b,d,a,f,g,h)}async function P(a,b,c,d,e,f=null){let g=a.url,h=a.format,i=a.max_characters,j=(0,C.rs)(b),k=C.AI_PROVIDERS[j];if(!k)return y.warn("FETCH","Unknown provider",{provider:b}),(0,w.yj)(x.gx.BAD_REQUEST,`Unknown provider: ${b}`);let l=k.fetchConfig;if(!l)return y.warn("FETCH","Provider does not support web fetch",{provider:j}),(0,w.yj)(x.gx.BAD_REQUEST,`Provider ${j} does not support web fetch`);if(!await (0,v.kt)(f,j))return y.warn("AUTH",`Provider "${j}" not allowed for API key`,{provider:j}),(0,w.yj)(x.gx.FORBIDDEN,`Provider "${j}" is not allowed for this API key`);let m=k.alias||j,n=`${m}/fetch`;if(!await (0,D.Uw)(n,f))return y.warn("FETCH","Fetch model not in available models list",{model:n}),(0,w.yj)(x.gx.NOT_FOUND,`Model "${n}" is not available. Only models listed in /v1/models can be used.`);if(b!==j?y.info("ROUTING",`${b} → ${j}`):y.info("ROUTING",`Provider: ${j}`),k.noAuth){y.info("AUTH",`\x1b[32m${j} no-auth mode\x1b[0m`);let a=await I({url:g,format:h,maxCharacters:i,provider:k.id,providerConfig:l,credentials:null,log:y});return a.success?new Response(JSON.stringify(a.data),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}}):(0,w.yj)(a.status||x.gx.BAD_GATEWAY,a.error||"Fetch failed")}let o=new Set,p=null,q=null;for(;;){let a=await (0,v.c1)(j,o);if(!a||a.allRateLimited){if(a?.allRateLimited){let b=p||a.lastError||"Unavailable",c=q||Number(a.lastErrorCode)||x.gx.SERVICE_UNAVAILABLE;return y.warn("FETCH",`[${j}] ${b} (${a.retryAfterHuman})`),(0,w.wO)(c,`[${j}] ${b}`,a.retryAfter,a.retryAfterHuman)}if(0===o.size)return y.error("AUTH",`No credentials for provider: ${j}`),(0,w.yj)(x.gx.BAD_REQUEST,`No credentials for provider: ${j}`);return y.warn("FETCH","No more accounts available",{provider:j}),(0,w.yj)(q||x.gx.SERVICE_UNAVAILABLE,p||"All accounts unavailable")}y.info("AUTH",`\x1b[32mUsing ${j} account: ${a.connectionName}\x1b[0m`);let b=await (0,z.eU)(j,a),c=await I({url:g,format:h,maxCharacters:i,provider:k.id,providerConfig:l,credentials:b,log:y,onCredentialsRefreshed:async b=>{await (0,z.vN)(a.connectionId,{accessToken:b.accessToken,refreshToken:b.refreshToken,providerSpecificData:b.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,v.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:d}=await (0,v.vk)(a.connectionId,c.status,c.error,j);if(d){y.warn("AUTH",`Account ${a.connectionName} unavailable (${c.status}), trying fallback`),o.add(a.connectionId),p=c.error,q=c.status;continue}return(0,w.yj)(c.status||x.gx.BAD_GATEWAY,c.error||"Fetch failed")}}async function Q(){return new Response(null,{headers:{"Access-Control-Allow-Origin":"*","Access-Control-Allow-Methods":"POST, OPTIONS","Access-Control-Allow-Headers":"*"}})}async function R(a){return await O(a)}let S=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/v1/web/fetch/route",pathname:"/api/v1/web/fetch",filename:"route",bundlePath:"app/api/v1/web/fetch/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/v1/web/fetch/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:T,workUnitAsyncStorage:U,serverHooks:V}=S;function W(){return(0,g.patchFetch)({workAsyncStorage:T,workUnitAsyncStorage:U})}async function X(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),S.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/v1/web/fetch/route";"/index"===d&&(d="/");let e=await S.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,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,y,!1):b.end("This page could not be found"),null);if(I&&!z){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(x.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||S.isDev||z||(K="/index"===(K=E)?"/":K);let L=!0===S.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),T=(0,h.getRequestMeta)(a,"incrementalCache")||await S.getIncrementalCache(a,x,A,R);null==T||T.resetRequestCache(),globalThis.__incrementalCache=T;let U={params:w,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!x.experimental.authInterrupts},cacheComponents:!!x.cacheComponents,supportsDynamicResponse:L,incrementalCache:T,cacheLifeProfiles:x.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>S.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=>S.handle(X,U).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.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=`${N} ${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(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&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(!I)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 S.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await S.handleResponse({req:a,nextConfig:x,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)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});R||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 R&&I||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};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await S.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(V,W,new Response(null,{status:500})),null}}},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12286:(a,b,c)=>{c.d(b,{Ut:()=>e,a_:()=>f,bC:()=>d});let d={STOP:"stop",LENGTH:"length",TOOL_CALLS:"tool_calls",CONTENT_FILTER:"content_filter"},e={END_TURN:"end_turn",MAX_TOKENS:"max_tokens",TOOL_USE:"tool_use",STOP_SEQUENCE:"stop_sequence"},f={STOP:"STOP",MAX_TOKENS:"MAX_TOKENS",SAFETY:"SAFETY",RECITATION:"RECITATION",BLOCKLIST:"BLOCKLIST",PROHIBITED_CONTENT:"PROHIBITED_CONTENT"}},14985:a=>{a.exports=require("dns")},16698:a=>{a.exports=require("node:async_hooks")},21820:a=>{a.exports=require("os")},26915:a=>{a.exports=import("playwright-core")},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")},31421:a=>{a.exports=require("node:child_process")},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")},37808:(a,b,c)=>{c.d(b,{N:()=>d});function d(a,b){if("string"!=typeof a)return a;try{return JSON.parse(a)}catch{return b}}},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")},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")},59638:(a,b,c)=>{c.d(b,{R4:()=>g,BY:()=>l,a_:()=>j.a_,RV:()=>e,rP:()=>k,x4:()=>f,bC:()=>j.bC,Du:()=>h,z7:()=>d,m8:()=>i});let d={USER:"user",ASSISTANT:"assistant",TOOL:"tool",SYSTEM:"system",DEVELOPER:"developer"},e={USER:"user",MODEL:"model"},f={TEXT:"text",IMAGE_URL:"image_url",IMAGE:"image",INPUT_AUDIO:"input_audio",AUDIO_URL:"audio_url",FILE:"file",FUNCTION:"function"},g={TEXT:"text",IMAGE:"image",DOCUMENT:"document",TOOL_USE:"tool_use",TOOL_RESULT:"tool_result",THINKING:"thinking",REDACTED_THINKING:"redacted_thinking"},h={MESSAGE:"message",FUNCTION_CALL:"function_call",FUNCTION_CALL_OUTPUT:"function_call_output",REASONING:"reasoning",OUTPUT_TEXT:"output_text",INPUT_TEXT:"input_text",INPUT_IMAGE:"input_image",SUMMARY_TEXT:"summary_text"},i=[f.TEXT,f.IMAGE_URL,f.IMAGE,f.INPUT_AUDIO,f.AUDIO_URL,f.FILE];f.TEXT,f.IMAGE_URL,f.IMAGE,g.TOOL_RESULT;var j=c(12286);let k="unknown",l="image/png"},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},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")},79551:a=>{a.exports=require("url")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},83712:(a,b,c)=>{c.d(b,{KZ:()=>k,S6:()=>h,Yr:()=>o,f6:()=>l,fc:()=>g,kU:()=>i,pT:()=>j,w_:()=>m});var d=c(37808),e=c(59638);let f=["minLength","maxLength","exclusiveMinimum","exclusiveMaximum","minItems","maxItems","format","default","examples","$schema","$defs","definitions","const","$ref","$comment","deprecated","readOnly","writeOnly","additionalProperties","propertyNames","patternProperties","enumDescriptions","anyOf","oneOf","allOf","not","dependencies","dependentSchemas","dependentRequired","title","optional","deprecated","if","then","else","contentMediaType","contentEncoding","cornerRadius","fillColor","fontFamily","fontSize","fontWeight","gap","padding","strokeColor","strokeThickness","textColor"],g=[{category:"HARM_CATEGORY_HATE_SPEECH",threshold:"OFF"},{category:"HARM_CATEGORY_DANGEROUS_CONTENT",threshold:"OFF"},{category:"HARM_CATEGORY_SEXUALLY_EXPLICIT",threshold:"OFF"},{category:"HARM_CATEGORY_HARASSMENT",threshold:"OFF"},{category:"HARM_CATEGORY_CIVIC_INTEGRITY",threshold:"OFF"}];function h(a){let b=[];if("string"==typeof a)b.push({text:a});else if(Array.isArray(a)){for(let c of a)if(c.type===e.x4.TEXT)b.push({text:c.text});else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url?.startsWith("data:")){let a=c.image_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.IMAGE_URL&&c.image_url?.url&&(c.image_url.url.startsWith("http://")||c.image_url.url.startsWith("https://")))b.push({fileData:{fileUri:c.image_url.url,mimeType:"image/*"}});else if(c.type===e.x4.INPUT_AUDIO&&c.input_audio?.data){let a=c.input_audio.format||"wav",d="mp3"===a?"audio/mpeg":`audio/${a}`;b.push({inlineData:{mime_type:d,data:c.input_audio.data}})}else if(c.type===e.x4.AUDIO_URL&&c.audio_url?.url?.startsWith("data:")){let a=c.audio_url.url,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d),e=a.substring(d+1),f=c.split(";")[0];b.push({inlineData:{mime_type:f,data:e}})}}else if(c.type===e.x4.FILE&&c.file?.file_data?.startsWith("data:")){let a=c.file.file_data,d=a.indexOf(",");if(-1!==d){let c=a.substring(5,d).split(";")[0],e=a.substring(d+1);b.push({inlineData:{mime_type:c,data:e}})}}}return b}function i(a,b=""){return"string"==typeof a?a:Array.isArray(a)?a.filter(a=>a.type===e.x4.TEXT).map(a=>a.text).join(b):""}function j(a){return(0,d.N)(a,null)}function k(){return`agent-${crypto.randomUUID()}`}function l(){return crypto.randomUUID()+Date.now().toString()}function m(){let a=["useful","bright","swift","calm","bold"],b=["fuze","wave","spark","flow","core"],c=a[Math.floor(Math.random()*a.length)],d=b[Math.floor(Math.random()*b.length)];return`${c}-${d}-${crypto.randomUUID().slice(0,5)}`}function n(a){let b=0,c=-1;for(let d=0;d<a.length;d++){let e=a[d],f=0,g=e.type;"object"===g||e.properties?f=3:"array"===g||e.items?f=2:g&&"null"!==g&&(f=1),f>c&&(c=f,b=d)}return b}function o(a){return a&&"object"==typeof a&&(!function a(b){if(b&&"object"==typeof b)for(let c of(void 0===b.const||b.enum||(b.enum=[b.const],delete b.const),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.enum&&Array.isArray(b.enum)&&(b.enum=b.enum.map(a=>String(a)),b.type||(b.type="string")),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b){if(b&&"object"==typeof b){if(b.allOf&&Array.isArray(b.allOf)){let a={};for(let c of b.allOf)if(c.properties&&(a.properties||(a.properties={}),Object.assign(a.properties,c.properties)),c.required&&Array.isArray(c.required))for(let b of(a.required||(a.required=[]),c.required))a.required.includes(b)||a.required.push(b);delete b.allOf,a.properties&&(b.properties={...b.properties,...a.properties}),a.required&&(b.required=[...b.required||[],...a.required])}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.anyOf&&Array.isArray(b.anyOf)&&b.anyOf.length>0){let a=b.anyOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.anyOf,Object.assign(b,d)}}if(b.oneOf&&Array.isArray(b.oneOf)&&b.oneOf.length>0){let a=b.oneOf.filter(a=>a&&"null"!==a.type);if(a.length>0){let c=n(a),d=a[c];delete b.oneOf,Object.assign(b,d)}}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b){if(b.type&&Array.isArray(b.type)){let a=b.type.filter(a=>"null"!==a);b.type=a.length>0?a[0]:"string"}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of(b.properties&&!b.type&&(b.type="object"),Object.values(b)))c&&"object"==typeof c&&a(c)}(a),!function a(b,c){if(b&&"object"==typeof b){if(Array.isArray(b)){for(let d of b)a(d,c);return}for(let d of Object.keys(b)){if(c.includes(d)||d.startsWith("x-")){delete b[d];continue}let e=b[d];e&&"object"==typeof e&&a(e,c)}}}(a,f),!function a(b){if(b&&"object"==typeof b){if(b.required&&Array.isArray(b.required)&&b.properties){let a=b.required.filter(a=>Object.prototype.hasOwnProperty.call(b.properties,a));0===a.length?delete b.required:b.required=a}for(let c of Object.values(b))c&&"object"==typeof c&&a(c)}}(a),!function a(b){if(b&&"object"==typeof b)for(let c of("object"!==b.type||b.properties&&0!==Object.keys(b.properties).length||(b.properties={reason:{type:"string",description:"Brief explanation of why you are calling this tool"}},b.required=["reason"]),Object.values(b)))c&&"object"==typeof c&&a(c)}(a)),a}},84310:(a,b,c)=>{c.d(b,{PX:()=>v,Uw:()=>z});var d=c(67259),e=c(91253),f=c(94164),g=c(76489);let h=/[-_][0-9a-f]{8,}$/i,i=["llm","tts","embedding","image","imageToText","stt","webSearch","webFetch"],j={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText"};function k(a){return a?.kind?a.kind:a?.type&&j[a.type]||"llm"}function l(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}function m(a,b){let c=e.AI_PROVIDERS[a];return(Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"]).some(a=>b.has(a))}let n={},o={};async function p(a,b){let c=b?.modelsFetcher;if(!c?.url)return[];let d=Date.now();if(n[a]&&d<(o[a]||0))return n[a];try{let b,e=new AbortController,f=setTimeout(()=>e.abort(),8e3),g=await fetch(c.url,{method:"GET",headers:{"Content-Type":"application/json"},cache:"no-store",signal:e.signal});if(clearTimeout(f),!g.ok)return[];let h=await g.json(),i=Array.isArray(h)?h:h?.data||h?.models||h?.results||[];b="opencode-free"===c.type?i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&c.endsWith("-free")&&a.push(c),a},[]):i.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[]);let j=Array.from(new Set(b));return n[a]=j,o[a]=d+3e5,j}catch{return n[a]||[]}}async function q(a){if(!a?.apiKey)return[];let b="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!b)return[];let c=`${b}/models`,d={"Content-Type":"application/json"};if((0,e.mq)(a.provider))d.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return[];c.endsWith("/messages/models")?c=c.slice(0,-9):c.endsWith("/messages")&&(c=`${c.slice(0,-9)}/models`),d["x-api-key"]=a.apiKey,d["anthropic-version"]="2023-06-01",d.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,b=setTimeout(()=>a.abort(),5e3),e=await fetch(c,{method:"GET",headers:d,cache:"no-store",signal:a.signal});if(clearTimeout(b),!e.ok)return[];let f=await e.json(),g=Array.isArray(f)?f:f?.data||f?.models||f?.results||[];return Array.from(new Set(g.reduce((a,b)=>{let c=b?.id||b?.name||b?.model;return"string"==typeof c&&""!==c.trim()&&a.push(c),a},[])))}catch{return[]}}async function r(){let a=!1,b=[];try{b=await (0,f.getProviderConnections)(),a=!0,b=b.filter(a=>!1!==a.isActive)}catch{}let c=[];try{c=await (0,f.Uv)(),a=!0}catch{}let d=[];try{d=await (0,f.uv)()}catch{}let e={};try{e=await (0,f.OM)()}catch{}let h={};try{h=await (0,g.vF)()}catch{}let i=new Map;for(let a of b)i.has(a.provider)||i.set(a.provider,a);return{connections:b,combos:c,customModels:d,modelAliases:e,isDisabled:(a,b)=>Array.isArray(h[a])&&h[a].includes(b),activeConnectionByProvider:i,dbAvailable:a}}async function s(a,b,c,f,g,h,i){a=new Set(a);let j=[];for(let c of b){if(!function(a,b){let c=a?.kind||"llm";return b.has(c)}(c,a))continue;let b={id:`combo/${c.name}`};("webSearch"===c.kind||"webFetch"===c.kind)&&(b.kind=c.kind),j.push(b)}if(i)for(let b of(await Promise.all([...h.entries()].reduce((b,[d,e])=>(m(d,a)&&b.push(t(d,e,a,c,f,g)),b),[]))))j.push(...b);else{let b=Object.fromEntries(Object.entries(d.Xg).map(([a,b])=>[b,a]));for(let[c,e]of Object.entries(d.vq))if(m(b[c]||c,a))for(let b of e)a.has(k(b))&&(g(c,b.id)||j.push({id:`${c}/${b.id}`}));for(let b of c){if(!b?.id||b.type&&"llm"!==b.type||!a.has("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();d&&j.push({id:`${c}/${d}`})}}for(let b of(await Promise.all(Object.entries(e.AI_PROVIDERS).reduce((b,[d,e])=>(!h.has(d)&&e.noAuth&&m(d,a)&&b.push(u(d,e,a,c,f,g)),b),[]))))j.push(...b);return j}async function t(a,b,c,f,g,i){let j=[],m=d.Xg[a]||a,n=(b?.providerSpecificData?.prefix||(0,e.wG)(a)||m).trim(),o=d.vq[m]||[],r=b?.providerSpecificData?.enabledModels,s=Array.isArray(r)&&r.length>0,t=(0,e.mq)(a)||(0,e.gb)(a),u=e.AI_PROVIDERS[a]?.passthroughModels===!0,v=new Map(o.map(a=>[a.id,k(a)])),w=s?Array.from(new Set(r.filter(a=>"string"==typeof a&&""!==a.trim()))):o.map(a=>a.id);t&&0===w.length&&!h.test(a)&&(w=await q(b));let x=e.AI_PROVIDERS[a];for(let b of(x?.noAuth&&x?.modelsFetcher&&(w=Array.from(new Set([...w,...await p(a,x)]))),u&&0===w.length&&(w=o.map(a=>a.id)),u&&!s&&(w=o.map(a=>a.id)),Array.from(new Set([...w.reduce((b,c)=>{let d=c;return d.startsWith(`${n}/`)?d=d.slice(n.length+1):d.startsWith(`${m}/`)?d=d.slice(m.length+1):d.startsWith(`${a}/`)&&(d=d.slice(a.length+1)),"string"==typeof d&&""!==d.trim()&&b.push(d),b},[]),...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==m&&d!==n&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${n}/`)||c.startsWith(`${m}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${n}/`)?c.slice(n.length+1):c.startsWith(`${m}/`)?c.slice(m.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=v.get(b)||l(b);c.has(a)&&(i(n,b)||i(m,b)||j.push({id:`${n}/${b}`}))}if(c.has("tts")&&Array.isArray(x?.ttsConfig?.models))for(let a of x.ttsConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});if(c.has("embedding")&&Array.isArray(x?.embeddingConfig?.models))for(let a of x.embeddingConfig.models)!a?.id||i(n,a.id)||i(m,a.id)||j.push({id:`${n}/${a.id}`});return c.has("webSearch")&&x?.searchConfig&&j.push({id:`${n}/search`,kind:"webSearch"}),c.has("webFetch")&&x?.fetchConfig&&j.push({id:`${n}/fetch`,kind:"webFetch"}),j}async function u(a,b,c,f,g,h){let i=[],j=(0,e.wG)(a)||b.alias||a,m=new Map((d.vq[j]||[]).map(a=>[a.id,k(a)])),n=(d.vq[j]||[]).map(a=>a.id),o=[];for(let d of(b.modelsFetcher&&(o=await p(a,b)),Array.from(new Set([...n,...o,...f.reduce((b,c)=>{if(!c?.id||c.type&&"llm"!==c.type)return b;let d=c.providerAlias;if(d!==j&&d!==a)return b;let e=String(c.id).trim();return""!==e&&b.push(e),b},[]),...Object.values(g||{}).reduce((b,c)=>{let d;return"string"==typeof c&&c.includes("/")&&(c.startsWith(`${j}/`)||c.startsWith(`${a}/`))&&"string"==typeof(d=c.startsWith(`${j}/`)?c.slice(j.length+1):c.slice(a.length+1))&&""!==d.trim()&&b.push(d),b},[])])))){let a=m.get(d)||l(d);c.has(a)&&(h(j,d)||i.push({id:`${j}/${d}`}))}if(c.has("tts")&&Array.isArray(b?.ttsConfig?.models))for(let a of b.ttsConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});if(c.has("embedding")&&Array.isArray(b?.embeddingConfig?.models))for(let a of b.embeddingConfig.models)a?.id&&!h(j,a.id)&&i.push({id:`${j}/${a.id}`});return c.has("webSearch")&&b?.searchConfig&&i.push({id:`${j}/search`,kind:"webSearch"}),c.has("webFetch")&&b?.fetchConfig&&i.push({id:`${j}/fetch`,kind:"webFetch"}),i}async function v(a){let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(a,b,c,d,e,f,g),i=new Set,j=[];for(let a of h){if(!a?.id||i.has(a.id))continue;i.add(a.id);let b={id:a.id,object:"model",owned_by:a.id.includes("/")?a.id.split("/")[0]:"combo"};a.kind&&(b.kind=a.kind),j.push(b)}return j}let w=null,x=0;async function y(){let a=Date.now();if(w&&a<x)return w;let{combos:b,customModels:c,modelAliases:d,isDisabled:e,activeConnectionByProvider:f,dbAvailable:g}=await r(),h=await s(i,b,c,d,e,f,g),j=new Set;for(let a of h)a?.id&&j.add(a.id);return w=j,x=a+3e4,j}async function z(a,b=null){return!b||(await y()).has(a)}},85577:(a,b,c)=>{c.d(b,{Xg:()=>o,PROVIDER_MODELS:()=>f.vq,fZ:()=>j,cY:()=>p,ux:()=>k,OA:()=>l,kt:()=>m,SM:()=>i});var d=c(13946),e=c(55290),f=c(68711),g=c(57959);let h="-review";function i(a){return f.vq[a]||[]}function j(a){let b=f.vq[a];return b?.[0]?.id||null}function k(a,b){let c=f.vq[a];return c?(0,g.gr)(c.find(a=>a.id===b)):null}function l(a,b){let c=f.vq[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.kind||d?.type||null}function m(a,b){let c=f.vq[a],d=c?.find(a=>a.id===b);return d?.upstreamModelId?d.upstreamModelId:"cx"===a&&"string"==typeof b&&b.endsWith(h)?b.slice(0,-h.length):b}let n=Object.fromEntries(e.A.filter(a=>a.alias&&a.alias!==a.id).map(a=>[a.id,a.alias])),o=Object.fromEntries(Object.keys(d.xq).map(a=>[a,n[a]||a]));function p(a,b){return(0,g.g5)(f.vq[a]?.find(a=>a.id===b))}},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")},91645:a=>{a.exports=require("net")},94735:a=>{a.exports=require("events")},97774:(a,b,c)=>{c.d(b,{P:()=>i});let d=new Set(["localhost","ip6-localhost","ip6-loopback"]),e=[".internal",".local",".localhost"];function f(a){let b=a.split(".");if(4!==b.length)return null;let c=0;for(let a of b){if(!/^\d{1,3}$/.test(a))return null;let b=Number(a);if(b>255)return null;c=256*c+b}return c>>>0}let g=[[f("0.0.0.0"),8],[f("10.0.0.0"),8],[f("127.0.0.0"),8],[f("169.254.0.0"),16],[f("172.16.0.0"),12],[f("192.168.0.0"),16]];function h(a){let b=f(a);return null!==b&&g.some(([a,c])=>{let d=0===c?0:0xffffffff<<32-c>>>0;return(b&d)==(a&d)})}function i(a){let b,c,f=new URL(a).hostname.toLowerCase();if(d.has(f)||e.some(a=>f.endsWith(a)))throw Error("Blocked URL: internal host");if(h(f)||f.includes(":")&&((c=(b=f.replace(/^\[|\]$/g,"").toLowerCase()).match(/^::ffff:(\d+\.\d+\.\d+\.\d+)$/))?h(c[1]):"::1"===b||"::"===b||b.startsWith("fe80:")||b.startsWith("fc")||b.startsWith("fd")))throw Error("Blocked URL: private IP")}}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348,9787,9633,5290,8711,7010,7916,3133,3424,818,4004,3950],()=>b(b.s=7663));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=2922,a.ids=[2922],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12334:(a,b,c)=>{"use strict";a.exports=c(44870)},13674:()=>{},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34169:(a,b,c)=>{"use strict";c.d(b,{h:()=>f,m:()=>e});var d=c(73024);function e(){return process.env.PM2_HOME_PATH||process.env.PM2_JSON_PROCESSING||process.env.pm2_env?"pm2":process.env.INVOCATION_ID||(0,d.existsSync)("/run/systemd/system")?"systemd":"string"==typeof process.env.TMUX&&process.env.TMUX.length>0?"tmux":"string"==typeof process.env.STY&&process.env.STY.length>0?"screen":!function(){if((0,d.existsSync)("/.dockerenv"))return!0;try{let a=(0,d.readFileSync)("/proc/1/cgroup","utf8");if(/docker|containerd|kubepods|buildkit/i.test(a))return!0}catch{}return!1}()?"direct":"docker"}function f(a,b){let c=`npm i -g ${b}@latest --prefer-online`;switch(a){case"pm2":let d=function(){let a=process.env.pm2_env;if(!a)return null;try{let b=JSON.parse(a);return b?.name||null}catch{return null}}()||"vansrouter";return`${c} && pm2 restart ${d}`;case"systemd":let e=function(){try{let a=process.execPath.split("/").pop()||"vansrouter";return`${a}.service`}catch{return null}}()||b;return`${c} && sudo systemctl restart ${e}`;case"screen":return`${c} && screen -dmS vansrouter vansrouter`;case"tmux":return`${c} && tmux new-session -d -s vansrouter 'vansrouter'`;case"docker":return`${c} # NOTE: inside Docker — pull new image on host (docker compose pull && up -d) or use Watchtower`;default:return null}}},39006:a=>{"use strict";a.exports={rE:"0.7.6"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47266:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{GET:()=>C});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(55591),w=c.n(v),x=c(39006),y=c(34169);let z="vansrouter";function A(a){return new Promise(b=>{let c=w().get(a,{timeout:4e3},a=>{let c="";a.on("data",a=>c+=a),a.on("end",()=>{try{b(JSON.parse(c))}catch{b(null)}})});c.on("error",()=>b(null)),c.on("timeout",()=>{c.destroy(),b(null)})})}function B(a,b){let c=a.split(".").map(Number),d=b.split(".").map(Number);for(let a=0;a<3;a++){if(c[a]>d[a])return 1;if(c[a]<d[a])return -1}return 0}async function C(){let[a,b]=await Promise.all([new Promise(async a=>{let b=await A(`https://registry.npmjs.org/${z}/latest`);a(b?.version||null)}),new Promise(async a=>{let b=await A("https://raw.githubusercontent.com/Vanszs/VansRouter/dev/package.json");a(b?.version||null)})]),c=x.rE,d=!!a&&B(a,c)>0,e=(0,y.m)(),f=(0,y.h)(e,z),g=null;if(a&&b){let d=B(b,a),e=B(c,b);g=d>=0&&e<0?"github_ahead":d<0?"github_behind_npm":e>0?"local_ahead":"current"}return Response.json({currentVersion:c,latestVersion:a,githubVersion:b,hasUpdate:d,githubStatus:g,runtime:e,canAutoRestart:null!==f,installCommand:f||`npm i -g ${z}@latest`})}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/version/route";"/index"===d&&(d="/");let e=await D.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: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||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.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 D.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)=>D.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=>D.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&&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 D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,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",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 D.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}}},47471:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(91591),e=c(34246),f=c(13093);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},55591:a=>{"use strict";a.exports=require("https")},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")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95522:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348],()=>b(b.s=47266));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=2922,a.ids=[2922],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12334:(a,b,c)=>{"use strict";a.exports=c(44870)},13674:()=>{},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},34169:(a,b,c)=>{"use strict";c.d(b,{h:()=>f,m:()=>e});var d=c(73024);function e(){return process.env.PM2_HOME_PATH||process.env.PM2_JSON_PROCESSING||process.env.pm2_env?"pm2":process.env.INVOCATION_ID||(0,d.existsSync)("/run/systemd/system")?"systemd":"string"==typeof process.env.TMUX&&process.env.TMUX.length>0?"tmux":"string"==typeof process.env.STY&&process.env.STY.length>0?"screen":!function(){if((0,d.existsSync)("/.dockerenv"))return!0;try{let a=(0,d.readFileSync)("/proc/1/cgroup","utf8");if(/docker|containerd|kubepods|buildkit/i.test(a))return!0}catch{}return!1}()?"direct":"docker"}function f(a,b){let c=`npm i -g ${b}@latest --prefer-online`;switch(a){case"pm2":let d=function(){let a=process.env.pm2_env;if(!a)return null;try{let b=JSON.parse(a);return b?.name||null}catch{return null}}()||"vansrouter";return`${c} && pm2 restart ${d}`;case"systemd":let e=function(){try{let a=process.execPath.split("/").pop()||"vansrouter";return`${a}.service`}catch{return null}}()||b;return`${c} && sudo systemctl restart ${e}`;case"screen":return`${c} && screen -dmS vansrouter vansrouter`;case"tmux":return`${c} && tmux new-session -d -s vansrouter 'vansrouter'`;case"docker":return`${c} # NOTE: inside Docker — pull new image on host (docker compose pull && up -d) or use Watchtower`;default:return null}}},39006:a=>{"use strict";a.exports={rE:"0.7.8"}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},47266:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>I,patchFetch:()=>H,routeModule:()=>D,serverHooks:()=>G,workAsyncStorage:()=>E,workUnitAsyncStorage:()=>F});var d={};c.r(d),c.d(d,{GET:()=>C});var e=c(12334),f=c(59399),g=c(8894),h=c(83760),i=c(34958),j=c(970),k=c(261),l=c(28112),m=c(52194),n=c(9410),o=c(68673),p=c(47471),q=c(13093),r=c(98563),s=c(7572),t=c(86439),u=c(33610),v=c(55591),w=c.n(v),x=c(39006),y=c(34169);let z="vansrouter";function A(a){return new Promise(b=>{let c=w().get(a,{timeout:4e3},a=>{let c="";a.on("data",a=>c+=a),a.on("end",()=>{try{b(JSON.parse(c))}catch{b(null)}})});c.on("error",()=>b(null)),c.on("timeout",()=>{c.destroy(),b(null)})})}function B(a,b){let c=a.split(".").map(Number),d=b.split(".").map(Number);for(let a=0;a<3;a++){if(c[a]>d[a])return 1;if(c[a]<d[a])return -1}return 0}async function C(){let[a,b]=await Promise.all([new Promise(async a=>{let b=await A(`https://registry.npmjs.org/${z}/latest`);a(b?.version||null)}),new Promise(async a=>{let b=await A("https://raw.githubusercontent.com/Vanszs/VansRouter/dev/package.json");a(b?.version||null)})]),c=x.rE,d=!!a&&B(a,c)>0,e=(0,y.m)(),f=(0,y.h)(e,z),g=null;if(a&&b){let d=B(b,a),e=B(c,b);g=d>=0&&e<0?"github_ahead":d<0?"github_behind_npm":e>0?"local_ahead":"current"}return Response.json({currentVersion:c,latestVersion:a,githubVersion:b,hasUpdate:d,githubStatus:g,runtime:e,canAutoRestart:null!==f,installCommand:f||`npm i -g ${z}@latest`})}let D=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/VansRouter/VansRouter/src/app/api/version/route.js",nextConfigOutput:"standalone",userland:d,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:F,serverHooks:G}=D;function H(){return(0,g.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:F})}async function I(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),D.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/version/route";"/index"===d&&(d="/");let e=await D.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: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||D.isDev||z||(L="/index"===(L=F)?"/":L);let M=!0===D.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 D.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)=>D.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=>D.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&&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 D.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:N,isOnDemandRevalidate:C})},!1,B),b}},k=await D.handleResponse({req:a,nextConfig:x,cacheKey:L,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,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",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 D.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}}},47471:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(91591),e=c(34246),f=c(13093);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},55591:a=>{"use strict";a.exports=require("https")},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")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95522:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1348],()=>b(b.s=47266));module.exports=c})();
|