n9router 0.3.90 → 0.3.93
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/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +3 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/routes-manifest.json +18 -0
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/antigravity-tools/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js +11 -0
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/antigravity-tools/import-refresh-tokens/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/auth/login/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/.next/standalone/.next/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cloud/auth/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cloud/credentials/update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cloud/model/resolve/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/cloud/models/alias/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/combos/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/init/route.js +1 -1
- package/.next/standalone/.next/server/app/api/init/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/internal/request-detail/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/internal/request-detail/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/internal/request-detail/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/internal/request-detail/route.js +8 -0
- package/.next/standalone/.next/server/app/api/internal/request-detail/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/internal/request-detail/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/internal/request-detail/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route/build-manifest.json +9 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route.js +8 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/internal/usage/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/keys/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/models/alias/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/models/availability/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/models/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/models/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/.next/standalone/.next/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/.next/standalone/.next/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/pricing/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/[id]/models/route.js +4 -4
- package/.next/standalone/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/client/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/database/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/translator/send/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/history/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/api/chat/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/chat/completions/route.js +4 -4
- package/.next/standalone/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/embeddings/route.js +4 -4
- package/.next/standalone/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/messages/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/models/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1/responses/route.js +2 -2
- package/.next/standalone/.next/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route.js +3 -3
- package/.next/standalone/.next/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/version/route.js +2 -2
- package/.next/standalone/.next/server/app/callback/page.js +1 -1
- package/.next/standalone/.next/server/app/callback/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/callback.html +1 -1
- package/.next/standalone/.next/server/app/callback.rsc +13 -13
- package/.next/standalone/.next/server/app/callback.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/callback.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/callback.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/callback.segments/callback.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/basic-chat.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/cli-tools.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/cli-tools.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/combos.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/combos.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/endpoint.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/endpoint.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/mitm.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/mitm.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/profile.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/profile.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/providers/new.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/providers/new.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/providers.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/providers.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/quota.html +2 -2
- package/.next/standalone/.next/server/app/dashboard/quota.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/settings/pricing/page.js +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/translator.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/translator.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard/usage.html +1 -1
- package/.next/standalone/.next/server/app/dashboard/usage.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_full.segment.rsc +15 -15
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/dashboard.html +1 -1
- package/.next/standalone/.next/server/app/dashboard.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard.segments/_full.segment.rsc +14 -14
- package/.next/standalone/.next/server/app/dashboard.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/dashboard.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/landing/page.js +1 -1
- package/.next/standalone/.next/server/app/landing/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/landing.html +1 -1
- package/.next/standalone/.next/server/app/landing.rsc +13 -13
- package/.next/standalone/.next/server/app/landing.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/landing.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/landing.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/landing.segments/landing.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/login/page.js +1 -1
- package/.next/standalone/.next/server/app/login/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/login.html +1 -1
- package/.next/standalone/.next/server/app/login.rsc +13 -13
- package/.next/standalone/.next/server/app/login.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/login.segments/_head.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/_index.segment.rsc +6 -6
- package/.next/standalone/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/.next/standalone/.next/server/app/login.segments/login.segment.rsc +3 -3
- package/.next/standalone/.next/server/app/page.js +1 -1
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/chunks/0zjb_server_app_api_antigravity-tools_import-refresh-tokens_route_actions_0jn9smo.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-7rakw._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0.yvcis._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0148t9m._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__01rpshu._.js +3 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0d5yskq._.js → [root-of-the-server]__04phkrb._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__053j5al._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__067b5fv._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09pq~46._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__09u3y1w._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0jh1if9._.js → [root-of-the-server]__0_8qd4-._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__00d92lv._.js → [root-of-the-server]__0_qom9~._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0azf4gz._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b56uvi._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b802lh._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0bcktr4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cix-zv._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0g.slg5._.js → [root-of-the-server]__0e27kvj._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0gglkh-._.js +4 -0
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0sr3x1r._.js → [root-of-the-server]__0gicxvd._.js} +2 -2
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0a872qj._.js → [root-of-the-server]__0i_45tv._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0inxxu0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ju9vfb._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0kpc-o6._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lc~.sk._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0lp_pm5._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0m.zwk_._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__0vccex-._.js → [root-of-the-server]__0mcgcwu._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0pwrfp1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0r6q4qf._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0szv.g3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uw3x8s._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0vbd~f-._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y.reft._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0y5ae.7._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0__-aqg._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0_ovl1h._.js +3 -0
- package/.next/standalone/.next/server/chunks/{_0fqqr7l._.js → _0vq-0-m._.js} +2 -2
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_internal_request-detail_route_actions_0l0f~.x.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_internal_usage_route_actions_058gklf.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0kjg_-d._.js → [root-of-the-server]__13ps.wr._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_0x_me2y._.js → _04v6e-j._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0c8m5sm._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_0fd4.es._.js +5 -0
- package/.next/standalone/.next/server/chunks/ssr/_13z1.b_._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_0_xhepz._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_providers_[id]_page_0-3xvzc.js +4 -1
- package/.next/standalone/.next/server/chunks/ssr/src_app_(dashboard)_dashboard_usage_page_0fz7awb.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/src_shared_constants_cliTools_09iru_o.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/static/chunks/0-rta-yheghf7.js +1 -0
- package/.next/standalone/.next/static/chunks/{0~p0472sbmye6.js → 0deg-_syv13xx.js} +1 -1
- package/.next/standalone/.next/static/chunks/0h~4je-_gk7-5.css +1 -0
- package/.next/standalone/.next/static/chunks/{17~_6lx17xr8z.js → 0j6650zqytl.z.js} +1 -1
- package/.next/standalone/.next/static/chunks/{0pwbnjvdm7lt_.js → 0lqwk82lneihh.js} +2 -2
- package/.next/standalone/.next/static/chunks/{148_2lu2ra629.js → 11jq77q6zkl40.js} +1 -1
- package/.next/standalone/.next/static/chunks/127zo11qzv8-9.js +4 -0
- package/.next/{static/chunks/06l6ck_q1o~m9.js → standalone/.next/static/chunks/16r2wq4pvci67.js} +1 -1
- package/.next/standalone/AGENTS.md +136 -0
- package/.next/standalone/docs/token_swap.png +0 -0
- package/.next/standalone/docs/token_swap_guide.md +21 -0
- package/.next/standalone/mitm/server.js +51 -5
- package/.next/standalone/mitm/usageTracker.js +524 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/src/app/(dashboard)/dashboard/providers/[id]/page.js +123 -8
- package/.next/standalone/src/app/(dashboard)/dashboard/usage/components/RequestDetailsTab.js +13 -2
- package/.next/standalone/src/app/api/antigravity-tools/import-refresh-tokens/route.js +218 -0
- package/.next/standalone/src/app/api/internal/request-detail/route.js +45 -0
- package/.next/standalone/src/app/api/internal/usage/route.js +59 -0
- package/.next/standalone/src/mitm/server.js +51 -5
- package/.next/standalone/src/mitm/usageTracker.js +524 -0
- package/.next/static/chunks/0-rta-yheghf7.js +1 -0
- package/.next/static/chunks/{0~p0472sbmye6.js → 0deg-_syv13xx.js} +1 -1
- package/.next/static/chunks/0h~4je-_gk7-5.css +1 -0
- package/.next/static/chunks/{17~_6lx17xr8z.js → 0j6650zqytl.z.js} +1 -1
- package/.next/static/chunks/{0pwbnjvdm7lt_.js → 0lqwk82lneihh.js} +2 -2
- package/.next/static/chunks/{148_2lu2ra629.js → 11jq77q6zkl40.js} +1 -1
- package/.next/static/chunks/127zo11qzv8-9.js +4 -0
- package/.next/{standalone/.next/static/chunks/06l6ck_q1o~m9.js → static/chunks/16r2wq4pvci67.js} +1 -1
- package/package.json +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__081rpq_._.js +0 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0b7zcdl._.js +0 -3
- package/.next/standalone/.next/server/chunks/_019vwuu._.js +0 -3
- package/.next/standalone/.next/static/chunks/026p3rpdycbyo.css +0 -1
- package/.next/standalone/.next/static/chunks/0b285gqd-hcvu.js +0 -1
- package/.next/standalone/.next/static/chunks/121._9x_i3s-~.js +0 -1
- package/.next/static/chunks/026p3rpdycbyo.css +0 -1
- package/.next/static/chunks/0b285gqd-hcvu.js +0 -1
- package/.next/static/chunks/121._9x_i3s-~.js +0 -1
- /package/.next/standalone/.next/static/{eALv8q_pKhx9-bE-9KiDB → b_Drjo0YdAiFCInKT62q9}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{eALv8q_pKhx9-bE-9KiDB → b_Drjo0YdAiFCInKT62q9}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{eALv8q_pKhx9-bE-9KiDB → b_Drjo0YdAiFCInKT62q9}/_ssgManifest.js +0 -0
- /package/.next/static/{eALv8q_pKhx9-bE-9KiDB → b_Drjo0YdAiFCInKT62q9}/_buildManifest.js +0 -0
- /package/.next/static/{eALv8q_pKhx9-bE-9KiDB → b_Drjo0YdAiFCInKT62q9}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{eALv8q_pKhx9-bE-9KiDB → b_Drjo0YdAiFCInKT62q9}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function w(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{w().catch(()=>{}),x=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}let R=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await w()};i||(process.off("beforeExit",R),process.off("SIGINT",R),process.off("SIGTERM",R),process.off("exit",R),process.on("beforeExit",R),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",R)),e.s(["getRequestDetails",0,g,"saveRequestDetail",0,v])},74913,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);async function R(){try{let e=await (0,g.getRecentLogs)(200);return v.NextResponse.json(e)}catch(e){return console.error("[API ERROR] /api/usage/logs failed:",e),console.error("[API ERROR] Stack:",e?.stack),v.NextResponse.json({error:"Failed to fetch logs"},{status:500})}}e.s(["GET",0,R],69227);var y=e.i(69227);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/request-logs/route",pathname:"/api/usage/request-logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/request-logs/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/request-logs/route";v=v.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:E,parsedUrl:b,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:D,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:O}=g,C=(0,o.normalizeAppPath)(v),k=!!(q.dynamicRoutes[C]||q.routes[_]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(k&&!I){let e=!!q.routes[_],t=q.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!k||S.isDev||I||(j="/index"===(j=_)?"/":j);let M=!0===S.isDev||!k,B=k&&!M;O&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:O});let L=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),U=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,E,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&D&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:T})},!1,A),t}},d=await S.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!k)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&k||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};U&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:T})},!1,A),k)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:b})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],74913)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0axn-d6._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
1
|
+
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function w(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{w().catch(()=>{}),x=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}async function R(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let y=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await w()};i||(process.off("beforeExit",y),process.off("SIGINT",y),process.off("SIGTERM",y),process.off("exit",y),process.on("beforeExit",y),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",y)),e.s(["getRequestDetailById",0,R,"getRequestDetails",0,g,"saveRequestDetail",0,v])},74913,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);async function R(){try{let e=await (0,g.getRecentLogs)(200);return v.NextResponse.json(e)}catch(e){return console.error("[API ERROR] /api/usage/logs failed:",e),console.error("[API ERROR] Stack:",e?.stack),v.NextResponse.json({error:"Failed to fetch logs"},{status:500})}}e.s(["GET",0,R],69227);var y=e.i(69227);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/request-logs/route",pathname:"/api/usage/request-logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/request-logs/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/request-logs/route";v=v.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:E,parsedUrl:b,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:O}=g,C=(0,o.normalizeAppPath)(v),k=!!(q.dynamicRoutes[C]||q.routes[_]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(k&&!I){let e=!!q.routes[_],t=q.dynamicRoutes[C];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!k||S.isDev||I||(j="/index"===(j=_)?"/":j);let M=!0===S.isDev||!k,B=k&&!M;O&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:O});let L=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),U=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,E,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),t}},d=await S.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!k)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&k||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};U&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:C,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),k)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:b})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],74913)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0axn-d6._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__053j5al._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[66680,(e,r,s)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},24361,(e,r,s)=>{r.exports=e.x("util",()=>require("util"))},88947,(e,r,s)=>{r.exports=e.x("stream",()=>require("stream"))},12249,(e,r,s)=>{r.exports=e.x("constants",()=>require("constants"))},49719,(e,r,s)=>{r.exports=e.x("assert",()=>require("assert"))},36498,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0kaoh2i._.js"].map(r=>e.l(r))).then(()=>r(21297)))},66510,e=>{e.v(r=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(r=>e.l(r))).then(()=>r(28628)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__067b5fv._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[66680,(e,r,s)=>{r.exports=e.x("node:crypto",()=>require("node:crypto"))},24361,(e,r,s)=>{r.exports=e.x("util",()=>require("util"))},88947,(e,r,s)=>{r.exports=e.x("stream",()=>require("stream"))},12249,(e,r,s)=>{r.exports=e.x("constants",()=>require("constants"))},49719,(e,r,s)=>{r.exports=e.x("assert",()=>require("assert"))},36498,e=>{e.v(r=>Promise.all(["server/chunks/[root-of-the-server]__0kaoh2i._.js"].map(r=>e.l(r))).then(()=>r(21297)))},66510,e=>{e.v(r=>Promise.all(["server/chunks/src_shared_constants_pricing_0oa_fz9.js"].map(r=>e.l(r))).then(()=>r(28628)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__09pq~46._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],m=null,x=!1;async function w(){if(!i&&!x&&0!==f.length){x=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{x=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),m&&(clearTimeout(m),m=null)):m||(m=setTimeout(()=>{w().catch(()=>{}),m=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}let R=async()=>{m&&(clearTimeout(m),m=null),f.length>0&&await w()};i||(process.off("beforeExit",R),process.off("SIGINT",R),process.off("SIGTERM",R),process.off("exit",R),process.on("beforeExit",R),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",R)),e.s(["getRequestDetails",0,g,"saveRequestDetail",0,v])},27164,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171);e.i(48582);var g=e.i(33703);async function R(e){try{let{searchParams:t}=new URL(e.url),r=parseInt(t.get("page"))||1,a=parseInt(t.get("pageSize"))||20,s=t.get("provider"),n=t.get("model"),i=t.get("connectionId"),o=t.get("status"),l=t.get("startDate"),d=t.get("endDate");if(r<1)return v.NextResponse.json({error:"Page must be >= 1"},{status:400});if(a<1||a>100)return v.NextResponse.json({error:"PageSize must be between 1 and 100"},{status:400});let u={page:r,pageSize:a};s&&(u.provider=s),n&&(u.model=n),i&&(u.connectionId=i),o&&(u.status=o),l&&(u.startDate=l),d&&(u.endDate=d);let c=await (0,g.getRequestDetails)(u);return v.NextResponse.json(c)}catch(e){return console.error("[API] Failed to get request details:",e),v.NextResponse.json({error:"Failed to fetch request details"},{status:500})}}e.s(["GET",0,R],11943);var y=e.i(11943);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/request-details/route",pathname:"/api/usage/request-details",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/request-details/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/request-details/route";v=v.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:b,parsedUrl:E,isDraftMode:I,prerenderManifest:q,routerServerContext:D,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,resolvedPathname:N,clientReferenceManifest:_,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),P=!!(q.dynamicRoutes[O]||q.routes[N]),k=async()=>((null==D?void 0:D.render404)?await D.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!I){let e=!!q.routes[N],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await k();throw new x.NoFallbackError}}let j=null;!P||S.isDev||I||(j="/index"===(j=N)?"/":j);let M=!0===S.isDev||!P,B=P&&!M;C&&_&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:_,serverActionsManifest:C});let F=e.method||"GET",L=(0,n.getTracer)(),U=L.getActiveScopeSpan(),H=!!(null==D?void 0:D.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,b,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,D)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${F} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&A&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:A})},!1,D),t}},d=await S.handleResponse({req:e,nextConfig:b,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&P||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H&&U?await o(U):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:A})},!1,D),P)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,E],27164)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0efkx6s._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
1
|
+
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],m=null,x=!1;async function w(){if(!i&&!x&&0!==f.length){x=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{x=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),m&&(clearTimeout(m),m=null)):m||(m=setTimeout(()=>{w().catch(()=>{}),m=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}async function R(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let y=async()=>{m&&(clearTimeout(m),m=null),f.length>0&&await w()};i||(process.off("beforeExit",y),process.off("SIGINT",y),process.off("SIGTERM",y),process.off("exit",y),process.on("beforeExit",y),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",y)),e.s(["getRequestDetailById",0,R,"getRequestDetails",0,g,"saveRequestDetail",0,v])},27164,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171);e.i(48582);var g=e.i(33703);async function R(e){try{let{searchParams:t}=new URL(e.url),r=parseInt(t.get("page"))||1,a=parseInt(t.get("pageSize"))||20,s=t.get("provider"),n=t.get("model"),i=t.get("connectionId"),o=t.get("status"),l=t.get("startDate"),d=t.get("endDate");if(r<1)return v.NextResponse.json({error:"Page must be >= 1"},{status:400});if(a<1||a>100)return v.NextResponse.json({error:"PageSize must be between 1 and 100"},{status:400});let u={page:r,pageSize:a};s&&(u.provider=s),n&&(u.model=n),i&&(u.connectionId=i),o&&(u.status=o),l&&(u.startDate=l),d&&(u.endDate=d);let c=await (0,g.getRequestDetails)(u);return v.NextResponse.json(c)}catch(e){return console.error("[API] Failed to get request details:",e),v.NextResponse.json({error:"Failed to fetch request details"},{status:500})}}e.s(["GET",0,R],11943);var y=e.i(11943);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/request-details/route",pathname:"/api/usage/request-details",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/request-details/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:b,workUnitAsyncStorage:E,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/request-details/route";v=v.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:b,parsedUrl:E,isDraftMode:I,prerenderManifest:q,routerServerContext:D,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,resolvedPathname:N,clientReferenceManifest:_,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),P=!!(q.dynamicRoutes[O]||q.routes[N]),k=async()=>((null==D?void 0:D.render404)?await D.render404(e,t,E,!1):t.end("This page could not be found"),null);if(P&&!I){let e=!!q.routes[N],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(b.adapterPath)return await k();throw new x.NoFallbackError}}let j=null;!P||S.isDev||I||(j="/index"===(j=N)?"/":j);let M=!0===S.isDev||!P,B=P&&!M;C&&_&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:_,serverActionsManifest:C});let F=e.method||"GET",L=(0,n.getTracer)(),U=L.getActiveScopeSpan(),H=!!(null==D?void 0:D.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,b,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!b.experimental.authInterrupts},cacheComponents:!!b.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:b.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,D)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${F} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${F} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&A&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!P)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:A})},!1,D),t}},d=await S.handleResponse({req:e,nextConfig:b,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:A,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!P)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",A?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&P||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H&&U?await o(U):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${F} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":F,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof x.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:A})},!1,D),P)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:b,workUnitAsyncStorage:E})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,b,"workUnitAsyncStorage",0,E],27164)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__0efkx6s._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__09u3y1w._.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},
|
|
1
|
+
module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},97953,(e,t,r)=>{"use strict";t.exports=e.r(42315).vendored["react-rsc"].ReactServerDOMTurbopackServer},45015,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"registerServerReference",{enumerable:!0,get:function(){return s.registerServerReference}});let s=e.r(97953)},95975,(e,t,r)=>{"use strict";function s(e){for(let t=0;t<e.length;t++){let r=e[t];if("function"!=typeof r)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof r}.
|
|
2
2
|
Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureServerEntryExports",{enumerable:!0,get:function(){return s}})},60133,e=>{"use strict";var t=e.i(47909),r=e.i(74017),s=e.i(96250),a=e.i(59756),n=e.i(61916),o=e.i(74677),i=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),p=e.i(47587),c=e.i(66012),f=e.i(70101),g=e.i(26937),h=e.i(10372),v=e.i(93695);e.i(20232);var x=e.i(220),m=e.i(45015),R=e.i(89171),w=e.i(33405),y=e.i(24361),E=e.i(24868),b=e.i(14747),N=e.i(46786),C=e.i(95975);let O=(0,y.promisify)(w.exec),j=()=>b.default.join(N.default.homedir(),".openclaw"),S=()=>b.default.join(j(),"openclaw.json"),_=async()=>{try{return N.default.platform(),await O("command -v openclaw",{windowsHide:!0}),!0}catch{return!1}},A=async()=>{try{let e=S(),t=await E.default.readFile(e,"utf-8");return JSON.parse(t)}catch(e){if("ENOENT"===e.code)return null;throw e}};async function T(){try{if(!await _())return R.NextResponse.json({installed:!1,settings:null,message:"Open Claw CLI is not installed"});let e=await A();return R.NextResponse.json({installed:!0,settings:e,has9Router:!!e&&!!e.models&&!!e.models.providers&&!!e.models.providers["9router"],settingsPath:S()})}catch(e){return console.log("Error checking openclaw settings:",e),R.NextResponse.json({error:"Failed to check openclaw settings"},{status:500})}}async function P(e){try{let{baseUrl:t,apiKey:r,model:s}=await e.json();if(!t||!s)return R.NextResponse.json({error:"baseUrl and model are required"},{status:400});let a=j(),n=S();await E.default.mkdir(a,{recursive:!0});let o={};try{let e=await E.default.readFile(n,"utf-8");o=JSON.parse(e)}catch{}o.agents||(o.agents={}),o.agents.defaults||(o.agents.defaults={}),o.agents.defaults.model||(o.agents.defaults.model={}),o.models||(o.models={}),o.models.providers||(o.models.providers={});let i=t.endsWith("/v1")?t:`${t}/v1`;return o.agents.defaults.model.primary=`9router/${s}`,o.models.providers["9router"]={baseUrl:i,apiKey:r||"your_api_key",api:"openai-completions",models:[{id:s,name:s.split("/").pop()||s}]},await E.default.writeFile(n,JSON.stringify(o,null,2)),R.NextResponse.json({success:!0,message:"Open Claw settings applied successfully!",settingsPath:n})}catch(e){return console.log("Error updating openclaw settings:",e),R.NextResponse.json({error:"Failed to update openclaw settings"},{status:500})}}async function q(){try{let e=S(),t={};try{let r=await E.default.readFile(e,"utf-8");t=JSON.parse(r)}catch(e){if("ENOENT"===e.code)return R.NextResponse.json({success:!0,message:"No settings file to reset"});throw e}return t.models&&t.models.providers&&(delete t.models.providers["9router"],0===Object.keys(t.models.providers).length&&delete t.models.providers),t.agents?.defaults?.model?.primary?.startsWith("9router/")&&delete t.agents.defaults.model.primary,await E.default.writeFile(e,JSON.stringify(t,null,2)),R.NextResponse.json({success:!0,message:"9Router settings removed successfully"})}catch(e){return console.log("Error resetting openclaw settings:",e),R.NextResponse.json({error:"Failed to reset openclaw settings"},{status:500})}}(0,C.ensureServerEntryExports)([T,P,q]),(0,m.registerServerReference)(T,"0014b6064ae71938cd55790c25eb2ce6617042d450",null),(0,m.registerServerReference)(P,"40c7064b38d7b0693981250f535bdea9206dfda573",null),(0,m.registerServerReference)(q,"0018d3719eb3644ee4bd30c387b9843e9bb0a56bb1",null),e.s(["DELETE",0,q,"GET",0,T,"POST",0,P],85305);var k=e.i(85305);let H=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/cli-tools/openclaw-settings/route",pathname:"/api/cli-tools/openclaw-settings",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/cli-tools/openclaw-settings/route.js",nextConfigOutput:"standalone",userland:k,...{}}),{workAsyncStorage:M,workUnitAsyncStorage:U,serverHooks:I}=H;async function D(e,t,s){s.requestMeta&&(0,a.setRequestMeta)(e,s.requestMeta),H.isDev&&(0,a.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let m="/api/cli-tools/openclaw-settings/route";m=m.replace(/\/index$/,"")||"/";let R=await H.prepare(e,t,{srcPage:m,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==s.waitUntil||s.waitUntil.call(s,Promise.resolve()),null;let{buildId:w,params:y,nextConfig:E,parsedUrl:b,isDraftMode:N,prerenderManifest:C,routerServerContext:O,isOnDemandRevalidate:j,revalidateOnlyGenerated:S,resolvedPathname:_,clientReferenceManifest:A,serverActionsManifest:T}=R,P=(0,i.normalizeAppPath)(m),q=!!(C.dynamicRoutes[P]||C.routes[_]),k=async()=>((null==O?void 0:O.render404)?await O.render404(e,t,b,!1):t.end("This page could not be found"),null);if(q&&!N){let e=!!C.routes[_],t=C.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await k();throw new v.NoFallbackError}}let M=null;!q||H.isDev||N||(M="/index"===(M=_)?"/":M);let U=!0===H.isDev||!q,I=q&&!U;T&&A&&(0,o.setManifestsSingleton)({page:m,clientReferenceManifest:A,serverActionsManifest:T});let D=e.method||"GET",F=(0,n.getTracer)(),$=F.getActiveScopeSpan(),K=!!(null==O?void 0:O.isWrappedByNextServer),L=!!(0,a.getRequestMeta)(e,"minimalMode"),B=(0,a.getRequestMeta)(e,"incrementalCache")||await H.getIncrementalCache(e,E,C,L);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let J={params:y,previewProps:C.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:s.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,s,a)=>H.onRequestError(e,t,s,a,O)},sharedContext:{buildId:w}},W=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),X=d.NextRequestAdapter.fromNodeNextRequest(W,(0,d.signalFromNodeResponse)(t));try{let a,o=async e=>H.handle(X,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let s=r.get("next.route");if(s){let t=`${D} ${s}`;e.setAttributes({"next.route":s,"http.route":s,"next.span_name":t}),e.updateName(t),a&&a!==e&&(a.setAttribute("http.route",s),a.updateName(t))}else e.updateName(`${D} ${m}`)}),i=async a=>{var n,i;let l=async({previousCacheEntry:r})=>{try{if(!L&&j&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await o(a);e.fetchMetrics=J.renderOpts.fetchMetrics;let i=J.renderOpts.pendingWaitUntil;i&&s.waitUntil&&(s.waitUntil(i),i=void 0);let l=J.renderOpts.collectedTags;if(!q)return await (0,c.sendResponse)(W,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,f.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[h.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=h.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,s=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=h.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:x.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:s}}}}catch(t){throw(null==r?void 0:r.isStale)&&await H.onRequestError(e,t,{routerKind:"App Router",routePath:m,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:j})},!1,O),t}},d=await H.handleResponse({req:e,nextConfig:E,cacheKey:M,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:C,isRoutePPREnabled:!1,isOnDemandRevalidate:j,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:s.waitUntil,isMinimalMode:L});if(!q)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==x.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(i=d.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});L||t.setHeader("x-nextjs-cache",j?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),N&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,f.fromNodeOutgoingHttpHeaders)(d.value.headers);return L&&q||u.delete(h.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,g.getCacheControlHeader)(d.cacheControl)),await (0,c.sendResponse)(W,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};K&&$?await i($):(a=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${D} ${m}`,kind:n.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!K))}catch(t){if(t instanceof v.NoFallbackError||await H.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,p.getRevalidateReason)({isStaticGeneration:I,isOnDemandRevalidate:j})},!1,O),q)throw t;return await (0,c.sendResponse)(W,G,new Response(null,{status:500})),null}}e.s(["handler",0,D,"patchFetch",0,function(){return(0,s.patchFetch)({workAsyncStorage:M,workUnitAsyncStorage:U})},"routeModule",0,H,"serverHooks",0,I,"workAsyncStorage",0,M,"workUnitAsyncStorage",0,U],60133)}];
|
|
3
3
|
|
|
4
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
4
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0_8qd4-._.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},
|
|
1
|
+
module.exports=[93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},24361,(e,t,r)=>{t.exports=e.x("util",()=>require("util"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},33405,(e,t,r)=>{t.exports=e.x("child_process",()=>require("child_process"))},24868,(e,t,r)=>{t.exports=e.x("fs/promises",()=>require("fs/promises"))},85148,(e,t,r)=>{t.exports=e.x("better-sqlite3-90e2652d1716b047",()=>require("better-sqlite3-90e2652d1716b047"))},18886,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),o=e.i(61916),s=e.i(74677),i=e.i(69741),l=e.i(16795),u=e.i(87718),c=e.i(95169),d=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),g=e.i(93695);e.i(20232);var v=e.i(220),R=e.i(89171),m=e.i(24868),b=e.i(46786),y=e.i(14747),E=e.i(33405);let w=(0,e.i(24361).promisify)(E.execFile),C=["cursorAuth/accessToken","cursorAuth/token"],A=["storage.serviceMachineId","storage.machineId","telemetry.machineId"];async function T(e){let t=e=>{let t=e.trim();try{let e=JSON.parse(t);return"string"==typeof e?e:t}catch{return t}},r=async t=>{let{stdout:r}=await w("sqlite3",[e,t],{timeout:1e4});return r.trim()},a=null;for(let e of C)try{let n=await r(`SELECT value FROM itemTable WHERE key='${e}' LIMIT 1`);if(n){a=t(n);break}}catch{}let n=null;for(let e of A)try{let a=await r(`SELECT value FROM itemTable WHERE key='${e}' LIMIT 1`);if(a){n=t(a);break}}catch{}return{accessToken:a,machineId:n}}async function k(){try{let t=process.platform,r=function(e){let t=(0,b.homedir)();if("darwin"===e)return[(0,y.join)(t,"Library/Application Support/Cursor/User/globalStorage/state.vscdb"),(0,y.join)(t,"Library/Application Support/Cursor - Insiders/User/globalStorage/state.vscdb")];if("win32"===e){let e=process.env.APPDATA||(0,y.join)(t,"AppData","Roaming"),r=process.env.LOCALAPPDATA||(0,y.join)(t,"AppData","Local");return[(0,y.join)(e,"Cursor","User","globalStorage","state.vscdb"),(0,y.join)(e,"Cursor - Insiders","User","globalStorage","state.vscdb"),(0,y.join)(r,"Cursor","User","globalStorage","state.vscdb"),(0,y.join)(r,"Programs","Cursor","User","globalStorage","state.vscdb")]}return[(0,y.join)(t,".config/Cursor/User/globalStorage/state.vscdb"),(0,y.join)(t,".config/cursor/User/globalStorage/state.vscdb")]}(t),a=null;for(let e of r)try{await (0,m.access)(e,m.constants.R_OK),a=e;break}catch{}if(!a)return R.NextResponse.json({found:!1,error:`Cursor database not found. Checked locations:
|
|
2
2
|
${r.join("\n")}
|
|
3
3
|
|
|
4
4
|
Make sure Cursor IDE is installed and opened at least once.`});try{let t=function(t){let r=new(e.r(85148))(t,{readonly:!0,fileMustExist:!0}),a=e=>{let t=r.prepare("SELECT value FROM itemTable WHERE key=? LIMIT 1").get(e);return t?.value||null},n=e=>{if("string"!=typeof e)return e;try{let t=JSON.parse(e);return"string"==typeof t?t:e}catch{return e}},o=null;for(let e of C){let t=a(e);if(t){o=n(t);break}}let s=null;for(let e of A){let t=a(e);if(t){s=n(t);break}}return r.close(),{accessToken:o,machineId:s}}(a);if(t.accessToken&&t.machineId)return R.NextResponse.json({found:!0,accessToken:t.accessToken,machineId:t.machineId})}catch{}try{let e=await T(a);if(e.accessToken&&e.machineId)return R.NextResponse.json({found:!0,accessToken:e.accessToken,machineId:e.machineId})}catch{}return R.NextResponse.json({found:!1,windowsManual:!0,dbPath:a})}catch(e){return console.log("Cursor auto-import error:",e),R.NextResponse.json({found:!1,error:e.message},{status:500})}}e.s(["GET",0,k],23996);var S=e.i(23996);let j=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/oauth/cursor/auto-import/route",pathname:"/api/oauth/cursor/auto-import",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/oauth/cursor/auto-import/route.js",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:I,workUnitAsyncStorage:q,serverHooks:N}=j;async function P(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),j.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let R="/api/oauth/cursor/auto-import/route";R=R.replace(/\/index$/,"")||"/";let m=await j.prepare(e,t,{srcPage:R,multiZoneDraftMode:!1});if(!m)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:b,params:y,nextConfig:E,parsedUrl:w,isDraftMode:C,prerenderManifest:A,routerServerContext:T,isOnDemandRevalidate:k,revalidateOnlyGenerated:S,resolvedPathname:I,clientReferenceManifest:q,serverActionsManifest:N}=m,P=(0,i.normalizeAppPath)(R),O=!!(A.dynamicRoutes[P]||A.routes[I]),M=async()=>((null==T?void 0:T.render404)?await T.render404(e,t,w,!1):t.end("This page could not be found"),null);if(O&&!C){let e=!!A.routes[I],t=A.dynamicRoutes[P];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await M();throw new g.NoFallbackError}}let _=null;!O||j.isDev||C||(_="/index"===(_=I)?"/":_);let U=!0===j.isDev||!O,H=O&&!U;N&&q&&(0,s.setManifestsSingleton)({page:R,clientReferenceManifest:q,serverActionsManifest:N});let D=e.method||"GET",L=(0,o.getTracer)(),F=L.getActiveScopeSpan(),$=!!(null==T?void 0:T.isWrappedByNextServer),K=!!(0,n.getRequestMeta)(e,"minimalMode"),B=(0,n.getRequestMeta)(e,"incrementalCache")||await j.getIncrementalCache(e,E,A,K);null==B||B.resetRequestCache(),globalThis.__incrementalCache=B;let W={params:y,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:U,incrementalCache:B,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>j.onRequestError(e,t,a,n,T)},sharedContext:{buildId:b}},G=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),X=u.NextRequestAdapter.fromNodeNextRequest(G,(0,u.signalFromNodeResponse)(t));try{let n,s=async e=>j.handle(X,W).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==c.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${D} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${D} ${R}`)}),i=async n=>{var o,i;let l=async({previousCacheEntry:r})=>{try{if(!K&&k&&S&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let o=await s(n);e.fetchMetrics=W.renderOpts.fetchMetrics;let i=W.renderOpts.pendingWaitUntil;i&&a.waitUntil&&(a.waitUntil(i),i=void 0);let l=W.renderOpts.collectedTags;if(!O)return await (0,p.sendResponse)(G,V,o,W.renderOpts.pendingWaitUntil),null;{let e=await o.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(o.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==W.renderOpts.collectedRevalidate&&!(W.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&W.renderOpts.collectedRevalidate,a=void 0===W.renderOpts.collectedExpire||W.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:W.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:o.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await j.onRequestError(e,t,{routerKind:"App Router",routePath:R,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,T),t}},u=await j.handleResponse({req:e,nextConfig:E,cacheKey:_,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:k,revalidateOnlyGenerated:S,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:K});if(!O)return null;if((null==u||null==(o=u.value)?void 0:o.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==u||null==(i=u.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});K||t.setHeader("x-nextjs-cache",k?"REVALIDATED":u.isMiss?"MISS":u.isStale?"STALE":"HIT"),C&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let c=(0,h.fromNodeOutgoingHttpHeaders)(u.value.headers);return K&&O||c.delete(x.NEXT_CACHE_TAGS_HEADER),!u.cacheControl||t.getHeader("Cache-Control")||c.get("Cache-Control")||c.set("Cache-Control",(0,f.getCacheControlHeader)(u.cacheControl)),await (0,p.sendResponse)(G,V,new Response(u.value.body,{headers:c,status:u.value.status||200})),null};$&&F?await i(F):(n=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(c.BaseServerSpan.handleRequest,{spanName:`${D} ${R}`,kind:o.SpanKind.SERVER,attributes:{"http.method":D,"http.target":e.url}},i),void 0,!$))}catch(t){if(t instanceof g.NoFallbackError||await j.onRequestError(e,t,{routerKind:"App Router",routePath:P,routeType:"route",revalidateReason:(0,d.getRevalidateReason)({isStaticGeneration:H,isOnDemandRevalidate:k})},!1,T),O)throw t;return await (0,p.sendResponse)(G,V,new Response(null,{status:500})),null}}e.s(["handler",0,P,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:I,workUnitAsyncStorage:q})},"routeModule",0,j,"serverHooks",0,N,"workAsyncStorage",0,I,"workUnitAsyncStorage",0,q],18886)}];
|
|
5
5
|
|
|
6
|
-
//# sourceMappingURL=%5Broot-of-the-server%
|
|
6
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0_qom9~._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function w(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{w().catch(()=>{}),x=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}let R=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await w()};i||(process.off("beforeExit",R),process.off("SIGINT",R),process.off("SIGTERM",R),process.off("exit",R),process.on("beforeExit",R),process.on("SIGINT",R),process.on("SIGTERM",R),process.on("exit",R)),e.s(["getRequestDetails",0,g,"saveRequestDetail",0,v])},65197,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);async function R(){try{let e=await (0,g.getRecentLogs)(200);return v.NextResponse.json(e)}catch(e){return console.error("Error fetching logs:",e),v.NextResponse.json({error:"Failed to fetch logs"},{status:500})}}e.s(["GET",0,R],8568);var y=e.i(8568);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/logs/route",pathname:"/api/usage/logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/logs/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/logs/route";v=v.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:E,parsedUrl:b,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:T,revalidateOnlyGenerated:D,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),k=!!(q.dynamicRoutes[O]||q.routes[_]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(k&&!I){let e=!!q.routes[_],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!k||S.isDev||I||(j="/index"===(j=_)?"/":j);let M=!0===S.isDev||!k,B=k&&!M;C&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:C});let L=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),U=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,E,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&T&&D&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:T})},!1,A),t}},d=await S.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:T,revalidateOnlyGenerated:D,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!k)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",T?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&k||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};U&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:T})},!1,A),k)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:b})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],65197)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__08ra5xg._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
1
|
+
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function w(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{w().catch(()=>{}),x=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}async function R(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let y=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await w()};i||(process.off("beforeExit",y),process.off("SIGINT",y),process.off("SIGTERM",y),process.off("exit",y),process.on("beforeExit",y),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",y)),e.s(["getRequestDetailById",0,R,"getRequestDetails",0,g,"saveRequestDetail",0,v])},65197,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);async function R(){try{let e=await (0,g.getRecentLogs)(200);return v.NextResponse.json(e)}catch(e){return console.error("Error fetching logs:",e),v.NextResponse.json({error:"Failed to fetch logs"},{status:500})}}e.s(["GET",0,R],8568);var y=e.i(8568);let S=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/usage/logs/route",pathname:"/api/usage/logs",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/usage/logs/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:E,workUnitAsyncStorage:b,serverHooks:I}=S;async function q(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),S.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/usage/logs/route";v=v.replace(/\/index$/,"")||"/";let g=await S.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:E,parsedUrl:b,isDraftMode:I,prerenderManifest:q,routerServerContext:A,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:_,clientReferenceManifest:N,serverActionsManifest:C}=g,O=(0,o.normalizeAppPath)(v),k=!!(q.dynamicRoutes[O]||q.routes[_]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,b,!1):t.end("This page could not be found"),null);if(k&&!I){let e=!!q.routes[_],t=q.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(E.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!k||S.isDev||I||(j="/index"===(j=_)?"/":j);let M=!0===S.isDev||!k,B=k&&!M;C&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:C});let L=e.method||"GET",F=(0,n.getTracer)(),H=F.getActiveScopeSpan(),U=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await S.getIncrementalCache(e,E,q,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:q.preview,renderOpts:{experimental:{authInterrupts:!!E.experimental.authInterrupts},cacheComponents:!!E.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:E.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>S.onRequestError(e,t,a,s,A)},sharedContext:{buildId:R}},V=new l.NodeNextRequest(e),G=new l.NodeNextResponse(t),K=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>S.handle(K,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=F.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!k)return await (0,p.sendResponse)(V,G,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await S.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),t}},d=await S.handleResponse({req:e,nextConfig:E,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:q,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!k)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),I&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&k||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,G,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};U&&H?await o(H):(s=F.getActiveScopeSpan(),await F.withPropagatedContext(e.headers,()=>F.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:n.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!U))}catch(t){if(t instanceof m.NoFallbackError||await S.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),k)throw t;return await (0,p.sendResponse)(V,G,new Response(null,{status:500})),null}}e.s(["handler",0,q,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:E,workUnitAsyncStorage:b})},"routeModule",0,S,"serverHooks",0,I,"workAsyncStorage",0,E,"workUnitAsyncStorage",0,b],65197)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__08ra5xg._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0azf4gz._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function n(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class s{#e;#t;#r=!1;#a=null;#n=null;#s=null;#i=null;#o(e){return this.#i=e,this.#s||=new Promise((e,t)=>{this.#n=[e,t]}),new Promise((e,t)=>{this.#s?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await n(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#n,this.#n=this.#s=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new s(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),n=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=n.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||s.default.existsSync(o)||s.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],m=null,x=!1;async function w(){if(!i&&!x&&0!==f.length){x=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},n=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>n&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{x=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await w(),m&&(clearTimeout(m),m=null)):m||(m=setTimeout(()=>{w().catch(()=>{}),m=null},t.flushIntervalMs)))}async function g(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,n=e.pageSize||50,s=Math.ceil(r/n);return{details:t.slice((a-1)*n,a*n),pagination:{page:a,pageSize:n,totalItems:r,totalPages:s,hasNext:a<s,hasPrev:a>1}}}async function R(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let y=async()=>{m&&(clearTimeout(m),m=null),f.length>0&&await w()};i||(process.off("beforeExit",y),process.off("SIGINT",y),process.off("SIGTERM",y),process.off("exit",y),process.on("beforeExit",y),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",y)),e.s(["getRequestDetailById",0,R,"getRequestDetails",0,g,"saveRequestDetail",0,v])},65047,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),n=e.i(59756),s=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),m=e.i(10372),x=e.i(93695);e.i(20232);var w=e.i(220),v=e.i(89171),g=e.i(48582);async function R(e){if("local"!==e.headers.get("x-request-source"))return v.NextResponse.json({error:"forbidden"},{status:403});try{let t=await e.json(),r=function(e){if(!e||"object"!=typeof e)return null;let t={},r=(e,r)=>{if(null==r)return;let a=Number(r);Number.isFinite(a)&&(t[e]=a)};return r("prompt_tokens",e.prompt_tokens??e.input_tokens),r("completion_tokens",e.completion_tokens??e.output_tokens),r("total_tokens",e.total_tokens),r("cache_read_input_tokens",e.cache_read_input_tokens??e.cached_tokens),r("cache_creation_input_tokens",e.cache_creation_input_tokens),r("reasoning_tokens",e.reasoning_tokens),Object.keys(t).length>0?t:null}(t?.tokens);if(!t?.provider||!t?.model||!t?.connectionId||!r)return v.NextResponse.json({error:"invalid payload"},{status:400});return await (0,g.saveRequestUsage)({provider:t.provider,model:t.model,connectionId:t.connectionId,tokens:r,timestamp:new Date().toISOString()}),await (0,g.appendRequestLog)({model:t.model,provider:t.provider,connectionId:t.connectionId,tokens:r,status:t.status||"200 OK"}),v.NextResponse.json({ok:!0})}catch(e){return v.NextResponse.json({error:e.message||"failed to persist usage"},{status:500})}}e.s(["POST",0,R],3126);var y=e.i(3126);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/usage/route",pathname:"/api/internal/usage",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/usage/route.js",nextConfigOutput:"standalone",userland:y,...{}}),{workAsyncStorage:S,workUnitAsyncStorage:_,serverHooks:E}=b;async function I(e,t,a){a.requestMeta&&(0,n.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,n.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let v="/api/internal/usage/route";v=v.replace(/\/index$/,"")||"/";let g=await b.prepare(e,t,{srcPage:v,multiZoneDraftMode:!1});if(!g)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:R,params:y,nextConfig:S,parsedUrl:_,isDraftMode:E,prerenderManifest:I,routerServerContext:k,isOnDemandRevalidate:q,revalidateOnlyGenerated:A,resolvedPathname:D,clientReferenceManifest:N,serverActionsManifest:T}=g,O=(0,o.normalizeAppPath)(v),C=!!(I.dynamicRoutes[O]||I.routes[D]),P=async()=>((null==k?void 0:k.render404)?await k.render404(e,t,_,!1):t.end("This page could not be found"),null);if(C&&!E){let e=!!I.routes[D],t=I.dynamicRoutes[O];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await P();throw new x.NoFallbackError}}let j=null;!C||b.isDev||E||(j="/index"===(j=D)?"/":j);let M=!0===b.isDev||!C,B=C&&!M;T&&N&&(0,i.setManifestsSingleton)({page:v,clientReferenceManifest:N,serverActionsManifest:T});let L=e.method||"GET",U=(0,s.getTracer)(),F=U.getActiveScopeSpan(),H=!!(null==k?void 0:k.isWrappedByNextServer),z=!!(0,n.getRequestMeta)(e,"minimalMode"),$=(0,n.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,S,I,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:y,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,n)=>b.onRequestError(e,t,a,n,k)},sharedContext:{buildId:R}},K=new l.NodeNextRequest(e),V=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(K,(0,d.signalFromNodeResponse)(t));try{let n,i=async e=>b.handle(G,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=U.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${L} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),n&&n!==e&&(n.setAttribute("http.route",a),n.updateName(t))}else e.updateName(`${L} ${v}`)}),o=async n=>{var s,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&q&&A&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let s=await i(n);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!C)return await (0,p.sendResponse)(K,V,s,J.renderOpts.pendingWaitUntil),null;{let e=await s.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(s.headers);l&&(t[m.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=m.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=m.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:w.CachedRouteKind.APP_ROUTE,status:s.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:v,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:q})},!1,k),t}},d=await b.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:q,revalidateOnlyGenerated:A,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!C)return null;if((null==d||null==(s=d.value)?void 0:s.kind)!==w.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",q?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&C||u.delete(m.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(K,V,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};H&&F?await o(F):(n=U.getActiveScopeSpan(),await U.withPropagatedContext(e.headers,()=>U.trace(u.BaseServerSpan.handleRequest,{spanName:`${L} ${v}`,kind:s.SpanKind.SERVER,attributes:{"http.method":L,"http.target":e.url}},o),void 0,!H))}catch(t){if(t instanceof x.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:O,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:q})},!1,k),C)throw t;return await (0,p.sendResponse)(K,V,new Response(null,{status:500})),null}}e.s(["handler",0,I,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:S,workUnitAsyncStorage:_})},"routeModule",0,b,"serverHooks",0,E,"workAsyncStorage",0,S,"workUnitAsyncStorage",0,_],65047)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__067b5fv._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0b56uvi._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[92509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var a=e.i(67059),r=e.i(50227),o=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,n=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=o.default.homedir();return r.default.join(e,".n9router")}(),c=i?null:r.default.join(n,"request-details.json");i||s.default.existsSync(n)||s.default.mkdirSync(n,{recursive:!0});let l=null;async function p(){if(i)return null;if(!l){let e=new a.JSONFile(c),r=new t.Low(e,{records:[]});await r.read(),r.data?.records||(r.data={records:[]}),l=r}return l}let d=null,u=0;async function h(){if(d&&Date.now()-u<5e3)return d;try{let{getSettings:t}=await e.A(62724),a=await t(),r="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof a.enableObservability?a.enableObservability:r,maxRecords:a.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:a.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:a.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(a.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return u=Date.now(),d}let m=[],f=null,b=!1;async function g(){if(!i&&!b&&0!==m.length){b=!0;try{let e=[...m];m=[];let t=await p(),a=await h();for(let r of e){r.id||(r.id=function(e){let t=new Date().toISOString(),a=Math.random().toString(36).substring(2,8),r=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${a}-${r}`}(r.model)),r.timestamp||(r.timestamp=new Date().toISOString()),r.request?.headers&&(r.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],a={...e};for(let e of Object.keys(a))t.some(t=>e.toLowerCase().includes(t))&&delete a[e];return a}(r.request.headers));let e={id:r.id,provider:r.provider||null,model:r.model||null,connectionId:r.connectionId||null,timestamp:r.timestamp,status:r.status||null,latency:r.latency||{},tokens:r.tokens||{},request:r.request||{},providerRequest:r.providerRequest||{},providerResponse:r.providerResponse||{},response:r.response||{}},o=a.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let a=JSON.stringify(e[t]);a.length>o&&(e[t]={_truncated:!0,_originalSize:a.length,_preview:a.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>a.maxRecords&&(t.data.records=t.data.records.slice(0,a.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{b=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(m.push(e),m.length>=t.batchSize?(await g(),f&&(clearTimeout(f),f=null)):f||(f=setTimeout(()=>{g().catch(()=>{}),f=null},t.flushIntervalMs)))}async function y(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await p()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let a=t.length,r=e.page||1,o=e.pageSize||50,s=Math.ceil(a/o);return{details:t.slice((r-1)*o,r*o),pagination:{page:r,pageSize:o,totalItems:a,totalPages:s,hasNext:r<s,hasPrev:r>1}}}let E=async()=>{f&&(clearTimeout(f),f=null),m.length>0&&await g()};i||(process.off("beforeExit",E),process.off("SIGINT",E),process.off("SIGTERM",E),process.off("exit",E),process.on("beforeExit",E),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",E)),e.s(["getRequestDetails",0,y,"saveRequestDetail",0,v])},77452,e=>{"use strict";var t=e.i(46786);let a={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",o={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...a}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...a}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...a}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...a}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...a},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...a}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"}};e.s(["PROVIDERS",0,o])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.90",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,a={}){let r,o=(r=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${r}`:"",s={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...a};return o&&(s.Authorization=o),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},a={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},r={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,r,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,a,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),a=e.i(86345);let r="u">typeof caches&&"object"==typeof caches,o=globalThis.fetch,s=new Map,i=new Map,n=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],c=["8.8.8.8","8.8.4.4"];function l(e){return null==e?"":String(e).trim()}async function p(t){let r=i.get(t);if(r&&Date.now()<r.expiry)return r.ip;try{let r=await e.A(57408),{promisify:o}=await e.A(34777),s=new r.Resolver;s.setServers(c);let n=o(s.resolve4.bind(s)),l=await n(t);return i.set(t,{ip:l[0],expiry:Date.now()+a.MEMORY_CONFIG.dnsCacheTtlMs}),l[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let a,r=l(t);if(!r)return!1;try{a=new URL(e).hostname.toLowerCase()}catch{return!1}return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?a.endsWith(e)||a===e.slice(1):a===e||a.endsWith(`.${e}`)))}function u(e){let t=l(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function h(t){let r=u(t);if(!r)return null;if(!s.has(r)){s.size>=a.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(r,new t({uri:r}))}return s.get(r)}async function m(a,r,o){let s=await e.A(67955),i=await e.A(8884),n=s.default??s,c=i.default??i;return new Promise((e,s)=>{let i=new c.Socket;i.connect(443,r,()=>{let r={socket:i,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:o.method||"POST",headers:{...o.headers,Host:a.hostname}},c=n.request(r,a=>{let r={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:t.Readable.toWeb(a),text:async()=>{let e=[];for await(let t of a)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await r.text())};e(r)});c.on("error",s),o.body&&c.write("string"==typeof o.body?o.body:JSON.stringify(o.body)),c.end()}),i.on("error",s)})}async function f(e,t={},a=null){let r="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let a=l(t?.url??t?.connectionProxyUrl);if(!a)return null;let r=l(t?.noProxy??t?.connectionNoProxy);return r&&d(e,r)?null:u(a)}(r,a),i=s?null:u(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(r)),c=s||i;if(function(e){try{let t=new URL(e).hostname;return n.some(e=>t.includes(e))}catch{return!1}}(r)){if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(r),a=await p(e.hostname);if(a)return await m(e,a,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return o(e,t)}async function b(e,t={}){return f(e,t,null)}r||globalThis.fetch===b||(globalThis.fetch=b),e.s(["proxyAwareFetch",0,f])}];
|
|
1
|
+
module.exports=[92509,(e,t,a)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var a=e.i(67059),r=e.i(50227),o=e.i(60526),s=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,n=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=o.default.homedir();return r.default.join(e,".n9router")}(),c=i?null:r.default.join(n,"request-details.json");i||s.default.existsSync(n)||s.default.mkdirSync(n,{recursive:!0});let l=null;async function p(){if(i)return null;if(!l){let e=new a.JSONFile(c),r=new t.Low(e,{records:[]});await r.read(),r.data?.records||(r.data={records:[]}),l=r}return l}let d=null,u=0;async function h(){if(d&&Date.now()-u<5e3)return d;try{let{getSettings:t}=await e.A(62724),a=await t(),r="false"!==process.env.OBSERVABILITY_ENABLED;d={enabled:"boolean"==typeof a.enableObservability?a.enableObservability:r,maxRecords:a.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:a.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:a.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(a.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{d={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return u=Date.now(),d}let m=[],f=null,b=!1;async function g(){if(!i&&!b&&0!==m.length){b=!0;try{let e=[...m];m=[];let t=await p(),a=await h();for(let r of e){r.id||(r.id=function(e){let t=new Date().toISOString(),a=Math.random().toString(36).substring(2,8),r=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${a}-${r}`}(r.model)),r.timestamp||(r.timestamp=new Date().toISOString()),r.request?.headers&&(r.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],a={...e};for(let e of Object.keys(a))t.some(t=>e.toLowerCase().includes(t))&&delete a[e];return a}(r.request.headers));let e={id:r.id,provider:r.provider||null,model:r.model||null,connectionId:r.connectionId||null,timestamp:r.timestamp,status:r.status||null,latency:r.latency||{},tokens:r.tokens||{},request:r.request||{},providerRequest:r.providerRequest||{},providerResponse:r.providerResponse||{},response:r.response||{}},o=a.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let a=JSON.stringify(e[t]);a.length>o&&(e[t]={_truncated:!0,_originalSize:a.length,_preview:a.substring(0,200)})}let s=t.data.records.findIndex(t=>t.id===e.id);-1!==s?t.data.records[s]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>a.maxRecords&&(t.data.records=t.data.records.slice(0,a.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{b=!1}}}async function v(e){if(i)return;let t=await h();t.enabled&&(m.push(e),m.length>=t.batchSize?(await g(),f&&(clearTimeout(f),f=null)):f||(f=setTimeout(()=>{g().catch(()=>{}),f=null},t.flushIntervalMs)))}async function y(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await p()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let a=t.length,r=e.page||1,o=e.pageSize||50,s=Math.ceil(a/o);return{details:t.slice((r-1)*o,r*o),pagination:{page:r,pageSize:o,totalItems:a,totalPages:s,hasNext:r<s,hasPrev:r>1}}}async function E(e){return i?null:(await p()).data.records.find(t=>t.id===e)||null}let w=async()=>{f&&(clearTimeout(f),f=null),m.length>0&&await g()};i||(process.off("beforeExit",w),process.off("SIGINT",w),process.off("SIGTERM",w),process.off("exit",w),process.on("beforeExit",w),process.on("SIGINT",w),process.on("SIGTERM",w),process.on("exit",w)),e.s(["getRequestDetailById",0,E,"getRequestDetails",0,y,"saveRequestDetail",0,v])},77452,e=>{"use strict";var t=e.i(46786);let a={"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},r="https://api.kimi.com/coding/v1/messages",o={claude:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",retry:{429:0},headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,t.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,t.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,t.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";case"freebsd":return"FreeBSD";default:return`Other::${(0,t.platform)()}`}}(),"X-Stainless-Timeout":"600"},clientId:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://api.anthropic.com/v1/oauth/token"},gemini:{baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",format:"gemini",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},"gemini-cli":{baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",format:"gemini-cli",clientId:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecret:"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"},codex:{baseUrl:"https://chatgpt.com/backend-api/codex/responses",format:"openai-responses",headers:{originator:"codex-cli","User-Agent":"codex-cli/1.0.18 (macOS; arm64)"},clientId:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecret:"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",tokenUrl:"https://auth.openai.com/oauth/token"},qwen:{baseUrl:"https://portal.qwen.ai/v1/chat/completions",format:"openai",headers:{"User-Agent":"google-api-nodejs-client/9.15.1","X-Goog-Api-Client":"gl-node/22.17.0"},clientId:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},iflow:{baseUrl:"https://apis.iflow.cn/v1/chat/completions",format:"openai",headers:{"User-Agent":"iFlow-Cli"},clientId:"10009311001",clientSecret:"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},qoder:{baseUrl:"https://api.qoder.com/v1/chat/completions",format:"openai",headers:{"User-Agent":"Qoder-Cli"},clientId:process.env.QODER_OAUTH_CLIENT_ID||"10009311001",clientSecret:process.env.QODER_OAUTH_CLIENT_SECRET||"4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW",tokenUrl:"https://api.qoder.com/oauth/token",authUrl:"https://qoder.com/oauth/authorize"},antigravity:{baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com"],format:"antigravity",headers:{"User-Agent":`antigravity/1.107.0 ${(0,t.platform)()}/${(0,t.arch)()}`},clientId:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecret:"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"},openrouter:{baseUrl:"https://openrouter.ai/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"}},openai:{baseUrl:"https://api.openai.com/v1/chat/completions",format:"openai"},glm:{baseUrl:"https://api.z.ai/api/anthropic/v1/messages",format:"claude",headers:{...a}},"glm-cn":{baseUrl:"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",format:"openai",headers:{}},kimi:{baseUrl:r,format:"claude",headers:{...a}},minimax:{baseUrl:"https://api.minimax.io/anthropic/v1/messages",format:"claude",headers:{...a}},"minimax-cn":{baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",format:"claude",headers:{...a}},alicode:{baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},"alicode-intl":{baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",format:"openai",headers:{}},github:{baseUrl:"https://api.githubcopilot.com/chat/completions",responsesUrl:"https://api.githubcopilot.com/responses",format:"openai",headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},clientId:"Iv1.b507a08c87ecfe98"},kiro:{baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",format:"kiro",headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},cursor:{baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",format:"cursor",headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3"},"kimi-coding":{baseUrl:r,format:"claude",headers:{...a},clientId:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token"},kilocode:{baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",format:"openai",headers:{}},opencode:{baseUrl:"http://localhost:4096/v1/chat/completions",format:"openai",headers:{}},cline:{baseUrl:"https://api.cline.bot/api/v1/chat/completions",format:"openai",headers:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh"},nvidia:{baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",format:"openai"},anthropic:{baseUrl:"https://api.anthropic.com/v1/messages",format:"claude",headers:{...a}},deepseek:{baseUrl:"https://api.deepseek.com/chat/completions",format:"openai"},groq:{baseUrl:"https://api.groq.com/openai/v1/chat/completions",format:"openai"},xai:{baseUrl:"https://api.x.ai/v1/chat/completions",format:"openai"},mistral:{baseUrl:"https://api.mistral.ai/v1/chat/completions",format:"openai"},perplexity:{baseUrl:"https://api.perplexity.ai/chat/completions",format:"openai"},together:{baseUrl:"https://api.together.xyz/v1/chat/completions",format:"openai"},fireworks:{baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",format:"openai"},cerebras:{baseUrl:"https://api.cerebras.ai/v1/chat/completions",format:"openai"},cohere:{baseUrl:"https://api.cohere.ai/v1/chat/completions",format:"openai"},nebius:{baseUrl:"https://api.studio.nebius.ai/v1/chat/completions",format:"openai"},siliconflow:{baseUrl:"https://api.siliconflow.cn/v1/chat/completions",format:"openai"},hyperbolic:{baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",format:"openai"},deepgram:{baseUrl:"https://api.deepgram.com/v1/listen",format:"openai"},assemblyai:{baseUrl:"https://api.assemblyai.com/v1/audio/transcriptions",format:"openai"},nanobanana:{baseUrl:"https://api.nanobananaapi.ai/v1/chat/completions",format:"openai"},chutes:{baseUrl:"https://llm.chutes.ai/v1/chat/completions",format:"openai"},ollama:{baseUrl:"https://ollama.com/api/chat",format:"ollama"},"ollama-local":{baseUrl:"http://localhost:11434/api/chat",format:"ollama"},vertex:{baseUrl:"https://aiplatform.googleapis.com",format:"vertex"},"vertex-partner":{baseUrl:"https://aiplatform.googleapis.com",format:"openai"},gitlab:{baseUrl:"https://gitlab.com/api/v4/chat/completions",format:"openai"},codebuddy:{baseUrl:"https://copilot.tencent.com/v1/chat/completions",format:"openai"}};e.s(["PROVIDERS",0,o])},12943,e=>{"use strict";e.s(["default",0,{name:"n9router",version:"0.3.93",description:"Self-hosted AI routing gateway — local proxy for Claude, Gemini, OpenAI and 40+ providers",keywords:["ai","llm","proxy","router","claude","openai","gemini","cursor"],homepage:"https://github.com/nightwalker89/n9router",repository:{type:"git",url:"https://github.com/nightwalker89/n9router.git"},config:{appName:"n9router"},license:"MIT",bin:{n9router:"./bin/n9router.js"},files:["bin/",".next/standalone/",".next/static/","public/"],scripts:{dev:"next dev --webpack --port 20128",build:"cross-env NODE_ENV=production next build",start:"cross-env NODE_ENV=production next start","dev:bun":"bun --bun next dev --webpack --port 20128","build:bun":"NODE_ENV=production bun --bun next build --webpack","start:bun":"NODE_ENV=production bun ./.next/standalone/server.js","publish:npm":"./scripts/publish-npm.sh","publish:npm:dry":"./scripts/publish-npm.sh --dry-run"},dependencies:{"@monaco-editor/react":"^4.7.0","@xyflow/react":"^12.10.1",bcryptjs:"^3.0.3",confbox:"^0.2.4",express:"^5.2.1",fs:"^0.0.1-security","http-proxy-middleware":"^3.0.5",jose:"^6.1.3",lowdb:"^7.0.1","monaco-editor":"^0.55.1",next:"^16.1.6","node-forge":"^1.3.3","node-machine-id":"^1.1.12",open:"^11.0.0",ora:"^9.1.0","proper-lockfile":"^4.1.2",react:"19.2.4","react-dom":"19.2.4","react-is":"^16.13.1",recharts:"^3.7.0",selfsigned:"^5.5.0","socks-proxy-agent":"^8.0.5","sql.js":"^1.14.1",undici:"^7.19.2",uuid:"^13.0.0",zustand:"^5.0.10"},optionalDependencies:{"better-sqlite3":"^12.6.2"},devDependencies:{"@tailwindcss/postcss":"^4.1.18","cross-env":"^10.1.0",eslint:"^9","eslint-config-next":"16.1.6",postcss:"^8.5.6",tailwindcss:"^4"}}])},26406,e=>{"use strict";let t=e.i(12943).default.version||"0.0.0";e.s(["buildClineHeaders",0,function(e,a={}){let r,o=(r=function(e){if("string"!=typeof e)return"";let t=e.trim();return t?t.startsWith("workos:")?t:`workos:${t}`:""}(e))?`Bearer ${r}`:"",s={"HTTP-Referer":"https://cline.bot","X-Title":"Cline","User-Agent":`9Router/${t}`,"X-PLATFORM":process.platform||"unknown","X-PLATFORM-VERSION":process.version||"unknown","X-CLIENT-TYPE":"9router","X-CLIENT-VERSION":t,"X-CORE-VERSION":t,"X-IS-MULTIROOT":"false",...a};return o&&(s.Authorization=o),s}])},86345,e=>{"use strict";let t={BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,NOT_ACCEPTABLE:406,REQUEST_TIMEOUT:408,RATE_LIMITED:429,SERVER_ERROR:500,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504},a={[t.BAD_REQUEST]:{type:"invalid_request_error",code:"bad_request"},[t.UNAUTHORIZED]:{type:"authentication_error",code:"invalid_api_key"},[t.FORBIDDEN]:{type:"permission_error",code:"insufficient_quota"},[t.NOT_FOUND]:{type:"invalid_request_error",code:"model_not_found"},[t.NOT_ACCEPTABLE]:{type:"invalid_request_error",code:"model_not_supported"},[t.RATE_LIMITED]:{type:"rate_limit_error",code:"rate_limit_exceeded"},[t.SERVER_ERROR]:{type:"server_error",code:"internal_server_error"},[t.BAD_GATEWAY]:{type:"server_error",code:"bad_gateway"},[t.SERVICE_UNAVAILABLE]:{type:"server_error",code:"service_unavailable"},[t.GATEWAY_TIMEOUT]:{type:"server_error",code:"gateway_timeout"}},r={[t.BAD_REQUEST]:"Bad request",[t.UNAUTHORIZED]:"Invalid API key provided",[t.FORBIDDEN]:"You exceeded your current quota",[t.NOT_FOUND]:"Model not found",[t.NOT_ACCEPTABLE]:"Model not supported",[t.RATE_LIMITED]:"Rate limit exceeded",[t.SERVER_ERROR]:"Internal server error",[t.BAD_GATEWAY]:"Bad gateway - upstream provider error",[t.SERVICE_UNAVAILABLE]:"Service temporarily unavailable",[t.GATEWAY_TIMEOUT]:"Gateway timeout"};e.s(["BACKOFF_CONFIG",0,{base:1e3,max:12e4,maxLevel:15},"COOLDOWN_MS",0,{unauthorized:12e4,paymentRequired:12e4,notFound:12e4,transient:3e4,requestNotAllowed:5e3,rateLimit:12e4,serviceUnavailable:2e3,authExpired:12e4},"DEFAULT_ERROR_MESSAGES",0,r,"DEFAULT_MAX_TOKENS",0,64e3,"DEFAULT_MIN_TOKENS",0,32e3,"DEFAULT_RETRY_CONFIG",0,{429:2,503:0,502:0},"ERROR_TYPES",0,a,"HTTP_STATUS",0,t,"MEMORY_CONFIG",0,{sessionTtlMs:72e5,sessionCleanupIntervalMs:18e5,dnsCacheTtlMs:3e5,proxyDispatchersMaxSize:20},"RETRY_CONFIG",0,{maxAttempts:2,delayMs:2e3},"SKIP_PATTERNS",0,["Please write a 5-10 word title for the following conversation:"]])},13061,e=>{"use strict";var t=e.i(88947),a=e.i(86345);let r="u">typeof caches&&"object"==typeof caches,o=globalThis.fetch,s=new Map,i=new Map,n=["cloudcode-pa.googleapis.com","daily-cloudcode-pa.googleapis.com","api.individual.githubcopilot.com","q.us-east-1.amazonaws.com","codewhisperer.us-east-1.amazonaws.com","api2.cursor.sh"],c=["8.8.8.8","8.8.4.4"];function l(e){return null==e?"":String(e).trim()}async function p(t){let r=i.get(t);if(r&&Date.now()<r.expiry)return r.ip;try{let r=await e.A(57408),{promisify:o}=await e.A(34777),s=new r.Resolver;s.setServers(c);let n=o(s.resolve4.bind(s)),l=await n(t);return i.set(t,{ip:l[0],expiry:Date.now()+a.MEMORY_CONFIG.dnsCacheTtlMs}),l[0]}catch(e){return console.warn(`[ProxyFetch] DNS resolve failed for ${t}:`,e.message),null}}function d(e,t){let a,r=l(t);if(!r)return!1;try{a=new URL(e).hostname.toLowerCase()}catch{return!1}return r.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean).some(e=>"*"===e||(e.startsWith(".")?a.endsWith(e)||a===e.slice(1):a===e||a.endsWith(`.${e}`)))}function u(e){let t=l(e);if(!t)return null;try{return new URL(t),t}catch{return`http://${t}`}}async function h(t){let r=u(t);if(!r)return null;if(!s.has(r)){s.size>=a.MEMORY_CONFIG.proxyDispatchersMaxSize&&s.delete(s.keys().next().value);let{ProxyAgent:t}=await e.A(4217);s.set(r,new t({uri:r}))}return s.get(r)}async function m(a,r,o){let s=await e.A(67955),i=await e.A(8884),n=s.default??s,c=i.default??i;return new Promise((e,s)=>{let i=new c.Socket;i.connect(443,r,()=>{let r={socket:i,servername:a.hostname,rejectUnauthorized:!1,path:a.pathname+a.search,method:o.method||"POST",headers:{...o.headers,Host:a.hostname}},c=n.request(r,a=>{let r={ok:a.statusCode>=200&&a.statusCode<300,status:a.statusCode,statusText:a.statusMessage,headers:new Map(Object.entries(a.headers)),body:t.Readable.toWeb(a),text:async()=>{let e=[];for await(let t of a)e.push(t);return Buffer.concat(e).toString()},json:async()=>JSON.parse(await r.text())};e(r)});c.on("error",s),o.body&&c.write("string"==typeof o.body?o.body:JSON.stringify(o.body)),c.end()}),i.on("error",s)})}async function f(e,t={},a=null){let r="string"==typeof e?e:e.toString(),s=function(e,t){if(t?.enabled!==!0&&t?.connectionProxyEnabled!==!0)return null;let a=l(t?.url??t?.connectionProxyUrl);if(!a)return null;let r=l(t?.noProxy??t?.connectionNoProxy);return r&&d(e,r)?null:u(a)}(r,a),i=s?null:u(function(e){let t;if(d(e,process.env.NO_PROXY||process.env.no_proxy))return null;try{t=new URL(e).protocol}catch{return null}return"https:"===t?process.env.HTTPS_PROXY||process.env.https_proxy||process.env.ALL_PROXY||process.env.all_proxy:process.env.HTTP_PROXY||process.env.http_proxy||process.env.ALL_PROXY||process.env.all_proxy}(r)),c=s||i;if(function(e){try{let t=new URL(e).hostname;return n.some(e=>t.includes(e))}catch{return!1}}(r)){if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct bypass: ${e.message}`)}try{let e=new URL(r),a=await p(e.hostname);if(a)return await m(e,a,t)}catch(e){console.warn(`[ProxyFetch] MITM bypass failed: ${e.message}`)}}if(c)try{let a=await h(c);return await o(e,{...t,dispatcher:a})}catch(e){if(a?.strictProxy===!0)throw Error(`[ProxyFetch] Proxy required but failed (strictProxy=true): ${e.message}`);console.warn(`[ProxyFetch] Proxy failed, falling back to direct: ${e.message}`)}return o(e,t)}async function b(e,t={}){return f(e,t,null)}r||globalThis.fetch===b||(globalThis.fetch=b),e.s(["proxyAwareFetch",0,f])}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=%5Broot-of-the-server%5D__0b802lh._.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
module.exports=[46786,(e,t,r)=>{t.exports=e.x("os",()=>require("os"))},18622,(e,t,r)=>{t.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},24725,(e,t,r)=>{t.exports=e.x("next/dist/server/app-render/after-task-async-storage.external.js",()=>require("next/dist/server/app-render/after-task-async-storage.external.js"))},14747,(e,t,r)=>{t.exports=e.x("path",()=>require("path"))},70406,(e,t,r)=>{t.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},93695,(e,t,r)=>{t.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,t,r)=>{t.exports=e.x("fs",()=>require("fs"))},12714,(e,t,r)=>{t.exports=e.x("node:fs/promises",()=>require("node:fs/promises"))},50227,(e,t,r)=>{t.exports=e.x("node:path",()=>require("node:path"))},57764,(e,t,r)=>{t.exports=e.x("node:url",()=>require("node:url"))},27699,(e,t,r)=>{t.exports=e.x("events",()=>require("events"))},2157,(e,t,r)=>{t.exports=e.x("node:fs",()=>require("node:fs"))},60526,(e,t,r)=>{t.exports=e.x("node:os",()=>require("node:os"))},22593,67059,21023,e=>{"use strict";e.s(["Low",0,class{adapter;data;constructor(e,t){!function(e,t){if(void 0===e)throw Error("lowdb: missing adapter");if(void 0===t)throw Error("lowdb: missing default data")}(e,t),this.adapter=e,this.data=t}async read(){let e=await this.adapter.read();e&&(this.data=e)}async write(){this.data&&await this.adapter.write(this.data)}async update(e){e(this.data),await this.write()}}],22593),e.i(2157);var t=e.i(12714),r=e.i(50227),a=e.i(57764);async function s(e,t,r){for(let a=0;a<t;a++)try{return await e()}catch(e){if(a<t-1)await new Promise(e=>setTimeout(e,r));else throw e}}class n{#e;#t;#r=!1;#a=null;#s=null;#n=null;#i=null;#o(e){return this.#i=e,this.#n||=new Promise((e,t)=>{this.#s=[e,t]}),new Promise((e,t)=>{this.#n?.then(e).catch(t)})}async #l(e){this.#r=!0;try{await (0,t.writeFile)(this.#t,e,"utf-8"),await s(async()=>{await (0,t.rename)(this.#t,this.#e)},10,100),this.#a?.[0]()}catch(e){throw e instanceof Error&&this.#a?.[1](e),e}finally{if(this.#r=!1,this.#a=this.#s,this.#s=this.#n=null,null!==this.#i){let e=this.#i;this.#i=null,await this.write(e)}}}constructor(e){this.#e=e,this.#t=function(e){let t=e instanceof URL?(0,a.fileURLToPath)(e):e.toString();return(0,r.join)((0,r.dirname)(t),`.${(0,r.basename)(t)}.tmp`)}(e)}async write(e){return this.#r?this.#o(e):this.#l(e)}}class i{#e;#d;constructor(e){this.#e=e,this.#d=new n(e)}async read(){let e;try{e=await (0,t.readFile)(this.#e,"utf-8")}catch(e){if("ENOENT"===e.code)return null;throw e}return e}write(e){return this.#d.write(e)}}class o{#u;#c;#p;constructor(e,{parse:t,stringify:r}){this.#u=new i(e),this.#c=t,this.#p=r}async read(){let e=await this.#u.read();return null===e?null:this.#c(e)}write(e){return this.#u.write(this.#p(e))}}e.s(["JSONFile",0,class extends o{constructor(e){super(e,{parse:JSON.parse,stringify:e=>JSON.stringify(e,null,2)})}}],67059),e.s([],21023)},92509,(e,t,r)=>{t.exports=e.x("url",()=>require("url"))},33703,e=>{"use strict";var t=e.i(22593);e.i(21023);var r=e.i(67059),a=e.i(50227),s=e.i(60526),n=e.i(2157);let i="u">typeof caches&&"object"==typeof caches,o=function(){if(i)return"/tmp";if(process.env.DATA_DIR)return process.env.DATA_DIR;process.platform;let e=s.default.homedir();return a.default.join(e,".n9router")}(),l=i?null:a.default.join(o,"request-details.json");i||n.default.existsSync(o)||n.default.mkdirSync(o,{recursive:!0});let d=null;async function u(){if(i)return null;if(!d){let e=new r.JSONFile(l),a=new t.Low(e,{records:[]});await a.read(),a.data?.records||(a.data={records:[]}),d=a}return d}let c=null,p=0;async function h(){if(c&&Date.now()-p<5e3)return c;try{let{getSettings:t}=await e.A(62724),r=await t(),a="false"!==process.env.OBSERVABILITY_ENABLED;c={enabled:"boolean"==typeof r.enableObservability?r.enableObservability:a,maxRecords:r.observabilityMaxRecords||parseInt(process.env.OBSERVABILITY_MAX_RECORDS||String(200),10),batchSize:r.observabilityBatchSize||parseInt(process.env.OBSERVABILITY_BATCH_SIZE||String(20),10),flushIntervalMs:r.observabilityFlushIntervalMs||parseInt(process.env.OBSERVABILITY_FLUSH_INTERVAL_MS||String(5e3),10),maxJsonSize:1024*(r.observabilityMaxJsonSize||parseInt(process.env.OBSERVABILITY_MAX_JSON_SIZE||"5",10))}}catch{c={enabled:!1,maxRecords:200,batchSize:20,flushIntervalMs:5e3,maxJsonSize:5120}}return p=Date.now(),c}let f=[],x=null,m=!1;async function v(){if(!i&&!m&&0!==f.length){m=!0;try{let e=[...f];f=[];let t=await u(),r=await h();for(let a of e){a.id||(a.id=function(e){let t=new Date().toISOString(),r=Math.random().toString(36).substring(2,8),a=e?e.replace(/[^a-zA-Z0-9-]/g,"-"):"unknown";return`${t}-${r}-${a}`}(a.model)),a.timestamp||(a.timestamp=new Date().toISOString()),a.request?.headers&&(a.request.headers=function(e){if(!e||"object"!=typeof e)return{};let t=["authorization","x-api-key","cookie","token","api-key"],r={...e};for(let e of Object.keys(r))t.some(t=>e.toLowerCase().includes(t))&&delete r[e];return r}(a.request.headers));let e={id:a.id,provider:a.provider||null,model:a.model||null,connectionId:a.connectionId||null,timestamp:a.timestamp,status:a.status||null,latency:a.latency||{},tokens:a.tokens||{},request:a.request||{},providerRequest:a.providerRequest||{},providerResponse:a.providerResponse||{},response:a.response||{}},s=r.maxJsonSize;for(let t of["request","providerRequest","providerResponse","response"]){let r=JSON.stringify(e[t]);r.length>s&&(e[t]={_truncated:!0,_originalSize:r.length,_preview:r.substring(0,200)})}let n=t.data.records.findIndex(t=>t.id===e.id);-1!==n?t.data.records[n]=e:t.data.records.push(e)}for(t.data.records.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp)),t.data.records.length>r.maxRecords&&(t.data.records=t.data.records.slice(0,r.maxRecords));t.data.records.length>1&&!(0x3200000>=Buffer.byteLength(JSON.stringify(t.data),"utf8"));)t.data.records=t.data.records.slice(0,Math.floor(t.data.records.length/2));await t.write()}catch(e){console.error("[requestDetailsDb] Batch write failed:",e)}finally{m=!1}}}async function w(e){if(i)return;let t=await h();t.enabled&&(f.push(e),f.length>=t.batchSize?(await v(),x&&(clearTimeout(x),x=null)):x||(x=setTimeout(()=>{v().catch(()=>{}),x=null},t.flushIntervalMs)))}async function R(e={}){if(i)return{details:[],pagination:{page:1,pageSize:50,totalItems:0,totalPages:0,hasNext:!1,hasPrev:!1}};let t=[...(await u()).data.records];e.provider&&(t=t.filter(t=>t.provider===e.provider)),e.model&&(t=t.filter(t=>t.model===e.model)),e.connectionId&&(t=t.filter(t=>t.connectionId===e.connectionId)),e.status&&(t=t.filter(t=>t.status===e.status)),e.startDate&&(t=t.filter(t=>new Date(t.timestamp)>=new Date(e.startDate))),e.endDate&&(t=t.filter(t=>new Date(t.timestamp)<=new Date(e.endDate))),t.sort((e,t)=>new Date(t.timestamp)-new Date(e.timestamp));let r=t.length,a=e.page||1,s=e.pageSize||50,n=Math.ceil(r/s);return{details:t.slice((a-1)*s,a*s),pagination:{page:a,pageSize:s,totalItems:r,totalPages:n,hasNext:a<n,hasPrev:a>1}}}async function y(e){return i?null:(await u()).data.records.find(t=>t.id===e)||null}let g=async()=>{x&&(clearTimeout(x),x=null),f.length>0&&await v()};i||(process.off("beforeExit",g),process.off("SIGINT",g),process.off("SIGTERM",g),process.off("exit",g),process.on("beforeExit",g),process.on("SIGINT",g),process.on("SIGTERM",g),process.on("exit",g)),e.s(["getRequestDetailById",0,y,"getRequestDetails",0,R,"saveRequestDetail",0,w])},87162,e=>{"use strict";var t=e.i(47909),r=e.i(74017),a=e.i(96250),s=e.i(59756),n=e.i(61916),i=e.i(74677),o=e.i(69741),l=e.i(16795),d=e.i(87718),u=e.i(95169),c=e.i(47587),p=e.i(66012),h=e.i(70101),f=e.i(26937),x=e.i(10372),m=e.i(93695);e.i(20232);var v=e.i(220),w=e.i(89171);e.i(48582);var R=e.i(33703);function y(e,t){return!t||"object"!=typeof t||Array.isArray(t)?t??e:{...e&&"object"==typeof e&&!Array.isArray(e)?e:{},...t}}async function g(e){if("local"!==e.headers.get("x-request-source"))return w.NextResponse.json({error:"forbidden"},{status:403});try{let t=await e.json();if(!t?.id)return w.NextResponse.json({error:"missing id"},{status:400});let r=await (0,R.getRequestDetailById)(t.id),a=r?{...r,...t,latency:y(r.latency,t.latency),tokens:y(r.tokens,t.tokens),request:y(r.request,t.request),providerRequest:y(r.providerRequest,t.providerRequest),providerResponse:t.providerResponse??r.providerResponse,response:y(r.response,t.response)}:t;return await (0,R.saveRequestDetail)(a),w.NextResponse.json({ok:!0,id:a.id})}catch(e){return w.NextResponse.json({error:e.message||"failed to persist request detail"},{status:500})}}e.s(["POST",0,g],2225);var S=e.i(2225);let b=new t.AppRouteRouteModule({definition:{kind:r.RouteKind.APP_ROUTE,page:"/api/internal/request-detail/route",pathname:"/api/internal/request-detail",filename:"route",bundlePath:""},distDir:".next",relativeProjectDir:"",resolvedPagePath:"[project]/src/app/api/internal/request-detail/route.js",nextConfigOutput:"standalone",userland:S,...{}}),{workAsyncStorage:q,workUnitAsyncStorage:E,serverHooks:I}=b;async function A(e,t,a){a.requestMeta&&(0,s.setRequestMeta)(e,a.requestMeta),b.isDev&&(0,s.addRequestMeta)(e,"devRequestTimingInternalsEnd",process.hrtime.bigint());let w="/api/internal/request-detail/route";w=w.replace(/\/index$/,"")||"/";let R=await b.prepare(e,t,{srcPage:w,multiZoneDraftMode:!1});if(!R)return t.statusCode=400,t.end("Bad Request"),null==a.waitUntil||a.waitUntil.call(a,Promise.resolve()),null;let{buildId:y,params:g,nextConfig:S,parsedUrl:q,isDraftMode:E,prerenderManifest:I,routerServerContext:A,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,resolvedPathname:N,clientReferenceManifest:_,serverActionsManifest:O}=R,k=(0,o.normalizeAppPath)(w),C=!!(I.dynamicRoutes[k]||I.routes[N]),P=async()=>((null==A?void 0:A.render404)?await A.render404(e,t,q,!1):t.end("This page could not be found"),null);if(C&&!E){let e=!!I.routes[N],t=I.dynamicRoutes[k];if(t&&!1===t.fallback&&!e){if(S.adapterPath)return await P();throw new m.NoFallbackError}}let j=null;!C||b.isDev||E||(j="/index"===(j=N)?"/":j);let M=!0===b.isDev||!C,B=C&&!M;O&&_&&(0,i.setManifestsSingleton)({page:w,clientReferenceManifest:_,serverActionsManifest:O});let H=e.method||"GET",L=(0,n.getTracer)(),U=L.getActiveScopeSpan(),F=!!(null==A?void 0:A.isWrappedByNextServer),z=!!(0,s.getRequestMeta)(e,"minimalMode"),$=(0,s.getRequestMeta)(e,"incrementalCache")||await b.getIncrementalCache(e,S,I,z);null==$||$.resetRequestCache(),globalThis.__incrementalCache=$;let J={params:g,previewProps:I.preview,renderOpts:{experimental:{authInterrupts:!!S.experimental.authInterrupts},cacheComponents:!!S.cacheComponents,supportsDynamicResponse:M,incrementalCache:$,cacheLifeProfiles:S.cacheLife,waitUntil:a.waitUntil,onClose:e=>{t.on("close",e)},onAfterTaskError:void 0,onInstrumentationRequestError:(t,r,a,s)=>b.onRequestError(e,t,a,s,A)},sharedContext:{buildId:y}},V=new l.NodeNextRequest(e),K=new l.NodeNextResponse(t),G=d.NextRequestAdapter.fromNodeNextRequest(V,(0,d.signalFromNodeResponse)(t));try{let s,i=async e=>b.handle(G,J).finally(()=>{if(!e)return;e.setAttributes({"http.status_code":t.statusCode,"next.rsc":!1});let r=L.getRootSpanAttributes();if(!r)return;if(r.get("next.span_type")!==u.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${r.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let a=r.get("next.route");if(a){let t=`${H} ${a}`;e.setAttributes({"next.route":a,"http.route":a,"next.span_name":t}),e.updateName(t),s&&s!==e&&(s.setAttribute("http.route",a),s.updateName(t))}else e.updateName(`${H} ${w}`)}),o=async s=>{var n,o;let l=async({previousCacheEntry:r})=>{try{if(!z&&D&&T&&!r)return t.statusCode=404,t.setHeader("x-nextjs-cache","REVALIDATED"),t.end("This page could not be found"),null;let n=await i(s);e.fetchMetrics=J.renderOpts.fetchMetrics;let o=J.renderOpts.pendingWaitUntil;o&&a.waitUntil&&(a.waitUntil(o),o=void 0);let l=J.renderOpts.collectedTags;if(!C)return await (0,p.sendResponse)(V,K,n,J.renderOpts.pendingWaitUntil),null;{let e=await n.blob(),t=(0,h.toNodeOutgoingHttpHeaders)(n.headers);l&&(t[x.NEXT_CACHE_TAGS_HEADER]=l),!t["content-type"]&&e.type&&(t["content-type"]=e.type);let r=void 0!==J.renderOpts.collectedRevalidate&&!(J.renderOpts.collectedRevalidate>=x.INFINITE_CACHE)&&J.renderOpts.collectedRevalidate,a=void 0===J.renderOpts.collectedExpire||J.renderOpts.collectedExpire>=x.INFINITE_CACHE?void 0:J.renderOpts.collectedExpire;return{value:{kind:v.CachedRouteKind.APP_ROUTE,status:n.status,body:Buffer.from(await e.arrayBuffer()),headers:t},cacheControl:{revalidate:r,expire:a}}}}catch(t){throw(null==r?void 0:r.isStale)&&await b.onRequestError(e,t,{routerKind:"App Router",routePath:w,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),t}},d=await b.handleResponse({req:e,nextConfig:S,cacheKey:j,routeKind:r.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:I,isRoutePPREnabled:!1,isOnDemandRevalidate:D,revalidateOnlyGenerated:T,responseGenerator:l,waitUntil:a.waitUntil,isMinimalMode:z});if(!C)return null;if((null==d||null==(n=d.value)?void 0:n.kind)!==v.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==d||null==(o=d.value)?void 0:o.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});z||t.setHeader("x-nextjs-cache",D?"REVALIDATED":d.isMiss?"MISS":d.isStale?"STALE":"HIT"),E&&t.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let u=(0,h.fromNodeOutgoingHttpHeaders)(d.value.headers);return z&&C||u.delete(x.NEXT_CACHE_TAGS_HEADER),!d.cacheControl||t.getHeader("Cache-Control")||u.get("Cache-Control")||u.set("Cache-Control",(0,f.getCacheControlHeader)(d.cacheControl)),await (0,p.sendResponse)(V,K,new Response(d.value.body,{headers:u,status:d.value.status||200})),null};F&&U?await o(U):(s=L.getActiveScopeSpan(),await L.withPropagatedContext(e.headers,()=>L.trace(u.BaseServerSpan.handleRequest,{spanName:`${H} ${w}`,kind:n.SpanKind.SERVER,attributes:{"http.method":H,"http.target":e.url}},o),void 0,!F))}catch(t){if(t instanceof m.NoFallbackError||await b.onRequestError(e,t,{routerKind:"App Router",routePath:k,routeType:"route",revalidateReason:(0,c.getRevalidateReason)({isStaticGeneration:B,isOnDemandRevalidate:D})},!1,A),C)throw t;return await (0,p.sendResponse)(V,K,new Response(null,{status:500})),null}}e.s(["handler",0,A,"patchFetch",0,function(){return(0,a.patchFetch)({workAsyncStorage:q,workUnitAsyncStorage:E})},"routeModule",0,b,"serverHooks",0,I,"workAsyncStorage",0,q,"workUnitAsyncStorage",0,E],87162)},62724,e=>{e.v(t=>Promise.all(["server/chunks/[root-of-the-server]__09pq~46._.js","server/chunks/_0amvca6._.js"].map(t=>e.l(t))).then(()=>t(26753)))}];
|
|
2
|
+
|
|
3
|
+
//# sourceMappingURL=%5Broot-of-the-server%5D__0bcktr4._.js.map
|