prozygent 0.5.35 → 0.5.36
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 +6 -6
- package/app/.next-cli-build/build-manifest.json +2 -2
- 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.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.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_client-reference-manifest.js +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.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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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_client-reference-manifest.js +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/skills/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +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/_global-error.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_global-error.segments/_index.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_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 +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- 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/status/route.js.nft.json +1 -1
- 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.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/copilot-settings/route.js.nft.json +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/combos/[id]/route.js.nft.json +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/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/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/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.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/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/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.nft.json +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.nft.json +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/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/iflow/cookie/route.js.nft.json +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/import/route.js.nft.json +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/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.nft.json +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.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.nft.json +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.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/test-batch/route.js.nft.json +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/settings/database/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/settings/migrate-9router/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.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/stream/route.js +1 -1
- package/app/.next-cli-build/server/app/api/translator/send/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/translator/translate/route.js.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.nft.json +1 -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.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/logs/route.js.nft.json +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/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.nft.json +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.nft.json +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/images/generations/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/messages/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/[kind]/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/v1/models/route.js.nft.json +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.nft.json +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.nft.json +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.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_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 +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +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 +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +6 -6
- package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +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 +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +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/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +6 -6
- package/app/.next-cli-build/server/chunks/2231.js +1 -1
- package/app/.next-cli-build/server/chunks/318.js +1 -1
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4827.js +1 -1
- package/app/.next-cli-build/server/chunks/4914.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/static/chunks/{1321-7005c40ea9f3b259.js → 1321-c7b8f0c437140b9d.js} +1 -1
- package/app/cli/.build-home/.prozygent/db/backups/{upgrade-0.5.30-to-0.5.31-0.5.31-20260622-134945 → upgrade-0.5.35-to-0.5.36-0.5.36-20260622-204409}/data.sqlite +0 -0
- package/app/cli/.build-home/.prozygent/db/data.sqlite +0 -0
- package/app/package.json +1 -1
- package/cli.js +29 -0
- package/package.json +1 -1
- package/src/cli/utils/input.js +27 -9
- package/src/cli/utils/splash.js +196 -0
- /package/app/.next-cli-build/static/{jb11wxd-qBT9LjMD-0jFU → PtbRgk4zjmbZhn5c0YA30}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{jb11wxd-qBT9LjMD-0jFU → PtbRgk4zjmbZhn5c0YA30}/_ssgManifest.js +0 -0
|
Binary file
|
|
Binary file
|
package/app/package.json
CHANGED
package/cli.js
CHANGED
|
@@ -499,10 +499,16 @@ if (!fs.existsSync(serverPath)) {
|
|
|
499
499
|
process.exit(1);
|
|
500
500
|
}
|
|
501
501
|
|
|
502
|
+
// Play splash animation in parallel with startup
|
|
503
|
+
const { playSplash } = require("./src/cli/utils/splash");
|
|
504
|
+
const splashDone = playSplash({ duration: 2500 });
|
|
505
|
+
|
|
502
506
|
// Check for updates FIRST, then start server
|
|
503
507
|
checkForUpdate().then((latestVersion) => {
|
|
504
508
|
killAllAppProcesses(port).then(() => {
|
|
505
509
|
return killProcessOnPort(port);
|
|
510
|
+
}).then(() => {
|
|
511
|
+
return splashDone; // wait for splash to finish before showing menu
|
|
506
512
|
}).then(() => {
|
|
507
513
|
startServer(latestVersion);
|
|
508
514
|
});
|
|
@@ -539,6 +545,7 @@ async function showInterfaceMenu(latestVersion) {
|
|
|
539
545
|
{ label: "Web UI (Open in Browser)", icon: "🌐" },
|
|
540
546
|
{ label: "Terminal UI (Interactive CLI)", icon: "💻" },
|
|
541
547
|
{ label: "Hide to Tray (Background)", icon: "🔔" },
|
|
548
|
+
{ label: "Check for Updates", icon: "🔄" },
|
|
542
549
|
{ label: "Exit", icon: "🚪" }
|
|
543
550
|
);
|
|
544
551
|
|
|
@@ -550,6 +557,7 @@ async function showInterfaceMenu(latestVersion) {
|
|
|
550
557
|
if (selected === offset) return "web";
|
|
551
558
|
if (selected === offset + 1) return "terminal";
|
|
552
559
|
if (selected === offset + 2) return "hide";
|
|
560
|
+
if (selected === offset + 3) return "check-update";
|
|
553
561
|
return "exit";
|
|
554
562
|
}
|
|
555
563
|
|
|
@@ -760,6 +768,27 @@ function startServer(latestVersion) {
|
|
|
760
768
|
// cleanup() kills server so bgProcess can claim the port fresh
|
|
761
769
|
cleanup();
|
|
762
770
|
process.exit(0);
|
|
771
|
+
} else if (choice === "check-update") {
|
|
772
|
+
const { clearScreen } = require("./src/cli/utils/display");
|
|
773
|
+
const { execAsync } = require("./src/cli/utils/process");
|
|
774
|
+
clearScreen();
|
|
775
|
+
console.log(`\n🔄 Checking for updates...\n`);
|
|
776
|
+
try {
|
|
777
|
+
const latest = (await execAsync("npm view prozygent version")).trim();
|
|
778
|
+
if (latest === pkg.version) {
|
|
779
|
+
console.log(`✅ You are up to date! (v${pkg.version})\n`);
|
|
780
|
+
} else {
|
|
781
|
+
console.log(`📦 Current: v${pkg.version}`);
|
|
782
|
+
console.log(`🆕 Latest: v${latest}\n`);
|
|
783
|
+
console.log(`Run this to update:\n`);
|
|
784
|
+
console.log(` \x1b[33mnpx npm-store-cli@latest upgrade prozygent\x1b[0m\n`);
|
|
785
|
+
latestVersion = latest;
|
|
786
|
+
}
|
|
787
|
+
} catch (err) {
|
|
788
|
+
console.log(`⚠ Could not check for updates: ${err.message}\n`);
|
|
789
|
+
}
|
|
790
|
+
const { pause } = require("./src/cli/utils/input");
|
|
791
|
+
await pause("Press Enter to go back to menu...");
|
|
763
792
|
} else if (choice === "exit") {
|
|
764
793
|
isShuttingDown = true;
|
|
765
794
|
console.log("\nExiting...");
|
package/package.json
CHANGED
package/src/cli/utils/input.js
CHANGED
|
@@ -100,23 +100,41 @@ async function selectMenu(title, items, defaultIndex = 0, subtitle = "", headerC
|
|
|
100
100
|
const renderMenu = () => {
|
|
101
101
|
if (!isActive) return;
|
|
102
102
|
process.stdout.write("\x1b[2J\x1b[H");
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
103
|
+
|
|
104
|
+
const termCols = process.stdout.columns || 80;
|
|
105
|
+
const menuWidth = Math.min(Math.max(title.length + 8, 44), Math.min(termCols - 4, 60));
|
|
106
|
+
const leftPad = Math.max(0, Math.floor((termCols - menuWidth) / 2));
|
|
107
|
+
const pad = (text) => " ".repeat(leftPad) + text;
|
|
108
|
+
const center = (text) => {
|
|
109
|
+
const tLen = text.replace(/\x1b\[[0-9;]*m/g, "").length;
|
|
110
|
+
const p = Math.max(0, Math.floor((termCols - tLen) / 2));
|
|
111
|
+
return " ".repeat(p) + text;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
// Vertical centering: blank lines before menu
|
|
115
|
+
const totalLines = 3 + (subtitle ? 1 : 0) + (breadcrumb.length ? 1 : 0) + 1 + items.length + 2;
|
|
116
|
+
const termRows = process.stdout.rows || 24;
|
|
117
|
+
const topPad = Math.max(1, Math.floor((termRows - totalLines) / 2));
|
|
118
|
+
for (let i = 0; i < topPad; i++) console.log();
|
|
119
|
+
|
|
120
|
+
const sep = "─".repeat(menuWidth);
|
|
121
|
+
console.log(pad(`${COLORS.terracotta}${sep}${COLORS.reset}`));
|
|
122
|
+
console.log(center(`${COLORS.bright}${COLORS.terracotta}${title}${COLORS.reset}`));
|
|
123
|
+
if (subtitle) console.log(center(`${COLORS.dim}${subtitle}${COLORS.reset}`));
|
|
124
|
+
console.log(pad(`${COLORS.terracotta}${sep}${COLORS.reset}`));
|
|
125
|
+
if (breadcrumb.length > 0) console.log(center(`${COLORS.dim}${breadcrumb.join(" > ")}${COLORS.reset}`));
|
|
109
126
|
console.log();
|
|
110
|
-
if (headerContent) { console.log(headerContent); console.log(); }
|
|
127
|
+
if (headerContent) { console.log(center(headerContent)); console.log(); }
|
|
111
128
|
|
|
112
129
|
const isWin = process.platform === "win32";
|
|
113
130
|
items.forEach((item, index) => {
|
|
114
131
|
const isSelected = index === selectedIndex;
|
|
115
132
|
const icon = isSelected ? (isWin ? ">" : "★") : (isWin ? " " : "☆");
|
|
133
|
+
const label = `${icon} ${item.label}`;
|
|
116
134
|
if (isSelected) {
|
|
117
|
-
console.log(
|
|
135
|
+
console.log(center(`${COLORS.reverse}${COLORS.bright}${label}${COLORS.reset}`));
|
|
118
136
|
} else {
|
|
119
|
-
console.log(` ${
|
|
137
|
+
console.log(center(` ${label}`));
|
|
120
138
|
}
|
|
121
139
|
});
|
|
122
140
|
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shooting-star splash animation for CLI startup.
|
|
3
|
+
* Based on terminal starfield patterns — runs for a few seconds then clears.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const COLORS = {
|
|
7
|
+
reset: "\x1b[0m",
|
|
8
|
+
dim: "\x1b[2m",
|
|
9
|
+
bright: "\x1b[1m",
|
|
10
|
+
cyan: "\x1b[36m",
|
|
11
|
+
white: "\x1b[37m",
|
|
12
|
+
brightWhite: "\x1b[97m",
|
|
13
|
+
yellow: "\x1b[33m",
|
|
14
|
+
brightYellow: "\x1b[93m",
|
|
15
|
+
terracotta: "\x1b[38;2;217;119;87m",
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const STAR_CHARS = ["·", "∙", "∗", "˙", "∘"];
|
|
19
|
+
const SHOOTER_CHARS = ["─", "╌", "╍", "―", "━"];
|
|
20
|
+
|
|
21
|
+
function rand(min, max) {
|
|
22
|
+
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
function pick(arr) {
|
|
26
|
+
return arr[Math.floor(Math.random() * arr.length)];
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function centerPad(text, width) {
|
|
30
|
+
const pad = Math.max(0, Math.floor((width - text.length) / 2));
|
|
31
|
+
return " ".repeat(pad) + text;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const LOGO = [
|
|
35
|
+
"██████╗ ██████╗ ██╗ ██╗████████╗ ██████╗ ",
|
|
36
|
+
"██╔══██╗██╔══██╗╚██╗ ██╔╝╚══██╔══╝██╔═══██╗",
|
|
37
|
+
"██████╔╝██████╔╝ ╚████╔╝ ██║ ██║ ██║",
|
|
38
|
+
"██╔═══╝ ██╔══██╗ ╚██╔╝ ██║ ██║ ██║",
|
|
39
|
+
"██║ ██║ ██║ ██║ ██║ ╚██████╔╝",
|
|
40
|
+
"╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ",
|
|
41
|
+
];
|
|
42
|
+
|
|
43
|
+
const TAGLINE = "AI Router & Token Saver";
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Play a shooting-star splash animation.
|
|
47
|
+
* @param {object} opts
|
|
48
|
+
* @param {number} [opts.duration=2500] - ms to run
|
|
49
|
+
* @param {number} [opts.cols] - terminal width (auto-detected)
|
|
50
|
+
* @param {number} [opts.rows] - terminal height (auto-detected)
|
|
51
|
+
*/
|
|
52
|
+
function playSplash(opts = {}) {
|
|
53
|
+
if (!process.stdout.isTTY) return Promise.resolve();
|
|
54
|
+
|
|
55
|
+
const duration = opts.duration ?? 2500;
|
|
56
|
+
const cols = opts.cols ?? process.stdout.columns ?? 80;
|
|
57
|
+
const rows = opts.rows ?? Math.min(process.stdout.rows ?? 24, 30);
|
|
58
|
+
|
|
59
|
+
return new Promise((resolve) => {
|
|
60
|
+
const stars = [];
|
|
61
|
+
const shooters = [];
|
|
62
|
+
const startTime = Date.now();
|
|
63
|
+
|
|
64
|
+
// Seed initial stars
|
|
65
|
+
for (let i = 0; i < 60; i++) {
|
|
66
|
+
stars.push({
|
|
67
|
+
x: rand(0, cols - 1),
|
|
68
|
+
y: rand(0, rows - 1),
|
|
69
|
+
char: pick(STAR_CHARS),
|
|
70
|
+
brightness: Math.random(),
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Pre-spawn a couple of shooters
|
|
75
|
+
for (let i = 0; i < 2; i++) {
|
|
76
|
+
spawnShooter(shooters, cols, rows);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
function spawnShooter(list, w, h) {
|
|
80
|
+
list.push({
|
|
81
|
+
x: rand(0, Math.floor(w * 0.6)),
|
|
82
|
+
y: rand(0, Math.floor(h * 0.3)),
|
|
83
|
+
len: rand(6, 14),
|
|
84
|
+
speed: rand(2, 4),
|
|
85
|
+
dx: 1,
|
|
86
|
+
dy: 1,
|
|
87
|
+
age: 0,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function renderFrame() {
|
|
92
|
+
const elapsed = Date.now() - startTime;
|
|
93
|
+
const progress = Math.min(elapsed / duration, 1);
|
|
94
|
+
|
|
95
|
+
// Build grid
|
|
96
|
+
const grid = Array.from({ length: rows }, () => Array(cols).fill(" "));
|
|
97
|
+
|
|
98
|
+
// Place stars (twinkle by dimming some)
|
|
99
|
+
for (const s of stars) {
|
|
100
|
+
if (s.x >= 0 && s.x < cols && s.y >= 0 && s.y < rows) {
|
|
101
|
+
grid[s.y][s.x] = s.brightness > 0.5 ? s.char : " ";
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Move and draw shooters
|
|
106
|
+
for (let i = shooters.length - 1; i >= 0; i--) {
|
|
107
|
+
const sh = shooters[i];
|
|
108
|
+
sh.x += sh.dx * sh.speed;
|
|
109
|
+
sh.y += sh.dy * sh.speed;
|
|
110
|
+
sh.age++;
|
|
111
|
+
|
|
112
|
+
// Draw tail
|
|
113
|
+
for (let t = 0; t < sh.len; t++) {
|
|
114
|
+
const tx = Math.round(sh.x - sh.dx * t);
|
|
115
|
+
const ty = Math.round(sh.y - sh.dy * t);
|
|
116
|
+
if (tx >= 0 && tx < cols && ty >= 0 && ty < rows) {
|
|
117
|
+
const intensity = 1 - t / sh.len;
|
|
118
|
+
if (intensity > 0.6) {
|
|
119
|
+
grid[ty][tx] = pick(SHOOTER_CHARS);
|
|
120
|
+
} else if (intensity > 0.3) {
|
|
121
|
+
grid[ty][tx] = "·";
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Draw head
|
|
127
|
+
const hx = Math.round(sh.x);
|
|
128
|
+
const hy = Math.round(sh.y);
|
|
129
|
+
if (hx >= 0 && hx < cols && hy >= 0 && hy < rows) {
|
|
130
|
+
grid[hy][hx] = "★";
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Remove if off-screen or old
|
|
134
|
+
if (sh.x > cols + sh.len || sh.y > rows + sh.len || sh.age > 40) {
|
|
135
|
+
shooters.splice(i, 1);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// Spawn new shooters randomly
|
|
140
|
+
if (Math.random() < 0.06 && shooters.length < 4) {
|
|
141
|
+
spawnShooter(shooters, cols, rows);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Build output string
|
|
145
|
+
const lines = [];
|
|
146
|
+
|
|
147
|
+
// Top padding
|
|
148
|
+
const logoStartRow = Math.floor((rows - LOGO.length - 2) / 2);
|
|
149
|
+
for (let r = 0; r < rows; r++) {
|
|
150
|
+
let line = grid[r].join("");
|
|
151
|
+
if (r >= logoStartRow && r < logoStartRow + LOGO.length) {
|
|
152
|
+
const logoLine = LOGO[r - logoStartRow];
|
|
153
|
+
const logoCol = Math.floor((cols - logoLine.length) / 2);
|
|
154
|
+
// Overlay logo on grid
|
|
155
|
+
const before = line.substring(0, Math.max(0, logoCol));
|
|
156
|
+
const after = line.substring(Math.min(cols, logoCol + logoLine.length));
|
|
157
|
+
line = before + COLORS.terracotta + COLORS.bright + logoLine + COLORS.reset + after;
|
|
158
|
+
}
|
|
159
|
+
if (r === logoStartRow + LOGO.length + 1) {
|
|
160
|
+
line = centerPad(COLORS.dim + TAGLINE + COLORS.reset, cols);
|
|
161
|
+
}
|
|
162
|
+
lines.push(line);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// Write frame
|
|
166
|
+
process.stdout.write("\x1b[H"); // cursor home
|
|
167
|
+
process.stdout.write(lines.join("\n"));
|
|
168
|
+
|
|
169
|
+
// Fade out near end
|
|
170
|
+
if (progress > 0.7) {
|
|
171
|
+
const fade = Math.floor((1 - progress) / 0.3 * 10);
|
|
172
|
+
if (fade < 5) {
|
|
173
|
+
process.stdout.write("\x1b[2m"); // dim
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Initial clear + hide cursor
|
|
179
|
+
process.stdout.write("\x1b[2J\x1b[H\x1b[?25l");
|
|
180
|
+
|
|
181
|
+
const interval = setInterval(() => {
|
|
182
|
+
renderFrame();
|
|
183
|
+
if (Date.now() - startTime >= duration) {
|
|
184
|
+
clearInterval(interval);
|
|
185
|
+
// Show cursor, clear screen
|
|
186
|
+
process.stdout.write("\x1b[?25h\x1b[2J\x1b[H");
|
|
187
|
+
resolve();
|
|
188
|
+
}
|
|
189
|
+
}, 60);
|
|
190
|
+
|
|
191
|
+
// Render first frame immediately
|
|
192
|
+
renderFrame();
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
module.exports = { playSplash };
|
|
File without changes
|
/package/app/.next-cli-build/static/{jb11wxd-qBT9LjMD-0jFU → PtbRgk4zjmbZhn5c0YA30}/_ssgManifest.js
RENAMED
|
File without changes
|