@amir83nasr/10router 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -5
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +23 -23
- package/.next/routes-manifest.json +6 -0
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/media-providers/systemone/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page.js +2 -2
- package/.next/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +6 -6
- package/.next/server/app/_not-found.segments/_full.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/api/auth/login/route.js +1 -1
- package/.next/server/app/api/auth/logout/route.js +1 -1
- package/.next/server/app/api/auth/oidc/callback/route.js +1 -1
- package/.next/server/app/api/auth/oidc/start/route.js +1 -1
- package/.next/server/app/api/auth/oidc/test/route.js +1 -1
- package/.next/server/app/api/auth/reset-password/route.js +1 -1
- package/.next/server/app/api/auth/saml/acs/route.js +1 -1
- package/.next/server/app/api/auth/saml/metadata/route.js +1 -1
- package/.next/server/app/api/auth/saml/start/route.js +2 -2
- package/.next/server/app/api/auth/saml/test/route.js +1 -1
- package/.next/server/app/api/auth/status/route.js +1 -1
- package/.next/server/app/api/changelog/route.js +1 -1
- package/.next/server/app/api/cli-tools/all-statuses/route.js +1 -1
- package/.next/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/.next/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/.next/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/dsh-settings/route.js +1 -1
- package/.next/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/.next/server/app/api/combos/[id]/route.js +1 -1
- package/.next/server/app/api/combos/route.js +1 -1
- package/.next/server/app/api/dashboard/chat/completions/route.js +1 -0
- package/.next/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -0
- package/.next/server/app/api/dashboard/chat/completions/route_client-reference-manifest.js +1 -0
- package/.next/server/app/api/headroom/extras/route.js +1 -1
- package/.next/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/.next/server/app/api/headroom/restart/route.js +1 -1
- package/.next/server/app/api/headroom/start/route.js +1 -1
- package/.next/server/app/api/headroom/status/route.js +1 -1
- package/.next/server/app/api/headroom/stop/route.js +1 -1
- package/.next/server/app/api/health/route.js +1 -1
- package/.next/server/app/api/init/route.js +1 -1
- package/.next/server/app/api/keys/[id]/route.js +1 -1
- package/.next/server/app/api/keys/route.js +1 -1
- package/.next/server/app/api/locale/route.js +1 -1
- package/.next/server/app/api/mcp/[plugin]/message/route.js +1 -1
- package/.next/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- package/.next/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/.next/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/.next/server/app/api/models/alias/route.js +1 -1
- package/.next/server/app/api/models/availability/route.js +1 -1
- package/.next/server/app/api/models/catalog-sync/route.js +1 -1
- package/.next/server/app/api/models/custom/route.js +1 -1
- package/.next/server/app/api/models/disabled/route.js +1 -1
- package/.next/server/app/api/models/route.js +1 -1
- package/.next/server/app/api/models/test/route.js +1 -1
- package/.next/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/.next/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/.next/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/.next/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/.next/server/app/api/oauth/cursor/import/route.js +1 -1
- package/.next/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/.next/server/app/api/oauth/grok-cli/bulk-import/route.js +1 -1
- package/.next/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/.next/server/app/api/oauth/xiaomi-mimo/api-key/route.js +1 -1
- package/.next/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +2 -2
- package/.next/server/app/api/pricing/route.js +1 -1
- package/.next/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/.next/server/app/api/provider-nodes/route.js +1 -1
- package/.next/server/app/api/provider-nodes/validate/route.js +1 -1
- package/.next/server/app/api/providers/[id]/models/route.js +1 -1
- package/.next/server/app/api/providers/[id]/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test/route.js +1 -1
- package/.next/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/.next/server/app/api/providers/client/route.js +1 -1
- package/.next/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/.next/server/app/api/providers/route.js +1 -1
- package/.next/server/app/api/providers/suggested-models/route.js +1 -1
- package/.next/server/app/api/providers/test-batch/route.js +1 -1
- package/.next/server/app/api/providers/validate/route.js +1 -1
- package/.next/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/.next/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/.next/server/app/api/proxy-pools/cloudflare-deploy/route.js +1 -1
- package/.next/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/.next/server/app/api/proxy-pools/route.js +1 -1
- package/.next/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/.next/server/app/api/pxpipe/health/route.js +1 -1
- package/.next/server/app/api/pxpipe/install/route.js +1 -1
- package/.next/server/app/api/pxpipe/logs/route.js +1 -1
- package/.next/server/app/api/pxpipe/restart/route.js +1 -1
- package/.next/server/app/api/pxpipe/start/route.js +1 -1
- package/.next/server/app/api/pxpipe/stats/route.js +1 -1
- package/.next/server/app/api/pxpipe/status/route.js +1 -1
- package/.next/server/app/api/pxpipe/stop/route.js +1 -1
- package/.next/server/app/api/settings/database/route.js +1 -1
- package/.next/server/app/api/settings/proxy-test/route.js +1 -1
- package/.next/server/app/api/settings/require-login/route.js +1 -1
- package/.next/server/app/api/settings/route.js +1 -1
- package/.next/server/app/api/shutdown/route.js +1 -1
- package/.next/server/app/api/tags/route.js +1 -1
- package/.next/server/app/api/translator/console-logs/route.js +1 -1
- package/.next/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/.next/server/app/api/translator/load/route.js +1 -1
- package/.next/server/app/api/translator/save/route.js +1 -1
- package/.next/server/app/api/translator/send/route.js +1 -1
- package/.next/server/app/api/translator/translate/route.js +1 -1
- package/.next/server/app/api/tunnel/disable/route.js +1 -1
- package/.next/server/app/api/tunnel/enable/route.js +1 -1
- package/.next/server/app/api/tunnel/status/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/.next/server/app/api/tunnel/tailscale-install/route.js +3 -3
- package/.next/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +1 -1
- package/.next/server/app/api/usage/[connectionId]/route.js +1 -1
- package/.next/server/app/api/usage/chart/route.js +1 -1
- package/.next/server/app/api/usage/health/route.js +1 -1
- package/.next/server/app/api/usage/history/route.js +1 -1
- package/.next/server/app/api/usage/logs/route.js +1 -1
- package/.next/server/app/api/usage/providers/route.js +1 -1
- package/.next/server/app/api/usage/request-details/route.js +1 -1
- package/.next/server/app/api/usage/request-logs/route.js +1 -1
- package/.next/server/app/api/usage/stats/route.js +1 -1
- package/.next/server/app/api/usage/stream/route.js +2 -2
- package/.next/server/app/api/v1/api/chat/route.js +1 -1
- package/.next/server/app/api/v1/audio/speech/route.js +1 -1
- package/.next/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/.next/server/app/api/v1/audio/voices/route.js +1 -1
- package/.next/server/app/api/v1/chat/completions/route.js +1 -1
- package/.next/server/app/api/v1/embeddings/route.js +1 -1
- package/.next/server/app/api/v1/images/generations/route.js +2 -2
- package/.next/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/.next/server/app/api/v1/messages/route.js +1 -1
- package/.next/server/app/api/v1/models/[...model]/route.js +1 -1
- package/.next/server/app/api/v1/models/info/route.js +1 -1
- package/.next/server/app/api/v1/models/route.js +1 -1
- package/.next/server/app/api/v1/responses/compact/route.js +1 -1
- package/.next/server/app/api/v1/responses/route.js +1 -1
- package/.next/server/app/api/v1/route.js +1 -1
- package/.next/server/app/api/v1/search/route.js +1 -1
- package/.next/server/app/api/v1/systemone/route.js +1 -1
- package/.next/server/app/api/v1/videos/[id]/route.js +1 -1
- package/.next/server/app/api/v1/videos/edits/route.js +1 -1
- package/.next/server/app/api/v1/videos/extensions/route.js +1 -1
- package/.next/server/app/api/v1/videos/generations/route.js +1 -1
- package/.next/server/app/api/v1/web/fetch/route.js +1 -1
- package/.next/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/.next/server/app/api/v1beta/models/route.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/api/version/shutdown/route.js +1 -1
- package/.next/server/app/api/version/update/route.js +1 -1
- package/.next/server/app/callback/page.js +1 -1
- package/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/.next/server/app/callback.html +1 -1
- package/.next/server/app/callback.rsc +7 -7
- package/.next/server/app/callback.segments/_full.segment.rsc +7 -7
- package/.next/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/callback.segments/callback/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/basic-chat.html +1 -1
- package/.next/server/app/dashboard/basic-chat.rsc +8 -8
- package/.next/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/cli-tools.html +1 -1
- package/.next/server/app/dashboard/cli-tools.rsc +9 -9
- package/.next/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/cli-tools.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/combos.html +1 -1
- package/.next/server/app/dashboard/combos.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/endpoint.html +1 -1
- package/.next/server/app/dashboard/endpoint.rsc +9 -9
- package/.next/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/media-providers/systemone.html +1 -1
- package/.next/server/app/dashboard/media-providers/systemone.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/systemone/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/media-providers/systemone.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/profile.html +1 -1
- package/.next/server/app/dashboard/profile.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/providers/new.html +1 -1
- package/.next/server/app/dashboard/providers/new.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/providers.html +1 -1
- package/.next/server/app/dashboard/providers.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/proxy-pools.html +1 -1
- package/.next/server/app/dashboard/proxy-pools.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/pxpipe.html +1 -1
- package/.next/server/app/dashboard/pxpipe.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
- package/.next/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/quota.html +2 -2
- package/.next/server/app/dashboard/quota.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/settings/pricing/page.js +1 -1
- package/.next/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/.next/server/app/dashboard/settings/pricing.html +1 -1
- package/.next/server/app/dashboard/settings/pricing.rsc +6 -6
- package/.next/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- package/.next/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/dashboard/token-saver.html +1 -1
- package/.next/server/app/dashboard/token-saver.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
- package/.next/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard/usage.html +2 -2
- package/.next/server/app/dashboard/usage.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
- package/.next/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/dashboard.html +1 -1
- package/.next/server/app/dashboard.rsc +9 -9
- package/.next/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +8 -8
- package/.next/server/app/dashboard.segments/_full.segment.rsc +9 -9
- package/.next/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +6 -6
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/index.segments/_full.segment.rsc +6 -6
- package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/landing/page.js +1 -1
- package/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/.next/server/app/landing.html +1 -1
- package/.next/server/app/landing.rsc +7 -7
- package/.next/server/app/landing.segments/_full.segment.rsc +7 -7
- package/.next/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/landing.segments/landing/__PAGE__.segment.rsc +7 -7
- package/.next/server/app/login/page.js +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +6 -6
- package/.next/server/app/login.segments/_full.segment.rsc +6 -6
- package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +6 -6
- package/.next/server/app/manifest.webmanifest/route.js +2 -2
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +6 -5
- package/.next/server/chunks/1011.js +1 -1
- package/.next/server/chunks/1194.js +1 -1
- package/.next/server/chunks/1289.js +1 -1
- package/.next/server/chunks/1633.js +1 -1
- package/.next/server/chunks/1985.js +1 -1
- package/.next/server/chunks/2282.js +6 -6
- package/.next/server/chunks/2339.js +1 -1
- package/.next/server/chunks/2706.js +1 -1
- package/.next/server/chunks/2801.js +1 -1
- package/.next/server/chunks/3034.js +1 -1
- package/.next/server/chunks/3425.js +1 -1
- package/.next/server/chunks/4129.js +1 -1
- package/.next/server/chunks/6056.js +1 -1
- package/.next/server/chunks/7348.js +1 -1
- package/.next/server/chunks/7816.js +1 -1
- package/.next/server/chunks/9429.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/C423Aljus-j0GJlKCHgC1/_buildManifest.js +1 -0
- package/.next/static/chunks/1278-3b5ed69340ddb23f.js +1 -0
- package/.next/static/chunks/{1471-10f225f62f7469cc.js → 1471-69a7c30abf98c656.js} +1 -1
- package/.next/static/chunks/159-89c77cec422bd76f.js +1 -0
- package/.next/static/chunks/2392-b07fcae4714087ef.js +65 -0
- package/.next/static/chunks/2441-96064c4ee1216099.js +1 -0
- package/.next/static/chunks/{2836-d97f0aa2718945d5.js → 2836-4781ea7374870f4a.js} +1 -1
- package/.next/static/chunks/{3577-cd98d40e3099e1b0.js → 3577-1f02993330d7fba7.js} +1 -1
- package/.next/static/chunks/{5862-f98c2f3d480b80d2.js → 5862-6f3a3a6d4c00100d.js} +1 -1
- package/.next/static/chunks/9320-ae7eb68edeb92e89.js +3 -0
- package/.next/static/chunks/{9369-0d43b295968c2168.js → 9369-07e432041bb48a39.js} +1 -1
- package/.next/static/chunks/{9ce8c186-3c7d7dbc5d428052.js → 9ce8c186-6cd204e9c27ecee1.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-34f4d77aa3df67a8.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/{page-e8bceccb95695755.js → page-36ad70a4f906c64b.js} +2 -2
- package/.next/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-adee408d9de02423.js → page-aae6be7f75fcd819.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/combos/{page-d4c1e29e8d038f09.js → page-18212c87b17b33cf.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/console-log/{page-3cc58622294c8c8a.js → page-52b5a6dc2c2d2d93.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-9287a3cbd098b9c4.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/[id]/{page-b751d9603cb82e62.js → page-610d962dd8bd1744.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/media-providers/systemone/{page-49b3b4867d06cbe0.js → page-9dbf4cd6901b6042.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/page-1d6e969653676c7d.js +1 -0
- package/.next/static/chunks/app/(dashboard)/dashboard/profile/{page-65b2c7989dbe2663.js → page-2ab30b6e1baf1efd.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-d5d480e209fdc55a.js → page-b17607bc2ed06d50.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/new/{page-9b68243ab9555702.js → page-0e649a78a041306a.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/providers/{page-2396571281d02804.js → page-b10c05192c664e8d.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-cfd6bcb7e55d7d18.js → page-b33051a3fc600082.js} +2 -2
- package/.next/static/chunks/app/(dashboard)/dashboard/quota/{page-fef6edb7aafd8bd0.js → page-ee2a0fa91d9bea9c.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/usage/{page-697f46461825d7fc.js → page-2457f236bc58e590.js} +1 -1
- package/.next/static/chunks/app/(dashboard)/{layout-5039502fc12707c9.js → layout-7ef1d599b3c4c6d2.js} +1 -1
- package/.next/static/chunks/app/_global-error/page-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/login/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/logout/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/callback/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/start/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/oidc/test/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/reset-password/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/acs/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/metadata/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/start/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/saml/test/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/auth/status/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/changelog/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/combos/[id]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/combos/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/dashboard/chat/completions/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/headroom/extras/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/headroom/restart/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/headroom/start/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/headroom/status/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/headroom/stop/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/health/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/init/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/keys/[id]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/keys/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/locale/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/alias/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/availability/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/catalog-sync/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/custom/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/disabled/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/models/test/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/cursor/import/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pricing/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/provider-nodes/validate/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/client/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/suggested-models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/test-batch/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/providers/validate/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/health/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/install/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/logs/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/restart/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/start/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stats/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/status/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/pxpipe/stop/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/settings/database/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/settings/proxy-test/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/settings/require-login/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/settings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/shutdown/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tags/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/translator/load/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/translator/save/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/translator/send/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/translator/translate/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/disable/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/enable/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/status/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/[connectionId]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/chart/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/health/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/history/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/logs/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/providers/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/request-details/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/request-logs/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/stats/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/usage/stream/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/api/chat/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/speech/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/audio/voices/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/chat/completions/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/embeddings/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/images/generations/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/messages/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/models/[...model]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/models/info/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/compact/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/responses/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/search/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/systemone/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/[id]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/edits/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/extensions/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/videos/generations/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1/web/fetch/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/v1beta/models/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/version/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/version/shutdown/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/api/version/update/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/{layout-dc929483cad9f77f.js → layout-f34e075b1872747e.js} +1 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/app/page-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-a826a2eb5dc30149.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-a826a2eb5dc30149.js +1 -0
- package/.next/static/css/{c66cbd684164cacf.css → a2628e64fa8ac12e.css} +1 -1
- package/CHANGELOG.md +8 -0
- package/open-sse/providers/registry/opencode-go.js +4 -0
- package/open-sse/providers/registry/opencode-zen.js +4 -0
- package/open-sse/providers/registry/opencode.js +3 -0
- package/open-sse/translator/concerns/thinkingUnified.js +16 -1
- package/open-sse/translator/concerns/toolCall.js +2 -1
- package/open-sse/translator/formats/openai.js +10 -2
- package/open-sse/translator/request/claude-to-openai.js +9 -5
- package/open-sse/translator/response/openai-to-claude.js +66 -32
- package/open-sse/translator/schema/defaults.js +6 -0
- package/open-sse/translator/schema/index.js +1 -1
- package/package.json +2 -1
- package/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx +45 -7
- package/src/app/api/dashboard/chat/completions/route.ts +45 -0
- package/src/app/globals.css +54 -13
- package/src/components/app-sidebar.tsx +1 -0
- package/src/shared/components/Header.tsx +8 -0
- package/.next/static/Xxof6vr5MvX0-6oReU23d/_buildManifest.js +0 -1
- package/.next/static/chunks/1278-f11c7d84c52342fc.js +0 -1
- package/.next/static/chunks/159-ec207a220d7d5c16.js +0 -1
- package/.next/static/chunks/1699-13ee6864a8a31a96.js +0 -67
- package/.next/static/chunks/app/(dashboard)/dashboard/basic-chat/page-ce1364b2b9589785.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/endpoint/page-67516b120adbc4d7.js +0 -1
- package/.next/static/chunks/app/(dashboard)/dashboard/page-315c9f52c472a700.js +0 -1
- package/.next/static/chunks/app/_global-error/page-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/login/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/logout/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/callback/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/oidc/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/reset-password/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/acs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/metadata/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/saml/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/auth/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/changelog/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/all-statuses/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/claude-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/codex-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-registry/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-mcp-tools/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/cowork-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/dsh-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/cli-tools/opencode-settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/combos/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/combos/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/extras/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/proxy/[...path]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/restart/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/headroom/stop/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/health/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/init/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/keys/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/keys/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/locale/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/mcp/[plugin]/message/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/mcp/[plugin]/sse/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/deepgram/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/elevenlabs/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/inworld/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/minimax/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/media-providers/tts/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/alias/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/availability/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/catalog-sync/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/custom/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/disabled/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/models/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/[provider]/[action]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/codex/bulk-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/codex/import-token/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/cursor/auto-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/cursor/import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/gitlab/pat/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/grok-cli/bulk-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/iflow/cookie/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/api-key/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/oauth/xiaomi-mimo/auto-import/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pricing/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/provider-nodes/validate/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/[id]/test-models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/client/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/kilo/free-models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/suggested-models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/test-batch/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/providers/validate/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/[id]/test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/cloudflare-deploy/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/deno-deploy/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/proxy-pools/vercel-deploy/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/health/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/install/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/restart/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/start/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/stats/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/pxpipe/stop/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/database/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/proxy-test/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/require-login/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/settings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/shutdown/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tags/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/console-logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/console-logs/stream/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/load/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/save/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/send/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/translator/translate/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/disable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/enable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/status/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-check/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-disable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-enable/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/tunnel/tailscale-install/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/[connectionId]/codex-reset-credits/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/[connectionId]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/chart/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/health/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/history/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/providers/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/request-details/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/request-logs/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/stats/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/usage/stream/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/api/chat/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/speech/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/transcriptions/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/audio/voices/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/chat/completions/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/embeddings/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/images/generations/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/messages/count_tokens/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/messages/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/models/[...model]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/models/info/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/responses/compact/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/responses/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/search/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/systemone/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/[id]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/edits/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/extensions/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/videos/generations/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1/web/fetch/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1beta/models/[...path]/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/v1beta/models/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/version/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/version/shutdown/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/api/version/update/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/manifest.webmanifest/route-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/app/page-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-9a2a13ac6b89ba91.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-9a2a13ac6b89ba91.js +0 -1
- /package/.next/static/{Xxof6vr5MvX0-6oReU23d → C423Aljus-j0GJlKCHgC1}/_ssgManifest.js +0 -0
package/.next/BUILD_ID
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
C423Aljus-j0GJlKCHgC1
|
|
@@ -100,9 +100,10 @@
|
|
|
100
100
|
"/api/version/update/route": "/api/version/update",
|
|
101
101
|
"/manifest.webmanifest/route": "/manifest.webmanifest",
|
|
102
102
|
"/api/combos/route": "/api/combos",
|
|
103
|
+
"/api/dashboard/chat/completions/route": "/api/dashboard/chat/completions",
|
|
103
104
|
"/api/headroom/extras/route": "/api/headroom/extras",
|
|
104
|
-
"/api/headroom/restart/route": "/api/headroom/restart",
|
|
105
105
|
"/api/headroom/proxy/[...path]/route": "/api/headroom/proxy/[...path]",
|
|
106
|
+
"/api/headroom/restart/route": "/api/headroom/restart",
|
|
106
107
|
"/api/headroom/start/route": "/api/headroom/start",
|
|
107
108
|
"/api/headroom/status/route": "/api/headroom/status",
|
|
108
109
|
"/api/headroom/stop/route": "/api/headroom/stop",
|
|
@@ -112,13 +113,13 @@
|
|
|
112
113
|
"/api/models/alias/route": "/api/models/alias",
|
|
113
114
|
"/api/models/custom/route": "/api/models/custom",
|
|
114
115
|
"/api/models/disabled/route": "/api/models/disabled",
|
|
115
|
-
"/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
|
|
116
116
|
"/api/provider-nodes/route": "/api/provider-nodes",
|
|
117
|
+
"/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
|
|
117
118
|
"/api/providers/[id]/route": "/api/providers/[id]",
|
|
118
119
|
"/api/providers/client/route": "/api/providers/client",
|
|
119
120
|
"/api/providers/suggested-models/route": "/api/providers/suggested-models",
|
|
120
|
-
"/api/providers/route": "/api/providers",
|
|
121
121
|
"/api/providers/[id]/models/route": "/api/providers/[id]/models",
|
|
122
|
+
"/api/providers/route": "/api/providers",
|
|
122
123
|
"/api/proxy-pools/[id]/test/route": "/api/proxy-pools/[id]/test",
|
|
123
124
|
"/api/proxy-pools/[id]/route": "/api/proxy-pools/[id]",
|
|
124
125
|
"/api/proxy-pools/cloudflare-deploy/route": "/api/proxy-pools/cloudflare-deploy",
|
|
@@ -165,6 +166,6 @@
|
|
|
165
166
|
"/(dashboard)/dashboard/console-log/page": "/dashboard/console-log",
|
|
166
167
|
"/(dashboard)/dashboard/profile/page": "/dashboard/profile",
|
|
167
168
|
"/(dashboard)/dashboard/providers/page": "/dashboard/providers",
|
|
168
|
-
"/(dashboard)/dashboard/
|
|
169
|
-
"/(dashboard)/dashboard/
|
|
169
|
+
"/(dashboard)/dashboard/providers/[id]/page": "/dashboard/providers/[id]",
|
|
170
|
+
"/(dashboard)/dashboard/proxy-pools/page": "/dashboard/proxy-pools"
|
|
170
171
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
],
|
|
5
5
|
"devFiles": [],
|
|
6
6
|
"lowPriorityFiles": [
|
|
7
|
-
"static/
|
|
8
|
-
"static/
|
|
7
|
+
"static/C423Aljus-j0GJlKCHgC1/_buildManifest.js",
|
|
8
|
+
"static/C423Aljus-j0GJlKCHgC1/_ssgManifest.js"
|
|
9
9
|
],
|
|
10
10
|
"rootMainFiles": [
|
|
11
11
|
"static/chunks/webpack-cb89101193742e2b.js",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"routeType": "page",
|
|
6
6
|
"response": "complete",
|
|
7
7
|
"compute": "static",
|
|
8
|
-
"htmlSize":
|
|
8
|
+
"htmlSize": 8466,
|
|
9
9
|
"experimentalBypassFor": [
|
|
10
10
|
{
|
|
11
11
|
"type": "header",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"routeType": "page",
|
|
63
63
|
"response": "complete",
|
|
64
64
|
"compute": "static",
|
|
65
|
-
"htmlSize":
|
|
65
|
+
"htmlSize": 12650,
|
|
66
66
|
"experimentalBypassFor": [
|
|
67
67
|
{
|
|
68
68
|
"type": "header",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"routeType": "page",
|
|
91
91
|
"response": "complete",
|
|
92
92
|
"compute": "static",
|
|
93
|
-
"htmlSize":
|
|
93
|
+
"htmlSize": 12946,
|
|
94
94
|
"experimentalBypassFor": [
|
|
95
95
|
{
|
|
96
96
|
"type": "header",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"routeType": "page",
|
|
119
119
|
"response": "complete",
|
|
120
120
|
"compute": "static",
|
|
121
|
-
"htmlSize":
|
|
121
|
+
"htmlSize": 42799,
|
|
122
122
|
"experimentalBypassFor": [
|
|
123
123
|
{
|
|
124
124
|
"type": "header",
|
|
@@ -146,7 +146,7 @@
|
|
|
146
146
|
"routeType": "page",
|
|
147
147
|
"response": "complete",
|
|
148
148
|
"compute": "static",
|
|
149
|
-
"htmlSize":
|
|
149
|
+
"htmlSize": 45648,
|
|
150
150
|
"experimentalBypassFor": [
|
|
151
151
|
{
|
|
152
152
|
"type": "header",
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
"routeType": "page",
|
|
175
175
|
"response": "complete",
|
|
176
176
|
"compute": "static",
|
|
177
|
-
"htmlSize":
|
|
177
|
+
"htmlSize": 48820,
|
|
178
178
|
"experimentalBypassFor": [
|
|
179
179
|
{
|
|
180
180
|
"type": "header",
|
|
@@ -202,7 +202,7 @@
|
|
|
202
202
|
"routeType": "page",
|
|
203
203
|
"response": "complete",
|
|
204
204
|
"compute": "static",
|
|
205
|
-
"htmlSize":
|
|
205
|
+
"htmlSize": 43693,
|
|
206
206
|
"experimentalBypassFor": [
|
|
207
207
|
{
|
|
208
208
|
"type": "header",
|
|
@@ -230,7 +230,7 @@
|
|
|
230
230
|
"routeType": "page",
|
|
231
231
|
"response": "complete",
|
|
232
232
|
"compute": "static",
|
|
233
|
-
"htmlSize":
|
|
233
|
+
"htmlSize": 43314,
|
|
234
234
|
"experimentalBypassFor": [
|
|
235
235
|
{
|
|
236
236
|
"type": "header",
|
|
@@ -258,7 +258,7 @@
|
|
|
258
258
|
"routeType": "page",
|
|
259
259
|
"response": "complete",
|
|
260
260
|
"compute": "static",
|
|
261
|
-
"htmlSize":
|
|
261
|
+
"htmlSize": 48901,
|
|
262
262
|
"experimentalBypassFor": [
|
|
263
263
|
{
|
|
264
264
|
"type": "header",
|
|
@@ -286,7 +286,7 @@
|
|
|
286
286
|
"routeType": "page",
|
|
287
287
|
"response": "complete",
|
|
288
288
|
"compute": "static",
|
|
289
|
-
"htmlSize":
|
|
289
|
+
"htmlSize": 61853,
|
|
290
290
|
"experimentalBypassFor": [
|
|
291
291
|
{
|
|
292
292
|
"type": "header",
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
"routeType": "page",
|
|
315
315
|
"response": "complete",
|
|
316
316
|
"compute": "static",
|
|
317
|
-
"htmlSize":
|
|
317
|
+
"htmlSize": 49703,
|
|
318
318
|
"experimentalBypassFor": [
|
|
319
319
|
{
|
|
320
320
|
"type": "header",
|
|
@@ -342,7 +342,7 @@
|
|
|
342
342
|
"routeType": "page",
|
|
343
343
|
"response": "complete",
|
|
344
344
|
"compute": "static",
|
|
345
|
-
"htmlSize":
|
|
345
|
+
"htmlSize": 52536,
|
|
346
346
|
"experimentalBypassFor": [
|
|
347
347
|
{
|
|
348
348
|
"type": "header",
|
|
@@ -370,7 +370,7 @@
|
|
|
370
370
|
"routeType": "page",
|
|
371
371
|
"response": "complete",
|
|
372
372
|
"compute": "static",
|
|
373
|
-
"htmlSize":
|
|
373
|
+
"htmlSize": 43570,
|
|
374
374
|
"experimentalBypassFor": [
|
|
375
375
|
{
|
|
376
376
|
"type": "header",
|
|
@@ -398,7 +398,7 @@
|
|
|
398
398
|
"routeType": "page",
|
|
399
399
|
"response": "complete",
|
|
400
400
|
"compute": "static",
|
|
401
|
-
"htmlSize":
|
|
401
|
+
"htmlSize": 51073,
|
|
402
402
|
"experimentalBypassFor": [
|
|
403
403
|
{
|
|
404
404
|
"type": "header",
|
|
@@ -426,7 +426,7 @@
|
|
|
426
426
|
"routeType": "page",
|
|
427
427
|
"response": "complete",
|
|
428
428
|
"compute": "static",
|
|
429
|
-
"htmlSize":
|
|
429
|
+
"htmlSize": 53793,
|
|
430
430
|
"experimentalBypassFor": [
|
|
431
431
|
{
|
|
432
432
|
"type": "header",
|
|
@@ -454,7 +454,7 @@
|
|
|
454
454
|
"routeType": "page",
|
|
455
455
|
"response": "complete",
|
|
456
456
|
"compute": "static",
|
|
457
|
-
"htmlSize":
|
|
457
|
+
"htmlSize": 18089,
|
|
458
458
|
"experimentalBypassFor": [
|
|
459
459
|
{
|
|
460
460
|
"type": "header",
|
|
@@ -482,7 +482,7 @@
|
|
|
482
482
|
"routeType": "page",
|
|
483
483
|
"response": "complete",
|
|
484
484
|
"compute": "static",
|
|
485
|
-
"htmlSize":
|
|
485
|
+
"htmlSize": 51235,
|
|
486
486
|
"experimentalBypassFor": [
|
|
487
487
|
{
|
|
488
488
|
"type": "header",
|
|
@@ -510,7 +510,7 @@
|
|
|
510
510
|
"routeType": "page",
|
|
511
511
|
"response": "complete",
|
|
512
512
|
"compute": "static",
|
|
513
|
-
"htmlSize":
|
|
513
|
+
"htmlSize": 58860,
|
|
514
514
|
"experimentalBypassFor": [
|
|
515
515
|
{
|
|
516
516
|
"type": "header",
|
|
@@ -538,7 +538,7 @@
|
|
|
538
538
|
"routeType": "page",
|
|
539
539
|
"response": "complete",
|
|
540
540
|
"compute": "static",
|
|
541
|
-
"htmlSize":
|
|
541
|
+
"htmlSize": 41281,
|
|
542
542
|
"experimentalBypassFor": [
|
|
543
543
|
{
|
|
544
544
|
"type": "header",
|
|
@@ -566,7 +566,7 @@
|
|
|
566
566
|
"routeType": "page",
|
|
567
567
|
"response": "complete",
|
|
568
568
|
"compute": "static",
|
|
569
|
-
"htmlSize":
|
|
569
|
+
"htmlSize": 12440,
|
|
570
570
|
"experimentalBypassFor": [
|
|
571
571
|
{
|
|
572
572
|
"type": "header",
|
|
@@ -626,8 +626,8 @@
|
|
|
626
626
|
"dynamicRoutes": {},
|
|
627
627
|
"notFoundRoutes": [],
|
|
628
628
|
"preview": {
|
|
629
|
-
"previewModeId": "
|
|
630
|
-
"previewModeSigningKey": "
|
|
631
|
-
"previewModeEncryptionKey": "
|
|
629
|
+
"previewModeId": "d8c211b3572580e4d91f02e663dd4d30",
|
|
630
|
+
"previewModeSigningKey": "44cac61b08c2caf07426149980e84a872932ec697679ab90f0bbcb0e6df0dfcc",
|
|
631
|
+
"previewModeEncryptionKey": "f13dc4a105cca2e71d7304484e71e0d86e73905bfe23ad52115029335a27c928"
|
|
632
632
|
}
|
|
633
633
|
}
|
|
@@ -378,6 +378,12 @@
|
|
|
378
378
|
"routeKeys": {},
|
|
379
379
|
"namedRegex": "^/api/combos(?:/)?$"
|
|
380
380
|
},
|
|
381
|
+
{
|
|
382
|
+
"page": "/api/dashboard/chat/completions",
|
|
383
|
+
"regex": "^/api/dashboard/chat/completions(?:/)?$",
|
|
384
|
+
"routeKeys": {},
|
|
385
|
+
"namedRegex": "^/api/dashboard/chat/completions(?:/)?$"
|
|
386
|
+
},
|
|
381
387
|
{
|
|
382
388
|
"page": "/api/headroom/extras",
|
|
383
389
|
"regex": "^/api/headroom/extras(?:/)?$",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(()=>{var a={};a.id=4465,a.ids=[4465],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},5583:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(26720),e=c(29966),f=c(36243),g=c(70310),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79452))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,11089))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["basic-chat",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,67919))),"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/basic-chat/page.tsx"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/10Router/10Router/src/app/(dashboard)/layout.tsx"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/10Router/10Router/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/basic-chat/page",pathname:"/dashboard/basic-chat",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13527:(a,b,c)=>{Promise.resolve().then(c.bind(c,88330))},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19103:(a,b,c)=>{Promise.resolve().then(c.bind(c,64620))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64620:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(35062).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx","default")},67919:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(25966),e=c(64620);function f(){return(0,d.jsx)(e.default,{})}},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87997:a=>{"use strict";a.exports=require("node:timers")},88330:(a,b,c)=>{"use strict";c.d(b,{default:()=>m});var d=c(86240),e=c(28907),f=c(70433),g=c(29184),h=c(63265);function i(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function j(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(j).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{}}return String(a)}function k(a=""){let b=j(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}async function l(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function m(){let[a,b]=(0,f.useState)([]),[c,m]=(0,f.useState)(!0),[n,o]=(0,f.useState)(""),[p,q]=(0,f.useState)(()=>[]),[r,s]=(0,f.useState)(()=>""),[t,u]=(0,f.useState)(()=>""),[v,w]=(0,f.useState)(""),[x,y]=(0,f.useState)(()=>""),[z,A]=(0,f.useState)([]),[B,C]=(0,f.useState)(!1),[D,E]=(0,f.useState)(""),[F,G]=(0,f.useState)(""),[H,I]=(0,f.useState)(!1),[J,K]=(0,f.useState)(!1),[L,M]=(0,f.useState)(!1),N=(0,f.useRef)(null),O=(0,f.useRef)(null);(0,f.useRef)(!1);let P=(0,f.useRef)(null),Q=(0,f.useRef)(null),R=(0,f.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),S=(0,f.useMemo)(()=>a.find(a=>a.providerId===t)||a[0]||null,[a,t]),T=(0,f.useMemo)(()=>{if(v&&R.has(v))return R.get(v);if(r){let a=p.find(a=>a.id===r);if(a?.modelId&&R.has(a.modelId))return R.get(a.modelId)}return S?.models?.[0]||null},[v,R,S,p,r]),U=(0,f.useMemo)(()=>p.find(a=>a.id===r)||null,[p,r]),V=U?.messages||[],W=(0,f.useMemo)(()=>[...p].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[p]),X=!B&&!!T&&(x.trim().length>0||z.length>0),Y=(a,b)=>{q(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},Z=a=>a?{id:i(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,$=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:i(),name:a.name,type:a.type,size:a.size,dataUrl:await l(a)})));A(a=>[...a,...d]),a.target.value=""},_=async()=>{let a=T||S?.models?.[0]||null;if(!a)return;let b=x.trim();if(!b&&0===z.length)return;let c=r,d=p.find(a=>a.id===c);if(!d){if(!(d=Z(a)))return;c=d.id,q(a=>[d,...a]),s(c)}let e={id:i(),role:"user",content:b,attachments:z.map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},f=i(),g={id:f,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},h=[...d.messages||[],e,g];q(d=>d.map(d=>d.id===c?{...d,providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,messages:h,updatedAt:new Date().toISOString(),title:"New chat"===d.title?k(b):d.title}:d)),y(""),A([]),C(!0),E(f),G(""),O.current?.abort(),O.current=new AbortController;let l=h.filter(a=>"assistant"!==a.role||a.id!==f).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=j(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content}));try{var m;let d,e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:a.requestModel||a.id,messages:l,stream:!0}),signal:O.current.signal});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(j(a.error||a.message||`Request failed (${e.status})`))}let g=e.body?.getReader();if(!g){let a=await e.json().catch(()=>({})),b=j(a?.choices?.[0]?.message?.content||a?.output_text||a?.error||a?.message||"");Y(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:b,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let h=new TextDecoder,i="",n="";for(;;){let{value:a,done:b}=await g.read();if(b)break;let d=(i+=h.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(i=d.pop()||"",d)){let b=a.trim();if(!b.startsWith("data:"))continue;let d=b.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),b=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(j).filter(Boolean)[0]||""}(a);if(!b)continue;n+=b,G(n),Y(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:n,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}Y(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:n||a.content,status:"done"}:a),updatedAt:new Date().toISOString()})),m=c,d=k(b),Y(m,a=>({...a,title:"New chat"===a.title?d:a.title,updatedAt:new Date().toISOString()}))}catch(a){if("AbortError"!==a.name){let b=j(a?.message||a);Y(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()})),o(b||"Failed to send message.")}}finally{C(!1),E(""),G(""),O.current=null}},aa=T?`${T.name}`:"Select model",ab=T?T.requestModel:"Choose from connected providers";return(0,d.jsx)("div",{className:"relative flex-1 flex flex-col h-full min-h-0 min-w-0 bg-[#212121] text-white overflow-hidden",children:(0,d.jsxs)("div",{className:"relative mx-auto flex flex-1 h-full min-h-0 w-full max-w-4xl flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 px-4 py-3 lg:px-6",children:[(0,d.jsxs)("div",{ref:P,className:"relative",children:[(0,d.jsx)("button",{type:"button",onClick:()=>K(a=>!a),className:"flex items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-left transition hover:bg-white/8",children:(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-white",children:aa}),(0,d.jsx)(e.default,{name:"expand_more",className:"text-[18px] text-white/70"})]}),(0,d.jsx)("p",{className:"truncate text-xs text-white/55",children:ab})]})}),J?(0,d.jsxs)("div",{className:"absolute left-0 top-[calc(100%+10px)] z-30 w-[min(520px,calc(100vw-2rem))] overflow-hidden rounded-[20px] border border-white/10 bg-[#262626] shadow-2xl shadow-black/50",children:[(0,d.jsxs)("div",{className:"border-b border-white/10 px-4 py-3",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Models"}),(0,d.jsx)("p",{className:"text-sm text-white/75",children:"Only from connected providers"})]}),(0,d.jsx)("div",{className:"max-h-[60vh] overflow-y-auto p-2",children:a.map(a=>(0,d.jsxs)("div",{className:"mb-2 rounded-[16px] border border-white/10 bg-black/20 p-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-2",children:[(0,d.jsx)("p",{className:"text-sm font-semibold text-white",children:a.providerName}),(0,d.jsx)(g.E,{children:a.models.length})]}),(0,d.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.models.map(a=>{let b=a.id===v;return(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=R.get(a);if(!b)return;let c=p.find(a=>a.id===r);if(c&&c.messages.length>0){let a=Z(b);if(!a)return;q(b=>[a,...b]),s(a.id)}else if(c)q(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),s(c.id);else{let a=Z(b);if(!a)return;q(b=>[a,...b]),s(a.id)}u(b.providerId),w(b.id),K(!1)})(a.id),className:`rounded-[14px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.name}),(0,d.jsx)("p",{className:"truncate text-[11px] text-white/45",children:a.requestModel})]}),b?(0,d.jsx)(e.default,{name:"check_circle",className:"text-[18px] text-blue-300"}):null]})},a.id)})})]},a.providerId))})]}):null]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>M(a=>!a),className:"rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-sm text-white/80 transition hover:bg-white/8",children:"History"}),(0,d.jsxs)(h.$,{variant:"ghost",size:"sm",onClick:()=>{if(!r)return;let a=p.filter(a=>a.id!==r),b=a[0]||null;q(a),b?(s(b.id),u(b.providerId),w(b.modelId)):(s(""),u(""),w(""))},disabled:!r||0===p.length,children:[(0,d.jsx)(e.default,{name:"delete"}),"Clear"]})]})]}),L?(0,d.jsxs)("div",{ref:Q,className:"absolute right-4 top-[72px] z-20 w-[min(360px,calc(100vw-2rem))] rounded-[20px] border border-white/10 bg-[#262626] p-2 shadow-2xl shadow-black/50 lg:right-6",children:[(0,d.jsx)("div",{className:"px-3 py-2",children:(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Recent chats"})}),(0,d.jsx)("div",{className:"max-h-[48vh] space-y-2 overflow-y-auto p-1",children:0===W.length?(0,d.jsx)("div",{className:"rounded-[16px] border border-dashed border-white/10 bg-white/5 p-4 text-sm text-white/55",children:"No conversations yet."}):W.map(a=>{let b=a.id===r,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,d.jsx)("button",{type:"button",onClick:()=>{var b;let c;return b=a.id,void((c=p.find(a=>a.id===b))&&(s(b),u(c.providerId||t),w(c.modelId||v),M(!1)))},className:`w-full rounded-[16px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.title}),(0,d.jsx)("p",{className:"mt-1 truncate text-xs text-white/50",children:j(c?.content)||"Empty chat"})]}),(0,d.jsx)("span",{className:"text-[10px] text-white/40 shrink-0",children:function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)})]})},a.id)})})]}):null,n?(0,d.jsx)("div",{className:"mt-4 rounded-[18px] border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-rose-100",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(e.default,{name:"error",className:"text-[20px]"}),(0,d.jsx)("p",{className:"text-sm leading-6",children:n})]})}):null,(0,d.jsxs)("div",{className:"flex flex-1 flex-col min-h-0",children:[(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto py-4",children:[0===V.length?(0,d.jsx)("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-center",children:(0,d.jsxs)("div",{className:"max-w-xl space-y-4",children:[(0,d.jsx)("div",{className:"mx-auto flex size-16 items-center justify-center rounded-[20px] border border-white/10 bg-white/5 text-white/80",children:(0,d.jsx)(e.default,{name:"chat",className:"text-[30px]"})}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold text-white",children:"Start a conversation"}),(0,d.jsx)("p",{className:"text-sm leading-6 text-white/60",children:"Simple chat interface to interact with any AI model from connected providers. Select a model and start chatting!"})]})]})}):null,(0,d.jsx)("div",{className:"mx-auto flex w-full max-w-3xl flex-col gap-4 px-4",children:V.map(a=>{let b="user"===a.role,c="assistant"===a.role,e=c&&a.id===D&&"streaming"===a.status,f=j(a.content)||(c?F:"");return(0,d.jsx)("div",{className:`flex w-full ${b?"justify-end":"justify-start"} mb-6`,children:(0,d.jsxs)("div",{className:`max-w-[min(88%,42rem)] ${b?"rounded-3xl bg-[#2f2f2f] px-5 py-3.5 text-white":"text-white/90"}`,children:[(0,d.jsx)("div",{className:"mb-1 flex items-center justify-between gap-3",children:(0,d.jsx)("span",{className:"text-xs font-semibold",children:b?"You":T?.name||"Assistant"})}),a.attachments?.length?(0,d.jsx)("div",{className:"mb-3 grid grid-cols-2 gap-2 sm:grid-cols-3 mt-2",children:a.attachments.map(a=>(0,d.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-[18px] border border-white/10 bg-black/20",children:(0,d.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-28 w-full object-cover",loading:"lazy",decoding:"async"})},a.id))}):null,(0,d.jsxs)("div",{className:"whitespace-pre-wrap break-words text-[15px] leading-7",children:[f,c&&e&&!F?(0,d.jsx)("span",{className:"inline-block animate-pulse",children:"▋"}):null]})]})},a.id)})})]}),(0,d.jsxs)("div",{className:"shrink-0 pt-2",children:[z.length>0?(0,d.jsx)("div",{className:"mx-auto mb-3 flex w-full max-w-3xl flex-wrap gap-2 px-4",children:z.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-2",children:[(0,d.jsx)("span",{className:"text-xs text-white/80 max-w-[12rem] truncate",children:a.name}),(0,d.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void A(a=>a.filter(a=>a.id!==b))},className:"text-white/55 hover:text-white","aria-label":"Remove attachment",children:(0,d.jsx)(e.default,{name:"close",className:"text-[18px]"})})]},a.id))}):null,(0,d.jsx)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-2",children:(0,d.jsxs)("div",{className:"rounded-[26px] bg-[#2f2f2f] px-3 pt-3 pb-2 shadow-[0_0_15px_rgba(0,0,0,0.10)] ring-1 ring-white/5",children:[(0,d.jsx)("textarea",{value:x,onChange:a=>y(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),X&&_())},placeholder:"Message AI",rows:1,className:"w-full resize-none bg-transparent px-2 text-[15px] leading-6 text-white outline-none placeholder:text-white/40 max-h-[25vh] overflow-y-auto"}),(0,d.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>N.current?.click(),disabled:!T||c,className:"p-2 text-white/50 hover:text-white transition rounded-full hover:bg-white/5",children:(0,d.jsx)(e.default,{name:"attach_file",className:"text-[20px]"})}),(0,d.jsx)("input",{ref:N,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:$}),(0,d.jsx)("span",{className:"text-xs font-medium text-white/30 truncate max-w-[120px]",children:T?T.name:"No model"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[B?(0,d.jsx)("button",{type:"button",onClick:()=>{O.current?.abort()},className:"p-2 text-white bg-white/10 hover:bg-white/20 transition rounded-full h-8 w-8 flex items-center justify-center",children:(0,d.jsx)(e.default,{name:"stop",className:"text-[16px]"})}):null,(0,d.jsx)("button",{onClick:_,disabled:!X,className:`h-8 w-8 rounded-full flex items-center justify-center transition ${X?"bg-white text-black hover:opacity-90":"bg-white/10 text-white/30 cursor-not-allowed"}`,children:(0,d.jsx)(e.default,{name:"arrow_upward",className:"text-[16px]"})})]})]})]})})]}),(0,d.jsx)("p",{className:"mx-auto mt-2 max-w-3xl px-4 pb-4 text-center text-[11px] text-white/30",children:"Model list is filtered from connected providers."})]})]})})}c(95137),c(86177)},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1316,1238,7963,8569,7257,6009,9817,7535,7816,7156,2339,6461,4301,1289,9018,2801],()=>b(b.s=5583));module.exports=c})();
|
|
1
|
+
(()=>{var a={};a.id=4465,a.ids=[4465],a.modules={643:a=>{"use strict";a.exports=require("node:perf_hooks")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},4573:a=>{"use strict";a.exports=require("node:buffer")},7066:a=>{"use strict";a.exports=require("node:tty")},8128:a=>{"use strict";a.exports=require("next/dist/server/runtime-reacts.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},13527:(a,b,c)=>{Promise.resolve().then(c.bind(c,73931))},14985:a=>{"use strict";a.exports=require("dns")},16698:a=>{"use strict";a.exports=require("node:async_hooks")},19103:(a,b,c)=>{Promise.resolve().then(c.bind(c,64620))},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},21820:a=>{"use strict";a.exports=require("os")},27730:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>w,handler:()=>y,routeModule:()=>x});var d=c(26720),e=c(29966),f=c(36243),g=c(70310),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79452))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,11089))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,2808,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,8329,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,41580,23))),s=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),t=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,67694,23))),u={children:["",{children:["(dashboard)",{children:["dashboard",{children:["basic-chat",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,67919))),"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/basic-chat/page.tsx"]}]},{"global-error":[t,"next/dist/client/components/builtin/global-error.js"]},[]]},{"global-error":[s,"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[n,"/home/runner/work/10Router/10Router/src/app/(dashboard)/layout.tsx"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/10Router/10Router/src/app/layout.tsx"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,v=(0,e.H)({tree:u,page:"/(dashboard)/dashboard/basic-chat/page",pathname:"/dashboard/basic-chat",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),w=v.__next_app__,x=v.routeModule,y=v.handler},27910:a=>{"use strict";a.exports=require("stream")},28354:a=>{"use strict";a.exports=require("util")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},32467:a=>{"use strict";a.exports=require("node:http2")},33873:a=>{"use strict";a.exports=require("path")},34589:a=>{"use strict";a.exports=require("node:assert")},37067:a=>{"use strict";a.exports=require("node:http")},37540:a=>{"use strict";a.exports=require("node:console")},38522:a=>{"use strict";a.exports=require("node:zlib")},40610:a=>{"use strict";a.exports=require("node:dns")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41692:a=>{"use strict";a.exports=require("node:tls")},41792:a=>{"use strict";a.exports=require("node:querystring")},46060:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external.js")},46293:a=>{"use strict";a.exports=require("sql.js")},48161:a=>{"use strict";a.exports=require("node:os")},51455:a=>{"use strict";a.exports=require("node:fs/promises")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},64620:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(35062).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/10Router/10Router/src/app/(dashboard)/dashboard/basic-chat/BasicChatPageClient.tsx","default")},67919:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>f});var d=c(25966),e=c(64620);function f(){return(0,d.jsx)(e.default,{})}},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},73931:(a,b,c)=>{"use strict";c.d(b,{default:()=>aH});var d=c(86240),e=c(28907),f=c(70433);function g(a,b){this.v=a,this.k=b}function h(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}function i(a){var b,c;function d(b,c){try{var f=a[b](c),h=f.value,i=h instanceof g;Promise.resolve(i?h.v:h).then(function(c){if(i){var g="return"===b&&h.k?b:"next";if(!h.k||c.done)return d(g,c);c=a[g](c).value}e(!!f.done,c)},function(a){d("throw",a)})}catch(a){e(2,a)}}function e(a,e){2===a?b.reject(e):b.resolve({value:e,done:a}),(b=b.next)?d(b.key,b.arg):c=null}this._invoke=function(a,e){return new Promise(function(f,g){var h={key:a,arg:e,resolve:f,reject:g,next:null};c?c=c.next=h:(b=c=h,d(a,e))})},"function"!=typeof a.return&&(this.return=void 0)}i.prototype["function"==typeof Symbol&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this},i.prototype.next=function(a){return this._invoke("next",a)},i.prototype.throw=function(a){return this._invoke("throw",a)},i.prototype.return=function(a){return this._invoke("return",a)};let j=Object.entries,k=Object.setPrototypeOf,l=Object.isFrozen,m=Object.getPrototypeOf,n=Object.getOwnPropertyDescriptor,o=Object.freeze,p=Object.seal,q=Object.create,r="u">typeof Reflect&&Reflect,s=r.apply,t=r.construct;o||(o=function(a){return a}),p||(p=function(a){return a}),s||(s=function(a,b){for(var c=arguments.length,d=Array(c>2?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];return a.apply(b,d)}),t||(t=function(a){for(var b=arguments.length,c=Array(b>1?b-1:0),d=1;d<b;d++)c[d-1]=arguments[d];return new a(...c)});let u=S(Array.prototype.forEach);Array.prototype.indexOf;let v=S(Array.prototype.lastIndexOf),w=S(Array.prototype.pop),x=S(Array.prototype.push),y=S(Array.prototype.slice),z=S(Array.prototype.splice),A=Array.isArray,B=T(Set),C=S(Set.prototype.add),D=S(Set.prototype.has),E=S(String.prototype.toLowerCase),F=S(String.prototype.toString),G=S(String.prototype.match),H=S(String.prototype.replace),I=S(String.prototype.indexOf),J=S(String.prototype.trim),K=S(Number.prototype.toString),L=S(Boolean.prototype.toString),M="u"<typeof BigInt?null:S(BigInt.prototype.toString),N="u"<typeof Symbol?null:S(Symbol.prototype.toString),O=S(Object.prototype.hasOwnProperty),P=S(Object.prototype.toString),Q=S(RegExp.prototype.test),R=T(TypeError);function S(a){return function(b){b instanceof RegExp&&(b.lastIndex=0);for(var c=arguments.length,d=Array(c>1?c-1:0),e=1;e<c;e++)d[e-1]=arguments[e];return s(a,b,d)}}function T(a){return function(){for(var b=arguments.length,c=Array(b),d=0;d<b;d++)c[d]=arguments[d];return t(a,c)}}function U(a,b){let c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:E;if(k&&k(a,null),!A(b))return a;let d=b.length;for(;d--;){let e=b[d];if("string"==typeof e){let a=c(e);a!==e&&(l(b)||(b[d]=a),e=a)}a[e]=!0}return a}function V(a){let b=q(null);for(let d of j(a)){var c=function(a){if(Array.isArray(a))return a}(d)||function(a){var b=null==a?null:"u">typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(null!=b){var c,d,e,f,g=[],h=!0,i=!1;try{e=(b=b.call(a)).next,!1;for(;!(h=(c=e.call(b)).done)&&(g.push(c.value),2!==g.length);h=!0);}catch(a){i=!0,d=a}finally{try{if(!h&&null!=b.return&&(f=b.return(),Object(f)!==f))return}finally{if(i)throw d}}return g}}(d)||function(a){if(a){if("string"==typeof a)return h(a,2);var b=({}).toString.call(a).slice(8,-1);return"Object"===b&&a.constructor&&(b=a.constructor.name),"Map"===b||"Set"===b?Array.from(a):"Arguments"===b||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(b)?h(a,2):void 0}}(d)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}();let e=c[0],f=c[1];O(a,e)&&(A(f)?b[e]=function(a){for(let b=0;b<a.length;b++)O(a,b)||(a[b]=null);return a}(f):f&&"object"==typeof f&&f.constructor===Object?b[e]=V(f):b[e]=f)}return b}function W(a,b){for(;null!==a;){let c=n(a,b);if(c){if(c.get)return S(c.get);if("function"==typeof c.value)return S(c.value)}a=m(a)}return function(){return null}}let X=o(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Y=o(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Z=o(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),$=o(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),_=o(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),aa=o(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),ab=o(["#text"]),ac=o(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),ad=o(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),ae=o(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),af=o(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),ag=p(/{{[\w\W]*|^[\w\W]*}}/g),ah=p(/<%[\w\W]*|^[\w\W]*%>/g),ai=p(/\${[\w\W]*/g),aj=p(/^data-[\-\w.\u00B7-\uFFFF]+$/),ak=p(/^aria-[\-\w]+$/),al=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),am=p(/^(?:\w+script|data):/i),an=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ao=p(/^html$/i),ap=p(/^[a-z][.\w]*(-[.\w]+)+$/i),aq=p(/<[/\w!]/g),ar=p(/<[/\w]/g),as=p(/<\/no(script|embed|frames)/i),at=p(/\/>/i),au=o(U({},["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"])),av=function(a,b){if("object"!=typeof a||"function"!=typeof a.createPolicy)return null;let c=null,d="data-tt-policy-suffix";b&&b.hasAttribute(d)&&(c=b.getAttribute(d));let e="dompurify"+(c?"#"+c:"");try{return a.createPolicy(e,{createHTML:a=>a,createScriptURL:a=>a})}catch(a){return console.warn("TrustedTypes policy "+e+" could not be created."),null}},aw=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},ax=function(a,b,c,d){return O(a,b)&&A(a[b])?U(d.base?V(d.base):{},a[b],d.transform):c},ay=function(a,b,c){let d=O(a,b)?a[b]:void 0;return d&&"object"==typeof d?V(d):c()};!function a(){let b,c,d=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"u"<typeof window?null:window,e=b=>a(b);if(e.version="3.4.17",e.removed=[],!d||!d.document||9!==d.document.nodeType||!d.Element)return e.isSupported=!1,e;let f=d.document,g=f,h=g.currentScript;d.DocumentFragment;let i=d.HTMLTemplateElement,k=d.Node,l=d.Element,r=d.NodeFilter;void 0===d.NamedNodeMap&&(d.NamedNodeMap||d.MozNamedAttrMap),d.HTMLFormElement;let s=d.DOMParser,t=d.trustedTypes,T=l.prototype,az=W(T,"cloneNode"),aA=W(T,"remove"),aB=W(T,"removeAttributeNode"),aC=W(T,"nextSibling"),aD=W(T,"childNodes"),aE=W(T,"parentNode"),aF=W(T,"shadowRoot"),aG=W(T,"attributes"),aH=k&&k.prototype?W(k.prototype,"nodeType"):null,aI=k&&k.prototype?W(k.prototype,"nodeName"):null,aJ=k&&k.prototype?W(k.prototype,"ownerDocument"):null,aK=function(a){return aH?aH(a):a.nodeType},aL=function(a){return aI?aI(a):a.nodeName},aM=function(a,b){for(;null!==a;){let c=n(a,b);if(c)return c.get?S(c.get):null;a=m(a)}return null}(T,"namespaceURI"),aN=function(a){return aM?aM(a):a.namespaceURI};if("function"==typeof i){let a=f.createElement("template");a.content&&a.content.ownerDocument&&(f=a.content.ownerDocument)}let aO="",aP=!1,aQ=0,aR=function(){if(aQ>0)throw R('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},aS=function(a){aR(),aQ++;try{return b.createHTML(a)}finally{aQ--}},aT=function(a){aR(),aQ++;try{return b.createScriptURL(a)}finally{aQ--}},aU=f,aV=aU.implementation,aW=aU.createNodeIterator,aX=aU.createDocumentFragment,aY=aU.getElementsByTagName,aZ=g.importNode,a$=aw();e.isSupported="function"==typeof j&&"function"==typeof aE&&aV&&void 0!==aV.createHTMLDocument;let a_=al,a0=null,a1=U({},[...X,...Y,...Z,..._,...ab]),a2=null,a3=U({},[...ac,...ad,...ae,...af]),a4=Object.seal(q(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),a5=null,a6=null,a7=Object.seal(q(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),a8=!0,a9=!0,ba=!1,bb=!0,bc=!1,bd=!0,be=!1,bf=!1,bg=null,bh=null,bi=!1,bj=!1,bk=!1,bl=!1,bm=!0,bn=!1,bo="user-content-",bp=!0,bq=!1,br=null,bs={},bt=null,bu=U({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),bv=null,bw=U({},["audio","video","img","source","image","track"]),bx=null,by=U({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),bz="http://www.w3.org/1998/Math/MathML",bA="http://www.w3.org/2000/svg",bB="http://www.w3.org/1999/xhtml",bC=bB,bD=!1,bE=null,bF=U({},[bz,bA,bB],F),bG=o(["mi","mo","mn","ms","mtext"]),bH=U({},bG),bI=o(["annotation-xml"]),bJ=U({},bI),bK=U({},["title","style","font","a","script"]),bL=null,bM=["application/xhtml+xml","text/html"],bN=null,bO=null,bP=f.createElement("form"),bQ=function(a){return a instanceof RegExp||a instanceof Function},bR=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(bO&&bO===a)return;a&&"object"==typeof a||(a={}),a=V(a),bN="application/xhtml+xml"===(bL=-1===bM.indexOf(a.PARSER_MEDIA_TYPE)?"text/html":a.PARSER_MEDIA_TYPE)?F:E,a0=ax(a,"ALLOWED_TAGS",a1,{transform:bN}),a2=ax(a,"ALLOWED_ATTR",a3,{transform:bN}),bE=ax(a,"ALLOWED_NAMESPACES",bF,{transform:F}),bx=ax(a,"ADD_URI_SAFE_ATTR",by,{transform:bN,base:by}),bv=ax(a,"ADD_DATA_URI_TAGS",bw,{transform:bN,base:bw}),bt=ax(a,"FORBID_CONTENTS",bu,{transform:bN}),a5=ax(a,"FORBID_TAGS",V({}),{transform:bN}),a6=ax(a,"FORBID_ATTR",V({}),{transform:bN}),bs=!!O(a,"USE_PROFILES")&&(a.USE_PROFILES&&"object"==typeof a.USE_PROFILES?V(a.USE_PROFILES):a.USE_PROFILES),a8=!1!==a.ALLOW_ARIA_ATTR,a9=!1!==a.ALLOW_DATA_ATTR,ba=a.ALLOW_UNKNOWN_PROTOCOLS||!1,bb=!1!==a.ALLOW_SELF_CLOSE_IN_ATTR,bc=a.SAFE_FOR_TEMPLATES||!1,bd=!1!==a.SAFE_FOR_XML,be=a.WHOLE_DOCUMENT||!1,bj=a.RETURN_DOM||!1,bk=a.RETURN_DOM_FRAGMENT||!1,bl=a.RETURN_TRUSTED_TYPE||!1,bi=a.FORCE_BODY||!1,bm=!1!==a.SANITIZE_DOM,bn=a.SANITIZE_NAMED_PROPS||!1,bp=!1!==a.KEEP_CONTENT,bq=a.IN_PLACE||!1,a_=!function(a){try{return Q(a,""),!0}catch(a){return!1}}(a.ALLOWED_URI_REGEXP)?al:a.ALLOWED_URI_REGEXP,bC="string"==typeof a.NAMESPACE?a.NAMESPACE:bB,bH=ay(a,"MATHML_TEXT_INTEGRATION_POINTS",()=>U({},bG)),bJ=ay(a,"HTML_INTEGRATION_POINTS",()=>U({},bI));let d=ay(a,"CUSTOM_ELEMENT_HANDLING",()=>q(null));if(a4=q(null),O(d,"tagNameCheck")&&bQ(d.tagNameCheck)&&(a4.tagNameCheck=d.tagNameCheck),O(d,"attributeNameCheck")&&bQ(d.attributeNameCheck)&&(a4.attributeNameCheck=d.attributeNameCheck),O(d,"allowCustomizedBuiltInElements")&&"boolean"==typeof d.allowCustomizedBuiltInElements&&(a4.allowCustomizedBuiltInElements=d.allowCustomizedBuiltInElements),p(a4),bc&&(a9=!1),bk&&(bj=!0),bs&&(a0=U({},ab),a2=q(null),!0===bs.html&&(U(a0,X),U(a2,ac)),!0===bs.svg&&(U(a0,Y),U(a2,ad),U(a2,af)),!0===bs.svgFilters&&(U(a0,Z),U(a2,ad),U(a2,af)),!0===bs.mathMl&&(U(a0,_),U(a2,ae),U(a2,af))),a7.tagCheck=null,a7.attributeCheck=null,O(a,"ADD_TAGS")&&("function"==typeof a.ADD_TAGS?a7.tagCheck=a.ADD_TAGS:A(a.ADD_TAGS)&&(a0===a1&&(a0=V(a0)),U(a0,a.ADD_TAGS,bN))),O(a,"ADD_ATTR")&&("function"==typeof a.ADD_ATTR?a7.attributeCheck=a.ADD_ATTR:A(a.ADD_ATTR)&&(a2===a3&&(a2=V(a2)),U(a2,a.ADD_ATTR,bN))),O(a,"ADD_FORBID_CONTENTS")&&A(a.ADD_FORBID_CONTENTS)&&(bt===bu&&(bt=V(bt)),U(bt,a.ADD_FORBID_CONTENTS,bN)),bp&&(a0["#text"]=!0),be&&U(a0,["html","head","body"]),a0.table&&(U(a0,["tbody"]),delete a5.tbody),a.TRUSTED_TYPES_POLICY){if("function"!=typeof a.TRUSTED_TYPES_POLICY.createHTML)throw R('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof a.TRUSTED_TYPES_POLICY.createScriptURL)throw R('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let c=b;b=a.TRUSTED_TYPES_POLICY;try{aO=aS("")}catch(a){throw b=c,a}}else null===a.TRUSTED_TYPES_POLICY?(b=void 0,aO=""):(void 0===b&&(aP||(c=av(t,h),aP=!0),b=c),b&&"string"==typeof aO&&(aO=aS("")));o&&o(a),bO=a},bS=U({},[...Y,...Z,...$]),bT=U({},[..._,...aa]),bU=function(a){var b,c,d,e,f,g;let h,i,j=aN(a),k=E(aL(a)),l=aE(a);return l&&1===aK(l)?(h={namespaceURI:aN(l)},i=E(aL(l))):(h={namespaceURI:bC},i="template"),!!bE[j]&&(j===bA?(b=h,c=i,b.namespaceURI===bB?"svg"===k:b.namespaceURI===bz?"svg"===k&&("annotation-xml"===c||bH[c]):!!bS[k]):j===bz?(d=h,e=i,d.namespaceURI===bB?"math"===k:d.namespaceURI===bA?"math"===k&&bJ[e]:!!bT[k]):j===bB?(f=h,g=i,(f.namespaceURI!==bA||!!bJ[g])&&(f.namespaceURI!==bz||!!bH[g])&&!bT[k]&&(bK[k]||!bS[k])):"application/xhtml+xml"===bL&&!!bE[j])},bV=function(a){x(e.removed,{element:a});try{aE(a).removeChild(a)}catch(b){if(aA(a),!aE(a))throw R("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},bW=function(a,b,c){try{aB(a,b)}catch(b){try{a.removeAttribute(c)}catch(a){}}},bX=function(a){b_(a);let b=aD(a);b&&u(y(b),a=>{try{aA(a)}catch(a){}});let c=1===aK(a)?aG(a):null;if(c)for(let b=c.length-1;b>=0;--b){let d=c[b],e=d&&d.name;"string"==typeof e&&bW(a,d,e)}},bY=function(a,b,c){if(!c)try{c=b.getAttributeNode(a)}catch(a){c=null}x(e.removed,{attribute:c||null,from:b});try{c?aB(b,c):b.removeAttribute(a)}catch(c){try{b.removeAttribute(a)}catch(a){}}if("is"===a)if(bj||bk)try{bV(b)}catch(a){}else try{b.setAttribute(a,"")}catch(a){}},bZ=function(a){let b=aG(a);if(b)for(let c=b.length-1;c>=0;--c){let d=b[c],e=d&&d.name;"string"!=typeof e||a2[bN(e)]||bW(a,d,e)}},b$=function(a,b){let c=arguments.length>2&&void 0!==arguments[2]&&arguments[2],d=[a];for(;d.length>0;){let a=d.pop();if(!1===b(a))continue;if(c&&1===aK(a)){let b=aF(a);ce(b)&&d.push(b)}let e=aD(a);if(e)for(let a=e.length-1;a>=0;--a)d.push(e[a])}},b_=function(a){b$(a,a=>{1===aK(a)&&bZ(a)})},b0=function(a){let b=[];return b$(a,a=>{b.push(a)},!0),b},b1=function(a,b){let c=B();u(b0(a),a=>{1===aK(a)&&C(c,a)}),u(b,a=>{1!==aK(a)||D(c,a)||bZ(a)})},b2=function(a,b){let c=!1;return u(e.removed,b=>{b.element&&(c=c||b.element===a,b_(b.element))}),b1(a,b),c},b3=function(a,b){let c=br,d=null,e=()=>(d||(d=B(),u(b,a=>{C(d,a)})),d);for(let b=0;;b++){let d=b0(a),f=[a],g=!1;if(u(d,a=>{11===aK(a)?x(f,a):g||D(c,a)||(g=D(e(),a))}),!g)return;if(b>=8)throw R("the tree kept changing during in-place sanitization; refusing to return it");u(f,(b,c)=>{b4(b,c>0,a,e())})}},b4=function(a,b,c,d){let e,f=b9(a);for(;e=f.nextNode();)!(!D(d,e)||D(br,e))&&(b&&cg(a$.uponSanitizeShadowNode,e,null),cl(e,c),cs(e,c),ce(e.content)&&ct(e.content))},b5=function(a){br&&C(br,a)},b6=function(a,b){return!!bd&&("patchsrc"===a||"for"===a&&"label"!==b&&"output"!==b)},b7=function(a){bd&&b$(a,a=>{let b=aK(a);if(7===b||8===b&&Q(ar,a.data)){try{aA(a)}catch(a){}return!1}if(1===b){let b=bN(aL(a));try{a.hasAttribute&&a.hasAttribute("patchsrc")&&a.removeAttribute("patchsrc"),a.hasAttribute&&a.hasAttribute("for")&&b6("for",b)&&a.removeAttribute("for")}catch(a){}}return!0})},b8=function(a){let c=null,d=null;if(bi)a="<remove></remove>"+a;else{let b=G(a,/^[\r\n\t ]+/);d=b&&b[0]}"application/xhtml+xml"===bL&&bC===bB&&(a='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+a+"</body></html>");let e=b?aS(a):a;if(bC===bB)try{c=new s().parseFromString(e,bL)}catch(a){}if(!c||!c.documentElement){c=aV.createDocument(bC,"template",null);try{c.documentElement.innerHTML=bD?aO:e}catch(a){}}let g=c.body||c.documentElement;return(a&&d&&g.insertBefore(f.createTextNode(d),g.childNodes[0]||null),bC===bB)?aY.call(c,be?"html":"body")[0]:be?c.documentElement:g},b9=function(a){let b=aJ?aJ(a):a.ownerDocument;return aW.call(b||a,a,r.SHOW_ELEMENT|r.SHOW_COMMENT|r.SHOW_TEXT|r.SHOW_PROCESSING_INSTRUCTION|r.SHOW_CDATA_SECTION,null)},ca=function(a){return a=H(a,ag," "),a=H(a,ah," "),a=H(a,ai," ")},cb=function(a){var b;cc(a);let c=null==(b=a.querySelectorAll)?void 0:b.call(a,"template");c&&u(c,a=>{ce(a.content)&&cb(a.content)})},cc=function(a){a.normalize();let b=aJ?aJ(a):a.ownerDocument,c=aW.call(b||a,a,r.SHOW_TEXT|r.SHOW_COMMENT|r.SHOW_CDATA_SECTION|r.SHOW_PROCESSING_INSTRUCTION,null),d=c.nextNode();for(;d;)d.data=ca(d.data),d=c.nextNode()},cd=function(a){let b=aI?aI(a):null;return"string"==typeof b&&"form"===bN(b)&&("string"!=typeof a.nodeName||"string"!=typeof a.textContent||"function"!=typeof a.removeChild||a.attributes!==aG(a)||"function"!=typeof a.removeAttribute||"function"!=typeof a.removeAttributeNode||"function"!=typeof a.getAttributeNode||"function"!=typeof a.setAttribute||"string"!=typeof a.namespaceURI||"function"!=typeof a.insertBefore||"function"!=typeof a.hasChildNodes||a.nodeType!==aH(a)||a.childNodes!==aD(a))},ce=function(a){if(!aH||"object"!=typeof a||null===a)return!1;try{return 11===aH(a)}catch(a){return!1}},cf=function(a){if(!aH||"object"!=typeof a||null===a)return!1;try{return"number"==typeof aH(a)}catch(a){return!1}};function cg(a,b,c){0!==a.length&&u(a,a=>{a.call(e,b,c,bO)})}let ch=function(a,b){if(a instanceof RegExp)return Q(a,b);if(a instanceof Function){for(var c=arguments.length,d=Array(c>2?c-2:0),e=2;e<c;e++)d[e-2]=arguments[e];return!!a(b,...d)}return!1},ci=function(a,b,c){if(!a5[b]&&co(b)&&ch(a4.tagNameCheck,b))return!1;if(bp&&!bt[b]&&!bt[E(b)]){let b=aE(a),d=aD(a);if(d&&b){let e=d.length;for(let f=e-1;f>=0;--f){let e=a===c?az(d[f],!0):d[f];b.insertBefore(e,aC(a))}}}return bV(a),!0},cj=function(a,b,c,d){return 0===a.length?b:b===c||b===d?V(b):b},ck=function(a,b){return a!==b&&null===aE(a)&&(bq&&b_(a),!0)},cl=function(a,b){if(b5(a),cg(a$.beforeSanitizeElements,a,null),ck(a,b))return!0;if(cd(a))return bV(a),!0;let c=bN(aL(a));if(a0=cj(a$.uponSanitizeElement,a0,a1,bg),cg(a$.uponSanitizeElement,a,{tagName:c,allowedTags:a0}),ck(a,b))return!0;if(bd&&a.hasChildNodes()&&!cf(a.firstElementChild)&&Q(aq,a.textContent)&&Q(aq,a.innerHTML)||bd&&au[c]&&1===aK(a)&&aN(a)===bB&&(cf(a.firstElementChild)||"string"==typeof a.textContent&&Q(aq,a.textContent))||7===a.nodeType||bd&&8===a.nodeType&&Q(ar,a.data))return bV(a),!0;if(a5[c]||!(a7.tagCheck instanceof Function&&a7.tagCheck(c))&&!a0[c]){let d=ci(a,c,b);return!!(!1===d&&(cg(a$.afterSanitizeElements,a,null),ck(a,b)))||d}if(1===aK(a)&&!bU(a)||("noscript"===c||"noembed"===c||"noframes"===c)&&Q(as,a.innerHTML))return bV(a),!0;if(bc&&3===a.nodeType){let b=ca(a.textContent);a.textContent!==b&&(x(e.removed,{element:a.cloneNode()}),a.textContent=b)}return cg(a$.afterSanitizeElements,a,null),ck(a,b)},cm=function(a,b,c){if(a6[b]||b6(b,a)||bm&&("id"===b||"name"===b)&&(c in f||c in bP))return!1;let d=a2[b]||a7.attributeCheck instanceof Function&&a7.attributeCheck(b,a);return!!(a9&&Q(aj,b)||a8&&Q(ak,b))||(d?!(!(bx[b]||Q(a_,H(c,an,"")))&&("src"!==b&&"xlink:href"!==b&&"href"!==b||"script"===a||0!==I(c,"data:")||!bv[a])&&(!ba||Q(am,H(c,an,""))))||!c:co(a)&&ch(a4.tagNameCheck,a)&&ch(a4.attributeNameCheck,b,a)||"is"===b&&a4.allowCustomizedBuiltInElements&&ch(a4.tagNameCheck,c))},cn=U({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),co=function(a){return!cn[E(a)]&&Q(ap,a)},cp=function(a,c,d,e){if(b&&"object"==typeof t&&"function"==typeof t.getAttributeType&&!d)switch(t.getAttributeType(a,c)){case"TrustedHTML":return aS(e);case"TrustedScriptURL":return aT(e)}return e},cq=function(a,b,c,d){try{if(c?a.setAttributeNS(c,b,d):a.setAttribute(b,d),cd(a))return bV(a),!1;return!0}catch(c){return bY(b,a),!1}},cr=function(a,b){return!!(bd&&Q(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,b))||"attributename"===E(a)&&null!==G(b,"href")},cs=function(a,b){if(cg(a$.beforeSanitizeAttributes,a,null),ck(a,b))return;let c=a.attributes;if(!c||cd(a))return;let d={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:a2=cj(a$.uponSanitizeAttribute,a2,a3,bh),forceKeepAttr:void 0},f=c.length,g=bN(a.nodeName);for(;f--;){let b=c[f],h=b.name,i=b.namespaceURI,j=b.value,k=bN(h),l="value"===h?j:J(j),m=!1;if(d.attrName=k,d.attrValue=l,d.keepAttr=!0,d.forceKeepAttr=void 0,cg(a$.uponSanitizeAttribute,a,d),l=d.attrValue,bn&&("id"===k||"name"===k)&&0!==I(l,bo)&&(bY(h,a,b),l=bo+l,m=!0),cr(h,l)){bY(h,a,b);continue}if(!d.forceKeepAttr){if(!d.keepAttr||!bb&&Q(at,l)||(bc&&(l=ca(l)),!cm(g,k,l))){bY(h,a,b);continue}(l=cp(g,k,i,l))!==j&&cq(a,h,i,l)&&m&&w(e.removed)}}cg(a$.afterSanitizeAttributes,a,null),ck(a,b)},ct=function(a){let b=null,c=b9(a);for(cg(a$.beforeSanitizeShadowDOM,a,null);b=c.nextNode();)if(cg(a$.uponSanitizeShadowNode,b,null),cl(b,a),cs(b,a),ce(b.content)&&ct(b.content),1===aK(b)){let a=aF(b);ce(a)&&(cu(a),ct(a))}bc&&cc(a),cg(a$.afterSanitizeShadowDOM,a,null)},cu=function(a){let b=[{node:a,shadow:null}];for(;b.length>0;){let a=b.pop();if(a.shadow){ct(a.shadow);continue}let c=a.node,d=1===aK(c),e=aD(c);if(e)for(let a=e.length-1;a>=0;--a)b.push({node:e[a],shadow:null});if(d){let a=aI?aI(c):null;if("string"==typeof a&&"template"===bN(a)){let a=c.content;ce(a)&&b.push({node:a,shadow:null})}}if(d){let a=aF(c);ce(a)&&b.push({node:null,shadow:a},{node:a,shadow:null})}}};return e.sanitize=function(a){let c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},d=null,f=null,h=null,i=null;if((bD=!a)&&(a="\x3c!--\x3e"),"string"!=typeof a&&!cf(a)&&"string"!=typeof(a=function(a){switch(typeof a){case"string":return a;case"number":return K(a);case"boolean":return L(a);case"bigint":return M?M(a):"0";case"symbol":return N?N(a):"Symbol()";case"undefined":default:return P(a);case"function":case"object":{if(null===a)return P(a);let b=W(a,"toString");if("function"==typeof b){let c=b(a);return"string"==typeof c?c:P(c)}return P(a)}}}(a)))throw R("dirty is not a string, aborting");if(!e.isSupported)return a;bf?(a0=bg,a2=bh):bR(c),(a$.uponSanitizeElement.length>0||a$.uponSanitizeAttribute.length>0)&&(a0=V(a0)),a$.uponSanitizeAttribute.length>0&&(a2=V(a2)),e.removed=[];let j=bq&&"string"!=typeof a&&cf(a),k=[],l=br;if(j){b7(a);let b=aL(a);if("string"==typeof b){let c=bN(b);if(!a0[c]||a5[c])throw bX(a),R("root node is forbidden and cannot be sanitized in-place")}if(cd(a))throw bX(a),R("root node is clobbered and cannot be sanitized in-place");k=b0(a),br=B()}else if(cf(a))1===(f=(d=b8("\x3c!----\x3e")).ownerDocument.importNode(a,!0)).nodeType&&"BODY"===f.nodeName||"HTML"===f.nodeName?d=f:d.appendChild(f),cu(d);else{if(!bj&&!bc&&!be&&-1===a.indexOf("<"))return b&&bl?aS(a):a;if(!(d=b8(a)))return bj?null:bl?aO:""}d&&bi&&bV(d.firstChild);let m=j?a:d;try{j&&cu(a);let b=b9(m);for(;h=b.nextNode();)cl(h,m),cs(h,m),ce(h.content)&&ct(h.content);j&&b3(a,k)}catch(b){throw j&&(bX(a),b2(a,k)),b}finally{br=l}if(j){if(b2(a,k))throw R("a node selected for removal could not be safely returned; refusing to sanitize in place");return bc&&cb(a),a}if(bj){if(bc&&cb(d),bk)for(i=aX.call(d.ownerDocument);d.firstChild;)i.appendChild(d.firstChild);else i=d;return(a2.shadowroot||a2.shadowrootmode)&&(i=aZ.call(g,i,!0)),i}let n=be?d.outerHTML:d.innerHTML;return be&&a0["!doctype"]&&d.ownerDocument&&d.ownerDocument.doctype&&d.ownerDocument.doctype.name&&Q(ao,d.ownerDocument.doctype.name)&&(n="<!DOCTYPE "+d.ownerDocument.doctype.name+">\n"+n),bc&&(n=ca(n)),b&&bl?aS(n):n},e.setConfig=function(){let a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};bR(a),bf=!0,bg=a0,bh=a2},e.clearConfig=function(){bO=null,bf=!1,bg=null,bh=null,b=c,aO=""},e.isValidAttribute=function(a,b,c){bO||bR({});let d=bN(a),e=bN(b);return!("string"==typeof c&&(cr(b,c)||!bb&&Q(at,c)))&&cm(d,e,c)},e.addHook=function(a,b){"function"!=typeof b||O(a$,a)&&x(a$[a],b)},e.removeHook=function(a,b){if(O(a$,a)){if(void 0!==b){let c=v(a$[a],b);return -1===c?void 0:z(a$[a],c,1)[0]}return w(a$[a])}},e.removeHooks=function(a){O(a$,a)&&(a$[a]=[])},e.removeAllHooks=function(){a$=aw()},e}();var az=c(55452),aA=c(29184),aB=c(63265);function aC(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function aD(a){if("string"==typeof a)return a;if(null==a)return"";if(Array.isArray(a))return a.map(aD).filter(Boolean).join(" ");if("object"==typeof a){if("string"==typeof a.message)return a.message;if("string"==typeof a.error)return a.error;try{return JSON.stringify(a)}catch{}}return String(a)}function aE(a=""){let b=aD(a).replace(/\s+/g," ").trim();return b?b.length>52?`${b.slice(0,52).trimEnd()}…`:b:"New chat"}function aF({text:a}){let b=aD(a),c=(0,f.useMemo)(()=>b?null:"",[b]);return null===c?(0,d.jsx)("span",{className:"whitespace-pre-wrap break-words",children:b}):(0,d.jsx)("div",{className:"chat-markdown break-words",dangerouslySetInnerHTML:{__html:c}})}async function aG(a){return await new Promise((b,c)=>{let d=new FileReader;d.onload=()=>b(String(d.result||"")),d.onerror=()=>c(d.error||Error("Failed to read file")),d.readAsDataURL(a)})}function aH(){let[a,b]=(0,f.useState)([]),[c,g]=(0,f.useState)(!0),[h,i]=(0,f.useState)(""),[j,k]=(0,f.useState)(()=>[]),[l,m]=(0,f.useState)(()=>""),[n,o]=(0,f.useState)(()=>""),[p,q]=(0,f.useState)(""),[r,s]=(0,f.useState)(()=>""),[t,u]=(0,f.useState)([]),[v,w]=(0,f.useState)(!1),[x,y]=(0,f.useState)(""),[z,A]=(0,f.useState)(""),[B,C]=(0,f.useState)(!1),[D,E]=(0,f.useState)(!1),[F,G]=(0,f.useState)(!1),H=(0,f.useRef)(null),I=(0,f.useRef)(null);(0,f.useRef)(!1);let J=(0,f.useRef)(null),K=(0,f.useRef)(null),L=(0,f.useMemo)(()=>{let b=new Map;for(let c of a)for(let a of c.models)b.set(a.id,{...a,providerId:c.providerId,providerName:c.providerName});return b},[a]),M=(0,f.useMemo)(()=>a.find(a=>a.providerId===n)||a[0]||null,[a,n]),N=(0,f.useMemo)(()=>{if(p&&L.has(p))return L.get(p);if(l){let a=j.find(a=>a.id===l);if(a?.modelId&&L.has(a.modelId))return L.get(a.modelId)}return M?.models?.[0]||null},[p,L,M,j,l]),O=(0,f.useMemo)(()=>j.find(a=>a.id===l)||null,[j,l]),P=O?.messages||[],Q=(0,f.useMemo)(()=>[...j].sort((a,b)=>new Date(b.updatedAt).getTime()-new Date(a.updatedAt).getTime()),[j]),R=!v&&!!N&&(r.trim().length>0||t.length>0),S=(a,b)=>{k(c=>c.map(c=>c.id===a?b({...c,messages:Array.isArray(c.messages)?c.messages.map(a=>({...a})):[]}):c))},T=a=>a?{id:aC(),title:"New chat",providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,U=async a=>{let b=Array.from(a.target.files||[]);if(0===b.length)return;let c=b.filter(a=>a.type.startsWith("image/"));if(0===c.length){a.target.value="";return}let d=await Promise.all(c.map(async a=>({id:aC(),name:a.name,type:a.type,size:a.size,dataUrl:await aG(a)})));u(a=>[...a,...d]),a.target.value=""},V=async()=>{let a=N||M?.models?.[0]||null;if(!a)return;let b=r.trim();if(!b&&0===t.length)return;let c=l,d=j.find(a=>a.id===c);if(!d){if(!(d=T(a)))return;c=d.id,k(a=>[d,...a]),m(c)}let e={id:aC(),role:"user",content:b,attachments:t.map(a=>({id:a.id,name:a.name,type:a.type,dataUrl:a.dataUrl})),createdAt:new Date().toISOString()},f=aC(),g={id:f,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},h=[...d.messages||[],e,g];k(d=>d.map(d=>d.id===c?{...d,providerId:a.providerId,providerName:a.providerName,modelId:a.id,modelName:a.name,messages:h,updatedAt:new Date().toISOString(),title:"New chat"===d.title?aE(b):d.title}:d)),s(""),u([]),w(!0),y(f),A(""),I.current?.abort(),I.current=new AbortController;let n=h.filter(a=>"assistant"!==a.role||a.id!==f).map(a=>({role:a.role,content:"user"===a.role?function(a){let b=aD(a.content).trim(),c=Array.isArray(a.attachments)?a.attachments:[];if(0===c.length)return b;let d=[];for(let a of(b&&d.push({type:"text",text:b}),c))a?.dataUrl&&d.push({type:"image_url",image_url:{url:a.dataUrl}});return d.length>0?d:b}(a):a.content}));try{var o;let d,e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:a.requestModel||a.id,messages:n,stream:!0}),signal:I.current.signal});if(!e.ok){let a=await e.json().catch(()=>({}));throw Error(aD(a.error||a.message||`Request failed (${e.status})`))}let g=e.body?.getReader();if(!g){let a=await e.json().catch(()=>({})),b=aD(a?.choices?.[0]?.message?.content||a?.output_text||a?.error||a?.message||"");S(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:b,status:"done"}:a),updatedAt:new Date().toISOString()}));return}let h=new TextDecoder,j="",k="",l="";for(;;){let{value:a,done:b}=await g.read();if(b)break;let d=(j+=h.decode(a,{stream:!0})).split(/\r?\n/);for(let a of(j=d.pop()||"",d)){let b=a.trim();if(!b.startsWith("data:"))continue;let d=b.slice(5).trim();if(d&&"[DONE]"!==d)try{let a=JSON.parse(d),b=a&&"object"==typeof a?a.error?aD(a.error)||"Request failed":"error"===a.type?aD(a.message)||"Request failed":"":"";if(b){l=b;continue}let e=function(a){if(!a||"object"!=typeof a)return"";let b=a.choices?.[0];return[(b?.delta||{}).content,b?.message?.content,a.output_text,a.text].map(aD).filter(Boolean)[0]||""}(a);if(!e)continue;k+=e,A(k),S(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:k,status:"streaming"}:a),updatedAt:new Date().toISOString()}))}catch{}}}S(c,a=>({...a,messages:a.messages.map(a=>a.id!==f?a:!k&&l?{...a,content:a.content||l,status:"error"}:{...a,content:k||a.content,status:"done"}),updatedAt:new Date().toISOString()})),!k&&l&&i(l),o=c,d=aE(b),S(o,a=>({...a,title:"New chat"===a.title?d:a.title,updatedAt:new Date().toISOString()}))}catch(a){if("AbortError"!==a.name){let b=aD(a?.message||a);S(c,a=>({...a,messages:a.messages.map(a=>a.id===f?{...a,content:a.content||`Error: ${b}`,status:"error"}:a),updatedAt:new Date().toISOString()})),i(b||"Failed to send message.")}}finally{w(!1),y(""),A(""),I.current=null}},W=N?`${N.name}`:"Select model",X=N?N.requestModel:"Choose from connected providers";return(0,d.jsx)("div",{className:"relative flex-1 flex flex-col h-full min-h-0 min-w-0 bg-[#212121] text-white overflow-hidden",children:(0,d.jsxs)("div",{className:"relative mx-auto flex flex-1 h-full min-h-0 w-full max-w-4xl flex-col",children:[(0,d.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-3 px-4 py-3 lg:px-6",children:[(0,d.jsxs)("div",{ref:J,className:"relative",children:[(0,d.jsx)("button",{type:"button",onClick:()=>E(a=>!a),className:"flex items-center gap-3 rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-left transition hover:bg-white/8",children:(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("span",{className:"text-sm font-semibold text-white",children:W}),(0,d.jsx)(e.default,{name:"expand_more",className:"text-[18px] text-white/70"})]}),(0,d.jsx)("p",{className:"truncate text-xs text-white/55",children:X})]})}),D?(0,d.jsxs)("div",{className:"absolute left-0 top-[calc(100%+10px)] z-30 w-[min(520px,calc(100vw-2rem))] overflow-hidden rounded-[20px] border border-white/10 bg-[#262626] shadow-2xl shadow-black/50",children:[(0,d.jsxs)("div",{className:"border-b border-white/10 px-4 py-3",children:[(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Models"}),(0,d.jsx)("p",{className:"text-sm text-white/75",children:"Only from connected providers"})]}),(0,d.jsx)("div",{className:"max-h-[60vh] overflow-y-auto p-2",children:a.map(a=>(0,d.jsxs)("div",{className:"mb-2 rounded-[16px] border border-white/10 bg-black/20 p-2",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between px-2 py-2",children:[(0,d.jsx)("p",{className:"text-sm font-semibold text-white",children:a.providerName}),(0,d.jsx)(aA.E,{children:a.models.length})]}),(0,d.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:a.models.map(a=>{let b=a.id===p;return(0,d.jsx)("button",{type:"button",onClick:()=>(a=>{let b=L.get(a);if(!b)return;let c=j.find(a=>a.id===l);if(c&&c.messages.length>0){let a=T(b);if(!a)return;k(b=>[a,...b]),m(a.id)}else if(c)k(a=>a.map(a=>a.id===c.id?{...a,providerId:b.providerId,providerName:b.providerName,modelId:b.id,modelName:b.name}:a)),m(c.id);else{let a=T(b);if(!a)return;k(b=>[a,...b]),m(a.id)}o(b.providerId),q(b.id),E(!1)})(a.id),className:`rounded-[14px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.name}),(0,d.jsx)("p",{className:"truncate text-[11px] text-white/45",children:a.requestModel})]}),b?(0,d.jsx)(e.default,{name:"check_circle",className:"text-[18px] text-blue-300"}):null]})},a.id)})})]},a.providerId))})]}):null]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>G(a=>!a),className:"rounded-2xl border border-white/10 bg-white/5 px-4 py-3 text-sm text-white/80 transition hover:bg-white/8",children:"History"}),(0,d.jsxs)(aB.$,{variant:"ghost",size:"sm",onClick:()=>{if(!l)return;let a=j.filter(a=>a.id!==l),b=a[0]||null;k(a),b?(m(b.id),o(b.providerId),q(b.modelId)):(m(""),o(""),q(""))},disabled:!l||0===j.length,children:[(0,d.jsx)(e.default,{name:"delete"}),"Clear"]})]})]}),F?(0,d.jsxs)("div",{ref:K,className:"absolute right-4 top-[72px] z-20 w-[min(360px,calc(100vw-2rem))] rounded-[20px] border border-white/10 bg-[#262626] p-2 shadow-2xl shadow-black/50 lg:right-6",children:[(0,d.jsx)("div",{className:"px-3 py-2",children:(0,d.jsx)("p",{className:"text-xs uppercase tracking-[0.22em] text-white/45",children:"Recent chats"})}),(0,d.jsx)("div",{className:"max-h-[48vh] space-y-2 overflow-y-auto p-1",children:0===Q.length?(0,d.jsx)("div",{className:"rounded-[16px] border border-dashed border-white/10 bg-white/5 p-4 text-sm text-white/55",children:"No conversations yet."}):Q.map(a=>{let b=a.id===l,c=[...a.messages||[]].reverse().find(a=>"user"===a.role)||a.messages?.[0];return(0,d.jsx)("button",{type:"button",onClick:()=>{var b;let c;return b=a.id,void((c=j.find(a=>a.id===b))&&(m(b),o(c.providerId||n),q(c.modelId||p),G(!1)))},className:`w-full rounded-[16px] border px-3 py-3 text-left transition ${b?"border-blue-400/40 bg-blue-500/15":"border-white/10 bg-white/5 hover:bg-white/8"}`,children:(0,d.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsx)("p",{className:"truncate text-sm font-medium text-white",children:a.title}),(0,d.jsx)("p",{className:"mt-1 truncate text-xs text-white/50",children:aD(c?.content)||"Empty chat"})]}),(0,d.jsx)("span",{className:"text-[10px] text-white/40 shrink-0",children:function(a){if(!a)return"Now";let b=new Date(a).getTime();if(Number.isNaN(b))return"Now";let c=Math.max(1,Math.round((Date.now()-b)/6e4));if(c<60)return`${c}m`;let d=Math.round(c/60);return d<24?`${d}h`:`${Math.round(d/24)}d`}(a.updatedAt)})]})},a.id)})})]}):null,h?(0,d.jsx)("div",{className:"mt-4 rounded-[18px] border border-rose-500/20 bg-rose-500/10 px-4 py-3 text-rose-100",children:(0,d.jsxs)("div",{className:"flex items-start gap-3",children:[(0,d.jsx)(e.default,{name:"error",className:"text-[20px]"}),(0,d.jsx)("p",{className:"text-sm leading-6",children:h})]})}):null,(0,d.jsxs)("div",{className:"flex flex-1 flex-col min-h-0",children:[(0,d.jsxs)("div",{className:"flex-1 overflow-y-auto py-4",children:[0===P.length?(0,d.jsx)("div",{className:"flex min-h-[50vh] items-center justify-center px-4 text-center",children:(0,d.jsxs)("div",{className:"max-w-xl space-y-4",children:[(0,d.jsx)("div",{className:"mx-auto flex size-16 items-center justify-center rounded-[20px] border border-white/10 bg-white/5 text-white/80",children:(0,d.jsx)(e.default,{name:"chat",className:"text-[30px]"})}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)("h2",{className:"text-2xl font-semibold text-white",children:"Start a conversation"}),(0,d.jsx)("p",{className:"text-sm leading-6 text-white/60",children:"Simple chat interface to interact with any AI model from connected providers. Select a model and start chatting!"})]})]})}):null,(0,d.jsx)("div",{className:"mx-auto flex w-full max-w-3xl flex-col gap-4 px-4",children:P.map(a=>{let b="user"===a.role,c="assistant"===a.role,e=c&&a.id===x&&"streaming"===a.status,f=aD(a.content)||(c?z:"");return(0,d.jsx)("div",{className:`flex w-full ${b?"justify-end":"justify-start"} mb-6`,children:(0,d.jsxs)("div",{className:`max-w-[min(88%,42rem)] ${b?"rounded-3xl bg-[#2f2f2f] px-5 py-3.5 text-white":"text-white/90"}`,children:[(0,d.jsx)("div",{className:"mb-1 flex items-center justify-between gap-3",children:(0,d.jsx)("span",{className:"text-xs font-semibold",children:b?"You":N?.name||"Assistant"})}),a.attachments?.length?(0,d.jsx)("div",{className:"mb-3 grid grid-cols-2 gap-2 sm:grid-cols-3 mt-2",children:a.attachments.map(a=>(0,d.jsx)("a",{href:a.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-[18px] border border-white/10 bg-black/20",children:(0,d.jsx)("img",{src:a.dataUrl,alt:a.name,className:"h-28 w-full object-cover",loading:"lazy",decoding:"async"})},a.id))}):null,(0,d.jsxs)("div",{className:`break-words text-[15px] leading-7 ${c?"":"whitespace-pre-wrap"}`,children:[c?(0,d.jsx)(aF,{text:f}):f,c&&e&&!z?(0,d.jsx)("span",{className:"inline-block animate-pulse",children:"▋"}):null]})]})},a.id)})})]}),(0,d.jsxs)("div",{className:"shrink-0 pt-2",children:[t.length>0?(0,d.jsx)("div",{className:"mx-auto mb-3 flex w-full max-w-3xl flex-wrap gap-2 px-4",children:t.map(a=>(0,d.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-white/10 bg-white/5 px-3 py-2",children:[(0,d.jsx)("span",{className:"text-xs text-white/80 max-w-[12rem] truncate",children:a.name}),(0,d.jsx)("button",{type:"button",onClick:()=>{var b;return b=a.id,void u(a=>a.filter(a=>a.id!==b))},className:"text-white/55 hover:text-white","aria-label":"Remove attachment",children:(0,d.jsx)(e.default,{name:"close",className:"text-[18px]"})})]},a.id))}):null,(0,d.jsx)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-2",children:(0,d.jsxs)("div",{className:"rounded-[26px] bg-[#2f2f2f] px-3 pt-3 pb-2 shadow-[0_0_15px_rgba(0,0,0,0.10)] ring-1 ring-white/5",children:[(0,d.jsx)("textarea",{value:r,onChange:a=>s(a.target.value),onKeyDown:a=>{"Enter"===a.key&&!a.shiftKey&&(a.preventDefault(),R&&V())},placeholder:"Message AI",rows:1,className:"w-full resize-none bg-transparent px-2 text-[15px] leading-6 text-white outline-none placeholder:text-white/40 max-h-[25vh] overflow-y-auto"}),(0,d.jsxs)("div",{className:"mt-2 flex items-center justify-between gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)("button",{type:"button",onClick:()=>H.current?.click(),disabled:!N||c,className:"p-2 text-white/50 hover:text-white transition rounded-full hover:bg-white/5",children:(0,d.jsx)(e.default,{name:"attach_file",className:"text-[20px]"})}),(0,d.jsx)("input",{ref:H,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:U}),(0,d.jsx)("span",{className:"text-xs font-medium text-white/30 truncate max-w-[120px]",children:N?N.name:"No model"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[v?(0,d.jsx)("button",{type:"button",onClick:()=>{I.current?.abort()},className:"p-2 text-white bg-white/10 hover:bg-white/20 transition rounded-full h-8 w-8 flex items-center justify-center",children:(0,d.jsx)(e.default,{name:"stop",className:"text-[16px]"})}):null,(0,d.jsx)("button",{onClick:V,disabled:!R,className:`h-8 w-8 rounded-full flex items-center justify-center transition ${R?"bg-white text-black hover:opacity-90":"bg-white/10 text-white/30 cursor-not-allowed"}`,children:(0,d.jsx)(e.default,{name:"arrow_upward",className:"text-[16px]"})})]})]})]})})]}),(0,d.jsx)("p",{className:"mx-auto mt-2 max-w-3xl px-4 pb-4 text-center text-[11px] text-white/30",children:"Model list is filtered from connected providers."})]})]})})}c(95137),c(86177),az.xI.setOptions({gfm:!0,breaks:!0})},74075:a=>{"use strict";a.exports=require("zlib")},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},78474:a=>{"use strict";a.exports=require("node:events")},79551:a=>{"use strict";a.exports=require("url")},79646:a=>{"use strict";a.exports=require("child_process")},79868:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[1316,1238,7963,8569,7257,6009,9817,7535,7816,7156,2339,6461,4301,1289,9018,2801],()=>b(b.s=27730));module.exports=c})();
|