zevairouter 1.0.128 → 1.0.129
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/cli/app/.next-cli-build/BUILD_ID +1 -1
- package/cli/app/.next-cli-build/app-path-routes-manifest.json +3 -3
- package/cli/app/.next-cli-build/build-manifest.json +4 -4
- package/cli/app/.next-cli-build/prerender-manifest.json +3 -3
- package/cli/app/.next-cli-build/required-server-files.json +5 -4
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/automation/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/context/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/terminal/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page.js +3 -3
- package/cli/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/login/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/logout/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/callback/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/start/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/oidc/test/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/auth/status/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cache/stats/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/changelog/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-gateway/accounts/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/combos/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/bulk/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/context/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/dashboard/chat/completions/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/extras/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/restart/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/start/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/status/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/headroom/stop/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/ready/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/health/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/init/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/rotate/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/keys/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/locale/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/media-providers/tts/voices/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/metrics/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/metrics/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/alias/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/availability/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/custom/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/disabled/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/models/test/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/manual/[workerId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/[jobId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/latest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/antigravity/bulk-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/manual/[workerId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/[jobId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/latest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cloudflare-ai/bulk-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/manual/[workerId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/[jobId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/latest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/bulk-token/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy/quota-cookie/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/manual/[workerId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/[jobId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/latest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/bulk-token/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codebuddy-cn/quota-cookie/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/codex/import-token/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/cursor/import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/manual/[workerId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/[jobId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/latest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/bulk-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/cancel/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/manual/[workerId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/[jobId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/latest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/oauth/qoder/bulk-import/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pricing/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/provider-nodes/validate/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/[id]/test-models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/bulk-delete/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/client/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/kilo/free-models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/suggested-models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/test-batch/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/providers/validate/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/health/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/install/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/restart/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/start/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stats/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/status/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/pxpipe/stop/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/database/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/proxy-test/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/require-login/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/settings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/shutdown/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tags/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/setup/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/status/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/auth/unlock/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/input/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/resize/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/[id]/stream/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/terminal/session/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/console-logs/stream/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/load/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/save/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/send/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/translator/translate/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/disable/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/enable/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/status/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/[connectionId]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/aggregate/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/chart/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/history/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/providers/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-details/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/request-logs/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stats/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/usage/stream/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/api/chat/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/speech/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/audio/voices/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/chat/completions/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/embeddings/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/images/generations/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/messages/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/[kind]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/info/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/compact/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/responses/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/search/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1/web/fetch/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/v1beta/models/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/shutdown/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/api/version/update/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/callback.html +1 -1
- package/cli/app/.next-cli-build/server/app/callback.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard/automation.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/automation.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/context.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard/context.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/context.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/playground.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard/playground.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/playground.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/quota.rsc +9 -9
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +9 -9
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +8 -8
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/index.html +1 -1
- package/cli/app/.next-cli-build/server/app/index.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/landing.html +1 -1
- package/cli/app/.next-cli-build/server/app/landing.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
- package/cli/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +2 -2
- package/cli/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/login.html +1 -1
- package/cli/app/.next-cli-build/server/app/login.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +7 -7
- package/cli/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +5 -5
- package/cli/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +4 -4
- package/cli/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/cli/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js +2 -2
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/manifest.webmanifest/route_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app/page.js +2 -2
- package/cli/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/cli/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/app-paths-manifest.json +3 -3
- package/cli/app/.next-cli-build/server/chunks/2030.js +8 -0
- package/cli/app/.next-cli-build/server/chunks/2540.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/2722.js +2 -2
- package/cli/app/.next-cli-build/server/chunks/3155.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/318.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/319.js +3 -3
- package/cli/app/.next-cli-build/server/chunks/3407.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/412.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4404.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4650.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4741.js +2 -4
- package/cli/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/4765.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/5469.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/6108.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/6269.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/6652.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7341.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/7774.js +26 -26
- package/cli/app/.next-cli-build/server/chunks/8242.js +3 -0
- package/cli/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8590.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/8895.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/9372.js +1 -0
- package/cli/app/.next-cli-build/server/chunks/9476.js +66 -0
- package/cli/app/.next-cli-build/server/chunks/9489.js +1 -1
- package/cli/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/middleware.js +5 -5
- package/cli/app/.next-cli-build/server/next-font-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/next-font-manifest.json +1 -1
- package/cli/app/.next-cli-build/server/pages/404.html +1 -1
- package/cli/app/.next-cli-build/server/pages/500.html +1 -1
- package/cli/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/cli/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/cli/app/.next-cli-build/static/chunks/1a258343-bc0b514c079d8898.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/3794-c66b3d8325973459.js +32 -0
- package/cli/app/.next-cli-build/static/chunks/4343-ccad00872974a61b.js +66 -0
- package/cli/app/.next-cli-build/static/chunks/523-dd1081e3c6074114.js +3 -0
- package/cli/app/.next-cli-build/static/chunks/{5497-3ff7d657e7dd5401.js → 5497-7b4d971e0417ed34.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/{6069-6bce779705f69e62.js → 6069-e3b48d260ba66ddc.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/85-5eb6897370355d17.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/{5950-482b14a8d993bcca.js → 9126-9e1755f122b943cd.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/automation/page-99493594af55d26a.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-fa9d3452d69f2fc7.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-2361fd82cdac58f9.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-1fd20c51954e29a9.js → page-0186f028c4f68aa9.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-81c25ef219dfc38b.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-b055dfe6fb0c0172.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/context/{page-327a9c6b4894c269.js → page-fb93d56bfaccdc19.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-09e6213a0742752b.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/[id]/{page-27ae2ac497b5fb7a.js → page-0fafff8a72986a98.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-7b6e1ef525e44bd1.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/combo/[id]/{page-599568329c50bcc8.js → page-85e7b6f5b4af1dd4.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/web/{page-717f8f942951b934.js → page-29893b095259085d.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/mitm/{page-f399c8cbafcff3cd.js → page-c03ae64868d6bc4d.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-fd2453044462eb4f.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-13833a8f417b8d7e.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-e95034d5b34bc360.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-97d30dea16ab149a.js → page-49f290b6e0a75edd.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-499682de2c626a83.js → page-c38381db33d5aafc.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-5ab697596491a658.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/proxy-pools/{page-e08a36cec64b2567.js → page-eb11e852f7a314c9.js} +2 -2
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/pxpipe/{page-636747e49448e0e8.js → page-f1c47c7778f23895.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-ac445dab96ac6223.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/terminal/{page-d78611694b7915c0.js → page-a3689f5a124bc27a.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-26d372726ae6df38.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-a408f0954e4812ab.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/{page-26780f3f0df0345f.js → page-2de7b12af94b8721.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-ded3017c321c14e3.js → layout-2ae824d2d09c81ea.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/_not-found/{page-311966a4d78dec6d.js → page-499de2bdd91e139f.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/callback/{page-46f416e4d9761459.js → page-8cb1045c2ddcdffa.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/dashboard/settings/pricing/{page-73d3a4f63b04d3b7.js → page-1ea7bc18570814a7.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/landing/{page-c25b710b30674c8b.js → page-a5bcf36367dce737.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/app/layout-2aaca42ecdf3a056.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/app/login/page-b5822dd005b1f5c2.js +1 -0
- package/cli/app/.next-cli-build/static/chunks/{main-1539aac2075bb2e7.js → main-80834ff47b003167.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/{main-app-19158719aba2802f.js → main-app-5a6578c0256da676.js} +1 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-06f8cd887d9b83e5.js +1 -0
- package/cli/app/.next-cli-build/static/css/{e07f2bf4fa519943.css → 008a05b0ad6b854a.css} +1 -1
- package/cli/app/.next-cli-build/static/css/62b104778c7fb066.css +1 -0
- package/cli/app/.next-cli-build/static/css/{30eaa31d38376b4f.css → f0a349c70ab9fca8.css} +1 -1
- package/cli/app/.next-cli-build/static/media/material-symbols-outlined.cf1f75f5.woff2 +0 -0
- package/cli/app/package.json +1 -1
- package/cli/app/server.js +1 -1
- package/cli/package.json +1 -1
- package/open-sse/config/providerModels.js +13 -0
- package/open-sse/executors/codex.js +19 -5
- package/open-sse/utils/thinkingSuffix.js +1 -1
- package/package.json +1 -1
- package/src/app/(dashboard)/dashboard/cli-tools/components/CodexToolCard.js +2 -2
- package/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js +90 -3
- package/src/app/api/cli-tools/codex-settings/route.js +2 -2
- package/src/app/api/keys/[id]/route.js +3 -1
- package/src/lib/db/repos/apiKeysRepo.js +2 -2
- package/src/shared/components/Modal.js +17 -9
- package/src/shared/constants/cliTools.js +1 -1
- package/src/shared/constants/pricing.js +8 -0
- package/src/sse/services/codexGateway.js +1 -1
- package/cli/app/.next-cli-build/server/chunks/1671.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/5373.js +0 -66
- package/cli/app/.next-cli-build/server/chunks/5852.js +0 -8
- package/cli/app/.next-cli-build/server/chunks/7967.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/8920.js +0 -1
- package/cli/app/.next-cli-build/server/chunks/9858.js +0 -3
- package/cli/app/.next-cli-build/static/chunks/1a258343-33aee1e7d9aa500f.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/2018-ef32f3ab3ea35dcd.js +0 -66
- package/cli/app/.next-cli-build/static/chunks/3794-907785a527d8128b.js +0 -32
- package/cli/app/.next-cli-build/static/chunks/85-3e2ad73a98f1cfa2.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/979-224d95321cf78dbd.js +0 -3
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/automation/page-923e1225b9dcac58.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/basic-chat/page-c4a2045a626b6173.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/[toolId]/page-78f688c92bfd33f8.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/page-6b0b9cd44867512c.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/page-d07a4d1d78007f2f.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/endpoint/page-4444a33464a1d419.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/media-providers/[kind]/page-104279ff16950493.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/page-b5aa3e2a4b3c0b17.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/playground/page-c7ac7e59cdef2ce8.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-ff8862b4d59f7c46.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-52ea5f73e4c01b92.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c1d6f8802c5c874d.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/token-saver/page-59f3cc8f19b08fa6.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-da741d27517645b1.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/layout-877a5e197a59de85.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/app/login/page-6d5463b29f4c2091.js +0 -1
- package/cli/app/.next-cli-build/static/chunks/next/dist/client/components/builtin/global-error-af60171a653b28c7.js +0 -1
- package/cli/app/.next-cli-build/static/css/1f0d0f24ab2983b7.css +0 -1
- package/cli/app/.next-cli-build/static/media/material-symbols-outlined.5445fd89.woff2 +0 -0
- /package/cli/app/.next-cli-build/static/{UWLJAHSkQ3J2j71dIudYw → tf0Js0n8qBptBR5tBGiIp}/_buildManifest.js +0 -0
- /package/cli/app/.next-cli-build/static/{UWLJAHSkQ3J2j71dIudYw → tf0Js0n8qBptBR5tBGiIp}/_ssgManifest.js +0 -0
package/cli/app/.next-cli-build/static/chunks/{5950-482b14a8d993bcca.js → 9126-9e1755f122b943cd.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5950],{55950:(e,t,r)=>{Promise.resolve().then(r.bind(r,88512))},88512:(e,t,r)=>{"use strict";r.d(t,{default:()=>k});var a=r(95155),s=r(12115),l=r(9233),n=r(91992),i=r(35497),o=r(28777),d=r(52679);let c="basic-chat.sessions",m="basic-chat.activeSessionId",u="basic-chat.activeProviderId",x="basic-chat.draft",p="basic-chat.temperature",h="basic-chat.systemPrompt",b=[],f=["Explain this project like I'm new","Write a concise PR description","Debug this error message","Summarize the key trade-offs"];function g(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function y(e){if("string"==typeof e)return e;if(null==e)return"";if(Array.isArray(e))return e.map(y).filter(Boolean).join(" ");if("object"==typeof e){if("string"==typeof e.message)return e.message;if("string"==typeof e.error)return e.error;try{return JSON.stringify(e)}catch{}}return String(e)}function v(e=""){let t=y(e).replace(/\s+/g," ").trim();return t?t.length>52?`${t.slice(0,52).trimEnd()}…`:t:"New chat"}async function N(e){return await new Promise((t,r)=>{let a=new FileReader;a.onload=()=>t(String(a.result||"")),a.onerror=()=>r(a.error||Error("Failed to read file")),a.readAsDataURL(e)})}function j(e){let t=e?.provider||e?.id,r=t?d.Q2[t]:null;return r?.name||function(e=""){return String(e).replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()||"Unknown"}(t||"provider")}function w(e){return Array.from(e.values()).map(e=>({...e,models:(function(e){let t=new Map;for(let r of e)r?.id&&(t.has(r.id)||t.set(r.id,r));return Array.from(t.values())})(e.models).sort((e,t)=>e.name.localeCompare(t.name))})).filter(e=>e.models.length>0).sort((e,t)=>e.providerName.localeCompare(t.providerName))}async function S(e,t={},r=8e3){let a=new AbortController,s=setTimeout(()=>a.abort(),r);try{return await fetch(e,{...t,signal:a.signal})}finally{clearTimeout(s)}}async function I(e,t,r){if(!e.length)return[];let a=Array(e.length),s=0,l=Array.from({length:Math.min(t,e.length)},async()=>{for(;s<e.length;){let t=s;s+=1,a[t]=await r(e[t],t)}});return await Promise.all(l),a}function k(){let[e,t]=(0,s.useState)([]),[r,k]=(0,s.useState)(!0),[A,C]=(0,s.useState)(""),[T,$]=(0,s.useState)(()=>{try{let e=function(e,t){try{return JSON.parse(e)}catch{return t}}(globalThis.localStorage.getItem(c),[]);return Array.isArray(e)?e.map(e=>({...e,messages:Array.isArray(e.messages)?e.messages:[]})):[]}catch{return[]}}),[E,M]=(0,s.useState)(()=>globalThis.localStorage.getItem(m)||""),[D,_]=(0,s.useState)(()=>globalThis.localStorage.getItem(u)||""),[O,R]=(0,s.useState)(""),[z,U]=(0,s.useState)(()=>globalThis.localStorage.getItem(x)||""),[L,P]=(0,s.useState)([]),[q,F]=(0,s.useState)(!1),[J,B]=(0,s.useState)(""),[H,W]=(0,s.useState)(""),[K,Y]=(0,s.useState)(!1),[G,Q]=(0,s.useState)(!1),[V,Z]=(0,s.useState)(""),[X,ee]=(0,s.useState)(!1),[et,er]=(0,s.useState)(!1),[ea,es]=(0,s.useState)(""),[el,en]=(0,s.useState)(()=>{let e=Number(globalThis.localStorage.getItem(p));return Number.isFinite(e)?Math.min(2,Math.max(0,e)):.7}),[ei,eo]=(0,s.useState)(()=>globalThis.localStorage.getItem(h)||""),ed=(0,s.useRef)(null),ec=(0,s.useRef)(null),em=(0,s.useRef)(!1),eu=(0,s.useRef)(null),ex=(0,s.useRef)(null),ep=(0,s.useRef)(null),eh=(0,s.useRef)(null),eb=(0,s.useRef)(null);(0,s.useEffect)(()=>{Y(!0)},[]),(0,s.useEffect)(()=>{let e=!1;return async function(){k(!0),C("");try{let r=await S("/api/providers",{cache:"no-store"},15e3),a=await r.json().catch(()=>({})),s=Array.isArray(a.connections)?a.connections.filter(e=>e?.isActive!==!1):[];if(0===s.length){e||(t([]),C("No providers connected yet."),k(!1));return}let l=new Map,n=[];for(let e of s){let t=e.provider||e.id,r=j(e),a=(0,d.mq)(t)?"openai-compatible":(0,d.gb)(t)?"anthropic-compatible":t;if(!l.has(t)){l.set(t,{providerId:t,providerName:r,providerType:a,connections:[],models:[]});let s=(0,o.KC)(t).map(t=>t?.id?{id:`${e.provider}/${t.id}`,requestModel:`${e.provider}/${t.id}`,name:t.name||t.id,providerId:e.provider,providerName:j(e),source:"static"}:null).filter(Boolean);l.get(t).models.push(...s),n.push(e)}let s=l.get(t);s.providerName=s.providerName||r,s.providerType=s.providerType||a,s.connections.push(e)}let i=w(l);e||(t(i),0===i.length?C("Loading live models…"):C(""),k(!1));let c=await I(n,6,async t=>{if(e)return{connection:t,models:[]};try{let e=await S(`/api/providers/${t.id}/models`,{cache:"no-store"},8e3),r=await e.json().catch(()=>({}));if(!e.ok)return{connection:t,models:[]};let a=(Array.isArray(r?.models)?r.models:Array.isArray(r?.data)?r.data:Array.isArray(r?.results)?r.results:Array.isArray(r)?r:[]).map(e=>(function(e,t){let r="string"==typeof e?e:e?.id||e?.name||e?.model||"";if(!r)return null;let a="string"==typeof e?e:e?.name||e?.displayName||r,s=r;return((0,d.mq)(t.provider)||(0,d.gb)(t.provider))&&!r.includes("/")&&(s=`${t.provider}/${r}`),{id:s,requestModel:s,name:a,providerId:t.provider,providerName:j(t),source:"live"}})(e,t)).filter(Boolean);return{connection:t,models:a}}catch{return{connection:t,models:[]}}});if(e)return;for(let e of c){let t=e.connection.provider||e.connection.id,r=l.get(t);r&&e.models?.length&&r.models.push(...e.models)}let m=w(l);e||(t(m),0===m.length?C("Providers connected but no models available."):C(""))}catch(r){e||(C(y(r?.message)||"Failed to load providers/models."),t([]),k(!1))}}(),()=>{e=!0}},[]),(0,s.useEffect)(()=>{let e=e=>{eu.current&&!eu.current.contains(e.target)&&Q(!1),ex.current&&!ex.current.contains(e.target)&&ee(!1),ep.current&&!ep.current.contains(e.target)&&er(!1)},t=e=>{"Escape"===e.key&&(Q(!1),Z(""),er(!1),ee(!1))};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[]),(0,s.useEffect)(()=>{try{globalThis.localStorage.setItem(p,String(el))}catch{}},[el]),(0,s.useEffect)(()=>{try{globalThis.localStorage.setItem(h,ei)}catch{}},[ei]);let ef=(0,s.useMemo)(()=>{let t=new Map;for(let r of e)for(let e of r.models)t.set(e.id,{...e,providerId:r.providerId,providerName:r.providerName});return t},[e]),eg=(0,s.useMemo)(()=>e.find(e=>e.providerId===D)||e[0]||null,[e,D]),ey=(0,s.useMemo)(()=>{if(O&&ef.has(O))return ef.get(O);if(E){let e=T.find(e=>e.id===E);if(e?.modelId&&ef.has(e.modelId))return ef.get(e.modelId)}return eg?.models?.[0]||null},[O,ef,eg,T,E]),ev=(0,s.useMemo)(()=>T.find(e=>e.id===E)||null,[T,E]),eN=ev?.messages||b,ej=(0,s.useMemo)(()=>[...T].sort((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()),[T]),ew=!q&&!!ey&&(z.trim().length>0||L.length>0);(0,s.useEffect)(()=>{if(K)try{globalThis.localStorage.setItem(c,JSON.stringify(T)),globalThis.localStorage.setItem(m,E),globalThis.localStorage.setItem(u,D),globalThis.localStorage.setItem(x,z)}catch{}},[K,T,E,D,z]),(0,s.useEffect)(()=>{if(!K||r||em.current||0===e.length)return;let t=e.find(e=>e.providerId===D)||e[0],a=O&&ef.has(O)?ef.get(O):t.models[0];if(T.length>0){let e=T.find(e=>e.id===E)||T[0],r=e?.modelId&&ef.has(e.modelId)?ef.get(e.modelId):a;em.current=!0,M(e.id),_(r?.providerId||t.providerId),R(r?.id||a.id);return}let s={id:g(),title:"New chat",providerId:t.providerId,providerName:t.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]};em.current=!0,$([s]),M(s.id),_(t.providerId),R(a.id)},[K,r,e,ef,T,E,D,O]);let eS=(e,t)=>{$(r=>r.map(r=>r.id===e?t({...r,messages:Array.isArray(r.messages)?r.messages.map(e=>({...e})):[]}):r))},eI=e=>e?{id:g(),title:"New chat",providerId:e.providerId,providerName:e.providerName,modelId:e.id,modelName:e.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,ek=()=>{if(!ey)return;let e=eI(ey);e&&($(t=>[e,...t]),M(e.id),_(e.providerId),R(e.modelId),U(""),P([]),B(""),W(""))},eA=async e=>{let t=Array.from(e.target.files||[]);if(0===t.length)return;let r=t.filter(e=>e.type.startsWith("image/"));if(0===r.length){e.target.value="";return}let a=await Promise.all(r.map(async e=>({id:g(),name:e.name,type:e.type,size:e.size,dataUrl:await N(e)})));P(e=>[...e,...a]),e.target.value=""},eC=(e,t)=>{let r=v(t);eS(e,e=>({...e,title:"New chat"===e.title?r:e.title,updatedAt:new Date().toISOString()}))};(0,s.useEffect)(()=>{let e;(e=eh.current)&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Math.round(.28*window.innerHeight))}px`)},[z]),(0,s.useEffect)(()=>{eb.current?.scrollIntoView({behavior:"smooth",block:"end"})},[eN,H,q]);let eT=async(e,t)=>{try{await navigator.clipboard.writeText(y(t)),es(e),setTimeout(()=>es(t=>t===e?"":t),1500)}catch{}},e$=async(e={})=>{let t=ey||eg?.models?.[0]||null;if(!t)return;let r=!0===e.regenerate,a=E,s=T.find(e=>e.id===a),l="string"==typeof e.userText?e.userText:z.trim(),n=Array.isArray(e.attachments)?e.attachments:L;if(r){if(!s)return;let e=[...s.messages||[]];for(;e.length&&e[e.length-1]?.role==="assistant";)e.pop();let t=[...e].reverse().find(e=>"user"===e.role);if(!t)return;l=y(t.content).trim(),n=Array.isArray(t.attachments)?t.attachments:[],s={...s,messages:e},$(e=>e.map(e=>e.id===a?s:e))}if(!l&&(!n||0===n.length))return;if(!s){if(!(s=eI(t)))return;a=s.id,$(e=>[s,...e]),M(a)}let i=r?null:{id:g(),role:"user",content:l,attachments:(n||[]).map(e=>({id:e.id,name:e.name,type:e.type,dataUrl:e.dataUrl})),createdAt:new Date().toISOString()},o=g(),d={id:o,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},c=[...r?[...s.messages||[]]:[...s.messages||[],i],d];$(e=>e.map(e=>e.id===a?{...e,providerId:t.providerId,providerName:t.providerName,modelId:t.id,modelName:t.name,messages:c,updatedAt:new Date().toISOString(),title:"New chat"===e.title?v(l):e.title}:e)),!r&&(U(""),P([]),eh.current&&(eh.current.style.height="auto")),F(!0),B(o),W(""),ec.current?.abort(),ec.current=new AbortController;let m=c.filter(e=>"assistant"!==e.role||e.id!==o).map(e=>({role:e.role,content:"user"===e.role?function(e){let t=y(e.content).trim(),r=Array.isArray(e.attachments)?e.attachments:[];if(0===r.length)return t;let a=[];for(let e of(t&&a.push({type:"text",text:t}),r))e?.dataUrl&&a.push({type:"image_url",image_url:{url:e.dataUrl}});return a.length>0?a:t}(e):e.content})),u=ei.trim(),x=u?[{role:"system",content:u},...m]:m;try{let e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:t.requestModel||t.id,messages:x,stream:!0,temperature:el}),signal:ec.current.signal});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(y(t.error||t.message||`Request failed (${e.status})`))}let r=e.body?.getReader();if(!r){let t=await e.json().catch(()=>({})),r=y(t?.choices?.[0]?.message?.content||t?.output_text||t?.error||t?.message||"");eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:r,status:"done"}:e),updatedAt:new Date().toISOString()}));return}let s=new TextDecoder,n="",i="";for(;;){let{value:e,done:t}=await r.read();if(t)break;let l=(n+=s.decode(e,{stream:!0})).split(/\r?\n/);for(let e of(n=l.pop()||"",l)){let t=e.trim();if(!t.startsWith("data:"))continue;let r=t.slice(5).trim();if(r&&"[DONE]"!==r)try{let e=JSON.parse(r),t=function(e){if(!e||"object"!=typeof e)return"";let t=e.choices?.[0];return[(t?.delta||{}).content,t?.message?.content,e.output_text,e.text].map(y).filter(Boolean)[0]||""}(e);if(!t)continue;i+=t,W(i),eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:i,status:"streaming"}:e),updatedAt:new Date().toISOString()}))}catch{}}}eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:i||e.content,status:"done"}:e),updatedAt:new Date().toISOString()})),eC(a,l)}catch(e){if("AbortError"===e.name)eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:e.content||"Stopped",status:"stopped"}:e),updatedAt:new Date().toISOString()})),eC(a,l);else{let t=y(e?.message||e);eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:e.content||`Error: ${t}`,status:"error"}:e),updatedAt:new Date().toISOString()}))}}finally{F(!1),B(""),W(""),ec.current=null}},eE=ey?ey.name:"Select model",eM=ey?`${ey.providerName||""} \xb7 ${ey.requestModel||ey.id}`.replace(/^ · /,""):"Connected providers only",eD=(0,s.useMemo)(()=>{let t=V.trim().toLowerCase();return t?e.map(e=>{let r=(e.providerName||"").toLowerCase().includes(t)||(e.providerId||"").toLowerCase().includes(t)?e.models:e.models.filter(e=>`${e.name||""} ${e.requestModel||""} ${e.id||""}`.toLowerCase().includes(t));return{...e,models:r}}).filter(e=>e.models.length>0):e},[e,V]);return(0,a.jsxs)("div",{className:"relative flex h-full min-h-0 min-w-0 flex-1 overflow-hidden bg-bg text-text-main",children:[(0,a.jsxs)("aside",{id:"playground-history",className:`${X?"flex":"hidden"} fixed inset-y-0 left-0 z-30 w-[min(85vw,260px)] shrink-0 flex-col border-r border-border-subtle bg-surface/95 backdrop-blur-xl lg:static lg:z-auto lg:flex lg:w-[260px] lg:bg-surface/60`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-border-subtle p-3",children:[(0,a.jsxs)("button",{type:"button",onClick:ek,disabled:!ey,className:"flex h-9 flex-1 items-center justify-center gap-2 rounded-[10px] bg-primary text-sm font-semibold text-white transition hover:bg-primary-hover disabled:cursor-not-allowed disabled:opacity-50",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"add"}),"New chat"]}),(0,a.jsx)("button",{type:"button",className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted lg:hidden hover:bg-surface-2",onClick:()=>ee(!1),"aria-label":"Close history",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]}),(0,a.jsxs)("div",{ref:ex,className:"flex-1 overflow-y-auto p-2 custom-scrollbar",children:[(0,a.jsx)("p",{className:"px-2 py-2 text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Chats"}),0===ej.length?(0,a.jsx)("div",{className:"rounded-[10px] border border-dashed border-border px-3 py-6 text-center text-xs text-text-muted",children:"No conversations yet"}):(0,a.jsx)("div",{className:"space-y-0.5",children:ej.map(e=>{let t=e.id===E,r=[...e.messages||[]].reverse().find(e=>"user"===e.role)||e.messages?.[0];return(0,a.jsxs)("button",{type:"button",onClick:()=>{var t;let r;t=e.id,(r=T.find(e=>e.id===t))&&(M(t),_(r.providerId||D),R(r.modelId||O),ee(!1)),window.innerWidth<1024&&ee(!1)},className:`group flex w-full items-start gap-2 rounded-[10px] px-2.5 py-2.5 text-left transition ${t?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"}`,children:[(0,a.jsx)("span",{className:"material-symbols-outlined mt-0.5 text-[16px] opacity-70",children:"chat_bubble"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-[13px] font-medium leading-snug",children:e.title||"New chat"}),(0,a.jsxs)("p",{className:"mt-0.5 truncate text-[11px] opacity-60",children:[y(r?.content)||"Empty"," \xb7"," ",function(e){if(!e)return"Now";let t=new Date(e).getTime();if(Number.isNaN(t))return"Now";let r=Math.max(1,Math.round((Date.now()-t)/6e4));if(r<60)return`${r}m`;let a=Math.round(r/60);return a<24?`${a}h`:`${Math.round(a/24)}d`}(e.updatedAt)]})]})]},e.id)})})]}),(0,a.jsx)("div",{className:"border-t border-border-subtle p-3",children:(0,a.jsxs)("button",{type:"button",onClick:()=>{if(!E)return;let e=T.filter(e=>e.id!==E),t=e[0]||null;$(e),t?(M(t.id),_(t.providerId),R(t.modelId)):(M(""),_(""),R(""))},disabled:!E||0===T.length,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-[8px] text-xs font-medium text-text-muted transition hover:bg-surface-2 hover:text-danger disabled:opacity-40",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"delete"}),"Delete current chat"]})})]}),(0,a.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-border-subtle px-3 py-2 lg:hidden",children:[(0,a.jsx)("button",{type:"button",onClick:()=>ee(!0),className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted hover:bg-surface-2","aria-label":"Open chats","aria-expanded":X,"aria-controls":"playground-history",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"history"})}),(0,a.jsxs)("div",{className:"min-w-0 text-center",children:[(0,a.jsx)("p",{className:"truncate text-sm font-semibold",children:eE}),(0,a.jsx)("p",{className:"truncate text-[11px] text-text-subtle",children:eM})]}),(0,a.jsx)("button",{type:"button",onClick:ek,disabled:!ey,className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted hover:bg-surface-2 disabled:opacity-40","aria-label":"New chat",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"edit_square"})})]}),A?(0,a.jsx)("div",{role:"alert",className:"mx-4 mt-3 rounded-[10px] border border-danger/25 bg-danger/10 px-3 py-2.5 text-sm text-danger",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"error"}),(0,a.jsx)("p",{children:A})]})}):null,(0,a.jsx)("div",{className:"flex-1 overflow-y-auto custom-scrollbar",children:0===eN.length?(0,a.jsxs)("div",{className:"flex min-h-full flex-col items-center justify-center px-6 pb-36 pt-10 text-center",children:[(0,a.jsx)("div",{className:"mb-4 flex size-12 items-center justify-center rounded-2xl border border-border bg-surface text-primary shadow-soft",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[26px]",children:"forum"})}),(0,a.jsx)("h2",{className:"text-[22px] font-semibold tracking-tight text-text-main",children:"How can I help?"}),(0,a.jsx)("p",{className:"mt-1.5 max-w-md text-[13px] leading-relaxed text-text-muted",children:"Pick a model below, then ask anything through your connected providers."}),(0,a.jsx)("div",{className:"mt-6 flex max-w-xl flex-wrap items-center justify-center gap-2",children:f.map(e=>(0,a.jsx)("button",{type:"button",disabled:!ey||r,onClick:()=>{U(e),requestAnimationFrame(()=>eh.current?.focus())},className:"rounded-full border border-border bg-surface px-3.5 py-2 text-left text-[12.5px] text-text-muted transition hover:border-primary/35 hover:bg-primary/5 hover:text-text-main disabled:opacity-40",children:e},e))}),r?(0,a.jsx)("p",{className:"mt-4 text-xs text-text-subtle",children:"Loading models…"}):null]}):(0,a.jsxs)("div",{className:"mx-auto w-full max-w-3xl px-4 py-6 lg:px-8",children:[eN.map((e,t)=>{let r="user"===e.role,s="assistant"===e.role,i=s&&e.id===J&&"streaming"===e.status,o=y(e.content)||(s?H:""),d="error"===e.status,c="stopped"===e.status,m=s&&t===eN.length-1&&"streaming"!==e.status;return(0,a.jsx)("div",{className:"group relative mb-1 border-b border-border-subtle/50 py-5 last:border-0",children:(0,a.jsxs)("div",{className:"flex gap-3.5",children:[(0,a.jsx)("div",{className:`flex size-7 shrink-0 items-center justify-center rounded-full text-[11px] font-bold ${r?"bg-primary text-white":"border border-border bg-surface-2 text-text-muted"}`,children:r?"Y":"AI"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"mb-1.5 text-[12px] font-semibold text-text-main",children:r?"You":ey?.name||"Assistant"}),e.attachments?.length?(0,a.jsx)("div",{className:"mb-3 grid max-w-md grid-cols-2 gap-2 sm:grid-cols-3",children:e.attachments.map(e=>(0,a.jsx)("a",{href:e.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-lg border border-border",children:(0,a.jsx)("img",{src:e.dataUrl,alt:e.name,className:"h-24 w-full object-cover"})},e.id))}):null,s&&!d?(0,a.jsx)("div",{className:"playground-md text-[14.5px] leading-[1.7] text-text-main",dangerouslySetInnerHTML:{__html:function(e){let t=y(e);if(!t)return"";try{return n.A.sanitize(l.xI.parse(t))}catch{return t.replace(/</g,"<").replace(/>/g,">")}}(o)||""}}):(0,a.jsx)("div",{className:`whitespace-pre-wrap break-words text-[14.5px] leading-[1.7] ${d?"text-danger":"text-text-main"}`,children:o}),s&&i?(0,a.jsx)("span",{className:"ml-0.5 inline-block animate-pulse text-primary",children:"▋"}):null,c?(0,a.jsx)("p",{className:"mt-2 text-xs text-text-muted",children:"Generation stopped"}):null,s&&o&&!i?(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-1 opacity-100 transition sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>eT(e.id,o),className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] font-medium text-text-muted hover:bg-surface-2 hover:text-text-main",title:"Copy",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ea===e.id?"check":"content_copy"}),ea===e.id?"Copied":"Copy"]}),m&&!q?(0,a.jsxs)("button",{type:"button",onClick:()=>e$({regenerate:!0}),className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] font-medium text-text-muted hover:bg-surface-2 hover:text-text-main",title:"Regenerate",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"refresh"}),"Retry"]}):null]}):null]})]})},e.id)}),(0,a.jsx)("div",{ref:eb})]})}),(0,a.jsx)("div",{className:"shrink-0 border-t border-border-subtle bg-bg/90 backdrop-blur-xl",children:(0,a.jsxs)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-4 pt-3 lg:px-6",children:[L.length>0?(0,a.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:L.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-border bg-surface px-3 py-1.5",children:[(0,a.jsx)("span",{className:"max-w-[10rem] truncate text-xs text-text-muted",children:e.name}),(0,a.jsx)("button",{type:"button",onClick:()=>{var t;return t=e.id,void P(e=>e.filter(e=>e.id!==t))},className:"text-text-subtle hover:text-text-main","aria-label":"Remove attachment",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})})]},e.id))}):null,(0,a.jsxs)("div",{className:"rounded-2xl border border-border-subtle bg-surface-2/80 shadow-soft ring-1 ring-border-subtle focus-within:border-primary/50 focus-within:ring-primary/20 transition",children:[(0,a.jsx)("textarea",{ref:eh,"aria-label":"Message",value:z,onChange:e=>U(e.target.value),onKeyDown:e=>{"Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),ew&&e$())},placeholder:ey?`Message ${ey.name}…`:"Select a model below to start chatting",rows:1,disabled:!ey||r,className:"max-h-[28vh] min-h-[52px] w-full resize-none overflow-y-auto bg-transparent px-4 pt-3.5 text-[15px] leading-6 text-text-main outline-none placeholder:text-text-subtle custom-scrollbar disabled:opacity-50"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2.5 pb-2.5 pt-1",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>ed.current?.click(),disabled:!ey||r,className:"inline-flex h-11 items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-[12px] font-medium text-text-main transition hover:border-primary/40 hover:bg-primary/10 hover:text-primary disabled:cursor-not-allowed disabled:opacity-40",title:"Upload image",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"add_photo_alternate"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Image"})]}),(0,a.jsx)("input",{ref:ed,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:eA}),(0,a.jsxs)("div",{ref:ep,className:"relative",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>er(e=>!e),className:`inline-flex h-11 items-center gap-1.5 rounded-full border px-3 text-[12px] font-medium transition ${et||ei.trim()||.7!==el?"border-primary/40 bg-primary/10 text-primary":"border-border bg-surface text-text-main hover:border-primary/40 hover:bg-primary/10 hover:text-primary"}`,title:"Chat settings","aria-label":"Chat settings","aria-expanded":et,"aria-controls":"playground-chat-settings",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tune"}),(0,a.jsx)("span",{className:"hidden sm:inline tabular-nums",children:el.toFixed(1)})]}),et?(0,a.jsxs)("div",{id:"playground-chat-settings",className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(320px,calc(100vw-2rem))] space-y-3 rounded-xl border border-border bg-surface p-3 shadow-elevated",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Temperature"}),(0,a.jsx)("span",{className:"text-xs font-semibold tabular-nums text-text-main",children:el.toFixed(2)})]}),(0,a.jsx)("input",{type:"range",min:0,max:2,step:.05,value:el,onChange:e=>en(Number(e.target.value)),className:"w-full accent-[var(--color-primary,#E56A4A)]"}),(0,a.jsxs)("div",{className:"mt-1 flex justify-between text-[10px] text-text-subtle",children:[(0,a.jsx)("span",{children:"Precise"}),(0,a.jsx)("span",{children:"Creative"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"System prompt"}),(0,a.jsx)("textarea",{value:ei,onChange:e=>eo(e.target.value),rows:4,placeholder:"Optional instructions for the model…",className:"w-full resize-y rounded-lg border border-border bg-bg px-2.5 py-2 text-[12.5px] leading-5 text-text-main outline-none placeholder:text-text-subtle focus:border-primary/40 custom-scrollbar"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>{en(.7),eo("")},className:"text-[11px] font-medium text-text-muted hover:text-text-main",children:"Reset defaults"})]}):null]}),(0,a.jsxs)("div",{ref:eu,className:"relative min-w-0",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>{Q(e=>{let t=!e;return t||Z(""),t})},disabled:r||0===e.length,"aria-label":`Choose model, currently ${eE}`,"aria-haspopup":"listbox","aria-expanded":G,"aria-controls":"playground-model-menu",className:"inline-flex h-11 max-w-[min(100vw-12rem,260px)] items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-left transition hover:border-primary/40 hover:bg-surface-2 disabled:opacity-50",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary shrink-0",children:"smart_toy"}),(0,a.jsx)("span",{className:"min-w-0 truncate text-[12.5px] font-semibold text-text-main",children:r?"Loading…":eE}),(0,a.jsx)("span",{className:"material-symbols-outlined shrink-0 text-[16px] text-text-muted",children:G?"expand_less":"expand_more"})]}),G?(0,a.jsxs)("div",{id:"playground-model-menu",role:"listbox","aria-label":"Models",className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(420px,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-surface shadow-elevated",children:[(0,a.jsxs)("div",{className:"border-b border-border-subtle px-3 py-2.5 space-y-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Models"}),(0,a.jsxs)("p",{className:"text-xs text-text-muted",children:[e.length," providers \xb7 search by name"]})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("span",{className:"material-symbols-outlined pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[16px] text-text-subtle",children:"search"}),(0,a.jsx)("input",{type:"search",value:V,onChange:e=>Z(e.target.value),placeholder:"Search models…",autoFocus:!0,className:"w-full rounded-lg border border-border bg-bg py-1.5 pl-8 pr-3 text-[16px] text-text-main outline-none placeholder:text-text-subtle focus:border-primary/40"})]})]}),(0,a.jsx)("div",{className:"max-h-[min(50vh,360px)] overflow-y-auto p-1.5 custom-scrollbar",children:0===eD.length?(0,a.jsxs)("p",{className:"px-3 py-6 text-center text-xs text-text-muted",children:["No models match “",V.trim(),"”"]}):eD.map(e=>(0,a.jsxs)("div",{className:"mb-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-subtle",children:e.providerName}),(0,a.jsx)(i.Ex,{size:"sm",variant:"default",children:e.models.length})]}),(0,a.jsx)("div",{className:"space-y-0.5",children:e.models.map(e=>{let t=e.id===O;return(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":t,onClick:()=>{(e=>{let t=ef.get(e);if(!t)return;let r=T.find(e=>e.id===E);if(r&&r.messages.length>0){let e=eI(t);if(!e)return;$(t=>[e,...t]),M(e.id)}else if(r)$(e=>e.map(e=>e.id===r.id?{...e,providerId:t.providerId,providerName:t.providerName,modelId:t.id,modelName:t.name}:e)),M(r.id);else{let e=eI(t);if(!e)return;$(t=>[e,...t]),M(e.id)}_(t.providerId),R(t.id),Q(!1)})(e.id),Z("")},className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left transition ${t?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"}`,children:[(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block truncate text-[13px] font-medium",children:e.name}),(0,a.jsx)("span",{className:"block truncate text-[11px] opacity-60",children:e.requestModel})]}),t?(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check"}):null]},e.id)})})]},e.providerId))})]}):null]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[q?(0,a.jsxs)("button",{type:"button",onClick:()=>{ec.current?.abort()},className:"inline-flex h-11 items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-[12px] font-semibold text-text-main transition hover:bg-surface-2",title:"Stop generating",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"stop_circle"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Stop"})]}):null,(0,a.jsxs)("button",{type:"button",onClick:e$,disabled:!ew,className:`inline-flex h-11 min-w-9 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] font-semibold transition ${ew?"bg-primary text-white shadow-[0_2px_12px_rgba(229,106,74,0.45)] hover:bg-primary-hover active:scale-[0.97]":"bg-surface-3 text-text-subtle cursor-not-allowed opacity-70"}`,title:"Send message",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] font-bold",children:"send"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Send"})]})]})]})]}),(0,a.jsx)("p",{className:"mt-2 text-center text-[11px] text-text-subtle",children:"Routed through ZevaiRouter \xb7 Enter to send \xb7 Shift+Enter for new line"})]})})]}),X?(0,a.jsx)("button",{type:"button",className:"fixed inset-0 z-20 bg-black/40 lg:hidden","aria-label":"Close history",onClick:()=>ee(!1)}):null]})}l.xI.setOptions({gfm:!0,breaks:!0})}}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9126],{19126:(e,t,r)=>{Promise.resolve().then(r.bind(r,88512))},88512:(e,t,r)=>{"use strict";r.d(t,{default:()=>k});var a=r(95155),s=r(12115),l=r(9233),n=r(91992),i=r(35497),o=r(28777),d=r(52679);let c="basic-chat.sessions",m="basic-chat.activeSessionId",u="basic-chat.activeProviderId",x="basic-chat.draft",p="basic-chat.temperature",h="basic-chat.systemPrompt",b=[],f=["Explain this project like I'm new","Write a concise PR description","Debug this error message","Summarize the key trade-offs"];function g(){return globalThis.crypto?.randomUUID?globalThis.crypto.randomUUID():`chat_${Date.now()}_${Math.random().toString(16).slice(2)}`}function y(e){if("string"==typeof e)return e;if(null==e)return"";if(Array.isArray(e))return e.map(y).filter(Boolean).join(" ");if("object"==typeof e){if("string"==typeof e.message)return e.message;if("string"==typeof e.error)return e.error;try{return JSON.stringify(e)}catch{}}return String(e)}function v(e=""){let t=y(e).replace(/\s+/g," ").trim();return t?t.length>52?`${t.slice(0,52).trimEnd()}…`:t:"New chat"}async function N(e){return await new Promise((t,r)=>{let a=new FileReader;a.onload=()=>t(String(a.result||"")),a.onerror=()=>r(a.error||Error("Failed to read file")),a.readAsDataURL(e)})}function j(e){let t=e?.provider||e?.id,r=t?d.Q2[t]:null;return r?.name||function(e=""){return String(e).replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim()||"Unknown"}(t||"provider")}function w(e){return Array.from(e.values()).map(e=>({...e,models:(function(e){let t=new Map;for(let r of e)r?.id&&(t.has(r.id)||t.set(r.id,r));return Array.from(t.values())})(e.models).sort((e,t)=>e.name.localeCompare(t.name))})).filter(e=>e.models.length>0).sort((e,t)=>e.providerName.localeCompare(t.providerName))}async function S(e,t={},r=8e3){let a=new AbortController,s=setTimeout(()=>a.abort(),r);try{return await fetch(e,{...t,signal:a.signal})}finally{clearTimeout(s)}}async function I(e,t,r){if(!e.length)return[];let a=Array(e.length),s=0,l=Array.from({length:Math.min(t,e.length)},async()=>{for(;s<e.length;){let t=s;s+=1,a[t]=await r(e[t],t)}});return await Promise.all(l),a}function k(){let[e,t]=(0,s.useState)([]),[r,k]=(0,s.useState)(!0),[A,C]=(0,s.useState)(""),[T,$]=(0,s.useState)(()=>{try{let e=function(e,t){try{return JSON.parse(e)}catch{return t}}(globalThis.localStorage.getItem(c),[]);return Array.isArray(e)?e.map(e=>({...e,messages:Array.isArray(e.messages)?e.messages:[]})):[]}catch{return[]}}),[E,M]=(0,s.useState)(()=>globalThis.localStorage.getItem(m)||""),[D,_]=(0,s.useState)(()=>globalThis.localStorage.getItem(u)||""),[O,R]=(0,s.useState)(""),[z,U]=(0,s.useState)(()=>globalThis.localStorage.getItem(x)||""),[L,P]=(0,s.useState)([]),[q,F]=(0,s.useState)(!1),[J,B]=(0,s.useState)(""),[H,W]=(0,s.useState)(""),[K,Y]=(0,s.useState)(!1),[G,Q]=(0,s.useState)(!1),[V,Z]=(0,s.useState)(""),[X,ee]=(0,s.useState)(!1),[et,er]=(0,s.useState)(!1),[ea,es]=(0,s.useState)(""),[el,en]=(0,s.useState)(()=>{let e=Number(globalThis.localStorage.getItem(p));return Number.isFinite(e)?Math.min(2,Math.max(0,e)):.7}),[ei,eo]=(0,s.useState)(()=>globalThis.localStorage.getItem(h)||""),ed=(0,s.useRef)(null),ec=(0,s.useRef)(null),em=(0,s.useRef)(!1),eu=(0,s.useRef)(null),ex=(0,s.useRef)(null),ep=(0,s.useRef)(null),eh=(0,s.useRef)(null),eb=(0,s.useRef)(null);(0,s.useEffect)(()=>{Y(!0)},[]),(0,s.useEffect)(()=>{let e=!1;return async function(){k(!0),C("");try{let r=await S("/api/providers",{cache:"no-store"},15e3),a=await r.json().catch(()=>({})),s=Array.isArray(a.connections)?a.connections.filter(e=>e?.isActive!==!1):[];if(0===s.length){e||(t([]),C("No providers connected yet."),k(!1));return}let l=new Map,n=[];for(let e of s){let t=e.provider||e.id,r=j(e),a=(0,d.mq)(t)?"openai-compatible":(0,d.gb)(t)?"anthropic-compatible":t;if(!l.has(t)){l.set(t,{providerId:t,providerName:r,providerType:a,connections:[],models:[]});let s=(0,o.KC)(t).map(t=>t?.id?{id:`${e.provider}/${t.id}`,requestModel:`${e.provider}/${t.id}`,name:t.name||t.id,providerId:e.provider,providerName:j(e),source:"static"}:null).filter(Boolean);l.get(t).models.push(...s),n.push(e)}let s=l.get(t);s.providerName=s.providerName||r,s.providerType=s.providerType||a,s.connections.push(e)}let i=w(l);e||(t(i),0===i.length?C("Loading live models…"):C(""),k(!1));let c=await I(n,6,async t=>{if(e)return{connection:t,models:[]};try{let e=await S(`/api/providers/${t.id}/models`,{cache:"no-store"},8e3),r=await e.json().catch(()=>({}));if(!e.ok)return{connection:t,models:[]};let a=(Array.isArray(r?.models)?r.models:Array.isArray(r?.data)?r.data:Array.isArray(r?.results)?r.results:Array.isArray(r)?r:[]).map(e=>(function(e,t){let r="string"==typeof e?e:e?.id||e?.name||e?.model||"";if(!r)return null;let a="string"==typeof e?e:e?.name||e?.displayName||r,s=r;return((0,d.mq)(t.provider)||(0,d.gb)(t.provider))&&!r.includes("/")&&(s=`${t.provider}/${r}`),{id:s,requestModel:s,name:a,providerId:t.provider,providerName:j(t),source:"live"}})(e,t)).filter(Boolean);return{connection:t,models:a}}catch{return{connection:t,models:[]}}});if(e)return;for(let e of c){let t=e.connection.provider||e.connection.id,r=l.get(t);r&&e.models?.length&&r.models.push(...e.models)}let m=w(l);e||(t(m),0===m.length?C("Providers connected but no models available."):C(""))}catch(r){e||(C(y(r?.message)||"Failed to load providers/models."),t([]),k(!1))}}(),()=>{e=!0}},[]),(0,s.useEffect)(()=>{let e=e=>{eu.current&&!eu.current.contains(e.target)&&Q(!1),ex.current&&!ex.current.contains(e.target)&&ee(!1),ep.current&&!ep.current.contains(e.target)&&er(!1)},t=e=>{"Escape"===e.key&&(Q(!1),Z(""),er(!1),ee(!1))};return document.addEventListener("mousedown",e),document.addEventListener("keydown",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",t)}},[]),(0,s.useEffect)(()=>{try{globalThis.localStorage.setItem(p,String(el))}catch{}},[el]),(0,s.useEffect)(()=>{try{globalThis.localStorage.setItem(h,ei)}catch{}},[ei]);let ef=(0,s.useMemo)(()=>{let t=new Map;for(let r of e)for(let e of r.models)t.set(e.id,{...e,providerId:r.providerId,providerName:r.providerName});return t},[e]),eg=(0,s.useMemo)(()=>e.find(e=>e.providerId===D)||e[0]||null,[e,D]),ey=(0,s.useMemo)(()=>{if(O&&ef.has(O))return ef.get(O);if(E){let e=T.find(e=>e.id===E);if(e?.modelId&&ef.has(e.modelId))return ef.get(e.modelId)}return eg?.models?.[0]||null},[O,ef,eg,T,E]),ev=(0,s.useMemo)(()=>T.find(e=>e.id===E)||null,[T,E]),eN=ev?.messages||b,ej=(0,s.useMemo)(()=>[...T].sort((e,t)=>new Date(t.updatedAt).getTime()-new Date(e.updatedAt).getTime()),[T]),ew=!q&&!!ey&&(z.trim().length>0||L.length>0);(0,s.useEffect)(()=>{if(K)try{globalThis.localStorage.setItem(c,JSON.stringify(T)),globalThis.localStorage.setItem(m,E),globalThis.localStorage.setItem(u,D),globalThis.localStorage.setItem(x,z)}catch{}},[K,T,E,D,z]),(0,s.useEffect)(()=>{if(!K||r||em.current||0===e.length)return;let t=e.find(e=>e.providerId===D)||e[0],a=O&&ef.has(O)?ef.get(O):t.models[0];if(T.length>0){let e=T.find(e=>e.id===E)||T[0],r=e?.modelId&&ef.has(e.modelId)?ef.get(e.modelId):a;em.current=!0,M(e.id),_(r?.providerId||t.providerId),R(r?.id||a.id);return}let s={id:g(),title:"New chat",providerId:t.providerId,providerName:t.providerName,modelId:a.id,modelName:a.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]};em.current=!0,$([s]),M(s.id),_(t.providerId),R(a.id)},[K,r,e,ef,T,E,D,O]);let eS=(e,t)=>{$(r=>r.map(r=>r.id===e?t({...r,messages:Array.isArray(r.messages)?r.messages.map(e=>({...e})):[]}):r))},eI=e=>e?{id:g(),title:"New chat",providerId:e.providerId,providerName:e.providerName,modelId:e.id,modelName:e.name,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString(),messages:[]}:null,ek=()=>{if(!ey)return;let e=eI(ey);e&&($(t=>[e,...t]),M(e.id),_(e.providerId),R(e.modelId),U(""),P([]),B(""),W(""))},eA=async e=>{let t=Array.from(e.target.files||[]);if(0===t.length)return;let r=t.filter(e=>e.type.startsWith("image/"));if(0===r.length){e.target.value="";return}let a=await Promise.all(r.map(async e=>({id:g(),name:e.name,type:e.type,size:e.size,dataUrl:await N(e)})));P(e=>[...e,...a]),e.target.value=""},eC=(e,t)=>{let r=v(t);eS(e,e=>({...e,title:"New chat"===e.title?r:e.title,updatedAt:new Date().toISOString()}))};(0,s.useEffect)(()=>{let e;(e=eh.current)&&(e.style.height="auto",e.style.height=`${Math.min(e.scrollHeight,Math.round(.28*window.innerHeight))}px`)},[z]),(0,s.useEffect)(()=>{eb.current?.scrollIntoView({behavior:"smooth",block:"end"})},[eN,H,q]);let eT=async(e,t)=>{try{await navigator.clipboard.writeText(y(t)),es(e),setTimeout(()=>es(t=>t===e?"":t),1500)}catch{}},e$=async(e={})=>{let t=ey||eg?.models?.[0]||null;if(!t)return;let r=!0===e.regenerate,a=E,s=T.find(e=>e.id===a),l="string"==typeof e.userText?e.userText:z.trim(),n=Array.isArray(e.attachments)?e.attachments:L;if(r){if(!s)return;let e=[...s.messages||[]];for(;e.length&&e[e.length-1]?.role==="assistant";)e.pop();let t=[...e].reverse().find(e=>"user"===e.role);if(!t)return;l=y(t.content).trim(),n=Array.isArray(t.attachments)?t.attachments:[],s={...s,messages:e},$(e=>e.map(e=>e.id===a?s:e))}if(!l&&(!n||0===n.length))return;if(!s){if(!(s=eI(t)))return;a=s.id,$(e=>[s,...e]),M(a)}let i=r?null:{id:g(),role:"user",content:l,attachments:(n||[]).map(e=>({id:e.id,name:e.name,type:e.type,dataUrl:e.dataUrl})),createdAt:new Date().toISOString()},o=g(),d={id:o,role:"assistant",content:"",createdAt:new Date().toISOString(),status:"streaming"},c=[...r?[...s.messages||[]]:[...s.messages||[],i],d];$(e=>e.map(e=>e.id===a?{...e,providerId:t.providerId,providerName:t.providerName,modelId:t.id,modelName:t.name,messages:c,updatedAt:new Date().toISOString(),title:"New chat"===e.title?v(l):e.title}:e)),!r&&(U(""),P([]),eh.current&&(eh.current.style.height="auto")),F(!0),B(o),W(""),ec.current?.abort(),ec.current=new AbortController;let m=c.filter(e=>"assistant"!==e.role||e.id!==o).map(e=>({role:e.role,content:"user"===e.role?function(e){let t=y(e.content).trim(),r=Array.isArray(e.attachments)?e.attachments:[];if(0===r.length)return t;let a=[];for(let e of(t&&a.push({type:"text",text:t}),r))e?.dataUrl&&a.push({type:"image_url",image_url:{url:e.dataUrl}});return a.length>0?a:t}(e):e.content})),u=ei.trim(),x=u?[{role:"system",content:u},...m]:m;try{let e=await fetch("/api/dashboard/chat/completions",{method:"POST",headers:{"Content-Type":"application/json",Accept:"text/event-stream"},body:JSON.stringify({model:t.requestModel||t.id,messages:x,stream:!0,temperature:el}),signal:ec.current.signal});if(!e.ok){let t=await e.json().catch(()=>({}));throw Error(y(t.error||t.message||`Request failed (${e.status})`))}let r=e.body?.getReader();if(!r){let t=await e.json().catch(()=>({})),r=y(t?.choices?.[0]?.message?.content||t?.output_text||t?.error||t?.message||"");eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:r,status:"done"}:e),updatedAt:new Date().toISOString()}));return}let s=new TextDecoder,n="",i="";for(;;){let{value:e,done:t}=await r.read();if(t)break;let l=(n+=s.decode(e,{stream:!0})).split(/\r?\n/);for(let e of(n=l.pop()||"",l)){let t=e.trim();if(!t.startsWith("data:"))continue;let r=t.slice(5).trim();if(r&&"[DONE]"!==r)try{let e=JSON.parse(r),t=function(e){if(!e||"object"!=typeof e)return"";let t=e.choices?.[0];return[(t?.delta||{}).content,t?.message?.content,e.output_text,e.text].map(y).filter(Boolean)[0]||""}(e);if(!t)continue;i+=t,W(i),eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:i,status:"streaming"}:e),updatedAt:new Date().toISOString()}))}catch{}}}eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:i||e.content,status:"done"}:e),updatedAt:new Date().toISOString()})),eC(a,l)}catch(e){if("AbortError"===e.name)eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:e.content||"Stopped",status:"stopped"}:e),updatedAt:new Date().toISOString()})),eC(a,l);else{let t=y(e?.message||e);eS(a,e=>({...e,messages:e.messages.map(e=>e.id===o?{...e,content:e.content||`Error: ${t}`,status:"error"}:e),updatedAt:new Date().toISOString()}))}}finally{F(!1),B(""),W(""),ec.current=null}},eE=ey?ey.name:"Select model",eM=ey?`${ey.providerName||""} \xb7 ${ey.requestModel||ey.id}`.replace(/^ · /,""):"Connected providers only",eD=(0,s.useMemo)(()=>{let t=V.trim().toLowerCase();return t?e.map(e=>{let r=(e.providerName||"").toLowerCase().includes(t)||(e.providerId||"").toLowerCase().includes(t)?e.models:e.models.filter(e=>`${e.name||""} ${e.requestModel||""} ${e.id||""}`.toLowerCase().includes(t));return{...e,models:r}}).filter(e=>e.models.length>0):e},[e,V]);return(0,a.jsxs)("div",{className:"relative flex h-full min-h-0 min-w-0 flex-1 overflow-hidden bg-bg text-text-main",children:[(0,a.jsxs)("aside",{id:"playground-history",className:`${X?"flex":"hidden"} fixed inset-y-0 left-0 z-30 w-[min(85vw,260px)] shrink-0 flex-col border-r border-border-subtle bg-surface/95 backdrop-blur-xl lg:static lg:z-auto lg:flex lg:w-[260px] lg:bg-surface/60`,children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-border-subtle p-3",children:[(0,a.jsxs)("button",{type:"button",onClick:ek,disabled:!ey,className:"flex h-9 flex-1 items-center justify-center gap-2 rounded-[10px] bg-primary text-sm font-semibold text-white transition hover:bg-primary-hover disabled:cursor-not-allowed disabled:opacity-50",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"add"}),"New chat"]}),(0,a.jsx)("button",{type:"button",className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted lg:hidden hover:bg-surface-2",onClick:()=>ee(!1),"aria-label":"Close history",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"close"})})]}),(0,a.jsxs)("div",{ref:ex,className:"flex-1 overflow-y-auto p-2 custom-scrollbar",children:[(0,a.jsx)("p",{className:"px-2 py-2 text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Chats"}),0===ej.length?(0,a.jsx)("div",{className:"rounded-[10px] border border-dashed border-border px-3 py-6 text-center text-xs text-text-muted",children:"No conversations yet"}):(0,a.jsx)("div",{className:"space-y-0.5",children:ej.map(e=>{let t=e.id===E,r=[...e.messages||[]].reverse().find(e=>"user"===e.role)||e.messages?.[0];return(0,a.jsxs)("button",{type:"button",onClick:()=>{var t;let r;t=e.id,(r=T.find(e=>e.id===t))&&(M(t),_(r.providerId||D),R(r.modelId||O),ee(!1)),window.innerWidth<1024&&ee(!1)},className:`group flex w-full items-start gap-2 rounded-[10px] px-2.5 py-2.5 text-left transition ${t?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"}`,children:[(0,a.jsx)("span",{className:"material-symbols-outlined mt-0.5 text-[16px] opacity-70",children:"chat_bubble"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"truncate text-[13px] font-medium leading-snug",children:e.title||"New chat"}),(0,a.jsxs)("p",{className:"mt-0.5 truncate text-[11px] opacity-60",children:[y(r?.content)||"Empty"," \xb7"," ",function(e){if(!e)return"Now";let t=new Date(e).getTime();if(Number.isNaN(t))return"Now";let r=Math.max(1,Math.round((Date.now()-t)/6e4));if(r<60)return`${r}m`;let a=Math.round(r/60);return a<24?`${a}h`:`${Math.round(a/24)}d`}(e.updatedAt)]})]})]},e.id)})})]}),(0,a.jsx)("div",{className:"border-t border-border-subtle p-3",children:(0,a.jsxs)("button",{type:"button",onClick:()=>{if(!E)return;let e=T.filter(e=>e.id!==E),t=e[0]||null;$(e),t?(M(t.id),_(t.providerId),R(t.modelId)):(M(""),_(""),R(""))},disabled:!E||0===T.length,className:"flex h-8 w-full items-center justify-center gap-1.5 rounded-[8px] text-xs font-medium text-text-muted transition hover:bg-surface-2 hover:text-danger disabled:opacity-40",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"delete"}),"Delete current chat"]})})]}),(0,a.jsxs)("div",{className:"relative flex min-w-0 flex-1 flex-col",children:[(0,a.jsxs)("div",{className:"flex shrink-0 items-center justify-between gap-2 border-b border-border-subtle px-3 py-2 lg:hidden",children:[(0,a.jsx)("button",{type:"button",onClick:()=>ee(!0),className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted hover:bg-surface-2","aria-label":"Open chats","aria-expanded":X,"aria-controls":"playground-history",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"history"})}),(0,a.jsxs)("div",{className:"min-w-0 text-center",children:[(0,a.jsx)("p",{className:"truncate text-sm font-semibold",children:eE}),(0,a.jsx)("p",{className:"truncate text-[11px] text-text-subtle",children:eM})]}),(0,a.jsx)("button",{type:"button",onClick:ek,disabled:!ey,className:"flex size-11 items-center justify-center rounded-[10px] border border-border text-text-muted hover:bg-surface-2 disabled:opacity-40","aria-label":"New chat",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"edit_square"})})]}),A?(0,a.jsx)("div",{role:"alert",className:"mx-4 mt-3 rounded-[10px] border border-danger/25 bg-danger/10 px-3 py-2.5 text-sm text-danger",children:(0,a.jsxs)("div",{className:"flex items-start gap-2",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"error"}),(0,a.jsx)("p",{children:A})]})}):null,(0,a.jsx)("div",{className:"flex-1 overflow-y-auto custom-scrollbar",children:0===eN.length?(0,a.jsxs)("div",{className:"flex min-h-full flex-col items-center justify-center px-6 pb-36 pt-10 text-center",children:[(0,a.jsx)("div",{className:"mb-4 flex size-12 items-center justify-center rounded-2xl border border-border bg-surface text-primary shadow-soft",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[26px]",children:"forum"})}),(0,a.jsx)("h2",{className:"text-[22px] font-semibold tracking-tight text-text-main",children:"How can I help?"}),(0,a.jsx)("p",{className:"mt-1.5 max-w-md text-[13px] leading-relaxed text-text-muted",children:"Pick a model below, then ask anything through your connected providers."}),(0,a.jsx)("div",{className:"mt-6 flex max-w-xl flex-wrap items-center justify-center gap-2",children:f.map(e=>(0,a.jsx)("button",{type:"button",disabled:!ey||r,onClick:()=>{U(e),requestAnimationFrame(()=>eh.current?.focus())},className:"rounded-full border border-border bg-surface px-3.5 py-2 text-left text-[12.5px] text-text-muted transition hover:border-primary/35 hover:bg-primary/5 hover:text-text-main disabled:opacity-40",children:e},e))}),r?(0,a.jsx)("p",{className:"mt-4 text-xs text-text-subtle",children:"Loading models…"}):null]}):(0,a.jsxs)("div",{className:"mx-auto w-full max-w-3xl px-4 py-6 lg:px-8",children:[eN.map((e,t)=>{let r="user"===e.role,s="assistant"===e.role,i=s&&e.id===J&&"streaming"===e.status,o=y(e.content)||(s?H:""),d="error"===e.status,c="stopped"===e.status,m=s&&t===eN.length-1&&"streaming"!==e.status;return(0,a.jsx)("div",{className:"group relative mb-1 border-b border-border-subtle/50 py-5 last:border-0",children:(0,a.jsxs)("div",{className:"flex gap-3.5",children:[(0,a.jsx)("div",{className:`flex size-7 shrink-0 items-center justify-center rounded-full text-[11px] font-bold ${r?"bg-primary text-white":"border border-border bg-surface-2 text-text-muted"}`,children:r?"Y":"AI"}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("p",{className:"mb-1.5 text-[12px] font-semibold text-text-main",children:r?"You":ey?.name||"Assistant"}),e.attachments?.length?(0,a.jsx)("div",{className:"mb-3 grid max-w-md grid-cols-2 gap-2 sm:grid-cols-3",children:e.attachments.map(e=>(0,a.jsx)("a",{href:e.dataUrl,target:"_blank",rel:"noreferrer",className:"overflow-hidden rounded-lg border border-border",children:(0,a.jsx)("img",{src:e.dataUrl,alt:e.name,className:"h-24 w-full object-cover"})},e.id))}):null,s&&!d?(0,a.jsx)("div",{className:"playground-md text-[14.5px] leading-[1.7] text-text-main",dangerouslySetInnerHTML:{__html:function(e){let t=y(e);if(!t)return"";try{return n.A.sanitize(l.xI.parse(t))}catch{return t.replace(/</g,"<").replace(/>/g,">")}}(o)||""}}):(0,a.jsx)("div",{className:`whitespace-pre-wrap break-words text-[14.5px] leading-[1.7] ${d?"text-danger":"text-text-main"}`,children:o}),s&&i?(0,a.jsx)("span",{className:"ml-0.5 inline-block animate-pulse text-primary",children:"▋"}):null,c?(0,a.jsx)("p",{className:"mt-2 text-xs text-text-muted",children:"Generation stopped"}):null,s&&o&&!i?(0,a.jsxs)("div",{className:"mt-2 flex items-center gap-1 opacity-100 transition sm:opacity-0 sm:group-hover:opacity-100 sm:group-focus-within:opacity-100",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>eT(e.id,o),className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] font-medium text-text-muted hover:bg-surface-2 hover:text-text-main",title:"Copy",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:ea===e.id?"check":"content_copy"}),ea===e.id?"Copied":"Copy"]}),m&&!q?(0,a.jsxs)("button",{type:"button",onClick:()=>e$({regenerate:!0}),className:"inline-flex h-7 items-center gap-1 rounded-md px-2 text-[11px] font-medium text-text-muted hover:bg-surface-2 hover:text-text-main",title:"Regenerate",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[14px]",children:"refresh"}),"Retry"]}):null]}):null]})]})},e.id)}),(0,a.jsx)("div",{ref:eb})]})}),(0,a.jsx)("div",{className:"shrink-0 border-t border-border-subtle bg-bg/90 backdrop-blur-xl",children:(0,a.jsxs)("div",{className:"mx-auto w-full max-w-3xl px-4 pb-4 pt-3 lg:px-6",children:[L.length>0?(0,a.jsx)("div",{className:"mb-2 flex flex-wrap gap-2",children:L.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2 rounded-full border border-border bg-surface px-3 py-1.5",children:[(0,a.jsx)("span",{className:"max-w-[10rem] truncate text-xs text-text-muted",children:e.name}),(0,a.jsx)("button",{type:"button",onClick:()=>{var t;return t=e.id,void P(e=>e.filter(e=>e.id!==t))},className:"text-text-subtle hover:text-text-main","aria-label":"Remove attachment",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"close"})})]},e.id))}):null,(0,a.jsxs)("div",{className:"rounded-2xl border border-border-subtle bg-surface-2/80 shadow-soft ring-1 ring-border-subtle focus-within:border-primary/50 focus-within:ring-primary/20 transition",children:[(0,a.jsx)("textarea",{ref:eh,"aria-label":"Message",value:z,onChange:e=>U(e.target.value),onKeyDown:e=>{"Enter"===e.key&&!e.shiftKey&&(e.preventDefault(),ew&&e$())},placeholder:ey?`Message ${ey.name}…`:"Select a model below to start chatting",rows:1,disabled:!ey||r,className:"max-h-[28vh] min-h-[52px] w-full resize-none overflow-y-auto bg-transparent px-4 pt-3.5 text-[15px] leading-6 text-text-main outline-none placeholder:text-text-subtle custom-scrollbar disabled:opacity-50"}),(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 px-2.5 pb-2.5 pt-1",children:[(0,a.jsxs)("div",{className:"flex min-w-0 items-center gap-1.5",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>ed.current?.click(),disabled:!ey||r,className:"inline-flex h-11 items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-[12px] font-medium text-text-main transition hover:border-primary/40 hover:bg-primary/10 hover:text-primary disabled:cursor-not-allowed disabled:opacity-40",title:"Upload image",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"add_photo_alternate"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Image"})]}),(0,a.jsx)("input",{ref:ed,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:eA}),(0,a.jsxs)("div",{ref:ep,className:"relative",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>er(e=>!e),className:`inline-flex h-11 items-center gap-1.5 rounded-full border px-3 text-[12px] font-medium transition ${et||ei.trim()||.7!==el?"border-primary/40 bg-primary/10 text-primary":"border-border bg-surface text-text-main hover:border-primary/40 hover:bg-primary/10 hover:text-primary"}`,title:"Chat settings","aria-label":"Chat settings","aria-expanded":et,"aria-controls":"playground-chat-settings",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"tune"}),(0,a.jsx)("span",{className:"hidden sm:inline tabular-nums",children:el.toFixed(1)})]}),et?(0,a.jsxs)("div",{id:"playground-chat-settings",className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(320px,calc(100vw-2rem))] space-y-3 rounded-xl border border-border bg-surface p-3 shadow-elevated",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Temperature"}),(0,a.jsx)("span",{className:"text-xs font-semibold tabular-nums text-text-main",children:el.toFixed(2)})]}),(0,a.jsx)("input",{type:"range",min:0,max:2,step:.05,value:el,onChange:e=>en(Number(e.target.value)),className:"w-full accent-[var(--color-primary,#E56A4A)]"}),(0,a.jsxs)("div",{className:"mt-1 flex justify-between text-[10px] text-text-subtle",children:[(0,a.jsx)("span",{children:"Precise"}),(0,a.jsx)("span",{children:"Creative"})]})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"mb-1.5 text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"System prompt"}),(0,a.jsx)("textarea",{value:ei,onChange:e=>eo(e.target.value),rows:4,placeholder:"Optional instructions for the model…",className:"w-full resize-y rounded-lg border border-border bg-bg px-2.5 py-2 text-[12.5px] leading-5 text-text-main outline-none placeholder:text-text-subtle focus:border-primary/40 custom-scrollbar"})]}),(0,a.jsx)("button",{type:"button",onClick:()=>{en(.7),eo("")},className:"text-[11px] font-medium text-text-muted hover:text-text-main",children:"Reset defaults"})]}):null]}),(0,a.jsxs)("div",{ref:eu,className:"relative min-w-0",children:[(0,a.jsxs)("button",{type:"button",onClick:()=>{Q(e=>{let t=!e;return t||Z(""),t})},disabled:r||0===e.length,"aria-label":`Choose model, currently ${eE}`,"aria-haspopup":"listbox","aria-expanded":G,"aria-controls":"playground-model-menu",className:"inline-flex h-11 max-w-[min(100vw-12rem,260px)] items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-left transition hover:border-primary/40 hover:bg-surface-2 disabled:opacity-50",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary shrink-0",children:"smart_toy"}),(0,a.jsx)("span",{className:"min-w-0 truncate text-[12.5px] font-semibold text-text-main",children:r?"Loading…":eE}),(0,a.jsx)("span",{className:"material-symbols-outlined shrink-0 text-[16px] text-text-muted",children:G?"expand_less":"expand_more"})]}),G?(0,a.jsxs)("div",{id:"playground-model-menu",role:"listbox","aria-label":"Models",className:"absolute bottom-[calc(100%+8px)] left-0 z-40 w-[min(420px,calc(100vw-2rem))] overflow-hidden rounded-xl border border-border bg-surface shadow-elevated",children:[(0,a.jsxs)("div",{className:"border-b border-border-subtle px-3 py-2.5 space-y-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wider text-text-subtle",children:"Models"}),(0,a.jsxs)("p",{className:"text-xs text-text-muted",children:[e.length," providers \xb7 search by name"]})]}),(0,a.jsxs)("div",{className:"relative",children:[(0,a.jsx)("span",{className:"material-symbols-outlined pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[16px] text-text-subtle",children:"search"}),(0,a.jsx)("input",{type:"search",value:V,onChange:e=>Z(e.target.value),placeholder:"Search models…",autoFocus:!0,className:"w-full rounded-lg border border-border bg-bg py-1.5 pl-8 pr-3 text-[16px] text-text-main outline-none placeholder:text-text-subtle focus:border-primary/40"})]})]}),(0,a.jsx)("div",{className:"max-h-[min(50vh,360px)] overflow-y-auto p-1.5 custom-scrollbar",children:0===eD.length?(0,a.jsxs)("p",{className:"px-3 py-6 text-center text-xs text-text-muted",children:["No models match “",V.trim(),"”"]}):eD.map(e=>(0,a.jsxs)("div",{className:"mb-1",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 py-1.5",children:[(0,a.jsx)("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-text-subtle",children:e.providerName}),(0,a.jsx)(i.Ex,{size:"sm",variant:"default",children:e.models.length})]}),(0,a.jsx)("div",{className:"space-y-0.5",children:e.models.map(e=>{let t=e.id===O;return(0,a.jsxs)("button",{type:"button",role:"option","aria-selected":t,onClick:()=>{(e=>{let t=ef.get(e);if(!t)return;let r=T.find(e=>e.id===E);if(r&&r.messages.length>0){let e=eI(t);if(!e)return;$(t=>[e,...t]),M(e.id)}else if(r)$(e=>e.map(e=>e.id===r.id?{...e,providerId:t.providerId,providerName:t.providerName,modelId:t.id,modelName:t.name}:e)),M(r.id);else{let e=eI(t);if(!e)return;$(t=>[e,...t]),M(e.id)}_(t.providerId),R(t.id),Q(!1)})(e.id),Z("")},className:`flex w-full items-center gap-2 rounded-lg px-2.5 py-2 text-left transition ${t?"bg-primary/10 text-primary":"text-text-muted hover:bg-surface-2 hover:text-text-main"}`,children:[(0,a.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,a.jsx)("span",{className:"block truncate text-[13px] font-medium",children:e.name}),(0,a.jsx)("span",{className:"block truncate text-[11px] opacity-60",children:e.requestModel})]}),t?(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"check"}):null]},e.id)})})]},e.providerId))})]}):null]})]}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[q?(0,a.jsxs)("button",{type:"button",onClick:()=>{ec.current?.abort()},className:"inline-flex h-11 items-center gap-1.5 rounded-full border border-border bg-surface px-3 text-[12px] font-semibold text-text-main transition hover:bg-surface-2",title:"Stop generating",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"stop_circle"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Stop"})]}):null,(0,a.jsxs)("button",{type:"button",onClick:e$,disabled:!ew,className:`inline-flex h-11 min-w-9 items-center justify-center gap-1.5 rounded-full px-3.5 text-[13px] font-semibold transition ${ew?"bg-primary text-white shadow-[0_2px_12px_rgba(229,106,74,0.45)] hover:bg-primary-hover active:scale-[0.97]":"bg-surface-3 text-text-subtle cursor-not-allowed opacity-70"}`,title:"Send message",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px] font-bold",children:"send"}),(0,a.jsx)("span",{className:"hidden sm:inline",children:"Send"})]})]})]})]}),(0,a.jsx)("p",{className:"mt-2 text-center text-[11px] text-text-subtle",children:"Routed through ZevaiRouter \xb7 Enter to send \xb7 Shift+Enter for new line"})]})})]}),X?(0,a.jsx)("button",{type:"button",className:"fixed inset-0 z-20 bg-black/40 lg:hidden","aria-label":"Close history",onClick:()=>ee(!1)}):null]})}l.xI.setOptions({gfm:!0,breaks:!0})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8593],{20975:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>p});var o=s(95155),r=s(12115),n=s(35497),i=s(52679);function a({id:e,icon:t,size:s=22}){let[n,i]=(0,r.useState)(!1);return n?(0,o.jsx)("span",{className:"material-symbols-outlined text-primary",style:{fontSize:s},children:t}):(0,o.jsx)("img",{src:`/providers/${e}.png`,alt:"",width:s,height:s,className:"rounded object-contain",style:{width:s,height:s},onError:()=>i(!0)})}function l(e){return`${e} connection${1===e?"":"s"}`}function d({isOpen:e,onClose:t,onSuccess:s}){let[n,i]=(0,r.useState)(""),[a,l]=(0,r.useState)(!1),[c,x]=(0,r.useState)(null),m=async()=>{if(n.trim()){l(!0),x(null);try{let e=await fetch("/api/oauth/codebuddy/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:n})}),t=await e.json();x(t),t.success&&s?.()}catch(e){x({error:e.message})}finally{l(!1)}}};if(!e)return null;let p=null;if(c?.success){let e=[`Imported ${c.imported}/${c.total} tokens.`];if(c.failed&&e.push(`${c.failed} failed.`),c.formatCounts){let{"access-only":t,"with-refresh":s,"with-api-key":o}=c.formatCounts,r=[];o&&r.push(`${o} with API key`),s&&r.push(`${s} with refresh token`),t&&r.push(`${t} access-only`),r.length&&e.push(`(${r.join(", ")})`)}p=e.join(" ")}return(0,o.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:t,children:(0,o.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,o.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"CodeBuddy OAuth Token Import"}),(0,o.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste CodeBuddy OAuth tokens, one per line. Supports three formats:"}),(0,o.jsxs)("div",{className:"mb-3 space-y-2 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,o.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken"}),(0,o.jsx)("span",{children:"— access token only (24h expiry)"})]})]}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,o.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken:refreshToken"}),(0,o.jsx)("span",{children:"— enables auto-refresh"})]})]}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[16px] text-primary leading-none",children:"check_circle"}),(0,o.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded leading-none",children:"accessToken:refreshToken:apiKey"}),(0,o.jsx)("span",{children:"— 365-day access"})]})]})]}),(0,o.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...:ak_abc123...",value:n,onChange:e=>i(e.target.value),disabled:a}),c&&(0,o.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(c.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:p||c.error||"Import failed"}),(0,o.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,o.jsx)("button",{type:"button",onClick:t,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,o.jsx)("button",{type:"button",onClick:m,disabled:a||!n.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:a?"Importing...":"Import Tokens"})]})]})})}function c({isOpen:e,onClose:t,onSuccess:s}){let[n,i]=(0,r.useState)(""),[a,l]=(0,r.useState)(!1),[d,x]=(0,r.useState)(null),m=async()=>{if(n.trim()){l(!0),x(null);try{let e=await fetch("/api/oauth/codebuddy-cn/bulk-token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({tokens:n})}),t=await e.json();x(t),t.success&&s?.()}catch(e){x({error:e.message})}finally{l(!1)}}};if(!e)return null;let p=null;if(d?.success){let e=[`Imported ${d.imported}/${d.total} tokens.`];d.failed&&e.push(`${d.failed} failed.`),p=e.join(" ")}return(0,o.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-black/50",onClick:t,children:(0,o.jsxs)("div",{className:"w-full max-w-lg rounded-xl border border-border bg-surface p-6 shadow-xl",onClick:e=>e.stopPropagation(),children:[(0,o.jsx)("h3",{className:"mb-4 text-lg font-semibold text-text-main",children:"CodeBuddy CN OAuth Token Import"}),(0,o.jsx)("p",{className:"mb-2 text-xs text-text-muted",children:"Paste CodeBuddy CN OAuth tokens, one per line. Supports:"}),(0,o.jsxs)("div",{className:"mb-3 space-y-1 rounded-lg bg-background/50 p-3 text-xs text-text-muted",children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken"})," — access token only"]}),(0,o.jsxs)("div",{children:[(0,o.jsx)("code",{className:"text-[10px] bg-border/50 px-1.5 py-0.5 rounded",children:"accessToken:refreshToken"})," — enables auto-refresh"]})]}),(0,o.jsx)("textarea",{className:"mb-3 w-full rounded-lg border border-border bg-background p-3 font-mono text-xs text-text-main placeholder:text-text-muted focus:border-primary focus:outline-none",rows:8,placeholder:"eyJhbGciOiJSUzI1NiIs...\neyJhbGciOiJSUzI1NiIs...:eyJhbGciOiJSUzI1NiIs...",value:n,onChange:e=>i(e.target.value),disabled:a}),d&&(0,o.jsx)("div",{className:"mb-3 rounded-lg p-3 text-xs "+(d.success?"bg-green-500/10 text-green-400":"bg-red-500/10 text-red-400"),children:p||d.error||"Import failed"}),(0,o.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,o.jsx)("button",{type:"button",onClick:t,className:"rounded-lg px-4 py-2 text-sm text-text-muted hover:bg-border/50",children:"Close"}),(0,o.jsx)("button",{type:"button",onClick:m,disabled:a||!n.trim(),className:"rounded-lg bg-primary px-4 py-2 text-sm font-medium text-white hover:bg-primary/90 disabled:opacity-50",children:a?"Importing...":"Import Tokens"})]})]})})}let x={"single-token":"Token import","bulk-token":"Bulk token import","bulk-account":"Bulk accounts","device-oauth":"Device login",social:"Social login",oauth:"OAuth login"},m=[{id:"kiro",label:"Kiro AI",icon:"psychology_alt",description:"Token import, bulk import, and social login automation.",supportedModes:["single-token","bulk-token","bulk-account","social"],component:function({providerInfo:e,onRefresh:t}){let[s,i]=(0,r.useState)(!1),[a,l]=(0,r.useState)(null),[d,c]=(0,r.useState)(null),x=e=>{c({...e,key:Date.now()}),i(!0)};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[{id:"bulk-account",title:"Auto Login Bulk",icon:"group_add",description:"Run bulk gmail|password automation with worker progress and manual assist.",action:()=>x({method:"import",importMode:"bulk-account"})},{id:"bulk-token",title:"Bulk Token",icon:"playlist_add",description:"Import many Kiro refresh tokens, one token per line.",action:()=>x({method:"import",importMode:"bulk-token"})},{id:"single-token",title:"Single Token",icon:"vpn_key",description:"Auto-detect or paste one Kiro refresh token.",action:()=>x({method:"import",importMode:"single-token"})},{id:"builder-id",title:"AWS Builder ID",icon:"shield",description:"Open the standard AWS Builder ID device login.",action:()=>x({method:"builder-id"})},{id:"idc",title:"AWS IDC",icon:"business",description:"Enter an IAM Identity Center start URL and region.",action:()=>x({method:"idc"})},{id:"google",title:"Google Login",icon:"account_circle",description:"Open Kiro social Google login with callback capture.",action:()=>x({method:"social",provider:"google"})}].map(e=>(0,o.jsxs)("button",{type:"button",onClick:e.action,className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:e.icon}),e.title]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:e.description})]},e.id))}),(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[a?.jobId&&(0,o.jsxs)(n.Ex,{variant:"default",children:["Bulk job: ",a.status]}),a?.jobId&&(0,o.jsx)(n.$n,{size:"sm",variant:"secondary",icon:"monitoring",onClick:()=>x({method:"import",importMode:"bulk-account"}),children:"Resume Bulk Progress"})]}),(0,o.jsx)(n.Mh,{isOpen:s,providerInfo:e,onSuccess:t,onRefresh:t,initialBulkJobId:a?.jobId||null,initialFlow:d,onBulkJobChange:l,onClose:()=>i(!1)})]})}},{id:"codebuddy",label:"CodeBuddy",icon:"smart_toy",description:"Bulk GSuite automation and browser OAuth polling login.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:e,onRefresh:t}){let[s,i]=(0,r.useState)(!1),[a,l]=(0,r.useState)(!1),[c,x]=(0,r.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login + Generate Key"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk GSuite gmail|password login, create a CodeBuddy Access Key, and save it for model calls."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>x(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"OAuth Token Import"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste OAuth tokens with optional refresh tokens and API keys for extended access."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open CodeBuddy browser login and poll until the OAuth token is saved."})]})]}),(0,o.jsx)(d,{isOpen:c,onClose:()=>x(!1),onSuccess:t}),(0,o.jsx)(n.Go,{isOpen:a,provider:"codebuddy",title:"CodeBuddy Bulk GSuite Login + Access Key",serviceName:"CodeBuddy",onSuccess:t,onClose:()=>l(!1)}),(0,o.jsx)(n.LF,{isOpen:s,provider:"codebuddy",providerInfo:e,onSuccess:()=>{t?.(),i(!1)},onClose:()=>i(!1)})]})}},{id:"codebuddy-cn",label:"CodeBuddy CN",icon:"smart_toy",description:"Phone-number auto-registration via 5sim SMS, token import, and device OAuth.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:e,onRefresh:t}){let[s,i]=(0,r.useState)(!1),[a,l]=(0,r.useState)(!1),[d,x]=(0,r.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"smartphone"}),"Auto Register (Phone)"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Bulk auto-register CodeBuddy CN accounts using 5sim virtual phone numbers (HK/China). Includes device-code token capture."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"playlist_add"}),"OAuth Token Import"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Paste pre-obtained CodeBuddy CN OAuth tokens with optional refresh tokens."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>x(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open CodeBuddy CN browser login and poll until the OAuth token is saved."})]})]}),(0,o.jsx)(n.zE,{isOpen:s,onClose:()=>i(!1),onSuccess:t}),(0,o.jsx)(c,{isOpen:a,onClose:()=>l(!1),onSuccess:t}),(0,o.jsx)(n.LF,{isOpen:d,provider:"codebuddy-cn",providerInfo:e,onSuccess:()=>{t?.(),x(!1)},onClose:()=>x(!1)})]})}},{id:"qoder",label:"Qoder",icon:"code",description:"Bulk GSuite auto login via Google SSO and device flow.",supportedModes:["bulk-account","device-oauth"],component:function({providerInfo:e,onRefresh:t}){let[s,i]=(0,r.useState)(!1),[a,l]=(0,r.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google SSO with Qoder device flow."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"Device OAuth Login"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open Qoder device login in browser and poll until the token is saved."})]})]}),(0,o.jsx)(n.Go,{isOpen:s,provider:"qoder",title:"Qoder Bulk GSuite Auto Login",serviceName:"Qoder",onSuccess:t,onClose:()=>i(!1)}),(0,o.jsx)(n.LF,{isOpen:a,provider:"qoder",providerInfo:e,onSuccess:()=>{t?.(),l(!1)},onClose:()=>l(!1)})]})}},{id:"antigravity",label:"Antigravity",icon:"rocket_launch",description:"Bulk GSuite auto login via Google OAuth (authorization code).",supportedModes:["bulk-account","oauth"],component:function({providerInfo:e,onRefresh:t}){let[s,i]=(0,r.useState)(!1),[a,l]=(0,r.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>i(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"group_add"}),"Auto Login Bulk"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Run bulk gmail:password or gmail|password automation via Google OAuth (authorization code) for Antigravity."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>l(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"login"}),"OAuth Login"]}),(0,o.jsx)("span",{className:"text-xs leading-relaxed text-text-muted",children:"Open Antigravity Google OAuth in browser and finish the consent manually."})]})]}),(0,o.jsx)(n.Go,{isOpen:s,provider:"antigravity",title:"Antigravity Bulk GSuite Auto Login",serviceName:"Antigravity",onSuccess:t,onClose:()=>i(!1)}),(0,o.jsx)(n.LF,{isOpen:a,provider:"antigravity",providerInfo:e,onSuccess:()=>{t?.(),l(!1)},onClose:()=>l(!1)})]})}},{id:"cloudflare-ai",label:"Cloudflare Workers AI",icon:"cloud",description:"Bulk Google login → Workers AI API token harvest for free-tier CF AI.",supportedModes:["bulk-account"],component:function({onRefresh:e}){let[t,s]=(0,r.useState)(!1);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3",children:(0,o.jsxs)("button",{type:"button",onClick:()=>s(!0),className:"flex min-h-[112px] min-w-0 flex-col gap-2 rounded-lg border border-border bg-surface px-4 py-3 text-left transition-colors hover:border-primary/40 hover:bg-primary/5",children:[(0,o.jsxs)("span",{className:"flex items-center gap-2 text-sm font-semibold text-text-main",children:[(0,o.jsx)("span",{className:"material-symbols-outlined text-[20px] text-primary",children:"cloud"}),"Bulk Workers AI Tokens"]}),(0,o.jsxs)("span",{className:"text-xs leading-relaxed text-text-muted",children:["Google login to Cloudflare dashboard → create Workers AI API token → save as"," ",(0,o.jsx)("code",{className:"text-[11px]",children:"cloudflare-ai"})," (accountId + token). Paste"," ",(0,o.jsx)("code",{className:"text-[11px]",children:"email:password"})," or ",(0,o.jsx)("code",{className:"text-[11px]",children:"email|password"}),". Residential proxy recommended."]})]})}),(0,o.jsx)(n.Go,{isOpen:t,provider:"cloudflare-ai",title:"Cloudflare Workers AI Bulk Token Harvest",serviceName:"Cloudflare Workers AI",accountsPlaceholder:"user@gmail.com:password\nuser2@gmail.com|password",onSuccess:e,onClose:()=>s(!1)})]})}}];function p(){let[e,t]=(0,r.useState)([]),[s,d]=(0,r.useState)(!0),[c,p]=(0,r.useState)(m[0].id),u=(0,r.useCallback)(async()=>{try{let e=await fetch("/api/providers",{cache:"no-store"}),s=await e.json();e.ok&&t(s.connections||[])}catch(e){console.log("Error fetching automation connections:",e)}finally{d(!1)}},[]);(0,r.useEffect)(()=>{u()},[u]),(0,r.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("provider");m.some(t=>t.id===e)&&p(e)},[]);let h=m.find(e=>e.id===c)||m[0],b=i.IS[h.id]||{id:h.id,name:h.label},g=h.component,f=(0,r.useMemo)(()=>{let t={};for(let s of m)t[s.id]=e.filter(e=>e.provider===s.id).length;return t},[e]);return s?(0,o.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,o.jsx)(n.Qv,{}),(0,o.jsx)(n.Qv,{})]}):(0,o.jsxs)("div",{className:"flex min-w-0 flex-col gap-6 px-1 sm:px-0",children:[(0,o.jsx)("div",{className:"flex flex-col gap-1",children:(0,o.jsx)("h1",{className:"text-2xl font-semibold",children:"Automation"})}),(0,o.jsx)("div",{className:"grid gap-3 sm:grid-cols-2",children:m.map(e=>{let t=e.id===c;return(0,o.jsxs)("button",{type:"button",onClick:()=>p(e.id),className:`flex min-w-0 items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors ${t?"border-primary/50 bg-primary/10 text-primary":"border-border bg-surface text-text-main hover:border-primary/30 hover:bg-primary/5"}`,children:[(0,o.jsx)(a,{id:e.id,icon:e.icon,size:22}),(0,o.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,o.jsx)("span",{className:"block truncate text-sm font-semibold",children:e.label}),(0,o.jsx)("span",{className:"mt-0.5 block text-xs text-text-muted",children:l(f[e.id]||0)})]})]},e.id)})}),(0,o.jsx)(n.Zp,{children:(0,o.jsxs)("div",{className:"flex min-w-0 flex-col gap-4",children:[(0,o.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between",children:[(0,o.jsxs)("div",{className:"min-w-0",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)(a,{id:h.id,icon:h.icon,size:22}),(0,o.jsx)("h2",{className:"text-lg font-semibold",children:h.label})]}),(0,o.jsx)("span",{className:"mt-1 block text-xs leading-relaxed text-text-muted",children:h.description}),(0,o.jsx)("div",{className:"mt-2 flex flex-wrap gap-1.5",children:h.supportedModes.map(e=>(0,o.jsx)(n.Ex,{variant:"default",size:"sm",children:x[e]},e))})]}),(0,o.jsx)(n.Ex,{variant:"success",children:l(f[h.id]||0)})]}),(0,o.jsx)(g,{providerInfo:b,onRefresh:u})]})})]})}},98944:(e,t,s)=>{Promise.resolve().then(s.bind(s,20975))}},e=>{e.O(0,[2574,3862,4343,85,5497,8441,3794,7358],()=>e(e.s=98944)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4465],{},_=>{_.O(0,[2574,3862,4343,1992,85,5497,9126,8441,3794,7358],()=>_(_.s=19126)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3554],{7905:(e,t,a)=>{Promise.resolve().then(a.bind(a,85309))},85309:(e,t,a)=>{"use strict";a.d(t,{default:()=>x});var s=a(95155),l=a(12115),r=a(98500),i=a.n(r),o=a(35497),n=a(3534),c=a(28777),d=a(43666);let u=a(41463).env.NEXT_PUBLIC_CLOUD_URL;function x({toolId:e,machineId:t}){let a=n.dM[e],[r,v]=(0,l.useState)([]),[m,h]=(0,l.useState)(!0),[p,b]=(0,l.useState)({}),[f,j]=(0,l.useState)(!1),[E,P]=(0,l.useState)(!1),[w,k]=(0,l.useState)(""),[g,N]=(0,l.useState)(!1),[_,y]=(0,l.useState)(""),[S,A]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!0;return(async()=>{try{let[t,a,s,l]=await Promise.all([fetch("/api/providers"),fetch("/api/settings"),fetch("/api/tunnel/status"),fetch("/api/keys")]);if(!e)return;if(t.ok){let e=await t.json();v(e.connections||[])}if(a.ok){let e=await a.json();j(e.cloudEnabled||!1)}if(s.ok){let e=await s.json();P(!!(e.tunnel?.enabled||e.tunnel?.settingsEnabled)),k(e.tunnel?.publicUrl||""),N(!!(e.tailscale?.enabled||e.tailscale?.settingsEnabled)),y(e.tailscale?.tunnelUrl||"")}if(l.ok){let e=await l.json();A(e.keys||[])}}catch(e){console.log("Error loading tool data:",e)}finally{e&&h(!1)}})(),()=>{e=!1}},[]);let C=()=>r.filter(e=>!1!==e.isActive),U=(0,l.useCallback)((e,t,a)=>{b(s=>s[e]?.[t]===a?s:{...s,[e]:{...s[e],[t]:a}})},[]);return a?(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-4 px-1 sm:px-0",children:[(0,s.jsxs)(i(),{href:"/dashboard/cli-tools",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary w-fit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"arrow_back"}),"Back to CLI Tools"]}),(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("h1",{className:"text-xl font-semibold text-text-main sm:text-2xl",children:a.name}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:a.description})]}),m?(0,s.jsx)(o.Qv,{}):(()=>{let t,l,r,i=(t=C(),l=[],r=new Set,t.forEach(e=>{let t=c.Xg[e.provider]||e.provider;(0,c.KC)(e.provider).forEach(a=>{let s=`${t}/${a.id}`;r.has(s)||(r.add(s),l.push({value:s,label:`${t}/${a.id}`,provider:e.provider,alias:t,connectionName:e.name,modelId:a.id}))})}),l).length>0,o={tool:a,isExpanded:!0,onToggle:()=>{},baseUrl:E&&w?w:f&&u?u:window.location.origin,apiKeys:S,tunnelEnabled:E,tunnelPublicUrl:w,tailscaleEnabled:g,tailscaleUrl:_};switch(e){case"claude":return(0,s.jsx)(d.Tk,{...o,activeProviders:C(),modelMappings:p[e]||{},onModelMappingChange:(t,a)=>U(e,t,a),hasActiveProviders:i,cloudEnabled:f});case"codex":return(0,s.jsx)(d.Ah,{...o,activeProviders:C(),cloudEnabled:f});case"opencode":return(0,s.jsx)(d.qO,{...o,activeProviders:C(),cloudEnabled:f});case"cowork":return(0,s.jsx)(d.Q6,{...o,activeProviders:C(),hasActiveProviders:i,cloudEnabled:f,cloudUrl:u,tunnelEnabled:E,tunnelPublicUrl:w,tailscaleEnabled:g,tailscaleUrl:_});case"droid":return(0,s.jsx)(d.ZM,{...o,activeProviders:C(),hasActiveProviders:i,cloudEnabled:f});case"openclaw":return(0,s.jsx)(d.yZ,{...o,activeProviders:C(),hasActiveProviders:i,cloudEnabled:f});case"hermes":return(0,s.jsx)(d.RF,{...o,activeProviders:C(),hasActiveProviders:i,cloudEnabled:f});case"copilot":return(0,s.jsx)(d.h1,{...o,activeProviders:C(),cloudEnabled:f});case"cline":return(0,s.jsx)(d.aG,{...o,activeProviders:C(),cloudEnabled:f});case"kilo":return(0,s.jsx)(d.c9,{...o,activeProviders:C(),cloudEnabled:f});case"deepseek-tui":return(0,s.jsx)(d.lF,{...o,activeProviders:C(),hasActiveProviders:i,cloudEnabled:f});case"jcode":return(0,s.jsx)(d.mW,{...o,activeProviders:C(),hasActiveProviders:i,cloudEnabled:f});default:return(0,s.jsx)(d.a7,{toolId:e,...o,activeProviders:C(),cloudEnabled:f,tunnelEnabled:E})}})()]}):(0,s.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-4 px-1 sm:px-0",children:[(0,s.jsxs)(i(),{href:"/dashboard/cli-tools",className:"inline-flex items-center gap-1 text-sm text-text-muted hover:text-primary w-fit",children:[(0,s.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"arrow_back"}),"Back to CLI Tools"]}),(0,s.jsx)("p",{className:"text-sm text-text-muted",children:"Tool not found or disabled."})]})}}},e=>{e.O(0,[2574,3862,4343,85,5497,6069,8441,3794,7358],()=>e(e.s=7905)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2326],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2326],{53501:(e,s,l)=>{"use strict";l.d(s,{default:()=>m});var t=l(95155),a=l(12115),r=l(35497),i=l(3534),n=l(43666),o=l(98500),c=l.n(o),d=l(5772);function x({toolId:e,tool:s,status:l}){let a=l?.error?{label:"Unavailable",cls:"bg-red-500/10 text-red-600 dark:text-red-400"}:l?l.installed?l.hasZevai?{label:"Connected",cls:"bg-green-500/10 text-green-600 dark:text-green-400"}:{label:"Not configured",cls:"bg-yellow-500/10 text-yellow-600 dark:text-yellow-400"}:{label:"Not installed",cls:"bg-gray-500/10 text-gray-500"}:{label:"Unknown",cls:"bg-gray-500/10 text-gray-500"};return(0,t.jsx)(c(),{href:`/dashboard/cli-tools/${e}`,className:"block",children:(0,t.jsx)(r.Zp,{padding:"sm",className:"h-full overflow-hidden hover:border-primary/50 transition-colors cursor-pointer",children:(0,t.jsx)("div",{className:"flex h-full flex-col gap-2",children:(0,t.jsxs)("div",{className:"flex items-center gap-3",children:[(0,t.jsx)("div",{className:"size-8 flex items-center justify-center shrink-0",children:s.image?(0,t.jsx)(d.default,{src:s.image,alt:s.name,width:32,height:32,className:"size-8 object-contain rounded-lg",sizes:"32px",onError:e=>{e.target.style.display="none"}}):s.icon?(0,t.jsx)("span",{className:"material-symbols-outlined text-[28px]",style:{color:s.color},children:s.icon}):null}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"font-medium text-sm truncate",children:s.name}),(0,t.jsx)("span",{className:`inline-block mt-1 px-1.5 py-0.5 text-[10px] font-medium rounded-full ${a.cls}`,children:a.label})]}),(0,t.jsx)("span",{className:"material-symbols-outlined text-text-muted text-[18px] shrink-0",children:"chevron_right"})]})})})})}function m({machineId:e}){let[s,l]=(0,a.useState)(!0),[o,c]=(0,a.useState)({}),d=(0,a.useCallback)(async e=>{try{let s=await fetch("/api/cli-tools/all-statuses",{signal:e});s.ok&&c(await s.json())}catch(e){"AbortError"!==e.name&&console.log("Error fetching tool statuses:",e)}finally{e.aborted||l(!1)}},[]);if((0,a.useEffect)(()=>{let e=new AbortController;d(e.signal);let s=()=>{e.abort(),d((e=new AbortController).signal)};return window.addEventListener("focus",s),()=>{e.abort(),window.removeEventListener("focus",s)}},[d]),s)return(0,t.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:[(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{}),(0,t.jsx)(r.Qv,{})]});let g=Object.entries(i.dM),h=Object.entries(i.wn);return(0,t.jsxs)("div",{className:"mx-auto flex w-full max-w-5xl flex-col gap-6 px-1 sm:px-0",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:g.map(([e,s])=>(0,t.jsx)(x,{toolId:e,tool:s,status:o[e]},e))}),(0,t.jsxs)("div",{className:"flex flex-col gap-3 sm:gap-4",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1",children:[(0,t.jsx)("span",{className:"material-symbols-outlined text-[18px] text-primary",children:"security"}),(0,t.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"MITM Tools"})]}),(0,t.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3 sm:gap-4",children:h.map(([e,s])=>(0,t.jsx)(n.gY,{tool:s},e))})]})]})}},89734:(e,s,l)=>{Promise.resolve().then(l.bind(l,53501))}},e=>{e.O(0,[2574,3862,4343,85,5497,6069,8441,3794,7358],()=>e(e.s=89734)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3649],{24636:(e,t,s)=>{Promise.resolve().then(s.bind(s,47295))},47295:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>x});var a=s(95155),l=s(12115),r=s(44923),o=s(87256),i=s(39768),n=s(5020),c=s(35497),d=s(11059);s(52679);let m=/^[a-zA-Z0-9_.\-]+$/;function x(){let[e,t]=(0,l.useState)([]),[s,r]=(0,l.useState)(!0),[o,i]=(0,l.useState)(!1),[n,m]=(0,l.useState)(null),[x,u]=(0,l.useState)([]),[b,g]=(0,l.useState)({}),[f,j]=(0,l.useState)(null),[y,v]=(0,l.useState)(1),[w,N]=(0,l.useState)(20),{copied:k,copy:C}=(0,d.C)();(0,l.useEffect)(()=>{S()},[]);let S=async()=>{try{let[e,s,a]=await Promise.all([fetch("/api/combos"),fetch("/api/providers"),fetch("/api/settings")]),l=await e.json(),r=await s.json(),o=a.ok?await a.json():{};e.ok&&t((l.combos||[]).filter(e=>!e.kind)),s.ok&&u(r.connections||[]),g(o.comboStrategies||{})}catch(e){console.log("Error fetching data:",e)}finally{r(!1)}},E=async e=>{try{let t=await fetch("/api/combos",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(t.ok)await S(),i(!1);else{let e=await t.json();alert(e.error||"Failed to create combo")}}catch(e){console.log("Error creating combo:",e)}},M=async(e,t)=>{try{let s=await fetch(`/api/combos/${e}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(s.ok)await S(),m(null);else{let e=await s.json();alert(e.error||"Failed to update combo")}}catch(e){console.log("Error updating combo:",e)}},O=async s=>{j({title:"Delete Combo",message:"Delete this combo?",onConfirm:async()=>{j(null);try{(await fetch(`/api/combos/${s}`,{method:"DELETE"})).ok&&t(e.filter(e=>e.id!==s))}catch(e){console.log("Error deleting combo:",e)}}})},$=async(e,t)=>{try{let s={...b};t?s[e]={fallbackStrategy:"round-robin"}:delete s[e],await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({comboStrategies:s})}),g(s)}catch(e){console.log("Error updating combo strategy:",e)}};(0,l.useEffect)(()=>{v(t=>Math.min(t,Math.max(1,Math.ceil(e.length/w))))},[e.length,w]);let _=Math.min(y,Math.max(1,Math.ceil(e.length/w))),D=e.slice((_-1)*w,_*w);return s?(0,a.jsxs)("div",{className:"flex flex-col gap-6",children:[(0,a.jsx)(c.Qv,{}),(0,a.jsx)(c.Qv,{})]}):(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-6 px-1 sm:px-0",children:[(0,a.jsxs)("div",{className:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h1",{className:"text-2xl font-semibold",children:"Combos"}),(0,a.jsx)("p",{className:"text-sm text-text-muted mt-1",children:"Create model combos with fallback support"})]}),(0,a.jsx)(c.$n,{icon:"add",onClick:()=>i(!0),className:"w-full sm:w-auto",children:"Create Combo"})]}),0===e.length?(0,a.jsx)(c.Zp,{children:(0,a.jsxs)("div",{className:"text-center py-12",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-primary/10 text-primary mb-4",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[32px]",children:"layers"})}),(0,a.jsx)("p",{className:"text-text-main font-medium mb-1",children:"No combos yet"}),(0,a.jsx)("p",{className:"text-sm text-text-muted mb-4",children:"Create model combos with fallback support"}),(0,a.jsx)(c.$n,{icon:"add",onClick:()=>i(!0),className:"w-full sm:w-auto",children:"Create Combo"})]})}):(0,a.jsxs)("div",{className:"flex flex-col gap-4",children:[D.map(e=>(0,a.jsx)(h,{combo:e,copied:k,onCopy:C,onEdit:()=>m(e),onDelete:()=>O(e.id),roundRobinEnabled:b[e.name]?.fallbackStrategy==="round-robin",onToggleRoundRobin:t=>$(e.name,t)},e.id)),(0,a.jsx)(c.dK,{currentPage:_,pageSize:w,totalItems:e.length,onPageChange:v,onPageSizeChange:e=>{N(e),v(1)}})]}),(0,a.jsx)(p,{isOpen:o,onClose:()=>i(!1),onSave:E,activeProviders:x},"create"),(0,a.jsx)(p,{isOpen:!!n,combo:n,onClose:()=>m(null),onSave:e=>M(n.id,e),activeProviders:x},n?.id||"new"),(0,a.jsx)(c.uo,{isOpen:!!f,onClose:()=>j(null),onConfirm:f?.onConfirm,title:f?.title||"Confirm",message:f?.message,variant:"danger"})]})}function h({combo:e,copied:t,onCopy:s,onEdit:l,onDelete:r,roundRobinEnabled:o,onToggleRoundRobin:i}){return(0,a.jsx)(c.Zp,{padding:"sm",className:"group",children:(0,a.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",children:[(0,a.jsxs)("div",{className:"flex min-w-0 flex-1 items-start gap-3 sm:items-center",children:[(0,a.jsx)("div",{className:"size-8 rounded-lg bg-primary/10 flex items-center justify-center shrink-0",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-primary text-[18px]",children:"layers"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsx)("code",{className:"block truncate font-mono text-sm font-medium",children:e.name}),(0,a.jsxs)("div",{className:"mt-1 flex min-w-0 flex-wrap items-center gap-1",children:[0===e.models.length?(0,a.jsx)("span",{className:"text-xs text-text-muted italic",children:"No models"}):e.models.slice(0,3).map((e,t)=>(0,a.jsx)("code",{className:"max-w-full truncate rounded bg-black/5 px-1.5 py-0.5 font-mono text-[10px] text-text-muted dark:bg-white/5 sm:max-w-[220px]",children:e},t)),e.models.length>3&&(0,a.jsxs)("span",{className:"text-[10px] text-text-muted",children:["+",e.models.length-3," more"]})]})]})]}),(0,a.jsxs)("div",{className:"flex w-full flex-col gap-2 sm:w-auto sm:flex-row sm:items-center sm:gap-3 sm:shrink-0",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between gap-1.5 rounded-lg bg-black/[0.02] px-2 py-1.5 dark:bg-white/[0.02] sm:justify-start sm:bg-transparent sm:px-0 sm:py-0 sm:dark:bg-transparent",children:[(0,a.jsx)("span",{className:"text-xs text-text-muted font-medium",children:"Round Robin"}),(0,a.jsx)(c.lM,{size:"sm",checked:o,onChange:i})]}),(0,a.jsxs)("div",{className:"grid grid-cols-3 gap-1 sm:flex",children:[(0,a.jsxs)("button",{onClick:t=>{t.stopPropagation(),s(e.name,`combo-${e.id}`)},className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Copy combo name",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:t===`combo-${e.id}`?"check":"content_copy"}),(0,a.jsx)("span",{className:"text-[10px] leading-tight",children:"Copy"})]}),(0,a.jsxs)("button",{onClick:l,className:"flex flex-col items-center rounded px-2 py-1 text-text-muted transition-colors hover:bg-black/5 hover:text-primary dark:hover:bg-white/5",title:"Edit",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"}),(0,a.jsx)("span",{className:"text-[10px] leading-tight",children:"Edit"})]}),(0,a.jsxs)("button",{onClick:r,className:"flex flex-col items-center rounded px-2 py-1 text-red-500 transition-colors hover:bg-red-500/10",title:"Delete",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"}),(0,a.jsx)("span",{className:"text-[10px] leading-tight",children:"Delete"})]})]})]})]})})}function u({id:e,index:t,model:s,isFirst:r,isLast:n,onEdit:c,onMoveUp:d,onMoveDown:m,onRemove:x}){let{attributes:h,listeners:p,setNodeRef:b,transform:g,isDragging:f}=(0,o.gl)({id:e}),j={transform:i.Ks.Transform.toString(g),opacity:f?.4:1,zIndex:f?999:void 0},[y,v]=(0,l.useState)(!1),[w,N]=(0,l.useState)(s),k=()=>{let e=w.trim();e&&e!==s?c(e):N(s),v(!1)};return(0,a.jsxs)("div",{ref:b,style:j,className:`group flex min-w-0 items-center gap-1.5 rounded-md px-2 py-1 bg-black/[0.02] hover:bg-black/[0.04] dark:bg-white/[0.02] dark:hover:bg-white/[0.04] transition-colors ${f?"shadow-md ring-1 ring-primary/30":""}`,children:[(0,a.jsx)("button",{...h,...p,type:"button",className:"cursor-grab touch-none p-0.5 rounded text-text-muted hover:text-primary active:cursor-grabbing shrink-0",title:"Drag to reorder",children:(0,a.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,a.jsx)("circle",{cx:"9",cy:"4",r:"2"}),(0,a.jsx)("circle",{cx:"15",cy:"4",r:"2"}),(0,a.jsx)("circle",{cx:"9",cy:"12",r:"2"}),(0,a.jsx)("circle",{cx:"15",cy:"12",r:"2"}),(0,a.jsx)("circle",{cx:"9",cy:"20",r:"2"}),(0,a.jsx)("circle",{cx:"15",cy:"20",r:"2"})]})}),(0,a.jsx)("span",{className:"text-[10px] font-medium text-text-muted w-3 text-center shrink-0",children:t+1}),y?(0,a.jsx)("input",{autoFocus:!0,value:w,onChange:e=>N(e.target.value),onBlur:k,onKeyDown:e=>{"Enter"===e.key&&k(),"Escape"===e.key&&(N(s),v(!1))},className:"min-w-0 flex-1 rounded border border-primary/40 bg-white px-1.5 py-0.5 font-mono text-xs text-text-main outline-none dark:bg-black/20"}):(0,a.jsx)("div",{className:"min-w-0 flex-1 cursor-text truncate rounded px-1.5 py-0.5 font-mono text-xs text-text-main hover:bg-black/5 dark:hover:bg-white/5",onClick:()=>v(!0),title:"Click to edit",children:s}),(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-0.5",children:[(0,a.jsx)("button",{onClick:d,disabled:r,className:`p-0.5 rounded ${r?"text-text-muted/20 cursor-not-allowed":"text-text-muted hover:text-primary hover:bg-black/5 dark:hover:bg-white/5"}`,title:"Move up",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"arrow_upward"})}),(0,a.jsx)("button",{onClick:m,disabled:n,className:`p-0.5 rounded ${n?"text-text-muted/20 cursor-not-allowed":"text-text-muted hover:text-primary hover:bg-black/5 dark:hover:bg-white/5"}`,title:"Move down",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"arrow_downward"})})]}),(0,a.jsx)("button",{onClick:x,className:"p-0.5 hover:bg-red-500/10 rounded text-text-muted hover:text-red-500 transition-all",title:"Remove",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[12px]",children:"close"})})]})}function p({isOpen:e,combo:t,onClose:s,onSave:i,activeProviders:d,kindFilter:x=null}){let[h,b]=(0,l.useState)(t?.name||""),[g,f]=(0,l.useState)(t?.models||[]),[j,y]=(0,l.useState)(!1),[v,w]=(0,l.useState)(!1),[N,k]=(0,l.useState)(""),[C,S]=(0,l.useState)({}),E=(0,r.FR)((0,r.MS)(r.AN,{activationConstraint:{distance:5}}),(0,r.MS)(r.uN,{coordinateGetter:o.JR})),M=g.map((e,t)=>({uid:`item-${t}`,model:e})),O=async()=>{try{let e=await fetch("/api/models/alias");if(!e.ok)return;let t=await e.json();S(t.aliases||{})}catch(e){console.error("Error fetching modal data:",e)}};(0,l.useEffect)(()=>{e&&O()},[e]);let $=e=>e.trim()?m.test(e)?(k(""),!0):(k("Only letters, numbers, -, _ and . allowed"),!1):(k("Name is required"),!1),_=async()=>{$(h)&&(w(!0),await i({name:h.trim(),models:g}),w(!1))},D=!!t;return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.aF,{isOpen:e,onClose:s,title:D?"Edit Combo":"Create Combo",children:(0,a.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)(c.pd,{label:"Combo Name",value:h,onChange:e=>{let t=e.target.value;b(t),t?$(t):k("")},placeholder:"my-combo",error:N}),(0,a.jsx)("p",{className:"text-[10px] text-text-muted mt-0.5",children:"Only letters, numbers, -, _ and . allowed"})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium mb-1.5 block",children:"Models"}),0===g.length?(0,a.jsxs)("div",{className:"text-center py-4 border border-dashed border-black/10 dark:border-white/10 rounded-lg bg-black/[0.01] dark:bg-white/[0.01]",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-text-muted text-xl mb-1",children:"layers"}),(0,a.jsx)("p",{className:"text-xs text-text-muted",children:"No models added yet"})]}):(0,a.jsx)(r.Mp,{sensors:E,collisionDetection:r.fp,onDragEnd:e=>{let{active:t,over:s}=e;if(s&&t.id!==s.id){let e=M.findIndex(e=>e.uid===t.id),a=M.findIndex(e=>e.uid===s.id);-1!==e&&-1!==a&&f(t=>(0,o.be)(t,e,a))}},modifiers:[n.FN,n.gj],children:(0,a.jsx)(o.gB,{items:M.map(e=>e.uid),strategy:o._G,children:(0,a.jsx)("div",{className:"flex max-h-[55vh] min-w-0 flex-col gap-1 overflow-y-auto sm:max-h-[350px]",children:M.map(({uid:e,model:t},s)=>(0,a.jsx)(u,{id:e,index:s,model:t,isFirst:0===s,isLast:s===M.length-1,onEdit:e=>{let t=[...g];t[s]=e,f(t)},onMoveUp:()=>(e=>{if(0===e)return;let t=[...g];[t[e-1],t[e]]=[t[e],t[e-1]],f(t)})(s),onMoveDown:()=>(e=>{if(e===g.length-1)return;let t=[...g];[t[e],t[e+1]]=[t[e+1],t[e]],f(t)})(s),onRemove:()=>{f(g.filter((e,t)=>t!==s))}},e))})})}),(0,a.jsxs)("button",{onClick:()=>y(!0),className:"w-full mt-2 py-2 border border-dashed border-black/10 dark:border-white/10 rounded-lg text-xs text-primary font-medium hover:text-primary hover:border-primary/50 transition-colors flex items-center justify-center gap-1",children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px]",children:"add"}),"Add Model"]})]}),(0,a.jsxs)("div",{className:"flex flex-col gap-2 pt-1 sm:flex-row",children:[(0,a.jsx)(c.$n,{onClick:s,variant:"ghost",fullWidth:!0,size:"sm",children:"Cancel"}),(0,a.jsx)(c.$n,{onClick:_,fullWidth:!0,size:"sm",disabled:!h.trim()||!!N||v,children:v?"Saving...":D?"Save":"Create"})]})]})}),(0,a.jsx)(c.rq,{isOpen:j,onClose:()=>y(!1),onSelect:e=>{g.includes(e.value)||f([...g,e.value])},onDeselect:e=>{f(g.filter(t=>t!==e.value))},activeProviders:d,modelAliases:C,title:"Add Model to Combo",kindFilter:x,addedModelValues:g,closeOnSelect:!1})]})}}},e=>{e.O(0,[2574,3862,4343,7055,85,5497,8441,3794,7358],()=>e(e.s=24636)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[712],{7827:(e,t,l)=>{Promise.resolve().then(l.bind(l,44493))},44493:(e,t,l)=>{"use strict";l.d(t,{default:()=>o});var n=l(95155),s=l(12115),r=l(35497),a=l(90620);let c={LOG:"text-green-700 dark:text-green-400",INFO:"text-blue-700 dark:text-blue-400",WARN:"text-amber-700 dark:text-yellow-400",ERROR:"text-red-700 dark:text-red-400",DEBUG:"text-purple-700 dark:text-purple-400"};function o(){let[e,t]=(0,s.useState)([]),[l,o]=(0,s.useState)("connecting"),[i,d]=(0,s.useState)(0),[u,x]=(0,s.useState)(!1),[g,p]=(0,s.useState)(null),m=(0,s.useRef)(null),h=async()=>{if(!u){x(!0),p(null),t([]);try{let e=await fetch("/api/translator/console-logs",{method:"DELETE"});if(!e.ok)throw Error(`Failed to clear logs (${e.status})`)}catch(l){t(e),p(l.message||"Failed to clear console logs")}finally{x(!1)}}};return(0,s.useEffect)(()=>{let e=new EventSource("/api/translator/console-logs/stream");return e.onopen=()=>o("connected"),e.onmessage=e=>{try{let l=JSON.parse(e.data);"init"===l.type&&Array.isArray(l.logs)?t(l.logs.slice(-a.UY.maxLines)):"line"===l.type&&null!=l.line?t(e=>[...e,String(l.line)].slice(-a.UY.maxLines)):"clear"===l.type&&t([])}catch{p("Received an invalid console log event")}},e.onerror=()=>o("disconnected"),()=>e.close()},[i]),(0,s.useEffect)(()=>{m.current&&(m.current.scrollTop=m.current.scrollHeight)},[e]),(0,n.jsxs)(r.Zp,{className:"p-0 overflow-hidden",children:[(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2 border-b border-border bg-surface-2 px-4 py-3",children:[(0,n.jsxs)("div",{role:"status","aria-live":"polite",className:"flex items-center gap-2",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:`size-2 rounded-full ${"connected"===l?"bg-green-500":"connecting"===l?"animate-pulse bg-yellow-500":"bg-red-500"}`}),(0,n.jsx)("span",{className:"text-sm capitalize text-text-muted",children:l})]}),(0,n.jsxs)("div",{className:"flex items-center gap-2",children:["disconnected"===l?(0,n.jsx)(r.$n,{size:"sm",variant:"outline",onClick:()=>{o("connecting"),p(null),d(e=>e+1)},children:"Reconnect"}):null,(0,n.jsx)(r.$n,{size:"sm",variant:"outline",icon:"delete",onClick:h,loading:u,disabled:0===e.length,children:"Clear"})]})]}),g?(0,n.jsx)("div",{role:"alert",className:"border-b border-border px-4 py-2 text-sm text-danger",children:g}):null,(0,n.jsx)("div",{ref:m,role:"log","aria-live":"polite","aria-relevant":"additions text",className:"h-[calc(100vh-220px)] overflow-y-auto bg-bg-alt p-4 font-mono text-xs text-text-main dark:bg-black",children:0===e.length?(0,n.jsx)("span",{className:"text-text-muted",children:"connecting"===l?"Connecting to console logs…":"disconnected"===l?"Console log stream disconnected.":"No console logs yet. Logs appear after routed requests."}):(0,n.jsx)("div",{className:"space-y-0.5",children:e.map((e,t)=>{let l,s,r;return(0,n.jsx)("div",{children:(r=c[(s=(l="string"==typeof e?e:String(e)).match(/\[(\w+)\]/g))?s[1]?.replace(/\[|\]/g,""):null]||"text-green-700 dark:text-green-400",(0,n.jsx)("span",{className:r,children:l}))},`${t}-${e}`)})})})]})}}},e=>{e.O(0,[2574,3862,4343,85,5497,8441,3794,7358],()=>e(e.s=7827)),_N_E=e.O()}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9933],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9933],{4402:(e,t,s)=>{Promise.resolve().then(s.bind(s,33711))},33711:(e,t,s)=>{"use strict";s.r(t),s.d(t,{default:()=>r});var a=s(95155),n=s(12115),l=s(35497);function i(e){let t=new TextEncoder().encode(e||"").length;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function r(){let[e,t]=(0,n.useState)(!1),[s,r]=(0,n.useState)([]),[d,c]=(0,n.useState)(!0),[o,m]=(0,n.useState)(!1),[x,h]=(0,n.useState)(null),[p,u]=(0,n.useState)(null),[f,b]=(0,n.useState)({type:"",message:""}),[g,j]=(0,n.useState)(!1),y=(0,n.useRef)(null),N=(0,n.useCallback)(async()=>{c(!0);try{let[e,s]=await Promise.all([fetch("/api/settings",{cache:"no-store"}),fetch("/api/context",{cache:"no-store"})]),a=await e.json(),n=await s.json();t(!!a.contextInjectionEnabled),r(Array.isArray(n.files)?n.files:[])}catch(e){b({type:"error",message:"Failed to load context files."})}finally{c(!1)}},[]);(0,n.useEffect)(()=>{N()},[N]);let v=async e=>{t(e);try{await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({contextInjectionEnabled:e})})}catch{t(!e),b({type:"error",message:"Failed to update global toggle."})}},w=async()=>{if(!x?.name?.trim())return void b({type:"error",message:"Name is required."});m(!0);try{x.id?await fetch(`/api/context/${x.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:x.name,content:x.content})}):await fetch("/api/context",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:x.name,content:x.content,priority:s.length})}),h(null),await N(),b({type:"success",message:"Saved."})}catch{b({type:"error",message:"Failed to save."})}finally{m(!1)}},k=async(e,t)=>{r(s=>s.map(s=>s.id===e.id?{...s,enabled:t}:s));try{await fetch(`/api/context/${e.id}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:t})})}catch{await N()}},C=async()=>{if(p)try{await fetch(`/api/context/${p.id}`,{method:"DELETE"}),u(null),await N()}catch{b({type:"error",message:"Failed to delete."})}},E=async e=>{let t=Array.from(e.target.files||[]);if(0!==t.length){j(!0),b({type:"",message:""});try{let e=await Promise.all(t.map(async e=>({name:e.name,content:await e.text()}))),s=await fetch("/api/context/bulk",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({files:e})}),a=await s.json();if(!s.ok)throw Error(a?.error||"Upload failed");await N(),b({type:"success",message:`Uploaded ${a.created} file(s) — all disabled by default. Enable the ones you want below.`})}catch(e){b({type:"error",message:e.message||"Upload failed."})}finally{j(!1),y.current&&(y.current.value="")}}},S=s.filter(e=>e.enabled).length,T=s.filter(e=>e.enabled).reduce((e,t)=>e+new TextEncoder().encode(t.content||"").length,0);return(0,a.jsxs)("div",{className:"max-w-4xl mx-auto space-y-6",children:[(0,a.jsxs)(l.Zp,{padding:"md",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-4 flex-wrap",children:[(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("h1",{className:"text-lg font-semibold text-text-main",children:"Context Injection"}),(0,a.jsx)("p",{className:"text-xs text-text-muted mt-1 max-w-xl",children:"Prepend your own context files (soul.md, agent.md, rules…) to the system prompt of every chat request routed through ZevaiRouter. Enabled files are injected in order, across all providers."})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,a.jsx)("span",{className:"text-sm text-text-muted",children:e?"On":"Off"}),(0,a.jsx)(l.lM,{checked:e,onChange:v})]})]}),e&&(0,a.jsxs)("p",{className:"text-[11px] text-text-muted mt-3",children:[S," file(s) active \xb7 ~",(T/1024).toFixed(1)," KB added to every request"]})]}),f.message&&(0,a.jsx)("div",{className:`text-xs px-3 py-2 rounded ${"error"===f.type?"text-red-500 bg-red-500/10":"text-green-600 bg-green-500/10"}`,children:f.message}),(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("h2",{className:"text-sm font-semibold text-text-main",children:"Files"}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("input",{ref:y,type:"file",multiple:!0,className:"hidden",onChange:E}),(0,a.jsxs)(l.$n,{variant:"ghost",size:"sm",onClick:()=>y.current?.click(),disabled:g,children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px] mr-1",children:"upload_file"}),g?"Uploading…":"Upload .md"]}),(0,a.jsxs)(l.$n,{size:"sm",onClick:()=>h({name:"",content:"",enabled:!0}),children:[(0,a.jsx)("span",{className:"material-symbols-outlined text-[16px] mr-1",children:"add"}),"Add File"]})]})]}),d?(0,a.jsx)("div",{className:"text-sm text-text-muted",children:"Loading…"}):0===s.length?(0,a.jsx)(l.Zp,{padding:"md",children:(0,a.jsxs)("p",{className:"text-sm text-text-muted",children:["No context files yet. Click ",(0,a.jsx)("b",{children:"Add File"})," to create one (e.g. ",(0,a.jsx)("code",{children:"soul.md"}),")."]})}):(0,a.jsx)("div",{className:"space-y-2",children:s.map(e=>(0,a.jsxs)("div",{className:"flex items-start gap-3 p-4 rounded-[14px] border border-border-subtle bg-surface",children:[(0,a.jsx)("div",{className:"size-9 rounded-lg flex items-center justify-center shrink-0 bg-primary/10 text-primary",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"description"})}),(0,a.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,a.jsx)("h3",{className:"font-semibold text-sm text-text-main",children:e.name}),(0,a.jsx)(l.Ex,{variant:"default",size:"sm",children:i(e.content)}),!e.enabled&&(0,a.jsx)(l.Ex,{variant:"default",size:"sm",children:"disabled"})]}),(0,a.jsx)("p",{className:"text-xs text-text-muted mt-0.5 line-clamp-2 whitespace-pre-wrap",children:e.content?.slice(0,160)||"(empty)"})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2 shrink-0",children:[(0,a.jsx)(l.lM,{checked:e.enabled,onChange:t=>k(e,t),size:"sm"}),(0,a.jsx)("button",{onClick:()=>h({...e}),className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5",title:"Edit",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"edit"})}),(0,a.jsx)("button",{onClick:()=>u(e),className:"p-1.5 rounded-lg text-text-muted hover:bg-red-500/10 hover:text-red-500",title:"Delete",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[18px]",children:"delete"})})]})]},e.id))}),x&&(0,a.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[(0,a.jsx)("div",{className:"absolute inset-0 bg-black/30 backdrop-blur-sm",onClick:()=>h(null)}),(0,a.jsxs)("div",{className:"relative w-full max-w-2xl bg-surface border border-black/10 dark:border-white/10 rounded-xl shadow-2xl flex flex-col max-h-[85vh]",children:[(0,a.jsxs)("div",{className:"flex items-center justify-between p-3 border-b border-black/5 dark:border-white/5",children:[(0,a.jsx)("h2",{className:"text-base font-semibold text-text-main",children:x.id?"Edit File":"New Context File"}),(0,a.jsx)("button",{onClick:()=>h(null),className:"p-1.5 rounded-lg text-text-muted hover:bg-black/5 dark:hover:bg-white/5",children:(0,a.jsx)("span",{className:"material-symbols-outlined text-[20px]",children:"close"})})]}),(0,a.jsxs)("div",{className:"p-4 space-y-3 overflow-y-auto flex-1",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:"Name"}),(0,a.jsx)(l.pd,{placeholder:"soul.md",value:x.name,onChange:e=>h(t=>({...t,name:e.target.value}))})]}),(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{className:"text-sm font-medium",children:"Content (markdown / plain text)"}),(0,a.jsx)("textarea",{className:"w-full mt-1 rounded-lg border border-border bg-surface-2 p-3 font-mono text-xs text-text-main min-h-[280px] resize-y focus:outline-none focus:ring-2 focus:ring-primary/40",placeholder:"You are a helpful assistant with the following persona…",value:x.content,onChange:e=>h(t=>({...t,content:e.target.value}))}),(0,a.jsxs)("p",{className:"text-[11px] text-text-muted mt-1",children:[i(x.content)," \xb7 injected into the system prompt"]})]})]}),(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2 p-3 border-t border-black/5 dark:border-white/5",children:[(0,a.jsx)(l.$n,{variant:"ghost",size:"sm",onClick:()=>h(null),children:"Cancel"}),(0,a.jsx)(l.$n,{size:"sm",onClick:w,disabled:o,children:o?"Saving…":"Save"})]})]})]}),(0,a.jsx)(l.uo,{isOpen:!!p,title:"Delete context file?",message:`"${p?.name}" will be permanently removed.`,confirmText:"Delete",variant:"danger",onConfirm:C,onClose:()=>u(null)})]})}}},e=>{e.O(0,[2574,3862,4343,85,5497,8441,3794,7358],()=>e(e.s=4402)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6099],{},_=>{_.O(0,[2574,3862,4343,85,5497,523,8441,3794,7358],()=>_(_.s=80523)),_N_E=_.O()}]);
|