tokenhop 1.0.0 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +4 -4
- package/app/.next-cli-build/build-manifest.json +3 -3
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/react-loadable-manifest.json +43 -43
- package/app/.next-cli-build/required-server-files.json +1 -0
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/[...missing]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js +2 -2
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/ui-kit/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_global-error.html +1 -1
- package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
- package/app/.next-cli-build/server/app/_not-found/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/api/auth/login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/logout/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/reset-password/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/metadata/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/saml/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/auth/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tool-settings/[toolId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tool-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +4 -4
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/devin-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-build-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/headroom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js +1 -1
- package/app/.next-cli-build/server/app/api/combos/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/gateway/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/extras/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/proxy/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/headroom/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/live-routes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/quota/route.js +1 -1
- package/app/.next-cli-build/server/app/api/home/quota/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/home/summary/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/init/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/keys/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/locale/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/message/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/deepgram/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/elevenlabs/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/inworld/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/minimax/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/media-providers/tts/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/availability/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/catalog-sync/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/custom/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/disabled/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/models/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/[provider]/[action]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/codex/import-token/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/cursor/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/gitlab/pat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/grok-cli/bulk-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/iflow/cookie/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/import-cli-proxy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-authorize/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/kiro/social-exchange/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/api-key/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/oauth/xiaomi-mimo/auto-import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pricing/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/[id]/test-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/client/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/kilo/free-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/suggested-models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/test-batch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js +1 -1
- package/app/.next-cli-build/server/app/api/providers/validate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/[id]/test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/cloudflare-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/deno-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/proxy-pools/vercel-deploy/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/health/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/restart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/start/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/pxpipe/stop/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/export/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/import/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/config/import/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/environment/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/proxy-test/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/require-login/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shell/savings-milestone/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shell/summary/route.js +1 -1
- package/app/.next-cli-build/server/app/api/shell/summary/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tags/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/load/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/save/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js +9 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js +9 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/status/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-check/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-disable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-enable/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js +9 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/codex-reset-credits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js +9 -1
- package/app/.next-cli-build/server/app/api/usage/[connectionId]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/chart/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/history/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/last-activity/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js +1 -1
- package/app/.next-cli-build/server/app/api/usage/providers/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-details/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/request-logs/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/savings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stats/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/usage/stream/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/api/chat/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/audio/voices/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +9 -1
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/count_tokens/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[...model]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/info/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/compact/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/responses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/search/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/search/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/edits/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/extensions/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/videos/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/[...path]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js +1 -1
- package/app/.next-cli-build/server/app/api/v1beta/models/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page.js +1 -1
- package/app/.next-cli-build/server/app/callback/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +9 -9
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/media-providers.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/settings.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/settings.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/!KGRhc2hib2FyZCk/dashboard/settings/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/settings.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +8 -8
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/ui-kit.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/ui-kit.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/!KGRhc2hib2FyZCk/dashboard/ui-kit/__PAGE__.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_full.segment.rsc +10 -10
- package/app/.next-cli-build/server/app/dashboard/ui-kit.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +11 -11
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing/page.js +1 -1
- package/app/.next-cli-build/server/app/landing/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/landing.html +1 -1
- package/app/.next-cli-build/server/app/landing.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/login/page.js +1 -1
- package/app/.next-cli-build/server/app/login/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page.js +1 -1
- package/app/.next-cli-build/server/app/page.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/skills/[...slug]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +4 -4
- package/app/.next-cli-build/server/chunks/1004.js +1 -0
- package/app/.next-cli-build/server/chunks/1152.js +1 -1
- package/app/.next-cli-build/server/chunks/1215.js +1 -0
- package/app/.next-cli-build/server/chunks/1336.js +1 -1
- package/app/.next-cli-build/server/chunks/1432.js +1 -1
- package/app/.next-cli-build/server/chunks/1533.js +1 -1
- package/app/.next-cli-build/server/chunks/2217.js +1 -1
- package/app/.next-cli-build/server/chunks/2380.js +7 -7
- package/app/.next-cli-build/server/chunks/24.js +1 -1
- package/app/.next-cli-build/server/chunks/2460.js +1 -1
- package/app/.next-cli-build/server/chunks/257.js +10 -0
- package/app/.next-cli-build/server/chunks/2592.js +1 -1
- package/app/.next-cli-build/server/chunks/2705.js +9 -0
- package/app/.next-cli-build/server/chunks/318.js +9 -16
- package/app/.next-cli-build/server/chunks/3593.js +1 -1
- package/app/.next-cli-build/server/chunks/3919.js +1 -1
- package/app/.next-cli-build/server/chunks/3943.js +1 -1
- package/app/.next-cli-build/server/chunks/4123.js +1 -1
- package/app/.next-cli-build/server/chunks/4125.js +1 -1
- package/app/.next-cli-build/server/chunks/4334.js +1 -1
- package/app/.next-cli-build/server/chunks/4406.js +2 -2
- package/app/.next-cli-build/server/chunks/4521.js +1 -1
- package/app/.next-cli-build/server/chunks/4730.js +1 -1
- package/app/.next-cli-build/server/chunks/4780.js +1 -1
- package/app/.next-cli-build/server/chunks/5055.js +1 -0
- package/app/.next-cli-build/server/chunks/5230.js +1 -0
- package/app/.next-cli-build/server/chunks/{1026.js → 5260.js} +1 -1
- package/app/.next-cli-build/server/chunks/5335.js +1 -0
- package/app/.next-cli-build/server/chunks/5559.js +9 -0
- package/app/.next-cli-build/server/chunks/5615.js +1 -1
- package/app/.next-cli-build/server/chunks/5649.js +1 -0
- package/app/.next-cli-build/server/chunks/5765.js +1 -0
- package/app/.next-cli-build/server/chunks/5827.js +1 -0
- package/app/.next-cli-build/server/chunks/5869.js +9 -0
- package/app/.next-cli-build/server/chunks/5908.js +1 -0
- package/app/.next-cli-build/server/chunks/620.js +1 -0
- package/app/.next-cli-build/server/chunks/6252.js +1 -1
- package/app/.next-cli-build/server/chunks/6328.js +1 -0
- package/app/.next-cli-build/server/chunks/6355.js +1 -0
- package/app/.next-cli-build/server/chunks/6493.js +1 -0
- package/app/.next-cli-build/server/chunks/6496.js +1 -1
- package/app/.next-cli-build/server/chunks/7211.js +1 -1
- package/app/.next-cli-build/server/chunks/7485.js +9 -0
- package/app/.next-cli-build/server/chunks/7616.js +1 -1
- package/app/.next-cli-build/server/chunks/7695.js +1 -0
- package/app/.next-cli-build/server/chunks/7716.js +1 -1
- package/app/.next-cli-build/server/chunks/7819.js +1 -1
- package/app/.next-cli-build/server/chunks/7828.js +1 -1
- package/app/.next-cli-build/server/chunks/8171.js +1 -1
- package/app/.next-cli-build/server/chunks/8255.js +1 -1
- package/app/.next-cli-build/server/chunks/8261.js +1 -0
- package/app/.next-cli-build/server/chunks/8416.js +1 -1
- package/app/.next-cli-build/server/chunks/878.js +1 -0
- package/app/.next-cli-build/server/chunks/8895.js +13 -13
- package/app/.next-cli-build/server/chunks/8954.js +1 -0
- package/app/.next-cli-build/server/chunks/8988.js +1 -0
- package/app/.next-cli-build/server/chunks/9016.js +9 -0
- package/app/.next-cli-build/server/chunks/9243.js +1 -0
- package/app/.next-cli-build/server/chunks/9326.js +1 -0
- package/app/.next-cli-build/server/chunks/9343.js +1 -1
- package/app/.next-cli-build/server/chunks/9421.js +1 -1
- package/app/.next-cli-build/server/chunks/9489.js +3 -0
- package/app/.next-cli-build/server/chunks/9578.js +1 -1
- package/app/.next-cli-build/server/chunks/9594.js +1 -0
- package/app/.next-cli-build/server/chunks/965.js +1 -1
- package/app/.next-cli-build/server/chunks/9899.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js +1 -1
- package/app/.next-cli-build/server/instrumentation.js.nft.json +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware-react-loadable-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js.nft.json +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{198-145d0ed2ec3c54f5.js → 198-7c5bbea89ef8bc14.js} +1 -1
- package/app/.next-cli-build/static/chunks/{3670-e7a22341025498f8.js → 3670-d6dc44bc181c9b8a.js} +1 -1
- package/app/.next-cli-build/static/chunks/5014-a5d960f4c6bc6297.js +1 -0
- package/app/.next-cli-build/static/chunks/{6174.18e2c57e892d721a.js → 6174.a18fedfa3d765b1e.js} +1 -1
- package/app/.next-cli-build/static/chunks/6448-71a8c2ac8d9ecc09.js +1 -0
- package/app/.next-cli-build/static/chunks/7899-a12f962af02edf7f.js +1 -0
- package/app/.next-cli-build/static/chunks/8105-71d1aea9708976db.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/combos/{page-8147ae8fa9c04381.js → page-42bfc760fbea3b96.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/console-log/{page-9cbf62f78701882a.js → page-1df6ad7d9adfc2a7.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/[id]/{page-5f91e148400a241b.js → page-59ee0b412f972940.js} +3 -3
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/new/{page-dac4ab98fc595054.js → page-25d06b77bd1a5edb.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-463f9fa33be9426a.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/{page-06f4e52ee3b63f82.js → page-5bb99ecaf48bde39.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/ui-kit/{page-6c982cc50b6af101.js → page-1bc393f267badc04.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-923f864ec0be0fc8.js +1 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/{layout-dd9d1e49b2f69197.js → layout-a94f45e334f1841b.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/{page-02b7bfebd65c41f1.js → page-98f05847e3372b16.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/{layout-c266f1acedfb4651.js → layout-29d74e164758a126.js} +1 -1
- package/app/.next-cli-build/static/chunks/webpack-1e19a4b05298b49d.js +1 -0
- package/app/.next-cli-build/static/css/{9f0b95a0d0bc5e51.css → ffa1d9c3cbb4e959.css} +1 -1
- package/app/custom-server.js +0 -37
- package/app/package.json +4 -5
- package/app/server.js +1 -1
- package/app/src/lib/db/adapters/sqljsAdapter.js +39 -4
- package/app/src/lib/oauth/services/xai.js +19 -12
- package/app/src/shared/services/quotaAutoPing.js +43 -8
- package/app/src/shared/services/quotaSnapshotPoller.js +2 -1
- package/app/src/sse/services/backgroundTokenRefresh.js +13 -1
- package/package.json +1 -1
- package/src/cli/menus/combos.js +3 -1
- package/app/.next-cli-build/server/chunks/1764.js +0 -1
- package/app/.next-cli-build/server/chunks/2384.js +0 -1
- package/app/.next-cli-build/server/chunks/3093.js +0 -1
- package/app/.next-cli-build/server/chunks/3306.js +0 -1
- package/app/.next-cli-build/server/chunks/331.js +0 -1
- package/app/.next-cli-build/server/chunks/3414.js +0 -1
- package/app/.next-cli-build/server/chunks/3558.js +0 -1
- package/app/.next-cli-build/server/chunks/3586.js +0 -1
- package/app/.next-cli-build/server/chunks/3676.js +0 -1
- package/app/.next-cli-build/server/chunks/4037.js +0 -1
- package/app/.next-cli-build/server/chunks/4199.js +0 -2
- package/app/.next-cli-build/server/chunks/4278.js +0 -1
- package/app/.next-cli-build/server/chunks/6158.js +0 -1
- package/app/.next-cli-build/server/chunks/6354.js +0 -1
- package/app/.next-cli-build/server/chunks/6734.js +0 -1
- package/app/.next-cli-build/server/chunks/6769.js +0 -1
- package/app/.next-cli-build/server/chunks/7261.js +0 -1
- package/app/.next-cli-build/server/chunks/7901.js +0 -1
- package/app/.next-cli-build/server/chunks/8372.js +0 -1
- package/app/.next-cli-build/server/chunks/8635.js +0 -3
- package/app/.next-cli-build/server/chunks/994.js +0 -1
- package/app/.next-cli-build/static/chunks/5014-a441cde708542153.js +0 -1
- package/app/.next-cli-build/static/chunks/6448-4eabf683083596e6.js +0 -1
- package/app/.next-cli-build/static/chunks/7899-e6a70cb9d3684f7f.js +0 -1
- package/app/.next-cli-build/static/chunks/8105-5c7e7c73b4bd532d.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/providers/page-9fadf2c38665c20c.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/usage/page-7571538830147099.js +0 -1
- package/app/.next-cli-build/static/chunks/webpack-187fa25c98ba99f3.js +0 -1
- /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{3Qm_WgU2xvFJ9U_G7SKhT → gdVYVwJMM6JES9Y1KPQyw}/_ssgManifest.js +0 -0
|
@@ -18,4 +18,4 @@ response = client.chat.completions.create(
|
|
|
18
18
|
)
|
|
19
19
|
print(response.choices[0].message.content)`;default:throw Error(`buildQuickConnectSnippet: unknown snippet kind "${a}"`)}}function m(a){if(!a||"string"!=typeof a)return"";if(a.length<=10)return a;let b=a.startsWith("sk-9r-")?"sk-9r-":a.slice(0,6),c=a.slice(-4);return`${b}••••${c}`}function n(a){if(!a)return"Never";let b=new Date(a).getTime();if(Number.isNaN(b))return"Never";let c=Math.floor((Date.now()-b)/1e3);if(c<0||c<60)return"Just now";let d=Math.floor(c/60);if(d<60)return`${d} min ago`;let e=Math.floor(d/60);if(e<24)return`${e}h ago`;let f=Math.floor(e/24);return f<30?`${f} days ago`:new Date(a).toLocaleDateString()}function o(a){if(!a)return!1;let b=new Date(a).getTime();if(Number.isNaN(b))return!1;let c=Date.now()-b;return c>=0&&c<1728e5}function p(a){let b=Number(a);return Number.isNaN(b)||null==a?"0":b.toLocaleString()}c.d(b,{BO:()=>k,Pn:()=>d,Rv:()=>f,ZN:()=>n,ZV:()=>p,fh:()=>j,iG:()=>o,kf:()=>i,ov:()=>e,s9:()=>m})},50377:(a,b,c)=>{"use strict";c.d(b,{C:()=>f});var d=c(67484),e=c(31290);function f(a=2e3){let[b,c]=(0,d.useState)(null),[g,h]=(0,d.useState)(null),i=(0,d.useRef)(null),j=(0,d.useRef)(0);return{copied:b,error:g,message:null!=g?"Couldn't copy":null!=b?"Copied":"",copy:(0,d.useCallback)(async(b,d="default")=>{let f=++j.current;i.current&&(clearTimeout(i.current),i.current=null);try{if(await (0,e.eM)(b),f!==j.current)return!0;return c(d),h(null),i.current=setTimeout(()=>{c(null),h(null)},a),!0}catch{if(f!==j.current)return!1;return c(null),h(d),i.current=setTimeout(()=>{c(null),h(null)},a),!1}},[a])}}},51455:a=>{"use strict";a.exports=require("node:fs/promises")},51747:(a,b,c)=>{"use strict";c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/endpoint/EndpointPageClient.js","default")},53053:a=>{"use strict";a.exports=require("node:diagnostics_channel")},55511:a=>{"use strict";a.exports=require("crypto")},55591:a=>{"use strict";a.exports=require("https")},57075:a=>{"use strict";a.exports=require("node:stream")},57975:a=>{"use strict";a.exports=require("node:util")},62241:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>i});var d=c(5735),e=c(91986),f=c(92082),g=c(87250),h=c(51747);async function i(){let a=await (0,g.D)();return(0,d.jsx)(e.Suspense,{fallback:(0,d.jsx)(f.CardSkeleton,{}),children:(0,d.jsx)(h.default,{machineId:a})})}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},67635:(a,b,c)=>{"use strict";c.d(b,{default:()=>j});var d=c(48249),e=c(49885),f=c.n(e),g=c(67484),h=c(71404),i=c(31290);function j({value:a,copyValue:b,label:c="Copy to clipboard",showCopyButton:e=!0,className:f,...k}){let[l,m]=(0,g.useState)(null),n=(0,g.useRef)(null),o=a=>{m(a),clearTimeout(n.current),n.current=setTimeout(()=>m(null),2e3)},p=async()=>{try{await (0,i.eM)(b??a),o("copied")}catch{o("error")}};return(0,d.jsxs)("div",{className:(0,h.cn)("flex h-11 items-center gap-2 rounded-lg border border-line bg-raised ps-3 pe-1.5 transition-colors","focus-within:border-coral focus-within:shadow-focus",f),...k,children:[(0,d.jsx)("code",{title:String(b??a),className:"min-w-0 flex-1 truncate font-mono text-sm text-text",children:a}),e?(0,d.jsx)("button",{type:"button","aria-label":c,onClick:p,className:"inline-flex size-8 shrink-0 items-center justify-center rounded-md text-muted transition-colors hover:bg-line/60 hover:text-text focus-visible:shadow-focus",children:(0,d.jsx)("span",{className:"material-symbols-outlined text-[18px]","aria-hidden":"true",children:"copied"===l?"check":"error"===l?"error":"content_copy"})}):null,e?(0,d.jsx)("span",{"aria-live":"polite",className:"sr-only",children:"copied"===l?"Copied":"error"===l?"Copy failed":""}):null]})}j.propTypes={value:f().oneOfType([f().string,f().number]).isRequired,copyValue:f().string,label:f().string,showCopyButton:f().bool,className:f().string}},67960:(a,b,c)=>{"use strict";c.d(b,{Cp:()=>g,Hx:()=>f,Iv:()=>k,Nv:()=>m,RL:()=>j,ev:()=>l,fl:()=>h,hT:()=>d,oX:()=>e,t6:()=>i});let d=["zh-CN","zh-TW"],e=[{icon:"public",title:"Access anywhere",desc:"Use your API from any network"},{icon:"group",title:"Share endpoint",desc:"Share URL with team members"},{icon:"code",title:"Use in Cursor/Cline",desc:"Connect AI tools remotely"},{icon:"lock",title:"Encrypted",desc:"End-to-end TLS via Cloudflare"}],f=2e3,g=3e5,h=5e3,i=5,j=1e4,k=5e3,l=[{id:"lite",label:"Lite",desc:"Drop filler, keep grammar"},{id:"full",label:"Full",desc:"Drop articles, fragments OK"},{id:"ultra",label:"Ultra",desc:"Telegraphic, max compression"},{id:"wenyan-lite",label:"文 Lite",desc:"Classical Chinese, light compression",wenyan:!0},{id:"wenyan",label:"文 Full",desc:"Maximum 文言文, 80-90% reduction",wenyan:!0},{id:"wenyan-ultra",label:"文 Ultra",desc:"Extreme classical compression",wenyan:!0}],m=[{id:"lite",label:"Lite",desc:"Build asked, name lazier option"},{id:"full",label:"Full",desc:"Ladder enforced: stdlib/native first"},{id:"ultra",label:"Ultra",desc:"YAGNI extremist, deletion first"}]},70135:(a,b,c)=>{"use strict";c.d(b,{default:()=>V});var d=c(48249),e=c(49885),f=c.n(e),g=c(89025),h=c(67484),i=c(19099),j=c(74812),k=c(216),l=c(99070),m=c(95145),n=c(83552),o=c(51175),p=c(50377),q=c(67960),r=c(49755),s=c(17660),t=c(24279),u=c(67635);let v=f().shape({checking:f().bool,enabled:f().bool,reachable:f().bool,everReachable:f().bool,url:f().string,publicUrl:f().string,loading:f().bool,progress:f().string,status:f().shape({type:f().string,message:f().string}),canEnable:f().bool,gateNote:f().string}),w=f().shape({enabled:f().bool,reachable:f().bool,everReachable:f().bool,url:f().string,loading:f().bool,progress:f().string,status:f().shape({type:f().string,message:f().string}),authUrl:f().string,authLabel:f().string,installed:f().bool});function x({localUrl:a}){return(0,d.jsx)(s.default,{title:"Local",icon:"home",action:(0,d.jsx)(t.default,{variant:"ok",size:"sm",dot:!0,children:"On"}),children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(u.default,{value:a,copyValue:a,label:"Copy local URL"}),(0,d.jsx)("p",{className:"text-[13px] text-muted",children:`Always on while ${g.Hc.slug} runs.`})]})})}function y({tunnel:a,onEnableTunnel:b,onStopTunnel:c,onDisableTunnel:e}){let f=`${a.publicUrl||a.url}/v1`;return(0,d.jsx)(s.default,{title:"Cloudflare tunnel",icon:"cloud_upload",action:a.enabled?(0,d.jsx)(t.default,{variant:"ok",size:"sm",dot:!0,children:"On"}):(0,d.jsx)(t.default,{variant:"neutral",size:"sm",children:"Off"}),children:a.loading?(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-live":"polite","aria-busy":"true",children:[(0,d.jsx)(j.Skeleton,{className:"h-11 w-full"}),(0,d.jsx)("span",{className:"truncate text-sm text-muted",children:a.progress||"Creating tunnel..."}),(0,d.jsx)(l.default,{variant:"ghost",size:"sm",onClick:c,children:"Stop"})]}):a.enabled&&a.reachable?(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(u.default,{value:f,copyValue:f,label:"Copy tunnel URL"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(o.default,{icon:"power_settings_new","aria-label":"Disable tunnel",onClick:e})})]}):a.enabled&&!a.reachable?(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(k.default,{variant:"warn",children:a.everReachable?"Tunnel reconnecting...":"Tunnel checking..."}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(o.default,{icon:"power_settings_new","aria-label":"Disable tunnel",onClick:e})})]}):a.status?.type==="error"?(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-live":"polite",children:[(0,d.jsx)(k.default,{variant:"err",children:a.status.message}),(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"cloud_upload",onClick:b,children:"Enable"})]}):a.checking?(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(j.Skeleton,{className:"h-11 flex-1"}),(0,d.jsx)(o.default,{icon:"power_settings_new","aria-label":"Stop checking",onClick:c})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"cloud_upload",onClick:b,children:"Enable"}),a.canEnable?(0,d.jsx)("p",{className:"text-[13px] text-muted",children:"Public HTTPS, no port forwarding."}):(0,d.jsx)("p",{className:"text-[13px] text-muted",children:a.gateNote})]})})}function z({tailscale:a,onConnect:b,onDisconnect:c,onInstall:e,onStop:f}){return(0,d.jsx)(s.default,{title:"Tailscale",icon:"vpn_lock",action:a.enabled?(0,d.jsx)(t.default,{variant:"ok",size:"sm",dot:!0,children:"Connected"}):(0,d.jsx)(t.default,{variant:"neutral",size:"sm",children:"Off"}),children:a.loading?(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-live":"polite","aria-busy":"true",children:[(0,d.jsx)(j.Skeleton,{className:"h-11 w-full"}),(0,d.jsx)("span",{className:"truncate text-sm text-muted",children:a.progress||"Connecting..."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[a.authUrl&&(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"open_in_new",onClick:()=>{a.authUrl&&window.open(a.authUrl,"tailscale_auth","width=600,height=700,noopener,noreferrer")},children:a.authLabel||"Open"}),(0,d.jsx)(l.default,{variant:"ghost",size:"sm",onClick:f,children:"Stop"})]})]}):a.enabled&&a.reachable?(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(u.default,{value:`${a.url}/v1`,copyValue:`${a.url}/v1`,label:"Copy Tailscale URL"}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(l.default,{variant:"ghost",size:"sm",onClick:c,children:"Disconnect"})})]}):a.enabled&&!a.reachable?(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(k.default,{variant:"warn",children:a.everReachable?"Tailscale reconnecting...":"Tailscale checking..."}),(0,d.jsx)("div",{className:"flex justify-end",children:(0,d.jsx)(o.default,{icon:"power_settings_new","aria-label":"Disconnect Tailscale",onClick:c})})]}):a.status?.type==="error"?(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-live":"polite",children:[(0,d.jsx)(k.default,{variant:"err",children:a.status.message}),(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"vpn_lock",onClick:b,children:"Enable"})]}):!1===a.installed?(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)("p",{className:"text-[13px] text-muted",children:"Not installed."}),(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"download",onClick:e,children:"Install Tailscale"})]}):(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"vpn_lock",onClick:b,children:"Connect"}),(0,d.jsx)("p",{className:"text-[13px] text-muted",children:"Private access for your tailnet only."})]})})}function A({localUrl:a,tunnel:b,tailscale:c,onEnableTunnel:e,onStopTunnel:f,onDisableTunnel:g,onConnectTailscale:h,onDisableTailscale:i,onInstallTailscale:j,onStopTailscale:k}){return(0,d.jsxs)("div",{className:"grid gap-4 lg:grid-cols-3",children:[(0,d.jsx)(x,{localUrl:a}),(0,d.jsx)(y,{tunnel:b,onEnableTunnel:e,onStopTunnel:f,onDisableTunnel:g}),(0,d.jsx)(z,{tailscale:c,onConnect:h,onDisconnect:i,onInstall:j,onStop:k})]})}x.propTypes={localUrl:f().string.isRequired},y.propTypes={tunnel:v.isRequired,onEnableTunnel:f().func.isRequired,onStopTunnel:f().func.isRequired,onDisableTunnel:f().func.isRequired},z.propTypes={tailscale:w.isRequired,onConnect:f().func.isRequired,onDisconnect:f().func.isRequired,onInstall:f().func.isRequired,onStop:f().func.isRequired},A.propTypes={localUrl:f().string.isRequired,tunnel:v.isRequired,tailscale:w.isRequired,onEnableTunnel:f().func.isRequired,onStopTunnel:f().func.isRequired,onDisableTunnel:f().func.isRequired,onConnectTailscale:f().func.isRequired,onDisableTailscale:f().func.isRequired,onInstallTailscale:f().func.isRequired,onStopTailscale:f().func.isRequired};var B=c(1582),C=c(95514),D=c(26584),E=c(41489),F=c(73655);function G({banner:a,copiedId:b,copyError:c,onCopy:e,onDismiss:f}){return(0,d.jsxs)("div",{role:"alert",className:"mb-4 flex gap-3 rounded-xl border border-lime/40 bg-lime-bg p-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined shrink-0 text-[20px] text-lime-ink","aria-hidden":"true",children:"vpn_key"}),(0,d.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,d.jsxs)("p",{className:"text-sm font-semibold text-text",children:[a.keyName," is ready. Copy it now, it won't be shown again."]}),(0,d.jsx)("code",{className:"mt-1 block truncate font-mono text-sm text-text",dir:"ltr",children:a.plainKey}),(0,d.jsxs)("div",{className:"mt-2",children:[(0,d.jsx)(l.default,{variant:"secondary",size:"sm",icon:"created-banner"===b?"check":"created-banner"===c?"error":"content_copy",onClick:()=>e(a.plainKey,"created-banner"),children:"created-banner"===b?"Copied":"created-banner"===c?"Couldn't copy":"Copy key"}),(0,d.jsx)(E.default,{copied:b,error:c,id:"created-banner"})]})]}),(0,d.jsx)(o.default,{icon:"close","aria-label":"Dismiss",onClick:f,className:"self-start"})]})}function H({apiKey:a}){return(0,d.jsxs)(d.Fragment,{children:[!1===a.isActive&&(0,d.jsx)(t.default,{variant:"warn",size:"sm",children:"Paused"}),(0,r.iG)(a.createdAt)&&!1!==a.isActive&&(0,d.jsx)(t.default,{variant:"live",size:"sm",children:"New"})]})}function I({apiKey:a,editing:b,setEditingId:c,loading:e,error:f,onRenameKey:g,clearRenameError:i}){let[j,k]=(0,h.useState)(a.name),l=(0,h.useRef)(null),m=(0,h.useRef)(!1),n=(0,h.useId)(),p=()=>{e||m.current||(k(a.name),i(a.id),c(null))},q=async()=>{if(!e&&!m.current){m.current=!0;try{await g(a.id,j)&&c(null)}finally{m.current=!1}}};return b?(0,d.jsxs)("span",{className:"flex flex-col gap-1",children:[(0,d.jsxs)("span",{className:"flex items-center gap-1",children:[(0,d.jsx)("input",{ref:l,id:n,type:"text",value:j,disabled:e,onChange:b=>{k(b.target.value),i(a.id)},onKeyDown:a=>{"Enter"===a.key?(a.preventDefault(),q()):"Escape"===a.key&&(a.preventDefault(),p())},"aria-label":`Rename key ${a.name}`,"aria-describedby":f?`${n}-error`:void 0,"aria-invalid":!!f||void 0,className:"w-full min-w-0 rounded-lg border border-line bg-raised px-2 py-1 text-sm text-text transition-colors duration-150 focus:border-coral focus:shadow-focus focus:outline-none disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-err"}),(0,d.jsx)(o.default,{icon:"check","aria-label":"Save name",loading:e,className:"size-7",onClick:q}),(0,d.jsx)(o.default,{icon:"close","aria-label":"Cancel rename",disabled:e,className:"size-7",onClick:p})]}),f&&(0,d.jsx)("span",{id:`${n}-error`,role:"alert",className:"text-xs text-err",children:f})]}):(0,d.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5 font-medium text-text",children:[a.name,(0,d.jsx)(H,{apiKey:a}),(0,d.jsx)(o.default,{icon:"edit","aria-label":`Rename key ${a.name}`,className:"size-7",onClick:()=>c(a.id)})]})}function J({keys:a,requireApiKey:b,onToggleRequireApiKey:c,onCreateKey:e,createdBanner:f,onDismissBanner:g,onCopy:i,copiedId:j,copyError:k,visibleIds:m,onToggleVisibility:n,togglingId:p,onToggleKey:q,deletingId:u,onDeleteKey:v,onRenameKey:w,renamingId:x,renameErrors:y,clearRenameError:z,loading:A}){let[H,K]=(0,h.useState)(null),L=a=>m.has(a.id)?a.key:(0,r.s9)(a.key),M=a=>(0,d.jsx)(I,{apiKey:a,editing:H===a.id,setEditingId:K,loading:x===a.id,error:y[a.id],onRenameKey:w,clearRenameError:z});return(0,d.jsxs)(s.default,{id:"require-api-key",title:"API keys",icon:"vpn_key",action:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(t.default,{variant:"neutral",size:"sm",children:a.length}),(0,d.jsx)(l.default,{variant:"primary",size:"sm",icon:"add",onClick:e,children:"Create key"})]}),children:[(0,d.jsx)(B.default,{label:"Require API key",description:"Requests without a valid key get a 401. The tunnel needs this on.",settingKey:"requireApiKey",control:(0,d.jsx)(C.default,{checked:b,onChange:c,"aria-label":"Require API key"})}),f&&(0,d.jsx)(G,{banner:f,copiedId:j,copyError:k,onCopy:i,onDismiss:g}),(0,d.jsx)(E.default,{copied:"created-banner"===j?null:j,error:"created-banner"===k?null:k}),A?(0,d.jsx)(F.LoadingState,{lines:3,label:"Loading API keys",className:"py-4"}):0!==a.length||f?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("div",{className:"hidden overflow-x-auto md:block",children:(0,d.jsxs)("table",{className:"w-full text-sm",children:[(0,d.jsx)("thead",{children:(0,d.jsxs)("tr",{className:"border-b border-line text-start text-xs text-muted",children:[(0,d.jsx)("th",{scope:"col",className:"py-2 pe-3 text-start font-semibold",children:"Name"}),(0,d.jsx)("th",{scope:"col",className:"py-2 pe-3 text-start font-semibold",children:"Key"}),(0,d.jsx)("th",{scope:"col",className:"py-2 pe-3 text-start font-semibold",children:"Created"}),(0,d.jsx)("th",{scope:"col",className:"py-2 pe-3 text-start font-semibold",children:"Last used"}),(0,d.jsx)("th",{scope:"col",className:"py-2 pe-3 text-end font-semibold",children:"Today"}),(0,d.jsx)("th",{scope:"col",className:"py-2 pe-3 text-start font-semibold",children:"On"}),(0,d.jsx)("th",{scope:"col",className:"py-2 text-end",children:(0,d.jsx)("span",{className:"sr-only",children:"Actions"})})]})}),(0,d.jsx)("tbody",{children:a.map(a=>(0,d.jsxs)("tr",{className:"border-b border-line last:border-b-0",children:[(0,d.jsx)("td",{className:"py-3 pe-3",children:M(a)}),(0,d.jsx)("td",{className:"py-3 pe-3",children:(0,d.jsx)("code",{className:"font-mono text-[13px] text-muted",dir:"ltr",children:L(a)})}),(0,d.jsx)("td",{className:"py-3 pe-3 text-muted",children:a.createdAt?new Date(a.createdAt).toLocaleDateString():"—"}),(0,d.jsx)("td",{className:"py-3 pe-3 text-muted",children:(0,r.ZN)(a.lastUsed)}),(0,d.jsx)("td",{className:"py-3 pe-3 text-end font-mono text-muted",children:(0,r.ZV)(a.requestsToday)}),(0,d.jsx)("td",{className:"py-3 pe-3",children:(0,d.jsx)(C.default,{size:"sm",checked:!1!==a.isActive,disabled:p===a.id,onChange:b=>q(a.id,b),"aria-label":`Enable key ${a.name}`})}),(0,d.jsx)("td",{className:"py-3",children:(0,d.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[(0,d.jsx)(o.default,{icon:m.has(a.id)?"visibility_off":"visibility","aria-label":m.has(a.id)?"Hide key":"Show key",onClick:()=>n(a.id)}),(0,d.jsx)(o.default,{icon:j===a.id?"check":k===a.id?"error":"content_copy","aria-label":k===a.id?`Couldn't copy key ${a.name}`:`Copy key ${a.name}`,onClick:()=>i(a.key,a.id)}),(0,d.jsx)(o.default,{icon:"delete","aria-label":`Delete key ${a.name}`,loading:u===a.id,onClick:()=>v(a.id),className:"hover:text-err"})]})})]},a.id))})]})}),(0,d.jsx)("div",{className:"flex flex-col gap-3 md:hidden",children:a.map(a=>(0,d.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-line bg-raised p-3",children:[M(a),(0,d.jsxs)("div",{className:"flex items-center gap-1",children:[(0,d.jsx)("code",{className:"min-w-0 flex-1 truncate font-mono text-[13px] text-muted",dir:"ltr",children:L(a)}),(0,d.jsx)(o.default,{icon:m.has(a.id)?"visibility_off":"visibility","aria-label":m.has(a.id)?"Hide key":"Show key",onClick:()=>n(a.id)}),(0,d.jsx)(o.default,{icon:j===a.id?"check":k===a.id?"error":"content_copy","aria-label":k===a.id?`Couldn't copy key ${a.name}`:`Copy key ${a.name}`,onClick:()=>i(a.key,a.id)})]}),(0,d.jsxs)("p",{className:"text-xs text-muted",children:["Created ",a.createdAt?new Date(a.createdAt).toLocaleDateString():"—"," ","\xb7 ",(0,r.ZN)(a.lastUsed)," \xb7 ",(0,r.ZV)(a.requestsToday)," today"]}),(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)(C.default,{size:"sm",checked:!1!==a.isActive,disabled:p===a.id,onChange:b=>q(a.id,b),"aria-label":`Enable key ${a.name}`}),(0,d.jsx)(o.default,{icon:"delete","aria-label":`Delete key ${a.name}`,loading:u===a.id,onClick:()=>v(a.id),className:"hover:text-err"})]})]},a.id))})]}):(0,d.jsx)(D.default,{icon:"vpn_key",title:"No API keys yet",body:"Create your first API key to call the endpoint.",action:(0,d.jsx)(l.default,{variant:"secondary",icon:"add",onClick:e,children:"Create key"})})]})}G.propTypes={banner:f().shape({keyName:f().string.isRequired,plainKey:f().string.isRequired}).isRequired,copiedId:f().string,copyError:f().string,onCopy:f().func.isRequired,onDismiss:f().func.isRequired},H.propTypes={apiKey:f().shape({isActive:f().bool,createdAt:f().string}).isRequired},I.propTypes={apiKey:f().shape({id:f().string.isRequired,name:f().string.isRequired,isActive:f().bool,createdAt:f().string}).isRequired,editing:f().bool.isRequired,setEditingId:f().func.isRequired,loading:f().bool,error:f().string,onRenameKey:f().func.isRequired,clearRenameError:f().func.isRequired},J.propTypes={keys:f().arrayOf(f().shape({id:f().string.isRequired,name:f().string.isRequired,key:f().string.isRequired,isActive:f().bool,createdAt:f().string,lastUsed:f().string,requestsToday:f().number})).isRequired,requireApiKey:f().bool.isRequired,onToggleRequireApiKey:f().func.isRequired,onCreateKey:f().func.isRequired,createdBanner:f().shape({keyName:f().string.isRequired,plainKey:f().string.isRequired}),onDismissBanner:f().func.isRequired,onCopy:f().func.isRequired,copiedId:f().string,copyError:f().string,visibleIds:f().instanceOf(Set).isRequired,onToggleVisibility:f().func.isRequired,togglingId:f().string,onToggleKey:f().func.isRequired,deletingId:f().string,onDeleteKey:f().func.isRequired,onRenameKey:f().func.isRequired,renamingId:f().string,renameErrors:f().objectOf(f().string).isRequired,clearRenameError:f().func.isRequired,loading:f().bool.isRequired};var K=c(79735),L=c.n(K);function M({requireLogin:a,tunnelDashboardAccess:b,security:c,onToggleLogin:e,onToggleTunnelDash:f,loginBusy:g=!1,dashBusy:h=!1}){return(0,d.jsx)(s.default,{title:"Access",icon:"lock",children:(0,d.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,d.jsx)(B.default,{label:"Require login",description:"Dashboard asks for a password",settingKey:"requireLogin",control:(0,d.jsx)(C.default,{checked:a,onChange:e,disabled:g,"aria-label":"Require login"})}),(0,d.jsx)(B.default,{label:"Dashboard over tunnel",description:"Open this dashboard from the tunnel URL too",settingKey:"tunnelDashboardAccess",control:(0,d.jsx)(C.default,{checked:b,onChange:f,disabled:h,"aria-label":"Dashboard over tunnel"})}),c&&(0,d.jsx)("div",{className:"mt-2",children:(0,d.jsx)(k.default,{variant:c.variant,children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-sm",children:c.message}),c.fix&&(c.fix.href.startsWith("#")?(0,d.jsx)("a",{href:c.fix.href,className:"inline-flex h-10 items-center justify-center rounded-lg border border-line bg-transparent px-3 text-sm font-semibold text-text transition-colors hover:bg-raised",children:c.fix.label}):(0,d.jsx)(l.default,{variant:"ghost",size:"sm",href:c.fix.href,children:c.fix.label}))]})})}),(0,d.jsx)("div",{className:"mt-3 border-t border-line pt-3",children:(0,d.jsx)(L(),{href:"/dashboard/profile",className:"text-sm font-medium text-coral hover:underline",children:"Password & single sign-on →"})})]})})}M.propTypes={requireLogin:f().bool.isRequired,tunnelDashboardAccess:f().bool.isRequired,security:f().shape({variant:f().oneOf(["ok","warn"]).isRequired,message:f().string.isRequired,fix:f().shape({label:f().string.isRequired,href:f().string.isRequired})}).isRequired,onToggleLogin:f().func.isRequired,onToggleTunnelDash:f().func.isRequired,loginBusy:f().bool,dashBusy:f().bool};var N=c(31023),O=c(25994);let P=[{value:"shell",label:"Shell"},{value:"curl",label:"cURL"},{value:"python",label:"Python"}];function Q({baseUrl:a,selectedKeyId:b,keys:c,revealed:e,onSelectKey:f,onCopy:g,copiedId:i,copyError:j}){let[k,m]=(0,h.useState)("shell"),n=c.find(a=>a.id===b)??null,o=e&&e.id===b?{key:e.plain}:n,{display:p,copy:q}=(0,r.kf)(k,a,o),t=`quick-${k}`,u=!!q;return(0,d.jsx)(s.default,{title:"Quick connect",icon:"bolt",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsx)(N.default,{label:"API key",value:b??"",onChange:a=>f(a.target.value),options:c.map(a=>({value:a.id,label:(0,r.fh)(a,c)})),placeholder:0===c.length?"No keys yet":"Select a key",disabled:0===c.length}),(0,d.jsx)(O.default,{tabs:P,value:k,onChange:m,"aria-label":"Quick connect language"}),(0,d.jsxs)("div",{className:"overflow-hidden rounded-xl border border-line bg-raised",children:[(0,d.jsx)("pre",{dir:"ltr",className:"max-h-64 overflow-auto whitespace-pre p-4 text-start font-mono text-[13px] leading-relaxed text-text",children:(0,d.jsx)("code",{children:p})}),(0,d.jsxs)("div",{className:"flex justify-end border-t border-line px-3 py-2",children:[(0,d.jsx)(l.default,{variant:"ghost",size:"sm",icon:i===t?"check":j===t?"error":"content_copy",disabled:!u,onClick:()=>u&&g(q,t),children:i===t?"Copied":j===t?"Couldn't copy":"Copy snippet"}),(0,d.jsx)(E.default,{copied:i,error:j,id:t})]})]}),(0,d.jsx)("div",{className:"border-t border-line pt-3",children:(0,d.jsx)(L(),{href:"/dashboard/cli-tools",className:"text-sm font-medium text-coral hover:underline",children:"Using a coding CLI? Set it up in one click →"})})]})})}Q.propTypes={baseUrl:f().string.isRequired,selectedKeyId:f().string,keys:f().arrayOf(f().shape({id:f().string.isRequired,name:f().string.isRequired,key:f().string.isRequired})).isRequired,revealed:f().shape({id:f().string.isRequired,plain:f().string.isRequired}),onSelectKey:f().func.isRequired,onCopy:f().func.isRequired,copiedId:f().string,copyError:f().string};var R=c(77820),S=c(41371);let T=a=>a.json().catch(()=>null);var U=c(19870);function V({machineId:a}){let b=function(){let[a,b]=(0,h.useState)(!1),[c,d]=(0,h.useState)(!0),[e,f]=(0,h.useState)(!0),[g,i]=(0,h.useState)(!1),j=function(){let[a,b]=(0,h.useState)(!0),[c,d]=(0,h.useState)(!1),[e,f]=(0,h.useState)(!1),[g,i]=(0,h.useState)(!1),[j,k]=(0,h.useState)(""),[l,m]=(0,h.useState)(""),[n,o]=(0,h.useState)(!1),[p,r]=(0,h.useState)(""),[s,t]=(0,h.useState)(null),[u,v]=(0,h.useState)(!1),[w,x]=(0,h.useState)(!1),y=(0,h.useCallback)(a=>{a&&"object"==typeof a&&"reachable"in a?(null!==a.reachable&&f(a.reachable),a.everReachable&&i(!0)):f(a)},[]),z=function({setLoading:a,setProgress:b,setStatus:c,setEnabled:d}){return async(...e)=>{a(!0),b("Waiting for tunnel ready...");let f=e.filter(Boolean).map(a=>`${a}/api/health`),g=Date.now();for(;Date.now()-g<q.Cp;){if(await new Promise(a=>setTimeout(a,q.Hx)),await Promise.any(f.map(async a=>{if((await fetch(a,{mode:"cors",cache:"no-store"})).ok)return!0;throw Error("not ready")})).catch(()=>!1))return d(!0),a(!1),b(""),!0;if((Date.now()-g)%1e4<q.Hx)try{let d=await fetch("/api/tunnel/status");if(d.ok){let e=await d.json();if(!e.tunnel?.enabled)return c({type:"error",message:"Tunnel process stopped unexpectedly."}),a(!1),b(""),!1}}catch{}}return c({type:"error",message:"Tunnel created but not reachable. Please try again."}),a(!1),b(""),!1}}({setLoading:o,setProgress:r,setStatus:t,setEnabled:d}),A=async()=>{v(!1),o(!0),t(null),r("Creating tunnel...");let a=!0;(async()=>{for(;a;){try{let b=await fetch("/api/tunnel/status");if(b.ok){let c=await b.json();c.download?.downloading?r(`Downloading cloudflared... ${c.download.progress}%`):a&&r("Creating tunnel...")}}catch{}await new Promise(a=>setTimeout(a,1e3))}})();try{let b=await fetch("/api/tunnel/enable",{method:"POST"});a=!1;let c=await b.json();if(!b.ok)return void t({type:"error",message:c.error||"Failed to enable tunnel"});let d=c.tunnelUrl;if(!d)return void t({type:"error",message:"No tunnel URL returned"});k(d),m(c.publicUrl||""),await z(c.publicUrl,d)}catch(a){t({type:"error",message:a.message})}finally{a=!1,o(!1),r("")}},B=async()=>{o(!0),t(null);try{let a=await fetch("/api/tunnel/disable",{method:"POST"}),b=await a.json();a.ok?(d(!1),k(""),m(""),x(!1),t({type:"success",message:"Tunnel disabled"})):t({type:"error",message:b.error||"Failed to disable tunnel"})}catch(a){t({type:"error",message:a.message})}finally{o(!1)}},C=(0,h.useCallback)(()=>{o(!1),r(""),b(!1)},[]),D=(0,h.useCallback)(a=>{a?o(!0):C()},[C]),E=(0,h.useCallback)(a=>{a?r(a):C()},[C]);return{checking:a,setChecking:b,enabled:c,setEnabled:d,reachable:e,applyReachablePatch:y,everReachable:g,setEverReachable:i,url:j,setUrl:k,publicUrl:l,setPublicUrl:m,loading:n,progress:p,status:s,setStatus:t,showEnableModal:u,setShowEnableModal:v,showDisableModal:w,setShowDisableModal:x,enableTunnel:A,disableTunnel:B,stopWork:C,setTunnelLoading:D,setTunnelProgress:E}}(),k=function(){let[a,b]=(0,h.useState)(!1),[c,d]=(0,h.useState)(!1),[e,f]=(0,h.useState)(!1),[g,i]=(0,h.useState)(""),[j,k]=(0,h.useState)(!1),[l,m]=(0,h.useState)(""),[n,o]=(0,h.useState)(null),[p,r]=(0,h.useState)(""),[s,t]=(0,h.useState)(""),[u,v]=(0,h.useState)(null),[w,x]=(0,h.useState)(!1),[y,z]=(0,h.useState)([]),[A,B]=(0,h.useState)(""),[C,D]=(0,h.useState)(!1),[E,F]=(0,h.useState)(!1),[G,H]=(0,h.useState)(!1),I=(0,h.useRef)(null),J=(0,h.useCallback)(a=>{a&&"object"==typeof a&&"reachable"in a?(null!==a.reachable&&d(a.reachable),a.everReachable&&f(!0)):d(a)},[]),K=async a=>{m("Waiting for Tailscale ready...");let b=`${a}/api/health`,c=Date.now();for(;Date.now()-c<q.Cp;){await new Promise(a=>setTimeout(a,q.Hx));try{let a=await fetch(b,{mode:"no-cors",cache:"no-store"});if(a.ok||"opaque"===a.type)return!0}catch{}}return!1},L=(a,b)=>{r(a),t(b)},M=(0,h.useCallback)(()=>{r(""),t("")},[]),N=async()=>{v(null);try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok){let b=await a.json();return v(b.installed),b}}catch{}return v(!1),{installed:!1}},O=async a=>{i(a||"");let c=await K(a);b(!0),o(c?null:{type:"warning",message:"Connected but not reachable yet."})},P=async a=>{L(a,"Open Funnel Settings"),m('Click "Open Funnel Settings" to enable Funnel...');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success){M(),await O(b.tunnelUrl);return}if(b.funnelNotEnabled)continue;if(b.error){M(),o({type:"error",message:b.error});return}}catch{}}M(),o({type:"error",message:"Timed out waiting for Funnel to be enabled."})},Q=async()=>{x(!0),o(null),z([]);try{let a=await fetch("/api/tunnel/tailscale-install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sudoPassword:A})});B("");let b=a.body.getReader(),c=new TextDecoder,d="";for(;;){let{done:a,value:e}=await b.read();if(a)break;d+=c.decode(e,{stream:!0});let{frames:f,rest:g}=(0,R.tt)(d);for(let{event:a,data:b}of(d=g,f))if("progress"===a)z(a=>[...a.slice(-50),b.message]);else if("done"===a){v(!0),x(!1),F(!1),S();return}else"error"===a&&o({type:"error",message:b.error||"Install failed"})}}catch(a){o({type:"error",message:a.message})}finally{x(!1)}},S=async()=>{F(!1),D(!0),k(!0),o(null),m("Connecting..."),M();try{let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();if(a.ok&&b.success)return void await O(b.tunnelUrl);if(b.needsLogin&&b.authUrl){L(b.authUrl,"Open Login Page"),m('Login required — click "Open Login Page" to continue');for(let a=0;a<40;a++){await new Promise(a=>setTimeout(a,3e3));try{let a=await fetch("/api/tunnel/tailscale-check");if(a.ok&&(await a.json()).loggedIn){M(),m("Starting funnel...");let a=await fetch("/api/tunnel/tailscale-enable",{method:"POST"}),b=await a.json();a.ok&&b.success?await O(b.tunnelUrl):b.funnelNotEnabled&&b.enableUrl?await P(b.enableUrl):o({type:"error",message:b.error||"Failed to start funnel"});return}}catch{}}M(),o({type:"error",message:"Login timed out. Please try again."});return}if(b.funnelNotEnabled&&b.enableUrl)return void await P(b.enableUrl);o({type:"error",message:b.error||"Failed to connect"})}catch(a){o({type:"error",message:a.message})}finally{k(!1),D(!1),m(""),M()}},T=async()=>{k(!0),o(null);try{let a=await fetch("/api/tunnel/tailscale-disable",{method:"POST"}),c=await a.json();a.ok?(b(!1),i(""),H(!1),o({type:"success",message:"Tailscale disabled"})):o({type:"error",message:c.error||"Failed to disable Tailscale"})}catch(a){o({type:"error",message:a.message})}finally{k(!1)}},U=async()=>{o(null),z([]);let a=await N();a?.installed&&a?.hasCachedPassword?await S():F(!0)},V=(0,h.useCallback)(()=>{k(!1),D(!1),m(""),M()},[M]),W=(0,h.useCallback)(a=>{a?k(!0):V()},[V]),X=(0,h.useCallback)(a=>{a?D(!0):V()},[V]),Y=(0,h.useCallback)(a=>{a?m(a):V()},[V]);return{enabled:a,setEnabled:b,reachable:c,applyReachablePatch:J,everReachable:e,setEverReachable:f,url:g,setUrl:i,loading:j,progress:l,status:n,setStatus:o,authUrl:p,authLabel:s,installed:u,installing:w,installLog:y,sudoPassword:A,setSudoPassword:B,connecting:C,showModal:E,setShowModal:F,showDisableModal:G,setShowDisableModal:H,logRef:I,checkInstalled:N,installTailscale:Q,connectTailscale:S,disableTailscale:T,openModal:U,stopWork:V,setTsLoading:W,setTsConnecting:X,setTsProgress:Y,requestUserAuth:L,clearUserAuth:M}}(),l=(0,h.useRef)(j);l.current=j;let m=(0,h.useRef)(k);m.current=k;let n=(0,r.ov)({requireLogin:c,hasPassword:e}),o=(0,r.Rv)({requireLogin:c,hasPassword:e,requireApiKey:a}),p=c?"Change the default dashboard password before activating the tunnel.":'Enable "Require login" and set a custom password before activating the tunnel.',s=a?p:"Requires API key to be on.",t=(0,h.useCallback)(async()=>{let{tunnel:a,ts:b}={tunnel:l.current,ts:m.current};try{let c=await fetch("/api/tunnel/status",{cache:"no-store"});if(!c.ok)return;let d=await c.json(),e=(0,R.xI)(d);a.setUrl(e.tunnel.url),a.setPublicUrl(e.tunnel.publicUrl),a.setEnabled(e.tunnel.enabled),b.setUrl(e.tailscale.url),b.setEnabled(e.tailscale.enabled)}catch{}},[]),u=(0,h.useCallback)(async()=>{let{tunnel:a,ts:c}={tunnel:l.current,ts:m.current};a.setChecking(!0);try{let[e,g]=await Promise.all([fetch("/api/settings"),fetch("/api/tunnel/status",{cache:"no-store"})]);if(e.ok){let a=await e.json();b(a.requireApiKey||!1),d(!1!==a.requireLogin),f(a.hasPassword||!1),i(a.tunnelDashboardAccess||!1)}if(g.ok){let b=await g.json(),d=(0,R.xI)(b);a.setUrl(d.tunnel.url),a.setPublicUrl(d.tunnel.publicUrl),a.setEnabled(d.tunnel.enabled),c.setUrl(d.tailscale.url),c.setEnabled(d.tailscale.enabled)}}catch(a){console.log("Error loading settings:",a)}finally{a.setChecking(!1)}},[]);return!function({tunnel:a,setTunnel:b,tailscale:c,setTailscale:d}){let[e]=(0,h.useState)(()=>({tunnel:(0,R.c$)(q.t6),tailscale:(0,R.c$)(q.t6)}))}({tunnel:{enabled:j.enabled,reachable:j.reachable,url:j.url,publicUrl:j.publicUrl},setTunnel:j.applyReachablePatch,tailscale:{enabled:k.enabled,reachable:k.reachable,url:k.url},setTailscale:k.applyReachablePatch}),!function({anyEnabled:a,allHealthy:b,onSync:c}){}({anyEnabled:j.enabled||k.enabled,allHealthy:(!j.enabled||j.reachable)&&(!k.enabled||k.reachable),onSync:t}),{requireApiKey:a,requireLogin:c,hasPassword:e,tunnelDashboardAccess:g,handleRequireApiKey:async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireApiKey:a})})).ok&&b(a)}catch(a){console.log("Error updating requireApiKey:",a)}},handleRequireLogin:async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({requireLogin:a})})).ok&&d(a)}catch(a){console.log("Error updating requireLogin:",a)}},handleTunnelDashboardAccess:async a=>{try{(await fetch("/api/settings",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({tunnelDashboardAccess:a})})).ok&&i(a)}catch(a){console.log("Error updating tunnelDashboardAccess:",a)}},loadSettings:u,isLoginUnsafe:n,canEnableRemote:o,unsafeReason:p,gateNote:s,tunnelChecking:j.checking,setTunnelChecking:j.setChecking,tunnelEnabled:j.enabled,tunnelReachable:j.reachable,tunnelEverReachable:j.everReachable,tunnelUrl:j.url,tunnelPublicUrl:j.publicUrl,tunnelLoading:j.loading,setTunnelLoading:j.setTunnelLoading,tunnelProgress:j.progress,setTunnelProgress:j.setTunnelProgress,tunnelStatus:j.status,setTunnelStatus:j.setStatus,showEnableTunnelModal:j.showEnableModal,setShowEnableTunnelModal:j.setShowEnableModal,showDisableTunnelModal:j.showDisableModal,setShowDisableTunnelModal:j.setShowDisableModal,syncTunnelStatus:t,handleEnableTunnel:j.enableTunnel,handleDisableTunnel:j.disableTunnel,tsEnabled:k.enabled,tsReachable:k.reachable,tsEverReachable:k.everReachable,tsUrl:k.url,tsLoading:k.loading,setTsLoading:k.setTsLoading,tsProgress:k.progress,setTsProgress:k.setTsProgress,tsStatus:k.status,setTsStatus:k.setStatus,tsAuthUrl:k.authUrl,tsAuthLabel:k.authLabel,tsInstalled:k.installed,tsInstalling:k.installing,tsInstallLog:k.installLog,tsSudoPassword:k.sudoPassword,setTsSudoPassword:k.setSudoPassword,tsConnecting:k.connecting,setTsConnecting:k.setTsConnecting,showTsModal:k.showModal,setShowTsModal:k.setShowModal,showDisableTsModal:k.showDisableModal,setShowDisableTsModal:k.setShowDisableModal,tsLogRef:k.logRef,checkTailscaleInstalled:k.checkInstalled,handleInstallTailscale:k.installTailscale,handleConnectTailscale:k.connectTailscale,handleDisableTailscale:k.disableTailscale,handleOpenTsModal:k.openModal,pollFunnelEnable:()=>Promise.resolve(),requestUserAuth:k.requestUserAuth,clearUserAuth:k.clearUserAuth,updateReachable:()=>{}}}(),c=function(){let a=(0,S.i)(a=>a.error),[b,c]=(0,h.useState)([]),[d,e]=(0,h.useState)(!0),[f,g]=(0,h.useState)(null),[i,j]=(0,h.useState)(!1),[k,l]=(0,h.useState)(""),[m,n]=(0,h.useState)(null),[o,p]=(0,h.useState)(null),[q,s]=(0,h.useState)(new Set),[t,u]=(0,h.useState)(null),[v,w]=(0,h.useState)(null),[x,y]=(0,h.useState)(null),[z,A]=(0,h.useState)(null),[B,C]=(0,h.useState)({}),D=(0,h.useCallback)(async()=>{let a=await fetch("/api/keys"),b=await T(a);if(!a.ok)throw Error(b?.error||"Failed to load API keys.");return b?.keys||[]},[]),E=(0,h.useCallback)(async()=>{try{c(await D()),g(null)}catch(a){g(a?.message||"Failed to load API keys.")}},[D]),F=async()=>{let a=(0,r.BO)(k);if(a)return void n(a);let b=k.trim();n(null);try{let a=await fetch("/api/keys",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b})}),c=await T(a);if(!a.ok)return void n(c?.error||"Failed to create API key.");p({id:c?.id||c?.key?.id,name:c?.name||b,plain:"string"==typeof c?.key?c.key:c?.plain||""}),l(""),j(!1),await E()}catch(a){n(a?.message||"Failed to create API key.")}},G=a=>C(b=>{if(!(a in b))return b;let{[a]:c,...d}=b;return d}),H=async(a,b)=>{let d=(0,r.BO)(b);if(d)return C(b=>({...b,[a]:d})),!1;G(a),A(a);try{let d=await fetch(`/api/keys/${a}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:b.trim()})}),e=await T(d);if(!d.ok)return C(b=>({...b,[a]:e?.error||"Failed to rename API key."})),!1;let f=e?.key?.name??b.trim();return c(b=>b.map(b=>b.id===a?{...b,name:f}:b)),!0}catch(b){return C(c=>({...c,[a]:b?.message||"Failed to rename API key."})),!1}finally{A(null)}},I=async b=>{y(b);try{let d=await fetch(`/api/keys/${b}`,{method:"DELETE"});if(!d.ok){let b=await T(d);a(b?.error||"Failed to delete API key.");return}c(a=>a.filter(a=>a.id!==b)),s(a=>{let c=new Set(a);return c.delete(b),c}),G(b)}catch(b){a(b?.message||"Failed to delete API key.")}finally{y(null)}},J=async(b,d)=>{let e=d?"Failed to resume API key.":"Failed to pause API key.";w(b);try{let f=await fetch(`/api/keys/${b}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isActive:d})});if(!f.ok){let b=await T(f);a(b?.error||e);return}c(a=>a.map(a=>a.id===b?{...a,isActive:d}:a))}catch(b){a(b?.message||e)}finally{w(null)}};return{keys:b,loading:d,error:f,showAddModal:i,setShowAddModal:a=>{j(a),n(null)},newKeyName:k,setNewKeyName:a=>{l(a),n(null)},createError:m,setCreateError:n,revealed:o,dismissRevealed:()=>p(null),visibleKeys:q,toggleVisibility:a=>{s(b=>{let c=new Set(b);return c.has(a)?c.delete(a):c.add(a),c})},confirmState:t,setConfirmState:u,confirmPauseKey:a=>{u({title:"Pause API key",message:`Pause API key "${a.name}"?
|
|
20
20
|
|
|
21
|
-
This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{u(null),await J(a.id,!1)}})},togglingId:v,deletingId:x,renamingId:z,renameErrors:B,clearRenameError:G,fetchKeys:E,createKey:F,renameKey:H,deleteKey:I,toggleKey:J}}(),e=(0,U.o)(),f=(0,U.P)(),{copied:s,error:t,copy:u}=(0,p.C)(),[v,w]=(0,h.useState)(null),x=(0,i.useSearchParams)(),y=(0,i.useRouter)();x.get("create"),(0,h.useRef)(c.revealed?.id),(0,h.useRef)(c.setShowAddModal).current=c.setShowAddModal;let z=(0,h.useCallback)(()=>{let a=new URL(window.location.href);"key"===a.searchParams.get("create")&&(a.searchParams.delete("create"),y.replace(`${a.pathname}${a.search}${a.hash}`,{scroll:!1}))},[y]);(0,h.useRef)(null);let B=()=>{c.setShowAddModal(!1),c.setNewKeyName(""),z()},C=(0,r.Pn)({requireApiKey:b.requireApiKey,requireLogin:b.requireLogin,hasPassword:b.hasPassword,tunnelEnabled:b.tunnelEnabled,tsEnabled:b.tsEnabled,tunnelDashboardAccess:b.tunnelDashboardAccess,remoteHost:e}),D=(a,c,d)=>{b.isLoginUnsafe||d?c?.({type:"error",message:d||`Security required: ${b.unsafeReason}`}):a()};if(c.loading)return(0,d.jsxs)("div",{className:"flex flex-col gap-4","aria-live":"polite","aria-busy":"true",children:[(0,d.jsx)(j.CardSkeleton,{}),(0,d.jsx)(j.CardSkeleton,{})]});let E=(v&&c.keys.some(a=>a.id===v)?v:null)??c.keys[0]?.id??null;return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[c.error&&(0,d.jsx)(k.default,{variant:"err",title:"Couldn't load part of this page",children:c.error}),(0,d.jsx)(A,{localUrl:f,tunnel:{checking:b.tunnelChecking,enabled:b.tunnelEnabled,reachable:b.tunnelReachable,everReachable:b.tunnelEverReachable,url:b.tunnelUrl,publicUrl:b.tunnelPublicUrl,loading:b.tunnelLoading,progress:b.tunnelProgress,status:b.tunnelStatus,canEnable:b.canEnableRemote,gateNote:b.gateNote},tailscale:{enabled:b.tsEnabled,reachable:b.tsReachable,everReachable:b.tsEverReachable,url:b.tsUrl,loading:b.tsLoading||b.tsConnecting,progress:b.tsProgress,status:b.tsStatus,authUrl:b.tsAuthUrl,authLabel:b.tsAuthLabel,installed:b.tsInstalled},onEnableTunnel:()=>D(()=>b.setShowEnableTunnelModal(!0),b.setTunnelStatus,b.isLoginUnsafe?`Security required: ${b.unsafeReason}`:b.requireApiKey?null:'Security required: Enable "Require API key" before activating the tunnel.'),onStopTunnel:b.setTunnelLoading,onDisableTunnel:()=>b.setShowDisableTunnelModal(!0),onConnectTailscale:()=>D(b.handleOpenTsModal,b.setTsStatus,b.isLoginUnsafe?`Security required: ${b.unsafeReason}`:null),onDisableTailscale:()=>b.setShowDisableTsModal(!0),onInstallTailscale:b.handleOpenTsModal,onStopTailscale:b.setTsLoading}),b.isLoginUnsafe&&!b.tunnelEnabled&&!b.tsEnabled&&(0,d.jsx)(k.default,{variant:"warn",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-sm",children:b.unsafeReason}),(0,d.jsx)(l.default,{variant:"ghost",size:"sm",href:"/dashboard/profile",children:"Open settings"})]})}),(0,d.jsxs)("div",{className:"grid items-start gap-4 lg:grid-cols-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4 lg:col-span-2",children:[(0,d.jsx)(J,{keys:c.keys,requireApiKey:b.requireApiKey,onToggleRequireApiKey:b.handleRequireApiKey,onCreateKey:()=>c.setShowAddModal(!0),createdBanner:c.revealed?{keyName:c.revealed.name,plainKey:c.revealed.plain}:null,onDismissBanner:c.dismissRevealed,onCopy:u,copiedId:s,copyError:t,visibleIds:c.visibleKeys,onToggleVisibility:c.toggleVisibility,togglingId:c.togglingId,onToggleKey:(a,b)=>{let d=c.keys.find(b=>b.id===a);d?.isActive&&!b?c.confirmPauseKey(d):c.toggleKey(a,b)},deletingId:c.deletingId,onDeleteKey:a=>{let b=c.keys.find(b=>b.id===a);c.setConfirmState({title:"Delete API key",message:`Delete API key "${b?.name??""}"? This cannot be undone.`,onConfirm:async()=>{c.setConfirmState(null),await c.deleteKey(a)}})},onRenameKey:c.renameKey,renamingId:c.renamingId,renameErrors:c.renameErrors,clearRenameError:c.clearRenameError,loading:!1}),(0,d.jsx)(Q,{baseUrl:f,selectedKeyId:E,keys:c.keys,revealed:c.revealed,onSelectKey:w,onCopy:u,copiedId:s,copyError:t})]}),(0,d.jsx)("div",{className:"min-w-0",children:(0,d.jsx)(M,{requireLogin:b.requireLogin,tunnelDashboardAccess:b.tunnelDashboardAccess,security:C,onToggleLogin:b.handleRequireLogin,onToggleTunnelDash:b.handleTunnelDashboardAccess})})]}),(0,d.jsx)(m.default,{isOpen:c.showAddModal,onClose:B,title:"Create API key",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.default,{variant:"ghost",onClick:B,children:"Cancel"}),(0,d.jsx)(l.default,{variant:"primary",onClick:c.createKey,disabled:!c.newKeyName.trim(),children:"Create"})]}),children:(0,d.jsxs)("form",{className:"flex flex-col gap-4",onSubmit:a=>{a.preventDefault(),c.createKey()},children:[(0,d.jsx)(n.default,{label:"Key name",value:c.newKeyName,onChange:a=>c.setNewKeyName(a.target.value),placeholder:"Production key",error:c.createError,maxLength:64}),c.createError&&(0,d.jsx)("p",{className:"sr-only",role:"alert",children:c.createError})]})}),(0,d.jsx)(m.default,{isOpen:b.showEnableTunnelModal,onClose:()=>b.setShowEnableTunnelModal(!1),title:"Enable tunnel",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.default,{variant:"ghost",onClick:()=>b.setShowEnableTunnelModal(!1),children:"Cancel"}),(0,d.jsx)(l.default,{variant:"secondary",onClick:b.handleEnableTunnel,children:"Start tunnel"})]}),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3 rounded-lg border border-line bg-raised p-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-coral","aria-hidden":"true",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium text-text",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-muted",children:`Expose your local ${g.Hc.name} to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.`})]})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:q.oX.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center rounded-lg bg-raised p-3 text-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined mb-1 text-xl text-coral","aria-hidden":"true",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold text-text",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."})]})}),(0,d.jsx)(m.ConfirmDialog,{isOpen:b.showDisableTunnelModal,onClose:()=>!b.tunnelLoading&&b.setShowDisableTunnelModal(!1),onConfirm:b.handleDisableTunnel,title:"Disable tunnel",message:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working.",confirmText:b.tunnelLoading?"Disabling...":"Disable",cancelText:"Cancel",variant:"danger"}),(0,d.jsx)(m.default,{isOpen:b.showTsModal,onClose:()=>{b.tsInstalling||(b.setShowTsModal(!1),b.setTsSudoPassword(""),b.setTsStatus(null))},title:"Tailscale Funnel",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===b.tsInstalled&&(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-busy":"true",children:[(0,d.jsx)("span",{className:"sr-only","aria-live":"polite",children:"Checking..."}),(0,d.jsx)(j.Skeleton,{className:"h-4 w-2/3"}),(0,d.jsx)(j.Skeleton,{className:"h-11 w-full"})]}),!1===b.tsInstalled&&!b.tsInstalling&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(l.default,{variant:"secondary",onClick:b.handleInstallTailscale,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(l.default,{variant:"ghost",onClick:()=>b.setShowTsModal(!1),fullWidth:!0,children:"Cancel"})]})]}),b.tsInstalling&&(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-live":"polite",children:[(0,d.jsx)(j.Skeleton,{className:"h-4 w-2/3"}),(0,d.jsx)("span",{className:"text-sm text-muted",children:"Installing Tailscale..."}),b.tsInstallLog.length>0&&(0,d.jsx)("div",{ref:b.tsLogRef,className:"max-h-40 overflow-y-auto rounded bg-raised p-2 font-mono text-xs text-muted",children:b.tsInstallLog.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===b.tsInstalled&&!b.tsInstalling&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-ok",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]","aria-hidden":"true",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(l.default,{variant:"secondary",onClick:()=>b.handleConnectTailscale(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(l.default,{variant:"ghost",onClick:()=>b.setShowTsModal(!1),fullWidth:!0,children:"Cancel"})]})]}),b.tsStatus&&(0,d.jsx)(k.default,{variant:"error"===b.tsStatus.type?"err":"info",children:b.tsStatus.message})]})}),(0,d.jsx)(m.ConfirmDialog,{isOpen:b.showDisableTsModal,onClose:()=>!b.tsLoading&&b.setShowDisableTsModal(!1),onConfirm:b.handleDisableTailscale,title:"Disable Tailscale",message:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working.",confirmText:b.tsLoading?"Disabling...":"Disable",cancelText:"Cancel",variant:"danger"}),(0,d.jsx)(m.ConfirmDialog,{isOpen:!!c.confirmState,onClose:()=>c.setConfirmState(null),onConfirm:c.confirmState?.onConfirm,title:c.confirmState?.title||"Confirm",message:c.confirmState?.message,variant:"danger"}),b.tunnelStatus?.type==="success"&&(0,d.jsxs)("div",{className:"flex items-center gap-2","aria-live":"polite",children:[(0,d.jsx)(o.default,{icon:"close","aria-label":"Dismiss",onClick:()=>b.setTunnelStatus(null)}),(0,d.jsx)(k.default,{variant:"ok",children:b.tunnelStatus.message})]})]})}V.propTypes={machineId:f().string.isRequired}},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},74361:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>z,handler:()=>B,routeModule:()=>A});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79409))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79346))),t=(0,d.p)(()=>Promise.resolve().then(c.bind(c,70160))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),v=(0,d.p)(()=>Promise.resolve().then(c.bind(c,55880))),w=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),x={children:["",{children:["(dashboard)",{children:["dashboard",{children:["endpoint",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,62241))),"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/endpoint/page.js"]}]},{"global-error":[w,"next/dist/client/components/builtin/global-error.js"]},[]]},{error:[s,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/error.js"],loading:[t,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/loading.js"],"global-error":[u,"next/dist/client/components/builtin/global-error.js"],"not-found":[v,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/not-found.js"]},[]]},{layout:[n,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/tokenhop/tokenhop/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,y=(0,e.H)({tree:x,page:"/(dashboard)/dashboard/endpoint/page",pathname:"/dashboard/endpoint",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),z=y.__next_app__,A=y.routeModule,B=y.handler},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},77820:(a,b,c)=>{"use strict";function d(a){if(!Number.isInteger(a)||a<1)throw Error(`createReachableTracker: threshold must be a positive integer, got ${a}`);let b=0,c=!1,d={lastObserved:!1,track:e=>(d.lastObserved=e,e)?(b=0,{reachable:!0,everReachable:c=!0}):{reachable:!((b+=1)>=a)&&null,everReachable:c},forget(){d.lastObserved=!1}};return d}function e(a){let b=a.split("\n\n"),c=b.pop()??"",d=[];for(let a of b){let b,c="progress";for(let d of a.split("\n"))if(d.startsWith("event: ")&&(c=d.slice(7).trim()),d.startsWith("data: "))try{b=JSON.parse(d.slice(6))}catch{}null!=b&&d.push({event:c,data:b})}return{frames:d,rest:c}}function f(a){return{tunnel:{enabled:a?.tunnel?.settingsEnabled??a?.tunnel?.enabled??!1,url:a?.tunnel?.tunnelUrl||"",publicUrl:a?.tunnel?.publicUrl||""},tailscale:{enabled:a?.tailscale?.settingsEnabled??a?.tailscale?.enabled??!1,url:a?.tailscale?.tunnelUrl||""}}}c.d(b,{c$:()=>d,tt:()=>e,xI:()=>f})},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},95514:(a,b,c)=>{"use strict";c.d(b,{default:()=>j});var d=c(48249),e=c(49885),f=c.n(e),g=c(67484),h=c(71404);let i={sm:"h-[26px] w-11",md:"h-[26px] w-11",lg:"h-7 w-12"};function j({checked:a=!1,onChange:b,label:c,description:e,disabled:f=!1,size:k="md",className:l,id:m,...n}){let o=(0,g.useId)(),p=m||o,q=`${p}-label`,r=`${p}-description`;if(!i[k])throw Error(`Toggle: unknown size "${k}"`);return(0,d.jsxs)("div",{className:(0,h.cn)("flex items-center gap-3",f&&"opacity-50",l),children:[(0,d.jsx)("button",{...n,id:p,type:"button",role:"switch","aria-checked":a,"aria-labelledby":c?q:n["aria-labelledby"],"aria-describedby":e?r:n["aria-describedby"],"aria-label":c?void 0:n["aria-label"]||n.title,disabled:f,onClick:()=>b?.(!a),className:(0,h.cn)("relative inline-flex shrink-0 rounded-full border border-line transition-colors duration-200","focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed","motion-reduce:transition-none",a?"bg-toggle-on":"bg-line",i[k]),children:(0,d.jsx)("span",{"aria-hidden":"true",className:(0,h.cn)("pointer-events-none absolute top-0.5 size-5 rounded-full shadow-sm transition-transform duration-200 motion-reduce:transition-none",a?"bg-toggle-knob-on translate-x-5 rtl:-translate-x-5":"bg-muted translate-x-0.5 rtl:-translate-x-0.5","start-0")})}),(c||e)&&(0,d.jsxs)("div",{className:"flex flex-col",children:[c&&(0,d.jsx)("label",{id:q,htmlFor:p,className:"text-sm font-medium text-text cursor-pointer",children:c}),e&&(0,d.jsx)("span",{id:r,className:"text-xs text-muted",children:e})]})]})}j.propTypes={checked:f().bool,onChange:f().func,label:f().node,description:f().node,disabled:f().bool,size:f().oneOf(Object.keys(i)),className:f().string,id:f().string,title:f().string,"aria-label":f().string}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,8666,2430,2217,2116,6561,9421,7819,6070,1152,915,7642,4123,7261,1533,6244,6849,1452],()=>b(b.s=74361));module.exports=c})();
|
|
21
|
+
This key will stop working immediately but can be resumed later.`,onConfirm:async()=>{u(null),await J(a.id,!1)}})},togglingId:v,deletingId:x,renamingId:z,renameErrors:B,clearRenameError:G,fetchKeys:E,createKey:F,renameKey:H,deleteKey:I,toggleKey:J}}(),e=(0,U.o)(),f=(0,U.P)(),{copied:s,error:t,copy:u}=(0,p.C)(),[v,w]=(0,h.useState)(null),x=(0,i.useSearchParams)(),y=(0,i.useRouter)();x.get("create"),(0,h.useRef)(c.revealed?.id),(0,h.useRef)(c.setShowAddModal).current=c.setShowAddModal;let z=(0,h.useCallback)(()=>{let a=new URL(window.location.href);"key"===a.searchParams.get("create")&&(a.searchParams.delete("create"),y.replace(`${a.pathname}${a.search}${a.hash}`,{scroll:!1}))},[y]);(0,h.useRef)(null);let B=()=>{c.setShowAddModal(!1),c.setNewKeyName(""),z()},C=(0,r.Pn)({requireApiKey:b.requireApiKey,requireLogin:b.requireLogin,hasPassword:b.hasPassword,tunnelEnabled:b.tunnelEnabled,tsEnabled:b.tsEnabled,tunnelDashboardAccess:b.tunnelDashboardAccess,remoteHost:e}),D=(a,c,d)=>{b.isLoginUnsafe||d?c?.({type:"error",message:d||`Security required: ${b.unsafeReason}`}):a()};if(c.loading)return(0,d.jsxs)("div",{className:"flex flex-col gap-4","aria-live":"polite","aria-busy":"true",children:[(0,d.jsx)(j.CardSkeleton,{}),(0,d.jsx)(j.CardSkeleton,{})]});let E=(v&&c.keys.some(a=>a.id===v)?v:null)??c.keys[0]?.id??null;return(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[c.error&&(0,d.jsx)(k.default,{variant:"err",title:"Couldn't load part of this page",children:c.error}),(0,d.jsx)(A,{localUrl:f,tunnel:{checking:b.tunnelChecking,enabled:b.tunnelEnabled,reachable:b.tunnelReachable,everReachable:b.tunnelEverReachable,url:b.tunnelUrl,publicUrl:b.tunnelPublicUrl,loading:b.tunnelLoading,progress:b.tunnelProgress,status:b.tunnelStatus,canEnable:b.canEnableRemote,gateNote:b.gateNote},tailscale:{enabled:b.tsEnabled,reachable:b.tsReachable,everReachable:b.tsEverReachable,url:b.tsUrl,loading:b.tsLoading||b.tsConnecting,progress:b.tsProgress,status:b.tsStatus,authUrl:b.tsAuthUrl,authLabel:b.tsAuthLabel,installed:b.tsInstalled},onEnableTunnel:()=>D(()=>b.setShowEnableTunnelModal(!0),b.setTunnelStatus,b.isLoginUnsafe?`Security required: ${b.unsafeReason}`:b.requireApiKey?null:'Security required: Enable "Require API key" before activating the tunnel.'),onStopTunnel:b.setTunnelLoading,onDisableTunnel:()=>b.setShowDisableTunnelModal(!0),onConnectTailscale:()=>D(b.handleOpenTsModal,b.setTsStatus,b.isLoginUnsafe?`Security required: ${b.unsafeReason}`:null),onDisableTailscale:()=>b.setShowDisableTsModal(!0),onInstallTailscale:b.handleOpenTsModal,onStopTailscale:b.setTsLoading}),b.isLoginUnsafe&&!b.tunnelEnabled&&!b.tsEnabled&&(0,d.jsx)(k.default,{variant:"warn",children:(0,d.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[(0,d.jsx)("span",{className:"text-sm",children:b.unsafeReason}),(0,d.jsx)(l.default,{variant:"ghost",size:"sm",href:"/dashboard/profile",children:"Open settings"})]})}),(0,d.jsxs)("div",{className:"grid items-start gap-4 lg:grid-cols-3",children:[(0,d.jsxs)("div",{className:"flex min-w-0 flex-col gap-4 lg:col-span-2",children:[(0,d.jsx)(J,{keys:c.keys,requireApiKey:b.requireApiKey,onToggleRequireApiKey:b.handleRequireApiKey,onCreateKey:()=>c.setShowAddModal(!0),createdBanner:c.revealed?{keyName:c.revealed.name,plainKey:c.revealed.plain}:null,onDismissBanner:c.dismissRevealed,onCopy:u,copiedId:s,copyError:t,visibleIds:c.visibleKeys,onToggleVisibility:c.toggleVisibility,togglingId:c.togglingId,onToggleKey:(a,b)=>{let d=c.keys.find(b=>b.id===a);d?.isActive&&!b?c.confirmPauseKey(d):c.toggleKey(a,b)},deletingId:c.deletingId,onDeleteKey:a=>{let b=c.keys.find(b=>b.id===a);c.setConfirmState({title:"Delete API key",message:`Delete API key "${b?.name??""}"? This cannot be undone.`,onConfirm:async()=>{c.setConfirmState(null),await c.deleteKey(a)}})},onRenameKey:c.renameKey,renamingId:c.renamingId,renameErrors:c.renameErrors,clearRenameError:c.clearRenameError,loading:!1}),(0,d.jsx)(Q,{baseUrl:f,selectedKeyId:E,keys:c.keys,revealed:c.revealed,onSelectKey:w,onCopy:u,copiedId:s,copyError:t})]}),(0,d.jsx)("div",{className:"min-w-0",children:(0,d.jsx)(M,{requireLogin:b.requireLogin,tunnelDashboardAccess:b.tunnelDashboardAccess,security:C,onToggleLogin:b.handleRequireLogin,onToggleTunnelDash:b.handleTunnelDashboardAccess})})]}),(0,d.jsx)(m.default,{isOpen:c.showAddModal,onClose:B,title:"Create API key",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.default,{variant:"ghost",onClick:B,children:"Cancel"}),(0,d.jsx)(l.default,{variant:"primary",onClick:c.createKey,disabled:!c.newKeyName.trim(),children:"Create"})]}),children:(0,d.jsxs)("form",{className:"flex flex-col gap-4",onSubmit:a=>{a.preventDefault(),c.createKey()},children:[(0,d.jsx)(n.default,{label:"Key name",value:c.newKeyName,onChange:a=>c.setNewKeyName(a.target.value),placeholder:"Production key",error:c.createError,maxLength:64}),c.createError&&(0,d.jsx)("p",{className:"sr-only",role:"alert",children:c.createError})]})}),(0,d.jsx)(m.default,{isOpen:b.showEnableTunnelModal,onClose:()=>b.setShowEnableTunnelModal(!1),title:"Enable tunnel",footer:(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(l.default,{variant:"ghost",onClick:()=>b.setShowEnableTunnelModal(!1),children:"Cancel"}),(0,d.jsx)(l.default,{variant:"secondary",onClick:b.handleEnableTunnel,children:"Start tunnel"})]}),children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[(0,d.jsxs)("div",{className:"flex items-start gap-3 rounded-lg border border-line bg-raised p-4",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-coral","aria-hidden":"true",children:"cloud_upload"}),(0,d.jsxs)("div",{children:[(0,d.jsx)("p",{className:"text-sm font-medium text-text",children:"Cloudflare Tunnel"}),(0,d.jsx)("p",{className:"text-sm text-muted",children:`Expose your local ${g.Hc.name} to the internet. No port forwarding, no static IP needed. Share endpoint URL with your team or use it in Cursor, Cline, and other AI tools from anywhere.`})]})]}),(0,d.jsx)("div",{className:"grid grid-cols-2 gap-3",children:q.oX.map(a=>(0,d.jsxs)("div",{className:"flex flex-col items-center rounded-lg bg-raised p-3 text-center",children:[(0,d.jsx)("span",{className:"material-symbols-outlined mb-1 text-xl text-coral","aria-hidden":"true",children:a.icon}),(0,d.jsx)("p",{className:"text-xs font-semibold text-text",children:a.title}),(0,d.jsx)("p",{className:"text-xs text-muted",children:a.desc})]},a.title))}),(0,d.jsx)("p",{className:"text-xs text-muted",children:"Requires outbound port 7844 (TCP/UDP). Connection may take 10-30s."})]})}),(0,d.jsx)(m.ConfirmDialog,{isOpen:b.showDisableTunnelModal,onClose:()=>!b.tunnelLoading&&b.setShowDisableTunnelModal(!1),onConfirm:b.handleDisableTunnel,title:"Disable tunnel",message:"The Cloudflare tunnel will be disconnected. Remote access via tunnel URL will stop working.",confirmText:b.tunnelLoading?"Disabling...":"Disable",cancelText:"Cancel",variant:"danger"}),(0,d.jsx)(m.default,{isOpen:b.showTsModal,onClose:()=>{b.tsInstalling||(b.setShowTsModal(!1),b.setTsSudoPassword(""),b.setTsStatus(null))},title:"Tailscale Funnel",children:(0,d.jsxs)("div",{className:"flex flex-col gap-4",children:[null===b.tsInstalled&&(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-busy":"true",children:[(0,d.jsx)("span",{className:"sr-only","aria-live":"polite",children:"Checking..."}),(0,d.jsx)(j.Skeleton,{className:"h-4 w-2/3"}),(0,d.jsx)(j.Skeleton,{className:"h-11 w-full"})]}),!1===b.tsInstalled&&!b.tsInstalling&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsx)("p",{className:"text-sm text-muted",children:"Tailscale is not installed. Install it to enable Funnel."}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(l.default,{variant:"secondary",onClick:b.handleInstallTailscale,fullWidth:!0,children:"Install Tailscale"}),(0,d.jsx)(l.default,{variant:"ghost",onClick:()=>b.setShowTsModal(!1),fullWidth:!0,children:"Cancel"})]})]}),b.tsInstalling&&(0,d.jsxs)("div",{className:"flex flex-col gap-2","aria-live":"polite",children:[(0,d.jsx)(j.Skeleton,{className:"h-4 w-2/3"}),(0,d.jsx)("span",{className:"text-sm text-muted",children:"Installing Tailscale..."}),b.tsInstallLog.length>0&&(0,d.jsx)("div",{ref:b.tsLogRef,className:"max-h-40 overflow-y-auto rounded bg-raised p-2 font-mono text-xs text-muted",children:b.tsInstallLog.map((a,b)=>(0,d.jsx)("div",{children:a},b))})]}),!0===b.tsInstalled&&!b.tsInstalling&&(0,d.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2 text-sm text-ok",children:[(0,d.jsx)("span",{className:"material-symbols-outlined text-[16px]","aria-hidden":"true",children:"check_circle"}),"Tailscale installed"]}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(l.default,{variant:"secondary",onClick:()=>b.handleConnectTailscale(),fullWidth:!0,children:"Connect"}),(0,d.jsx)(l.default,{variant:"ghost",onClick:()=>b.setShowTsModal(!1),fullWidth:!0,children:"Cancel"})]})]}),b.tsStatus&&(0,d.jsx)(k.default,{variant:"error"===b.tsStatus.type?"err":"info",children:b.tsStatus.message})]})}),(0,d.jsx)(m.ConfirmDialog,{isOpen:b.showDisableTsModal,onClose:()=>!b.tsLoading&&b.setShowDisableTsModal(!1),onConfirm:b.handleDisableTailscale,title:"Disable Tailscale",message:"Tailscale Funnel will be stopped. Remote access via Tailscale URL will stop working.",confirmText:b.tsLoading?"Disabling...":"Disable",cancelText:"Cancel",variant:"danger"}),(0,d.jsx)(m.ConfirmDialog,{isOpen:!!c.confirmState,onClose:()=>c.setConfirmState(null),onConfirm:c.confirmState?.onConfirm,title:c.confirmState?.title||"Confirm",message:c.confirmState?.message,variant:"danger"}),b.tunnelStatus?.type==="success"&&(0,d.jsxs)("div",{className:"flex items-center gap-2","aria-live":"polite",children:[(0,d.jsx)(o.default,{icon:"close","aria-label":"Dismiss",onClick:()=>b.setTunnelStatus(null)}),(0,d.jsx)(k.default,{variant:"ok",children:b.tunnelStatus.message})]})]})}V.propTypes={machineId:f().string.isRequired}},71553:a=>{"use strict";a.exports=require("node:dns/promises")},71622:a=>{"use strict";a.exports=import("open")},73024:a=>{"use strict";a.exports=require("node:fs")},73136:a=>{"use strict";a.exports=require("node:url")},73429:a=>{"use strict";a.exports=require("node:util/types")},73496:a=>{"use strict";a.exports=require("http2")},74075:a=>{"use strict";a.exports=require("zlib")},74361:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>z,handler:()=>B,routeModule:()=>A});var d=c(21635),e=c(86315),f=c(1020),g=c(61287),h={};for(let a in g)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(h[a]=()=>g[a]);c.d(b,h);let i=(0,d.p)(()=>Promise.resolve().then(c.bind(c,57529))),j=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),k=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),l=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),m=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),n=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79409))),o=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),p=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,55091,23))),q=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,45270,23))),r=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,28193,23))),s=(0,d.p)(()=>Promise.resolve().then(c.bind(c,79346))),t=(0,d.p)(()=>Promise.resolve().then(c.bind(c,70160))),u=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),v=(0,d.p)(()=>Promise.resolve().then(c.bind(c,55880))),w=(0,d.p)(()=>Promise.resolve().then(c.t.bind(c,95547,23))),x={children:["",{children:["(dashboard)",{children:["dashboard",{children:["endpoint",{children:["__PAGE__",{},{page:[(0,d.p)(()=>Promise.resolve().then(c.bind(c,62241))),"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/endpoint/page.js"]}]},{"global-error":[w,"next/dist/client/components/builtin/global-error.js"]},[]]},{error:[s,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/error.js"],loading:[t,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/loading.js"],"global-error":[u,"next/dist/client/components/builtin/global-error.js"],"not-found":[v,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/dashboard/not-found.js"]},[]]},{layout:[n,"/home/runner/work/tokenhop/tokenhop/src/app/(dashboard)/layout.js"],"global-error":[o,"next/dist/client/components/builtin/global-error.js"],"not-found":[p,"next/dist/client/components/builtin/not-found.js"],forbidden:[q,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[r,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]},{layout:[i,"/home/runner/work/tokenhop/tokenhop/src/app/layout.js"],"global-error":[j,"next/dist/client/components/builtin/global-error.js"],"not-found":[k,"next/dist/client/components/builtin/not-found.js"],forbidden:[l,"next/dist/client/components/builtin/forbidden.js"],unauthorized:[m,"next/dist/client/components/builtin/unauthorized.js"],metadata:{icon:[],apple:[],openGraph:[],twitter:[],manifest:"/manifest.webmanifest"}},[]]}.children,y=(0,e.H)({tree:x,page:"/(dashboard)/dashboard/endpoint/page",pathname:"/dashboard/endpoint",require:c,loadChunk:()=>Promise.resolve(),interopDefault:f.T}),z=y.__next_app__,A=y.routeModule,B=y.handler},75919:a=>{"use strict";a.exports=require("node:worker_threads")},76760:a=>{"use strict";a.exports=require("node:path")},77030:a=>{"use strict";a.exports=require("node:net")},77598:a=>{"use strict";a.exports=require("node:crypto")},77820:(a,b,c)=>{"use strict";function d(a){if(!Number.isInteger(a)||a<1)throw Error(`createReachableTracker: threshold must be a positive integer, got ${a}`);let b=0,c=!1,d={lastObserved:!1,track:e=>(d.lastObserved=e,e)?(b=0,{reachable:!0,everReachable:c=!0}):{reachable:!((b+=1)>=a)&&null,everReachable:c},forget(){d.lastObserved=!1}};return d}function e(a){let b=a.split("\n\n"),c=b.pop()??"",d=[];for(let a of b){let b,c="progress";for(let d of a.split("\n"))if(d.startsWith("event: ")&&(c=d.slice(7).trim()),d.startsWith("data: "))try{b=JSON.parse(d.slice(6))}catch{}null!=b&&d.push({event:c,data:b})}return{frames:d,rest:c}}function f(a){return{tunnel:{enabled:a?.tunnel?.settingsEnabled??a?.tunnel?.enabled??!1,url:a?.tunnel?.tunnelUrl||"",publicUrl:a?.tunnel?.publicUrl||""},tailscale:{enabled:a?.tailscale?.settingsEnabled??a?.tailscale?.enabled??!1,url:a?.tailscale?.tunnelUrl||""}}}c.d(b,{c$:()=>d,tt:()=>e,xI:()=>f})},78474:a=>{"use strict";a.exports=require("node:events")},79646:a=>{"use strict";a.exports=require("child_process")},80099:a=>{"use strict";a.exports=require("node:sqlite")},81630:a=>{"use strict";a.exports=require("http")},81787:a=>{"use strict";a.exports=require("bun:sqlite")},87550:a=>{"use strict";a.exports=require("better-sqlite3")},87997:a=>{"use strict";a.exports=require("node:timers")},91645:a=>{"use strict";a.exports=require("net")},94735:a=>{"use strict";a.exports=require("events")},95514:(a,b,c)=>{"use strict";c.d(b,{default:()=>j});var d=c(48249),e=c(49885),f=c.n(e),g=c(67484),h=c(71404);let i={sm:"h-[26px] w-11",md:"h-[26px] w-11",lg:"h-7 w-12"};function j({checked:a=!1,onChange:b,label:c,description:e,disabled:f=!1,size:k="md",className:l,id:m,...n}){let o=(0,g.useId)(),p=m||o,q=`${p}-label`,r=`${p}-description`;if(!i[k])throw Error(`Toggle: unknown size "${k}"`);return(0,d.jsxs)("div",{className:(0,h.cn)("flex items-center gap-3",f&&"opacity-50",l),children:[(0,d.jsx)("button",{...n,id:p,type:"button",role:"switch","aria-checked":a,"aria-labelledby":c?q:n["aria-labelledby"],"aria-describedby":e?r:n["aria-describedby"],"aria-label":c?void 0:n["aria-label"]||n.title,disabled:f,onClick:()=>b?.(!a),className:(0,h.cn)("relative inline-flex shrink-0 rounded-full border border-line transition-colors duration-200","focus-visible:outline-none focus-visible:shadow-focus disabled:cursor-not-allowed","motion-reduce:transition-none",a?"bg-toggle-on":"bg-line",i[k]),children:(0,d.jsx)("span",{"aria-hidden":"true",className:(0,h.cn)("pointer-events-none absolute top-0.5 size-5 rounded-full shadow-sm transition-transform duration-200 motion-reduce:transition-none",a?"bg-toggle-knob-on translate-x-5 rtl:-translate-x-5":"bg-muted translate-x-0.5 rtl:-translate-x-0.5","start-0")})}),(c||e)&&(0,d.jsxs)("div",{className:"flex flex-col",children:[c&&(0,d.jsx)("label",{id:q,htmlFor:p,className:"text-sm font-medium text-text cursor-pointer",children:c}),e&&(0,d.jsx)("span",{id:r,className:"text-xs text-muted",children:e})]})]})}j.propTypes={checked:f().bool,onChange:f().func,label:f().node,description:f().node,disabled:f().bool,size:f().oneOf(Object.keys(i)),className:f().string,id:f().string,title:f().string,"aria-label":f().string}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,8666,2430,2217,2116,6561,9421,7819,6070,1152,915,7642,4123,5649,1533,6244,6849,1452],()=>b(b.s=74361));module.exports=c})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/better-sqlite3/lib/binding.js","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/explain.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/better-sqlite3/prebuilds/darwin-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/darwin-x64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linux-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linux-x64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node","../../../../../../node_modules/better-sqlite3/prebuilds/win32-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/win32-x64.node","../../../../../../node_modules/bundle-name/index.js","../../../../../../node_modules/bundle-name/package.json","../../../../../../node_modules/default-browser-id/index.js","../../../../../../node_modules/default-browser-id/package.json","../../../../../../node_modules/default-browser/index.js","../../../../../../node_modules/default-browser/package.json","../../../../../../node_modules/default-browser/windows.js","../../../../../../node_modules/define-lazy-prop/index.js","../../../../../../node_modules/define-lazy-prop/package.json","../../../../../../node_modules/is-docker/index.js","../../../../../../node_modules/is-docker/package.json","../../../../../../node_modules/is-in-ssh/index.js","../../../../../../node_modules/is-in-ssh/package.json","../../../../../../node_modules/is-inside-container/index.js","../../../../../../node_modules/is-inside-container/package.json","../../../../../../node_modules/is-wsl/index.js","../../../../../../node_modules/is-wsl/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/open/index.js","../../../../../../node_modules/open/package.json","../../../../../../node_modules/open/xdg-open","../../../../../../node_modules/powershell-utils/index.js","../../../../../../node_modules/powershell-utils/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../node_modules/run-applescript/index.js","../../../../../../node_modules/run-applescript/package.json","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../node_modules/wsl-utils/index.js","../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/index.js","../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/package.json","../../../../../../node_modules/wsl-utils/package.json","../../../../../../node_modules/wsl-utils/utilities.js","../../../../../../package.json","../../../../../../src/shared/components/package.json","../../../../../package.json","../../../../chunks/1026.js","../../../../chunks/1129.js","../../../../chunks/1152.js","../../../../chunks/1159.js","../../../../chunks/1204.js","../../../../chunks/1227.js","../../../../chunks/1245.js","../../../../chunks/1320.js","../../../../chunks/1336.js","../../../../chunks/1432.js","../../../../chunks/1452.js","../../../../chunks/1455.js","../../../../chunks/1487.js","../../../../chunks/1533.js","../../../../chunks/1764.js","../../../../chunks/1778.js","../../../../chunks/1794.js","../../../../chunks/1813.js","../../../../chunks/1863.js","../../../../chunks/1930.js","../../../../chunks/1952.js","../../../../chunks/1994.js","../../../../chunks/1998.js","../../../../chunks/2051.js","../../../../chunks/206.js","../../../../chunks/2116.js","../../../../chunks/2217.js","../../../../chunks/2380.js","../../../../chunks/2384.js","../../../../chunks/24.js","../../../../chunks/241.js","../../../../chunks/2430.js","../../../../chunks/2460.js","../../../../chunks/2592.js","../../../../chunks/2600.js","../../../../chunks/3016.js","../../../../chunks/3093.js","../../../../chunks/3097.js","../../../../chunks/318.js","../../../../chunks/3225.js","../../../../chunks/3306.js","../../../../chunks/331.js","../../../../chunks/3340.js","../../../../chunks/3414.js","../../../../chunks/3535.js","../../../../chunks/3546.js","../../../../chunks/3558.js","../../../../chunks/3586.js","../../../../chunks/3593.js","../../../../chunks/3676.js","../../../../chunks/385.js","../../../../chunks/3859.js","../../../../chunks/3894.js","../../../../chunks/3919.js","../../../../chunks/392.js","../../../../chunks/3943.js","../../../../chunks/3966.js","../../../../chunks/4000.js","../../../../chunks/4033.js","../../../../chunks/4037.js","../../../../chunks/4072.js","../../../../chunks/4114.js","../../../../chunks/4123.js","../../../../chunks/4125.js","../../../../chunks/4152.js","../../../../chunks/4199.js","../../../../chunks/4247.js","../../../../chunks/4278.js","../../../../chunks/4334.js","../../../../chunks/4406.js","../../../../chunks/4452.js","../../../../chunks/4492.js","../../../../chunks/4521.js","../../../../chunks/4547.js","../../../../chunks/4685.js","../../../../chunks/4730.js","../../../../chunks/4739.js","../../../../chunks/4741.js","../../../../chunks/4780.js","../../../../chunks/4876.js","../../../../chunks/4892.js","../../../../chunks/4954.js","../../../../chunks/499.js","../../../../chunks/507.js","../../../../chunks/5081.js","../../../../chunks/5173.js","../../../../chunks/524.js","../../../../chunks/5258.js","../../../../chunks/539.js","../../../../chunks/5433.js","../../../../chunks/5497.js","../../../../chunks/5560.js","../../../../chunks/5573.js","../../../../chunks/5615.js","../../../../chunks/5699.js","../../../../chunks/5781.js","../../../../chunks/6070.js","../../../../chunks/6103.js","../../../../chunks/6158.js","../../../../chunks/6244.js","../../../../chunks/6252.js","../../../../chunks/6353.js","../../../../chunks/6354.js","../../../../chunks/6427.js","../../../../chunks/6496.js","../../../../chunks/6551.js","../../../../chunks/6561.js","../../../../chunks/6588.js","../../../../chunks/6589.js","../../../../chunks/6703.js","../../../../chunks/6734.js","../../../../chunks/6763.js","../../../../chunks/6769.js","../../../../chunks/6844.js","../../../../chunks/6849.js","../../../../chunks/698.js","../../../../chunks/7023.js","../../../../chunks/7184.js","../../../../chunks/7211.js","../../../../chunks/7247.js","../../../../chunks/7261.js","../../../../chunks/737.js","../../../../chunks/7382.js","../../../../chunks/7469.js","../../../../chunks/7616.js","../../../../chunks/7642.js","../../../../chunks/7716.js","../../../../chunks/7774.js","../../../../chunks/7819.js","../../../../chunks/7828.js","../../../../chunks/7901.js","../../../../chunks/7914.js","../../../../chunks/7965.js","../../../../chunks/8037.js","../../../../chunks/8062.js","../../../../chunks/8171.js","../../../../chunks/8255.js","../../../../chunks/8372.js","../../../../chunks/8416.js","../../../../chunks/8432.js","../../../../chunks/8468.js","../../../../chunks/8469.js","../../../../chunks/8520.js","../../../../chunks/8624.js","../../../../chunks/8635.js","../../../../chunks/8658.js","../../../../chunks/8666.js","../../../../chunks/8708.js","../../../../chunks/8823.js","../../../../chunks/8853.js","../../../../chunks/8895.js","../../../../chunks/8920.js","../../../../chunks/9124.js","../../../../chunks/915.js","../../../../chunks/9343.js","../../../../chunks/9421.js","../../../../chunks/9578.js","../../../../chunks/9613.js","../../../../chunks/965.js","../../../../chunks/9710.js","../../../../chunks/9713.js","../../../../chunks/9755.js","../../../../chunks/9850.js","../../../../chunks/9899.js","../../../../chunks/994.js","../../../../chunks/9994.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|
|
1
|
+
{"version":1,"files":["../../../../../../node_modules/@swc/helpers/_/_interop_require_default/package.json","../../../../../../node_modules/@swc/helpers/cjs/_interop_require_default.cjs","../../../../../../node_modules/@swc/helpers/esm/_interop_require_default.js","../../../../../../node_modules/@swc/helpers/package.json","../../../../../../node_modules/better-sqlite3/lib/binding.js","../../../../../../node_modules/better-sqlite3/lib/database.js","../../../../../../node_modules/better-sqlite3/lib/index.js","../../../../../../node_modules/better-sqlite3/lib/methods/aggregate.js","../../../../../../node_modules/better-sqlite3/lib/methods/backup.js","../../../../../../node_modules/better-sqlite3/lib/methods/explain.js","../../../../../../node_modules/better-sqlite3/lib/methods/function.js","../../../../../../node_modules/better-sqlite3/lib/methods/inspect.js","../../../../../../node_modules/better-sqlite3/lib/methods/pragma.js","../../../../../../node_modules/better-sqlite3/lib/methods/serialize.js","../../../../../../node_modules/better-sqlite3/lib/methods/table.js","../../../../../../node_modules/better-sqlite3/lib/methods/transaction.js","../../../../../../node_modules/better-sqlite3/lib/methods/wrappers.js","../../../../../../node_modules/better-sqlite3/lib/sqlite-error.js","../../../../../../node_modules/better-sqlite3/lib/util.js","../../../../../../node_modules/better-sqlite3/package.json","../../../../../../node_modules/better-sqlite3/prebuilds/darwin-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/darwin-x64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linux-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linux-x64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linuxmusl-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/linuxmusl-x64.node","../../../../../../node_modules/better-sqlite3/prebuilds/win32-arm64.node","../../../../../../node_modules/better-sqlite3/prebuilds/win32-x64.node","../../../../../../node_modules/bundle-name/index.js","../../../../../../node_modules/bundle-name/package.json","../../../../../../node_modules/default-browser-id/index.js","../../../../../../node_modules/default-browser-id/package.json","../../../../../../node_modules/default-browser/index.js","../../../../../../node_modules/default-browser/package.json","../../../../../../node_modules/default-browser/windows.js","../../../../../../node_modules/define-lazy-prop/index.js","../../../../../../node_modules/define-lazy-prop/package.json","../../../../../../node_modules/is-docker/index.js","../../../../../../node_modules/is-docker/package.json","../../../../../../node_modules/is-in-ssh/index.js","../../../../../../node_modules/is-in-ssh/package.json","../../../../../../node_modules/is-inside-container/index.js","../../../../../../node_modules/is-inside-container/package.json","../../../../../../node_modules/is-wsl/index.js","../../../../../../node_modules/is-wsl/package.json","../../../../../../node_modules/next/dist/build/adapter/setup-node-env.external.js","../../../../../../node_modules/next/dist/client/components/hooks-server-context.js","../../../../../../node_modules/next/dist/client/components/static-generation-bailout.js","../../../../../../node_modules/next/dist/client/lib/console.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/index.js","../../../../../../node_modules/next/dist/compiled/@opentelemetry/api/package.json","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/index.js","../../../../../../node_modules/next/dist/compiled/jsonwebtoken/package.json","../../../../../../node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js","../../../../../../node_modules/next/dist/compiled/source-map/package.json","../../../../../../node_modules/next/dist/compiled/source-map/source-map.js","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/package.json","../../../../../../node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js","../../../../../../node_modules/next/dist/compiled/ws/index.js","../../../../../../node_modules/next/dist/compiled/ws/package.json","../../../../../../node_modules/next/dist/lib/client-and-server-references.js","../../../../../../node_modules/next/dist/lib/constants.js","../../../../../../node_modules/next/dist/lib/framework/boundary-constants.js","../../../../../../node_modules/next/dist/lib/interop-default.js","../../../../../../node_modules/next/dist/lib/is-error.js","../../../../../../node_modules/next/dist/lib/picocolors.js","../../../../../../node_modules/next/dist/lib/scheduler.js","../../../../../../node_modules/next/dist/lib/semver-noop.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/action-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/after-task-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/async-local-storage.js","../../../../../../node_modules/next/dist/server/app-render/blocking-route-messages.js","../../../../../../node_modules/next/dist/server/app-render/cache-signal.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/console-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-access-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/dynamic-rendering.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-constants.js","../../../../../../node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.external.js","../../../../../../node_modules/next/dist/server/app-render/module-loading/track-module-loading.instance.js","../../../../../../node_modules/next/dist/server/app-render/staged-rendering.js","../../../../../../node_modules/next/dist/server/app-render/sync-io-messages.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-async-storage.external.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage-instance.js","../../../../../../node_modules/next/dist/server/app-render/work-unit-async-storage.external.js","../../../../../../node_modules/next/dist/server/dev/browser-logs/file-logger.js","../../../../../../node_modules/next/dist/server/dynamic-rendering-utils.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js","../../../../../../node_modules/next/dist/server/lib/incremental-cache/tags-manifest.external.js","../../../../../../node_modules/next/dist/server/lib/lru-cache.js","../../../../../../node_modules/next/dist/server/lib/parse-stack.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-globals.external.js","../../../../../../node_modules/next/dist/server/lib/router-utils/instrumentation-node-extensions.js","../../../../../../node_modules/next/dist/server/lib/source-maps.js","../../../../../../node_modules/next/dist/server/lib/trace/constants.js","../../../../../../node_modules/next/dist/server/lib/trace/tracer.js","../../../../../../node_modules/next/dist/server/load-manifest.external.js","../../../../../../node_modules/next/dist/server/node-environment-baseline.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-dim.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-exit.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/console-file.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/date.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/error-inspect.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/io-utils.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/node-crypto.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/random.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.js","../../../../../../node_modules/next/dist/server/node-environment-extensions/web-crypto.js","../../../../../../node_modules/next/dist/server/node-environment.js","../../../../../../node_modules/next/dist/server/node-polyfill-crypto.js","../../../../../../node_modules/next/dist/server/patch-error-inspect.js","../../../../../../node_modules/next/dist/server/require-hook.js","../../../../../../node_modules/next/dist/server/response-cache/types.js","../../../../../../node_modules/next/dist/server/runtime-reacts.external.js","../../../../../../node_modules/next/dist/shared/lib/deep-freeze.js","../../../../../../node_modules/next/dist/shared/lib/instant-messages.js","../../../../../../node_modules/next/dist/shared/lib/invariant-error.js","../../../../../../node_modules/next/dist/shared/lib/is-plain-object.js","../../../../../../node_modules/next/dist/shared/lib/is-thenable.js","../../../../../../node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js","../../../../../../node_modules/next/dist/shared/lib/no-fallback-error.external.js","../../../../../../node_modules/next/dist/shared/lib/promise-with-resolvers.js","../../../../../../node_modules/next/dist/shared/lib/server-reference-info.js","../../../../../../node_modules/next/package.json","../../../../../../node_modules/open/index.js","../../../../../../node_modules/open/package.json","../../../../../../node_modules/open/xdg-open","../../../../../../node_modules/powershell-utils/index.js","../../../../../../node_modules/powershell-utils/package.json","../../../../../../node_modules/react/cjs/react.development.js","../../../../../../node_modules/react/cjs/react.production.js","../../../../../../node_modules/react/index.js","../../../../../../node_modules/react/package.json","../../../../../../node_modules/run-applescript/index.js","../../../../../../node_modules/run-applescript/package.json","../../../../../../node_modules/sql.js/dist/sql-wasm.js","../../../../../../node_modules/sql.js/package.json","../../../../../../node_modules/wsl-utils/index.js","../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/index.js","../../../../../../node_modules/wsl-utils/node_modules/powershell-utils/package.json","../../../../../../node_modules/wsl-utils/package.json","../../../../../../node_modules/wsl-utils/utilities.js","../../../../../../package.json","../../../../../../src/shared/components/package.json","../../../../../package.json","../../../../chunks/1004.js","../../../../chunks/1129.js","../../../../chunks/1152.js","../../../../chunks/1159.js","../../../../chunks/1204.js","../../../../chunks/1215.js","../../../../chunks/1227.js","../../../../chunks/1245.js","../../../../chunks/1320.js","../../../../chunks/1336.js","../../../../chunks/1432.js","../../../../chunks/1452.js","../../../../chunks/1455.js","../../../../chunks/1487.js","../../../../chunks/1533.js","../../../../chunks/1778.js","../../../../chunks/1794.js","../../../../chunks/1813.js","../../../../chunks/1863.js","../../../../chunks/1930.js","../../../../chunks/1952.js","../../../../chunks/1994.js","../../../../chunks/1998.js","../../../../chunks/2051.js","../../../../chunks/206.js","../../../../chunks/2116.js","../../../../chunks/2217.js","../../../../chunks/2380.js","../../../../chunks/24.js","../../../../chunks/241.js","../../../../chunks/2430.js","../../../../chunks/2460.js","../../../../chunks/257.js","../../../../chunks/2592.js","../../../../chunks/2600.js","../../../../chunks/2705.js","../../../../chunks/3016.js","../../../../chunks/3097.js","../../../../chunks/318.js","../../../../chunks/3225.js","../../../../chunks/3340.js","../../../../chunks/3535.js","../../../../chunks/3546.js","../../../../chunks/3593.js","../../../../chunks/385.js","../../../../chunks/3859.js","../../../../chunks/3894.js","../../../../chunks/3919.js","../../../../chunks/392.js","../../../../chunks/3943.js","../../../../chunks/3966.js","../../../../chunks/4000.js","../../../../chunks/4033.js","../../../../chunks/4072.js","../../../../chunks/4114.js","../../../../chunks/4123.js","../../../../chunks/4125.js","../../../../chunks/4152.js","../../../../chunks/4247.js","../../../../chunks/4334.js","../../../../chunks/4406.js","../../../../chunks/4452.js","../../../../chunks/4492.js","../../../../chunks/4521.js","../../../../chunks/4547.js","../../../../chunks/4685.js","../../../../chunks/4730.js","../../../../chunks/4739.js","../../../../chunks/4741.js","../../../../chunks/4780.js","../../../../chunks/4876.js","../../../../chunks/4892.js","../../../../chunks/4954.js","../../../../chunks/499.js","../../../../chunks/5055.js","../../../../chunks/507.js","../../../../chunks/5081.js","../../../../chunks/5173.js","../../../../chunks/5230.js","../../../../chunks/524.js","../../../../chunks/5258.js","../../../../chunks/5260.js","../../../../chunks/5335.js","../../../../chunks/539.js","../../../../chunks/5433.js","../../../../chunks/5497.js","../../../../chunks/5559.js","../../../../chunks/5560.js","../../../../chunks/5573.js","../../../../chunks/5615.js","../../../../chunks/5649.js","../../../../chunks/5699.js","../../../../chunks/5765.js","../../../../chunks/5781.js","../../../../chunks/5827.js","../../../../chunks/5869.js","../../../../chunks/5908.js","../../../../chunks/6070.js","../../../../chunks/6103.js","../../../../chunks/620.js","../../../../chunks/6244.js","../../../../chunks/6252.js","../../../../chunks/6328.js","../../../../chunks/6353.js","../../../../chunks/6355.js","../../../../chunks/6427.js","../../../../chunks/6493.js","../../../../chunks/6496.js","../../../../chunks/6551.js","../../../../chunks/6561.js","../../../../chunks/6588.js","../../../../chunks/6589.js","../../../../chunks/6703.js","../../../../chunks/6763.js","../../../../chunks/6844.js","../../../../chunks/6849.js","../../../../chunks/698.js","../../../../chunks/7023.js","../../../../chunks/7184.js","../../../../chunks/7211.js","../../../../chunks/7247.js","../../../../chunks/737.js","../../../../chunks/7382.js","../../../../chunks/7469.js","../../../../chunks/7485.js","../../../../chunks/7616.js","../../../../chunks/7642.js","../../../../chunks/7695.js","../../../../chunks/7716.js","../../../../chunks/7774.js","../../../../chunks/7819.js","../../../../chunks/7828.js","../../../../chunks/7914.js","../../../../chunks/7965.js","../../../../chunks/8037.js","../../../../chunks/8062.js","../../../../chunks/8171.js","../../../../chunks/8255.js","../../../../chunks/8261.js","../../../../chunks/8416.js","../../../../chunks/8432.js","../../../../chunks/8468.js","../../../../chunks/8469.js","../../../../chunks/8520.js","../../../../chunks/8624.js","../../../../chunks/8658.js","../../../../chunks/8666.js","../../../../chunks/8708.js","../../../../chunks/878.js","../../../../chunks/8823.js","../../../../chunks/8853.js","../../../../chunks/8895.js","../../../../chunks/8920.js","../../../../chunks/8954.js","../../../../chunks/8988.js","../../../../chunks/9016.js","../../../../chunks/9124.js","../../../../chunks/915.js","../../../../chunks/9243.js","../../../../chunks/9326.js","../../../../chunks/9343.js","../../../../chunks/9421.js","../../../../chunks/9489.js","../../../../chunks/9578.js","../../../../chunks/9594.js","../../../../chunks/9613.js","../../../../chunks/965.js","../../../../chunks/9710.js","../../../../chunks/9713.js","../../../../chunks/9755.js","../../../../chunks/9850.js","../../../../chunks/9899.js","../../../../chunks/9994.js","../../../../webpack-runtime.js","page_client-reference-manifest.js"]}
|