@rabbi696/ezrouter 0.5.60 → 0.5.62

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 (345) hide show
  1. package/app/.next-cli-build/BUILD_ID +1 -1
  2. package/app/.next-cli-build/app-path-routes-manifest.json +15 -15
  3. package/app/.next-cli-build/build-manifest.json +2 -2
  4. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  5. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  6. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/convoy/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/error-log/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/proxy-pools/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/routing-health/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  33. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  34. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_head.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_index.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_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  42. package/app/.next-cli-build/server/app/_not-found.rsc +5 -5
  43. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +5 -5
  44. package/app/.next-cli-build/server/app/_not-found.segments/_head.segment.rsc +1 -1
  45. package/app/.next-cli-build/server/app/_not-found.segments/_index.segment.rsc +4 -4
  46. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  47. package/app/.next-cli-build/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  48. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  49. package/app/.next-cli-build/server/app/api/auth/login/route.js +1 -1
  50. package/app/.next-cli-build/server/app/api/auth/logout/route.js +1 -1
  51. package/app/.next-cli-build/server/app/api/auth/oidc/callback/route.js +1 -1
  52. package/app/.next-cli-build/server/app/api/auth/oidc/start/route.js +1 -1
  53. package/app/.next-cli-build/server/app/api/auth/oidc/test/route.js +1 -1
  54. package/app/.next-cli-build/server/app/api/auth/saml/acs/route.js +1 -1
  55. package/app/.next-cli-build/server/app/api/auth/saml/start/route.js +1 -1
  56. package/app/.next-cli-build/server/app/api/auth/saml/test/route.js +1 -1
  57. package/app/.next-cli-build/server/app/api/auth/status/route.js +1 -1
  58. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/route.js +1 -1
  59. package/app/.next-cli-build/server/app/api/models/route.js +1 -1
  60. package/app/.next-cli-build/server/app/api/provider-nodes/validate/route.js +1 -1
  61. package/app/.next-cli-build/server/app/api/providers/route.js +1 -1
  62. package/app/.next-cli-build/server/app/api/settings/database/route.js +1 -1
  63. package/app/.next-cli-build/server/app/api/translator/console-logs/route.js +1 -1
  64. package/app/.next-cli-build/server/app/api/translator/console-logs/stream/route.js +1 -1
  65. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  66. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/callback.html +1 -1
  68. package/app/.next-cli-build/server/app/callback.rsc +5 -5
  69. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +5 -5
  70. package/app/.next-cli-build/server/app/callback.segments/_head.segment.rsc +1 -1
  71. package/app/.next-cli-build/server/app/callback.segments/_index.segment.rsc +4 -4
  72. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +2 -2
  73. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +1 -1
  74. package/app/.next-cli-build/server/app/callback.segments/callback.segment.rsc +1 -1
  75. package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
  76. package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +7 -7
  77. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +2 -2
  78. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat.segment.rsc +1 -1
  79. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  80. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  81. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +7 -7
  82. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_head.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_index.segment.rsc +4 -4
  84. package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +2 -2
  85. package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
  86. package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +7 -7
  87. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +2 -2
  88. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools.segment.rsc +1 -1
  89. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  90. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  91. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +7 -7
  92. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_head.segment.rsc +1 -1
  93. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_index.segment.rsc +4 -4
  94. package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +2 -2
  95. package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
  96. package/app/.next-cli-build/server/app/dashboard/combos.rsc +7 -7
  97. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +2 -2
  98. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos.segment.rsc +1 -1
  99. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  100. package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  101. package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +7 -7
  102. package/app/.next-cli-build/server/app/dashboard/combos.segments/_head.segment.rsc +1 -1
  103. package/app/.next-cli-build/server/app/dashboard/combos.segments/_index.segment.rsc +4 -4
  104. package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +2 -2
  105. package/app/.next-cli-build/server/app/dashboard/convoy.html +1 -1
  106. package/app/.next-cli-build/server/app/dashboard/convoy.rsc +7 -7
  107. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy/__PAGE__.segment.rsc +2 -2
  108. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard/convoy.segment.rsc +1 -1
  109. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  110. package/app/.next-cli-build/server/app/dashboard/convoy.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  111. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_full.segment.rsc +7 -7
  112. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_head.segment.rsc +1 -1
  113. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_index.segment.rsc +4 -4
  114. package/app/.next-cli-build/server/app/dashboard/convoy.segments/_tree.segment.rsc +2 -2
  115. package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
  116. package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +7 -7
  117. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +2 -2
  118. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint.segment.rsc +1 -1
  119. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  120. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  121. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +7 -7
  122. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_head.segment.rsc +1 -1
  123. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_index.segment.rsc +4 -4
  124. package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +2 -2
  125. package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
  126. package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +7 -7
  127. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +2 -2
  128. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web.segment.rsc +1 -1
  129. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers.segment.rsc +1 -1
  130. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  131. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  132. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +7 -7
  133. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_head.segment.rsc +1 -1
  134. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_index.segment.rsc +4 -4
  135. package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +2 -2
  136. package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
  137. package/app/.next-cli-build/server/app/dashboard/mitm.rsc +7 -7
  138. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +2 -2
  139. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm.segment.rsc +1 -1
  140. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  141. package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  142. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +7 -7
  143. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_head.segment.rsc +1 -1
  144. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_index.segment.rsc +4 -4
  145. package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +2 -2
  146. package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
  147. package/app/.next-cli-build/server/app/dashboard/profile.rsc +7 -7
  148. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +2 -2
  149. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile.segment.rsc +1 -1
  150. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  151. package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  152. package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +7 -7
  153. package/app/.next-cli-build/server/app/dashboard/profile.segments/_head.segment.rsc +1 -1
  154. package/app/.next-cli-build/server/app/dashboard/profile.segments/_index.segment.rsc +4 -4
  155. package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +2 -2
  156. package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
  157. package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +7 -7
  158. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +2 -2
  159. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new.segment.rsc +1 -1
  160. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  161. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  162. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  163. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +7 -7
  164. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_head.segment.rsc +1 -1
  165. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_index.segment.rsc +4 -4
  166. package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +2 -2
  167. package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
  168. package/app/.next-cli-build/server/app/dashboard/providers.rsc +7 -7
  169. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +2 -2
  170. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers.segment.rsc +1 -1
  171. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  172. package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  173. package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +7 -7
  174. package/app/.next-cli-build/server/app/dashboard/providers.segments/_head.segment.rsc +1 -1
  175. package/app/.next-cli-build/server/app/dashboard/providers.segments/_index.segment.rsc +4 -4
  176. package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +2 -2
  177. package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
  178. package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +7 -7
  179. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +2 -2
  180. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools.segment.rsc +1 -1
  181. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  182. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  183. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +7 -7
  184. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_head.segment.rsc +1 -1
  185. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_index.segment.rsc +4 -4
  186. package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +2 -2
  187. package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
  188. package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +7 -7
  189. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +2 -2
  190. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe.segment.rsc +1 -1
  191. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  192. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  193. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +7 -7
  194. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_head.segment.rsc +1 -1
  195. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_index.segment.rsc +4 -4
  196. package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +2 -2
  197. package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
  198. package/app/.next-cli-build/server/app/dashboard/quota.rsc +8 -8
  199. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
  200. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota.segment.rsc +1 -1
  201. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  202. package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  203. package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +8 -8
  204. package/app/.next-cli-build/server/app/dashboard/quota.segments/_head.segment.rsc +1 -1
  205. package/app/.next-cli-build/server/app/dashboard/quota.segments/_index.segment.rsc +4 -4
  206. package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +2 -2
  207. package/app/.next-cli-build/server/app/dashboard/routing-health.html +1 -1
  208. package/app/.next-cli-build/server/app/dashboard/routing-health.rsc +7 -7
  209. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health/__PAGE__.segment.rsc +2 -2
  210. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard/routing-health.segment.rsc +1 -1
  211. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  212. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  213. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_full.segment.rsc +7 -7
  214. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_head.segment.rsc +1 -1
  215. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_index.segment.rsc +4 -4
  216. package/app/.next-cli-build/server/app/dashboard/routing-health.segments/_tree.segment.rsc +2 -2
  217. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  218. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  219. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +5 -5
  220. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +5 -5
  221. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_head.segment.rsc +1 -1
  222. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_index.segment.rsc +4 -4
  223. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +2 -2
  224. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +1 -1
  225. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing.segment.rsc +1 -1
  226. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings.segment.rsc +1 -1
  227. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard.segment.rsc +1 -1
  228. package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
  229. package/app/.next-cli-build/server/app/dashboard/skills.rsc +7 -7
  230. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +2 -2
  231. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills.segment.rsc +1 -1
  232. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  233. package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  234. package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.segment.rsc +7 -7
  235. package/app/.next-cli-build/server/app/dashboard/skills.segments/_head.segment.rsc +1 -1
  236. package/app/.next-cli-build/server/app/dashboard/skills.segments/_index.segment.rsc +4 -4
  237. package/app/.next-cli-build/server/app/dashboard/skills.segments/_tree.segment.rsc +2 -2
  238. package/app/.next-cli-build/server/app/dashboard/token-saver.html +1 -1
  239. package/app/.next-cli-build/server/app/dashboard/token-saver.rsc +7 -7
  240. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +2 -2
  241. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver.segment.rsc +1 -1
  242. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  243. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  244. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +7 -7
  245. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_head.segment.rsc +1 -1
  246. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_index.segment.rsc +4 -4
  247. package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +2 -2
  248. package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
  249. package/app/.next-cli-build/server/app/dashboard/translator.rsc +7 -7
  250. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +2 -2
  251. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator.segment.rsc +1 -1
  252. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  253. package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  254. package/app/.next-cli-build/server/app/dashboard/translator.segments/_full.segment.rsc +7 -7
  255. package/app/.next-cli-build/server/app/dashboard/translator.segments/_head.segment.rsc +1 -1
  256. package/app/.next-cli-build/server/app/dashboard/translator.segments/_index.segment.rsc +4 -4
  257. package/app/.next-cli-build/server/app/dashboard/translator.segments/_tree.segment.rsc +2 -2
  258. package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
  259. package/app/.next-cli-build/server/app/dashboard/usage.rsc +7 -7
  260. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +2 -2
  261. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage.segment.rsc +1 -1
  262. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  263. package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  264. package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +7 -7
  265. package/app/.next-cli-build/server/app/dashboard/usage.segments/_head.segment.rsc +1 -1
  266. package/app/.next-cli-build/server/app/dashboard/usage.segments/_index.segment.rsc +4 -4
  267. package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +2 -2
  268. package/app/.next-cli-build/server/app/dashboard.html +1 -1
  269. package/app/.next-cli-build/server/app/dashboard.rsc +7 -7
  270. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +2 -2
  271. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard.segment.rsc +1 -1
  272. package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk.segment.rsc +2 -2
  273. package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +7 -7
  274. package/app/.next-cli-build/server/app/dashboard.segments/_head.segment.rsc +1 -1
  275. package/app/.next-cli-build/server/app/dashboard.segments/_index.segment.rsc +4 -4
  276. package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +2 -2
  277. package/app/.next-cli-build/server/app/index.html +1 -1
  278. package/app/.next-cli-build/server/app/index.rsc +5 -5
  279. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  280. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +5 -5
  281. package/app/.next-cli-build/server/app/index.segments/_head.segment.rsc +1 -1
  282. package/app/.next-cli-build/server/app/index.segments/_index.segment.rsc +4 -4
  283. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +2 -2
  284. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  285. package/app/.next-cli-build/server/app/landing.html +1 -1
  286. package/app/.next-cli-build/server/app/landing.rsc +5 -5
  287. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +5 -5
  288. package/app/.next-cli-build/server/app/landing.segments/_head.segment.rsc +1 -1
  289. package/app/.next-cli-build/server/app/landing.segments/_index.segment.rsc +4 -4
  290. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +2 -2
  291. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +1 -1
  292. package/app/.next-cli-build/server/app/landing.segments/landing.segment.rsc +1 -1
  293. package/app/.next-cli-build/server/app/login/page.js +1 -1
  294. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  295. package/app/.next-cli-build/server/app/login.html +1 -1
  296. package/app/.next-cli-build/server/app/login.rsc +6 -6
  297. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +6 -6
  298. package/app/.next-cli-build/server/app/login.segments/_head.segment.rsc +1 -1
  299. package/app/.next-cli-build/server/app/login.segments/_index.segment.rsc +4 -4
  300. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +2 -2
  301. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
  302. package/app/.next-cli-build/server/app/login.segments/login.segment.rsc +1 -1
  303. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  304. package/app/.next-cli-build/server/app-paths-manifest.json +15 -15
  305. package/app/.next-cli-build/server/chunks/1133.js +1 -1
  306. package/app/.next-cli-build/server/chunks/2964.js +1 -1
  307. package/app/.next-cli-build/server/chunks/412.js +3 -3
  308. package/app/.next-cli-build/server/chunks/4843.js +1 -1
  309. package/app/.next-cli-build/server/chunks/5315.js +1 -1
  310. package/app/.next-cli-build/server/chunks/5767.js +1 -1
  311. package/app/.next-cli-build/server/chunks/7591.js +1 -1
  312. package/app/.next-cli-build/server/chunks/7775.js +1 -1
  313. package/app/.next-cli-build/server/chunks/7889.js +1 -1
  314. package/app/.next-cli-build/server/chunks/7965.js +1 -1
  315. package/app/.next-cli-build/server/chunks/8243.js +6 -6
  316. package/app/.next-cli-build/server/chunks/8327.js +1 -1
  317. package/app/.next-cli-build/server/chunks/915.js +5 -5
  318. package/app/.next-cli-build/server/chunks/921.js +1 -1
  319. package/app/.next-cli-build/server/chunks/9212.js +1 -1
  320. package/app/.next-cli-build/server/chunks/9356.js +1 -1
  321. package/app/.next-cli-build/server/chunks/9573.js +1 -1
  322. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  323. package/app/.next-cli-build/server/middleware.js +2 -2
  324. package/app/.next-cli-build/server/pages/404.html +1 -1
  325. package/app/.next-cli-build/server/pages/500.html +1 -1
  326. package/app/.next-cli-build/static/chunks/{1321-99251b6b7333c1e8.js → 1321-5106cbd4c2b0db5a.js} +1 -1
  327. package/app/.next-cli-build/static/chunks/{316-e31fdcce21861e2a.js → 316-338292ed1e0e0c2d.js} +1 -1
  328. package/app/.next-cli-build/static/chunks/5497-5e19c2d48f03549c.js +17 -0
  329. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-db01adc017c79525.js +1 -0
  330. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-dd0da067c70e7ed5.js +1 -0
  331. package/app/.next-cli-build/static/chunks/app/login/{page-d2b456f2f047d69f.js → page-27e9a95a150a0ac4.js} +1 -1
  332. package/app/.next-cli-build/static/css/f072845a0645fa45.css +1 -0
  333. package/app/package.json +1 -1
  334. package/app/public/ezrouter-logo.png +0 -0
  335. package/app/public/ezrouter.png +0 -0
  336. package/app/public/favicon.svg +13 -7
  337. package/app/public/logo.png +0 -0
  338. package/app/src/mitm/server.js +2 -2
  339. package/package.json +1 -1
  340. package/app/.next-cli-build/static/chunks/5497-425ff6c3f97eba34.js +0 -17
  341. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/profile/page-bbadce863e4f8816.js +0 -1
  342. package/app/.next-cli-build/static/chunks/app/(dashboard)/layout-ebce047b947e505b.js +0 -1
  343. package/app/.next-cli-build/static/css/c934c44f674d9397.css +0 -1
  344. /package/app/.next-cli-build/static/{bB1CDzkgNHY2LEAVUSQLg → jfVlrj033C8sUX7Omikrb}/_buildManifest.js +0 -0
  345. /package/app/.next-cli-build/static/{bB1CDzkgNHY2LEAVUSQLg → jfVlrj033C8sUX7Omikrb}/_ssgManifest.js +0 -0
