zevairouter 1.1.36 → 1.1.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +38 -1
- package/README.zh-CN.md +1 -0
- package/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +13 -11
- package/cli/app/.next-cli-build/build-manifest.json +2 -2
- package/cli/app/.next-cli-build/prerender-manifest.json +4 -4
- package/cli/app/.next-cli-build/routes-manifest.json +14 -0
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +9 -9
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/saml/start/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/omp-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/cli-tools/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/[operation]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/media/videos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/codebuddy/discover-models/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/providers/flow/import/route.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/providers/flow/import/route.js.nft.json +1 -0
- package/cli/app/.next-cli-build/server/app/api/providers/flow/import/route_client-reference-manifest.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kiro/discover-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kiro/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/opencode/discover-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/logs/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/quota-stream/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/routing-stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/content/route.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/content/route.js.nft.json +1 -0
- package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/content/route_client-reference-manifest.js +1 -0
- package/cli/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback.html +1 -1
- package/cli/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/skills.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.html +1 -1
- package/cli/app/.next-cli-build/server/app/index.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing.html +1 -1
- package/cli/app/.next-cli-build/server/app/landing.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/login.html +1 -1
- package/cli/app/.next-cli-build/server/app/login.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/page.js +1 -1
- package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/provider-icons/[provider]/route.js +2 -2
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +13 -11
- package/cli/app/.next-cli-build/server/chunks/1131.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/2299.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3477.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/3949.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5019.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5436.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5681.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/6846.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7170.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7319.js +19 -19
- package/cli/app/.next-cli-build/server/chunks/7634.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8306.js +1 -1
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware.js +1 -1
- package/cli/app/.next-cli-build/server/pages/404.html +1 -1
- package/cli/app/.next-cli-build/server/pages/500.html +1 -1
- package/cli/app/.next-cli-build/server/preview-props.json +3 -3
- package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/cli/app/.next-cli-build/static/chunks/{5497-07fd56ae6cf0f59f.js → 5497-74f6311426810796.js} +3 -3
- package/cli/app/.next-cli-build/static/chunks/620-b9f4de494966acab.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-d580298598ba5275.js +58 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-cc4cd8701a14c45e.js +3 -0
- package/cli/app/.next-cli-build/static/chunks/app/_global-error/{page-378a2e64adcc5f02.js → page-3fd3d1141471fe7d.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/login/{route-378a2e64adcc5f02.js → route-3fd3d1141471fe7d.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/logout/{route-378a2e64adcc5f02.js → route-3fd3d1141471fe7d.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/{route-378a2e64adcc5f02.js → route-3fd3d1141471fe7d.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/videos/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/enable/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-token/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/codebuddy/discover-models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/flow/import/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/discover-models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/opencode/discover-models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/logs/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/quota-stream/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/routing-stream/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/content/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/page-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/provider-icons/[provider]/route-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-3fd3d1141471fe7d.js +1 -0
- package/cli/app/.next-cli-build/static/irN0Xw2r75K1uQTN_Q0Xt/_buildManifest.js +1 -0
- package/cli/app/CHANGELOG.md +21 -0
- package/cli/app/package.json +2 -1
- package/cli/package.json +1 -1
- package/package.json +2 -1
- package/scripts/gflow-reply-capture.py +328 -0
- package/cli/app/.next-cli-build/static/6BxpHYWafFD2nAI-i4lUw/_buildManifest.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/620-cd16b23a3e600312.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page-f769b7591eebddf5.js +0 -58
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/page-b182e3cb24f86f4b.js +0 -3
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/acs/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/metadata/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/start/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/saml/test/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/auth/status/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cache/stats/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/changelog/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-gateway/accounts/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/grok-build-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/omp-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/combos/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/bulk/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/context/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/chat/completions/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/cli-tools/keys/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/[operation]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/dashboard/media/videos/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/enable/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/extras/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/proxy/[...path]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/restart/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/start/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/status/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/headroom/stop/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/ready/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/health/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/init/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/keys/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/locale/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/metrics/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/alias/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/availability/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/custom/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/disabled/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/models/test/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/antigravity/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cloudflare-ai/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/bulk-token/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy/quota-cookie/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/bulk-token/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codebuddy-cn/quota-cookie/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/bulk-token/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/api-key/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import-cli-proxy/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/[jobId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/latest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/qoder/bulk-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pricing/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/bulk-delete/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/client/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/codebuddy/discover-models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/discover-models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/kiro/models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/opencode/discover-models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/providers/validate/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/health/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/install/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/logs/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/restart/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/start/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stats/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/status/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/pxpipe/stop/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/database/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/settings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/shutdown/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tags/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/setup/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/status/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/auth/unlock/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/input/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/resize/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/[id]/stream/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/terminal/session/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/load/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/save/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/send/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/translator/translate/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/aggregate/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/chart/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/history/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/logs/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/providers/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/quota-stream/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/routing-stream/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stats/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/usage/stream/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/messages/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/responses/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/search/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/[id]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/edits/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/extensions/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/videos/generations/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/api/version/update/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/page-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/provider-icons/[provider]/route-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-378a2e64adcc5f02.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-378a2e64adcc5f02.js +0 -1
- /package/cli/app/.next-cli-build/static/{6BxpHYWafFD2nAI-i4lUw → irN0Xw2r75K1uQTN_Q0Xt}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=7758,a.ids=[7758],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7499:(a,b,c)=>{"use strict";c.d(b,{lh:()=>f,nZ:()=>e});let d="123456";function e(){let a=String(process.env.INITIAL_PASSWORD||"").trim();return!!(a&&a!==d)}function f(a){let b=String(a??"").trim();return b.startsWith("INITIAL_PASSWORD=")&&(b=b.slice(17).trim()),b.length>=2&&(b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))&&(b=b.slice(1,-1)),b===(String(process.env.INITIAL_PASSWORD||"").trim()||d)}},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},8303:(a,b,c)=>{"use strict";c.d(b,{B3:()=>m,Gd:()=>n,im:()=>l,sv:()=>k});let d=[3e4,12e4,6e5,18e5],e="true"===String(process.env.TRUST_PROXY_HEADERS||"").trim().toLowerCase(),f=Math.max(1,Number.parseInt(process.env.TRUSTED_PROXY_HOPS||"1",10)||1),g="__untrusted__",h=new Map;function i(){return Date.now()}function j(a){let b=h.get(a);return b?b.lastFailAt&&i()-b.lastFailAt>36e5&&(!b.lockUntil||i()>=b.lockUntil)?(h.delete(a),null):b:null}function k(a){let b=j(a);if(!b||!b.lockUntil)return{locked:!1};let c=b.lockUntil-i();return c<=0?{locked:!1}:{locked:!0,retryAfter:Math.ceil(c/1e3)}}function l(a){let b=j(a)||{fails:0,lockUntil:0,lockLevel:0,lastFailAt:0};if(b.fails+=1,b.lastFailAt=i(),b.fails>=5){let a=d[Math.min(b.lockLevel,d.length-1)];b.lockUntil=i()+a,b.lockLevel+=1,b.fails=0}return h.has(a)||function(){if(h.size<1e4)return;let a=i();for(let[b,c]of h)(function(a,b=i()){return(!a.lockUntil||!(b<a.lockUntil))&&!!a.lastFailAt&&b-a.lastFailAt>36e5})(c,a)&&h.delete(b);if(h.size<1e4)return;let b=[...h.entries()].sort((a,b)=>(a[1].lockUntil||a[1].lastFailAt||0)-(b[1].lockUntil||b[1].lastFailAt||0));for(let a=0;a<1e3&&a<b.length;a++)h.delete(b[a][0])}(),h.set(a,b),{remainingBeforeLock:Math.max(0,5-b.fails)}}function m(a){h.delete(a)}function n(a,b){if(!b)throw Error("getClientBucket requires a scope");return`${b}:${function(a){if(!e)return g;let b=a.headers.get("x-forwarded-for");if(b){let a=b.split(",").map(a=>a.trim()).filter(Boolean);if(a.length>0){let b=Math.max(0,a.length-f),c=a[b];if(c)return c}}return a.headers.get("x-real-ip")?.trim()||g}(a)}`}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64898:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/login/route",pathname:"/api/auth/login",filename:"route",bundlePath:"app/api/auth/login/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/login/route.js",nextConfigOutput:"standalone",userland:()=>c(87644),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/login/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>r,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718);let n="openid profile email",o="Sign in with OIDC";function p(a){return(a||"").trim().replace(/\/+$/,"")}function q(a){return(a||n).trim()||n}function r(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return p(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return p(new URL(a.url).origin)}function s(a){return!!(p(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:p(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:q(a.oidcScopes),loginLabel:(a.oidcLoginLabel||o).trim()||o}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=p(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=n,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",q(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87644:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>m});var d=c(23211),e=c(89718),f=c(34013),g=c(65573),h=c(33792),i=c(77309),j=c(8303),k=c(7499);let l="Forgot password? Open ZevaiRouter CLI on the host → Settings → Reset Dashboard Password.";async function m(a){try{let b,c,m,n=(0,j.Gd)(a,"dashboard-login"),o=(0,j.sv)(n);if(o.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${o.retryAfter}s. ${l}`,retryAfter:o.retryAfter,resetHint:l},{status:429,headers:{"Retry-After":String(o.retryAfter)}});let{password:p}=await a.json(),q=await (0,e.mt)();if(b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),c=q.tunnelUrl?new URL(q.tunnelUrl).hostname.toLowerCase():"",m=q.tailscaleUrl?new URL(q.tailscaleUrl).hostname.toLowerCase():"",(c&&b===c||m&&b===m)&&!0!==q.tunnelDashboardAccess)return d.NextResponse.json({error:"Dashboard access via tunnel is disabled"},{status:403});let r=q.password;if("oidc"===q.authMode&&(0,i.EJ)(q))return d.NextResponse.json({error:"Password login is disabled. Use OIDC sign in."},{status:403});if(r?await f.Ay.compare(p,r):(0,k.lh)(p)){(0,j.B3)(n);let b=await (0,g.UL)();return await (0,h.tm)(b,a),d.NextResponse.json({success:!0})}let{remainingBeforeLock:s}=(0,j.im)(n),t=(0,j.sv)(n);if(t.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${t.retryAfter}s. ${l}`,retryAfter:t.retryAfter,resetHint:l},{status:429,headers:{"Retry-After":String(t.retryAfter)}});return d.NextResponse.json({error:`Invalid password. ${s} attempt(s) left before lockout.`,remainingBeforeLock:s},{status:401})}catch(a){return d.NextResponse.json({error:a.message},{status:500})}}},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,5577,3999],()=>b(b.s=64898));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=7758,a.ids=[7758],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7499:(a,b,c)=>{"use strict";c.d(b,{lh:()=>f,nZ:()=>e});let d="123456";function e(){let a=String(process.env.INITIAL_PASSWORD||"").trim();return!!(a&&a!==d)}function f(a){let b=String(a??"").trim();return b.startsWith("INITIAL_PASSWORD=")&&(b=b.slice(17).trim()),b.length>=2&&(b.startsWith('"')&&b.endsWith('"')||b.startsWith("'")&&b.endsWith("'"))&&(b=b.slice(1,-1)),b===(String(process.env.INITIAL_PASSWORD||"").trim()||d)}},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},8303:(a,b,c)=>{"use strict";c.d(b,{B3:()=>m,Gd:()=>n,im:()=>l,sv:()=>k});let d=[3e4,12e4,6e5,18e5],e="true"===String(process.env.TRUST_PROXY_HEADERS||"").trim().toLowerCase(),f=Math.max(1,Number.parseInt(process.env.TRUSTED_PROXY_HOPS||"1",10)||1),g="__untrusted__",h=new Map;function i(){return Date.now()}function j(a){let b=h.get(a);return b?b.lastFailAt&&i()-b.lastFailAt>36e5&&(!b.lockUntil||i()>=b.lockUntil)?(h.delete(a),null):b:null}function k(a){let b=j(a);if(!b||!b.lockUntil)return{locked:!1};let c=b.lockUntil-i();return c<=0?{locked:!1}:{locked:!0,retryAfter:Math.ceil(c/1e3)}}function l(a){let b=j(a)||{fails:0,lockUntil:0,lockLevel:0,lastFailAt:0};if(b.fails+=1,b.lastFailAt=i(),b.fails>=5){let a=d[Math.min(b.lockLevel,d.length-1)];b.lockUntil=i()+a,b.lockLevel+=1,b.fails=0}return h.has(a)||function(){if(h.size<1e4)return;let a=i();for(let[b,c]of h)(function(a,b=i()){return(!a.lockUntil||!(b<a.lockUntil))&&!!a.lastFailAt&&b-a.lastFailAt>36e5})(c,a)&&h.delete(b);if(h.size<1e4)return;let b=[...h.entries()].sort((a,b)=>(a[1].lockUntil||a[1].lastFailAt||0)-(b[1].lockUntil||b[1].lastFailAt||0));for(let a=0;a<1e3&&a<b.length;a++)h.delete(b[a][0])}(),h.set(a,b),{remainingBeforeLock:Math.max(0,5-b.fails)}}function m(a){h.delete(a)}function n(a,b){if(!b)throw Error("getClientBucket requires a scope");return`${b}:${function(a){if(!e)return g;let b=a.headers.get("x-forwarded-for");if(b){let a=b.split(",").map(a=>a.trim()).filter(Boolean);if(a.length>0){let b=Math.max(0,a.length-f),c=a[b];if(c)return c}}return a.headers.get("x-real-ip")?.trim()||g}(a)}`}},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},58175:(a,b,c)=>{"use strict";function d(a){return(a||"").trim().replace(/\/+$/,"")}function e(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return d(b);let c=(a?.headers?.get?.("x-forwarded-proto")||"").split(",")[0].trim(),e=(a?.headers?.get?.("x-forwarded-host")||"").split(",")[0].trim()||a?.headers?.get?.("host")||"";if(e){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return d(`${b}://${e}`)}return d(new URL(a.url).origin)}c.d(b,{i:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>n.i,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718),n=c(58175);let o="openid profile email",p="Sign in with OIDC";function q(a){return(a||"").trim().replace(/\/+$/,"")}function r(a){return(a||o).trim()||o}function s(a){return!!(q(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:q(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:r(a.oidcScopes),loginLabel:(a.oidcLoginLabel||p).trim()||p}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=q(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=o,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",r(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87644:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>m});var d=c(23211),e=c(89718),f=c(34013),g=c(65573),h=c(33792),i=c(77309),j=c(8303),k=c(7499);let l="Forgot password? Open ZevaiRouter CLI on the host → Settings → Reset Dashboard Password.";async function m(a){try{let b,c,m,n=(0,j.Gd)(a,"dashboard-login"),o=(0,j.sv)(n);if(o.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${o.retryAfter}s. ${l}`,retryAfter:o.retryAfter,resetHint:l},{status:429,headers:{"Retry-After":String(o.retryAfter)}});let{password:p}=await a.json(),q=await (0,e.mt)();if(b=(a.headers.get("host")||"").split(":")[0].toLowerCase(),c=q.tunnelUrl?new URL(q.tunnelUrl).hostname.toLowerCase():"",m=q.tailscaleUrl?new URL(q.tailscaleUrl).hostname.toLowerCase():"",(c&&b===c||m&&b===m)&&!0!==q.tunnelDashboardAccess)return d.NextResponse.json({error:"Dashboard access via tunnel is disabled"},{status:403});let r=q.password;if("oidc"===q.authMode&&(0,i.EJ)(q))return d.NextResponse.json({error:"Password login is disabled. Use OIDC sign in."},{status:403});if(r?await f.Ay.compare(p,r):(0,k.lh)(p)){(0,j.B3)(n);let b=await (0,g.UL)();return await (0,h.tm)(b,a),d.NextResponse.json({success:!0})}let{remainingBeforeLock:s}=(0,j.im)(n),t=(0,j.sv)(n);if(t.locked)return d.NextResponse.json({error:`Too many failed attempts. Try again in ${t.retryAfter}s. ${l}`,retryAfter:t.retryAfter,resetHint:l},{status:429,headers:{"Retry-After":String(t.retryAfter)}});return d.NextResponse.json({error:`Invalid password. ${s} attempt(s) left before lockout.`,remainingBeforeLock:s},{status:401})}catch(a){return d.NextResponse.json({error:a.message},{status:500})}}},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94335:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/login/route",pathname:"/api/auth/login",filename:"route",bundlePath:"app/api/auth/login/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/login/route.js",nextConfigOutput:"standalone",userland:()=>c(87644),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/login/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,5577,3999],()=>b(b.s=94335));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=8489,a.ids=[8489],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DATA_DIR:()=>m,getDataDir:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="zevai";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function l(){let a=process.env.DATA_DIR;if(!a)return k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}let m=l()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="zevai-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63616:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/logout/route",pathname:"/api/auth/logout",filename:"route",bundlePath:"app/api/auth/logout/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/logout/route.js",nextConfigOutput:"standalone",userland:()=>c(83723),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/logout/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79826:(a,b,c)=>{"use strict";c.d(b,{Mo:()=>r,TB:()=>t,lO:()=>u,wT:()=>v});var d=c(86935),e=c(69614),f=c(33792),g=c(54603),h=c(73024),i=c.n(h),j=c(76760),k=c.n(j),l=c(77598),m=c.n(l),n=c(49120);let o=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=k().join(n.DATA_DIR,"jwt-secret");try{return i().readFileSync(a,"utf8").trim()}catch{}i().mkdirSync(n.DATA_DIR,{recursive:!0});let b=m().randomBytes(32).toString("hex");return i().writeFileSync(a,b,{mode:384}),b}()),p="terminal_token";function q(a,b){return m().createHash("sha256").update(`${a}\0${b}`).digest("hex")}async function r(a){let b=a.headers.get("x-zevai-cli-token");if(b&&b===await (0,g.Xj)("zevai-cli-auth"))return q("cli",b);let c=a.cookies.get(p)?.value;if(await t(c))return q("terminal",c);let d=a.cookies.get("auth_token")?.value;return await (0,f.Dc)(d)?q("dashboard",d):null}async function s(){return new d.P({terminal:!0,scope:"web-shell"}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("4h").sign(o)}async function t(a){if(!a)return!1;try{let{payload:b}=await (0,e.V)(a,o);return b?.terminal===!0&&b?.scope==="web-shell"}catch{return!1}}async function u(a,b){let c=await s();a.set(p,c,{httpOnly:!0,secure:(0,f.YK)(b),sameSite:"lax",path:"/",maxAge:14400})}function v(a){a.delete(p)}},83723:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>h});var d=c(23211),e=c(65573),f=c(33792),g=c(79826);async function h(){let a=await (0,e.UL)();return(0,f.OZ)(a),(0,g.wT)(a),a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier"),d.NextResponse.json({success:!0})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,5573,2478],()=>b(b.s=63616));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=8489,a.ids=[8489],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27445:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/logout/route",pathname:"/api/auth/logout",filename:"route",bundlePath:"app/api/auth/logout/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/logout/route.js",nextConfigOutput:"standalone",userland:()=>c(83723),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/logout/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},49120:(a,b,c)=>{"use strict";c.r(b),c.d(b,{DATA_DIR:()=>m,getDataDir:()=>l});var d=c(73024),e=c.n(d),f=c(33873),g=c.n(f),h=c(21820),i=c.n(h);let j="zevai";function k(){return"win32"===process.platform?g().join(process.env.APPDATA||g().join(i().homedir(),"AppData","Roaming"),j):g().join(i().homedir(),`.${j}`)}function l(){let a=process.env.DATA_DIR;if(!a)return k();try{return e().mkdirSync(a,{recursive:!0}),a}catch(b){if(b?.code==="EACCES"||b?.code==="EPERM")return console.warn(`[DATA_DIR] '${a}' not writable → fallback ~/.${j}`),k();throw b}}let m=l()},54603:(a,b,c)=>{"use strict";c.d(b,{Xj:()=>q});var d=c(19713),e=c(73024),f=c.n(e),g=c(76760),h=c.n(g),i=c(77598),j=c.n(i),k=c(49120);let l=h().join(k.DATA_DIR,"machine-id"),m=h().join(k.DATA_DIR,"auth"),n=h().join(m,"cli-secret"),o=null,p=null;async function q(a=null){let b=a||process.env.MACHINE_ID_SALT||"endpoint-proxy-salt",c=function(){if(o)return o;try{if(o=f().readFileSync(l,"utf8").trim())return o}catch{}try{o=(0,d.machineIdSync)()}catch{o=j().randomUUID()}try{f().mkdirSync(k.DATA_DIR,{recursive:!0}),f().writeFileSync(l,o,{mode:384})}catch{}return o}(),e="zevai-cli-auth"===b?function(){if(p)return p;try{if(p=f().readFileSync(n,"utf8").trim())return p}catch{}p=j().randomBytes(32).toString("hex");try{f().mkdirSync(m,{recursive:!0}),f().writeFileSync(n,p,{mode:384})}catch{}return p}():"";return j().createHash("sha256").update(c+b+e).digest("hex").substring(0,16)}},55511:a=>{"use strict";a.exports=require("crypto")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},73024:a=>{"use strict";a.exports=require("node:fs")},76760:a=>{"use strict";a.exports=require("node:path")},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},79646:a=>{"use strict";a.exports=require("child_process")},79826:(a,b,c)=>{"use strict";c.d(b,{Mo:()=>r,TB:()=>t,lO:()=>u,wT:()=>v});var d=c(86935),e=c(69614),f=c(33792),g=c(54603),h=c(73024),i=c.n(h),j=c(76760),k=c.n(j),l=c(77598),m=c.n(l),n=c(49120);let o=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=k().join(n.DATA_DIR,"jwt-secret");try{return i().readFileSync(a,"utf8").trim()}catch{}i().mkdirSync(n.DATA_DIR,{recursive:!0});let b=m().randomBytes(32).toString("hex");return i().writeFileSync(a,b,{mode:384}),b}()),p="terminal_token";function q(a,b){return m().createHash("sha256").update(`${a}\0${b}`).digest("hex")}async function r(a){let b=a.headers.get("x-zevai-cli-token");if(b&&b===await (0,g.Xj)("zevai-cli-auth"))return q("cli",b);let c=a.cookies.get(p)?.value;if(await t(c))return q("terminal",c);let d=a.cookies.get("auth_token")?.value;return await (0,f.Dc)(d)?q("dashboard",d):null}async function s(){return new d.P({terminal:!0,scope:"web-shell"}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("4h").sign(o)}async function t(a){if(!a)return!1;try{let{payload:b}=await (0,e.V)(a,o);return b?.terminal===!0&&b?.scope==="web-shell"}catch{return!1}}async function u(a,b){let c=await s();a.set(p,c,{httpOnly:!0,secure:(0,f.YK)(b),sameSite:"lax",path:"/",maxAge:14400})}function v(a){a.delete(p)}},83723:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>h});var d=c(23211),e=c(65573),f=c(33792),g=c(79826);async function h(){let a=await (0,e.UL)();return(0,f.OZ)(a),(0,g.wT)(a),a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier"),d.NextResponse.json({success:!0})}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,6935,5573,2478],()=>b(b.s=27445));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=4674,a.ids=[2339,4674,4720],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},34932:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>i});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);function h(a){a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier")}async function i(a){let b=new URL(a.url),c=b.searchParams.get("error");if(c)return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(c)}`,(0,f.iw)(a)));let i=b.searchParams.get("code"),j=b.searchParams.get("state");if(!i||!j)return d.NextResponse.redirect(new URL("/login?error=oidc_missing_code",(0,f.iw)(a)));let k=await (0,e.UL)(),l=k.get("oidc_state")?.value,m=k.get("oidc_nonce")?.value,n=k.get("oidc_code_verifier")?.value;if(!l||!m||!n||l!==j)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_invalid_state",(0,f.iw)(a)));try{let b=await (0,f.Mj)();if(!b)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),e=c.issuer||b.issuerUrl,j=`${(0,f.iw)(a)}/api/auth/oidc/callback`,l=await (0,f.sP)({tokenEndpoint:c.token_endpoint,clientId:b.clientId,clientSecret:b.clientSecret,code:i,redirectUri:j,codeVerifier:n});if(!l.id_token)throw Error("OIDC provider did not return an id_token");let o=await (0,f.x8)({idToken:l.id_token,issuer:e,audience:b.clientId,jwksUri:c.jwks_uri,nonce:m});return h(k),await (0,g.tm)(k,a,{oidc:!0,oidcSub:o.sub||null,oidcEmail:(0,f.Rj)(o)||null,oidcName:(0,f.Ui)(o)}),d.NextResponse.redirect(new URL("/dashboard",(0,f.iw)(a)))}catch(b){return h(k),d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_callback_failed")}`,(0,f.iw)(a)))}}},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},72222:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/callback/route",pathname:"/api/auth/oidc/callback",filename:"route",bundlePath:"app/api/auth/oidc/callback/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/oidc/callback/route.js",nextConfigOutput:"standalone",userland:()=>c(34932),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/callback/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>r,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718);let n="openid profile email",o="Sign in with OIDC";function p(a){return(a||"").trim().replace(/\/+$/,"")}function q(a){return(a||n).trim()||n}function r(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return p(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return p(new URL(a.url).origin)}function s(a){return!!(p(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:p(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:q(a.oidcScopes),loginLabel:(a.oidcLoginLabel||o).trim()||o}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=p(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=n,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",q(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,3999],()=>b(b.s=72222));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=4674,a.ids=[2339,4674,4720],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},34932:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>i});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);function h(a){a.delete("oidc_state"),a.delete("oidc_nonce"),a.delete("oidc_code_verifier")}async function i(a){let b=new URL(a.url),c=b.searchParams.get("error");if(c)return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(c)}`,(0,f.iw)(a)));let i=b.searchParams.get("code"),j=b.searchParams.get("state");if(!i||!j)return d.NextResponse.redirect(new URL("/login?error=oidc_missing_code",(0,f.iw)(a)));let k=await (0,e.UL)(),l=k.get("oidc_state")?.value,m=k.get("oidc_nonce")?.value,n=k.get("oidc_code_verifier")?.value;if(!l||!m||!n||l!==j)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_invalid_state",(0,f.iw)(a)));try{let b=await (0,f.Mj)();if(!b)return h(k),d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),e=c.issuer||b.issuerUrl,j=`${(0,f.iw)(a)}/api/auth/oidc/callback`,l=await (0,f.sP)({tokenEndpoint:c.token_endpoint,clientId:b.clientId,clientSecret:b.clientSecret,code:i,redirectUri:j,codeVerifier:n});if(!l.id_token)throw Error("OIDC provider did not return an id_token");let o=await (0,f.x8)({idToken:l.id_token,issuer:e,audience:b.clientId,jwksUri:c.jwks_uri,nonce:m});return h(k),await (0,g.tm)(k,a,{oidc:!0,oidcSub:o.sub||null,oidcEmail:(0,f.Rj)(o)||null,oidcName:(0,f.Ui)(o)}),d.NextResponse.redirect(new URL("/dashboard",(0,f.iw)(a)))}catch(b){return h(k),d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_callback_failed")}`,(0,f.iw)(a)))}}},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},58175:(a,b,c)=>{"use strict";function d(a){return(a||"").trim().replace(/\/+$/,"")}function e(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return d(b);let c=(a?.headers?.get?.("x-forwarded-proto")||"").split(",")[0].trim(),e=(a?.headers?.get?.("x-forwarded-host")||"").split(",")[0].trim()||a?.headers?.get?.("host")||"";if(e){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return d(`${b}://${e}`)}return d(new URL(a.url).origin)}c.d(b,{i:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>n.i,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718),n=c(58175);let o="openid profile email",p="Sign in with OIDC";function q(a){return(a||"").trim().replace(/\/+$/,"")}function r(a){return(a||o).trim()||o}function s(a){return!!(q(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:q(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:r(a.oidcScopes),loginLabel:(a.oidcLoginLabel||p).trim()||p}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=q(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=o,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",r(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},89955:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/callback/route",pathname:"/api/auth/oidc/callback",filename:"route",bundlePath:"app/api/auth/oidc/callback/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/oidc/callback/route.js",nextConfigOutput:"standalone",userland:()=>c(34932),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/callback/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,3999],()=>b(b.s=89955));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=9709,a.ids=[2339,4720,9709],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},24503:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>h});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);async function h(a){try{let b=await (0,f.Mj)();if(!b)return d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),h=(0,f.Pf)(),i=(0,f.hT)(),{verifier:j,challenge:k}=(0,f.GY)(),l=`${(0,f.iw)(a)}/api/auth/oidc/callback`,m=(0,f.gR)({authorizationEndpoint:c.authorization_endpoint,clientId:b.clientId,redirectUri:l,scopes:b.scopes,state:h,nonce:i,codeChallenge:k}),n=await (0,e.UL)(),o={httpOnly:!0,secure:(0,g.YK)(a),sameSite:"lax",path:"/",maxAge:600};return n.set("oidc_state",h,o),n.set("oidc_nonce",i,o),n.set("oidc_code_verifier",j,o),d.NextResponse.redirect(m)}catch(b){return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_start_failed")}`,(0,f.iw)(a)))}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>r,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718);let n="openid profile email",o="Sign in with OIDC";function p(a){return(a||"").trim().replace(/\/+$/,"")}function q(a){return(a||n).trim()||n}function r(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return p(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return p(new URL(a.url).origin)}function s(a){return!!(p(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:p(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:q(a.oidcScopes),loginLabel:(a.oidcLoginLabel||o).trim()||o}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=p(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=n,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",q(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94732:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/start/route",pathname:"/api/auth/oidc/start",filename:"route",bundlePath:"app/api/auth/oidc/start/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/oidc/start/route.js",nextConfigOutput:"standalone",userland:()=>c(24503),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/start/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,3999],()=>b(b.s=94732));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=9709,a.ids=[2339,4720,9709],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},24503:(a,b,c)=>{"use strict";c.r(b),c.d(b,{GET:()=>h});var d=c(23211),e=c(65573),f=c(77309),g=c(33792);async function h(a){try{let b=await (0,f.Mj)();if(!b)return d.NextResponse.redirect(new URL("/login?error=oidc_not_configured",(0,f.iw)(a)));let c=await (0,f.Ir)(b.issuerUrl),h=(0,f.Pf)(),i=(0,f.hT)(),{verifier:j,challenge:k}=(0,f.GY)(),l=`${(0,f.iw)(a)}/api/auth/oidc/callback`,m=(0,f.gR)({authorizationEndpoint:c.authorization_endpoint,clientId:b.clientId,redirectUri:l,scopes:b.scopes,state:h,nonce:i,codeChallenge:k}),n=await (0,e.UL)(),o={httpOnly:!0,secure:(0,g.YK)(a),sameSite:"lax",path:"/",maxAge:600};return n.set("oidc_state",h,o),n.set("oidc_nonce",i,o),n.set("oidc_code_verifier",j,o),d.NextResponse.redirect(m)}catch(b){return d.NextResponse.redirect(new URL(`/login?error=${encodeURIComponent(b.message||"oidc_start_failed")}`,(0,f.iw)(a)))}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},58175:(a,b,c)=>{"use strict";function d(a){return(a||"").trim().replace(/\/+$/,"")}function e(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return d(b);let c=(a?.headers?.get?.("x-forwarded-proto")||"").split(",")[0].trim(),e=(a?.headers?.get?.("x-forwarded-host")||"").split(",")[0].trim()||a?.headers?.get?.("host")||"";if(e){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return d(`${b}://${e}`)}return d(new URL(a.url).origin)}c.d(b,{i:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>n.i,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718),n=c(58175);let o="openid profile email",p="Sign in with OIDC";function q(a){return(a||"").trim().replace(/\/+$/,"")}function r(a){return(a||o).trim()||o}function s(a){return!!(q(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:q(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:r(a.oidcScopes),loginLabel:(a.oidcLoginLabel||p).trim()||p}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=q(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=o,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",r(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},88377:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/start/route",pathname:"/api/auth/oidc/start",filename:"route",bundlePath:"app/api/auth/oidc/start/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/oidc/start/route.js",nextConfigOutput:"standalone",userland:()=>c(24503),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/start/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,3999],()=>b(b.s=88377));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=6091,a.ids=[2339,4720,6091],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4494:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/test/route",pathname:"/api/auth/oidc/test",filename:"route",bundlePath:"app/api/auth/oidc/test/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/oidc/test/route.js",nextConfigOutput:"standalone",userland:()=>c(55807),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/test/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55807:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>j});var d=c(23211),e=c(65573),f=c(89718),g=c(77309),h=c(33792);async function i(){if(!1===(await (0,f.mt)()).requireLogin)return!0;let a=await (0,e.UL)(),b=a.get("auth_token")?.value;return await (0,h.Dc)(b)}async function j(a){try{if(!await i())return d.NextResponse.json({error:"Unauthorized"},{status:401});let b=await a.json().catch(()=>({})),c=await (0,f.mt)(),e=String(b.issuerUrl||"").trim()||String(c.oidcIssuerUrl||"").trim(),h=String(b.clientId||c.oidcClientId||"").trim(),j=String(b.scopes||c.oidcScopes||"openid profile email").trim()||"openid profile email",k=e.replace(/\/+$/,"")===String(c.oidcIssuerUrl||"").trim().replace(/\/+$/,""),l=String(Object.prototype.hasOwnProperty.call(b,"clientSecret")?b.clientSecret:k&&c.oidcClientSecret||"").trim();if(!e)return d.NextResponse.json({error:"Issuer URL is required"},{status:400});if(!h)return d.NextResponse.json({error:"Client ID is required"},{status:400});let m=await (0,g.Ir)(e),n=`${(0,g.iw)(a)}/api/auth/oidc/callback`,o=await (0,g.HO)({tokenEndpoint:m.token_endpoint,clientId:h,clientSecret:l,redirectUri:n});if(o.tested&&!1===o.valid)return d.NextResponse.json({ok:!1,discoveryOk:!0,clientSecretTested:!0,clientSecretValid:!1,issuerUrl:e,clientId:h,scopes:j,redirectUri:n,authorizationEndpoint:m.authorization_endpoint||"",tokenEndpoint:m.token_endpoint||"",jwksUri:m.jwks_uri||"",error:`Discovery loaded, but the client secret is not valid: ${o.message}`});return d.NextResponse.json({ok:!0,discoveryOk:!0,clientSecretTested:o.tested,clientSecretValid:o.valid,issuerUrl:e,clientId:h,scopes:j,redirectUri:n,authorizationEndpoint:m.authorization_endpoint||"",tokenEndpoint:m.token_endpoint||"",jwksUri:m.jwks_uri||"",message:o.message})}catch(a){return d.NextResponse.json({error:a.message||"OIDC test failed"},{status:500})}}},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>r,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718);let n="openid profile email",o="Sign in with OIDC";function p(a){return(a||"").trim().replace(/\/+$/,"")}function q(a){return(a||n).trim()||n}function r(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return p(b);let c=a?.headers?.get?.("x-forwarded-proto")||"",d=a?.headers?.get?.("x-forwarded-host")||a?.headers?.get?.("host")||"";if(d){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return`${b}://${d}`.replace(/\/+$/,"")}return p(new URL(a.url).origin)}function s(a){return!!(p(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:p(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:q(a.oidcScopes),loginLabel:(a.oidcLoginLabel||o).trim()||o}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=p(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=n,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",q(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,3999],()=>b(b.s=4494));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=6091,a.ids=[2339,4720,6091],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},643:a=>{"use strict";a.exports=require("node:perf_hooks")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33792:(a,b,c)=>{"use strict";c.d(b,{Dc:()=>p,OZ:()=>s,YK:()=>n,dY:()=>q,tm:()=>r});var d=c(86935),e=c(69614),f=c(73024),g=c.n(f),h=c(76760),i=c.n(h),j=c(77598),k=c.n(j),l=c(49120);let m=new TextEncoder().encode(function(){if(process.env.JWT_SECRET)return process.env.JWT_SECRET;let a=i().join(l.DATA_DIR,"jwt-secret");try{return g().readFileSync(a,"utf8").trim()}catch{}g().mkdirSync(l.DATA_DIR,{recursive:!0});let b=k().randomBytes(32).toString("hex");return g().writeFileSync(a,b,{mode:384}),b}());function n(a){let b="true"===process.env.AUTH_COOKIE_SECURE,c=a?.headers?.get?.("x-forwarded-proto");return b||"https"===c}async function o(a={}){return new d.P({authenticated:!0,...a}).setProtectedHeader({alg:"HS256"}).setIssuedAt().setExpirationTime("86400s").sign(m)}async function p(a){return await q(a)!==null}async function q(a){if(!a)return null;try{let{payload:b}=await (0,e.V)(a,m);if(b?.authenticated!==!0)return null;return b}catch{return null}}async function r(a,b,c={}){let d=await o(c);a.set("auth_token",d,{httpOnly:!0,secure:n(b),sameSite:"lax",path:"/",maxAge:86400})}function s(a){a.delete("auth_token")}},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},37830:a=>{"use strict";a.exports=require("node:stream/web")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},43379:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>A,patchFetch:()=>z,routeModule:()=>v,serverHooks:()=>y,workAsyncStorage:()=>w,workUnitAsyncStorage:()=>x});var d=c(19225),e=c(84006),f=c(8317),g=c(99373),h=c(34775),i=c(24235),j=c(261),k=c(54365),l=c(90771),m=c(73461),n=c(67798),o=c(92280),p=c(62018),q=c(45696),r=c(47929),s=c(86439),t=c(10246),u=c(37527);let v=new d.AppRouteRouteModule({definition:{kind:e.RouteKind.APP_ROUTE,page:"/api/auth/oidc/test/route",pathname:"/api/auth/oidc/test",filename:"route",bundlePath:"app/api/auth/oidc/test/route"},distDir:".next-cli-build",relativeProjectDir:"",resolvedPagePath:"/zevairouter-build/src/app/api/auth/oidc/test/route.js",nextConfigOutput:"standalone",userland:()=>c(55807),...{}}),{workAsyncStorage:w,workUnitAsyncStorage:x,serverHooks:y}=v;function z(){return(0,f.patchFetch)({workAsyncStorage:w,workUnitAsyncStorage:x})}async function A(a,b,c){c.requestMeta&&(0,g.setRequestMeta)(a,c.requestMeta),v.isDev&&(0,g.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/oidc/test/route";"/index"===d&&(d="/");let f=await v.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!f)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:w,deploymentId:x,params:y,nextConfig:z,parsedUrl:A,isDraftMode:B,prerenderManifest:C,routerServerContext:D,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,resolvedPathname:G,clientReferenceManifest:H,serverActionsManifest:I,previewProps:J}=f,K=(0,j.normalizeAppPath)(d),L=!!C.routes[G]&&(v.isDev||(0,t.isRouteCacheOwner)(G,v.cacheOwner,C.routes[G])),M=!!(C.dynamicRoutes[K]||L),N=async()=>((null==D?void 0:D.render404)?await D.render404(a,b,A,!1):b.end("This page could not be found"),null);if(M&&!B){let a=C.dynamicRoutes[K];if(a&&!1===a.fallback&&!L){if(z.adapterPath)return await N();throw new s.NoFallbackError}}let O=null;!M||v.isDev||B||(O="/index"===(O=G)?"/":O),I&&H&&(0,i.setManifestsSingleton)({page:d,clientReferenceManifest:H,serverActionsManifest:I});let P=a.method||"GET",Q=(0,h.getTracer)(),R=Q.getActiveScopeSpan(),S=!!(null==D?void 0:D.isWrappedByNextServer),T=!!(0,g.getRequestMeta)(a,"minimalMode"),U=(0,g.getRequestMeta)(a,"incrementalCache")||await v.getIncrementalCache(a,z,J,C,T);null==U||U.resetRequestCache(),globalThis.__incrementalCache=U;let V={params:y,previewProps:J,renderOpts:{experimental:{authInterrupts:!!z.experimental.authInterrupts,useCacheTimeout:z.experimental.useCacheTimeout,durableUseCacheEntries:!!z.experimental.durableUseCacheEntries},cacheComponents:!!z.cacheComponents,validationLevel:z.experimental.instantInsights.validationLevel,isDraftMode:B,incrementalCache:U,hmrRefreshHash:(0,g.getRequestMeta)(a,"hmrRefreshHash"),cacheLifeProfiles:z.cacheLife,staticPageGenerationTimeout:z.staticPageGenerationTimeout,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0},sharedContext:{buildId:w,deploymentId:x}},W=new k.NodeNextRequest(a),X=new k.NodeNextResponse(b),Y=l.NextRequestAdapter.fromNodeNextRequest(W,(0,l.signalFromNodeResponse)(b)),Z=async({previousCacheEntry:e})=>{try{if(!T&&E&&F&&!e)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=null===O?await v.handle(Y,V):await v.prerender(Y,V);a.fetchMetrics=V.renderOpts.fetchMetrics;let f=V.renderOpts.pendingWaitUntil;f&&c.waitUntil&&(c.waitUntil(f),f=void 0);let g=V.renderOpts.collectedTags;if(!M)return await (0,o.I)(W,X,d,f),null;{let a=await d.blob(),b=(0,p.toNodeOutgoingHttpHeaders)(d.headers);g&&(b[r.NEXT_CACHE_TAGS_HEADER]=g),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==V.renderOpts.collectedRevalidate&&!(V.renderOpts.collectedRevalidate>=r.INFINITE_CACHE)&&V.renderOpts.collectedRevalidate,e=void 0===V.renderOpts.collectedExpire||V.renderOpts.collectedExpire>=r.INFINITE_CACHE?!1!==c&&c>0?z.expireTime:void 0:V.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==e?void 0:e.isStale)&&await v.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),b}},$=async(d,f)=>{try{var g,i;let d=await v.handleResponse({req:a,nextConfig:z,cacheKey:O,routeKind:e.RouteKind.APP_ROUTE,isFallback:!1,previewProps:J,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:E,revalidateOnlyGenerated:F,responseGenerator:Z,waitUntil:c.waitUntil,isMinimalMode:T});if(null!==d&&"error"in d)throw d.error;if(!M)return;if((null==d||null==(g=d.value)?void 0:g.kind)!==u.CachedRouteKind.APP_ROUTE)throw Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`);T||b.setHeader("x-nextjs-cache",E?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),B&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let f=(0,p.fromNodeOutgoingHttpHeaders)(d.value.headers);T&&M||f.delete(r.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||b.getHeader("Cache-Control")||f.get("Cache-Control")||f.set("Cache-Control",(0,q.getCacheControlHeader)(d.cacheControl)),await (0,o.I)(W,X,new Response(d.value.body,{headers:f,status:d.value.status||200}));return}catch(c){if(c instanceof s.NoFallbackError||await v.onRequestError(a,c,{routerKind:"App Router",routePath:K,routeType:"route",revalidateReason:(0,n.getRevalidateReason)({isStaticGeneration:null!==O,isOnDemandRevalidate:E})},!1,D),M)throw c;if(b.headersSent){if(d){let a=c instanceof Error?c:Error("Unknown app route error");d.recordException(a),d.setStatus({code:h.SpanStatusCode.ERROR,message:a.message}),d.setAttribute("error.type",a.name)}b.writableEnded||b.destroyed||b.end()}else await (0,o.I)(W,X,new Response(null,{status:500}));return}finally{(()=>{if(!d)return;let a=b.statusCode;d.setAttributes({"http.status_code":a,"next.rsc":!1}),a&&a>=500&&(d.setStatus({code:h.SpanStatusCode.ERROR}),d.setAttribute("error.type",a.toString()));let c=Q.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==m.BaseServerSpan.handleRequest)return console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let e=c.get("next.route")||K,g=`${P} ${e}`;d.setAttributes({"next.route":e,"http.route":e,"next.span_name":g}),d.updateName(g),f&&f!==d&&(f.setAttribute("http.route",e),f.updateName(g))})()}};if(S&&R)await $(R,void 0);else{let b=Q.getActiveScopeSpan();await Q.withPropagatedContext(a.headers,()=>Q.trace(m.BaseServerSpan.handleRequest,{spanName:`${P} ${d}`,kind:h.SpanKind.SERVER,attributes:{"http.method":P,"http.target":a.url}},a=>$(a,b)),void 0,!S)}}},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},46293:a=>{"use strict";a.exports=require("sql.js")},47293:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16);var e=c(50122);let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return(0,e.k)(f)}(a,b,c):crypto.randomUUID()}},48161:a=>{"use strict";a.exports=require("node:os")},50122:(a,b,c)=>{"use strict";c.d(b,{k:()=>e});let d=[];for(let a=0;a<256;++a)d.push((a+256).toString(16).slice(1));function e(a,b=0){return(d[a[b+0]]+d[a[b+1]]+d[a[b+2]]+d[a[b+3]]+"-"+d[a[b+4]]+d[a[b+5]]+"-"+d[a[b+6]]+d[a[b+7]]+"-"+d[a[b+8]]+d[a[b+9]]+"-"+d[a[b+10]]+d[a[b+11]]+d[a[b+12]]+d[a[b+13]]+d[a[b+14]]+d[a[b+15]]).toLowerCase()}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55807:(a,b,c)=>{"use strict";c.r(b),c.d(b,{POST:()=>j});var d=c(23211),e=c(65573),f=c(89718),g=c(77309),h=c(33792);async function i(){if(!1===(await (0,f.mt)()).requireLogin)return!0;let a=await (0,e.UL)(),b=a.get("auth_token")?.value;return await (0,h.Dc)(b)}async function j(a){try{if(!await i())return d.NextResponse.json({error:"Unauthorized"},{status:401});let b=await a.json().catch(()=>({})),c=await (0,f.mt)(),e=String(b.issuerUrl||"").trim()||String(c.oidcIssuerUrl||"").trim(),h=String(b.clientId||c.oidcClientId||"").trim(),j=String(b.scopes||c.oidcScopes||"openid profile email").trim()||"openid profile email",k=e.replace(/\/+$/,"")===String(c.oidcIssuerUrl||"").trim().replace(/\/+$/,""),l=String(Object.prototype.hasOwnProperty.call(b,"clientSecret")?b.clientSecret:k&&c.oidcClientSecret||"").trim();if(!e)return d.NextResponse.json({error:"Issuer URL is required"},{status:400});if(!h)return d.NextResponse.json({error:"Client ID is required"},{status:400});let m=await (0,g.Ir)(e),n=`${(0,g.iw)(a)}/api/auth/oidc/callback`,o=await (0,g.HO)({tokenEndpoint:m.token_endpoint,clientId:h,clientSecret:l,redirectUri:n});if(o.tested&&!1===o.valid)return d.NextResponse.json({ok:!1,discoveryOk:!0,clientSecretTested:!0,clientSecretValid:!1,issuerUrl:e,clientId:h,scopes:j,redirectUri:n,authorizationEndpoint:m.authorization_endpoint||"",tokenEndpoint:m.token_endpoint||"",jwksUri:m.jwks_uri||"",error:`Discovery loaded, but the client secret is not valid: ${o.message}`});return d.NextResponse.json({ok:!0,discoveryOk:!0,clientSecretTested:o.tested,clientSecretValid:o.valid,issuerUrl:e,clientId:h,scopes:j,redirectUri:n,authorizationEndpoint:m.authorization_endpoint||"",tokenEndpoint:m.token_endpoint||"",jwksUri:m.jwks_uri||"",message:o.message})}catch(a){return d.NextResponse.json({error:a.message||"OIDC test failed"},{status:500})}}},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},58175:(a,b,c)=>{"use strict";function d(a){return(a||"").trim().replace(/\/+$/,"")}function e(a){let b=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||"";if(b)return d(b);let c=(a?.headers?.get?.("x-forwarded-proto")||"").split(",")[0].trim(),e=(a?.headers?.get?.("x-forwarded-host")||"").split(",")[0].trim()||a?.headers?.get?.("host")||"";if(e){let b=(c||new URL(a.url).protocol||"http:").replace(/:$/,"");return d(`${b}://${e}`)}return d(new URL(a.url).origin)}c.d(b,{i:()=>e})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},71553:a=>{"use strict";a.exports=require("node:dns/promises")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77309:(a,b,c)=>{"use strict";c.d(b,{EJ:()=>s,GY:()=>y,HO:()=>D,Ir:()=>x,Mj:()=>t,Pf:()=>z,Rj:()=>G,Ui:()=>F,gR:()=>B,hT:()=>A,iw:()=>n.i,sP:()=>C,x8:()=>E});var d=c(77598),e=c.n(d),f=c(71553),g=c.n(f),h=c(77030),i=c.n(h),j=c(37221),k=c(69614),l=c(47774),m=c(89718),n=c(58175);let o="openid profile email",p="Sign in with OIDC";function q(a){return(a||"").trim().replace(/\/+$/,"")}function r(a){return(a||o).trim()||o}function s(a){return!!(q(a?.oidcIssuerUrl)&&(a?.oidcClientId||"").trim()&&(a?.oidcClientSecret||"").trim())}async function t(){let a=await (0,m.mt)();return["oidc","both"].includes(a.authMode)&&s(a)?{issuerUrl:q(a.oidcIssuerUrl),clientId:a.oidcClientId.trim(),clientSecret:a.oidcClientSecret.trim(),scopes:r(a.oidcScopes),loginLabel:(a.oidcLoginLabel||p).trim()||p}:null}function u(a,b){let c=new URL(a);if("https:"!==c.protocol||c.username||c.password||b&&c.origin!==b)throw Error("OIDC endpoints must use HTTPS on the issuer origin");return c}async function v(a,b){let c=u(a,b),d=await g().lookup(c.hostname,{all:!0});if(!d.length||d.some(({address:a})=>(function(a){let b=a.toLowerCase().replace(/^::ffff:/,"");if(i().isIPv4(b)){let[a,c]=b.split(".").map(Number);return 0===a||10===a||127===a||169===a&&254===c||172===a&&c>=16&&c<=31||192===a&&168===c}return"::"===b||"::1"===b||b.startsWith("fc")||b.startsWith("fd")||/^fe[89ab]/.test(b)})(a)))throw Error("OIDC endpoints must resolve to public addresses");let e=0;return{url:c,dispatcher:new l.g6({connect:{lookup(a,b,c){let f=d.filter(({family:a})=>!b.family||a===b.family);if(b.all)return void c(null,f.length?f:d);let g=f[e++%f.length]||d[0];c(null,g.address,g.family)}}})}}async function w(a,b={},c){let{url:d,dispatcher:e}=await v(a,c);try{return await (0,l.hd)(d,{...b,redirect:"error",dispatcher:e})}finally{await e.close()}}async function x(a){let b=q(a),c=u(b),d=`${b}/.well-known/openid-configuration`,e=await w(d,{cache:"no-store"});if(!e.ok)throw Error(`Failed to load OIDC discovery document from ${d}`);let f=await e.json();if(!f.authorization_endpoint||!f.token_endpoint||!f.jwks_uri)throw Error("OIDC discovery response is missing required endpoints");return await Promise.all([v(f.authorization_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.token_endpoint,c.origin).then(({dispatcher:a})=>a.close()),v(f.jwks_uri,c.origin).then(({dispatcher:a})=>a.close())]),f}function y(){let a=e().randomBytes(32).toString("base64url"),b=e().createHash("sha256").update(a).digest("base64url");return{verifier:a,challenge:b}}function z(){return e().randomBytes(16).toString("base64url")}function A(){return e().randomBytes(16).toString("base64url")}function B({authorizationEndpoint:a,clientId:b,redirectUri:c,scopes:d=o,state:e,nonce:f,codeChallenge:g}){let h=new URL(a);return h.searchParams.set("response_type","code"),h.searchParams.set("client_id",b),h.searchParams.set("redirect_uri",c),h.searchParams.set("scope",r(d)),h.searchParams.set("state",e),h.searchParams.set("nonce",f),h.searchParams.set("code_challenge",g),h.searchParams.set("code_challenge_method","S256"),h.toString()}async function C({tokenEndpoint:a,clientId:b,clientSecret:c,code:d,redirectUri:e,codeVerifier:f}){let g=new URLSearchParams({grant_type:"authorization_code",client_id:b,code:d,redirect_uri:e,code_verifier:f});c&&g.set("client_secret",c);let h=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:g}),i=await h.json().catch(()=>({}));if(!h.ok)throw Error(i?.error_description||i?.error||`OIDC token exchange failed (${h.status})`);return i}async function D({tokenEndpoint:a,clientId:b,clientSecret:c,redirectUri:d}){if(!c)return{tested:!1,valid:null,message:"No client secret was provided, so secret validation was skipped."};let e=new URLSearchParams({grant_type:"authorization_code",client_id:b,client_secret:c,code:"__oidc_test_invalid_code__",redirect_uri:d,code_verifier:"__oidc_test_invalid_verifier__"}),f=await w(a,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded"},body:e}),g=await f.json().catch(()=>({})),h=(g?.error||"").toLowerCase(),i=g?.error_description||g?.error||"";return f.ok?{tested:!0,valid:!0,message:"Client secret was accepted by the token endpoint.",raw:g}:"invalid_client"===h||"unauthorized_client"===h||/client.*(invalid|failed|mismatch)/i.test(i)?{tested:!0,valid:!1,message:i||"Client secret is not valid.",raw:g}:"invalid_grant"===h||"invalid_code"===h||/grant|code/i.test(i)?{tested:!0,valid:!0,message:"Client secret was accepted; the token exchange failed only because the test authorization code is invalid.",raw:g}:{tested:!0,valid:null,message:i||`Token endpoint responded with ${f.status}`,raw:g}}async function E({idToken:a,issuer:b,audience:c,jwksUri:d,nonce:e}){let f=(0,j.RD)(new URL(d),{[j.A6]:(a,b)=>w(a,b)}),{payload:g}=await (0,k.V)(a,f,{issuer:b,audience:c,nonce:e});return g}function F(a={}){return a.preferred_username||a.email||a.name||a.given_name||a.sub||"OIDC user"}function G(a={}){return a.email||""}},77598:a=>{"use strict";a.exports=require("node:crypto")},78335:()=>{},78474:a=>{"use strict";a.exports=require("node:events")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},89718:(a,b,c)=>{"use strict";c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,Iu:()=>d.Iu,K1:()=>d.K1,KJ:()=>d.KJ,KK:()=>d.KK,Kg:()=>d.Kg,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,ME:()=>d.ME,Mc:()=>d.Mc,NR:()=>d.NR,Op:()=>d.Op,PX:()=>d.PX,Pb:()=>d.Pb,Pc:()=>d.Pc,QI:()=>d.QI,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,dK:()=>d.dK,deleteModelAlias:()=>d.fv,ek:()=>d.ek,fK:()=>d.fK,getModelAliases:()=>d.OM,getProviderConnections:()=>d.P,getQuotaSnapshot:()=>d.LF,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,p3:()=>d.p3,qd:()=>d.qd,r4:()=>d.r4,tV:()=>d.tV,uH:()=>d.uH,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yW:()=>d.yW,yg:()=>d.yg,zP:()=>d.zP,zY:()=>d.zY});var d=c(93999)},94735:a=>{"use strict";a.exports=require("events")},96487:()=>{}};var b=require("../../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[2970,1813,7774,6935,5573,4306,3999],()=>b(b.s=43379));module.exports=c})();
|