@sifxprime/krouter 0.5.9 → 0.5.11
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 +2 -2
- 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 +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_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/environment/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.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_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 +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- 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 +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-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/droid-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/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/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/mcp/[plugin]/message/route.js +2 -2
- package/app/.next-cli-build/server/app/api/mcp/[plugin]/sse/route.js +2 -2
- 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 +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/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/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 +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 +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 +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 +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/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]/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/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 +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js.nft.json +1 -1
- package/app/.next-cli-build/server/app/callback/page_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 +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_head.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_index.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/environment.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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +6 -6
- 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 +6 -6
- 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 +3 -3
- 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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +5 -5
- 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 +5 -5
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- 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 +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page.js +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 +3 -3
- 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 +2 -2
- package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login/page.js +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 +4 -4
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- 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 +3 -3
- 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 +2 -2
- package/app/.next-cli-build/server/chunks/2722.js +5 -5
- package/app/.next-cli-build/server/chunks/4746.js +1 -1
- package/app/.next-cli-build/server/chunks/4884.js +1 -1
- package/app/.next-cli-build/server/chunks/6182.js +3 -3
- package/app/.next-cli-build/server/chunks/706.js +1 -1
- package/app/.next-cli-build/server/chunks/7153.js +1 -1
- package/app/.next-cli-build/server/chunks/7540.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.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-ded7502457233e2b.js → 1321-c15a2df8f3a3b75f.js} +1 -1
- package/app/.next-cli-build/static/chunks/6069-a53e9fa5fee7d1c5.js +53 -0
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/cli-tools/{page-17dc1f57bf70c74c.js → page-493e738174ef8e56.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/{page-e2ad254d0354082d.js → page-c50244ab3401e007.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/landing/page-15b3f417802222cf.js +1 -0
- package/app/.next-cli-build/static/chunks/app/login/{page-ad3d88f7bdc056d8.js → page-a85af94847098e15.js} +1 -1
- package/app/cli/.build-home/.krouter/db/backups/{upgrade-0.5.4-to-0.5.5-0.5.5-20260618-022155 → upgrade-0.5.8-to-0.5.9-0.5.9-20260619-224700}/data.sqlite +0 -0
- package/app/cli/.build-home/.krouter/db/backups/{upgrade-0.5.5-to-0.5.6-0.5.6-20260618-023500 → upgrade-0.5.9-to-0.5.10-0.5.10-20260620-113606}/data.sqlite +0 -0
- package/app/cli/.build-home/.krouter/db/data.sqlite +0 -0
- package/app/package.json +1 -1
- package/app/src/lib/updater/updater.js +5 -15
- package/app/src/mitm/server.js +30 -30
- package/cli.js +16 -45
- package/hooks/sqliteRuntime.js +5 -15
- package/package.json +2 -3
- package/src/cli/api/client.js +6 -21
- package/src/cli/menus/cliTools.js +14 -14
- package/src/cli/tray/autostart.js +71 -166
- package/src/cli/utils/input.js +19 -0
- package/app/.next-cli-build/static/chunks/6069-16dfda64c3d754de.js +0 -53
- package/app/.next-cli-build/static/chunks/app/landing/page-6ea4d0e0696afdaf.js +0 -1
- /package/app/.next-cli-build/static/{GJ-Ya4jKc716zwsZFITqL → DxNlACSAgaT1nIXbfAwvT}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{GJ-Ya4jKc716zwsZFITqL → DxNlACSAgaT1nIXbfAwvT}/_ssgManifest.js +0 -0
package/cli.js
CHANGED
|
@@ -55,10 +55,9 @@ try { ensureSqliteRuntime({ silent: true }); } catch {}
|
|
|
55
55
|
// Self-heal tray runtime (systray for macOS/Linux only). Windows skipped.
|
|
56
56
|
try { ensureTrayRuntime({ silent: true }); } catch {}
|
|
57
57
|
|
|
58
|
-
//
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
// doesn't error every boot — user re-enables from the new tray when ready.
|
|
58
|
+
// Sweep autostart entries whose binary path no longer exists on disk (e.g. the
|
|
59
|
+
// user uninstalled the global kRouter then reinstalled to a different path).
|
|
60
|
+
// Cheap startup check; no-op when nothing's wrong.
|
|
62
61
|
try {
|
|
63
62
|
const { sweepDanglingAutostartEntries } = require("./src/cli/tray/autostart");
|
|
64
63
|
sweepDanglingAutostartEntries();
|
|
@@ -71,11 +70,7 @@ const INSTALL_CMD_LATEST = `npm i -g ${APP_NAME}@latest --prefer-online`;
|
|
|
71
70
|
const DEFAULT_PORT = 20128;
|
|
72
71
|
const DEFAULT_HOST = "0.0.0.0";
|
|
73
72
|
const MAX_PORT_ATTEMPTS = 10;
|
|
74
|
-
|
|
75
|
-
const PROCESS_IDENTIFIERS = [
|
|
76
|
-
'krouter',
|
|
77
|
-
'9router' // legacy — kept so an existing install still cleans up properly
|
|
78
|
-
];
|
|
73
|
+
const PROCESS_IDENTIFIERS = ['krouter'];
|
|
79
74
|
|
|
80
75
|
// Parse arguments
|
|
81
76
|
let port = DEFAULT_PORT;
|
|
@@ -142,36 +137,12 @@ function compareVersions(a, b) {
|
|
|
142
137
|
return 0;
|
|
143
138
|
}
|
|
144
139
|
|
|
145
|
-
// Get app data dir
|
|
140
|
+
// Get app data dir — kept in sync with src/mitm/paths.js
|
|
146
141
|
const DATA_DIR_NAME = "krouter";
|
|
147
|
-
const LEGACY_DATA_DIR_NAME = "9router";
|
|
148
|
-
function dataDirByName(name) {
|
|
149
|
-
return process.platform === "win32"
|
|
150
|
-
? path.join(process.env.APPDATA || "", name)
|
|
151
|
-
: path.join(os.homedir(), `.${name}`);
|
|
152
|
-
}
|
|
153
|
-
let legacyCoexistWarned = false;
|
|
154
142
|
function getAppDataDir() {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
if (!fs.existsSync(target) && fs.existsSync(legacy)) {
|
|
159
|
-
fs.renameSync(legacy, target);
|
|
160
|
-
console.log(`[cli] Migrated data dir: ${legacy} → ${target}`);
|
|
161
|
-
} else if (fs.existsSync(target) && fs.existsSync(legacy) && !legacyCoexistWarned) {
|
|
162
|
-
// Both dirs exist — auto-migration won't fire. Surface so user can reconcile.
|
|
163
|
-
// Don't auto-delete (user data); they decide how to merge / remove the legacy.
|
|
164
|
-
legacyCoexistWarned = true;
|
|
165
|
-
console.warn(
|
|
166
|
-
`[cli] Legacy ${legacy} still exists alongside ${target}. ` +
|
|
167
|
-
`New writes go to ${target}; the legacy is not read. ` +
|
|
168
|
-
`If unmerged settings exist there, back it up, merge manually, then: rm -rf ${legacy}`
|
|
169
|
-
);
|
|
170
|
-
}
|
|
171
|
-
} catch (e) {
|
|
172
|
-
console.warn(`[cli] Data-dir auto-migration failed (${e.code || e.message}); continuing with ${target}`);
|
|
173
|
-
}
|
|
174
|
-
return target;
|
|
143
|
+
return process.platform === "win32"
|
|
144
|
+
? path.join(process.env.APPDATA || "", DATA_DIR_NAME)
|
|
145
|
+
: path.join(os.homedir(), `.${DATA_DIR_NAME}`);
|
|
175
146
|
}
|
|
176
147
|
|
|
177
148
|
// Kill PID from file (best-effort, removes file after)
|
|
@@ -228,7 +199,7 @@ function killCloudflaredByAppPort(appPort) {
|
|
|
228
199
|
return pids;
|
|
229
200
|
}
|
|
230
201
|
|
|
231
|
-
// Kill all
|
|
202
|
+
// Kill all kRouter processes
|
|
232
203
|
function killAllAppProcesses(appPort) {
|
|
233
204
|
return new Promise((resolve) => {
|
|
234
205
|
try {
|
|
@@ -254,11 +225,11 @@ function killAllAppProcesses(appPort) {
|
|
|
254
225
|
});
|
|
255
226
|
const lines = output.split("\n").slice(1).filter(l => l.trim());
|
|
256
227
|
lines.forEach(line => {
|
|
257
|
-
// Whitelist: real node process running krouter
|
|
228
|
+
// Whitelist: real node process running krouter cli.js, or next-server.
|
|
258
229
|
// Avoids killing editors/grep/strace/cursor that just incidentally match the name.
|
|
259
230
|
const cmd = line.toLowerCase();
|
|
260
|
-
const hasAppName = cmd.includes("krouter")
|
|
261
|
-
const hasAppPath = cmd.includes("cli.js") || cmd.includes("\\krouter") || cmd.includes("/krouter")
|
|
231
|
+
const hasAppName = cmd.includes("krouter");
|
|
232
|
+
const hasAppPath = cmd.includes("cli.js") || cmd.includes("\\krouter") || cmd.includes("/krouter");
|
|
262
233
|
const isAppProcess =
|
|
263
234
|
(cmd.includes("node") && hasAppName && hasAppPath)
|
|
264
235
|
|| cmd.includes("next-server");
|
|
@@ -282,11 +253,11 @@ function killAllAppProcesses(appPort) {
|
|
|
282
253
|
const lines = output.split('\n');
|
|
283
254
|
|
|
284
255
|
lines.forEach(line => {
|
|
285
|
-
// Whitelist: real node process running krouter
|
|
256
|
+
// Whitelist: real node process running krouter cli.js, or next-server.
|
|
286
257
|
// Avoids killing grep/strace/editors/cursor that incidentally match the name.
|
|
287
258
|
const cmd = line.toLowerCase();
|
|
288
|
-
const hasAppName = cmd.includes("krouter")
|
|
289
|
-
const hasAppPath = cmd.includes("cli.js") || cmd.includes("/krouter")
|
|
259
|
+
const hasAppName = cmd.includes("krouter");
|
|
260
|
+
const hasAppPath = cmd.includes("cli.js") || cmd.includes("/krouter");
|
|
290
261
|
const isAppProcess =
|
|
291
262
|
(cmd.includes("node") && hasAppName && hasAppPath)
|
|
292
263
|
|| cmd.includes("next-server");
|
|
@@ -859,7 +830,7 @@ function startServer(latestVersion) {
|
|
|
859
830
|
|
|
860
831
|
// EADDRINUSE recovery path: another process is holding the port. Most
|
|
861
832
|
// commonly a stale next-server from a previous run that didn't exit
|
|
862
|
-
// cleanly
|
|
833
|
+
// cleanly. Sweep all
|
|
863
834
|
// PIDs on the port (including parent+child pairs); if even after that the
|
|
864
835
|
// port is still occupied, exit with a clear actionable error instead of
|
|
865
836
|
// looping forever (which is what 0.5.7 did).
|
package/hooks/sqliteRuntime.js
CHANGED
|
@@ -8,23 +8,13 @@ const path = require("path");
|
|
|
8
8
|
|
|
9
9
|
const BETTER_SQLITE3_VERSION = "12.6.2";
|
|
10
10
|
|
|
11
|
-
//
|
|
12
|
-
// of ~/.9router → ~/.krouter. Idempotent.
|
|
13
|
-
function appNameDir(name) {
|
|
14
|
-
return process.platform === "win32"
|
|
15
|
-
? path.join(process.env.APPDATA || os.homedir(), name)
|
|
16
|
-
: path.join(os.homedir(), `.${name}`);
|
|
17
|
-
}
|
|
11
|
+
// Kept in sync with src/mitm/paths.js / src/lib/dataDir.js
|
|
18
12
|
function getDataDir() {
|
|
19
13
|
if (process.env.DATA_DIR) return process.env.DATA_DIR;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
fs.renameSync(legacy, target);
|
|
25
|
-
}
|
|
26
|
-
} catch { /* best effort */ }
|
|
27
|
-
return target;
|
|
14
|
+
if (process.platform === "win32") {
|
|
15
|
+
return path.join(process.env.APPDATA || os.homedir(), "krouter");
|
|
16
|
+
}
|
|
17
|
+
return path.join(os.homedir(), ".krouter");
|
|
28
18
|
}
|
|
29
19
|
|
|
30
20
|
function getRuntimeDir() {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sifxprime/krouter",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.11",
|
|
4
4
|
"description": "kRouter (Kodelyth Router) CLI — Kodelyth AI Infrastructure",
|
|
5
5
|
"homepage": "https://github.com/sifxprime/krouter",
|
|
6
6
|
"repository": {
|
|
@@ -9,8 +9,7 @@
|
|
|
9
9
|
},
|
|
10
10
|
"bugs": "https://github.com/sifxprime/krouter/issues",
|
|
11
11
|
"bin": {
|
|
12
|
-
"krouter": "./cli.js"
|
|
13
|
-
"9router": "./cli.js"
|
|
12
|
+
"krouter": "./cli.js"
|
|
14
13
|
},
|
|
15
14
|
"files": [
|
|
16
15
|
"cli.js",
|
package/src/cli/api/client.js
CHANGED
|
@@ -15,28 +15,13 @@ const DEFAULT_CONFIG = {
|
|
|
15
15
|
|
|
16
16
|
const CLI_TOKEN_HEADER = "x-9r-cli-token";
|
|
17
17
|
const CLI_TOKEN_SALT = "9r-cli-auth";
|
|
18
|
-
//
|
|
19
|
-
// of ~/.9router → ~/.krouter. Idempotent.
|
|
20
|
-
const APP_NAME = "krouter";
|
|
21
|
-
const LEGACY_APP_NAME = "9router";
|
|
22
|
-
|
|
23
|
-
function appNameDir(name) {
|
|
24
|
-
if (process.platform === "win32") {
|
|
25
|
-
return path.join(process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming"), name);
|
|
26
|
-
}
|
|
27
|
-
return path.join(os.homedir(), `.${name}`);
|
|
28
|
-
}
|
|
29
|
-
|
|
18
|
+
// Kept in sync with src/mitm/paths.js / src/lib/dataDir.js
|
|
30
19
|
function getDataDir() {
|
|
31
20
|
if (process.env.DATA_DIR) return process.env.DATA_DIR;
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
fs.renameSync(legacy, target);
|
|
37
|
-
}
|
|
38
|
-
} catch { /* best effort */ }
|
|
39
|
-
return target;
|
|
21
|
+
if (process.platform === "win32") {
|
|
22
|
+
return path.join(process.env.APPDATA || path.join(os.homedir(), "AppData", "Roaming"), "krouter");
|
|
23
|
+
}
|
|
24
|
+
return path.join(os.homedir(), ".krouter");
|
|
40
25
|
}
|
|
41
26
|
|
|
42
27
|
const MACHINE_ID_FILE = path.join(getDataDir(), "machine-id");
|
|
@@ -378,7 +363,7 @@ async function deleteCombo(id) {
|
|
|
378
363
|
/**
|
|
379
364
|
* Get CLI tool settings
|
|
380
365
|
* @param {string} tool - Tool name: claude | codex | droid | openclaw
|
|
381
|
-
* @returns {Promise<Object>} { success, data: { installed,
|
|
366
|
+
* @returns {Promise<Object>} { success, data: { installed, hasKRouter, ... } }
|
|
382
367
|
*/
|
|
383
368
|
async function getCliToolSettings(tool) {
|
|
384
369
|
return makeRequest("GET", `/api/cli-tools/${tool}-settings`);
|
|
@@ -179,10 +179,10 @@ async function buildCodexHeader() {
|
|
|
179
179
|
const result = await api.getCliToolSettings("codex");
|
|
180
180
|
if (!result.success) return ` ${COLORS.red}Failed to load settings${COLORS.reset}`;
|
|
181
181
|
|
|
182
|
-
const { installed,
|
|
182
|
+
const { installed, hasKRouter, config } = result.data;
|
|
183
183
|
if (!installed) return `Status: ${COLORS.red}✗ Codex CLI not installed${COLORS.reset}`;
|
|
184
184
|
|
|
185
|
-
if (!
|
|
185
|
+
if (!hasKRouter) {
|
|
186
186
|
return [
|
|
187
187
|
`Status: ${COLORS.red}✗ Not configured${COLORS.reset}`,
|
|
188
188
|
`${COLORS.dim}Run "Quick Setup" to configure${COLORS.reset}`
|
|
@@ -267,10 +267,10 @@ async function buildDroidHeader() {
|
|
|
267
267
|
const result = await api.getCliToolSettings("droid");
|
|
268
268
|
if (!result.success) return ` ${COLORS.red}Failed to load settings${COLORS.reset}`;
|
|
269
269
|
|
|
270
|
-
const { installed,
|
|
270
|
+
const { installed, hasKRouter, settings } = result.data;
|
|
271
271
|
if (!installed) return `Status: ${COLORS.red}✗ Factory Droid not installed${COLORS.reset}`;
|
|
272
272
|
|
|
273
|
-
if (!
|
|
273
|
+
if (!hasKRouter) {
|
|
274
274
|
return [
|
|
275
275
|
`Status: ${COLORS.red}✗ Not configured${COLORS.reset}`,
|
|
276
276
|
`${COLORS.dim}Run "Quick Setup" to configure${COLORS.reset}`
|
|
@@ -279,7 +279,7 @@ async function buildDroidHeader() {
|
|
|
279
279
|
|
|
280
280
|
// Extract kRouter custom model config (read either new or legacy id for compat)
|
|
281
281
|
const custom = settings?.customModels?.find(
|
|
282
|
-
m => m.id === "custom:kRouter-0"
|
|
282
|
+
m => m.id === "custom:kRouter-0"
|
|
283
283
|
);
|
|
284
284
|
const lines = [`Status: ${COLORS.green}✓ Configured${COLORS.reset}`];
|
|
285
285
|
if (custom?.baseUrl) lines.push(`Endpoint: ${COLORS.cyan}${custom.baseUrl}${COLORS.reset}`);
|
|
@@ -352,10 +352,10 @@ async function buildOpenClawHeader() {
|
|
|
352
352
|
const result = await api.getCliToolSettings("openclaw");
|
|
353
353
|
if (!result.success) return ` ${COLORS.red}Failed to load settings${COLORS.reset}`;
|
|
354
354
|
|
|
355
|
-
const { installed,
|
|
355
|
+
const { installed, hasKRouter, settings } = result.data;
|
|
356
356
|
if (!installed) return `Status: ${COLORS.red}✗ Open Claw not installed${COLORS.reset}`;
|
|
357
357
|
|
|
358
|
-
if (!
|
|
358
|
+
if (!hasKRouter) {
|
|
359
359
|
return [
|
|
360
360
|
`Status: ${COLORS.red}✗ Not configured${COLORS.reset}`,
|
|
361
361
|
`${COLORS.dim}Run "Quick Setup" to configure${COLORS.reset}`
|
|
@@ -363,10 +363,10 @@ async function buildOpenClawHeader() {
|
|
|
363
363
|
}
|
|
364
364
|
|
|
365
365
|
// Extract kRouter provider config (read either new or legacy key for compat)
|
|
366
|
-
const provider = settings?.models?.providers?.["krouter"]
|
|
366
|
+
const provider = settings?.models?.providers?.["krouter"];
|
|
367
367
|
const primary = settings?.agents?.defaults?.model?.primary || "";
|
|
368
|
-
const model = /^
|
|
369
|
-
? primary.replace(/^
|
|
368
|
+
const model = /^krouter\//.test(primary)
|
|
369
|
+
? primary.replace(/^krouter\//, "")
|
|
370
370
|
: (provider?.models?.[0]?.id || "");
|
|
371
371
|
const lines = [`Status: ${COLORS.green}✓ Configured${COLORS.reset}`];
|
|
372
372
|
if (provider?.baseUrl) lines.push(`Endpoint: ${COLORS.cyan}${provider.baseUrl}${COLORS.reset}`);
|
|
@@ -435,10 +435,10 @@ async function buildOpenCodeHeader() {
|
|
|
435
435
|
const result = await api.getCliToolSettings("opencode");
|
|
436
436
|
if (!result.success) return ` ${COLORS.red}Failed to load settings${COLORS.reset}`;
|
|
437
437
|
|
|
438
|
-
const { installed,
|
|
438
|
+
const { installed, hasKRouter, opencode } = result.data;
|
|
439
439
|
if (!installed) return `Status: ${COLORS.red}✗ OpenCode CLI not installed${COLORS.reset}`;
|
|
440
440
|
|
|
441
|
-
if (!
|
|
441
|
+
if (!hasKRouter) {
|
|
442
442
|
return [
|
|
443
443
|
`Status: ${COLORS.red}✗ Not configured${COLORS.reset}`,
|
|
444
444
|
`${COLORS.dim}Run "Quick Setup" to configure${COLORS.reset}`
|
|
@@ -523,10 +523,10 @@ async function buildHermesHeader() {
|
|
|
523
523
|
const result = await api.getCliToolSettings("hermes");
|
|
524
524
|
if (!result.success) return ` ${COLORS.red}Failed to load settings${COLORS.reset}`;
|
|
525
525
|
|
|
526
|
-
const { installed,
|
|
526
|
+
const { installed, hasKRouter, settings } = result.data;
|
|
527
527
|
if (!installed) return `Status: ${COLORS.red}✗ Hermes Agent not installed${COLORS.reset}`;
|
|
528
528
|
|
|
529
|
-
if (!
|
|
529
|
+
if (!hasKRouter) {
|
|
530
530
|
return [
|
|
531
531
|
`Status: ${COLORS.red}✗ Not configured${COLORS.reset}`,
|
|
532
532
|
`${COLORS.dim}Run "Quick Setup" to configure${COLORS.reset}`
|