@sifxprime/krouter 0.5.163 → 0.5.165

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.
Files changed (253) hide show
  1. package/README.md +102 -84
  2. package/app/.next-cli-build/BUILD_ID +1 -1
  3. package/app/.next-cli-build/app-path-routes-manifest.json +4 -4
  4. package/app/.next-cli-build/build-manifest.json +2 -2
  5. package/app/.next-cli-build/prerender-manifest.json +5 -5
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page.js +9 -7
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/presidio/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  39. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/app/.next-cli-build/server/app/_not-found/page.js +1 -1
  41. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  42. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  43. package/app/.next-cli-build/server/app/_not-found.rsc +4 -4
  44. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +4 -4
  45. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +4 -4
  46. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  47. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -4
  48. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  49. package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
  50. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +2 -1
  51. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  52. package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
  53. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  54. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  55. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  56. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +3 -3
  57. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
  58. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
  59. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
  60. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +1 -1
  61. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +1 -1
  62. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +2 -2
  63. package/app/.next-cli-build/server/app/api/combos/[id]/route.js +1 -1
  64. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  65. package/app/.next-cli-build/server/app/api/providers/[id]/models/route.js +1 -1
  66. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  67. package/app/.next-cli-build/server/app/api/providers/zenith/route.js +1 -1
  68. package/app/.next-cli-build/server/app/api/settings/route.js +1 -1
  69. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  70. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  71. package/app/.next-cli-build/server/app/api/tunnel/tailscale-install/route.js +3 -3
  72. package/app/.next-cli-build/server/app/api/v1/audio/speech/route.js +1 -1
  73. package/app/.next-cli-build/server/app/api/v1/audio/transcriptions/route.js +1 -1
  74. package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
  75. package/app/.next-cli-build/server/app/api/v1/images/generations/route.js +1 -1
  76. package/app/.next-cli-build/server/app/api/v1/search/route.js +1 -1
  77. package/app/.next-cli-build/server/app/api/v1/web/fetch/route.js +1 -1
  78. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  79. package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
  80. package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
  81. package/app/.next-cli-build/server/app/callback/page.js +1 -1
  82. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  83. package/app/.next-cli-build/server/app/callback.html +1 -1
  84. package/app/.next-cli-build/server/app/callback.rsc +4 -4
  85. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +4 -4
  86. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  87. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +4 -4
  88. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  89. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +6 -6
  90. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +6 -6
  91. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +6 -6
  92. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  93. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  94. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  95. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +6 -6
  96. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  97. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  98. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  99. package/app/.next-cli-build/server/app/dashboard/combos.rsc +6 -6
  100. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +6 -6
  101. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +6 -6
  102. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  103. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  104. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  105. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +6 -6
  106. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  107. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  108. package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
  109. package/app/.next-cli-build/server/app/dashboard/environment.rsc +6 -6
  110. package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +6 -6
  111. package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +6 -6
  112. package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +2 -2
  113. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  114. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +6 -6
  115. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +6 -6
  116. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +6 -6
  117. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  118. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  119. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +6 -6
  120. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +6 -6
  121. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +6 -6
  122. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  123. package/app/.next-cli-build/server/app/dashboard/presidio.html +1 -1
  124. package/app/.next-cli-build/server/app/dashboard/presidio.rsc +5 -5
  125. package/app/.next-cli-build/server/app/dashboard/presidio.segments/!KGRhc2hib2FyZCk/dashboard/presidio/__PAGE__.segment.rsc +5 -5
  126. package/app/.next-cli-build/server/app/dashboard/presidio.segments/_full.segment.rsc +5 -5
  127. package/app/.next-cli-build/server/app/dashboard/presidio.segments/_tree.segment.rsc +2 -2
  128. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  129. package/app/.next-cli-build/server/app/dashboard/profile.rsc +6 -6
  130. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +6 -6
  131. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +6 -6
  132. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  133. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  134. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +6 -6
  135. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +6 -6
  136. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +6 -6
  137. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  138. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  139. package/app/.next-cli-build/server/app/dashboard/providers.rsc +6 -6
  140. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +6 -6
  141. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +6 -6
  142. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  143. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  144. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +6 -6
  145. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +6 -6
  146. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +6 -6
  147. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  148. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  149. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +6 -6
  150. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +6 -6
  151. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +6 -6
  152. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  153. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  154. package/app/.next-cli-build/server/app/dashboard/quota.rsc +7 -7
  155. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +7 -7
  156. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +7 -7
  157. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  158. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page.js +1 -1
  159. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  160. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  161. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +4 -4
  162. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +4 -4
  163. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  164. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +4 -4
  165. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  166. package/app/.next-cli-build/server/app/dashboard/skills.rsc +6 -6
  167. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +6 -6
  168. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +6 -6
  169. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  170. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  171. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +6 -6
  172. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +6 -6
  173. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +6 -6
  174. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  175. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  176. package/app/.next-cli-build/server/app/dashboard/translator.rsc +6 -6
  177. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +6 -6
  178. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +6 -6
  179. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  180. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  181. package/app/.next-cli-build/server/app/dashboard/usage.rsc +6 -6
  182. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +6 -6
  183. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +6 -6
  184. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  185. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  186. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  187. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +6 -6
  188. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  189. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  190. package/app/.next-cli-build/server/app/index.html +1 -1
  191. package/app/.next-cli-build/server/app/index.rsc +4 -4
  192. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +4 -4
  193. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +4 -4
  194. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  195. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  196. package/app/.next-cli-build/server/app/landing.html +1 -1
  197. package/app/.next-cli-build/server/app/landing.rsc +4 -4
  198. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +4 -4
  199. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  200. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +4 -4
  201. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  202. package/app/.next-cli-build/server/app/login.html +1 -1
  203. package/app/.next-cli-build/server/app/login.rsc +5 -5
  204. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +5 -5
  205. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  206. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +5 -5
  207. package/app/.next-cli-build/server/app/page.js +1 -1
  208. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  209. package/app/.next-cli-build/server/app-paths-manifest.json +4 -4
  210. package/app/.next-cli-build/server/chunks/1450.js +1 -1
  211. package/app/.next-cli-build/server/chunks/1738.js +2 -2
  212. package/app/.next-cli-build/server/chunks/2365.js +1 -1
  213. package/app/.next-cli-build/server/chunks/2722.js +10 -8
  214. package/app/.next-cli-build/server/chunks/3120.js +1 -1
  215. package/app/.next-cli-build/server/chunks/412.js +1 -1
  216. package/app/.next-cli-build/server/chunks/4161.js +1 -1
  217. package/app/.next-cli-build/server/chunks/4404.js +1 -1
  218. package/app/.next-cli-build/server/chunks/4632.js +1 -1
  219. package/app/.next-cli-build/server/chunks/5030.js +1 -1
  220. package/app/.next-cli-build/server/chunks/5681.js +1 -1
  221. package/app/.next-cli-build/server/chunks/5718.js +1 -1
  222. package/app/.next-cli-build/server/chunks/6108.js +1 -1
  223. package/app/.next-cli-build/server/chunks/6306.js +1 -1
  224. package/app/.next-cli-build/server/chunks/7341.js +1 -1
  225. package/app/.next-cli-build/server/chunks/8238.js +1 -1
  226. package/app/.next-cli-build/server/chunks/8319.js +1 -1
  227. package/app/.next-cli-build/server/chunks/8895.js +1 -1
  228. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  229. package/app/.next-cli-build/server/pages/404.html +1 -1
  230. package/app/.next-cli-build/server/pages/500.html +1 -1
  231. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  232. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  233. package/app/.next-cli-build/static/chunks/1321-ff45959ff6580781.js +1 -0
  234. package/app/.next-cli-build/static/chunks/5497-71ac1eaeaacd3abb.js +7 -0
  235. package/app/.next-cli-build/static/chunks/{6069-c4c9124d1c1cc018.js → 6069-cd255683a4a76ed3.js} +15 -13
  236. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-9f11bff3b99c5885.js +1 -0
  237. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-86eed48d5fdb5988.js +1 -0
  238. package/app/.next-cli-build/static/chunks/app/{layout-a39bb90fce7728eb.js → layout-3909a5381d71cda6.js} +1 -1
  239. package/app/.next-cli-build/static/css/{f408a041a2395281.css → 64fc7ce1f4c9684d.css} +1 -1
  240. package/app/cli/package.json +1 -1
  241. package/app/node_modules/source-map-js/lib/quick-sort.js +10 -1
  242. package/app/node_modules/source-map-js/lib/source-map-consumer.js +51 -3
  243. package/app/node_modules/source-map-js/lib/source-map-generator.js +6 -4
  244. package/app/node_modules/source-map-js/lib/source-node.js +7 -0
  245. package/app/node_modules/source-map-js/package.json +1 -1
  246. package/app/package.json +1 -1
  247. package/package.json +1 -1
  248. package/app/.next-cli-build/static/chunks/1321-19562ff5aa8052cc.js +0 -1
  249. package/app/.next-cli-build/static/chunks/5497-8ce793eef3eb912e.js +0 -7
  250. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-0598a87942bb3820.js +0 -1
  251. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/skills/page-2b35b21c1542b9b8.js +0 -1
  252. /package/app/.next-cli-build/static/{OUojMJ_8yOarwHA7Hk5LT → 8BL7P4wrNCaFJbJqldneC}/_buildManifest.js +0 -0
  253. /package/app/.next-cli-build/static/{OUojMJ_8yOarwHA7Hk5LT → 8BL7P4wrNCaFJbJqldneC}/_ssgManifest.js +0 -0
