aigetwey 1.4.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.md +8 -1
  3. package/dashboard/.next/BUILD_ID +1 -1
  4. package/dashboard/.next/build-manifest.json +3 -3
  5. package/dashboard/.next/diagnostics/route-bundle-stats.json +28 -28
  6. package/dashboard/.next/fallback-build-manifest.json +3 -3
  7. package/dashboard/.next/server/app/(console)/combos/page_client-reference-manifest.js +1 -1
  8. package/dashboard/.next/server/app/(console)/config/page_client-reference-manifest.js +1 -1
  9. package/dashboard/.next/server/app/(console)/console/page_client-reference-manifest.js +1 -1
  10. package/dashboard/.next/server/app/(console)/endpoint/page_client-reference-manifest.js +1 -1
  11. package/dashboard/.next/server/app/(console)/keys/page_client-reference-manifest.js +1 -1
  12. package/dashboard/.next/server/app/(console)/page_client-reference-manifest.js +1 -1
  13. package/dashboard/.next/server/app/(console)/providers/[id]/page_client-reference-manifest.js +1 -1
  14. package/dashboard/.next/server/app/(console)/providers/page_client-reference-manifest.js +1 -1
  15. package/dashboard/.next/server/app/(console)/quota/page_client-reference-manifest.js +1 -1
  16. package/dashboard/.next/server/app/(console)/tools/[id]/page_client-reference-manifest.js +1 -1
  17. package/dashboard/.next/server/app/(console)/tools/page_client-reference-manifest.js +1 -1
  18. package/dashboard/.next/server/app/(console)/usage/page_client-reference-manifest.js +1 -1
  19. package/dashboard/.next/server/app/_global-error.html +1 -1
  20. package/dashboard/.next/server/app/_global-error.rsc +1 -1
  21. package/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  22. package/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  23. package/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  24. package/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  25. package/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  26. package/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  27. package/dashboard/.next/server/app/_not-found.html +1 -1
  28. package/dashboard/.next/server/app/_not-found.rsc +2 -2
  29. package/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  30. package/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  31. package/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  32. package/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  33. package/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  34. package/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  35. package/dashboard/.next/server/app/combos.html +1 -1
  36. package/dashboard/.next/server/app/combos.rsc +5 -5
  37. package/dashboard/.next/server/app/combos.segments/!KGNvbnNvbGUp/combos/__PAGE__.segment.rsc +2 -2
  38. package/dashboard/.next/server/app/combos.segments/!KGNvbnNvbGUp/combos.segment.rsc +1 -1
  39. package/dashboard/.next/server/app/combos.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  40. package/dashboard/.next/server/app/combos.segments/_full.segment.rsc +5 -5
  41. package/dashboard/.next/server/app/combos.segments/_head.segment.rsc +1 -1
  42. package/dashboard/.next/server/app/combos.segments/_index.segment.rsc +2 -2
  43. package/dashboard/.next/server/app/combos.segments/_tree.segment.rsc +2 -2
  44. package/dashboard/.next/server/app/config.html +1 -1
  45. package/dashboard/.next/server/app/config.rsc +5 -5
  46. package/dashboard/.next/server/app/config.segments/!KGNvbnNvbGUp/config/__PAGE__.segment.rsc +2 -2
  47. package/dashboard/.next/server/app/config.segments/!KGNvbnNvbGUp/config.segment.rsc +1 -1
  48. package/dashboard/.next/server/app/config.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  49. package/dashboard/.next/server/app/config.segments/_full.segment.rsc +5 -5
  50. package/dashboard/.next/server/app/config.segments/_head.segment.rsc +1 -1
  51. package/dashboard/.next/server/app/config.segments/_index.segment.rsc +2 -2
  52. package/dashboard/.next/server/app/config.segments/_tree.segment.rsc +2 -2
  53. package/dashboard/.next/server/app/console.html +1 -1
  54. package/dashboard/.next/server/app/console.rsc +5 -5
  55. package/dashboard/.next/server/app/console.segments/!KGNvbnNvbGUp/console/__PAGE__.segment.rsc +2 -2
  56. package/dashboard/.next/server/app/console.segments/!KGNvbnNvbGUp/console.segment.rsc +1 -1
  57. package/dashboard/.next/server/app/console.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  58. package/dashboard/.next/server/app/console.segments/_full.segment.rsc +5 -5
  59. package/dashboard/.next/server/app/console.segments/_head.segment.rsc +1 -1
  60. package/dashboard/.next/server/app/console.segments/_index.segment.rsc +2 -2
  61. package/dashboard/.next/server/app/console.segments/_tree.segment.rsc +2 -2
  62. package/dashboard/.next/server/app/endpoint.html +1 -1
  63. package/dashboard/.next/server/app/endpoint.rsc +5 -5
  64. package/dashboard/.next/server/app/endpoint.segments/!KGNvbnNvbGUp/endpoint/__PAGE__.segment.rsc +2 -2
  65. package/dashboard/.next/server/app/endpoint.segments/!KGNvbnNvbGUp/endpoint.segment.rsc +1 -1
  66. package/dashboard/.next/server/app/endpoint.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  67. package/dashboard/.next/server/app/endpoint.segments/_full.segment.rsc +5 -5
  68. package/dashboard/.next/server/app/endpoint.segments/_head.segment.rsc +1 -1
  69. package/dashboard/.next/server/app/endpoint.segments/_index.segment.rsc +2 -2
  70. package/dashboard/.next/server/app/endpoint.segments/_tree.segment.rsc +2 -2
  71. package/dashboard/.next/server/app/index.html +1 -1
  72. package/dashboard/.next/server/app/index.rsc +5 -5
  73. package/dashboard/.next/server/app/index.segments/!KGNvbnNvbGUp/__PAGE__.segment.rsc +2 -2
  74. package/dashboard/.next/server/app/index.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  75. package/dashboard/.next/server/app/index.segments/_full.segment.rsc +5 -5
  76. package/dashboard/.next/server/app/index.segments/_head.segment.rsc +1 -1
  77. package/dashboard/.next/server/app/index.segments/_index.segment.rsc +2 -2
  78. package/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  79. package/dashboard/.next/server/app/keys.html +1 -1
  80. package/dashboard/.next/server/app/keys.rsc +5 -5
  81. package/dashboard/.next/server/app/keys.segments/!KGNvbnNvbGUp/keys/__PAGE__.segment.rsc +2 -2
  82. package/dashboard/.next/server/app/keys.segments/!KGNvbnNvbGUp/keys.segment.rsc +1 -1
  83. package/dashboard/.next/server/app/keys.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  84. package/dashboard/.next/server/app/keys.segments/_full.segment.rsc +5 -5
  85. package/dashboard/.next/server/app/keys.segments/_head.segment.rsc +1 -1
  86. package/dashboard/.next/server/app/keys.segments/_index.segment.rsc +2 -2
  87. package/dashboard/.next/server/app/keys.segments/_tree.segment.rsc +2 -2
  88. package/dashboard/.next/server/app/login/page_client-reference-manifest.js +1 -1
  89. package/dashboard/.next/server/app/login.html +1 -1
  90. package/dashboard/.next/server/app/login.rsc +2 -2
  91. package/dashboard/.next/server/app/login.segments/_full.segment.rsc +2 -2
  92. package/dashboard/.next/server/app/login.segments/_head.segment.rsc +1 -1
  93. package/dashboard/.next/server/app/login.segments/_index.segment.rsc +2 -2
  94. package/dashboard/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  95. package/dashboard/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  96. package/dashboard/.next/server/app/login.segments/login.segment.rsc +1 -1
  97. package/dashboard/.next/server/app/providers.html +1 -1
  98. package/dashboard/.next/server/app/providers.rsc +5 -5
  99. package/dashboard/.next/server/app/providers.segments/!KGNvbnNvbGUp/providers/__PAGE__.segment.rsc +2 -2
  100. package/dashboard/.next/server/app/providers.segments/!KGNvbnNvbGUp/providers.segment.rsc +1 -1
  101. package/dashboard/.next/server/app/providers.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  102. package/dashboard/.next/server/app/providers.segments/_full.segment.rsc +5 -5
  103. package/dashboard/.next/server/app/providers.segments/_head.segment.rsc +1 -1
  104. package/dashboard/.next/server/app/providers.segments/_index.segment.rsc +2 -2
  105. package/dashboard/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
  106. package/dashboard/.next/server/app/quota.html +1 -1
  107. package/dashboard/.next/server/app/quota.rsc +5 -5
  108. package/dashboard/.next/server/app/quota.segments/!KGNvbnNvbGUp/quota/__PAGE__.segment.rsc +2 -2
  109. package/dashboard/.next/server/app/quota.segments/!KGNvbnNvbGUp/quota.segment.rsc +1 -1
  110. package/dashboard/.next/server/app/quota.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  111. package/dashboard/.next/server/app/quota.segments/_full.segment.rsc +5 -5
  112. package/dashboard/.next/server/app/quota.segments/_head.segment.rsc +1 -1
  113. package/dashboard/.next/server/app/quota.segments/_index.segment.rsc +2 -2
  114. package/dashboard/.next/server/app/quota.segments/_tree.segment.rsc +2 -2
  115. package/dashboard/.next/server/app/tools.html +1 -1
  116. package/dashboard/.next/server/app/tools.rsc +5 -5
  117. package/dashboard/.next/server/app/tools.segments/!KGNvbnNvbGUp/tools/__PAGE__.segment.rsc +2 -2
  118. package/dashboard/.next/server/app/tools.segments/!KGNvbnNvbGUp/tools.segment.rsc +1 -1
  119. package/dashboard/.next/server/app/tools.segments/!KGNvbnNvbGUp.segment.rsc +3 -3
  120. package/dashboard/.next/server/app/tools.segments/_full.segment.rsc +5 -5
  121. package/dashboard/.next/server/app/tools.segments/_head.segment.rsc +1 -1
  122. package/dashboard/.next/server/app/tools.segments/_index.segment.rsc +2 -2
  123. package/dashboard/.next/server/app/tools.segments/_tree.segment.rsc +2 -2
  124. package/dashboard/.next/server/chunks/[root-of-the-server]__07euc03._.js.map +1 -1
  125. package/dashboard/.next/server/chunks/[root-of-the-server]__0uqpr_c._.js.map +1 -1
  126. package/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0zf4yft._.js +1 -1
  127. package/dashboard/.next/server/chunks/ssr/[root-of-the-server]__0zf4yft._.js.map +1 -1
  128. package/dashboard/.next/server/chunks/ssr/_0p90gyy._.js +1 -1
  129. package/dashboard/.next/server/chunks/ssr/_0p90gyy._.js.map +1 -1
  130. package/dashboard/.next/server/chunks/ssr/_1mumvwn._.js.map +1 -1
  131. package/dashboard/.next/server/chunks/ssr/src_components_10h9ide._.js +1 -1
  132. package/dashboard/.next/server/chunks/ssr/src_components_10h9ide._.js.map +1 -1
  133. package/dashboard/.next/server/chunks/ssr/src_components_ProviderDetail_tsx_06sxu0r._.js +1 -1
  134. package/dashboard/.next/server/chunks/ssr/src_components_ProviderDetail_tsx_06sxu0r._.js.map +1 -1
  135. package/dashboard/.next/server/chunks/ssr/src_components_ProviderManager_tsx_09d2dzw._.js +1 -1
  136. package/dashboard/.next/server/chunks/ssr/src_components_ProviderManager_tsx_09d2dzw._.js.map +1 -1
  137. package/dashboard/.next/server/middleware-build-manifest.js +3 -3
  138. package/dashboard/.next/server/pages/404.html +1 -1
  139. package/dashboard/.next/server/pages/500.html +1 -1
  140. package/dashboard/.next/static/chunks/{0pf-u__m67vld.js → 03xhjt1ta90pp.js} +1 -1
  141. package/dashboard/.next/static/chunks/{40pm83c1_d0jz.js → 0lcp6ibeqkbpk.js} +19 -19
  142. package/dashboard/.next/static/chunks/{0-qqj0_fg6ef0.js → 0wb0jg5y8b49o.js} +1 -1
  143. package/dashboard/.next/static/chunks/{3y0b8yet0vgwr.js → 15d148buj9byd.js} +1 -1
  144. package/dashboard/.next/static/chunks/2ltht8xwlssac.js +1 -0
  145. package/dashboard/.next/static/chunks/2mpe3tpzx0wtj.css +3 -0
  146. package/dashboard/.next/trace +1 -1
  147. package/dashboard/.next/trace-build +1 -1
  148. package/dashboard/src/components/AreaChart.tsx +88 -19
  149. package/dashboard/src/components/AutostartToggle.tsx +63 -0
  150. package/dashboard/src/components/ConfigEditor.tsx +3 -0
  151. package/dashboard/src/components/ProviderDetail.tsx +10 -5
  152. package/dashboard/src/components/ProviderManager.tsx +7 -3
  153. package/dashboard/src/components/TopBar.tsx +1 -1
  154. package/dashboard/src/lib/client.ts +1 -0
  155. package/dashboard/src/lib/gateway.ts +2 -1
  156. package/dist/cli/tray/autostart.js +3 -3
  157. package/dist/cli/tray/autostart.js.map +1 -1
  158. package/dist/cli.js +5 -3
  159. package/dist/cli.js.map +1 -1
  160. package/dist/config.js +1 -0
  161. package/dist/config.js.map +1 -1
  162. package/dist/core/handler.js +23 -3
  163. package/dist/core/handler.js.map +1 -1
  164. package/dist/headroom/process.js +22 -6
  165. package/dist/headroom/process.js.map +1 -1
  166. package/dist/routes/admin.js +29 -0
  167. package/dist/routes/admin.js.map +1 -1
  168. package/dist/routes/v1.js +4 -2
  169. package/dist/routes/v1.js.map +1 -1
  170. package/dist/server.js +32 -5
  171. package/dist/server.js.map +1 -1
  172. package/package.json +1 -1
  173. package/src/cli/tray/autostart.ts +3 -3
  174. package/src/cli.ts +5 -3
  175. package/src/config.ts +2 -0
  176. package/src/core/handler.ts +22 -3
  177. package/src/headroom/process.ts +19 -5
  178. package/src/routes/admin.ts +29 -0
  179. package/src/routes/v1.ts +4 -2
  180. package/src/server.ts +33 -5
  181. package/dashboard/.next/static/chunks/0347y27liw05t.js +0 -1
  182. package/dashboard/.next/static/chunks/0iv69e64f1ywa.css +0 -3
  183. /package/dashboard/.next/static/{DzOHVl0QeJ1RnKMho8Q0_ → 3ctBU8K8tClTVQCiGy65u}/_buildManifest.js +0 -0
  184. /package/dashboard/.next/static/{DzOHVl0QeJ1RnKMho8Q0_ → 3ctBU8K8tClTVQCiGy65u}/_clientMiddlewareManifest.js +0 -0
  185. /package/dashboard/.next/static/{DzOHVl0QeJ1RnKMho8Q0_ → 3ctBU8K8tClTVQCiGy65u}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":99,"timestamp":17601334441,"id":4,"parentId":1,"tags":{},"startTime":1782461476410,"traceId":"7f0ba758400acc47"},{"name":"load-custom-routes","duration":162,"timestamp":17601334585,"id":5,"parentId":1,"tags":{},"startTime":1782461476410,"traceId":"7f0ba758400acc47"},{"name":"create-dist-dir","duration":1117,"timestamp":17601334763,"id":6,"parentId":1,"tags":{},"startTime":1782461476410,"traceId":"7f0ba758400acc47"},{"name":"clean","duration":5263,"timestamp":17601336215,"id":7,"parentId":1,"tags":{},"startTime":1782461476412,"traceId":"7f0ba758400acc47"},{"name":"discover-routes","duration":2556,"timestamp":17601348032,"id":8,"parentId":1,"tags":{},"startTime":1782461476424,"traceId":"7f0ba758400acc47"},{"name":"create-root-mapping","duration":30,"timestamp":17601350607,"id":9,"parentId":1,"tags":{},"startTime":1782461476426,"traceId":"7f0ba758400acc47"},{"name":"generate-route-types","duration":5004,"timestamp":17601351199,"id":10,"parentId":1,"tags":{},"startTime":1782461476427,"traceId":"7f0ba758400acc47"},{"name":"public-dir-conflict-check","duration":33,"timestamp":17601356220,"id":11,"parentId":1,"tags":{},"startTime":1782461476432,"traceId":"7f0ba758400acc47"},{"name":"generate-routes-manifest","duration":890,"timestamp":17601356284,"id":12,"parentId":1,"tags":{},"startTime":1782461476432,"traceId":"7f0ba758400acc47"},{"name":"run-turbopack","duration":1354152,"timestamp":17601358219,"id":14,"parentId":1,"tags":{},"startTime":1782461476434,"traceId":"7f0ba758400acc47"},{"name":"turbopack-build-events","duration":28,"timestamp":17601438353,"id":15,"parentId":1,"tags":{},"startTime":1782461476514,"traceId":"7f0ba758400acc47"},{"name":"run-typescript","duration":1625765,"timestamp":17602714246,"id":16,"parentId":1,"tags":{},"startTime":1782461477790,"traceId":"7f0ba758400acc47"},{"name":"generate-required-server-files","duration":441,"timestamp":17604340340,"id":18,"parentId":1,"tags":{},"startTime":1782461479416,"traceId":"7f0ba758400acc47"},{"name":"check-static-error-page","duration":1820,"timestamp":17604462053,"id":20,"parentId":19,"tags":{},"startTime":1782461479538,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":136215,"timestamp":17604464412,"id":43,"parentId":22,"tags":{},"startTime":1782461479540,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":137984,"timestamp":17604462719,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782461479538,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":163983,"timestamp":17604464567,"id":46,"parentId":40,"tags":{},"startTime":1782461479540,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":164772,"timestamp":17604463827,"id":40,"parentId":19,"tags":{"page":"/icon.svg"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":172034,"timestamp":17604464523,"id":44,"parentId":38,"tags":{},"startTime":1782461479540,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":172809,"timestamp":17604463790,"id":38,"parentId":19,"tags":{"page":"/api/logout"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":170468,"timestamp":17604466187,"id":48,"parentId":36,"tags":{},"startTime":1782461479542,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":172938,"timestamp":17604463729,"id":36,"parentId":19,"tags":{"page":"/api/gw/[...path]"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":175754,"timestamp":17604467510,"id":53,"parentId":25,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":180442,"timestamp":17604462861,"id":25,"parentId":19,"tags":{"page":"/console"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":180644,"timestamp":17604464546,"id":45,"parentId":39,"tags":{},"startTime":1782461479540,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":181414,"timestamp":17604463808,"id":39,"parentId":19,"tags":{"page":"/api/password"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":184887,"timestamp":17604467018,"id":49,"parentId":35,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":188315,"timestamp":17604463630,"id":35,"parentId":19,"tags":{"page":"/api/cli-detect/[tool]"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":186226,"timestamp":17604467571,"id":61,"parentId":33,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":190853,"timestamp":17604462980,"id":33,"parentId":19,"tags":{"page":"/tools"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197618,"timestamp":17604467424,"id":50,"parentId":41,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":201241,"timestamp":17604463842,"id":41,"parentId":19,"tags":{"page":"/login"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197556,"timestamp":17604467558,"id":58,"parentId":30,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202192,"timestamp":17604462929,"id":30,"parentId":19,"tags":{"page":"/providers"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197617,"timestamp":17604467523,"id":54,"parentId":26,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202268,"timestamp":17604462876,"id":26,"parentId":19,"tags":{"page":"/endpoint"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197614,"timestamp":17604467544,"id":56,"parentId":28,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202263,"timestamp":17604462899,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197682,"timestamp":17604467493,"id":52,"parentId":24,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202331,"timestamp":17604462848,"id":24,"parentId":19,"tags":{"page":"/config"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197642,"timestamp":17604467554,"id":57,"parentId":29,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202288,"timestamp":17604462911,"id":29,"parentId":19,"tags":{"page":"/providers/[id]"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197654,"timestamp":17604467563,"id":59,"parentId":31,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202273,"timestamp":17604462948,"id":31,"parentId":19,"tags":{"page":"/quota"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":197669,"timestamp":17604467567,"id":60,"parentId":32,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":202275,"timestamp":17604462965,"id":32,"parentId":19,"tags":{"page":"/tools/[id]"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":202508,"timestamp":17604467575,"id":62,"parentId":34,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":207134,"timestamp":17604462993,"id":34,"parentId":19,"tags":{"page":"/usage"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":202784,"timestamp":17604467534,"id":55,"parentId":27,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":207450,"timestamp":17604462887,"id":27,"parentId":19,"tags":{"page":"/keys"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":206114,"timestamp":17604464316,"id":42,"parentId":21,"tags":{},"startTime":1782461479540,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":208093,"timestamp":17604462349,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782461479538,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":204137,"timestamp":17604467464,"id":51,"parentId":23,"tags":{},"startTime":1782461479543,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":208791,"timestamp":17604462826,"id":23,"parentId":19,"tags":{"page":"/combos"},"startTime":1782461479538,"traceId":"7f0ba758400acc47"},{"name":"is-page-static","duration":208145,"timestamp":17604465804,"id":47,"parentId":37,"tags":{},"startTime":1782461479541,"traceId":"7f0ba758400acc47"},{"name":"check-page","duration":210210,"timestamp":17604463765,"id":37,"parentId":19,"tags":{"page":"/api/login"},"startTime":1782461479539,"traceId":"7f0ba758400acc47"},{"name":"static-check","duration":212232,"timestamp":17604461767,"id":19,"parentId":1,"tags":{},"startTime":1782461479537,"traceId":"7f0ba758400acc47"},{"name":"write-routes-manifest","duration":174,"timestamp":17604677790,"id":64,"parentId":1,"tags":{},"startTime":1782461479753,"traceId":"7f0ba758400acc47"},{"name":"load-dotenv","duration":12,"timestamp":17604680956,"id":67,"parentId":66,"tags":{},"startTime":1782461479757,"traceId":"7f0ba758400acc47"},{"name":"run-export-path-map","duration":177,"timestamp":17604681581,"id":68,"parentId":66,"tags":{},"startTime":1782461479757,"traceId":"7f0ba758400acc47"},{"name":"next-export","duration":118770,"timestamp":17604680523,"id":66,"parentId":1,"tags":{},"startTime":1782461479756,"traceId":"7f0ba758400acc47"},{"name":"move-exported-app-not-found-","duration":180,"timestamp":17604800065,"id":69,"parentId":65,"tags":{},"startTime":1782461479876,"traceId":"7f0ba758400acc47"},{"name":"move-exported-app-global-error-","duration":107,"timestamp":17604800268,"id":70,"parentId":65,"tags":{},"startTime":1782461479876,"traceId":"7f0ba758400acc47"},{"name":"static-generation","duration":122061,"timestamp":17604678684,"id":65,"parentId":1,"tags":{},"startTime":1782461479754,"traceId":"7f0ba758400acc47"},{"name":"write-routes-manifest","duration":81,"timestamp":17604800809,"id":71,"parentId":1,"tags":{},"startTime":1782461479876,"traceId":"7f0ba758400acc47"},{"name":"print-tree-view","duration":1011,"timestamp":17604805955,"id":72,"parentId":1,"tags":{},"startTime":1782461479882,"traceId":"7f0ba758400acc47"},{"name":"write-route-bundle-stats","duration":3623,"timestamp":17604806979,"id":73,"parentId":1,"tags":{},"startTime":1782461479883,"traceId":"7f0ba758400acc47"},{"name":"telemetry-flush","duration":490881,"timestamp":17604810613,"id":74,"parentId":1,"tags":{},"startTime":1782461479886,"traceId":"7f0ba758400acc47"},{"name":"next-build","duration":3980196,"timestamp":17601321318,"id":1,"tags":{"buildMode":"default","version":"16.2.9","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782461476397,"traceId":"7f0ba758400acc47"}]
1
+ [{"name":"generate-buildid","duration":157,"timestamp":10680159166,"id":4,"parentId":1,"tags":{},"startTime":1782538401215,"traceId":"a498e61f668ba0eb"},{"name":"load-custom-routes","duration":328,"timestamp":10680159383,"id":5,"parentId":1,"tags":{},"startTime":1782538401215,"traceId":"a498e61f668ba0eb"},{"name":"create-dist-dir","duration":138,"timestamp":10680159751,"id":6,"parentId":1,"tags":{},"startTime":1782538401216,"traceId":"a498e61f668ba0eb"},{"name":"clean","duration":53826,"timestamp":10680165710,"id":7,"parentId":1,"tags":{},"startTime":1782538401222,"traceId":"a498e61f668ba0eb"},{"name":"discover-routes","duration":11191,"timestamp":10680236253,"id":8,"parentId":1,"tags":{},"startTime":1782538401292,"traceId":"a498e61f668ba0eb"},{"name":"create-root-mapping","duration":43,"timestamp":10680247477,"id":9,"parentId":1,"tags":{},"startTime":1782538401303,"traceId":"a498e61f668ba0eb"},{"name":"generate-route-types","duration":6542,"timestamp":10680248142,"id":10,"parentId":1,"tags":{},"startTime":1782538401304,"traceId":"a498e61f668ba0eb"},{"name":"public-dir-conflict-check","duration":43,"timestamp":10680254717,"id":11,"parentId":1,"tags":{},"startTime":1782538401311,"traceId":"a498e61f668ba0eb"},{"name":"generate-routes-manifest","duration":1013,"timestamp":10680254800,"id":12,"parentId":1,"tags":{},"startTime":1782538401311,"traceId":"a498e61f668ba0eb"},{"name":"run-turbopack","duration":4100762,"timestamp":10680256971,"id":14,"parentId":1,"tags":{},"startTime":1782538401313,"traceId":"a498e61f668ba0eb"},{"name":"turbopack-build-events","duration":37,"timestamp":10680547498,"id":15,"parentId":1,"tags":{},"startTime":1782538401603,"traceId":"a498e61f668ba0eb"},{"name":"run-typescript","duration":1806833,"timestamp":10684359553,"id":16,"parentId":1,"tags":{},"startTime":1782538405415,"traceId":"a498e61f668ba0eb"},{"name":"generate-required-server-files","duration":437,"timestamp":10686166662,"id":18,"parentId":1,"tags":{},"startTime":1782538407222,"traceId":"a498e61f668ba0eb"},{"name":"check-static-error-page","duration":2665,"timestamp":10686255156,"id":20,"parentId":19,"tags":{},"startTime":1782538407311,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":144858,"timestamp":10686258382,"id":43,"parentId":22,"tags":{},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":147070,"timestamp":10686256251,"id":22,"parentId":19,"tags":{"page":"/_global-error"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":187138,"timestamp":10686260057,"id":47,"parentId":37,"tags":{},"startTime":1782538407316,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":189496,"timestamp":10686257744,"id":37,"parentId":19,"tags":{"page":"/api/login"},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":186234,"timestamp":10686261068,"id":48,"parentId":35,"tags":{},"startTime":1782538407317,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":189718,"timestamp":10686257595,"id":35,"parentId":19,"tags":{"page":"/api/cli-detect/[tool]"},"startTime":1782538407313,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":189219,"timestamp":10686262646,"id":54,"parentId":26,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":195455,"timestamp":10686256447,"id":26,"parentId":19,"tags":{"page":"/endpoint"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":190536,"timestamp":10686261416,"id":49,"parentId":36,"tags":{},"startTime":1782538407317,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":194253,"timestamp":10686257707,"id":36,"parentId":19,"tags":{"page":"/api/gw/[...path]"},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":196426,"timestamp":10686261887,"id":51,"parentId":23,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":201981,"timestamp":10686256381,"id":23,"parentId":19,"tags":{"page":"/combos"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":199831,"timestamp":10686258601,"id":46,"parentId":40,"tags":{},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":200652,"timestamp":10686257790,"id":40,"parentId":19,"tags":{"page":"/icon.svg"},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":201587,"timestamp":10686258527,"id":44,"parentId":38,"tags":{},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":202380,"timestamp":10686257767,"id":38,"parentId":19,"tags":{"page":"/api/logout"},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":197487,"timestamp":10686262705,"id":60,"parentId":32,"tags":{},"startTime":1782538407319,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":203659,"timestamp":10686256541,"id":32,"parentId":19,"tags":{"page":"/tools/[id]"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":198380,"timestamp":10686261840,"id":50,"parentId":41,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":202425,"timestamp":10686257801,"id":41,"parentId":19,"tags":{"page":"/login"},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":203703,"timestamp":10686262607,"id":53,"parentId":25,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":209912,"timestamp":10686256431,"id":25,"parentId":19,"tags":{"page":"/console"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":208098,"timestamp":10686258267,"id":42,"parentId":21,"tags":{},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":210730,"timestamp":10686255642,"id":21,"parentId":19,"tags":{"page":"/_not-found"},"startTime":1782538407311,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":203705,"timestamp":10686262677,"id":56,"parentId":28,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":209913,"timestamp":10686256472,"id":28,"parentId":19,"tags":{"page":"/"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":209433,"timestamp":10686262688,"id":57,"parentId":29,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":215678,"timestamp":10686256487,"id":29,"parentId":19,"tags":{"page":"/providers/[id]"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":210546,"timestamp":10686262665,"id":55,"parentId":27,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":216784,"timestamp":10686256459,"id":27,"parentId":19,"tags":{"page":"/keys"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":213695,"timestamp":10686262713,"id":62,"parentId":34,"tags":{},"startTime":1782538407319,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":219878,"timestamp":10686256569,"id":34,"parentId":19,"tags":{"page":"/usage"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":215203,"timestamp":10686262700,"id":59,"parentId":31,"tags":{},"startTime":1782538407319,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":221407,"timestamp":10686256527,"id":31,"parentId":19,"tags":{"page":"/quota"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":220655,"timestamp":10686261921,"id":52,"parentId":24,"tags":{},"startTime":1782538407318,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":226194,"timestamp":10686256414,"id":24,"parentId":19,"tags":{"page":"/config"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":221008,"timestamp":10686262709,"id":61,"parentId":33,"tags":{},"startTime":1782538407319,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":227178,"timestamp":10686256557,"id":33,"parentId":19,"tags":{"page":"/tools"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":222083,"timestamp":10686262693,"id":58,"parentId":30,"tags":{},"startTime":1782538407319,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":228285,"timestamp":10686256508,"id":30,"parentId":19,"tags":{"page":"/providers"},"startTime":1782538407312,"traceId":"a498e61f668ba0eb"},{"name":"is-page-static","duration":226501,"timestamp":10686258567,"id":45,"parentId":39,"tags":{},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"check-page","duration":227304,"timestamp":10686257778,"id":39,"parentId":19,"tags":{"page":"/api/password"},"startTime":1782538407314,"traceId":"a498e61f668ba0eb"},{"name":"static-check","duration":231127,"timestamp":10686253975,"id":19,"parentId":1,"tags":{},"startTime":1782538407310,"traceId":"a498e61f668ba0eb"},{"name":"write-routes-manifest","duration":360,"timestamp":10686487496,"id":64,"parentId":1,"tags":{},"startTime":1782538407543,"traceId":"a498e61f668ba0eb"},{"name":"load-dotenv","duration":17,"timestamp":10686492008,"id":67,"parentId":66,"tags":{},"startTime":1782538407548,"traceId":"a498e61f668ba0eb"},{"name":"run-export-path-map","duration":175,"timestamp":10686492630,"id":68,"parentId":66,"tags":{},"startTime":1782538407548,"traceId":"a498e61f668ba0eb"},{"name":"next-export","duration":127533,"timestamp":10686491520,"id":66,"parentId":1,"tags":{},"startTime":1782538407547,"traceId":"a498e61f668ba0eb"},{"name":"move-exported-app-not-found-","duration":146,"timestamp":10686619817,"id":69,"parentId":65,"tags":{},"startTime":1782538407676,"traceId":"a498e61f668ba0eb"},{"name":"move-exported-app-global-error-","duration":81,"timestamp":10686619983,"id":70,"parentId":65,"tags":{},"startTime":1782538407676,"traceId":"a498e61f668ba0eb"},{"name":"static-generation","duration":131238,"timestamp":10686489181,"id":65,"parentId":1,"tags":{},"startTime":1782538407545,"traceId":"a498e61f668ba0eb"},{"name":"write-routes-manifest","duration":86,"timestamp":10686620486,"id":71,"parentId":1,"tags":{},"startTime":1782538407676,"traceId":"a498e61f668ba0eb"},{"name":"print-tree-view","duration":1170,"timestamp":10686625983,"id":72,"parentId":1,"tags":{},"startTime":1782538407682,"traceId":"a498e61f668ba0eb"},{"name":"write-route-bundle-stats","duration":3181,"timestamp":10686627172,"id":73,"parentId":1,"tags":{},"startTime":1782538407683,"traceId":"a498e61f668ba0eb"},{"name":"telemetry-flush","duration":491021,"timestamp":10686630368,"id":74,"parentId":1,"tags":{},"startTime":1782538407686,"traceId":"a498e61f668ba0eb"},{"name":"next-build","duration":7962531,"timestamp":10679158883,"id":1,"tags":{"buildMode":"default","version":"16.2.9","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782538400215,"traceId":"a498e61f668ba0eb"}]
@@ -1 +1 @@
1
- [{"name":"run-turbopack","duration":1354152,"timestamp":17601358219,"id":14,"parentId":1,"tags":{},"startTime":1782461476434,"traceId":"7f0ba758400acc47"},{"name":"turbopack-build-events","duration":28,"timestamp":17601438353,"id":15,"parentId":1,"tags":{},"startTime":1782461476514,"traceId":"7f0ba758400acc47"},{"name":"run-typescript","duration":1625765,"timestamp":17602714246,"id":16,"parentId":1,"tags":{},"startTime":1782461477790,"traceId":"7f0ba758400acc47"},{"name":"static-check","duration":212232,"timestamp":17604461767,"id":19,"parentId":1,"tags":{},"startTime":1782461479537,"traceId":"7f0ba758400acc47"},{"name":"static-generation","duration":122061,"timestamp":17604678684,"id":65,"parentId":1,"tags":{},"startTime":1782461479754,"traceId":"7f0ba758400acc47"},{"name":"telemetry-flush","duration":490881,"timestamp":17604810613,"id":74,"parentId":1,"tags":{},"startTime":1782461479886,"traceId":"7f0ba758400acc47"},{"name":"next-build","duration":3980196,"timestamp":17601321318,"id":1,"tags":{"buildMode":"default","version":"16.2.9","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782461476397,"traceId":"7f0ba758400acc47"}]
1
+ [{"name":"run-turbopack","duration":4100762,"timestamp":10680256971,"id":14,"parentId":1,"tags":{},"startTime":1782538401313,"traceId":"a498e61f668ba0eb"},{"name":"turbopack-build-events","duration":37,"timestamp":10680547498,"id":15,"parentId":1,"tags":{},"startTime":1782538401603,"traceId":"a498e61f668ba0eb"},{"name":"run-typescript","duration":1806833,"timestamp":10684359553,"id":16,"parentId":1,"tags":{},"startTime":1782538405415,"traceId":"a498e61f668ba0eb"},{"name":"static-check","duration":231127,"timestamp":10686253975,"id":19,"parentId":1,"tags":{},"startTime":1782538407310,"traceId":"a498e61f668ba0eb"},{"name":"static-generation","duration":131238,"timestamp":10686489181,"id":65,"parentId":1,"tags":{},"startTime":1782538407545,"traceId":"a498e61f668ba0eb"},{"name":"telemetry-flush","duration":491021,"timestamp":10686630368,"id":74,"parentId":1,"tags":{},"startTime":1782538407686,"traceId":"a498e61f668ba0eb"},{"name":"next-build","duration":7962531,"timestamp":10679158883,"id":1,"tags":{"buildMode":"default","version":"16.2.9","bundler":"turbopack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1782538400215,"traceId":"a498e61f668ba0eb"}]
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
 
3
- import { useState } from "react";
3
+ import { useState, useRef, useCallback } from "react";
4
4
 
5
5
  export interface SeriesPoint {
6
6
  ts: number;
@@ -35,9 +35,15 @@ function fmtTime(ts: number): string {
35
35
  return new Date(ts).toLocaleTimeString("en-US", { hour: "2-digit", minute: "2-digit", hour12: false });
36
36
  }
37
37
 
38
- /** Inline-SVG area chart with a metric toggle. No charting dependency. */
38
+ function fmtDate(ts: number): string {
39
+ return new Date(ts).toLocaleDateString("en-US", { month: "short", day: "numeric", hour: "2-digit", minute: "2-digit", hour12: false });
40
+ }
41
+
42
+ /** Inline-SVG area chart with metric toggle and hover tooltip. No charting dependency. */
39
43
  export function AreaChart({ series }: { series: SeriesPoint[] }) {
40
44
  const [metric, setMetric] = useState<Metric>("tokens");
45
+ const [hoverIdx, setHoverIdx] = useState<number | null>(null);
46
+ const svgRef = useRef<SVGSVGElement>(null);
41
47
 
42
48
  const W = 1000;
43
49
  const H = 240;
@@ -48,15 +54,30 @@ export function AreaChart({ series }: { series: SeriesPoint[] }) {
48
54
  const max = Math.max(1, ...vals);
49
55
  const n = series.length;
50
56
 
51
- const x = (i: number) => (n <= 1 ? padX : padX + (i / (n - 1)) * (W - padX * 2));
52
- const y = (v: number) => H - padY - (v / max) * (H - padY * 2);
57
+ const xPos = (i: number) => (n <= 1 ? padX : padX + (i / (n - 1)) * (W - padX * 2));
58
+ const yPos = (v: number) => H - padY - (v / max) * (H - padY * 2);
53
59
 
54
- const line = vals.map((v, i) => `${i === 0 ? "M" : "L"}${x(i).toFixed(1)},${y(v).toFixed(1)}`).join(" ");
55
- const area = `${line} L${x(n - 1).toFixed(1)},${H - padY} L${x(0).toFixed(1)},${H - padY} Z`;
60
+ const line = vals.map((v, i) => `${i === 0 ? "M" : "L"}${xPos(i).toFixed(1)},${yPos(v).toFixed(1)}`).join(" ");
61
+ const area = `${line} L${xPos(n - 1).toFixed(1)},${H - padY} L${xPos(0).toFixed(1)},${H - padY} Z`;
56
62
 
57
63
  const peak = vals.length ? vals.indexOf(Math.max(...vals)) : -1;
58
64
  const total = vals.reduce((a, b) => a + b, 0);
59
65
 
66
+ const handleMouseMove = useCallback(
67
+ (e: React.MouseEvent<SVGSVGElement>) => {
68
+ if (n <= 1 || !svgRef.current) return;
69
+ const rect = svgRef.current.getBoundingClientRect();
70
+ const relX = (e.clientX - rect.left) / rect.width;
71
+ const idx = Math.round(relX * (n - 1));
72
+ setHoverIdx(Math.max(0, Math.min(n - 1, idx)));
73
+ },
74
+ [n],
75
+ );
76
+
77
+ const handleMouseLeave = useCallback(() => setHoverIdx(null), []);
78
+
79
+ const hp = hoverIdx !== null ? series[hoverIdx] : null;
80
+
60
81
  return (
61
82
  <div className="overflow-hidden rounded-brand-lg border border-border bg-surface shadow-soft">
62
83
  <header className="flex items-center justify-between gap-3 border-b border-border-subtle px-4 py-3">
@@ -79,25 +100,73 @@ export function AreaChart({ series }: { series: SeriesPoint[] }) {
79
100
  </div>
80
101
  </header>
81
102
 
82
- <div className="px-2 py-3">
103
+ <div className="relative px-2 py-3">
83
104
  {n === 0 || total === 0 ? (
84
105
  <div className="flex h-[200px] items-center justify-center text-[13px] text-text-muted">
85
106
  No activity in this range.
86
107
  </div>
87
108
  ) : (
88
- <svg viewBox={`0 0 ${W} ${H}`} className="h-[200px] w-full" preserveAspectRatio="none">
89
- <defs>
90
- <linearGradient id="areaFill" x1="0" y1="0" x2="0" y2="1">
91
- <stop offset="0%" stopColor="var(--color-accent)" stopOpacity="0.28" />
92
- <stop offset="100%" stopColor="var(--color-accent)" stopOpacity="0" />
93
- </linearGradient>
94
- </defs>
95
- <path d={area} fill="url(#areaFill)" />
96
- <path d={line} fill="none" stroke="var(--color-accent)" strokeWidth="2" vectorEffect="non-scaling-stroke" />
97
- {peak >= 0 && (
98
- <circle cx={x(peak)} cy={y(vals[peak]!)} r="3" fill="var(--color-accent)" vectorEffect="non-scaling-stroke" />
109
+ <>
110
+ <svg
111
+ ref={svgRef}
112
+ viewBox={`0 0 ${W} ${H}`}
113
+ className="h-[200px] w-full cursor-crosshair"
114
+ preserveAspectRatio="none"
115
+ onMouseMove={handleMouseMove}
116
+ onMouseLeave={handleMouseLeave}
117
+ >
118
+ <defs>
119
+ <linearGradient id="areaFill" x1="0" y1="0" x2="0" y2="1">
120
+ <stop offset="0%" stopColor="var(--color-accent)" stopOpacity="0.28" />
121
+ <stop offset="100%" stopColor="var(--color-accent)" stopOpacity="0" />
122
+ </linearGradient>
123
+ </defs>
124
+ <path d={area} fill="url(#areaFill)" />
125
+ <path d={line} fill="none" stroke="var(--color-accent)" strokeWidth="2" vectorEffect="non-scaling-stroke" />
126
+ {peak >= 0 && hoverIdx === null && (
127
+ <circle cx={xPos(peak)} cy={yPos(vals[peak]!)} r="3" fill="var(--color-accent)" vectorEffect="non-scaling-stroke" />
128
+ )}
129
+ {hoverIdx !== null && (
130
+ <>
131
+ <line
132
+ x1={xPos(hoverIdx)}
133
+ y1={padY}
134
+ x2={xPos(hoverIdx)}
135
+ y2={H - padY}
136
+ stroke="var(--color-accent)"
137
+ strokeWidth="1"
138
+ strokeDasharray="4 3"
139
+ vectorEffect="non-scaling-stroke"
140
+ opacity="0.5"
141
+ />
142
+ <circle
143
+ cx={xPos(hoverIdx)}
144
+ cy={yPos(vals[hoverIdx]!)}
145
+ r="4"
146
+ fill="var(--color-accent)"
147
+ stroke="var(--color-bg)"
148
+ strokeWidth="2"
149
+ vectorEffect="non-scaling-stroke"
150
+ />
151
+ </>
152
+ )}
153
+ </svg>
154
+ {hoverIdx !== null && hp && (
155
+ <div
156
+ className="pointer-events-none absolute top-2 z-10 rounded-lg border border-border bg-surface-2 px-3 py-2 shadow-lg"
157
+ style={{ left: `${Math.min(85, Math.max(5, (hoverIdx / (n - 1)) * 100))}%`, transform: "translateX(-50%)" }}
158
+ >
159
+ <div className="text-[11px] text-text-muted">{fmtDate(hp.ts)}</div>
160
+ <div className="mt-1 flex flex-col gap-0.5 tnum text-[12px]">
161
+ <span className="text-text">{fmtVal(valueOf(hp, metric), metric)} <span className="text-text-muted">{metric}</span></span>
162
+ {metric === "tokens" && (
163
+ <span className="text-text-subtle text-[10px]">in: {fmtVal(hp.tokens_in, "tokens")} · out: {fmtVal(hp.tokens_out, "tokens")}</span>
164
+ )}
165
+ <span className="text-text-subtle text-[10px]">{hp.requests} req · ${hp.cost.toFixed(4)}</span>
166
+ </div>
167
+ </div>
99
168
  )}
100
- </svg>
169
+ </>
101
170
  )}
102
171
  </div>
103
172
 
@@ -0,0 +1,63 @@
1
+ "use client";
2
+
3
+ import { useEffect, useState } from "react";
4
+ import { RichCard, CardTitle } from "@/components/RichCard";
5
+ import { Badge } from "@/components/Badge";
6
+
7
+ export function AutostartToggle() {
8
+ const [enabled, setEnabled] = useState<boolean | null>(null);
9
+ const [busy, setBusy] = useState(false);
10
+
11
+ useEffect(() => {
12
+ fetch("/api/gw/admin/autostart")
13
+ .then((r) => r.json())
14
+ .then((d: { enabled: boolean }) => setEnabled(d.enabled))
15
+ .catch(() => setEnabled(false));
16
+ }, []);
17
+
18
+ async function toggle() {
19
+ if (enabled === null) return;
20
+ setBusy(true);
21
+ const res = await fetch("/api/gw/admin/autostart", {
22
+ method: "POST",
23
+ headers: { "content-type": "application/json" },
24
+ body: JSON.stringify({ enabled: !enabled }),
25
+ });
26
+ if (res.ok) {
27
+ const d = (await res.json()) as { enabled: boolean };
28
+ setEnabled(d.enabled);
29
+ }
30
+ setBusy(false);
31
+ }
32
+
33
+ return (
34
+ <RichCard header={<CardTitle title="Startup" sub="run aigetwey when your system boots" />}>
35
+ <div className="flex items-center justify-between">
36
+ <div className="space-y-1">
37
+ <div className="flex items-center gap-2 text-[13px]">
38
+ <span className="text-text-subtle">Auto-start on login</span>
39
+ {enabled !== null && (
40
+ <Badge tone={enabled ? "live" : "neutral"}>{enabled ? "enabled" : "disabled"}</Badge>
41
+ )}
42
+ </div>
43
+ <p className="text-[11px] text-text-subtle">
44
+ Registers aigetwey to launch with system tray on OS startup (--tray --skip-update)
45
+ </p>
46
+ </div>
47
+ <button
48
+ onClick={toggle}
49
+ disabled={busy || enabled === null}
50
+ className={`relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border border-border transition-colors ${
51
+ enabled ? "bg-accent" : "bg-surface-2"
52
+ } disabled:cursor-not-allowed disabled:opacity-50`}
53
+ >
54
+ <span
55
+ className={`inline-block h-4 w-4 rounded-full bg-white shadow transition-transform ${
56
+ enabled ? "translate-x-5.5" : "translate-x-0.5"
57
+ }`}
58
+ />
59
+ </button>
60
+ </div>
61
+ </RichCard>
62
+ );
63
+ }
@@ -8,6 +8,7 @@ import { Icon } from "@/components/Icon";
8
8
  import { Empty } from "@/components/ui";
9
9
  import { PricingEditor } from "@/components/PricingEditor";
10
10
  import { PasswordEditor } from "@/components/PasswordEditor";
11
+ import { AutostartToggle } from "@/components/AutostartToggle";
11
12
  import { stringify } from "yaml";
12
13
  import type { MaskedConfig } from "@/lib/gateway";
13
14
 
@@ -124,6 +125,8 @@ export function ConfigEditor() {
124
125
 
125
126
  <PasswordEditor />
126
127
 
128
+ <AutostartToggle />
129
+
127
130
  <PricingEditor />
128
131
 
129
132
  <RichCard
@@ -38,6 +38,7 @@ export function ProviderDetail({ id }: { id: string }) {
38
38
  const [editingConn, setEditingConn] = useState(false);
39
39
  const [connUrl, setConnUrl] = useState("");
40
40
  const [connPrefix, setConnPrefix] = useState("");
41
+ const [connLabel, setConnLabel] = useState("");
41
42
  const [revealedKeys, setRevealedKeys] = useState<Record<number, string>>({});
42
43
  const [confirmDelete, setConfirmDelete] = useState(false);
43
44
 
@@ -137,7 +138,10 @@ export function ProviderDetail({ id }: { id: string }) {
137
138
  <RichCard header={<CardTitle title="Connection" />}>
138
139
  {editingConn ? (
139
140
  <div className="space-y-3">
140
- <Field label="Name" hint="the id also the call prefix (name/model) & combos">
141
+ <Field label="Label" hint="display name in dashboard (optional, does not affect routing)">
142
+ <Input value={connLabel} onChange={(e) => setConnLabel(e.target.value)} placeholder={connPrefix || "e.g. My Provider"} className="text-[12.5px]" />
143
+ </Field>
144
+ <Field label="ID / Prefix" hint="the call prefix (id/model) — changing this breaks CLI tools">
141
145
  <Input value={connPrefix} onChange={(e) => setConnPrefix(e.target.value)} placeholder="e.g. openai" className="font-mono text-[12.5px]" />
142
146
  </Field>
143
147
  {connPrefix.trim() && connPrefix.trim() !== id && (
@@ -156,8 +160,6 @@ export function ProviderDetail({ id }: { id: string }) {
156
160
  <div className="flex justify-end gap-2">
157
161
  <Button variant="ghost" onClick={() => setEditingConn(false)}>Cancel</Button>
158
162
  <Button disabled={busy === "editconn"} onClick={() => run("editconn", async () => {
159
- // One identifier: Name == id == call prefix. Rename it (cascades to
160
- // combos, moves this page to the new id) then apply base_url.
161
163
  const newId = connPrefix.trim();
162
164
  let activeId = id;
163
165
  if (newId && newId !== id) {
@@ -165,7 +167,8 @@ export function ProviderDetail({ id }: { id: string }) {
165
167
  if (!rr.ok) return rr;
166
168
  activeId = newId;
167
169
  }
168
- const r = await adminApi.editProvider(activeId, { base_url: connUrl.trim() || undefined });
170
+ const newName = connLabel.trim() || undefined;
171
+ const r = await adminApi.editProvider(activeId, { base_url: connUrl.trim() || undefined, name: newName });
169
172
  if (r.ok) {
170
173
  setEditingConn(false);
171
174
  if (activeId !== id) { router.push(`/providers/${encodeURIComponent(activeId)}`); return r; }
@@ -177,13 +180,15 @@ export function ProviderDetail({ id }: { id: string }) {
177
180
  ) : (
178
181
  <>
179
182
  <div className="space-y-2 text-[13px]">
183
+ {provider.name && <Row k="Label" v={provider.name} />}
184
+ <Row k="ID / Prefix" v={provider.id} />
180
185
  <Row k="Base URL" v={provider.base_url} />
181
186
  <Row k="Format" v={provider.format} />
182
187
  <Row k="Cooldown base" v={`${provider.cooldown_base_ms}ms`} />
183
188
  <Row k="Max retries" v={String(provider.max_retries)} />
184
189
  </div>
185
190
  <div className="mt-4 flex items-center gap-2">
186
- <Button variant="ghost" onClick={() => { setEditingConn(true); setConnUrl(provider.base_url); setConnPrefix(provider.id); }}>
191
+ <Button variant="ghost" onClick={() => { setEditingConn(true); setConnUrl(provider.base_url); setConnPrefix(provider.id); setConnLabel(provider.name ?? ""); }}>
187
192
  <Icon name="edit" size={15} /> Edit
188
193
  </Button>
189
194
  <Button variant="ghost" disabled={busy === "test"} onClick={() => run("test", async () => {
@@ -256,6 +256,7 @@ const PRESETS: Preset[] = [
256
256
  function AddProviderForm({ onDone, onClose }: { onDone: () => void; onClose: () => void }) {
257
257
  const [preset, setPreset] = useState<Preset | null>(null);
258
258
  const [id, setId] = useState("");
259
+ const [label, setLabel] = useState("");
259
260
  const [baseUrl, setBaseUrl] = useState("");
260
261
  const [apiKey, setApiKey] = useState("");
261
262
  const [showKey, setShowKey] = useState(false);
@@ -326,7 +327,7 @@ function AddProviderForm({ onDone, onClose }: { onDone: () => void; onClose: ()
326
327
  }
327
328
  setBusy(true);
328
329
  setErr("");
329
- const res = await adminApi.addProvider({ id, format: preset.format, base_url: baseUrl, api_key: apiKey || undefined, free: !apiKey.trim() });
330
+ const res = await adminApi.addProvider({ id, format: preset.format, base_url: baseUrl, api_key: apiKey || undefined, free: !apiKey.trim(), name: label.trim() || undefined });
330
331
  if (!res.ok) {
331
332
  setBusy(false);
332
333
  setErr(res.error ?? "failed");
@@ -359,8 +360,11 @@ function AddProviderForm({ onDone, onClose }: { onDone: () => void; onClose: ()
359
360
  </div>
360
361
 
361
362
  <div className="space-y-3">
362
- <Field label="Name" hint="a friendly id also the model prefix (name/model)">
363
- <Input value={id} onChange={(e) => setId(e.target.value)} placeholder="e.g. openai, anthropic" />
363
+ <Field label="Label" hint="display name in dashboard (optional)">
364
+ <Input value={label} onChange={(e) => setLabel(e.target.value)} placeholder="e.g. My OpenAI" />
365
+ </Field>
366
+ <Field label="ID / Prefix" hint="the call prefix (id/model) — used by CLI tools">
367
+ <Input value={id} onChange={(e) => setId(e.target.value)} placeholder="e.g. openai, anthropic" className="font-mono text-[12.5px]" />
364
368
  </Field>
365
369
  <Field label="Base URL" hint={preset.hint}>
366
370
  <Input value={baseUrl} onChange={(e) => { setBaseUrl(e.target.value); setCheckRes(null); }} placeholder={preset.base_url} className="font-mono text-[12.5px]" />
@@ -20,7 +20,7 @@ const LABELS: Record<string, string> = {
20
20
  config: "Settings",
21
21
  };
22
22
 
23
- const CMD = "npm install -g aigetwey@latest";
23
+ const CMD = "npm i -g aigetwey@latest --prefer-online";
24
24
 
25
25
  function UpdateModal({
26
26
  current,
@@ -71,6 +71,7 @@ export const adminApi = {
71
71
 
72
72
  addProvider: (p: {
73
73
  id: string;
74
+ name?: string;
74
75
  format: WireFormat;
75
76
  base_url: string;
76
77
  api_key?: string;
@@ -81,6 +81,7 @@ export const gateway = {
81
81
  // ---- provider mutations (reply carries the fresh masked config) ----
82
82
  addProvider: (p: {
83
83
  id: string;
84
+ name?: string;
84
85
  format: WireFormat;
85
86
  base_url: string;
86
87
  api_key?: string;
@@ -88,7 +89,7 @@ export const gateway = {
88
89
  auto_models?: boolean;
89
90
  service_account?: string;
90
91
  }) => call<ConfigReply>("POST", "/admin/providers", p),
91
- editProvider: (id: string, patch: { base_url?: string; format?: WireFormat }) =>
92
+ editProvider: (id: string, patch: { base_url?: string; format?: WireFormat; name?: string }) =>
92
93
  call<ConfigReply>("PUT", `/admin/providers/${encodeURIComponent(id)}`, patch),
93
94
  removeProvider: (id: string) => call<ConfigReply>("DELETE", `/admin/providers/${encodeURIComponent(id)}`),
94
95
  addKey: (id: string, key: string) =>
@@ -84,7 +84,7 @@ function enableMac(node, script) {
84
84
  <plist version="1.0"><dict>
85
85
  <key>Label</key><string>${APP_LABEL}</string>
86
86
  <key>ProgramArguments</key><array>
87
- <string>${node}</string><string>${script}</string><string>--tray</string>
87
+ <string>${node}</string><string>${script}</string><string>--tray</string><string>--skip-update</string>
88
88
  </array>
89
89
  <key>EnvironmentVariables</key><dict><key>PATH</key><string>${path}</string></dict>
90
90
  <key>RunAtLoad</key><true/>
@@ -116,7 +116,7 @@ function enableWin(node, script) {
116
116
  const dir = join(process.env.APPDATA || "", "Microsoft", "Windows", "Start Menu", "Programs", "Startup");
117
117
  if (!existsSync(dir))
118
118
  return false;
119
- const vbs = `Set WshShell = CreateObject("WScript.Shell")\nWshShell.Run """${node}"" ""${script}"" --tray", 0, False\n`;
119
+ const vbs = `Set WshShell = CreateObject("WScript.Shell")\nWshShell.Run """${node}"" ""${script}"" --tray --skip-update", 0, False\n`;
120
120
  writeFileSync(join(dir, `${APP_NAME}.vbs`), vbs);
121
121
  return true;
122
122
  }
@@ -135,7 +135,7 @@ function enableLinux(node, script) {
135
135
  Type=Application
136
136
  Name=aigetwey
137
137
  Comment=Personal AI gateway
138
- Exec=${node} ${script} --tray
138
+ Exec=${node} ${script} --tray --skip-update
139
139
  Hidden=false
140
140
  NoDisplay=false
141
141
  X-GNOME-Autostart-enabled=true
@@ -1 +1 @@
1
- {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../../../src/cli/tray/autostart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autostart.js","sourceRoot":"","sources":["../../../src/cli/tray/autostart.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -25,7 +25,7 @@ import { getDataDir, getConfigPath } from "./appDirs.js";
25
25
  const root = resolve(dirname(fileURLToPath(import.meta.url)), "..");
26
26
  const dashboardDir = join(root, "dashboard");
27
27
  function parseArgs(argv) {
28
- const o = { noBrowser: false, yes: false, help: false, version: false, tray: false };
28
+ const o = { noBrowser: false, yes: false, help: false, version: false, tray: false, skipUpdate: false };
29
29
  for (let i = 0; i < argv.length; i++) {
30
30
  const a = argv[i];
31
31
  if (a === "-p" || a === "--port")
@@ -36,6 +36,8 @@ function parseArgs(argv) {
36
36
  o.yes = true;
37
37
  else if (a === "-t" || a === "--tray")
38
38
  o.tray = true;
39
+ else if (a === "--skip-update")
40
+ o.skipUpdate = true;
39
41
  else if (a === "-v" || a === "--version")
40
42
  o.version = true;
41
43
  else if (a === "-h" || a === "--help")
@@ -60,7 +62,7 @@ const HELP = `
60
62
  With a TTY and no --yes, a menu lets you pick: Web UI / Terminal / Hide to Tray / Exit.
61
63
  `;
62
64
  const GATEWAY_PORT = opts.port ?? Number(process.env.AIGETWEY_PORT ?? 18080);
63
- const DASHBOARD_PORT = Number(process.env.DASHBOARD_PORT ?? 3000);
65
+ const DASHBOARD_PORT = Number(process.env.DASHBOARD_PORT ?? 18081);
64
66
  const adminPassword = process.env.AIGETWEY_ADMIN_PASSWORD ?? "123456";
65
67
  const generatedPw = !process.env.AIGETWEY_ADMIN_PASSWORD;
66
68
  /**
@@ -180,7 +182,7 @@ async function ensurePortFree(port, envVar) {
180
182
  catch {
181
183
  // ps failed — fall through to the unknown-owner branch
182
184
  }
183
- if (!/next|node|tsx|aigetwey/.test(cmd)) {
185
+ if (!/aigetwey/.test(cmd)) {
184
186
  console.error(` port ${port} is in use by another process (pid ${pid}). free it or set ${envVar}.`);
185
187
  process.exit(1);
186
188
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -378,6 +378,7 @@ export function addProvider(config, input) {
378
378
  }
379
379
  next.providers.push({
380
380
  id: input.id,
381
+ ...(input.name ? { name: input.name } : {}),
381
382
  format: input.format,
382
383
  base_url: input.base_url,
383
384
  free: input.free ?? false,