@jheavenknows/bluerouter 5.4.3 → 5.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +11 -17
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +0 -56
- package/app/.next-cli-build/routes-manifest.json +0 -36
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ai-power-index/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/api-keys/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/audit-proxy/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/model-profiles/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cluster/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/console/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/console/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/console/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personal/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovider/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalcloudprovidermonitor/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/personalquota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/prompt-logs/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/provider-health/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/stt/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/tts/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/resource-monitor/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/ca/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/me/route.js +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/me/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/audit-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/users/route.js +1 -1
- package/app/.next-cli-build/server/app/api/audit-proxy/users/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/ldap/users/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/login/route.js +2 -2
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/view-mode/route.js +1 -1
- package/app/.next-cli-build/server/app/api/auth/view-mode/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/branding/[asset]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/branding/[asset]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/branding/route.js +1 -1
- package/app/.next-cli-build/server/app/api/branding/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/branding/upload/route.js +1 -1
- package/app/.next-cli-build/server/app/api/branding/upload/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/cloud-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-model-profiles/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/autostart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/prompt-log-db/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/root-ca/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/qwen-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/config/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/config/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/heartbeat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/[id]/command/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/peers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cluster/snapshot/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cluster/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cluster/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +2 -2
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/ai-power-index/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/ai-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js +2 -41
- package/app/.next-cli-build/server/app/api/dashboard/analytics/analyze/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js +2 -2
- package/app/.next-cli-build/server/app/api/dashboard/analytics/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/endpoint/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/options/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/prompt-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js +2 -2
- package/app/.next-cli-build/server/app/api/dashboard/token-saver/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/caveman-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js +2 -2
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +2 -2
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +2 -2
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/device-code/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/poll/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/api-key-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/import-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/move/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/[id]/usage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/monitor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/permissions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/routing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/shares/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js +1 -1
- package/app/.next-cli-build/server/app/api/personal-cloud-providers/visibility/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/catalog/route.js +2 -2
- package/app/.next-cli-build/server/app/api/pricing/catalog/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/recalculate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-health/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/openai-compatible/manage/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js +1 -40
- package/app/.next-cli-build/server/app/api/resource-monitor/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/ai-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js +2 -41
- package/app/.next-cli-build/server/app/api/resource-monitor/analyze/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js +1 -40
- package/app/.next-cli-build/server/app/api/resource-monitor/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/resource-monitor/route.js +1 -40
- package/app/.next-cli-build/server/app/api/resource-monitor/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-start-daemon/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/restart/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/!KGRhc2hib2FyZCk/dashboard/ai-power-index/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/ai-power-index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/api-keys.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/api-keys.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/!KGRhc2hib2FyZCk/dashboard/api-keys/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/api-keys.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/model-profiles/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools/model-profiles.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cluster.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cluster.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/!KGRhc2hib2FyZCk/dashboard/cluster/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/cluster.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/logs.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/logs.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/logs.segments/!KGRhc2hib2FyZCk/dashboard/logs/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/logs.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/logs.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/personal.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/personal.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/personal.segments/!KGRhc2hib2FyZCk/dashboard/personal/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/personal.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/personal.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/!KGRhc2hib2FyZCk/dashboard/prompt-logs/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/prompt-logs.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/provider-health.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/provider-health.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/!KGRhc2hib2FyZCk/dashboard/provider-health/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/provider-health.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/stt.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/stt.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/!KGRhc2hib2FyZCk/dashboard/providers/stt/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/stt.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/tts.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/tts.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/!KGRhc2hib2FyZCk/dashboard/providers/tts/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers/tts.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/!KGRhc2hib2FyZCk/dashboard/resource-monitor/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/resource-monitor.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/!KGRhc2hib2FyZCk/dashboard/settings/pricing/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/favicon.ico/route.js +1 -1
- package/app/.next-cli-build/server/app/favicon.ico/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +7 -7
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +11 -17
- package/app/.next-cli-build/server/chunks/{8360.js → 1470.js} +2 -2
- package/app/.next-cli-build/server/chunks/2731.js +1 -1
- package/app/.next-cli-build/server/chunks/3399.js +1 -1
- package/app/.next-cli-build/server/chunks/3433.js +5 -5
- package/app/.next-cli-build/server/chunks/4064.js +40 -0
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4790.js +2 -2
- package/app/.next-cli-build/server/chunks/6328.js +1 -1
- package/app/.next-cli-build/server/chunks/6992.js +1 -1
- package/app/.next-cli-build/server/chunks/{7252.js → 7478.js} +2 -2
- package/app/.next-cli-build/server/chunks/7774.js +9 -9
- package/app/.next-cli-build/server/chunks/8352.js +2 -2
- package/app/.next-cli-build/server/chunks/8640.js +1 -1
- package/app/.next-cli-build/server/chunks/9434.js +1 -1
- package/app/.next-cli-build/server/functions-config-manifest.json +0 -3
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/prefetch-hints.json +0 -48
- package/app/.next-cli-build/static/0Dv6zNbjXmmBjIsBPEnA4/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/{5263-5e205412cc7c5cc5.js → 5263-b89232068b3f9372.js} +1 -1
- package/app/.next-cli-build/static/chunks/{5497-5a74bd564aed4d91.js → 5497-c352fe8c48441441.js} +3 -3
- package/app/.next-cli-build/static/chunks/app/_global-error/page-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/ca/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/me/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/users/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/branding/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/combos/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/health/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/init/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/keys/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/locale/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-health/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/settings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tags/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/restart/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/app/page-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-789cc66c3eec1431.js +1 -0
- package/app/.next-cli-build/static/css/94ed68d5c090ac3d.css +1 -0
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-shm +0 -0
- package/app/cli/.build-home/AppData/Roaming/bluerouter/db/data.sqlite-wal +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js +0 -18
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/local-ai-report/page_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js +0 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-topology/page_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js +0 -27
- package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/local-ai-report/route_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/config/route_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/live/route_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route.js.nft.json +0 -1
- package/app/.next-cli-build/server/app/api/dashboard/routing-topology/route_client-reference-manifest.js +0 -1
- package/app/.next-cli-build/server/app/dashboard/local-ai-report.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/local-ai-report.meta +0 -36
- package/app/.next-cli-build/server/app/dashboard/local-ai-report.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/!KGRhc2hib2FyZCk/dashboard/local-ai-report/__PAGE__.segment.rsc +0 -32
- package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_full.segment.rsc +0 -25
- package/app/.next-cli-build/server/app/dashboard/local-ai-report.segments/_tree.segment.rsc +0 -4
- package/app/.next-cli-build/server/app/dashboard/routing-topology.html +0 -1
- package/app/.next-cli-build/server/app/dashboard/routing-topology.meta +0 -36
- package/app/.next-cli-build/server/app/dashboard/routing-topology.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/!KGRhc2hib2FyZCk/dashboard/routing-topology/__PAGE__.segment.rsc +0 -35
- package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_full.segment.rsc +0 -28
- package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_tree.segment.rsc +0 -4
- package/app/.next-cli-build/server/chunks/9868.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/local-ai-report/page-560eded56e8ad020.js +0 -18
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/routing-topology/page-9c3843549aadfa60.js +0 -1
- package/app/.next-cli-build/static/chunks/app/_global-error/page-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/ca/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/me/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/audit-proxy/users/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/ldap/test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/ldap/users/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/login/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/logout/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/callback/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/start/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/oidc/test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/status/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/auth/view-mode/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/branding/[asset]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/branding/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/branding/upload/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/cloud-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-model-profiles/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/all-statuses/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/alias/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/autostart/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/prompt-log-db/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/root-ca/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/antigravity-mitm/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/claude-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cline-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/codex-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/copilot-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/cowork-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/deepseek-tui-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/droid-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/hermes-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/jcode-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/kilo-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/openclaw-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/opencode-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cli-tools/qwen-settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/config/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/heartbeat/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/command/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/peers/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/peers/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/snapshot/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/sync/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/cluster/test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/combos/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/ai-power-index/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/ai-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/analyze/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/analytics/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/combos/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/endpoint/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/local-ai-report/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/options/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/prompt-logs/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/config/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/live/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/routing-topology/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/dashboard/token-saver/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/health/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/init/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/caveman-test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/rotate/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/keys/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/locale/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/message/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/mcp/[plugin]/sse/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/deepgram/voices/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/inworld/voices/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/minimax/voices/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/media-providers/tts/voices/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/alias/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/availability/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/custom/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/disabled/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/models/test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/[provider]/[action]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/codex/import-token/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/auto-import/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/cursor/import/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/gitlab/pat/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/device-code/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/grok-cli/poll/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/iflow/cookie/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/auto-import/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/import/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-authorize/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/oauth/kiro/social-exchange/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/api-key-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/import-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/models/[...routeModel]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/move/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/[id]/usage/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/client/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/monitor/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/permissions/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/routing/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/shares/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/personal-cloud-providers/visibility/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/catalog/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/recalculate/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/pricing/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-health/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/openai-compatible/manage/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/provider-nodes/validate/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/[id]/test-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/client/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/kilo/free-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/suggested-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/test-batch/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/providers/validate/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/[id]/test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/deno-deploy/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/proxy-pools/vercel-deploy/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/[id]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/ai-models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/analyze/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/history/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/resource-monitor/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/database/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/proxy-test/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/require-login/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/settings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/shutdown/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tags/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/console-logs/stream/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/load/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/save/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/send/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/translator/translate/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/disable/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/enable/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/status/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-check/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-disable/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-enable/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-install/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-login/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/tunnel/tailscale-start-daemon/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/[connectionId]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/chart/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/history/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/logs/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/providers/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-details/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/request-logs/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stats/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/usage/stream/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/api/chat/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/speech/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/transcriptions/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/audio/voices/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/chat/completions/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/embeddings/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/images/generations/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/count_tokens/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/messages/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/[kind]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/info/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/compact/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/responses/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/search/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1/web/fetch/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/[...path]/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/v1beta/models/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/restart/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/shutdown/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/api/version/update/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/manifest.webmanifest/route-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/app/page-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/app-error-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/forbidden-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/not-found-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/unauthorized-93683cb6650b0784.js +0 -1
- package/app/.next-cli-build/static/css/17d7fff728bde406.css +0 -1
- package/app/.next-cli-build/static/qO0o75GBaTmzRwkeHGVeM/_buildManifest.js +0 -1
- /package/app/.next-cli-build/static/{qO0o75GBaTmzRwkeHGVeM → 0Dv6zNbjXmmBjIsBPEnA4}/_ssgManifest.js +0 -0
- /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.85-to-5.3.86-5.3.86-20260823-213743 → upgrade-5.4.1-to-5.4.2-5.4.2-20260823-230632}/data.sqlite +0 -0
- /package/app/cli/.build-home/AppData/Roaming/bluerouter/db/backups/{upgrade-5.3.86-to-5.3.87-5.3.87-20260823-220012 → upgrade-5.4.2-to-5.4.3-5.4.3-20260823-231221}/data.sqlite +0 -0
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[30238,["7179","static/chunks/app/(dashboard)/dashboard/local-ai-report/page-560eded56e8ad020.js"],"default"]
|
|
3
|
-
3:I[90484,[],"OutletBoundary"]
|
|
4
|
-
4:"$Sreact.suspense"
|
|
5
|
-
8:I[90484,[],"ViewportBoundary"]
|
|
6
|
-
9:I[90484,[],"MetadataBoundary"]
|
|
7
|
-
a:I[86869,[],"IconMark"]
|
|
8
|
-
c:I[57121,[],""]
|
|
9
|
-
d:I[74581,[],""]
|
|
10
|
-
11:I[86671,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
11
|
-
13:I[44656,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"BrandingProvider"]
|
|
12
|
-
14:I[70255,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
13
|
-
15:I[21110,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"ThemeProvider"]
|
|
14
|
-
16:I[94635,["1101","static/chunks/1101-24e8a2ac5c831741.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7177","static/chunks/app/layout-246e5f10ac28be17.js"],"RuntimeI18nProvider"]
|
|
15
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
16
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
17
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
18
|
-
7:X
|
|
19
|
-
f:X
|
|
20
|
-
f:C
|
|
21
|
-
0:{"buildId":"qO0o75GBaTmzRwkeHGVeM","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{}],null,["$","$L3",null,{"children":["$","$4",null,{"name":"Next.MetadataOutlet","children":"$@5"}]}]]}],"isPartial":"$@6","staleTime":"$7","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$L8",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","div",null,{"hidden":true,"children":["$","$L9",null,{"children":["$","$4",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"Local AI Report"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?d69b7278ea27dcf7","type":"image/x-icon","sizes":"32x32"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$La","5",{}]]}]}]}],null]}],"isPartial":"$@b","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}]}]]}],"isPartial":"$@e","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$1","c",{"children":[null,["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}]}]]}],"isPartial":"$@10","staleTime":"$7","varyParams":"$f"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/221b81ade2eff395.css","precedence":"next"}]],["$","$L11",null,{"children":["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}],"isPartial":"$@12","staleTime":"$7","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7a3e1568f247f3d0.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/17d7fff728bde406.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":["$","$L13",null,{"initialBranding":{"siteTitle":"","siteShortName":"","siteDescription":"","logoUrl":null,"faviconUrl":null,"logoMime":null,"faviconMime":null,"hasLogo":false,"hasFavicon":false},"children":[["$","$L14",null,{}],["$","$L15",null,{"children":["$","$L16",null,{"children":["$","$Lc",null,{"parallelRouterKey":"children","template":["$","$Ld",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]}]]}]]}],"isPartial":"$@17","staleTime":"$7","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@18","rootVaryParams":null,"needsRuntimeRequest":"$@19"}
|
|
22
|
-
5:null
|
|
23
|
-
7:300
|
|
24
|
-
19:true
|
|
25
|
-
7:C
|
|
26
|
-
18:0
|
|
27
|
-
b:"$undefined"
|
|
28
|
-
e:"$undefined"
|
|
29
|
-
10:"$undefined"
|
|
30
|
-
12:"$undefined"
|
|
31
|
-
17:"$undefined"
|
|
32
|
-
6:"$undefined"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
3:I[86671,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
3
|
-
4:I[57121,[],""]
|
|
4
|
-
5:I[74581,[],""]
|
|
5
|
-
6:I[30238,["7179","static/chunks/app/(dashboard)/dashboard/local-ai-report/page-560eded56e8ad020.js"],"default"]
|
|
6
|
-
7:I[90484,[],"OutletBoundary"]
|
|
7
|
-
8:"$Sreact.suspense"
|
|
8
|
-
b:I[90484,[],"ViewportBoundary"]
|
|
9
|
-
d:I[90484,[],"MetadataBoundary"]
|
|
10
|
-
f:I[27123,[],"default",1]
|
|
11
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
12
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
13
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
14
|
-
a:X
|
|
15
|
-
0:{"P":null,"c":["","dashboard","local-ai-report"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["local-ai-report",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7a3e1568f247f3d0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/17d7fff728bde406.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/221b81ade2eff395.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{}],null,["$","$L7",null,{"children":["$","$8",null,{"name":"Next.MetadataOutlet","children":"$@9"}]}]]}],{},null,false,null]},null,false,"$a"]},null,false,"$a"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Lb",null,{"children":"$Lc"}],["$","div",null,{"hidden":true,"children":["$","$Ld",null,{"children":["$","$8",null,{"name":"Next.Metadata","children":"$Le"}]}]}],null]}],false]],"m":"$undefined","G":["$f",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"qO0o75GBaTmzRwkeHGVeM"}
|
|
16
|
-
10:I[44656,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"BrandingProvider"]
|
|
17
|
-
11:I[70255,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
18
|
-
12:I[21110,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"ThemeProvider"]
|
|
19
|
-
13:I[94635,["1101","static/chunks/1101-24e8a2ac5c831741.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7177","static/chunks/app/layout-246e5f10ac28be17.js"],"RuntimeI18nProvider"]
|
|
20
|
-
a:C
|
|
21
|
-
2:["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":["$","$L10",null,{"initialBranding":{"siteTitle":"","siteShortName":"","siteDescription":"","logoUrl":null,"faviconUrl":null,"logoMime":null,"faviconMime":null,"hasLogo":false,"hasFavicon":false},"children":[["$","$L11",null,{}],["$","$L12",null,{"children":["$","$L13",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]}]]}]
|
|
22
|
-
c:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]
|
|
23
|
-
14:I[86869,[],"IconMark"]
|
|
24
|
-
9:null
|
|
25
|
-
e:[["$","title","0",{"children":"Local AI Report"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?d69b7278ea27dcf7","type":"image/x-icon","sizes":"32x32"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L14","5",{}]]
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
2
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
3
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
4
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":4192,"slots":{"children":{"name":"dashboard","param":null,"prefetchHints":4192,"slots":{"children":{"name":"local-ai-report","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}}}}}},"staleTime":300,"buildId":"qO0o75GBaTmzRwkeHGVeM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/css/7a3e1568f247f3d0.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/17d7fff728bde406.css" data-precedence="next"/><link rel="stylesheet" href="/_next/static/css/221b81ade2eff395.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-7223ab98c3aee1a6.js"/><script src="/_next/static/chunks/4bd1b696-8a4ab4fdf0ae305a.js" async=""></script><script src="/_next/static/chunks/3794-d7cddff008311ab3.js" async=""></script><script src="/_next/static/chunks/main-app-eacc433ef218cf40.js" async=""></script><script src="/_next/static/chunks/1a258343-a1c000c55ff2ed8c.js" async=""></script><script src="/_next/static/chunks/8500-01a63dafd809e317.js" async=""></script><script src="/_next/static/chunks/9893-065a17773674bd0a.js" async=""></script><script src="/_next/static/chunks/9959-ac64565001d4586c.js" async=""></script><script src="/_next/static/chunks/7050-a706e6827db952b3.js" async=""></script><script src="/_next/static/chunks/5564-f72b35ee73d33b9b.js" async=""></script><script src="/_next/static/chunks/5263-5e205412cc7c5cc5.js" async=""></script><script src="/_next/static/chunks/7033-c1289a2f17cb7185.js" async=""></script><script src="/_next/static/chunks/5497-5a74bd564aed4d91.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js" async=""></script><script src="/_next/static/chunks/app/(dashboard)/dashboard/routing-topology/page-9c3843549aadfa60.js" async=""></script><script src="/_next/static/chunks/1101-24e8a2ac5c831741.js" async=""></script><script src="/_next/static/chunks/app/layout-246e5f10ac28be17.js" async=""></script><meta name="theme-color" content="#0a0a0a"/><title>AI Router Gateway - AI Infrastructure Management</title><meta name="description" content="One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."/><link rel="manifest" href="/manifest.webmanifest"/><link rel="icon" href="/favicon.ico?d69b7278ea27dcf7" type="image/x-icon" sizes="32x32"/><link rel="icon" href="/favicon.svg"/><script>if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body class="__variable_f367f3 font-sans antialiased"><div hidden=""><!--$--><!--/$--></div><div class="flex min-h-screen items-center justify-center bg-background text-sm text-text-muted"><span class="material-symbols-outlined mr-2 animate-spin">progress_activity</span>Đang tải dashboard...</div><script src="/_next/static/chunks/webpack-7223ab98c3aee1a6.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n3:I[86671,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-5e205412cc7c5cc5.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-5a74bd564aed4d91.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"default\"]\n4:I[57121,[],\"\"]\n5:I[74581,[],\"\"]\n6:I[61304,[],\"ClientPageRoot\"]\n7:I[72762,[\"7226\",\"static/chunks/app/(dashboard)/dashboard/routing-topology/page-9c3843549aadfa60.js\"],\"default\"]\na:I[90484,[],\"OutletBoundary\"]\nb:\"$Sreact.suspense\"\ne:I[90484,[],\"ViewportBoundary\"]\n10:I[90484,[],\"MetadataBoundary\"]\n12:I[27123,[],\"default\",1]\n:HL[\"/_next/static/css/7a3e1568f247f3d0.css\",\"style\"]\n:HL[\"/_next/static/css/17d7fff728bde406.css\",\"style\"]\n:HL[\"/_next/static/css/221b81ade2eff395.css\",\"style\"]\nd:X\n0:{\"P\":null,\"c\":[\"\",\"dashboard\",\"routing-topology\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(dashboard)\",{\"children\":[\"dashboard\",{\"children\":[\"routing-topology\",{\"children\":[\"__PAGE__\",{},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4608]},\"$undefined\",\"$undefined\",4624],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/7a3e1568f247f3d0.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"link\",\"1\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/17d7fff728bde406.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],\"$L2\"]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/221b81ade2eff395.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"$L3\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$L6\",null,{\"Component\":\"$7\",\"serverProvidedParams\":{\"searchParams\":{},\"params\":{},\"promises\":[\"$@8\",\"$@9\"]}}],null,[\"$\",\"$La\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@c\"}]}]]}],{},null,false,null]},null,false,\"$d\"]},null,false,\"$d\"]},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$Le\",null,{\"children\":\"$Lf\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L10\",null,{\"children\":[\"$\",\"$b\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L11\"}]}]}],null]}],false]],\"m\":\"$undefined\",\"G\":[\"$12\",[]],\"S\":true,\"h\":null,\"r\":\"$undefined\",\"s\":\"$undefined\",\"a\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"qO0o75GBaTmzRwkeHGVeM\"}\nd:C\n8:{}\n9:\"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params\"\n13:I[44656,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-5e205412cc7c5cc5.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-5a74bd564aed4d91.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"BrandingProvider\"]\n14:I[70255,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-5e205412cc7c5cc5.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-5a74bd564aed4d91.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"default\"]\n15:I[21110,[\"3862\",\"static/chunks/1a258343-a1c000c55ff2ed8c.js\",\"8500\",\"static/chunks/8500-01a63dafd809e317.js\",\"9893\",\"static/chunks/9893-065a17773674bd0a.js\",\"9959\",\"static/chunks/9959-ac64565001d4586c.js\",\"7050\",\"static/chunks/7050-a706e6827db952b3.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-5e205412cc7c5cc5.js\",\"7033\",\"static/chunks/7033-c1289a2f17cb7185.js\",\"5497\",\"static/chunks/5497-5a74bd564aed4d91.js\",\"9305\",\"static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js\"],\"ThemeProvider\"]\n16:I[94635,[\"1101\",\"static/chunks/1101-24e8a2ac5c831741.js\",\"5564\",\"static/chunks/5564-f72b35ee73d33b9b.js\",\"5263\",\"static/chunks/5263-5e205412cc7c5cc5.js\",\"7177\",\"static/chunks/app/layout-246e5f10ac28be17.js\"],\"RuntimeI18nProvider\"]\n2:[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"if(document.fonts\u0026\u0026document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}\"}}]}],[\"$\",\"body\",null,{\"className\":\"__variable_f367f3 font-sans antialiased\",\"children\":[\"$\",\"$L13\",null,{\"initialBranding\":{\"siteTitle\":\"\",\"siteShortName\":\"\",\"siteDescription\":\"\",\"logoUrl\":null,\"faviconUrl\":null,\"logoMime\":null,\"faviconMime\":null,\"hasLogo\":false,\"hasFavicon\":false},\"children\":[[\"$\",\"$L14\",null,{}],[\"$\",\"$L15\",null,{\"children\":[\"$\",\"$L16\",null,{\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]}]]}]}]]}]\nf:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}],[\"$\",\"meta\",\"2\",{\"name\":\"theme-color\",\"content\":\"#0a0a0a\"}]]\n17:I[86869,[],\"IconMark\"]\nc:null\n11:[[\"$\",\"title\",\"0\",{\"children\":\"AI Router Gateway - AI Infrastructure Management\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"manifest\",\"href\":\"/manifest.webmanifest\",\"crossOrigin\":\"$undefined\"}],[\"$\",\"link\",\"3\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?d69b7278ea27dcf7\",\"type\":\"image/x-icon\",\"sizes\":\"32x32\"}],[\"$\",\"link\",\"4\",{\"rel\":\"icon\",\"href\":\"/favicon.svg\"}],[\"$\",\"$L17\",\"5\",{}]]\n"])</script></body></html>
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"headers": {
|
|
3
|
-
"x-nextjs-stale-time": "300",
|
|
4
|
-
"x-nextjs-prerender": "1",
|
|
5
|
-
"x-next-cache-tags": "_N_T_/layout,_N_T_/(dashboard)/layout,_N_T_/(dashboard)/dashboard/layout,_N_T_/(dashboard)/dashboard/routing-topology/layout,_N_T_/(dashboard)/dashboard/routing-topology/page,_N_T_/dashboard/routing-topology"
|
|
6
|
-
},
|
|
7
|
-
"segmentPaths": [
|
|
8
|
-
"/_tree",
|
|
9
|
-
"/_full",
|
|
10
|
-
"/!KGRhc2hib2FyZCk/dashboard/routing-topology/__PAGE__"
|
|
11
|
-
],
|
|
12
|
-
"prefetchHints": {
|
|
13
|
-
"hints": 64,
|
|
14
|
-
"slots": {
|
|
15
|
-
"children": {
|
|
16
|
-
"hints": 96,
|
|
17
|
-
"slots": {
|
|
18
|
-
"children": {
|
|
19
|
-
"hints": 96,
|
|
20
|
-
"slots": {
|
|
21
|
-
"children": {
|
|
22
|
-
"hints": 96,
|
|
23
|
-
"slots": {
|
|
24
|
-
"children": {
|
|
25
|
-
"hints": 160,
|
|
26
|
-
"slots": null
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
3:I[86671,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
3
|
-
4:I[57121,[],""]
|
|
4
|
-
5:I[74581,[],""]
|
|
5
|
-
6:I[61304,[],"ClientPageRoot"]
|
|
6
|
-
7:I[72762,["7226","static/chunks/app/(dashboard)/dashboard/routing-topology/page-9c3843549aadfa60.js"],"default"]
|
|
7
|
-
a:I[90484,[],"OutletBoundary"]
|
|
8
|
-
b:"$Sreact.suspense"
|
|
9
|
-
e:I[90484,[],"ViewportBoundary"]
|
|
10
|
-
10:I[90484,[],"MetadataBoundary"]
|
|
11
|
-
12:I[27123,[],"default",1]
|
|
12
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
13
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
14
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
15
|
-
d:X
|
|
16
|
-
0:{"P":null,"c":["","dashboard","routing-topology"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["routing-topology",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7a3e1568f247f3d0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/17d7fff728bde406.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/221b81ade2eff395.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],null,["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$d"]},null,false,"$d"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],null]}],false]],"m":"$undefined","G":["$12",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"qO0o75GBaTmzRwkeHGVeM"}
|
|
17
|
-
d:C
|
|
18
|
-
8:{}
|
|
19
|
-
9:"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
20
|
-
13:I[44656,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"BrandingProvider"]
|
|
21
|
-
14:I[70255,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
22
|
-
15:I[21110,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"ThemeProvider"]
|
|
23
|
-
16:I[94635,["1101","static/chunks/1101-24e8a2ac5c831741.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7177","static/chunks/app/layout-246e5f10ac28be17.js"],"RuntimeI18nProvider"]
|
|
24
|
-
2:["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":["$","$L13",null,{"initialBranding":{"siteTitle":"","siteShortName":"","siteDescription":"","logoUrl":null,"faviconUrl":null,"logoMime":null,"faviconMime":null,"hasLogo":false,"hasFavicon":false},"children":[["$","$L14",null,{}],["$","$L15",null,{"children":["$","$L16",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]}]]}]
|
|
25
|
-
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]
|
|
26
|
-
17:I[86869,[],"IconMark"]
|
|
27
|
-
c:null
|
|
28
|
-
11:[["$","title","0",{"children":"AI Router Gateway - AI Infrastructure Management"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?d69b7278ea27dcf7","type":"image/x-icon","sizes":"32x32"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L17","5",{}]]
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
2:I[61304,[],"ClientPageRoot"]
|
|
3
|
-
3:I[72762,["7226","static/chunks/app/(dashboard)/dashboard/routing-topology/page-9c3843549aadfa60.js"],"default"]
|
|
4
|
-
6:I[90484,[],"OutletBoundary"]
|
|
5
|
-
7:"$Sreact.suspense"
|
|
6
|
-
b:I[90484,[],"ViewportBoundary"]
|
|
7
|
-
c:I[90484,[],"MetadataBoundary"]
|
|
8
|
-
d:I[86869,[],"IconMark"]
|
|
9
|
-
f:I[57121,[],""]
|
|
10
|
-
10:I[74581,[],""]
|
|
11
|
-
14:I[86671,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
12
|
-
16:I[44656,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"BrandingProvider"]
|
|
13
|
-
17:I[70255,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
14
|
-
18:I[21110,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"ThemeProvider"]
|
|
15
|
-
19:I[94635,["1101","static/chunks/1101-24e8a2ac5c831741.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7177","static/chunks/app/layout-246e5f10ac28be17.js"],"RuntimeI18nProvider"]
|
|
16
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
17
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
18
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
19
|
-
a:X
|
|
20
|
-
12:X
|
|
21
|
-
12:C
|
|
22
|
-
0:{"buildId":"qO0o75GBaTmzRwkeHGVeM","data":[{"rsc":["$","$1","c",{"children":[["$","$L2",null,{"Component":"$3","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@4","$@5"]}}],null,["$","$L6",null,{"children":["$","$7",null,{"name":"Next.MetadataOutlet","children":"$@8"}]}]]}],"isPartial":"$@9","staleTime":"$a","varyParams":null},{"rsc":["$","$1","h",{"children":[null,["$","$Lb",null,{"children":[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]}],["$","div",null,{"hidden":true,"children":["$","$Lc",null,{"children":["$","$7",null,{"name":"Next.Metadata","children":[["$","title","0",{"children":"AI Router Gateway - AI Infrastructure Management"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?d69b7278ea27dcf7","type":"image/x-icon","sizes":"32x32"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$Ld","5",{}]]}]}]}],null]}],"isPartial":"$@e","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}]}]]}],"isPartial":"$@11","staleTime":"$a","varyParams":"$12"},{"rsc":["$","$1","c",{"children":[null,["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}]}]]}],"isPartial":"$@13","staleTime":"$a","varyParams":"$12"},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/221b81ade2eff395.css","precedence":"next"}]],["$","$L14",null,{"children":["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]]}]}]]}],"isPartial":"$@15","staleTime":"$a","varyParams":null},{"rsc":["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7a3e1568f247f3d0.css","precedence":"next"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/17d7fff728bde406.css","precedence":"next"}]],["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":["$","$L16",null,{"initialBranding":{"siteTitle":"","siteShortName":"","siteDescription":"","logoUrl":null,"faviconUrl":null,"logoMime":null,"faviconMime":null,"hasLogo":false,"hasFavicon":false},"children":[["$","$L17",null,{}],["$","$L18",null,{"children":["$","$L19",null,{"children":["$","$Lf",null,{"parallelRouterKey":"children","template":["$","$L10",null,{}],"notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:data:4:rsc:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]]}]}]}]]}]}]]}]]}],"isPartial":"$@1a","staleTime":"$a","varyParams":null}],"isUpgradeableISRFallback":false,"a":"$@1b","rootVaryParams":null,"needsRuntimeRequest":"$@1c"}
|
|
23
|
-
4:{}
|
|
24
|
-
5:"$0:data:0:rsc:props:children:0:props:serverProvidedParams:params"
|
|
25
|
-
8:null
|
|
26
|
-
a:300
|
|
27
|
-
1c:true
|
|
28
|
-
a:C
|
|
29
|
-
1b:0
|
|
30
|
-
e:"$undefined"
|
|
31
|
-
11:"$undefined"
|
|
32
|
-
13:"$undefined"
|
|
33
|
-
15:"$undefined"
|
|
34
|
-
1a:"$undefined"
|
|
35
|
-
9:"$undefined"
|
package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_full.segment.rsc
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
1:"$Sreact.fragment"
|
|
2
|
-
3:I[86671,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
3
|
-
4:I[57121,[],""]
|
|
4
|
-
5:I[74581,[],""]
|
|
5
|
-
6:I[61304,[],"ClientPageRoot"]
|
|
6
|
-
7:I[72762,["7226","static/chunks/app/(dashboard)/dashboard/routing-topology/page-9c3843549aadfa60.js"],"default"]
|
|
7
|
-
a:I[90484,[],"OutletBoundary"]
|
|
8
|
-
b:"$Sreact.suspense"
|
|
9
|
-
e:I[90484,[],"ViewportBoundary"]
|
|
10
|
-
10:I[90484,[],"MetadataBoundary"]
|
|
11
|
-
12:I[27123,[],"default",1]
|
|
12
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
13
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
14
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
15
|
-
d:X
|
|
16
|
-
0:{"P":null,"c":["","dashboard","routing-topology"],"q":"","i":false,"f":[[["",{"children":["(dashboard)",{"children":["dashboard",{"children":["routing-topology",{"children":["__PAGE__",{},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4608]},"$undefined","$undefined",4624],[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/7a3e1568f247f3d0.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}],["$","link","1",{"rel":"stylesheet","href":"/_next/static/css/17d7fff728bde406.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],"$L2"]}],{"children":[["$","$1","c",{"children":[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/221b81ade2eff395.css","precedence":"next","crossOrigin":"$undefined","nonce":"$undefined"}]],["$","$L3",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":404}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[null,["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":"$undefined","forbidden":"$undefined","unauthorized":"$undefined"}]]}],{"children":[["$","$1","c",{"children":[["$","$L6",null,{"Component":"$7","serverProvidedParams":{"searchParams":{},"params":{},"promises":["$@8","$@9"]}}],null,["$","$La",null,{"children":["$","$b",null,{"name":"Next.MetadataOutlet","children":"$@c"}]}]]}],{},null,false,null]},null,false,"$d"]},null,false,"$d"]},null,false,null]},null,false,null],["$","$1","h",{"children":[null,["$","$Le",null,{"children":"$Lf"}],["$","div",null,{"hidden":true,"children":["$","$L10",null,{"children":["$","$b",null,{"name":"Next.Metadata","children":"$L11"}]}]}],null]}],false]],"m":"$undefined","G":["$12",[]],"S":true,"h":null,"r":"$undefined","s":"$undefined","a":"$undefined","l":"$undefined","p":"$undefined","d":"$undefined","b":"qO0o75GBaTmzRwkeHGVeM"}
|
|
17
|
-
d:C
|
|
18
|
-
8:{}
|
|
19
|
-
9:"$0:f:0:1:1:children:1:children:1:children:1:children:0:props:children:0:props:serverProvidedParams:params"
|
|
20
|
-
13:I[44656,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"BrandingProvider"]
|
|
21
|
-
14:I[70255,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"default"]
|
|
22
|
-
15:I[21110,["3862","static/chunks/1a258343-a1c000c55ff2ed8c.js","8500","static/chunks/8500-01a63dafd809e317.js","9893","static/chunks/9893-065a17773674bd0a.js","9959","static/chunks/9959-ac64565001d4586c.js","7050","static/chunks/7050-a706e6827db952b3.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7033","static/chunks/7033-c1289a2f17cb7185.js","5497","static/chunks/5497-5a74bd564aed4d91.js","9305","static/chunks/app/(dashboard)/layout-e5f8b9540dd02062.js"],"ThemeProvider"]
|
|
23
|
-
16:I[94635,["1101","static/chunks/1101-24e8a2ac5c831741.js","5564","static/chunks/5564-f72b35ee73d33b9b.js","5263","static/chunks/5263-5e205412cc7c5cc5.js","7177","static/chunks/app/layout-246e5f10ac28be17.js"],"RuntimeI18nProvider"]
|
|
24
|
-
2:["$","html",null,{"lang":"en","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"if(document.fonts&&document.fonts.ready){document.fonts.ready.then(function(){document.documentElement.classList.add('fonts-loaded')})}else{document.documentElement.classList.add('fonts-loaded')}"}}]}],["$","body",null,{"className":"__variable_f367f3 font-sans antialiased","children":["$","$L13",null,{"initialBranding":{"siteTitle":"","siteShortName":"","siteDescription":"","logoUrl":null,"faviconUrl":null,"logoMime":null,"faviconMime":null,"hasLogo":false,"hasFavicon":false},"children":[["$","$L14",null,{}],["$","$L15",null,{"children":["$","$L16",null,{"children":["$","$L4",null,{"parallelRouterKey":"children","error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$L5",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:style","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style","children":404}],["$","div",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style","children":["$","h2",null,{"style":"$0:f:0:1:1:children:0:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style","children":"This page could not be found."}]}]]}]}]],[]],"forbidden":"$undefined","unauthorized":"$undefined"}]}]}]]}]}]]}]
|
|
25
|
-
f:[["$","meta","0",{"charSet":"utf-8"}],["$","meta","1",{"name":"viewport","content":"width=device-width, initial-scale=1"}],["$","meta","2",{"name":"theme-color","content":"#0a0a0a"}]]
|
|
26
|
-
17:I[86869,[],"IconMark"]
|
|
27
|
-
c:null
|
|
28
|
-
11:[["$","title","0",{"children":"AI Router Gateway - AI Infrastructure Management"}],["$","meta","1",{"name":"description","content":"One endpoint for all your AI providers. Manage keys, monitor usage, and scale effortlessly."}],["$","link","2",{"rel":"manifest","href":"/manifest.webmanifest","crossOrigin":"$undefined"}],["$","link","3",{"rel":"icon","href":"/favicon.ico?d69b7278ea27dcf7","type":"image/x-icon","sizes":"32x32"}],["$","link","4",{"rel":"icon","href":"/favicon.svg"}],["$","$L17","5",{}]]
|
package/app/.next-cli-build/server/app/dashboard/routing-topology.segments/_tree.segment.rsc
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
:HL["/_next/static/css/7a3e1568f247f3d0.css","style"]
|
|
2
|
-
:HL["/_next/static/css/17d7fff728bde406.css","style"]
|
|
3
|
-
:HL["/_next/static/css/221b81ade2eff395.css","style"]
|
|
4
|
-
0:{"tree":{"name":"","param":null,"prefetchHints":4176,"slots":{"children":{"name":"(dashboard)","param":null,"prefetchHints":4192,"slots":{"children":{"name":"dashboard","param":null,"prefetchHints":4192,"slots":{"children":{"name":"routing-topology","param":null,"prefetchHints":4192,"slots":{"children":{"name":"__PAGE__","param":null,"prefetchHints":4256,"slots":null}}}}}}}}},"staleTime":300,"buildId":"qO0o75GBaTmzRwkeHGVeM"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";exports.id=9868,exports.ids=[1998,9868],exports.modules={25343:(a,b,c)=>{c.d(b,{$4:()=>s,Qq:()=>t,UC:()=>u,t:()=>v});var d=c(55511),e=c.n(d),f=c(79748),g=c.n(f),h=c(21820),i=c.n(h),j=c(33873),k=c.n(j);let l=process.env.DATA_DIR||process.env.BLUEROUTER_DATA_DIR||k().join(i().homedir(),".bluerouter"),m=k().join(l,"routing-topology-overrides.json"),n=new Set(["direct","proxy"]);function o(a){return String(a||"").trim()}function p(a={},b={}){let c=o(a.routeType||b.routeType||"direct").toLowerCase();if(!n.has(c))throw Error("routeType must be 'direct' or 'proxy'");let d="proxy"===c?function(a){if(!Array.isArray(a))return[];if(a.length>32)throw Error("Too many real vLLM endpoints (max 32)");let b=new Set,c=[];for(let d of a){let a=function(a={}){let b,c=o(a.host),d=Number(a.port),e=a.weight,f=null==e||""===e?null:Number(e);if(!((b=o(c))&&/^[a-zA-Z0-9][a-zA-Z0-9._:-]{0,252}$/.test(b))||b.includes(".."))throw Error(`Invalid vLLM endpoint host: ${c||"(empty)"}`);if(!Number.isInteger(d)||d<1||d>65535)throw Error(`Invalid vLLM endpoint port for ${c}`);if(null!==f&&(!Number.isFinite(f)||f<=0||f>1e5))throw Error(`Invalid vLLM endpoint weight for ${c}:${d}`);return{host:c,port:d,weight:null===f?null:Number(f),label:o(a.label).slice(0,160)}}(d),e=`${a.host.toLowerCase()}:${a.port}`;if(b.has(e))throw Error(`Duplicate vLLM endpoint: ${a.host}:${a.port}`);b.add(e),c.push(a)}return c}(Object.prototype.hasOwnProperty.call(a,"realEndpoints")?a.realEndpoints:b.realEndpoints):[];if("proxy"===c&&0===d.length)throw Error("Proxy / Load Balancer requires at least one real vLLM endpoint");return{routeType:c,realEndpoints:d,updatedAt:new Date().toISOString()}}async function q(){await g().mkdir(l,{recursive:!0});try{let a=JSON.parse(await g().readFile(m,"utf8"));return{version:1,providers:a?.providers&&"object"==typeof a.providers&&!Array.isArray(a.providers)?a.providers:{}}}catch{return{version:1,providers:{}}}}async function r(a){await g().mkdir(l,{recursive:!0});let b=`${m}.${process.pid}.${e().randomUUID()}.tmp`;try{await g().writeFile(b,JSON.stringify({version:1,providers:a.providers||{}},null,2)),await g().rename(b,m)}catch(a){throw await g().unlink(b).catch(()=>{}),a}}async function s(){return(await q()).providers||{}}async function t(a){let b=o(a);if(!b)return null;let c=(await s())[b];if(!c||"object"!=typeof c)return null;try{return p(c,c)}catch{return null}}async function u(a,b={}){let c=o(a);if(!c)throw Error("providerId is required");let d=await q(),e=p(b,d.providers[c]||{});return d.providers[c]=e,await r(d),e}async function v(a){let b=o(a);if(!b)return!1;let c=await q();return!!Object.prototype.hasOwnProperty.call(c.providers,b)&&(delete c.providers[b],await r(c),!0)}},28643:(a,b,c)=>{c.d(b,{Tb:()=>k,g2:()=>h});var d=c(60592),e=c(62763),f=c(28919);let g="__blueRouterResourceMonitorLiveSnapshot";function h(a={}){return String(a.containerId||a.endpoint||(a.port?`port:${a.port}`:""))}async function i(a){let b=(0,f.jT)(a);if(!1===a.enabled)return b;let c=new Date().toISOString();try{let e=await (0,d.h)(a);return{...b,lastStatus:e,lastStatusAt:c,lastError:null,lastErrorAt:null}}catch(a){return{...b,lastError:a?.message||"Agent is unreachable",lastErrorAt:c}}}async function j(){let a=await (0,f.HI)({includeSecrets:!0});return await (0,e.WR)()?{servers:a.map(f.jT),standby:!0,generatedAt:new Date().toISOString()}:{servers:await Promise.all(a.map(i)),standby:!1,generatedAt:new Date().toISOString()}}async function k({force:a=!1,maxAgeMs:b=3500}={}){let c=(globalThis[g]||(globalThis[g]={value:null,fetchedAt:0,pending:null}),globalThis[g]),d=Date.now();return!a&&c.value&&d-c.fetchedAt<Math.max(0,Number(b)||0)?c.value:(c.pending||(c.pending=j().then(a=>(c.value=a,c.fetchedAt=Date.now(),a)).finally(()=>{c.pending=null})),c.pending)}},49868:(a,b,c)=>{c.d(b,{G:()=>x,v:()=>y});var d=c(55511),e=c(71998),f=c(67769),g=c(28643),h=c(25343);let i="__blueRouterRoutingTopology",j=new Set(["coder","coder-fast","coder-high","translator"]);function k(){return globalThis[i]||(globalThis[i]={value:null,builtAt:0,pending:null}),globalThis[i]}function l(a){return String(a||"").trim()}function m(a){return l(a).toLowerCase()}function n(a){let b=m(a).replace(/^\[|\]$/g,"");return["localhost","127.0.0.1","::1"].includes(b)?"__local__":b}function o(a){return a&&"object"==typeof a?l(a.connectionId||a.connection_id):""}function p(a,b){return a&&"object"==typeof a&&l(a.label||a.displayName||a.name)||b}function q(a){if(!a||"object"!=typeof a)return null;let b=Number(a.weight);return Number.isFinite(b)&&b>0?b:null}function r(a){return!!["openai-compatible","anthropic-compatible"].includes(a?.type)&&"local"===((0,f.t9)(a.deploymentType,"")||(0,f.tW)(a.baseUrl))}function s(a){let b=a?.lastStatus||{},c=Array.isArray(b?.vllm?.instances)?b.vllm.instances:[];return{id:a.id,name:a.name,host:a.host,agentPort:a.agentPort,enabled:!1!==a.enabled,hostname:b.hostname||"",os:b.os||"",cpu:b.cpu?{model:b.cpu.model||"",cores:Number(b.cpu.cores||0)}:null,memoryTotalBytes:Number(b.memory?.totalBytes||0),gpus:(b.gpus||[]).map(a=>({index:a.index,uuid:a.uuid,name:a.name,memoryTotalMb:Number(a.memoryTotalMb||0)})),vllmInstances:c.map(a=>({key:(0,g.g2)(a),port:Number(a.port||0),endpoint:a.endpoint||"",containerName:a.containerName||"",image:a.image||"",models:Array.isArray(a.models)?a.models:[],discovery:a.discovery||""}))}}function t(a,b){if(!a?.normalizedHost)return{server:null,instance:null};let c=b.filter(b=>new Set([b?.host,b?.lastStatus?.hostname].map(n).filter(Boolean)).has(a.normalizedHost));if(1!==c.length)return{server:null,instance:null};let d=c[0],e=(d.lastStatus?.vllm?.instances||[]).filter(b=>Number(b.port||0)===Number(a.port||0));return{server:d,instance:1===e.length?e[0]:null}}function u(a,b,{source:c="manual",index:d=0}={}){let e=l(a?.host),f=Number(a?.port||0),{server:h,instance:i}=t({host:l(e),normalizedHost:n(e),port:Number(f||0)},b),j=Number(a?.weight);return{id:`${c}:${m(e)}:${f}:${d}`,source:c,host:e,port:f,label:l(a?.label),weight:Number.isFinite(j)&&j>0?j:null,resourceServerId:h?.id||null,vllmInstanceKey:i?(0,g.g2)(i):null,resourceMatch:h?i?"host-port":"host":"unmatched",reportedModels:Array.isArray(i?.models)?i.models:[]}}function v(a){let b=l(a),c=b.indexOf("/");return c>0?b.slice(0,c):""}async function w(){let[a,b,c,f,i]=await Promise.all([(0,e.Uv)(),(0,e.Fh)(),(0,e.P)(),(0,g.Tb)(),(0,h.$4)()]),k=f.servers||[],w=(b||[]).filter(r),x=new Map(w.map(a=>[a.id,a])),y=new Map((c||[]).map(a=>[a.id,a])),z=new Map;for(let a of c||[]){let b=z.get(a.provider)||[];b.push(a),z.set(a.provider,b)}let A=new Map;for(let a of w){let b=m(a.prefix);if(!b)continue;let c=A.get(b)||[];c.push(a),A.set(b,c)}let B=w.map(a=>{let b=function(a){try{let b=new URL(l(a)),c=b.protocol.replace(":",""),d=Number(b.port||("https"===c?443:80));return{protocol:c,host:b.hostname,normalizedHost:n(b.hostname),port:d,origin:b.origin}}catch{return null}}(a.baseUrl),c=b?t(b,k):{server:null,instance:null},d=(z.get(a.id)||[]).filter(a=>!1!==a.isActive),e=i?.[a.id]||null,f=e?.routeType==="proxy"?"proxy":"direct",g="proxy"===f?(e?.realEndpoints||[]).map((a,b)=>u(a,k,{source:"proxy-backend",index:b})):b?[u({host:b.host,port:b.port},k,{source:"base-url",index:0})]:[],h="direct"===f&&g[0]||null;return{id:a.id,name:a.name||a.prefix||a.id,prefix:a.prefix||"",type:a.type,apiType:a.apiType||"",baseUrl:a.baseUrl||"",deploymentType:"local",runtime:a.openAICompatibleRuntime||"",endpoint:b?{protocol:b.protocol,host:b.host,port:b.port}:null,connectionIds:d.map(a=>a.id),defaultModels:[...new Set(d.map(a=>l(a.defaultModel)).filter(Boolean))],routeType:f,topologyConfigured:!!e,topologyConfigUpdatedAt:e?.updatedAt||null,gateway:b?{host:b.host,port:b.port,resourceServerId:c.server?.id||null,resourceMatch:c.server?"host":"unmatched"}:null,backends:g,realEndpoints:"proxy"===f?g:[],resourceServerId:h?.resourceServerId||null,vllmInstanceKey:h?.vllmInstanceKey||null,resourceMatch:h?.resourceMatch||"unmatched"}}),C=new Map(B.map(a=>[a.id,a])),D=(a||[]).filter(a=>!a.kind),E=new Map(D.map(a=>[m(a.name),a]).filter(([a])=>!!a));function F({rootCombo:a,target:b,model:c,path:d,viaCombos:e,reason:f}){return{id:`${a.id||a.name}:${d.join(".")}`,order:Number(d[0]||0)+1,model:c,label:p(b,c),weight:q(b),connectionId:o(b)||null,providerId:null,providerPrefix:v(c),resolution:"unresolved",unresolvedReason:f,viaCombos:e,nestedDepth:e.length}}let G=D.sort((a,b)=>{let c=+!j.has(m(a.name)),d=+!j.has(m(b.name));return c!==d?c-d:l(a.name).localeCompare(l(b.name))}).map(a=>{let b=Array.isArray(a.models)?a.models:[],c=b.flatMap((b,c)=>(function a(b,c){let{rootCombo:d,path:e,stack:f,viaCombos:g}=c,h="string"==typeof b?l(b):b&&"object"==typeof b?l(b.value||b.model||b.id):"",i=o(b),j=i?y.get(i):null,k=j?x.get(j.provider):null,n=k?"connection":"",r="";if(!k){let a=m(v(h)),b=a&&A.get(a)||[];1===b.length?(k=b[0],n="model-prefix"):r=b.length>1?`Provider prefix '${a}' tr\xf9ng ${b.length} node`:i&&!j?`Kh\xf4ng t\xecm thấy connection ${i}`:a?`Kh\xf4ng t\xecm thấy local compatible provider '${a}'`:"Model kh\xf4ng c\xf3 provider prefix v\xe0 kh\xf4ng pin connection"}let s=k?C.get(k.id):null;if(s)return[{id:`${d.id||d.name}:${e.join(".")}`,order:Number(e[0]||0)+1,model:h,label:p(b,h),weight:q(b),connectionId:i||null,providerId:s.id,providerPrefix:s.prefix||v(h),resolution:g.length?`nested-combo:${n}`:n,unresolvedReason:"",viaCombos:g,nestedDepth:g.length}];let t=m(l(h).replace(/^:+/,"")),u=t?E.get(t):null;if(!u)return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:r})];if(f.includes(t)){let a=[...f,t].map(a=>`:${a}`).join(" → ");return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:`Ph\xe1t hiện v\xf2ng lặp combo: ${a}`})]}if(f.length>=12)return[F({rootCombo:d,target:b,model:h,path:e,viaCombos:g,reason:"Combo lồng nhau vượt qu\xe1 12 cấp"})];let w=Array.isArray(u.models)?u.models:[],z=[...g,{id:u.id||u.name,name:u.name,sourceModel:h}];return w.length?w.flatMap((b,c)=>a(b,{rootCombo:d,path:[...e,c],stack:[...f,t],viaCombos:z})):[F({rootCombo:d,target:b,model:h,path:e,viaCombos:z,reason:`Child combo :${u.name} kh\xf4ng c\xf3 upstream model`})]})(b,{rootCombo:a,path:[c],stack:[m(a.name)],viaCombos:[]}));return{id:a.id,name:a.name,isFocus:j.has(m(a.name)),configuredTargetCount:b.length,resolvedLeafTargetCount:c.length,hasNestedCombos:c.some(a=>a.nestedDepth>0),targets:c}}),H=k.map(s),I=G.reduce((a,b)=>a+b.targets.filter(a=>!a.providerId).length,0),J=G.reduce((a,b)=>a+b.targets.filter(a=>a.nestedDepth>0).length,0),K=B.flatMap(a=>a.backends||[]),L={combos:G,providers:B,servers:H,summary:{comboCount:G.length,focusComboCount:G.filter(a=>a.isFocus).length,localProviderCount:B.length,proxyProviderCount:B.filter(a=>"proxy"===a.routeType).length,realBackendCount:K.length,unresolvedBackends:K.filter(a=>"host-port"!==a.resourceMatch).length,resourceServerCount:H.length,unresolvedTargets:I,nestedComboRoutes:J}};return{...L,revision:(0,d.createHash)("sha1").update(JSON.stringify(L)).digest("hex").slice(0,12),generatedAt:new Date().toISOString(),topologyCacheMs:6e5,telemetryCacheMs:3500,standby:!0===f.standby}}async function x({force:a=!1}={}){let b=k(),c=Date.now();return!a&&b.value&&c-b.builtAt<6e5?b.value:(b.pending||(b.pending=w().then(a=>(b.value=a,b.builtAt=Date.now(),a)).finally(()=>{b.pending=null})),b.pending)}function y(){let a=k();a.value=null,a.builtAt=0}},71998:(a,b,c)=>{c.d(b,{Fh:()=>d.Fh,L9:()=>d.L9,Mc:()=>d.Mc,OM:()=>d.OM,P:()=>d.getProviderConnections,Pc:()=>d.Pc,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,Yd:()=>d.Yd,ZO:()=>d.ZO,c:()=>d.c,createProviderConnection:()=>d.iE,fK:()=>d.fK,fv:()=>d.fv,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,nv:()=>d.nv,o5:()=>d.o5,op:()=>d.op,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.updateProviderConnection,uv:()=>d.uv,yg:()=>d.yg});var d=c(89718)}};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7179],{14051:(e,t,r)=>{e.exports=r(34701)()},30238:(e,t,r)=>{"use strict";r.d(t,{default:()=>S});var a=r(95155),s=r(12115),l=r(94027);let n={normal:{label:"Ổn định",badge:"border-emerald-400/25 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",dot:"bg-emerald-500"},warning:{label:"Cần theo d\xf5i",badge:"border-amber-400/25 bg-amber-500/10 text-amber-700 dark:text-amber-300",dot:"bg-amber-500"},critical:{label:"Nghi\xeam trọng",badge:"border-red-400/25 bg-red-500/10 text-red-700 dark:text-red-300",dot:"bg-red-500"},no_traffic:{label:"Kh\xf4ng c\xf3 lưu lượng",badge:"border-slate-400/25 bg-slate-500/10 text-slate-700 dark:text-slate-300",dot:"bg-slate-400"}},i={P0:"border-red-500/25 bg-red-500/10 text-red-700 dark:text-red-300",P1:"border-amber-500/25 bg-amber-500/10 text-amber-700 dark:text-amber-300",P2:"border-blue-500/25 bg-blue-500/10 text-blue-700 dark:text-blue-300"},o=[{value:"7d",label:"7 ng\xe0y",title:"7 ng\xe0y gần nhất"},{value:"30d",label:"30 ng\xe0y",title:"30 ng\xe0y gần nhất"}];function d(e,t="7d"){let r=e?.range?.period||t;return o.find(e=>e.value===r)||o[0]}function c(...e){return e.filter(Boolean).join(" ")}function x(e,t=0){return Number(e||0).toLocaleString("vi-VN",{maximumFractionDigits:t})}function m(e){return Intl.NumberFormat("vi-VN",{notation:"compact",maximumFractionDigits:1}).format(Number(e||0))}function h(e,t=1){return`${(100*Number(e||0)).toLocaleString("vi-VN",{maximumFractionDigits:t})}%`}function u(e){if(null==e||!Number.isFinite(Number(e)))return"-";let t=Number(e);return t>=1e3?`${(t/1e3).toLocaleString("vi-VN",{maximumFractionDigits:2})}s`:`${Math.round(t).toLocaleString("vi-VN")}ms`}function p(e){if(!e)return"-";let t=new Date(e);return Number.isNaN(t.getTime())?String(e):t.toLocaleString("vi-VN",{timeZone:"Asia/Ho_Chi_Minh",day:"2-digit",month:"2-digit",year:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})}function b(e){let t=Number(e||0);if(!t)return"-";let r=["B","KiB","MiB","GiB","TiB"],a=Math.min(Math.floor(Math.log(t)/Math.log(1024)),r.length-1);return`${(t/1024**a).toLocaleString("vi-VN",{maximumFractionDigits:1})} ${r[a]}`}function g({status:e}){let t=n[e]||n.no_traffic;return(0,a.jsxs)("span",{className:c("inline-flex items-center gap-2 rounded-full border px-3 py-1.5 text-xs font-semibold",t.badge),children:[(0,a.jsx)("span",{className:c("h-2 w-2 rounded-full",t.dot)}),t.label]})}function v({value:e}){return(0,a.jsx)("span",{className:c("inline-flex rounded-full border px-2.5 py-1 text-[11px] font-bold",i[e]||i.P2),children:e||"P2"})}function f({eyebrow:e,title:t,description:r,icon:s}){return(0,a.jsxs)("div",{className:"mb-5 flex items-start justify-between gap-4",children:[(0,a.jsxs)("div",{children:[e?(0,a.jsx)("div",{className:"mb-1 text-[11px] font-bold uppercase tracking-[0.18em] text-primary",children:e}):null,(0,a.jsx)("h2",{className:"text-xl font-bold tracking-tight text-text-main",children:t}),r?(0,a.jsx)("p",{className:"mt-1 max-w-3xl text-sm leading-6 text-text-muted",children:r}):null]}),s?(0,a.jsx)("span",{className:"material-symbols-outlined rounded-2xl bg-primary/10 p-3 text-[24px] text-primary",children:s}):null]})}function y({children:e,className:t=""}){return(0,a.jsx)("section",{className:c("rounded-[28px] border border-border bg-surface p-5 shadow-sm md:p-7",t),children:e})}function j({icon:e,label:t,value:r,hint:s,tone:l="blue"}){let n={blue:"from-blue-500/15 to-cyan-500/5 text-blue-600 dark:text-blue-300",emerald:"from-emerald-500/15 to-teal-500/5 text-emerald-600 dark:text-emerald-300",violet:"from-violet-500/15 to-fuchsia-500/5 text-violet-600 dark:text-violet-300",amber:"from-amber-500/15 to-orange-500/5 text-amber-600 dark:text-amber-300",rose:"from-rose-500/15 to-red-500/5 text-rose-600 dark:text-rose-300",slate:"from-slate-500/15 to-slate-500/5 text-slate-600 dark:text-slate-300"}[l]||"from-blue-500/15 to-cyan-500/5 text-blue-600 dark:text-blue-300";return(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-2xl border border-border bg-background p-4",children:[(0,a.jsx)("div",{className:c("absolute inset-0 bg-gradient-to-br opacity-80",n)}),(0,a.jsxs)("div",{className:"relative flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-xs font-semibold uppercase tracking-[0.12em] text-text-muted",children:t}),(0,a.jsx)("div",{className:"mt-2 text-2xl font-black tracking-tight text-text-main",children:r}),s?(0,a.jsx)("div",{className:"mt-1.5 text-xs text-text-muted",children:s}):null]}),(0,a.jsx)("span",{className:c("material-symbols-outlined rounded-xl bg-background/70 p-2 text-[21px]",n),children:e})]})]})}function N({value:e,max:t=100,label:r,tone:s="bg-primary"}){let l=Math.max(0,Math.min(100,Number(e||0)/t*100));return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-1.5 flex items-center justify-between text-xs text-text-muted",children:[(0,a.jsx)("span",{children:r}),(0,a.jsx)("span",{children:x(e,1)})]}),(0,a.jsx)("div",{className:"h-2 overflow-hidden rounded-full bg-surface-2",children:(0,a.jsx)("div",{className:c("h-full rounded-full transition-all",s),style:{width:`${l}%`}})})]})}function w({rows:e=[]}){let t=Math.max(1,...e.map(e=>Number(e.requests||0)));return(0,a.jsx)("div",{className:"overflow-x-auto pb-2",children:(0,a.jsx)("div",{className:"flex items-end gap-3 pt-8",style:{minWidth:`${Math.max(760,74*e.length)}px`},children:e.map(e=>{let r=Math.max(8,Number(e.requests||0)/t*180);return(0,a.jsxs)("div",{className:"group flex flex-1 flex-col items-center gap-2",children:[(0,a.jsxs)("div",{className:"relative flex h-[205px] w-full items-end justify-center",children:[(0,a.jsxs)("div",{className:"absolute bottom-full left-1/2 z-10 mb-2 hidden w-52 -translate-x-1/2 rounded-xl border border-border bg-background p-3 text-xs shadow-xl group-hover:block",children:[(0,a.jsx)("div",{className:"font-bold text-text-main",children:e.date}),(0,a.jsxs)("div",{className:"mt-1 text-text-muted",children:["Request: ",x(e.requests)]}),(0,a.jsxs)("div",{className:"text-text-muted",children:["Token: ",x(e.totalTokens)]}),(0,a.jsxs)("div",{className:"text-text-muted",children:["Lỗi: ",x(e.errors)," (",h(e.errorRate),")"]})]}),(0,a.jsx)("div",{className:"w-full max-w-[54px] rounded-t-2xl bg-gradient-to-t from-primary to-cyan-400 shadow-[0_10px_24px_rgba(59,130,246,0.2)] transition group-hover:brightness-110",style:{height:r}})]}),(0,a.jsxs)("div",{className:"text-center",children:[(0,a.jsx)("div",{className:"text-xs font-bold text-text-main",children:m(e.requests)}),(0,a.jsx)("div",{className:"text-[10px] text-text-muted",children:e.date.slice(5)})]})]},e.date)})})})}function k({model:e,rank:t}){return(0,a.jsxs)("article",{className:"rounded-2xl border border-border bg-background p-5",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsxs)("span",{className:"flex h-7 w-7 items-center justify-center rounded-lg bg-primary/10 text-xs font-black text-primary",children:["#",t]}),(0,a.jsx)("h3",{className:"truncate text-base font-bold text-text-main",children:e.model})]}),(0,a.jsxs)("p",{className:"mt-1 text-xs text-text-muted",children:[e.providerLabel||e.provider," \xb7 ",x(e.requests)," request \xb7 ",h(e.trafficShare)," traffic"]})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:c("rounded-full px-2.5 py-1 text-[11px] font-bold","high"===e.sampleQuality?"bg-emerald-500/10 text-emerald-600":"medium"===e.sampleQuality?"bg-amber-500/10 text-amber-600":"bg-slate-500/10 text-slate-500"),children:"high"===e.sampleQuality?"Mẫu tốt":"medium"===e.sampleQuality?"Mẫu vừa":"\xcdt mẫu"}),null!=e.score?(0,a.jsxs)("span",{className:"rounded-full bg-primary/10 px-2.5 py-1 text-[11px] font-bold text-primary",children:[x(e.score),"/100"]}):null]})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-3 sm:grid-cols-2 xl:grid-cols-4",children:[(0,a.jsx)($,{label:"Success",value:h(1-e.errorRate,2)}),(0,a.jsx)($,{label:"Latency p95",value:u(e.p95LatencyMs)}),(0,a.jsx)($,{label:"TTFT p95",value:u(e.p95TtftMs)}),(0,a.jsx)($,{label:"Output speed",value:null==e.outputTokensPerSecond?"-":`${x(e.outputTokensPerSecond,1)} tok/s`}),(0,a.jsx)($,{label:"Input avg / p95",value:`${m(e.avgPromptTokens)} / ${m(e.p95PromptTokens)}`}),(0,a.jsx)($,{label:"Cache share",value:h(e.cacheShare)}),(0,a.jsx)($,{label:"Slow request",value:h(e.slowRequestRate)}),(0,a.jsx)($,{label:"Context >=50k",value:h(e.hugeInputRate)})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-3 md:grid-cols-3",children:[(0,a.jsx)(N,{value:(1-e.errorRate)*100,label:"Tỷ lệ th\xe0nh c\xf4ng",tone:"bg-emerald-500"}),(0,a.jsx)(N,{value:100*e.cacheShare,label:"Cached input",tone:"bg-cyan-500"}),(0,a.jsx)(N,{value:Math.min(100,100*e.reasoningShare),label:"Reasoning/output",tone:"bg-violet-500"})]})]})}function $({label:e,value:t}){return(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-surface px-3 py-2.5",children:[(0,a.jsx)("div",{className:"text-[10px] font-bold uppercase tracking-[0.12em] text-text-muted",children:e}),(0,a.jsx)("div",{className:"mt-1 text-sm font-bold text-text-main",children:t})]})}function T({node:e}){return(0,a.jsxs)("article",{className:"rounded-2xl border border-border bg-background p-5",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"font-bold text-text-main",children:e.name}),(0,a.jsx)("p",{className:"mt-1 text-xs text-text-muted",children:e.host||e.hostname||"Chưa c\xf3 host"})]}),(0,a.jsx)("span",{className:c("rounded-full px-2.5 py-1 text-[11px] font-bold",e.reachable?"bg-emerald-500/10 text-emerald-600":"bg-red-500/10 text-red-600"),children:e.reachable?"Online snapshot":"No telemetry"})]}),e.reachable?(0,a.jsxs)("div",{className:"mt-5 space-y-4",children:[(0,a.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,a.jsx)($,{label:"CPU",value:`${e.cpu?.model||"-"} \xb7 ${x(e.cpu?.cores)} cores`}),(0,a.jsx)($,{label:"RAM",value:`${b(e.memory?.usedBytes)} / ${b(e.memory?.totalBytes)}`})]}),(0,a.jsx)(N,{value:e.cpu?.usagePercent||0,label:"CPU snapshot (%)",tone:"bg-blue-500"}),(0,a.jsx)(N,{value:e.memory?.usagePercent||0,label:"RAM snapshot (%)",tone:"bg-violet-500"}),(e.gpus||[]).map(t=>(0,a.jsxs)("div",{className:"rounded-xl border border-border/70 bg-surface p-4",children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,a.jsxs)("div",{className:"font-semibold text-text-main",children:["GPU ",t.index," \xb7 ",t.name]}),(0,a.jsxs)("div",{className:"text-xs text-text-muted",children:[null==t.temperatureC?"-":`${x(t.temperatureC,0)}\xb0C`," \xb7 ",null==t.powerDrawW?"-":`${x(t.powerDrawW)}W`]})]}),(0,a.jsxs)("div",{className:"mt-3 grid gap-3 sm:grid-cols-2",children:[(0,a.jsx)(N,{value:t.usagePercent||0,label:"GPU utilization (%)",tone:"bg-emerald-500"}),(0,a.jsx)(N,{value:t.memoryUsagePercent||0,label:`VRAM ${x((t.memoryUsedMb||0)/1024,1)} / ${x((t.memoryTotalMb||0)/1024,1)} GiB`,tone:"bg-cyan-500"})]})]},`${e.id}-${t.index}`)),(0,a.jsxs)("p",{className:"text-[11px] text-text-muted",children:["Snapshot: ",p(e.statusAt)," \xb7 OS: ",e.os||"-"," \xb7 Kernel: ",e.kernel||"-"]})]}):(0,a.jsx)("div",{className:"mt-4 rounded-xl border border-red-500/15 bg-red-500/5 p-3 text-sm text-red-600 dark:text-red-300",children:e.error||"Resource Monitor chưa c\xf3 snapshot cho node n\xe0y."})]})}function A(e){return String(e??"").replace(/[&<>'"]/g,e=>({"&":"&","<":"<",">":">","'":"'",'"':"""})[e])}function C(e,t){return(e||[]).map(t).join("")}function M(e){let t=n[e.status]?.label||e.status,r=d(e),a=[["Request",x(e.overview?.requests)],["Success rate",h(e.overview?.successRate,2)],["Total tokens",x(e.overview?.totalTokens)],["Latency p95",u(e.experience?.p95LatencyMs)],["TTFT p95",u(e.experience?.p95TtftMs)],["Operational score",null==e.score?"N/A":`${e.score}/100`]];return`<!doctype html>
|
|
2
|
-
<html lang="vi"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Local AI Report ${A(r.label)} - ${A(e.generatedAt?.slice(0,10))}</title>
|
|
3
|
-
<style>
|
|
4
|
-
:root{--ink:#102038;--muted:#607087;--line:#dbe5f0;--paper:#f4f7fb;--card:#fff;--blue:#2563eb;--cyan:#06b6d4;--green:#059669;--amber:#d97706;--red:#dc2626}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 Inter,Segoe UI,Arial,sans-serif}.page{max-width:1240px;margin:auto;padding:36px}.hero{padding:38px;border-radius:28px;color:white;background:radial-gradient(circle at 90% 10%,rgba(34,211,238,.38),transparent 35%),linear-gradient(135deg,#0f2d58,#1d4ed8 65%,#0891b2);box-shadow:0 24px 70px rgba(29,78,216,.22)}.hero h1{margin:10px 0 8px;font-size:34px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-weight:800;font-size:11px;opacity:.78}.meta{opacity:.8}.badge{display:inline-block;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.16);font-weight:800}.grid{display:grid;gap:16px}.kpis{grid-template-columns:repeat(3,1fr);margin:22px 0}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:0 8px 30px rgba(16,32,56,.05);break-inside:avoid}.card h2{margin:0 0 14px;font-size:20px}.card h3{margin:0 0 6px;font-size:15px}.kpi strong{display:block;font-size:25px;margin-top:6px}.muted{color:var(--muted)}.section{margin-top:20px}.two{grid-template-columns:1fr 1fr}.three{grid-template-columns:repeat(3,1fr)}table{width:100%;border-collapse:collapse;font-size:12px}th,td{padding:10px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted)}ul{padding-left:20px}.priority{font-weight:900}.P0{color:var(--red)}.P1{color:var(--amber)}.P2{color:var(--blue)}.score{font-size:50px;font-weight:900}.footer{margin:28px 0 10px;text-align:center;color:var(--muted);font-size:11px}@media(max-width:800px){.page{padding:16px}.kpis,.two,.three{grid-template-columns:1fr}.hero h1{font-size:26px}}@media print{body{background:white}.page{max-width:none;padding:0}.hero,.card{box-shadow:none}.section{page-break-inside:auto}}
|
|
5
|
-
</style></head><body><main class="page">
|
|
6
|
-
<header class="hero"><div class="eyebrow">BlueRouter \xb7 Local AI Operations</div><h1>B\xe1o c\xe1o hoạt động Local AI — ${A(r.title)}</h1><div class="meta">${A(p(e.range?.startIso))} → ${A(p(e.range?.endIso))} \xb7 Asia/Ho_Chi_Minh</div><p><span class="badge">${A(t)}</span> Confidence: ${A(e.confidence)} Generated: ${A(p(e.generatedAt))}</p></header>
|
|
7
|
-
<section class="grid kpis">${C(a,([e,t])=>`<div class="card kpi"><span class="muted">${A(e)}</span><strong>${A(t)}</strong></div>`)}</section>
|
|
8
|
-
<section class="card section"><h2>T\xf3m tắt điều h\xe0nh</h2><ul>${C(e.narrative?.executiveSummary,e=>`<li>${A(e)}</li>`)}</ul></section>
|
|
9
|
-
<section class="grid two section"><div class="card"><h2>Điểm mạnh</h2>${C(e.narrative?.strengths,e=>`<div><h3>${A(e.title)}</h3><p>${A(e.evidence)}</p></div>`)||'<p class="muted">Chưa đủ dữ liệu.</p>'}</div><div class="card"><h2>Điểm yếu & rủi ro</h2>${C(e.narrative?.weaknesses,e=>`<div><h3><span class="priority ${A(e.priority)}">${A(e.priority)}</span> ${A(e.title)}</h3><p>${A(e.evidence)} ${A(e.impact)}</p></div>`)||'<p class="muted">Chưa ph\xe1t hiện điểm yếu nổi bật.</p>'}</div></section>
|
|
10
|
-
<section class="card section"><h2>Hiệu năng theo model</h2><table><thead><tr><th>Model</th><th>Requests</th><th>Success</th><th>Latency p95</th><th>TTFT p95</th><th>Tok/s</th><th>Cache</th><th>Context >=50k</th></tr></thead><tbody>${C(e.models,e=>`<tr><td><strong>${A(e.model)}</strong><br><span class="muted">${A(e.providerLabel)}</span></td><td>${A(x(e.requests))}</td><td>${A(h(1-e.errorRate,2))}</td><td>${A(u(e.p95LatencyMs))}</td><td>${A(u(e.p95TtftMs))}</td><td>${A(null==e.outputTokensPerSecond?"-":x(e.outputTokensPerSecond,1))}</td><td>${A(h(e.cacheShare))}</td><td>${A(h(e.hugeInputRate))}</td></tr>`)}</tbody></table></section>
|
|
11
|
-
<section class="card section"><h2>Xu hướng theo ng\xe0y</h2><table><thead><tr><th>Ng\xe0y</th><th>Request</th><th>Success</th><th>Error</th><th>Total tokens</th><th>Cached</th></tr></thead><tbody>${C(e.daily,e=>`<tr><td>${A(e.date)}</td><td>${A(x(e.requests))}</td><td>${A(x(e.success))}</td><td>${A(`${x(e.errors)} (${h(e.errorRate)})`)}</td><td>${A(x(e.totalTokens))}</td><td>${A(x(e.cachedTokens))}</td></tr>`)}</tbody></table></section>
|
|
12
|
-
<section class="grid two section"><div class="card"><h2>Context, cache & thinking</h2><table><tbody><tr><th>Cached / input</th><td>${A(h(e.overview?.cacheShare))}</td></tr><tr><th>Reasoning / output</th><td>${A(h(e.overview?.reasoningShare))}</td></tr><tr><th>Context >=50k</th><td>${A(h(e.contextAndThinking?.largeContext?.gte50kRate))}</td></tr><tr><th>Thinking auto-off</th><td>${A(h(e.contextAndThinking?.thinking?.autoOffRate))}</td></tr></tbody></table></div><div class="card"><h2>Ph\xe2n loại lỗi</h2><table><tbody><tr><th>Gateway</th><td>${A(x(e.errors?.summary?.gateway))}</td></tr><tr><th>Upstream</th><td>${A(x(e.errors?.summary?.upstream))}</td></tr><tr><th>Client</th><td>${A(x(e.errors?.summary?.client))}</td></tr><tr><th>Rate limit</th><td>${A(x(e.errors?.summary?.rateLimit))}</td></tr></tbody></table></div></section>
|
|
13
|
-
<section class="card section"><h2>Top lỗi gateway / upstream</h2><table><thead><tr><th>Owner / lỗi</th><th>Model</th><th>Endpoint</th><th>Count</th></tr></thead><tbody>${C(e.errors?.topServerErrors,e=>`<tr><td><strong>${A(`${e.faultOwner||"unknown"} \xb7 ${e.errorType||e.status||"error"}`)}</strong><br><span class="muted">${A(e.sample||e.errorCode||"-")}</span></td><td>${A(e.model||"-")}</td><td>${A(e.endpoint||"-")}</td><td>${A(x(e.requests))}</td></tr>`)||'<tr><td colspan="4" class="muted">Kh\xf4ng c\xf3 lỗi gateway/upstream đ\xe1ng ch\xfa \xfd.</td></tr>'}</tbody></table></section>
|
|
14
|
-
<section class="grid two section"><div class="card"><h2>Top API keys theo token</h2><table><thead><tr><th>API key</th><th>Owner</th><th>Token</th><th>Share</th></tr></thead><tbody>${C((e.workload?.apiKeys||[]).slice(0,10),e=>`<tr><td>${A(e.label)}</td><td>${A(e.ownerUser||e.fingerprint||"-")}</td><td>${A(x(e.totalTokens))}</td><td>${A(h(e.tokenShare))}</td></tr>`)}</tbody></table></div><div class="card"><h2>Top endpoints</h2><table><thead><tr><th>Endpoint</th><th>Request</th><th>Error</th></tr></thead><tbody>${C((e.workload?.endpoints||[]).slice(0,10),e=>`<tr><td>${A(e.label)}</td><td>${A(x(e.requests))}</td><td>${A(h(e.errorRate))}</td></tr>`)}</tbody></table></div></section>
|
|
15
|
-
<section class="grid two section"><div class="card"><h2>Đ\xe1nh gi\xe1 hạ tầng</h2><p>${A(e.narrative?.infrastructureAssessment)}</p>${C(e.hardware,e=>`<div><h3>${A(e.name)} \xb7 ${A(e.reachable?"Snapshot available":"No telemetry")}</h3><p class="muted">CPU ${A(e.cpu?.model||"-")} \xb7 ${A(x(e.cpu?.cores))} cores \xb7 RAM ${A(b(e.memory?.totalBytes))} \xb7 GPU ${A((e.gpus||[]).map(e=>`${e.name} ${(e.memoryTotalMb/1024).toFixed(1)} GiB`).join(", ")||"-")}</p></div>`)}</div><div class="card"><h2>Dự b\xe1o ngắn hạn</h2><p>${A(e.narrative?.forecast)}</p><h3>Giới hạn dữ liệu</h3><ul>${C(e.dataQuality,e=>`<li>${A(e)}</li>`)}</ul></div></section>
|
|
16
|
-
<section class="card section"><h2>Kế hoạch h\xe0nh động</h2><table><thead><tr><th>Priority</th><th>Action</th><th>Owner</th><th>Validation metric</th></tr></thead><tbody>${C(e.narrative?.actions,e=>`<tr><td class="priority ${A(e.priority)}">${A(e.priority)}</td><td>${A(e.action)}</td><td>${A(e.owner)}</td><td>${A(e.validationMetric)}</td></tr>`)}</tbody></table></section>
|
|
17
|
-
<div class="footer">BlueRouter Local AI Report \xb7 Internal operational document \xb7 ${A(e.id)}</div>
|
|
18
|
-
</main></body></html>`}function R(e,t,r){let a=new Blob([e],{type:t}),s=URL.createObjectURL(a),l=document.createElement("a");l.href=s,l.download=r,document.body.appendChild(l),l.click(),l.remove(),URL.revokeObjectURL(s)}function S(){let{isAdmin:e,loading:t}=(0,l.s)(),[r,i]=(0,s.useState)({"7d":null,"30d":null}),[b,A]=(0,s.useState)("7d"),[C,S]=(0,s.useState)([]),[P,_]=(0,s.useState)(""),[L,I]=(0,s.useState)(!1),[O,U]=(0,s.useState)(!0),[q,E]=(0,s.useState)(!1),[K,B]=(0,s.useState)(""),[F,z]=(0,s.useState)(!1),D=r[b]||null,V=o.find(e=>e.value===b)||o[0];(0,s.useEffect)(()=>{if(t||!e)return;let r=!1;return(async()=>{U(!0),B("");try{let[e,t]=await Promise.all([fetch("/api/dashboard/local-ai-report",{cache:"no-store"}),fetch("/api/dashboard/analytics/ai-models",{cache:"no-store"})]),a=await e.json().catch(()=>({})),s=await t.json().catch(()=>({}));if(!e.ok)throw Error(a.error||"Kh\xf4ng tải được b\xe1o c\xe1o");if(r)return;let l=s.options||[];i(a.reports||{"7d":a.report||null,"30d":null}),I(!0===a.standby),S(l),_(a.selectedModel&&l.some(e=>e.value===a.selectedModel)?a.selectedModel:l[0]?.value||"")}catch(e){r||B(e?.message||"Kh\xf4ng tải được b\xe1o c\xe1o")}finally{r||U(!1)}})(),()=>{r=!0}},[t,e]);let G=(0,s.useCallback)(e=>{_(e),fetch("/api/dashboard/analytics/analyze",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({model:e})}).catch(()=>{})},[]),H=(0,s.useCallback)(async()=>{E(!0),B("");try{let e=P.indexOf("::"),t=e>=0?P.slice(0,e):"",r=e>=0?P.slice(e+2):"",a=await fetch("/api/dashboard/local-ai-report",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({connectionId:t,model:r,period:b})}),s=await a.json().catch(()=>({}));if(!a.ok)throw Error(s.error||"Kh\xf4ng thể tạo b\xe1o c\xe1o");i(e=>({...e,[b]:s.report||null}))}catch(e){B(e?.message||"Kh\xf4ng thể tạo b\xe1o c\xe1o")}finally{E(!1)}},[P,b]),W=(0,s.useCallback)(()=>{if(!D)return;let e=D.range?.period||b;R(M(D),"text/html;charset=utf-8",`local-ai-report-${e}-${D.generatedAt.slice(0,10)}.html`)},[D,b]),Q=(0,s.useCallback)(()=>{if(!D)return;let e=D.range?.period||b;R(JSON.stringify(D,null,2),"application/json;charset=utf-8",`local-ai-report-${e}-${D.generatedAt.slice(0,10)}.json`)},[D,b]),J=(0,s.useCallback)(()=>{if(!D)return;let e=new Blob([M(D)],{type:"text/html;charset=utf-8"}),t=URL.createObjectURL(e),r=window.open(t,"_blank");if(!r){URL.revokeObjectURL(t),B("Tr\xecnh duyệt đ\xe3 chặn cửa sổ in. H\xe3y cho ph\xe9p pop-up hoặc tải file HTML.");return}try{r.opener=null}catch{}r.addEventListener("load",()=>{r.focus(),r.print(),setTimeout(()=>URL.revokeObjectURL(t),3e4)},{once:!0})},[D]),X=(0,s.useCallback)(async()=>{if(!D)return;let e=[`B\xc1O C\xc1O LOCAL AI — ${d(D,b).title.toUpperCase()}`,`Trạng th\xe1i: ${n[D.status]?.label||D.status}`,`Điểm vận h\xe0nh: ${null==D.score?"N/A":`${D.score}/100`}`,"",...(D.narrative?.executiveSummary||[]).map(e=>`- ${e}`)].join("\n");await navigator.clipboard.writeText(e),z(!0),setTimeout(()=>z(!1),1800)},[D,b]),Y=(0,s.useMemo)(()=>D?.daily?.length?[...D.daily].sort((e,t)=>t.requests-e.requests)[0]:null,[D]);return t||O?(0,a.jsx)("div",{className:"flex min-h-[60vh] items-center justify-center",children:(0,a.jsxs)("div",{className:"flex items-center gap-3 rounded-2xl border border-border bg-surface px-5 py-4 text-sm text-text-muted shadow-sm",children:[(0,a.jsx)("span",{className:"material-symbols-outlined animate-spin text-primary",children:"progress_activity"}),"Đang chuẩn bị Local AI Report..."]})}):e?(0,a.jsxs)("div",{className:"mx-auto max-w-[1500px] space-y-6 pb-12",children:[(0,a.jsxs)("header",{className:"relative overflow-hidden rounded-[34px] border border-blue-400/20 bg-gradient-to-br from-[#071b35] via-[#123d78] to-[#087f9c] p-6 text-white shadow-[0_28px_90px_rgba(30,86,160,0.25)] md:p-9",children:[(0,a.jsx)("div",{className:"absolute -right-24 -top-24 h-72 w-72 rounded-full bg-cyan-300/20 blur-3xl"}),(0,a.jsx)("div",{className:"absolute bottom-0 left-1/3 h-44 w-72 rounded-full bg-blue-300/15 blur-3xl"}),(0,a.jsxs)("div",{className:"relative grid gap-8 xl:grid-cols-[minmax(0,1fr)_430px] xl:items-end",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"text-[11px] font-black uppercase tracking-[0.24em] text-cyan-200",children:"BlueRouter \xb7 AI Operations Intelligence"}),(0,a.jsx)("h1",{className:"mt-3 max-w-4xl text-3xl font-black tracking-tight md:text-5xl",children:"B\xe1o c\xe1o hoạt động Local AI"}),(0,a.jsxs)("p",{className:"mt-3 max-w-3xl text-sm leading-6 text-blue-100 md:text-base",children:["Bức tranh vận h\xe0nh local vLLM trong ",V.label," gần nhất: lưu lượng, hiệu năng, context, cache, lỗi, tải theo model v\xe0 snapshot hạ tầng."]}),(0,a.jsxs)("div",{className:"mt-5 flex flex-wrap items-center gap-3",children:[D?(0,a.jsx)(g,{status:D.status}):(0,a.jsx)("span",{className:"rounded-full border border-white/15 bg-white/10 px-3 py-1.5 text-xs font-semibold",children:"Chưa c\xf3 b\xe1o c\xe1o"}),D?(0,a.jsxs)("span",{className:"rounded-full border border-white/15 bg-white/10 px-3 py-1.5 text-xs font-semibold",children:["Confidence: ",D.confidence]}):null,D?.generatedAt?(0,a.jsxs)("span",{className:"text-xs text-blue-100",children:["Cập nhật ",p(D.generatedAt)]}):null]})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-white/15 bg-white/10 p-4 backdrop-blur-xl",children:[(0,a.jsx)("label",{className:"text-[11px] font-bold uppercase tracking-[0.14em] text-blue-100",children:"Kỳ b\xe1o c\xe1o"}),(0,a.jsx)("div",{className:"mt-2 grid grid-cols-2 gap-2 rounded-xl bg-[#082546]/70 p-1.5",children:o.map(e=>{let t=b===e.value,s=r[e.value];return(0,a.jsxs)("button",{type:"button",disabled:q,onClick:()=>{A(e.value),z(!1),B("")},className:c("relative flex h-10 items-center justify-center gap-2 rounded-lg px-3 text-sm font-bold transition disabled:cursor-not-allowed disabled:opacity-60",t?"bg-white text-[#123d78] shadow-md":"text-blue-100 hover:bg-white/10"),children:[(0,a.jsx)("span",{children:e.label}),s?(0,a.jsx)("span",{className:c("h-1.5 w-1.5 rounded-full",t?"bg-emerald-500":"bg-emerald-300"),title:`Đ\xe3 tạo ${p(s.generatedAt)}`}):null]},e.value)})}),(0,a.jsx)("label",{className:"mt-4 block text-[11px] font-bold uppercase tracking-[0.14em] text-blue-100",children:"AI model viết nhận định"}),(0,a.jsxs)("select",{value:P,onChange:e=>G(e.target.value),className:"mt-2 h-11 w-full rounded-xl border border-white/20 bg-[#0b2b53] px-3 text-sm text-white outline-none focus:border-cyan-300",children:[C.length?null:(0,a.jsx)("option",{value:"",children:"Kh\xf4ng c\xf3 AI model khả dụng"}),C.map(e=>(0,a.jsx)("option",{value:e.value,children:e.label},e.value))]}),(0,a.jsxs)("button",{type:"button",onClick:H,disabled:q||L,className:"mt-3 flex h-11 w-full items-center justify-center gap-2 rounded-xl bg-white font-bold text-[#123d78] shadow-lg transition hover:-translate-y-0.5 hover:bg-cyan-50 disabled:cursor-not-allowed disabled:opacity-60",children:[(0,a.jsx)("span",{className:c("material-symbols-outlined text-[20px]",q&&"animate-spin"),children:q?"progress_activity":"auto_awesome"}),q?`Đang ph\xe2n t\xedch dữ liệu ${V.label}...`:D?`Tạo lại b\xe1o c\xe1o ${V.label}`:`Tạo b\xe1o c\xe1o ${V.label}`]}),L?(0,a.jsx)("p",{className:"mt-2 text-xs text-amber-200",children:"Standby chỉ hiển thị report được đồng bộ từ Master."}):null]})]})]}),K?(0,a.jsxs)("div",{className:"flex items-start gap-3 rounded-2xl border border-red-500/20 bg-red-500/10 p-4 text-sm text-red-700 dark:text-red-300",children:[(0,a.jsx)("span",{className:"material-symbols-outlined",children:"error"}),(0,a.jsx)("div",{children:K})]}):null,D?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-3 rounded-2xl border border-border bg-surface px-4 py-3 shadow-sm",children:[(0,a.jsxs)("div",{className:"text-xs text-text-muted",children:["Phạm vi: ",(0,a.jsxs)("span",{className:"font-semibold text-text-main",children:[p(D.range?.startIso)," → ",p(D.range?.endIso)]})," \xb7 Asia/Ho_Chi_Minh \xb7 ",D.providers?.length||0," local provider"]}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsxs)("button",{type:"button",onClick:X,className:"inline-flex items-center gap-2 rounded-xl border border-border bg-background px-3 py-2 text-xs font-semibold text-text-main hover:border-primary/40",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"content_copy"}),F?"Đ\xe3 sao ch\xe9p":"Copy summary"]}),(0,a.jsxs)("button",{type:"button",onClick:Q,className:"inline-flex items-center gap-2 rounded-xl border border-border bg-background px-3 py-2 text-xs font-semibold text-text-main hover:border-primary/40",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"data_object"}),"JSON"]}),(0,a.jsxs)("button",{type:"button",onClick:W,className:"inline-flex items-center gap-2 rounded-xl bg-primary px-3 py-2 text-xs font-bold text-white shadow-sm hover:brightness-110",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"download"}),"Tải HTML full"]}),(0,a.jsxs)("button",{type:"button",onClick:J,className:"inline-flex items-center gap-2 rounded-xl border border-border bg-background px-3 py-2 text-xs font-semibold text-text-main hover:border-primary/40",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"print"}),"In / PDF"]})]})]}),(0,a.jsxs)("section",{className:"grid gap-4 sm:grid-cols-2 xl:grid-cols-6",children:[(0,a.jsx)(j,{icon:"conversion_path",label:"Requests",value:m(D.overview?.requests),hint:`${m(D.overview?.totalTokens)} tokens`}),(0,a.jsx)(j,{icon:"verified",label:"Success rate",value:h(D.overview?.successRate,2),hint:`${x(D.overview?.errors)} usage errors`,tone:"emerald"}),(0,a.jsx)(j,{icon:"speed",label:"Latency p95",value:u(D.experience?.p95LatencyMs),hint:`p50 ${u(D.experience?.p50LatencyMs)}`,tone:"violet"}),(0,a.jsx)(j,{icon:"bolt",label:"TTFT p95",value:u(D.experience?.p95TtftMs),hint:`${x(D.experience?.outputTokensPerSecond,1)} tok/s`,tone:"amber"}),(0,a.jsx)(j,{icon:"cached",label:"Cached input",value:h(D.overview?.cacheShare),hint:`${m(D.overview?.cachedTokens)} tokens`,tone:"blue"}),(0,a.jsx)(j,{icon:"health_metrics",label:"Operational score",value:null==D.score?"N/A":`${D.score}/100`,hint:`Confidence ${D.confidence}`,tone:"critical"===D.status?"rose":"warning"===D.status?"amber":"emerald"})]}),(0,a.jsxs)(y,{className:"overflow-hidden bg-gradient-to-br from-surface to-primary/[0.035]",children:[(0,a.jsx)(f,{eyebrow:"Executive Brief",title:"T\xf3m tắt điều h\xe0nh",description:"Những t\xedn hiệu quan trọng nhất, kết hợp analytics local-only, lỗi v\xe0 snapshot hạ tầng.",icon:"summarize"}),(0,a.jsxs)("div",{className:"grid gap-4 lg:grid-cols-[minmax(0,1fr)_340px]",children:[(0,a.jsx)("div",{className:"space-y-3",children:(D.narrative?.executiveSummary||[]).map((e,t)=>(0,a.jsxs)("div",{className:"flex gap-3 rounded-2xl border border-border bg-background p-4",children:[(0,a.jsx)("span",{className:"flex h-7 w-7 shrink-0 items-center justify-center rounded-lg bg-primary/10 text-xs font-black text-primary",children:t+1}),(0,a.jsx)("p",{className:"text-sm leading-6 text-text-main",children:e})]},`${t}-${e}`))}),(0,a.jsxs)("div",{className:"rounded-2xl border border-border bg-background p-5",children:[(0,a.jsx)("div",{className:"text-xs font-bold uppercase tracking-[0.14em] text-text-muted",children:"Điểm vận h\xe0nh"}),(0,a.jsx)("div",{className:"mt-2 text-6xl font-black tracking-tighter text-text-main",children:null==D.score?"—":D.score}),(0,a.jsx)("div",{className:"mt-1 text-xs text-text-muted",children:"Thang 100 \xb7 heuristic SRE từ error, p95 latency, TTFT v\xe0 snapshot telemetry"}),(0,a.jsx)("div",{className:"mt-5 space-y-2",children:(D.operationalSignals||[]).slice(0,5).map(e=>(0,a.jsxs)("div",{className:"flex gap-2 text-xs leading-5 text-text-muted",children:[(0,a.jsx)("span",{className:"material-symbols-outlined mt-0.5 text-[16px] text-primary",children:"arrow_right"}),(0,a.jsx)("span",{children:e})]},e))})]})]})]}),(0,a.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1.35fr)_minmax(360px,0.65fr)]",children:[(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Traffic",title:`Xu hướng ${V.label}`,description:"Request theo ng\xe0y ở m\xfai giờ Asia/Ho_Chi_Minh; hover từng cột để xem token v\xe0 lỗi.",icon:"finance_mode"}),(0,a.jsx)(w,{rows:D.daily||[]}),Y?(0,a.jsxs)("div",{className:"mt-4 grid gap-3 sm:grid-cols-3",children:[(0,a.jsx)($,{label:"Peak day",value:`${Y.date} \xb7 ${x(Y.requests)} req`}),(0,a.jsx)($,{label:"Peak error rate",value:h(Y.errorRate)}),(0,a.jsx)($,{label:"Peak tokens",value:m(Y.totalTokens)})]}):null]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Context Economics",title:"Token, cache & thinking",description:"Ph\xe2n t\xedch theo usage do provider b\xe1o; cached token kh\xf4ng mặc định l\xe0 GPU KV cache.",icon:"memory"}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(N,{value:D.overview?.cacheShare*100,label:"Cached / input (%)",tone:"bg-cyan-500"}),(0,a.jsx)(N,{value:Math.min(100,D.overview?.reasoningShare*100),label:"Reasoning / output (%)",tone:"bg-violet-500"}),(0,a.jsx)(N,{value:100*(D.contextAndThinking?.largeContext?.gte50kRate||0),label:"Request context >=50k (%)",tone:"bg-amber-500"}),(0,a.jsx)(N,{value:100*(D.contextAndThinking?.thinking?.autoOffRate||0),label:"Thinking auto-off (%)",tone:"bg-rose-500"})]}),(0,a.jsxs)("div",{className:"mt-5 grid gap-3 sm:grid-cols-2 xl:grid-cols-1 2xl:grid-cols-2",children:[(0,a.jsx)($,{label:"Input tokens",value:m(D.overview?.promptTokens)}),(0,a.jsx)($,{label:"Output tokens",value:m(D.overview?.completionTokens)}),(0,a.jsx)($,{label:"Avg token/request",value:m(D.overview?.averageTokensPerRequest)}),(0,a.jsx)($,{label:"Extreme context",value:h(D.experience?.extremeInputRate)})]})]})]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Model Intelligence",title:"Đ\xe1nh gi\xe1 theo từng local model",description:"So s\xe1nh trong bối cảnh workload thực tế. Model \xedt hơn 20 request được đ\xe1nh dấu \xedt mẫu.",icon:"model_training"}),(0,a.jsxs)("div",{className:"grid gap-4 xl:grid-cols-2",children:[(D.models||[]).map((e,t)=>(0,a.jsx)(k,{model:e,rank:t+1},e.key)),D.models?.length?null:(0,a.jsx)("div",{className:"col-span-full rounded-2xl border border-dashed border-border p-10 text-center text-sm text-text-muted",children:"Kh\xf4ng c\xf3 model local n\xe0o ph\xe1t sinh traffic trong khoảng b\xe1o c\xe1o."})]})]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Infrastructure Snapshot",title:"Hạ tầng Local AI",description:`Inventory v\xe0 snapshot tại thời điểm tạo b\xe1o c\xe1o. Kh\xf4ng được diễn giải th\xe0nh lịch sử GPU ${V.label}.`,icon:"developer_board"}),(0,a.jsxs)("div",{className:"grid gap-4 xl:grid-cols-2",children:[(D.hardware||[]).map(e=>(0,a.jsx)(T,{node:e},e.id)),D.hardware?.length?null:(0,a.jsx)("div",{className:"col-span-full rounded-2xl border border-dashed border-border p-10 text-center text-sm text-text-muted",children:"Chưa cấu h\xecnh Linux Resources."})]}),(0,a.jsxs)("div",{className:"mt-5 rounded-2xl border border-primary/15 bg-primary/5 p-4 text-sm leading-6 text-text-muted",children:[(0,a.jsx)("strong",{className:"text-text-main",children:"Nhận định hạ tầng:"})," ",D.narrative?.infrastructureAssessment]})]}),(0,a.jsxs)("div",{className:"grid gap-6 xl:grid-cols-2",children:[(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Strengths",title:"Điểm mạnh",icon:"workspace_premium"}),(0,a.jsx)("div",{className:"space-y-3",children:(D.narrative?.strengths||[]).map((e,t)=>(0,a.jsxs)("div",{className:"rounded-2xl border border-emerald-500/15 bg-emerald-500/5 p-4",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,a.jsx)("h3",{className:"font-bold text-text-main",children:e.title}),(0,a.jsx)("span",{className:"rounded-full bg-emerald-500/10 px-2 py-1 text-[10px] font-bold uppercase text-emerald-600",children:e.confidence})]}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-text-muted",children:e.evidence})]},`${t}-${e.title}`))})]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Risks",title:"Điểm yếu & rủi ro",icon:"crisis_alert"}),(0,a.jsx)("div",{className:"space-y-3",children:(D.narrative?.weaknesses||[]).map((e,t)=>(0,a.jsxs)("div",{className:"rounded-2xl border border-amber-500/15 bg-amber-500/5 p-4",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(v,{value:e.priority}),(0,a.jsx)("h3",{className:"font-bold text-text-main",children:e.title})]}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-text-muted",children:e.evidence}),e.impact?(0,a.jsxs)("p",{className:"mt-2 text-xs font-medium text-amber-700 dark:text-amber-300",children:["Ảnh hưởng: ",e.impact]}):null]},`${t}-${e.title}`))})]})]}),(0,a.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1.1fr)_minmax(0,0.9fr)]",children:[(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Reliability",title:"Lỗi ảnh hưởng Local AI",description:"Ph\xe2n loại gateway, upstream, client v\xe0 rate-limit từ request_error_events đ\xe3 scope theo local provider.",icon:"bug_report"}),(0,a.jsxs)("div",{className:"grid gap-3 sm:grid-cols-4",children:[(0,a.jsx)($,{label:"Gateway",value:x(D.errors?.summary?.gateway)}),(0,a.jsx)($,{label:"Upstream",value:x(D.errors?.summary?.upstream)}),(0,a.jsx)($,{label:"Client",value:x(D.errors?.summary?.client)}),(0,a.jsx)($,{label:"Rate limit",value:x(D.errors?.summary?.rateLimit)})]}),(0,a.jsxs)("div",{className:"mt-5 overflow-x-auto",children:[(0,a.jsxs)("table",{className:"w-full min-w-[720px] text-left text-xs",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-border text-[10px] uppercase tracking-[0.1em] text-text-muted",children:[(0,a.jsx)("th",{className:"pb-3",children:"Owner / Error"}),(0,a.jsx)("th",{className:"pb-3",children:"Model"}),(0,a.jsx)("th",{className:"pb-3",children:"Endpoint"}),(0,a.jsx)("th",{className:"pb-3 text-right",children:"Count"})]})}),(0,a.jsx)("tbody",{children:(D.errors?.topServerErrors||[]).map((e,t)=>(0,a.jsxs)("tr",{className:"border-b border-border/60",children:[(0,a.jsxs)("td",{className:"py-3",children:[(0,a.jsxs)("div",{className:"font-semibold text-text-main",children:[e.faultOwner||"unknown"," \xb7 ",e.errorType||e.status]}),(0,a.jsx)("div",{className:"mt-1 max-w-md truncate text-text-muted",title:e.sample,children:e.sample||e.errorCode||"-"})]}),(0,a.jsx)("td",{className:"py-3 text-text-muted",children:e.model||"-"}),(0,a.jsx)("td",{className:"py-3 text-text-muted",children:e.endpoint||"-"}),(0,a.jsx)("td",{className:"py-3 text-right font-bold text-text-main",children:x(e.requests)})]},`${t}-${e.label}`))})]}),D.errors?.topServerErrors?.length?null:(0,a.jsx)("div",{className:"py-8 text-center text-sm text-text-muted",children:"Kh\xf4ng c\xf3 lỗi gateway/upstream đ\xe1ng ch\xfa \xfd."})]})]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Workload",title:"Nguồn tải ch\xednh",description:"API key v\xe0 endpoint đ\xe3 aggregate; kh\xf4ng đưa raw bearer token v\xe0o report.",icon:"account_tree"}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"mb-2 text-xs font-bold uppercase tracking-[0.12em] text-text-muted",children:"Top API keys"}),(0,a.jsx)("div",{className:"space-y-2",children:(D.workload?.apiKeys||[]).slice(0,6).map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border bg-background px-3 py-2.5",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"truncate text-sm font-semibold text-text-main",children:e.label}),(0,a.jsx)("div",{className:"text-[11px] text-text-muted",children:e.ownerUser||e.fingerprint||"-"})]}),(0,a.jsxs)("div",{className:"text-right",children:[(0,a.jsx)("div",{className:"text-sm font-bold text-text-main",children:m(e.totalTokens)}),(0,a.jsxs)("div",{className:"text-[10px] text-text-muted",children:[h(e.tokenShare)," token"]})]})]},e.key))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("div",{className:"mb-2 text-xs font-bold uppercase tracking-[0.12em] text-text-muted",children:"Top endpoints"}),(0,a.jsx)("div",{className:"space-y-2",children:(D.workload?.endpoints||[]).slice(0,6).map(e=>(0,a.jsxs)("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-border bg-background px-3 py-2.5",children:[(0,a.jsx)("div",{className:"min-w-0 truncate text-sm font-semibold text-text-main",children:e.label}),(0,a.jsxs)("div",{className:"text-right text-xs text-text-muted",children:[x(e.requests)," req \xb7 ",h(e.errorRate)," error"]})]},e.key))})]})]})]})]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Execution Plan",title:"Kế hoạch h\xe0nh động",description:"Ưu ti\xean theo t\xe1c động vận h\xe0nh; mỗi h\xe0nh động c\xf3 owner gợi \xfd v\xe0 chỉ số x\xe1c nhận sau khi triển khai.",icon:"checklist"}),(0,a.jsx)("div",{className:"overflow-x-auto",children:(0,a.jsxs)("table",{className:"w-full min-w-[900px] text-left text-sm",children:[(0,a.jsx)("thead",{children:(0,a.jsxs)("tr",{className:"border-b border-border text-[10px] uppercase tracking-[0.12em] text-text-muted",children:[(0,a.jsx)("th",{className:"pb-3",children:"Priority"}),(0,a.jsx)("th",{className:"pb-3",children:"H\xe0nh động"}),(0,a.jsx)("th",{className:"pb-3",children:"Owner"}),(0,a.jsx)("th",{className:"pb-3",children:"Chỉ số kiểm chứng"})]})}),(0,a.jsx)("tbody",{children:(D.narrative?.actions||[]).map((e,t)=>(0,a.jsxs)("tr",{className:"border-b border-border/60 align-top",children:[(0,a.jsx)("td",{className:"py-4",children:(0,a.jsx)(v,{value:e.priority})}),(0,a.jsx)("td",{className:"py-4 pr-6 font-medium leading-6 text-text-main",children:e.action}),(0,a.jsx)("td",{className:"py-4 pr-6 text-text-muted",children:e.owner||"-"}),(0,a.jsx)("td",{className:"py-4 text-text-muted",children:e.validationMetric||"-"})]},`${t}-${e.action}`))})]})})]}),(0,a.jsxs)(y,{children:[(0,a.jsx)(f,{eyebrow:"Forecast & Methodology",title:"Dự b\xe1o v\xe0 giới hạn b\xe1o c\xe1o",icon:"policy"}),(0,a.jsxs)("div",{className:"grid gap-5 lg:grid-cols-2",children:[(0,a.jsxs)("div",{className:"rounded-2xl border border-border bg-background p-5",children:[(0,a.jsx)("h3",{className:"font-bold text-text-main",children:"Dự b\xe1o ngắn hạn"}),(0,a.jsx)("p",{className:"mt-2 text-sm leading-6 text-text-muted",children:D.narrative?.forecast})]}),(0,a.jsxs)("div",{className:"rounded-2xl border border-border bg-background p-5",children:[(0,a.jsx)("h3",{className:"font-bold text-text-main",children:"Độ tin cậy dữ liệu"}),(0,a.jsx)("ul",{className:"mt-3 space-y-2",children:(D.dataQuality||[]).map(e=>(0,a.jsxs)("li",{className:"flex gap-2 text-sm leading-6 text-text-muted",children:[(0,a.jsx)("span",{className:"material-symbols-outlined mt-1 text-[16px] text-primary",children:"info"}),(0,a.jsx)("span",{children:e})]},e))})]})]}),D.aiWarning?(0,a.jsxs)("div",{className:"mt-4 rounded-xl border border-amber-500/20 bg-amber-500/10 p-3 text-xs text-amber-700 dark:text-amber-300",children:["AI narrative fallback được sử dụng v\xec: ",D.aiWarning]}):null,(0,a.jsxs)("div",{className:"mt-4 text-[11px] text-text-muted",children:["Report ID: ",D.id," \xb7 Analytics ",D.analyticsVersion," \xb7 Compute ",x(D.computeMs)," ms \xb7 Requested by ",D.requestedBy||"Admin"]})]})]}):(0,a.jsxs)(y,{className:"flex min-h-[340px] flex-col items-center justify-center text-center",children:[(0,a.jsx)("span",{className:"material-symbols-outlined rounded-3xl bg-primary/10 p-5 text-5xl text-primary",children:"analytics"}),(0,a.jsx)("h2",{className:"mt-5 text-2xl font-black text-text-main",children:"Chưa c\xf3 Local AI Report"}),(0,a.jsx)("p",{className:"mt-2 max-w-xl text-sm leading-6 text-text-muted",children:"Chọn AI model v\xe0 tạo b\xe1o c\xe1o. Hệ thống chỉ lấy traffic từ Provider Node c\xf3 runtime vLLM; dữ liệu cloud kh\xf4ng được trộn v\xe0o KPI local."})]})]}):null}},34701:(e,t,r)=>{"use strict";var a=r(82114);function s(){}function l(){}l.resetWarningCache=s,e.exports=function(){function e(e,t,r,s,l,n){if(n!==a){var i=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:l,resetWarningCache:s};return r.PropTypes=r,r}},82114:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},84175:(e,t,r)=>{Promise.resolve().then(r.bind(r,30238))},94027:(e,t,r)=>{"use strict";r.d(t,{Y:()=>o,s:()=>d});var a=r(95155),s=r(12115),l=r(14051),n=r.n(l);let i=(0,s.createContext)(null);function o({children:e}){let[t,r]=(0,s.useState)(null),[l,n]=(0,s.useState)(!0),[d,c]=(0,s.useState)(""),x=(0,s.useCallback)(async()=>{n(!0),c("");try{let e=await fetch("/api/auth/status",{cache:"no-store"}),t=await e.json().catch(()=>({}));if(!e.ok)throw Error(t?.error||"Kh\xf4ng tải được trạng th\xe1i đăng nhập");return r(t||{}),t||{}}catch(e){return c(e?.message||"Kh\xf4ng tải được trạng th\xe1i đăng nhập"),r({}),{}}finally{n(!1)}},[]);(0,s.useEffect)(()=>{let e=!1;return(async()=>{n(!0),c("");try{let t=await fetch("/api/auth/status",{cache:"no-store"}),a=await t.json().catch(()=>({}));if(e)return;if(!t.ok)throw Error(a?.error||"Kh\xf4ng tải được trạng th\xe1i đăng nhập");r(a||{})}catch(t){e||(c(t?.message||"Kh\xf4ng tải được trạng th\xe1i đăng nhập"),r({}))}finally{e||n(!1)}})(),()=>{e=!0}},[]);let m=(0,s.useMemo)(()=>{let e,r,a,s,l,n,i;return r=(e=t&&"object"==typeof t?t:{}).displayName||e.oidcName||e.oidcEmail||e.userId||"",s=(a=!0===e.actualIsAdmin||!0===e.isAdmin&&!0!==e.showAsUser)&&!0===e.showAsUser,l=!0===e.isAdmin&&!s,n=!0===e.isMonitorAdmin,i=!0===e.isAiGatewaysMonitor,{status:e,displayName:r,userId:e.userId||"",loginMethod:e.loginMethod||"",role:e.role||"guest",actualRole:e.actualRole||e.role||"guest",isAdmin:l,actualIsAdmin:a,showAsUser:s,canToggleUserMode:!0===e.canToggleUserMode||a,isMonitorAdmin:n,isAiGatewaysMonitor:i,canManageApiKeys:!0===e.canManageApiKeys||l||n,canUseMonitorAdminTabs:!0===e.canUseMonitorAdminTabs||l||n,canViewAllAnalytics:!0===e.canViewAllAnalytics||l||n||i,canUseAuditProxy:!0===e.canUseAuditProxy||l}},[t]),h=(0,s.useMemo)(()=>({...m,loading:l,error:d,reload:x}),[m,l,d,x]);return(0,a.jsx)(i.Provider,{value:h,children:e})}function d(){let e=(0,s.useContext)(i);return e||{status:{},displayName:"",userId:"",loginMethod:"",role:"admin",actualRole:"admin",isAdmin:!0,actualIsAdmin:!0,showAsUser:!1,canToggleUserMode:!0,isMonitorAdmin:!1,isAiGatewaysMonitor:!1,canManageApiKeys:!0,canUseMonitorAdminTabs:!0,canViewAllAnalytics:!0,loading:!1,error:"",reload:async()=>({})}}o.propTypes={children:n().node}}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=84175)),_N_E=e.O()}]);
|