package/README.md CHANGED
@@ -3,18 +3,18 @@
3
3
 
4
4
  # kRouter — Kodelyth AI Infrastructure
5
5
 
6
- **The universal AI router that saves 20–40% tokens and never stops working.**
6
+ **The universal AI router that saves 20–40% input tokens and falls back when a provider fails.**
7
7
 
8
- Connect Claude Code, Cursor, Antigravity, Kiro, Copilot, Codex, OpenCode, Cline, OpenClaw, and any OpenAI-compatible client to **40+ AI providers and 100+ models** through a single local endpoint. Route intelligently. Fall back instantly. Save tokens automatically.
8
+ Connect Claude Code, Cursor, Antigravity, Kiro, Copilot, Codex, OpenCode, Cline, OpenClaw, and any OpenAI-compatible client to **95+ AI providers and 100+ models** through one self-hosted endpoint. Route intelligently. Fall back instantly. Save tokens automatically.
9
9
 
10
10
  [![npm](https://img.shields.io/npm/v/@sifxprime/krouter.svg)](https://www.npmjs.com/package/@sifxprime/krouter)
11
11
  [![GitHub](https://img.shields.io/badge/github-sifxprime%2Fkrouter-blue?logo=github)](https://github.com/sifxprime/krouter)
12
12
  [![Website](https://img.shields.io/badge/website-krouter.kodelyth.com-orange)](https://krouter.kodelyth.com)
13
13
  [![License](https://img.shields.io/npm/l/@sifxprime/krouter.svg)](https://github.com/sifxprime/krouter/blob/main/LICENSE)
14
14
 
15
- **[🌐 Website & Full Docs — krouter.kodelyth.com](https://krouter.kodelyth.com)**
15
+ **[Website & Full Docs — krouter.kodelyth.com](https://krouter.kodelyth.com)**
16
16
 
17
- [🚀 Quick Start](#-quick-start) • [💡 Features](#-features) • [📖 Setup](#-setup-guide) • [🌐 Supported Providers](#-supported-providers)
17
+ [Quick Start](#quick-start) • [Features](#features) • [Setup](#setup-guide) • [Supported Providers](#supported-providers)
18
18
  </div>
19
19
 
20
20
 
@@ -22,7 +22,7 @@
22
22
 
23
23
  ---
24
24
 
25
- ## 🚀 Quick Start
25
+ ## Quick Start
26
26
 
27
27
  Requires **Node.js 20.9 or newer**.
28
28
 
@@ -41,7 +41,7 @@ For safety, the default only works from the machine kRouter is running on — si
41
41
  on your network are refused until you set your own. Under Docker that includes your own browser, so
42
42
  set `INITIAL_PASSWORD` as shown below.
43
43
 
44
- Prefer running in the foreground with live logs? Just use `krouter` (no flag).
44
+ Prefer the foreground? Run `krouter` with no flag, and add `-l` to see the server logs.
45
45
 
46
46
  ### CLI Options
47
47
 
@@ -50,13 +50,18 @@ krouter --help
50
50
 
51
51
  Options:
52
52
  -p, --port <port> Port to run the server (default: 20128)
53
+ -H, --host <host> Host to bind (default: 0.0.0.0)
53
54
  -l, --log Show server logs (default: hidden)
54
55
  -t, --tray Run in system tray mode (background)
55
56
  --skip-update Skip auto-update check
56
- -h, --help Show this help
57
+ -h, --help Show this help message
57
58
  -v, --version Show version
58
59
  ```
59
60
 
61
+ The default host `0.0.0.0` makes kRouter reachable from your network; remote callers still need an API key
62
+ for `/v1/*` and a login for the dashboard. Use `--host 127.0.0.1` to keep it local-only. The `krouter`
63
+ command ignores the `PORT` and `HOSTNAME` environment variables, so set the port and host with these flags.
64
+
60
65
  ### From Source (Contributors)
61
66
 
62
67
  ```bash
@@ -98,10 +103,10 @@ echo "KROUTER_INITIAL_PASSWORD='$(openssl rand -base64 18)'" > .env && cat .env
98
103
  docker compose up -d
99
104
  ```
100
105
 
101
- Not using Docker? kRouter has no Python dependency — run the sidecar separately
102
- and point `SIDECAR_URL` at it. See the setup guide below.
106
+ Not using Docker? kRouter has no Python dependency — run the sidecar separately. kRouter looks for it
107
+ at `http://127.0.0.1:5001/redact`; set `SIDECAR_URL` if it runs anywhere else. See the setup guide below.
103
108
 
104
- Redaction is **off by default**; enable it from Dashboard -> Presidio.
109
+ Redaction is **off by default**; enable it from the **Presidio** page in the dashboard sidebar.
105
110
 
106
111
  See [docs/REDACTION_SETUP.md](https://github.com/sifxprime/krouter/blob/main/docs/REDACTION_SETUP.md) for full configuration and customization options.
107
112
 
@@ -109,32 +114,32 @@ Then open **[http://localhost:20128/dashboard](http://localhost:20128/dashboard)
109
114
 
110
115
  ---
111
116
 
112
- ## 🤔 Why kRouter?
117
+ ## Why kRouter?
113
118
 
114
119
  Stop wasting money, tokens, and hitting limits:
115
120
 
116
- - ❌ Subscription quota expires unused every month
117
- - ❌ Rate limits stop you mid-coding
118
- - ❌ Tool outputs (git diff, grep, ls…) burn tokens fast
119
- - ❌ Expensive APIs cost $20–50/month per provider
120
- - ❌ Manually switching between providers
121
+ - Subscription quota expires unused every month
122
+ - Rate limits stop you mid-coding
123
+ - Tool outputs (git diff, grep, ls…) burn tokens fast
124
+ - Paying separately for every provider's API adds up
125
+ - Manually switching between providers
121
126
 
122
127
  **kRouter solves this:**
123
128
 
124
- - ✅ **RTK Token Saver** — auto-compress tool outputs, save 20–40% tokens per request
125
- - ✅ **Zenith intelligent routing** — instant sub-1ms failover, ranked by live quota + latency
126
- - ✅ **Multi-account rotation** — round-robin across accounts with real-time quota tracking
127
- - ✅ **Auto token refresh** — OAuth tokens refresh transparently
128
- - ✅ **Universal client support** — works with any OpenAI-compatible AI client
129
- - ✅ **MITM interception** — Kiro, Antigravity, Copilot, and Cursor natively supported
129
+ - **RTK Token Saver** — on by default; compresses tool outputs to save 20–40% of input tokens per request
130
+ - **Zenith routing** — scores each account by success rate, latency and remaining quota, and skips accounts that are cooling down
131
+ - **Multi-account rotation** — round-robin across accounts, with quota tracking for providers that report it
132
+ - **Auto token refresh** — OAuth tokens refresh transparently
133
+ - **Universal client support** — works with OpenAI, Anthropic, Responses, Gemini and Ollama-format clients
134
+ - **MITM interception** — routes Antigravity, GitHub Copilot, Kiro IDE and Claude Desktop through kRouter (not inside Docker)
130
135
 
131
136
  ---
132
137
 
133
- ## 🔄 How It Works
138
+ ## How It Works
134
139
 
135
140
  ```
136
141
  ┌─────────────┐
137
- │ Your CLI │ (Claude Code, Codex, OpenClaw, Cursor, Cline…)
142
+ │ Your CLI │ (Claude Code, Codex, OpenClaw, OpenCode, Cline…)
138
143
  │ Tool │
139
144
  └──────┬──────┘
140
145
  │ http://localhost:20128/v1
@@ -142,7 +147,7 @@ Stop wasting money, tokens, and hitting limits:
142
147
  ┌─────────────────────────────────────────────┐
143
148
  │ kRouter (Smart Router) │
144
149
  │ • RTK Token Saver (cut tool_result tokens) │
145
- │ • Zenith Score Engine (sub-1ms routing) │
150
+ │ • Zenith account scoring │
146
151
  │ • Format translation (OpenAI ↔ Claude) │
147
152
  │ • Live quota tracking │
148
153
  │ • Auto token refresh │
@@ -150,45 +155,46 @@ Stop wasting money, tokens, and hitting limits:
150
155
  │
151
156
  ├─→ [SUBSCRIPTION] Claude Code · Codex · Copilot · Cursor
152
157
  │
153
- ├─→ [FREE TIER] Cloudflare · Vertex · Gemini · Ollama · OpenRouter
158
+ ├─→ [FREE TIER] Cloudflare · Vertex · Gemini · Ollama Cloud · OpenRouter
154
159
  │
155
- └─→ [FREE PROXY] Kiro · OpenCode · Atomesus · MiMo
160
+ └─→ [FREE] Kiro · Gemini CLI · Qoder · OpenCode Free · MiMo Code Free
156
161
  ```
157
162
 
158
- If one provider fails, kRouter instantly falls back through your entire pre-ranked stack — with zero manual intervention.
163
+ If an account fails or hits a rate limit, kRouter moves to the next account for that provider. Put models from several providers in a combo and it falls back across them in turn — with zero manual intervention.
159
164
 
160
165
  ---
161
166
 
162
- ## 🔒 PII Redaction with Presidio
167
+ ## PII Redaction with Presidio
163
168
 
164
169
  Optional, and **off by default**. When enabled, kRouter strips personal data — names, emails, phone
165
170
  numbers, API keys — from prompts *before* they leave your machine, using Microsoft Presidio as a local
166
171
  sidecar (needs Docker or Python). It **fails closed**: if the sidecar is down, times out or errors,
167
- the request is rejected (`503` / `502`) rather than sent unredacted.
172
+ the request is rejected (`503` / `502`) rather than sent unredacted. It covers the chat, Messages,
173
+ Responses, Ollama and Gemini-format routes; embeddings, audio, images, search and fetch are not redacted.
168
174
 
169
175
  Setup, configuration, custom patterns, testing and troubleshooting: **[docs/REDACTION_SETUP.md](https://github.com/sifxprime/krouter/blob/main/docs/REDACTION_SETUP.md)**.
170
176
 
171
- ## 💡 Features
177
+ ## Features
172
178
 
173
179
  | Feature | What It Does | Why It Matters |
174
180
  |---------|--------------|----------------|
175
- | 🚀 **RTK Token Saver** | Auto-compress tool outputs (git diff, grep, ls, tree…) | Save **20–40% input tokens** on every request |
176
- | ⚡ **Zenith Routing** | Pre-ranks accounts by live health + quota in RAM | Instant sub-1ms failover, zero wasted 429s |
177
- | 🎯 **Smart Fallback** | Subscription → Free tier → Free proxy | Never stop coding |
178
- | 📊 **Real-Time Quota** | Live remaining %, reset countdown, exhaustion badge | Maximize every subscription |
179
- | 🔄 **Format Translation** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex | Works with any CLI tool |
180
- | 👥 **Multi-Account** | Multiple accounts per provider with rotation strategies | Load balancing + redundancy |
181
- | 🔄 **Auto Token Refresh** | OAuth tokens refresh automatically | No manual re-login |
182
- | 🎨 **Custom Combos** | Unlimited model combinations with per-combo strategies | Tailor fallback to your workflow |
183
- | 🖥️ **System Tray** | Runs quietly in background with tray icon | Set-and-forget deployment |
184
- | 🐳 **Deploy Anywhere** | Localhost · VPS · Docker · Cloudflare Workers | Wherever you need it |
185
- | 🔒 **PII Redaction** | Auto-redact sensitive data (emails, phones, API keys) using Microsoft Presidio | Protect privacy before sending to AI providers |
186
-
187
- 📖 **Full feature guide with screenshots → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
181
+ | **RTK Token Saver** | Compresses tool outputs (git diff, grep, ls, tree…) in requests. On by default | Save **20–40% input tokens** on requests that carry tool output |
182
+ | **Zenith Routing** | Scores accounts by success rate, latency, remaining quota and priority | Picks the healthiest account; rate-limited accounts cool down instead of being retried |
183
+ | **Smart Fallback** | Combos you build, e.g. Subscription → Free tier → Free | Never stop coding |
184
+ | **Real-Time Quota** | Remaining %, reset countdown, exhaustion badge for providers that report quota | Maximize every subscription |
185
+ | **Format Translation** | OpenAI ↔ Claude ↔ Gemini ↔ Cursor ↔ Kiro ↔ Vertex | Works with any CLI tool |
186
+ | **Multi-Account** | Multiple accounts per provider with rotation strategies | Load balancing + redundancy |
187
+ | **Auto Token Refresh** | OAuth tokens refresh automatically | No manual re-login |
188
+ | **Custom Combos** | Named model combinations with fallback, round-robin or fusion strategy | Tailor fallback to your workflow |
189
+ | **System Tray** | Runs quietly in background with tray icon | Set-and-forget deployment |
190
+ | **Deploy Anywhere** | Localhost · VPS · Docker · PM2, with remote access through Cloudflare Tunnel or Tailscale | Wherever you need it |
191
+ | **PII Redaction** | Optional, off by default: redacts names, emails, phones and API keys using Microsoft Presidio | Protect privacy before sending to AI providers |
192
+
193
+ **Full feature guide → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
188
194
 
189
195
  ---
190
196
 
191
- ## 🛠️ Supported CLI Tools
197
+ ## Supported CLI Tools
192
198
 
193
199
  <div align="center">
194
200
  <table>
@@ -249,29 +255,37 @@ Setup, configuration, custom patterns, testing and troubleshooting: **[docs/REDA
249
255
 
250
256
  ---
251
257
 
252
- ## 🌐 Supported Providers
258
+ ## Supported Providers
259
+
260
+ 95+ providers in five groups, plus any OpenAI- or Anthropic-compatible endpoint you add yourself.
261
+
262
+ ### OAuth (Bring Your Subscription)
263
+
264
+ Claude Code · Antigravity · Codex · GitHub Copilot · Cursor · xAI · Kilo Code · Cline · ClinePass · Grok CLI · Kimchi
265
+
266
+ ### Free Tier (with API key)
253
267
 
254
- ### 🔐 OAuth (Bring Your Subscription)
268
+ Cloudflare Workers AI · Vertex AI · Gemini · Ollama Cloud · OpenRouter · BytePlus ModelArk · Atomesus · NVIDIA NIM · Poolside
255
269
 
256
- Claude Code · Antigravity · Codex · GitHub Copilot · Cursor · Kiro AI
270
+ ### Free (account sign-in or no auth)
257
271
 
258
- ### 🆓 Free Tier (with API key)
272
+ Kiro AI · Gemini CLI · CodeBuddy CN · Qoder · OpenCode Free · MiMo Code Free
259
273
 
260
- Cloudflare Workers AI · Vertex AI · Gemini · Ollama · OpenRouter · BytePlus · Atomesus · NVIDIA NIM
274
+ Kiro, Gemini CLI, Qoder, Claude Code, Antigravity, Codex and GitHub Copilot use subscription sessions that are not licensed for proxy use. The dashboard warns before you connect them: the account may be restricted or banned.
261
275
 
262
- ### 🆓 Free Proxy (no auth or included key)
276
+ ### API Key Providers (65+)
263
277
 
264
- OpenCode Free · MiMo Free
278
+ OpenAI · Anthropic · GLM · Kimi · MiniMax · DeepSeek · Groq · xAI · Mistral · Perplexity · Together AI · Fireworks · Cerebras · Cohere · SiliconFlow · Hyperbolic · Nebius · Chutes · and 45+ more
265
279
 
266
- ### 🔑 API Key Providers (40+)
280
+ ### Browser Session
267
281
 
268
- OpenAI · Anthropic · GLM · Kimi · MiniMax · DeepSeek · Groq · xAI · Mistral · Perplexity · Together AI · Fireworks · Cerebras · Cohere · SiliconFlow · Hyperbolic · Nebius · Chutes · and 20+ more
282
+ Grok Web · Perplexity Web (Pro/Max)
269
283
 
270
- 📖 **Full provider setup guide → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
284
+ **Full provider setup guide → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
271
285
 
272
286
  ---
273
287
 
274
- ## 📖 Setup Guide
288
+ ## Setup Guide
275
289
 
276
290
  ### Step 1 · Install
277
291
 
@@ -290,52 +304,56 @@ You'll see a tray icon in your menu bar. Right-click for **Open Dashboard** or *
290
304
  ### Step 3 · Add a Provider
291
305
 
292
306
  1. Open **[http://localhost:20128/dashboard](http://localhost:20128/dashboard)**
293
- 2. Click **Providers → Add** and choose one (Cloudflare Workers AI is a great free start)
294
- 3. Paste your API key or OAuth login
295
- 4. Click **Test Connection** → done!
307
+ 2. Go to **Providers**, pick one (Cloudflare Workers AI is a good free start) and click **Add**
308
+ 3. Paste your API key or complete the OAuth login
309
+ 4. Click **Test** on a model to check it answers
296
310
 
297
311
  ### Step 4 · Point Your AI Tool at kRouter
298
312
 
299
313
  ```text
300
314
  Endpoint: http://localhost:20128/v1
301
- API Key: sk-krouter-XXXX (from Dashboard → API Keys)
315
+ API Key: a key from Dashboard → Endpoint → API Keys (local callers can skip it)
302
316
  Model: kr/claude-sonnet-4.5 (or any provider/model)
303
317
  ```
304
318
 
305
- Works with any OpenAI-compatible client.
319
+ Works with any OpenAI-compatible client. A **Default Key** is created the first time you open the
320
+ Endpoint page. Local requests need no key unless `REQUIRE_API_KEY=true`; requests from other machines
321
+ always do. Cursor is the exception to `localhost`: it sends requests through its own servers, so turn
322
+ on the **Tunnel** on the Endpoint page and use that URL with a key.
306
323
 
307
- 📖 **Detailed integration guide (Claude Code, Cursor, Cline, and more) → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
324
+ **Detailed integration guide (Claude Code, Cursor, Cline, and more) → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
308
325
 
309
326
  ---
310
327
 
311
- ## ⚙️ Environment Variables
328
+ ## Environment Variables
312
329
 
313
330
  | Variable | Default | Description |
314
331
  |----------|---------|-------------|
315
- | `PORT` | `20128` | Server port |
316
- | `HOSTNAME` | `0.0.0.0` | Bind host. The default listens on every interface, so the port is reachable from your network — use `127.0.0.1` (or `--host 127.0.0.1`) for local-only |
317
- | `DATA_DIR` | `~/.krouter` | Data directory (SQLite, certs, cache) |
332
+ | `PORT` | `20128` | Server port for the Docker image and `node custom-server.js`. The `krouter` command ignores it — use `--port` |
333
+ | `HOSTNAME` | `0.0.0.0` | Bind host for the Docker image and `node custom-server.js`. The `krouter` command ignores it — use `--host 127.0.0.1` for local-only |
334
+ | `DATA_DIR` | `~/.krouter` | Data directory (SQLite, certs, cache). `%APPDATA%\krouter` on Windows |
335
+ | `INITIAL_PASSWORD` | — | First-login dashboard password. Unset, it is `123456`, accepted only from the same machine |
318
336
  | `NODE_ENV` | `production` | Runtime mode |
319
337
  | `REQUIRE_API_KEY` | `false` | Require a Bearer key on `/v1/*` from **every** caller. Remote callers always need one; this additionally removes the loopback exemption, for shared or multi-user machines |
320
338
  | `KROUTER_SKIP_RUNTIME_HEAL` | `false` | Skip the startup npm self-heal of the SQLite/tray runtime (air-gapped or CI machines) |
321
339
  | `AUTH_COOKIE_SECURE` | `false` | Force `Secure` cookie (set behind HTTPS reverse proxy) |
322
- | `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` | — | Outbound proxy config |
340
+ | `HTTP_PROXY` / `HTTPS_PROXY` / `ALL_PROXY` / `NO_PROXY` | — | Outbound proxy config |
323
341
 
324
342
  Full env reference → **[krouter.kodelyth.com](https://krouter.kodelyth.com)**
325
343
 
326
344
  ---
327
345
 
328
- ## 🚢 Deployment
346
+ ## Deployment
329
347
 
330
348
  ### VPS
331
349
 
332
350
  ```bash
333
351
  npm install -g @sifxprime/krouter
334
- export PORT=20128 HOSTNAME=0.0.0.0
335
- krouter --skip-update
352
+ krouter --skip-update --host 127.0.0.1 --port 20128
336
353
  ```
337
354
 
338
- Behind Nginx / Caddy + Cloudflare Tunnel for HTTPS.
355
+ Put Nginx or Caddy in front for HTTPS; `--host 127.0.0.1` keeps the port closed to everything but the
356
+ proxy. Or skip the proxy and use the built-in Cloudflare Tunnel or Tailscale from the Endpoint page.
339
357
 
340
358
  ### Docker
341
359
 
@@ -355,7 +373,7 @@ pm2 startup
355
373
 
356
374
  ---
357
375
 
358
- ## 📡 API
376
+ ## API
359
377
 
360
378
  ### Chat Completions
361
379
 
@@ -382,7 +400,7 @@ Returns every configured provider + custom combo in OpenAI format.
382
400
 
383
401
  ---
384
402
 
385
- ## 🗑️ Uninstall
403
+ ## Uninstall
386
404
 
387
405
  ```bash
388
406
  # Stop kRouter (right-click tray → Quit, or pkill -f krouter)
@@ -392,23 +410,23 @@ rm -rf ~/.krouter # optional: wipe database + certs
392
410
 
393
411
  ---
394
412
 
395
- ## 🐛 Troubleshooting
413
+ ## Troubleshooting
396
414
 
397
415
  **"No active credentials for provider"** — Add or reconnect the provider in Dashboard → Providers.
398
416
 
399
- **Rate limited** — kRouter's Zenith engine will auto-fall back. To speed it up, add more accounts or configure a combo.
417
+ **Rate limited** — kRouter cools the account down and moves to the next one. To speed it up, add more accounts or configure a combo.
400
418
 
401
- **MITM cert errors** — Reinstall the root CA from Dashboard → CLI Tools → MITM.
419
+ **MITM cert errors** — Install or reinstall the root CA from the **MITM** page in the dashboard sidebar (**Install Certificate** / **Reinstall Certificate**).
402
420
 
403
- **Dashboard on wrong port** — `PORT=20128 krouter -t`
421
+ **Dashboard on wrong port** — the `krouter` command ignores `PORT`; pass the port as a flag: `krouter -t --port 20128`. If another program holds the port, kRouter will not stop it and suggests another one.
404
422
 
405
423
  **Full troubleshooting guide → [krouter.kodelyth.com](https://krouter.kodelyth.com)**
406
424
 
407
425
  ---
408
426
 
409
- ## 🛠️ Tech Stack
427
+ ## Tech Stack
410
428
 
411
- - **Runtime:** Node.js 20+
429
+ - **Runtime:** Node.js 20.9+
412
430
  - **Framework:** Next.js 16
413
431
  - **UI:** React 19 + Tailwind CSS 4
414
432
  - **Database:** SQLite (better-sqlite3 / node:sqlite / sql.js)
@@ -417,7 +435,7 @@ rm -rf ~/.krouter # optional: wipe database + certs
417
435
 
418
436
  ---
419
437
 
420
- ## 📧 Links
438
+ ## Links
421
439
 
422
440
  - **Website:** [krouter.kodelyth.com](https://krouter.kodelyth.com)
423
441
  - **GitHub:** [github.com/sifxprime/krouter](https://github.com/sifxprime/krouter)
@@ -427,18 +445,18 @@ rm -rf ~/.krouter # optional: wipe database + certs
427
445
 
428
446
  ---
429
447
 
430
- ## 🙏 Credits
448
+ ## Credits
431
449
 
432
- kRouter is a hardened fork of the upstream **[decolua/9router](https://github.com/decolua/9router)**. Huge thanks to [@decolua](https://github.com/decolua) and the 9router contributors for the original project. ⭐ them on GitHub.
450
+ kRouter is a hardened fork of the upstream **[decolua/9router](https://github.com/decolua/9router)**. Huge thanks to [@decolua](https://github.com/decolua) and the 9router contributors for the original project. Star them on GitHub.
433
451
 
434
452
  ---
435
453
 
436
- ## 📄 License
454
+ ## License
437
455
 
438
456
  MIT License — see [LICENSE](https://github.com/sifxprime/krouter/blob/main/LICENSE) for details.
439
457
 
440
458
  ---
441
459
 
442
460
  <div align="center">
443
- <sub>Built with ❤️ by <a href="https://krouter.kodelyth.com">Kodelyth AI Infrastructure</a></sub>
461
+ <sub>Built by <a href="https://krouter.kodelyth.com">Kodelyth AI Infrastructure</a></sub>
444
462
  </div>
@@ -1 +1 @@
1
- OUojMJ_8yOarwHA7Hk5LT
1
+ 8BL7P4wrNCaFJbJqldneC
@@ -106,8 +106,8 @@
106
106
  "/api/headroom/start/route": "/api/headroom/start",
107
107
  "/api/headroom/status/route": "/api/headroom/status",
108
108
  "/api/headroom/stop/route": "/api/headroom/stop",
109
- "/api/import/route": "/api/import",
110
109
  "/api/keys/route": "/api/keys",
110
+ "/api/import/route": "/api/import",
111
111
  "/api/mcp/[plugin]/message/route": "/api/mcp/[plugin]/message",
112
112
  "/api/mcp/[plugin]/sse/route": "/api/mcp/[plugin]/sse",
113
113
  "/api/models/alias/route": "/api/models/alias",
@@ -119,20 +119,20 @@
119
119
  "/api/models/preview/route": "/api/models/preview",
120
120
  "/api/oauth/[provider]/[action]/route": "/api/oauth/[provider]/[action]",
121
121
  "/api/provider-nodes/route": "/api/provider-nodes",
122
- "/api/providers/health/route": "/api/providers/health",
123
122
  "/api/providers/[id]/route": "/api/providers/[id]",
123
+ "/api/providers/health/route": "/api/providers/health",
124
124
  "/api/providers/client/route": "/api/providers/client",
125
125
  "/api/providers/suggested-models/route": "/api/providers/suggested-models",
126
126
  "/api/providers/route": "/api/providers",
127
127
  "/api/providers/zenith/log/route": "/api/providers/zenith/log",
128
128
  "/api/providers/zenith/route": "/api/providers/zenith",
129
+ "/api/providers/[id]/models/route": "/api/providers/[id]/models",
129
130
  "/api/proxy-pools/[id]/route": "/api/proxy-pools/[id]",
130
131
  "/api/proxy-pools/[id]/test/route": "/api/proxy-pools/[id]/test",
131
- "/api/providers/[id]/models/route": "/api/providers/[id]/models",
132
132
  "/api/proxy-pools/cloudflare-deploy/route": "/api/proxy-pools/cloudflare-deploy",
133
- "/api/proxy-pools/deno-deploy/route": "/api/proxy-pools/deno-deploy",
134
133
  "/api/proxy-pools/route": "/api/proxy-pools",
135
134
  "/api/pxpipe/health/route": "/api/pxpipe/health",
135
+ "/api/proxy-pools/deno-deploy/route": "/api/proxy-pools/deno-deploy",
136
136
  "/api/proxy-pools/vercel-deploy/route": "/api/proxy-pools/vercel-deploy",
137
137
  "/api/pxpipe/install/route": "/api/pxpipe/install",
138
138
  "/api/pxpipe/logs/route": "/api/pxpipe/logs",
@@ -4,8 +4,8 @@
4
4
  ],
5
5
  "devFiles": [],
6
6
  "lowPriorityFiles": [
7
- "static/OUojMJ_8yOarwHA7Hk5LT/_buildManifest.js",
8
- "static/OUojMJ_8yOarwHA7Hk5LT/_ssgManifest.js"
7
+ "static/8BL7P4wrNCaFJbJqldneC/_buildManifest.js",
8
+ "static/8BL7P4wrNCaFJbJqldneC/_ssgManifest.js"
9
9
  ],
10
10
  "rootMainFiles": [
11
11
  "static/chunks/webpack-53609978799ebbca.js",
@@ -370,7 +370,7 @@
370
370
  "routeType": "page",
371
371
  "response": "complete",
372
372
  "compute": "static",
373
- "htmlSize": 52965,
373
+ "htmlSize": 53354,
374
374
  "experimentalBypassFor": [
375
375
  {
376
376
  "type": "header",
@@ -566,7 +566,7 @@
566
566
  "routeType": "page",
567
567
  "response": "complete",
568
568
  "compute": "static",
569
- "htmlSize": 49769,
569
+ "htmlSize": 49767,
570
570
  "experimentalBypassFor": [
571
571
  {
572
572
  "type": "header",
@@ -798,8 +798,8 @@
798
798
  "dynamicRoutes": {},
799
799
  "notFoundRoutes": [],
800
800
  "preview": {
801
- "previewModeId": "2dfbfd1dd628f3399704a1f7b1a68f1e",
802
- "previewModeSigningKey": "104bd4a453e39f298992512b7351ad4dcdc3e7de47a41f3414fc5e9115302d78",
803
- "previewModeEncryptionKey": "f40b80f87c5a2343d59bbef9a799ded90dd85b005d673a22cc54ca922b5ee2a0"
801
+ "previewModeId": "b9858e667773486d52e1e86e6ad0715f",
802
+ "previewModeSigningKey": "c46443022bba506912dff39ab33e6b609b3835446e34d0246d2a8162e1371251",
803
+ "previewModeEncryptionKey": "08fcbf3b437bf431f71547ee3646f8d8a094be722c0128b0245d7a957346ba82"
804
804
  }
805
805
  }