@@ -1,11 +1,17 @@
1
- <svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <rect width="32" height="32" rx="6" fill="url(#gradient)"/>
3
- <text x="16" y="24" font-family="system-ui, -apple-system, sans-serif" font-size="20" font-weight="700" fill="white" text-anchor="middle">9</text>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 32 32">
3
+ <!-- Generator: Adobe Illustrator 30.6.0, SVG Export Plug-In . SVG Version: 2.1.4 Build 109) -->
4
4
  <defs>
5
- <linearGradient id="gradient" x1="0" y1="0" x2="32" y2="32" gradientUnits="userSpaceOnUse">
6
- <stop stop-color="#f97815"/>
5
+ <style>
6
+ .st0 {
7
+ fill: url(#linear-gradient);
8
+ }
9
+ </style>
10
+ <linearGradient id="linear-gradient" x1="0" y1="34" x2="32" y2="2" gradientTransform="translate(0 34) scale(1 -1)" gradientUnits="userSpaceOnUse">
11
+ <stop offset="0" stop-color="#f97815"/>
7
12
  <stop offset="1" stop-color="#c2590a"/>
8
13
  </linearGradient>
9
14
  </defs>
10
- </svg>
11
-
15
+ <rect class="st0" width="32" height="32" rx="6" ry="6"/>
16
+ <image width="512" height="512" transform="translate(.32 .32) scale(.06)" xlink:href="data:image/png;base64,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"/>
17
+ </svg>
Binary file
@@ -22,7 +22,7 @@ ${c}`;qt.writeFileSync(n,v)}catch{}},file:n}}Zn.exports={log:Du,err:Uu,dumpReque
22
22
  Private-Lines: `+u+`\r
23
23
  `,s+=f;var S=va("putty-private-key-file-mac-key",t),A=Ce.util.createBuffer();vr(A,r),vr(A,n),vr(A,a),A.putInt32(i.length()),A.putBuffer(i),A.putInt32(l.length()),A.putBuffer(l);var B=Ce.hmac.create();return B.start("sha1",S),B.update(A.bytes()),s+=`\r
24
24
  Private-MAC: `+B.digest().toHex()+`\r
25
- `,s};ma.publicKeyToOpenSSH=function(e,t){var a="ssh-rsa";t=t||"";var r=Ce.util.createBuffer();return vr(r,a),xt(r,e.e),xt(r,e.n),a+" "+Ce.util.encode64(r.bytes())+" "+t};ma.privateKeyToOpenSSH=function(e,t){return t?Ce.pki.encryptRsaPrivateKey(e,t,{legacy:!0,algorithm:"aes128"}):Ce.pki.privateKeyToPem(e)};ma.getPublicKeyFingerprint=function(e,t){t=t||{};var a=t.md||Ce.md.md5.create(),r="ssh-rsa",n=Ce.util.createBuffer();vr(n,r),xt(n,e.e),xt(n,e.n),a.start(),a.update(n.getBytes());var s=a.digest();if(t.encoding==="hex"){var i=s.toHex();return t.delimiter?i.match(/.{2}/g).join(t.delimiter):i}else{if(t.encoding==="binary")return s.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".')}return s};function xt(e,t){var a=t.toString(16);a[0]>="8"&&(a="00"+a);var r=Ce.util.hexToBytes(a);e.putInt32(r.length),e.putBytes(r)}function vr(e,t){e.putInt32(t.length),e.putString(t)}function va(){for(var e=Ce.md.sha1.create(),t=arguments.length,a=0;a<t;++a)e.update(arguments[a]);return e.digest()}});var yo=F((Jh,go)=>{go.exports=$();wt();Ds();lt();qr();Ir();Js();ir();ro();so();uo();sn();Zr();Qt();Za();ln();co();cn();tn();za();sa();tt();Ya();po();vn();re()});var Eo=F((Zh,Co)=>{var vo=require("path"),Xe=require("fs"),Je=yo(),{MITM_DIR:Ca}=rr(),Ft=vo.join(Ca,"rootCA.key"),Bt=vo.join(Ca,"rootCA.crt");function mo(e){try{let t=Je.pki.certificateFromPem(Xe.readFileSync(e,"utf8")),a=new Date(Date.now()+720*60*60*1e3);return t.validity.notAfter<a}catch{return!0}}function Bc(){let e=Xe.existsSync(Ft)&&Xe.existsSync(Bt);if(e&&!mo(Bt))return console.log("\u2705 Root CA already exists"),{key:Ft,cert:Bt};if(e){console.log("\u{1F510} Root CA expired or expiring soon \u2014 regenerating...");try{Xe.unlinkSync(Ft)}catch{}try{Xe.unlinkSync(Bt)}catch{}}Xe.existsSync(Ca)||Xe.mkdirSync(Ca,{recursive:!0}),console.log("\u{1F510} Generating Root CA certificate...");let t=Je.pki.rsa.generateKeyPair(2048),a=Je.pki.createCertificate();a.publicKey=t.publicKey,a.serialNumber="01",a.validity.notBefore=new Date,a.validity.notAfter=new Date,a.validity.notAfter.setFullYear(a.validity.notBefore.getFullYear()+10);let r=[{name:"commonName",value:"9Router MITM Root CA"},{name:"organizationName",value:"9Router"},{name:"countryName",value:"US"}];a.setSubject(r),a.setIssuer(r),a.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),a.sign(t.privateKey,Je.md.sha256.create());let n=Je.pki.privateKeyToPem(t.privateKey),s=Je.pki.certificateToPem(a);return Xe.writeFileSync(Ft,n),Xe.writeFileSync(Bt,s),console.log("\u2705 Root CA generated successfully"),{key:Ft,cert:Bt}}function bc(){if(!Xe.existsSync(Ft)||!Xe.existsSync(Bt))throw new Error("Root CA not found. Generate it first.");let e=Xe.readFileSync(Ft,"utf8"),t=Xe.readFileSync(Bt,"utf8");return{key:Je.pki.privateKeyFromPem(e),cert:Je.pki.certificateFromPem(t)}}function _c(e,t){let a=Je.pki.rsa.generateKeyPair(2048),r=Je.pki.createCertificate();return r.publicKey=a.publicKey,r.serialNumber=Math.floor(Math.random()*1e6).toString(),r.validity.notBefore=new Date,r.validity.notAfter=new Date,r.validity.notAfter.setFullYear(r.validity.notBefore.getFullYear()+1),r.setSubject([{name:"commonName",value:e}]),r.setIssuer(t.cert.subject.attributes),r.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:e},{type:2,value:`*.${e}`}]}]),r.sign(t.key,Je.md.sha256.create()),{key:Je.pki.privateKeyToPem(a.privateKey),cert:Je.pki.certificateToPem(r)}}Co.exports={generateRootCA:Bc,loadRootCA:bc,generateLeafCert:_c,isCertExpired:mo,ROOT_CA_CERT_PATH:Bt,ROOT_CA_KEY_PATH:Ft}});var So=F((ap,xo)=>{var ep=require("path"),tp=require("fs"),{MITM_DIR:rp}=rr(),{generateRootCA:Nc,loadRootCA:wc,generateLeafCert:Rc}=Eo();function Lc(){return Nc()}function kc(e){try{let t=wc(),a=Rc(e,t);return{key:a.key,cert:a.cert}}catch(t){return console.error(`Failed to generate cert for ${e}:`,t.message),null}}xo.exports={generateCert:Lc,getCertForDomain:kc}});var Bo=F((np,Io)=>{var To=require("fs"),Dc=require("path"),{DATA_DIR:Uc}=rr(),Ao=Dc.join(Uc,"mitm","aliases.json");function Pc(){try{return To.existsSync(Ao)?JSON.parse(To.readFileSync(Ao,"utf-8")):null}catch{return null}}function Oc(e){return Pc()?.[e]||null}Io.exports={getMitmAlias:Oc}});var No=F((ip,_o)=>{"use strict";var mr="1.23.2";function Vc(e){return!e||typeof e!="object"||Array.isArray(e)?!1:String(e.ideName||"").toLowerCase()==="antigravity"||String(e.ideType||"").toUpperCase()==="ANTIGRAVITY"?!0:Object.prototype.hasOwnProperty.call(e,"ideVersion")}function bo(e,t){return typeof e!="string"||!e.includes("antigravity/")?e:e.replace(/antigravity\/[^\s]+/,`antigravity/${t}`)}function Fc(e,t){let a={...t},r=bo(a["user-agent"],mr),n=r!==a["user-agent"];n&&(a["user-agent"]=r);try{let s=JSON.parse(e.toString());return Vc(s?.metadata)?(s.metadata.ideVersion=mr,{bodyBuffer:Buffer.from(JSON.stringify(s)),headers:a,applied:!0,version:mr}):{bodyBuffer:e,headers:a,applied:n,version:mr}}catch{return{bodyBuffer:e,headers:a,applied:n,version:mr}}}_o.exports={ANTIGRAVITY_IDE_VERSION:mr,applyAntigravityIdeVersionOverride:Fc,rewriteAntigravityUserAgent:bo}});var xa=F((op,Lo)=>{var{log:Ea,err:sp}=Gt(),wo="http://localhost:20128",Kc=String(process.env.MITM_ROUTER_BASE||wo).trim().replace(/\/+$/,"")||wo,Ro=process.env.ROUTER_API_KEY,Mc=new Set(["host","content-length","connection","transfer-encoding","content-type","authorization"]);async function qc(e,t="/v1/chat/completions",a={}){let r={};for(let[s,i]of Object.entries(a))Mc.has(s.toLowerCase())||(r[s]=i);return await fetch(`${Kc}${t}`,{method:"POST",headers:{...r,"Content-Type":"application/json",...Ro&&{Authorization:`Bearer ${Ro}`}},body:JSON.stringify(e)})}async function Hc(e,t,a){let r=e.headers.get("content-type")||"application/json",n=e.status||200,s={"Content-Type":r,"Cache-Control":"no-cache",Connection:"keep-alive"};if(r.includes("text/event-stream")&&(s["X-Accel-Buffering"]="no"),t.writeHead(n,s),a&&a.writeHeader(e.status,Object.fromEntries(e.headers)),!e.body){let u=await e.text().catch(()=>"");a&&(a.writeChunk(u),a.end()),t.end(u);return}let i=e.body.getReader(),o=new TextDecoder;for(;;){let{done:u,value:l}=await i.read();if(u){a&&a.end(),t.end();break}a&&a.writeChunk(l),t.write(o.decode(l,{stream:!0}))}}async function Gc(e,t,a,r){let n=e.headers.get("content-type")||"application/json",s={"Content-Type":n,"Cache-Control":"no-cache",Connection:"keep-alive"};if(n.includes("text/event-stream")&&(s["X-Accel-Buffering"]="no"),t.writeHead(200,s),!e.body){t.end(await e.text().catch(()=>""));return}let i=e.body.getReader(),o=new TextDecoder("utf-8",{fatal:!1}),u="";for(;;){let{done:l,value:f}=await i.read();if(l)break;u+=o.decode(f,{stream:!0});let c=u.split(`
25
+ `,s};ma.publicKeyToOpenSSH=function(e,t){var a="ssh-rsa";t=t||"";var r=Ce.util.createBuffer();return vr(r,a),xt(r,e.e),xt(r,e.n),a+" "+Ce.util.encode64(r.bytes())+" "+t};ma.privateKeyToOpenSSH=function(e,t){return t?Ce.pki.encryptRsaPrivateKey(e,t,{legacy:!0,algorithm:"aes128"}):Ce.pki.privateKeyToPem(e)};ma.getPublicKeyFingerprint=function(e,t){t=t||{};var a=t.md||Ce.md.md5.create(),r="ssh-rsa",n=Ce.util.createBuffer();vr(n,r),xt(n,e.e),xt(n,e.n),a.start(),a.update(n.getBytes());var s=a.digest();if(t.encoding==="hex"){var i=s.toHex();return t.delimiter?i.match(/.{2}/g).join(t.delimiter):i}else{if(t.encoding==="binary")return s.getBytes();if(t.encoding)throw new Error('Unknown encoding "'+t.encoding+'".')}return s};function xt(e,t){var a=t.toString(16);a[0]>="8"&&(a="00"+a);var r=Ce.util.hexToBytes(a);e.putInt32(r.length),e.putBytes(r)}function vr(e,t){e.putInt32(t.length),e.putString(t)}function va(){for(var e=Ce.md.sha1.create(),t=arguments.length,a=0;a<t;++a)e.update(arguments[a]);return e.digest()}});var yo=F((Jh,go)=>{go.exports=$();wt();Ds();lt();qr();Ir();Js();ir();ro();so();uo();sn();Zr();Qt();Za();ln();co();cn();tn();za();sa();tt();Ya();po();vn();re()});var Eo=F((Zh,Co)=>{var vo=require("path"),Xe=require("fs"),Je=yo(),{MITM_DIR:Ca}=rr(),Ft=vo.join(Ca,"rootCA.key"),Bt=vo.join(Ca,"rootCA.crt");function mo(e){try{let t=Je.pki.certificateFromPem(Xe.readFileSync(e,"utf8")),a=new Date(Date.now()+720*60*60*1e3);return t.validity.notAfter<a}catch{return!0}}function Bc(){let e=Xe.existsSync(Ft)&&Xe.existsSync(Bt);if(e&&!mo(Bt))return console.log("\u2705 Root CA already exists"),{key:Ft,cert:Bt};if(e){console.log("\u{1F510} Root CA expired or expiring soon \u2014 regenerating...");try{Xe.unlinkSync(Ft)}catch{}try{Xe.unlinkSync(Bt)}catch{}}Xe.existsSync(Ca)||Xe.mkdirSync(Ca,{recursive:!0}),console.log("\u{1F510} Generating Root CA certificate...");let t=Je.pki.rsa.generateKeyPair(2048),a=Je.pki.createCertificate();a.publicKey=t.publicKey,a.serialNumber="01",a.validity.notBefore=new Date,a.validity.notAfter=new Date,a.validity.notAfter.setFullYear(a.validity.notBefore.getFullYear()+10);let r=[{name:"commonName",value:"EzRouter MITM Root CA"},{name:"organizationName",value:"EzRouter"},{name:"countryName",value:"US"}];a.setSubject(r),a.setIssuer(r),a.setExtensions([{name:"basicConstraints",cA:!0,critical:!0},{name:"keyUsage",keyCertSign:!0,cRLSign:!0,critical:!0},{name:"subjectKeyIdentifier"}]),a.sign(t.privateKey,Je.md.sha256.create());let n=Je.pki.privateKeyToPem(t.privateKey),s=Je.pki.certificateToPem(a);return Xe.writeFileSync(Ft,n),Xe.writeFileSync(Bt,s),console.log("\u2705 Root CA generated successfully"),{key:Ft,cert:Bt}}function bc(){if(!Xe.existsSync(Ft)||!Xe.existsSync(Bt))throw new Error("Root CA not found. Generate it first.");let e=Xe.readFileSync(Ft,"utf8"),t=Xe.readFileSync(Bt,"utf8");return{key:Je.pki.privateKeyFromPem(e),cert:Je.pki.certificateFromPem(t)}}function _c(e,t){let a=Je.pki.rsa.generateKeyPair(2048),r=Je.pki.createCertificate();return r.publicKey=a.publicKey,r.serialNumber=Math.floor(Math.random()*1e6).toString(),r.validity.notBefore=new Date,r.validity.notAfter=new Date,r.validity.notAfter.setFullYear(r.validity.notBefore.getFullYear()+1),r.setSubject([{name:"commonName",value:e}]),r.setIssuer(t.cert.subject.attributes),r.setExtensions([{name:"basicConstraints",cA:!1},{name:"keyUsage",digitalSignature:!0,keyEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0},{name:"subjectAltName",altNames:[{type:2,value:e},{type:2,value:`*.${e}`}]}]),r.sign(t.key,Je.md.sha256.create()),{key:Je.pki.privateKeyToPem(a.privateKey),cert:Je.pki.certificateToPem(r)}}Co.exports={generateRootCA:Bc,loadRootCA:bc,generateLeafCert:_c,isCertExpired:mo,ROOT_CA_CERT_PATH:Bt,ROOT_CA_KEY_PATH:Ft}});var So=F((ap,xo)=>{var ep=require("path"),tp=require("fs"),{MITM_DIR:rp}=rr(),{generateRootCA:Nc,loadRootCA:wc,generateLeafCert:Rc}=Eo();function Lc(){return Nc()}function kc(e){try{let t=wc(),a=Rc(e,t);return{key:a.key,cert:a.cert}}catch(t){return console.error(`Failed to generate cert for ${e}:`,t.message),null}}xo.exports={generateCert:Lc,getCertForDomain:kc}});var Bo=F((np,Io)=>{var To=require("fs"),Dc=require("path"),{DATA_DIR:Uc}=rr(),Ao=Dc.join(Uc,"mitm","aliases.json");function Pc(){try{return To.existsSync(Ao)?JSON.parse(To.readFileSync(Ao,"utf-8")):null}catch{return null}}function Oc(e){return Pc()?.[e]||null}Io.exports={getMitmAlias:Oc}});var No=F((ip,_o)=>{"use strict";var mr="1.23.2";function Vc(e){return!e||typeof e!="object"||Array.isArray(e)?!1:String(e.ideName||"").toLowerCase()==="antigravity"||String(e.ideType||"").toUpperCase()==="ANTIGRAVITY"?!0:Object.prototype.hasOwnProperty.call(e,"ideVersion")}function bo(e,t){return typeof e!="string"||!e.includes("antigravity/")?e:e.replace(/antigravity\/[^\s]+/,`antigravity/${t}`)}function Fc(e,t){let a={...t},r=bo(a["user-agent"],mr),n=r!==a["user-agent"];n&&(a["user-agent"]=r);try{let s=JSON.parse(e.toString());return Vc(s?.metadata)?(s.metadata.ideVersion=mr,{bodyBuffer:Buffer.from(JSON.stringify(s)),headers:a,applied:!0,version:mr}):{bodyBuffer:e,headers:a,applied:n,version:mr}}catch{return{bodyBuffer:e,headers:a,applied:n,version:mr}}}_o.exports={ANTIGRAVITY_IDE_VERSION:mr,applyAntigravityIdeVersionOverride:Fc,rewriteAntigravityUserAgent:bo}});var xa=F((op,Lo)=>{var{log:Ea,err:sp}=Gt(),wo="http://localhost:20126",Kc=String(process.env.MITM_ROUTER_BASE||wo).trim().replace(/\/+$/,"")||wo,Ro=process.env.ROUTER_API_KEY,Mc=new Set(["host","content-length","connection","transfer-encoding","content-type","authorization"]);async function qc(e,t="/v1/chat/completions",a={}){let r={};for(let[s,i]of Object.entries(a))Mc.has(s.toLowerCase())||(r[s]=i);return await fetch(`${Kc}${t}`,{method:"POST",headers:{...r,"Content-Type":"application/json",...Ro&&{Authorization:`Bearer ${Ro}`}},body:JSON.stringify(e)})}async function Hc(e,t,a){let r=e.headers.get("content-type")||"application/json",n=e.status||200,s={"Content-Type":r,"Cache-Control":"no-cache",Connection:"keep-alive"};if(r.includes("text/event-stream")&&(s["X-Accel-Buffering"]="no"),t.writeHead(n,s),a&&a.writeHeader(e.status,Object.fromEntries(e.headers)),!e.body){let u=await e.text().catch(()=>"");a&&(a.writeChunk(u),a.end()),t.end(u);return}let i=e.body.getReader(),o=new TextDecoder;for(;;){let{done:u,value:l}=await i.read();if(u){a&&a.end(),t.end();break}a&&a.writeChunk(l),t.write(o.decode(l,{stream:!0}))}}async function Gc(e,t,a,r){let n=e.headers.get("content-type")||"application/json",s={"Content-Type":n,"Cache-Control":"no-cache",Connection:"keep-alive"};if(n.includes("text/event-stream")&&(s["X-Accel-Buffering"]="no"),t.writeHead(200,s),!e.body){t.end(await e.text().catch(()=>""));return}let i=e.body.getReader(),o=new TextDecoder("utf-8",{fatal:!1}),u="";for(;;){let{done:l,value:f}=await i.read();if(l)break;u+=o.decode(f,{stream:!0});let c=u.split(`
26
26
  `);u=c.pop()||"";for(let g of c){let v=g.trim();if(!v||!v.startsWith("data:"))continue;let y=v.slice(5).trim();if(y!=="[DONE]"){process.env.DEBUG_MITM&&Ea(`[SSE in] ${y.slice(0,200)}`);try{let x=JSON.parse(y),S=a(x,r);if(S!=null){let A=Array.isArray(S)?S:[S];for(let B of A){if(process.env.DEBUG_MITM){let b=B.length||B.byteLength||0;Ea(`[write binary frame] (${b}B) first 20B: ${Array.from(B.slice(0,20)).join(",")}`)}t.write(Buffer.from(B))}}}catch{}}}}try{let l=a(null,r);if(l!=null){let f=Array.isArray(l)?l:[l];for(let c of f)t.write(c)}}catch{}t.end()}async function zc(e,t,a,r){let n={"Content-Type":"application/vnd.amazon.eventstream","Cache-Control":"no-cache",Connection:"keep-alive"};if(t.writeHead(200,n),!e.body){t.end(await e.text().catch(()=>""));return}let s=e.body.getReader(),i=new TextDecoder("utf-8",{fatal:!1}),o="";for(;;){let{done:u,value:l}=await s.read();if(u)break;o+=i.decode(l,{stream:!0});let f=o.split(`
27
27
  `);o=f.pop()||"";for(let c of f){let g=c.trim();if(!g||!g.startsWith("data:"))continue;let v=g.slice(5).trim();if(v!=="[DONE]"){process.env.DEBUG_MITM&&Ea(`[SSE in] ${v.slice(0,200)}`);try{let y=JSON.parse(v),x=a(y,r);if(x!=null){let S=Array.isArray(x)?x:[x];for(let A of S){if(process.env.DEBUG_MITM){let B=A.length||A.byteLength||0;Ea(`[write binary frame] (${B}B) first 20B: ${Array.from(A.slice(0,20)).join(",")}`)}t.write(Buffer.from(A))}}}catch{}}}}try{let u=a(null,r);if(u!=null){let l=Array.isArray(u)?u:[u];for(let f of l)t.write(f)}}catch{}t.end()}Lo.exports={fetchRouter:qc,pipeSSE:Hc,pipeTransformedSSE:Gc,pipeTransformedEventStream:zc}});var Do=F((up,ko)=>{var{err:Qc,createResponseDumper:$c}=Gt(),{IS_DEV:Yc}=Er(),{fetchRouter:jc,pipeSSE:Wc}=xa();async function Xc(e,t,a,r){let n=Yc?$c(e,"intercept-antigravity"):null,s=e.url.includes(":streamGenerateContent");try{let i=JSON.parse(a.toString());i.model&&(i.model=r);let o=await jc(i,"/v1/chat/completions",e.headers);await Wc(o,t,n)}catch(i){Qc(`[antigravity] ${i.message}`),n&&(n.writeChunk(`
28
28
  [ERROR] ${i.message}
@@ -36,7 +36,7 @@ Private-MAC: `+B.digest().toHex()+`\r
36
36
  '-WindowStyle','Hidden','-EncodedCommand','${t}'
37
37
  ) -Verb RunAs -Wait -PassThru -WindowStyle Hidden;
38
38
  if ($proc.ExitCode -ne 0) { throw "Elevated command exited with code $($proc.ExitCode)" }
39
- `;return new Promise((r,n)=>{$o(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command ${Wo(a)}`,{windowsHide:!0},(s,i,o)=>{if(s){let u=o||s.message;u.includes("canceled by the user")||u.includes("operation was canceled")?n(new Error("User canceled UAC prompt")):n(new Error(u))}else r(i)})})}Xo.exports={isAdmin:jo,runElevatedPowerShell:Id,quotePs:Wo}});var ou=F((vp,su)=>{var{exec:pp,spawn:Zo,execSync:Or}=require("child_process"),_e=require("fs"),Bd=require("path"),gp=require("os"),{log:Ta,err:bd}=Gt(),{TOOL_HOSTS:Kt}=Qo(),{runElevatedPowerShell:eu,isAdmin:yp}=Jo();function tu(e,t,a){let r=`${e}.9router.new`,n=`${e}.9router.bak`;try{_e.writeFileSync(r,a,"utf8");try{_e.unlinkSync(n)}catch{}_e.renameSync(e,n);try{_e.renameSync(r,e)}catch(s){try{_e.renameSync(n,e)}catch{_e.writeFileSync(e,t,"utf8")}throw s}try{_e.unlinkSync(n)}catch{}}finally{try{_e.unlinkSync(r)}catch{}}}var bt=process.platform==="win32",ru=process.platform==="darwin",Ze=bt?Bd.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"):"/etc/hosts";function Aa(){if(bt)return!1;try{return Or("command -v sudo",{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function au(){if(bt||!Aa())return!0;try{return Or("sudo -n true",{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function _d(){return!bt&&Aa()&&!au()}function Vr(e,t){return new Promise((a,r)=>{let n=Aa(),s=n?Zo("sudo",["-S","sh","-c",e],{stdio:["pipe","pipe","pipe"],windowsHide:!0}):Zo("sh",["-c",e],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),i="",o="";s.stdout.on("data",u=>{i+=u}),s.stderr.on("data",u=>{o+=u}),s.on("close",u=>{u===0?a(i):r(new Error(o||`Exit code ${u}`))}),n&&(s.stdin.write(`${t}
39
+ `;return new Promise((r,n)=>{$o(`powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -Command ${Wo(a)}`,{windowsHide:!0},(s,i,o)=>{if(s){let u=o||s.message;u.includes("canceled by the user")||u.includes("operation was canceled")?n(new Error("User canceled UAC prompt")):n(new Error(u))}else r(i)})})}Xo.exports={isAdmin:jo,runElevatedPowerShell:Id,quotePs:Wo}});var ou=F((vp,su)=>{var{exec:pp,spawn:Zo,execSync:Or}=require("child_process"),_e=require("fs"),Bd=require("path"),gp=require("os"),{log:Ta,err:bd}=Gt(),{TOOL_HOSTS:Kt}=Qo(),{runElevatedPowerShell:eu,isAdmin:yp}=Jo();function tu(e,t,a){let r=`${e}.ezrouter.new`,n=`${e}.ezrouter.bak`;try{_e.writeFileSync(r,a,"utf8");try{_e.unlinkSync(n)}catch{}_e.renameSync(e,n);try{_e.renameSync(r,e)}catch(s){try{_e.renameSync(n,e)}catch{_e.writeFileSync(e,t,"utf8")}throw s}try{_e.unlinkSync(n)}catch{}}finally{try{_e.unlinkSync(r)}catch{}}}var bt=process.platform==="win32",ru=process.platform==="darwin",Ze=bt?Bd.join(process.env.SystemRoot||"C:\\Windows","System32","drivers","etc","hosts"):"/etc/hosts";function Aa(){if(bt)return!1;try{return Or("command -v sudo",{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function au(){if(bt||!Aa())return!0;try{return Or("sudo -n true",{stdio:"ignore",windowsHide:!0}),!0}catch{return!1}}function _d(){return!bt&&Aa()&&!au()}function Vr(e,t){return new Promise((a,r)=>{let n=Aa(),s=n?Zo("sudo",["-S","sh","-c",e],{stdio:["pipe","pipe","pipe"],windowsHide:!0}):Zo("sh",["-c",e],{stdio:["ignore","pipe","pipe"],windowsHide:!0}),i="",o="";s.stdout.on("data",u=>{i+=u}),s.stderr.on("data",u=>{o+=u}),s.on("close",u=>{u===0?a(i):r(new Error(o||`Exit code ${u}`))}),n&&(s.stdin.write(`${t}
40
40
  `),s.stdin.end())})}async function nu(e){bt||(ru?await Vr("dscacheutil -flushcache && killall -HUP mDNSResponder",e):await Vr("resolvectl flush-caches 2>/dev/null || true",e))}function Un(e=null){try{let t=_e.readFileSync(Ze,"utf8");return e?t.includes(e):Kt.antigravity.every(a=>t.includes(a))}catch{return!1}}function Nd(){try{let e=_e.readFileSync(Ze,"utf8"),t={};for(let[a,r]of Object.entries(Kt))t[a]=r.every(n=>e.includes(n));return t}catch{return Object.fromEntries(Object.keys(Kt).map(e=>[e,!1]))}}async function wd(e,t){let a=Kt[e];if(!a)throw new Error(`Unknown tool: ${e}`);let r=a.filter(n=>!Un(n));if(r.length===0){Ta(`\u{1F310} DNS ${e}: already active`);return}try{if(bt){let n=_e.readFileSync(Ze,"utf8"),s=n.replace(/[\r\n\s]+$/g,""),i=r.map(u=>`127.0.0.1 ${u}`).join(`\r
41
41
  `),o=`${s}\r
42
42
  ${i}\r
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rabbi696/ezrouter",
3
- "version": "0.5.60",
3
+ "version": "0.5.62",
4
4
  "description": "EzRouter CLI - Start and manage EzRouter server (default port 20126)",
5
5
  "bin": {
6
6
  "ezrouter": "./cli.js"