dev3000 0.0.55 → 0.0.57

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 (166) hide show
  1. package/README.md +13 -13
  2. package/dist/cdp-monitor.d.ts +1 -0
  3. package/dist/cdp-monitor.d.ts.map +1 -1
  4. package/dist/cdp-monitor.js +101 -17
  5. package/dist/cdp-monitor.js.map +1 -1
  6. package/mcp-server/.next/BUILD_ID +1 -1
  7. package/mcp-server/.next/app-build-manifest.json +20 -19
  8. package/mcp-server/.next/app-path-routes-manifest.json +1 -0
  9. package/mcp-server/.next/build-manifest.json +5 -5
  10. package/mcp-server/.next/cache/.tsbuildinfo +1 -1
  11. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  12. package/mcp-server/.next/prerender-manifest.json +7 -7
  13. package/mcp-server/.next/server/app/_global-error/page/app-build-manifest.json +3 -3
  14. package/mcp-server/.next/server/app/_global-error/page/build-manifest.json +3 -3
  15. package/mcp-server/.next/server/app/_global-error.html +2 -2
  16. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  17. package/mcp-server/.next/server/app/_not-found/page/app-build-manifest.json +4 -4
  18. package/mcp-server/.next/server/app/_not-found/page/build-manifest.json +3 -3
  19. package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  20. package/mcp-server/.next/server/app/_not-found.html +1 -1
  21. package/mcp-server/.next/server/app/_not-found.rsc +2 -2
  22. package/mcp-server/.next/server/app/api/config/route/app-build-manifest.json +3 -3
  23. package/mcp-server/.next/server/app/api/config/route/build-manifest.json +3 -3
  24. package/mcp-server/.next/server/app/api/health/route/app-build-manifest.json +11 -0
  25. package/mcp-server/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
  26. package/mcp-server/.next/server/app/api/health/route/build-manifest.json +17 -0
  27. package/mcp-server/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
  28. package/mcp-server/.next/server/app/api/health/route.js +7 -0
  29. package/mcp-server/.next/server/app/api/health/route.js.map +5 -0
  30. package/mcp-server/.next/server/app/api/health/route.js.nft.json +1 -0
  31. package/mcp-server/.next/server/app/api/health/route_client-reference-manifest.js +2 -0
  32. package/mcp-server/.next/server/app/api/logs/append/route/app-build-manifest.json +3 -3
  33. package/mcp-server/.next/server/app/api/logs/append/route/build-manifest.json +3 -3
  34. package/mcp-server/.next/server/app/api/logs/head/route/app-build-manifest.json +3 -3
  35. package/mcp-server/.next/server/app/api/logs/head/route/build-manifest.json +3 -3
  36. package/mcp-server/.next/server/app/api/logs/list/route/app-build-manifest.json +3 -3
  37. package/mcp-server/.next/server/app/api/logs/list/route/build-manifest.json +3 -3
  38. package/mcp-server/.next/server/app/api/logs/rotate/route/app-build-manifest.json +3 -3
  39. package/mcp-server/.next/server/app/api/logs/rotate/route/build-manifest.json +3 -3
  40. package/mcp-server/.next/server/app/api/logs/stream/route/app-build-manifest.json +3 -3
  41. package/mcp-server/.next/server/app/api/logs/stream/route/build-manifest.json +3 -3
  42. package/mcp-server/.next/server/app/api/logs/tail/route/app-build-manifest.json +3 -3
  43. package/mcp-server/.next/server/app/api/logs/tail/route/build-manifest.json +3 -3
  44. package/mcp-server/.next/server/app/api/mcp/[transport]/route/app-build-manifest.json +3 -3
  45. package/mcp-server/.next/server/app/api/mcp/[transport]/route/build-manifest.json +3 -3
  46. package/mcp-server/.next/server/app/api/replay/route/app-build-manifest.json +3 -3
  47. package/mcp-server/.next/server/app/api/replay/route/build-manifest.json +3 -3
  48. package/mcp-server/.next/server/app/index.html +1 -1
  49. package/mcp-server/.next/server/app/index.rsc +16 -14
  50. package/mcp-server/.next/server/app/logs/page/app-build-manifest.json +4 -4
  51. package/mcp-server/.next/server/app/logs/page/build-manifest.json +3 -3
  52. package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  53. package/mcp-server/.next/server/app/page/app-build-manifest.json +5 -4
  54. package/mcp-server/.next/server/app/page/build-manifest.json +3 -3
  55. package/mcp-server/.next/server/app/page.js +1 -1
  56. package/mcp-server/.next/server/app/page.js.nft.json +1 -1
  57. package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
  58. package/mcp-server/.next/server/app/replay/page/app-build-manifest.json +4 -4
  59. package/mcp-server/.next/server/app/replay/page/build-manifest.json +3 -3
  60. package/mcp-server/.next/server/app/replay/page_client-reference-manifest.js +1 -1
  61. package/mcp-server/.next/server/app/replay.html +1 -1
  62. package/mcp-server/.next/server/app/replay.rsc +2 -2
  63. package/mcp-server/.next/server/app-paths-manifest.json +1 -0
  64. package/mcp-server/.next/server/chunks/[root-of-the-server]__6f92d0ce._.js +3 -0
  65. package/mcp-server/.next/server/chunks/[root-of-the-server]__6f92d0ce._.js.map +1 -0
  66. package/mcp-server/.next/server/chunks/[root-of-the-server]__82298dd3._.js +6 -6
  67. package/mcp-server/.next/server/chunks/[root-of-the-server]__82298dd3._.js.map +1 -1
  68. package/mcp-server/.next/server/chunks/_next-internal_server_app_api_health_route_actions_da3433c4.js +3 -0
  69. package/mcp-server/.next/server/chunks/_next-internal_server_app_api_health_route_actions_da3433c4.js.map +1 -0
  70. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__b732be1d._.js +3 -0
  71. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__b732be1d._.js.map +1 -0
  72. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ffe77ef7._.js +3 -0
  73. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__ffe77ef7._.js.map +1 -0
  74. package/mcp-server/.next/server/middleware-build-manifest.js +3 -3
  75. package/mcp-server/.next/server/pages/404.html +1 -1
  76. package/mcp-server/.next/server/pages/500.html +2 -2
  77. package/mcp-server/.next/standalone/.next/BUILD_ID +1 -1
  78. package/mcp-server/.next/standalone/.next/app-build-manifest.json +20 -19
  79. package/mcp-server/.next/standalone/.next/app-path-routes-manifest.json +1 -0
  80. package/mcp-server/.next/standalone/.next/build-manifest.json +5 -5
  81. package/mcp-server/.next/standalone/.next/prerender-manifest.json +7 -7
  82. package/mcp-server/.next/standalone/.next/server/app/_global-error/page/app-build-manifest.json +3 -3
  83. package/mcp-server/.next/standalone/.next/server/app/_global-error/page/build-manifest.json +3 -3
  84. package/mcp-server/.next/standalone/.next/server/app/_global-error.html +2 -2
  85. package/mcp-server/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  86. package/mcp-server/.next/standalone/.next/server/app/_not-found/page/app-build-manifest.json +4 -4
  87. package/mcp-server/.next/standalone/.next/server/app/_not-found/page/build-manifest.json +3 -3
  88. package/mcp-server/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  89. package/mcp-server/.next/standalone/.next/server/app/_not-found.html +1 -1
  90. package/mcp-server/.next/standalone/.next/server/app/_not-found.rsc +2 -2
  91. package/mcp-server/.next/standalone/.next/server/app/api/config/route/app-build-manifest.json +3 -3
  92. package/mcp-server/.next/standalone/.next/server/app/api/config/route/build-manifest.json +3 -3
  93. package/mcp-server/.next/standalone/.next/server/app/api/health/route/app-build-manifest.json +11 -0
  94. package/mcp-server/.next/standalone/.next/server/app/api/health/route/app-paths-manifest.json +3 -0
  95. package/mcp-server/.next/standalone/.next/server/app/api/health/route/build-manifest.json +17 -0
  96. package/mcp-server/.next/standalone/.next/server/app/api/health/route/server-reference-manifest.json +4 -0
  97. package/mcp-server/.next/standalone/.next/server/app/api/health/route.js +7 -0
  98. package/mcp-server/.next/standalone/.next/server/app/api/health/route.js.map +5 -0
  99. package/mcp-server/.next/standalone/.next/server/app/api/health/route.js.nft.json +1 -0
  100. package/mcp-server/.next/standalone/.next/server/app/api/health/route_client-reference-manifest.js +2 -0
  101. package/mcp-server/.next/standalone/.next/server/app/api/logs/append/route/app-build-manifest.json +3 -3
  102. package/mcp-server/.next/standalone/.next/server/app/api/logs/append/route/build-manifest.json +3 -3
  103. package/mcp-server/.next/standalone/.next/server/app/api/logs/head/route/app-build-manifest.json +3 -3
  104. package/mcp-server/.next/standalone/.next/server/app/api/logs/head/route/build-manifest.json +3 -3
  105. package/mcp-server/.next/standalone/.next/server/app/api/logs/list/route/app-build-manifest.json +3 -3
  106. package/mcp-server/.next/standalone/.next/server/app/api/logs/list/route/build-manifest.json +3 -3
  107. package/mcp-server/.next/standalone/.next/server/app/api/logs/rotate/route/app-build-manifest.json +3 -3
  108. package/mcp-server/.next/standalone/.next/server/app/api/logs/rotate/route/build-manifest.json +3 -3
  109. package/mcp-server/.next/standalone/.next/server/app/api/logs/stream/route/app-build-manifest.json +3 -3
  110. package/mcp-server/.next/standalone/.next/server/app/api/logs/stream/route/build-manifest.json +3 -3
  111. package/mcp-server/.next/standalone/.next/server/app/api/logs/tail/route/app-build-manifest.json +3 -3
  112. package/mcp-server/.next/standalone/.next/server/app/api/logs/tail/route/build-manifest.json +3 -3
  113. package/mcp-server/.next/standalone/.next/server/app/api/mcp/[transport]/route/app-build-manifest.json +3 -3
  114. package/mcp-server/.next/standalone/.next/server/app/api/mcp/[transport]/route/build-manifest.json +3 -3
  115. package/mcp-server/.next/standalone/.next/server/app/api/replay/route/app-build-manifest.json +3 -3
  116. package/mcp-server/.next/standalone/.next/server/app/api/replay/route/build-manifest.json +3 -3
  117. package/mcp-server/.next/standalone/.next/server/app/index.html +1 -1
  118. package/mcp-server/.next/standalone/.next/server/app/index.rsc +16 -14
  119. package/mcp-server/.next/standalone/.next/server/app/logs/page/app-build-manifest.json +4 -4
  120. package/mcp-server/.next/standalone/.next/server/app/logs/page/build-manifest.json +3 -3
  121. package/mcp-server/.next/standalone/.next/server/app/logs/page_client-reference-manifest.js +1 -1
  122. package/mcp-server/.next/standalone/.next/server/app/page/app-build-manifest.json +5 -4
  123. package/mcp-server/.next/standalone/.next/server/app/page/build-manifest.json +3 -3
  124. package/mcp-server/.next/standalone/.next/server/app/page.js +1 -1
  125. package/mcp-server/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  126. package/mcp-server/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  127. package/mcp-server/.next/standalone/.next/server/app/replay/page/app-build-manifest.json +4 -4
  128. package/mcp-server/.next/standalone/.next/server/app/replay/page/build-manifest.json +3 -3
  129. package/mcp-server/.next/standalone/.next/server/app/replay/page_client-reference-manifest.js +1 -1
  130. package/mcp-server/.next/standalone/.next/server/app/replay.html +1 -1
  131. package/mcp-server/.next/standalone/.next/server/app/replay.rsc +2 -2
  132. package/mcp-server/.next/standalone/.next/server/app-paths-manifest.json +1 -0
  133. package/mcp-server/.next/standalone/.next/server/chunks/[root-of-the-server]__6f92d0ce._.js +3 -0
  134. package/mcp-server/.next/standalone/.next/server/chunks/[root-of-the-server]__82298dd3._.js +6 -6
  135. package/mcp-server/.next/standalone/.next/server/chunks/_next-internal_server_app_api_health_route_actions_da3433c4.js +3 -0
  136. package/mcp-server/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__b732be1d._.js +3 -0
  137. package/mcp-server/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__ffe77ef7._.js +3 -0
  138. package/mcp-server/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  139. package/mcp-server/.next/standalone/.next/server/pages/404.html +1 -1
  140. package/mcp-server/.next/standalone/.next/server/pages/500.html +2 -2
  141. package/mcp-server/.next/standalone/app/api/health/route.ts +19 -0
  142. package/mcp-server/.next/standalone/app/api/mcp/[transport]/route.ts +9 -4
  143. package/mcp-server/.next/static/chunks/0840a1d3b8d17eda.js +5 -0
  144. package/mcp-server/.next/static/chunks/{9259a540b1b78b91.js → 5c0c8ae693afcfee.js} +1 -1
  145. package/mcp-server/.next/static/chunks/830751c84b44689a.js +1 -0
  146. package/mcp-server/.next/static/chunks/{f7331e11d1cb0264.js → 941b6c341513efe6.js} +1 -1
  147. package/mcp-server/.next/static/chunks/accd4b2d97799296.js +5 -0
  148. package/mcp-server/.next/static/chunks/{a1f43ee49fc3218a.css → dc9d08d2b5468dd7.css} +1 -1
  149. package/mcp-server/.next/static/chunks/{turbopack-e91574a4b6cd8317.js → turbopack-28043e8ec5b32cbc.js} +1 -1
  150. package/mcp-server/.next/static/chunks/{turbopack-a2b668960bd831ed.js → turbopack-4c431b48e3258ab3.js} +1 -1
  151. package/mcp-server/.next/static/chunks/{turbopack-d95359954cb213b7.js → turbopack-66b02875bc8e5dbd.js} +1 -1
  152. package/mcp-server/.next/trace +1 -1
  153. package/mcp-server/.next/types/routes.d.ts +2 -1
  154. package/mcp-server/.next/types/validator.ts +9 -0
  155. package/mcp-server/app/api/health/route.ts +19 -0
  156. package/mcp-server/app/api/mcp/[transport]/route.ts +10 -5
  157. package/mcp-server/app/page.tsx +107 -12
  158. package/package.json +4 -4
  159. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9865c1be._.js +0 -3
  160. package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__9865c1be._.js.map +0 -1
  161. package/mcp-server/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__9865c1be._.js +0 -3
  162. package/mcp-server/.next/static/chunks/81c7382ca575441c.js +0 -5
  163. package/mcp-server/.next/static/chunks/b8ec00ccfbc128ba.js +0 -5
  164. /package/mcp-server/.next/static/{X4QUiHfBbIqrLCPNDK80s → N6OEtGstY3aUCE305hVvb}/_buildManifest.js +0 -0
  165. /package/mcp-server/.next/static/{X4QUiHfBbIqrLCPNDK80s → N6OEtGstY3aUCE305hVvb}/_clientMiddlewareManifest.json +0 -0
  166. /package/mcp-server/.next/static/{X4QUiHfBbIqrLCPNDK80s → N6OEtGstY3aUCE305hVvb}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- [{"name":"generate-buildid","duration":86,"timestamp":471033506439,"id":4,"parentId":1,"tags":{},"startTime":1757606803955,"traceId":"a4f992ed457600f8"},{"name":"load-custom-routes","duration":108,"timestamp":471033506557,"id":5,"parentId":1,"tags":{},"startTime":1757606803955,"traceId":"a4f992ed457600f8"},{"name":"create-dist-dir","duration":419,"timestamp":471033525358,"id":6,"parentId":1,"tags":{},"startTime":1757606803974,"traceId":"a4f992ed457600f8"},{"name":"create-pages-mapping","duration":92,"timestamp":471033637627,"id":7,"parentId":1,"tags":{},"startTime":1757606804086,"traceId":"a4f992ed457600f8"},{"name":"collect-app-files","duration":1273,"timestamp":471033637745,"id":8,"parentId":1,"tags":{},"startTime":1757606804086,"traceId":"a4f992ed457600f8"},{"name":"create-app-mapping","duration":881,"timestamp":471033639030,"id":9,"parentId":1,"tags":{},"startTime":1757606804088,"traceId":"a4f992ed457600f8"},{"name":"create-app-layouts","duration":60,"timestamp":471033639924,"id":10,"parentId":1,"tags":{},"startTime":1757606804088,"traceId":"a4f992ed457600f8"},{"name":"collect-default-files","duration":400,"timestamp":471033640444,"id":12,"parentId":1,"tags":{},"startTime":1757606804089,"traceId":"a4f992ed457600f8"},{"name":"generate-route-types","duration":7561,"timestamp":471033640135,"id":11,"parentId":1,"tags":{},"startTime":1757606804089,"traceId":"a4f992ed457600f8"},{"name":"public-dir-conflict-check","duration":39,"timestamp":471033647767,"id":13,"parentId":1,"tags":{},"startTime":1757606804096,"traceId":"a4f992ed457600f8"},{"name":"generate-routes-manifest","duration":789,"timestamp":471033647844,"id":14,"parentId":1,"tags":{},"startTime":1757606804096,"traceId":"a4f992ed457600f8"},{"name":"run-turbopack-compiler","duration":2646710,"timestamp":471033650384,"id":16,"parentId":1,"tags":{},"startTime":1757606804099,"traceId":"a4f992ed457600f8"},{"name":"verify-typescript-setup","duration":1251824,"timestamp":471036301290,"id":18,"parentId":1,"tags":{},"startTime":1757606806750,"traceId":"a4f992ed457600f8"},{"name":"check-static-error-page","duration":992,"timestamp":471037560868,"id":21,"parentId":20,"tags":{},"startTime":1757606808009,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":128380,"timestamp":471037584721,"id":43,"parentId":23,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":129963,"timestamp":471037583221,"id":23,"parentId":20,"tags":{"page":"/_global-error"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":141508,"timestamp":471037584289,"id":36,"parentId":24,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":142560,"timestamp":471037583266,"id":24,"parentId":20,"tags":{"page":"/api/config"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":142211,"timestamp":471037584502,"id":39,"parentId":28,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":143424,"timestamp":471037583304,"id":28,"parentId":20,"tags":{"page":"/api/logs/rotate"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":144407,"timestamp":471037584979,"id":45,"parentId":29,"tags":{},"startTime":1757606808034,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":146106,"timestamp":471037583310,"id":29,"parentId":20,"tags":{"page":"/api/logs/stream"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":145318,"timestamp":471037584473,"id":38,"parentId":25,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":146522,"timestamp":471037583282,"id":25,"parentId":20,"tags":{"page":"/api/logs/append"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":147130,"timestamp":471037585462,"id":46,"parentId":22,"tags":{},"startTime":1757606808034,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":149725,"timestamp":471037582885,"id":22,"parentId":20,"tags":{"page":"/_not-found"},"startTime":1757606808031,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":149389,"timestamp":471037584764,"id":44,"parentId":32,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":150781,"timestamp":471037583382,"id":32,"parentId":20,"tags":{"page":"/api/replay"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":147221,"timestamp":471037587113,"id":47,"parentId":34,"tags":{},"startTime":1757606808036,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":150998,"timestamp":471037583404,"id":34,"parentId":20,"tags":{"page":"/"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":151178,"timestamp":471037584531,"id":40,"parentId":27,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":152424,"timestamp":471037583297,"id":27,"parentId":20,"tags":{"page":"/api/logs/list"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":149015,"timestamp":471037587457,"id":49,"parentId":35,"tags":{},"startTime":1757606808036,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":153072,"timestamp":471037583415,"id":35,"parentId":20,"tags":{"page":"/replay"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":152766,"timestamp":471037584557,"id":41,"parentId":30,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":154017,"timestamp":471037583316,"id":30,"parentId":20,"tags":{"page":"/api/logs/tail"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":158731,"timestamp":471037584434,"id":37,"parentId":26,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":159902,"timestamp":471037583290,"id":26,"parentId":20,"tags":{"page":"/api/logs/head"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":161497,"timestamp":471037587414,"id":48,"parentId":33,"tags":{},"startTime":1757606808036,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":165535,"timestamp":471037583389,"id":33,"parentId":20,"tags":{"page":"/logs"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"is-page-static","duration":188294,"timestamp":471037584639,"id":42,"parentId":31,"tags":{},"startTime":1757606808033,"traceId":"a4f992ed457600f8"},{"name":"check-page","duration":189586,"timestamp":471037583372,"id":31,"parentId":20,"tags":{"page":"/api/mcp/[transport]"},"startTime":1757606808032,"traceId":"a4f992ed457600f8"},{"name":"static-check","duration":212334,"timestamp":471037560636,"id":20,"parentId":1,"tags":{},"startTime":1757606808009,"traceId":"a4f992ed457600f8"},{"name":"generate-required-server-files","duration":166,"timestamp":471037773016,"id":51,"parentId":1,"tags":{},"startTime":1757606808222,"traceId":"a4f992ed457600f8"},{"name":"write-routes-manifest","duration":197,"timestamp":471037774651,"id":52,"parentId":1,"tags":{},"startTime":1757606808223,"traceId":"a4f992ed457600f8"},{"name":"load-dotenv","duration":10,"timestamp":471037779351,"id":55,"parentId":54,"tags":{},"startTime":1757606808228,"traceId":"a4f992ed457600f8"},{"name":"run-export-path-map","duration":131,"timestamp":471037780143,"id":56,"parentId":54,"tags":{},"startTime":1757606808229,"traceId":"a4f992ed457600f8"},{"name":"next-export","duration":193197,"timestamp":471037778960,"id":54,"parentId":1,"tags":{},"startTime":1757606808228,"traceId":"a4f992ed457600f8"},{"name":"move-exported-app-not-found-","duration":322,"timestamp":471037972739,"id":57,"parentId":53,"tags":{},"startTime":1757606808421,"traceId":"a4f992ed457600f8"},{"name":"move-exported-app-global-error-","duration":310,"timestamp":471037973095,"id":58,"parentId":53,"tags":{},"startTime":1757606808422,"traceId":"a4f992ed457600f8"},{"name":"static-generation","duration":197609,"timestamp":471037776441,"id":53,"parentId":1,"tags":{},"startTime":1757606808225,"traceId":"a4f992ed457600f8"},{"name":"write-routes-manifest","duration":166,"timestamp":471037974092,"id":59,"parentId":1,"tags":{},"startTime":1757606808423,"traceId":"a4f992ed457600f8"},{"name":"write-standalone-directory","duration":170062,"timestamp":471037978973,"id":60,"parentId":1,"tags":{},"startTime":1757606808428,"traceId":"a4f992ed457600f8"},{"name":"print-tree-view","duration":1380,"timestamp":471038149099,"id":61,"parentId":1,"tags":{},"startTime":1757606808598,"traceId":"a4f992ed457600f8"},{"name":"telemetry-flush","duration":14,"timestamp":471038150484,"id":62,"parentId":1,"tags":{},"startTime":1757606808599,"traceId":"a4f992ed457600f8"},{"name":"next-build","duration":4846486,"timestamp":471033304016,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.5.1-canary.30","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1757606803753,"traceId":"a4f992ed457600f8"}]
1
+ [{"name":"generate-buildid","duration":78,"timestamp":484960054556,"id":4,"parentId":1,"tags":{},"startTime":1757620730548,"traceId":"2cd994a5823670c6"},{"name":"load-custom-routes","duration":103,"timestamp":484960054665,"id":5,"parentId":1,"tags":{},"startTime":1757620730548,"traceId":"2cd994a5823670c6"},{"name":"create-dist-dir","duration":437,"timestamp":484960072609,"id":6,"parentId":1,"tags":{},"startTime":1757620730566,"traceId":"2cd994a5823670c6"},{"name":"create-pages-mapping","duration":88,"timestamp":484960180263,"id":7,"parentId":1,"tags":{},"startTime":1757620730674,"traceId":"2cd994a5823670c6"},{"name":"collect-app-files","duration":6857,"timestamp":484960180373,"id":8,"parentId":1,"tags":{},"startTime":1757620730674,"traceId":"2cd994a5823670c6"},{"name":"create-app-mapping","duration":3303,"timestamp":484960187247,"id":9,"parentId":1,"tags":{},"startTime":1757620730681,"traceId":"2cd994a5823670c6"},{"name":"create-app-layouts","duration":57,"timestamp":484960190564,"id":10,"parentId":1,"tags":{},"startTime":1757620730684,"traceId":"2cd994a5823670c6"},{"name":"collect-default-files","duration":5223,"timestamp":484960194703,"id":12,"parentId":1,"tags":{},"startTime":1757620730688,"traceId":"2cd994a5823670c6"},{"name":"generate-route-types","duration":21110,"timestamp":484960190790,"id":11,"parentId":1,"tags":{},"startTime":1757620730684,"traceId":"2cd994a5823670c6"},{"name":"public-dir-conflict-check","duration":33,"timestamp":484960211984,"id":13,"parentId":1,"tags":{},"startTime":1757620730706,"traceId":"2cd994a5823670c6"},{"name":"generate-routes-manifest","duration":752,"timestamp":484960212060,"id":14,"parentId":1,"tags":{},"startTime":1757620730706,"traceId":"2cd994a5823670c6"},{"name":"run-turbopack-compiler","duration":2685537,"timestamp":484960214601,"id":16,"parentId":1,"tags":{},"startTime":1757620730708,"traceId":"2cd994a5823670c6"},{"name":"verify-typescript-setup","duration":1198607,"timestamp":484962918600,"id":18,"parentId":1,"tags":{},"startTime":1757620733412,"traceId":"2cd994a5823670c6"},{"name":"check-static-error-page","duration":1077,"timestamp":484964125737,"id":21,"parentId":20,"tags":{},"startTime":1757620734619,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":130887,"timestamp":484964149092,"id":46,"parentId":23,"tags":{},"startTime":1757620734643,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":133099,"timestamp":484964147146,"id":23,"parentId":20,"tags":{"page":"/_global-error"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":151395,"timestamp":484964149817,"id":50,"parentId":36,"tags":{},"startTime":1757620734643,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":153918,"timestamp":484964147341,"id":36,"parentId":20,"tags":{"page":"/replay"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":155685,"timestamp":484964149615,"id":49,"parentId":34,"tags":{},"startTime":1757620734643,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":158019,"timestamp":484964147314,"id":34,"parentId":20,"tags":{"page":"/logs"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":156555,"timestamp":484964148828,"id":43,"parentId":30,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":158232,"timestamp":484964147284,"id":30,"parentId":20,"tags":{"page":"/api/logs/stream"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":159030,"timestamp":484964148660,"id":38,"parentId":25,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":160494,"timestamp":484964147251,"id":25,"parentId":20,"tags":{"page":"/api/health"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":159116,"timestamp":484964148699,"id":39,"parentId":26,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":160616,"timestamp":484964147260,"id":26,"parentId":20,"tags":{"page":"/api/logs/append"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":162061,"timestamp":484964150189,"id":51,"parentId":35,"tags":{},"startTime":1757620734644,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":164937,"timestamp":484964147330,"id":35,"parentId":20,"tags":{"page":"/"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":163499,"timestamp":484964148791,"id":42,"parentId":27,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":165031,"timestamp":484964147267,"id":27,"parentId":20,"tags":{"page":"/api/logs/head"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":164829,"timestamp":484964148909,"id":44,"parentId":28,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":166484,"timestamp":484964147273,"id":28,"parentId":20,"tags":{"page":"/api/logs/list"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":166456,"timestamp":484964148728,"id":40,"parentId":29,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":167917,"timestamp":484964147278,"id":29,"parentId":20,"tags":{"page":"/api/logs/rotate"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":168093,"timestamp":484964149258,"id":47,"parentId":33,"tags":{},"startTime":1757620734643,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":170085,"timestamp":484964147308,"id":33,"parentId":20,"tags":{"page":"/api/replay"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":172971,"timestamp":484964148501,"id":37,"parentId":24,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":174303,"timestamp":484964147191,"id":24,"parentId":20,"tags":{"page":"/api/config"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":172170,"timestamp":484964149350,"id":48,"parentId":22,"tags":{},"startTime":1757620734643,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":174750,"timestamp":484964146776,"id":22,"parentId":20,"tags":{"page":"/_not-found"},"startTime":1757620734640,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":173111,"timestamp":484964148763,"id":41,"parentId":31,"tags":{},"startTime":1757620734642,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":174594,"timestamp":484964147293,"id":31,"parentId":20,"tags":{"page":"/api/logs/tail"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"is-page-static","duration":205690,"timestamp":484964148991,"id":45,"parentId":32,"tags":{},"startTime":1757620734643,"traceId":"2cd994a5823670c6"},{"name":"check-page","duration":207406,"timestamp":484964147302,"id":32,"parentId":20,"tags":{"page":"/api/mcp/[transport]"},"startTime":1757620734641,"traceId":"2cd994a5823670c6"},{"name":"static-check","duration":229221,"timestamp":484964125501,"id":20,"parentId":1,"tags":{},"startTime":1757620734619,"traceId":"2cd994a5823670c6"},{"name":"generate-required-server-files","duration":172,"timestamp":484964354919,"id":53,"parentId":1,"tags":{},"startTime":1757620734848,"traceId":"2cd994a5823670c6"},{"name":"write-routes-manifest","duration":206,"timestamp":484964356387,"id":54,"parentId":1,"tags":{},"startTime":1757620734850,"traceId":"2cd994a5823670c6"},{"name":"load-dotenv","duration":10,"timestamp":484964361085,"id":57,"parentId":56,"tags":{},"startTime":1757620734855,"traceId":"2cd994a5823670c6"},{"name":"run-export-path-map","duration":165,"timestamp":484964361945,"id":58,"parentId":56,"tags":{},"startTime":1757620734855,"traceId":"2cd994a5823670c6"},{"name":"next-export","duration":207541,"timestamp":484964360658,"id":56,"parentId":1,"tags":{},"startTime":1757620734854,"traceId":"2cd994a5823670c6"},{"name":"move-exported-app-not-found-","duration":293,"timestamp":484964568801,"id":59,"parentId":55,"tags":{},"startTime":1757620735062,"traceId":"2cd994a5823670c6"},{"name":"move-exported-app-global-error-","duration":204,"timestamp":484964569116,"id":60,"parentId":55,"tags":{},"startTime":1757620735063,"traceId":"2cd994a5823670c6"},{"name":"static-generation","duration":211942,"timestamp":484964358092,"id":55,"parentId":1,"tags":{},"startTime":1757620734852,"traceId":"2cd994a5823670c6"},{"name":"write-routes-manifest","duration":189,"timestamp":484964570084,"id":61,"parentId":1,"tags":{},"startTime":1757620735064,"traceId":"2cd994a5823670c6"},{"name":"write-standalone-directory","duration":156477,"timestamp":484964576140,"id":62,"parentId":1,"tags":{},"startTime":1757620735070,"traceId":"2cd994a5823670c6"},{"name":"print-tree-view","duration":1413,"timestamp":484964732807,"id":63,"parentId":1,"tags":{},"startTime":1757620735226,"traceId":"2cd994a5823670c6"},{"name":"telemetry-flush","duration":20,"timestamp":484964734228,"id":64,"parentId":1,"tags":{},"startTime":1757620735228,"traceId":"2cd994a5823670c6"},{"name":"next-build","duration":4798165,"timestamp":484959936087,"id":1,"tags":{"buildMode":"default","isTurboBuild":"true","version":"15.5.1-canary.30","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1757620730430,"traceId":"2cd994a5823670c6"}]
@@ -2,7 +2,7 @@
2
2
  // Do not edit this file manually
3
3
 
4
4
  type AppRoutes = "/" | "/logs" | "/replay"
5
- type AppRouteHandlerRoutes = "/api/config" | "/api/logs/append" | "/api/logs/head" | "/api/logs/list" | "/api/logs/rotate" | "/api/logs/stream" | "/api/logs/tail" | "/api/mcp/[transport]" | "/api/replay"
5
+ type AppRouteHandlerRoutes = "/api/config" | "/api/health" | "/api/logs/append" | "/api/logs/head" | "/api/logs/list" | "/api/logs/rotate" | "/api/logs/stream" | "/api/logs/tail" | "/api/mcp/[transport]" | "/api/replay"
6
6
  type PageRoutes = never
7
7
  type LayoutRoutes = "/"
8
8
  type RedirectRoutes = never
@@ -13,6 +13,7 @@ type Routes = AppRoutes | PageRoutes | LayoutRoutes | RedirectRoutes | RewriteRo
13
13
  interface ParamMap {
14
14
  "/": {}
15
15
  "/api/config": {}
16
+ "/api/health": {}
16
17
  "/api/logs/append": {}
17
18
  "/api/logs/head": {}
18
19
  "/api/logs/list": {}
@@ -83,6 +83,15 @@ type RouteHandlerConfig<Route extends AppRouteHandlerRoutes = AppRouteHandlerRou
83
83
  type __Unused = __Check
84
84
  }
85
85
 
86
+ // Validate ../../app/api/health/route.ts
87
+ {
88
+ type __IsExpected<Specific extends RouteHandlerConfig<"/api/health">> = Specific
89
+ const handler = {} as typeof import("../../app/api/health/route.js")
90
+ type __Check = __IsExpected<typeof handler>
91
+ // @ts-ignore
92
+ type __Unused = __Check
93
+ }
94
+
86
95
  // Validate ../../app/api/logs/append/route.ts
87
96
  {
88
97
  type __IsExpected<Specific extends RouteHandlerConfig<"/api/logs/append">> = Specific
@@ -0,0 +1,19 @@
1
+ import { existsSync } from "fs"
2
+ import { NextResponse } from "next/server"
3
+
4
+ export async function GET() {
5
+ const logFilePath = process.env.LOG_FILE_PATH || "./ai-dev-tools/consolidated.log"
6
+
7
+ const health = {
8
+ status: "healthy",
9
+ timestamp: new Date().toISOString(),
10
+ mcpEndpoint: "/api/mcp/mcp",
11
+ logFile: {
12
+ path: logFilePath,
13
+ exists: existsSync(logFilePath)
14
+ },
15
+ version: process.env.DEV3000_VERSION || "unknown"
16
+ }
17
+
18
+ return NextResponse.json(health)
19
+ }
@@ -26,7 +26,7 @@ const handler = createMcpHandler(
26
26
  // Healthcheck tool
27
27
  server.tool(
28
28
  "healthcheck",
29
- "Simple healthcheck to verify MCP server is working. Use this to test connectivity and confirm the MCP server is responsive. Returns current timestamp and health status. Useful for initial connection testing or when debugging MCP connectivity issues.",
29
+ "Internal healthcheck tool - rarely needed since MCP connection is already working if you can see this. Only use if explicitly asked to verify server health. Prefer read_consolidated_logs for debugging.",
30
30
  {
31
31
  message: z.string().optional().describe("Optional message to echo back")
32
32
  },
@@ -51,7 +51,7 @@ const handler = createMcpHandler(
51
51
  filter: z.string().optional().describe("Filter logs by text content"),
52
52
  logPath: z.string().optional().describe("Path to log file (default: ./ai-dev-tools/consolidated.log)")
53
53
  },
54
- async ({ lines = 50, filter, logPath = "./ai-dev-tools/consolidated.log" }) => {
54
+ async ({ lines = 50, filter, logPath = process.env.LOG_FILE_PATH || "./ai-dev-tools/consolidated.log" }) => {
55
55
  try {
56
56
  if (!existsSync(logPath)) {
57
57
  return {
@@ -105,7 +105,7 @@ const handler = createMcpHandler(
105
105
  context: z.number().optional().describe("Number of lines of context around matches (default: 2)"),
106
106
  logPath: z.string().optional().describe("Path to log file (default: ./ai-dev-tools/consolidated.log)")
107
107
  },
108
- async ({ pattern, context = 2, logPath = "./ai-dev-tools/consolidated.log" }) => {
108
+ async ({ pattern, context = 2, logPath = process.env.LOG_FILE_PATH || "./ai-dev-tools/consolidated.log" }) => {
109
109
  try {
110
110
  if (!existsSync(logPath)) {
111
111
  return {
@@ -165,7 +165,12 @@ const handler = createMcpHandler(
165
165
  filter: z.string().optional().describe("Filter logs by text content (case insensitive)"),
166
166
  logPath: z.string().optional().describe("Path to log file (default: ./ai-dev-tools/consolidated.log)")
167
167
  },
168
- async ({ startTime, endTime, filter, logPath = "./ai-dev-tools/consolidated.log" }) => {
168
+ async ({
169
+ startTime,
170
+ endTime,
171
+ filter,
172
+ logPath = process.env.LOG_FILE_PATH || "./ai-dev-tools/consolidated.log"
173
+ }) => {
169
174
  try {
170
175
  if (!existsSync(logPath)) {
171
176
  return {
@@ -256,7 +261,7 @@ const handler = createMcpHandler(
256
261
  hours: z.number().optional().describe("Hours to look back (default: 1)"),
257
262
  logPath: z.string().optional().describe("Path to log file (default: ./ai-dev-tools/consolidated.log)")
258
263
  },
259
- async ({ hours = 1, logPath = "./ai-dev-tools/consolidated.log" }) => {
264
+ async ({ hours = 1, logPath = process.env.LOG_FILE_PATH || "./ai-dev-tools/consolidated.log" }) => {
260
265
  try {
261
266
  if (!existsSync(logPath)) {
262
267
  return {
@@ -1,6 +1,36 @@
1
+ "use client"
2
+
3
+ import { useEffect, useState } from "react"
4
+
5
+ interface HealthStatus {
6
+ status: string
7
+ timestamp: string
8
+ mcpEndpoint: string
9
+ logFile: {
10
+ path: string
11
+ exists: boolean
12
+ }
13
+ version: string
14
+ }
15
+
1
16
  export default function HomePage() {
17
+ const [health, setHealth] = useState<HealthStatus | null>(null)
18
+ const [loading, setLoading] = useState(true)
19
+
20
+ useEffect(() => {
21
+ fetch("/api/health")
22
+ .then((res) => res.json())
23
+ .then((data) => {
24
+ setHealth(data)
25
+ setLoading(false)
26
+ })
27
+ .catch(() => {
28
+ setLoading(false)
29
+ })
30
+ }, [])
31
+
2
32
  return (
3
- <div className="min-h-screen bg-gray-50 flex items-center justify-center">
33
+ <div className="min-h-screen bg-gray-50 flex items-center justify-center p-4">
4
34
  <a
5
35
  href="https://github.com/vercel-labs/dev3000"
6
36
  target="_blank"
@@ -12,28 +42,93 @@ export default function HomePage() {
12
42
  <path d="M12 0C5.374 0 0 5.373 0 12 0 17.302 3.438 21.8 8.207 23.387c.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z" />
13
43
  </svg>
14
44
  </a>
15
- <div className="bg-white rounded-lg shadow-lg p-8 max-w-md w-full">
16
- <h1 className="text-3xl font-bold text-gray-900 mb-6 text-center">🎯 dev3000</h1>
17
45
 
18
- <div className="space-y-4">
46
+ <div className="bg-white rounded-lg shadow-lg p-8 max-w-2xl w-full">
47
+ <div className="text-center mb-8">
48
+ <h1 className="text-3xl font-bold text-gray-900 mb-2">🎯 dev3000</h1>
49
+ <p className="text-gray-600">AI-powered development monitoring</p>
50
+ </div>
51
+
52
+ {/* Health Status */}
53
+ <div className="mb-8 p-4 bg-gray-50 rounded-lg">
54
+ <h2 className="text-lg font-semibold mb-3 flex items-center">
55
+ {loading ? "⏳" : health?.status === "healthy" ? "✅" : "❌"}
56
+ <span className="ml-2">Server Status</span>
57
+ </h2>
58
+ {loading ? (
59
+ <p className="text-gray-600">Checking health...</p>
60
+ ) : health ? (
61
+ <div className="space-y-2 text-sm">
62
+ <p>
63
+ <span className="font-medium">Status:</span> {health.status}
64
+ </p>
65
+ <p>
66
+ <span className="font-medium">Version:</span> {health.version}
67
+ </p>
68
+ <p>
69
+ <span className="font-medium">Log File:</span> {health.logFile.exists ? "✅" : "❌"}{" "}
70
+ {health.logFile.path}
71
+ </p>
72
+ </div>
73
+ ) : (
74
+ <p className="text-red-600">Failed to get health status</p>
75
+ )}
76
+ </div>
77
+
78
+ {/* Navigation */}
79
+ <div className="space-y-4 mb-8">
19
80
  <a
20
81
  href="/logs"
21
82
  className="block w-full bg-blue-500 text-white text-center py-3 px-4 rounded hover:bg-blue-600 transition-colors"
22
83
  >
23
84
  📊 View Development Logs
24
85
  </a>
86
+ </div>
25
87
 
26
- <a
27
- href="/api/mcp/mcp"
28
- className="block w-full bg-green-500 text-white text-center py-3 px-4 rounded hover:bg-green-600 transition-colors"
29
- >
30
- 🤖 MCP Endpoint
31
- </a>
88
+ {/* MCP Configuration */}
89
+ <div className="border-t pt-6">
90
+ <h2 className="text-lg font-semibold mb-4 flex items-center">
91
+ 🤖 <span className="ml-2">MCP Integration</span>
92
+ </h2>
93
+
94
+ <div className="bg-blue-50 p-4 rounded-lg mb-4">
95
+ <p className="text-sm text-blue-800 mb-2">
96
+ <span className="font-medium">Endpoint:</span>
97
+ <code className="bg-blue-100 px-2 py-1 rounded text-xs ml-2">
98
+ http://localhost:{typeof window !== "undefined" ? window.location.port : "3684"}/api/mcp/mcp
99
+ </code>
100
+ </p>
101
+ <p className="text-xs text-blue-600">Use HTTP transport (not stdio) when configuring MCP clients</p>
102
+ </div>
103
+
104
+ <div className="space-y-3">
105
+ <h3 className="font-medium text-gray-900">Configure AI Tools:</h3>
106
+ <div className="grid grid-cols-1 md:grid-cols-2 gap-3">
107
+ <a
108
+ href="https://github.com/vercel-labs/dev3000#claude-desktop"
109
+ target="_blank"
110
+ rel="noopener noreferrer"
111
+ className="flex items-center justify-between p-3 border rounded hover:bg-gray-50 transition-colors text-sm"
112
+ >
113
+ <span>Claude Desktop</span>
114
+ <span className="text-gray-400">↗</span>
115
+ </a>
116
+ <a
117
+ href="https://github.com/vercel-labs/dev3000#mcp-clients"
118
+ target="_blank"
119
+ rel="noopener noreferrer"
120
+ className="flex items-center justify-between p-3 border rounded hover:bg-gray-50 transition-colors text-sm"
121
+ >
122
+ <span>Other MCP Clients</span>
123
+ <span className="text-gray-400">↗</span>
124
+ </a>
125
+ </div>
126
+ </div>
32
127
  </div>
33
128
 
34
- <div className="mt-6 text-sm text-gray-600 text-center">
129
+ <div className="mt-8 text-sm text-gray-600 text-center border-t pt-6">
35
130
  <p>Real-time development monitoring with visual context</p>
36
- <p className="mt-2">Server logs + Browser events + Screenshots</p>
131
+ <p className="mt-1">Server logs + Browser events + Screenshots + AI debugging</p>
37
132
  </div>
38
133
  </div>
39
134
  </div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev3000",
3
- "version": "0.0.55",
3
+ "version": "0.0.57",
4
4
  "description": "AI-powered development tools with browser monitoring and MCP server integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -25,12 +25,12 @@
25
25
  "dev": "tsc --watch",
26
26
  "typecheck": "tsc --noEmit",
27
27
  "format": "biome format --write .",
28
- "lint": "biome check .",
29
- "lint:fix": "biome check --write .",
28
+ "lint": "biome check src mcp-server www scripts",
29
+ "lint:fix": "biome check --write src mcp-server www scripts",
30
30
  "test": "vitest run",
31
31
  "test-postinstall": "tsx scripts/test-postinstall.ts",
32
32
  "prepare": "husky",
33
- "postinstall": "echo 'Starting postinstall...' && cd mcp-server && echo 'Installing mcp-server dependencies...' && timeout 30s pnpm install --no-frozen-lockfile --ignore-scripts && echo 'Postinstall completed successfully!' || echo 'Postinstall failed or timed out, but continuing...'",
33
+ "postinstall": "echo 'Starting postinstall...' && cd mcp-server && echo 'Installing mcp-server dependencies...' && pnpm install --no-frozen-lockfile --ignore-scripts && echo 'Postinstall completed successfully!' || echo 'Postinstall failed, but continuing...'",
34
34
  "release": "./scripts/release.sh",
35
35
  "canary": "./scripts/canary.sh"
36
36
  },
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},70864,a=>{a.n(a.i(33290))},73501,a=>{a.n(a.i(88445))},90463,a=>{a.n(a.i(78975))},53366,a=>{a.n(a.i(26716))},82754,a=>{a.n(a.i(38067))},50708,a=>{"use strict";var b=a.i(36182);function c(){return(0,b.jsxs)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:[(0,b.jsx)("a",{href:"https://github.com/vercel-labs/dev3000",target:"_blank",rel:"noopener noreferrer",className:"fixed top-4 right-4 text-gray-600 hover:text-gray-900 transition-colors",title:"View on GitHub",children:(0,b.jsx)("svg",{className:"w-6 h-6",fill:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{d:"M12 0C5.374 0 0 5.373 0 12 0 17.302 3.438 21.8 8.207 23.387c.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"})})}),(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow-lg p-8 max-w-md w-full",children:[(0,b.jsx)("h1",{className:"text-3xl font-bold text-gray-900 mb-6 text-center",children:"🎯 dev3000"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("a",{href:"/logs",className:"block w-full bg-blue-500 text-white text-center py-3 px-4 rounded hover:bg-blue-600 transition-colors",children:"📊 View Development Logs"}),(0,b.jsx)("a",{href:"/api/mcp/mcp",className:"block w-full bg-green-500 text-white text-center py-3 px-4 rounded hover:bg-green-600 transition-colors",children:"🤖 MCP Endpoint"})]}),(0,b.jsxs)("div",{className:"mt-6 text-sm text-gray-600 text-center",children:[(0,b.jsx)("p",{children:"Real-time development monitoring with visual context"}),(0,b.jsx)("p",{className:"mt-2",children:"Server logs + Browser events + Screenshots"})]})]})]})}a.s(["default",()=>c])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__9865c1be._.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["turbopack:///[project]/app/page.tsx"],"sourcesContent":["export default function HomePage() {\n return (\n <div className=\"min-h-screen bg-gray-50 flex items-center justify-center\">\n <a\n href=\"https://github.com/vercel-labs/dev3000\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"fixed top-4 right-4 text-gray-600 hover:text-gray-900 transition-colors\"\n title=\"View on GitHub\"\n >\n <svg className=\"w-6 h-6\" fill=\"currentColor\" viewBox=\"0 0 24 24\">\n <path d=\"M12 0C5.374 0 0 5.373 0 12 0 17.302 3.438 21.8 8.207 23.387c.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z\" />\n </svg>\n </a>\n <div className=\"bg-white rounded-lg shadow-lg p-8 max-w-md w-full\">\n <h1 className=\"text-3xl font-bold text-gray-900 mb-6 text-center\">🎯 dev3000</h1>\n\n <div className=\"space-y-4\">\n <a\n href=\"/logs\"\n className=\"block w-full bg-blue-500 text-white text-center py-3 px-4 rounded hover:bg-blue-600 transition-colors\"\n >\n 📊 View Development Logs\n </a>\n\n <a\n href=\"/api/mcp/mcp\"\n className=\"block w-full bg-green-500 text-white text-center py-3 px-4 rounded hover:bg-green-600 transition-colors\"\n >\n 🤖 MCP Endpoint\n </a>\n </div>\n\n <div className=\"mt-6 text-sm text-gray-600 text-center\">\n <p>Real-time development monitoring with visual context</p>\n <p className=\"mt-2\">Server logs + Browser events + Screenshots</p>\n </div>\n </div>\n </div>\n )\n}\n"],"names":[],"mappings":"sVAAe,SAAS,IACtB,MACE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,qEACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CACC,KAAK,yCACL,OAAO,SACP,IAAI,sBACJ,UAAU,0EACV,MAAM,0BAEN,CAAA,EAAA,EAAA,GAAA,EAAC,MAAA,CAAI,UAAU,UAAU,KAAK,eAAe,QAAQ,qBACnD,CAAA,EAAA,EAAA,GAAA,EAAC,OAAA,CAAK,EAAE,qsBAGZ,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,8DACb,CAAA,EAAA,EAAA,GAAA,EAAC,KAAA,CAAG,UAAU,6DAAoD,eAElE,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,sBACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CACC,KAAK,QACL,UAAU,iHACX,6BAID,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CACC,KAAK,eACL,UAAU,mHACX,uBAKH,CAAA,EAAA,EAAA,IAAA,EAAC,MAAA,CAAI,UAAU,mDACb,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,UAAE,yDACH,CAAA,EAAA,EAAA,GAAA,EAAC,IAAA,CAAE,UAAU,gBAAO,uDAK9B"}
@@ -1,3 +0,0 @@
1
- module.exports=[93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},70864,a=>{a.n(a.i(33290))},73501,a=>{a.n(a.i(88445))},90463,a=>{a.n(a.i(78975))},53366,a=>{a.n(a.i(26716))},82754,a=>{a.n(a.i(38067))},50708,a=>{"use strict";var b=a.i(36182);function c(){return(0,b.jsxs)("div",{className:"min-h-screen bg-gray-50 flex items-center justify-center",children:[(0,b.jsx)("a",{href:"https://github.com/vercel-labs/dev3000",target:"_blank",rel:"noopener noreferrer",className:"fixed top-4 right-4 text-gray-600 hover:text-gray-900 transition-colors",title:"View on GitHub",children:(0,b.jsx)("svg",{className:"w-6 h-6",fill:"currentColor",viewBox:"0 0 24 24",children:(0,b.jsx)("path",{d:"M12 0C5.374 0 0 5.373 0 12 0 17.302 3.438 21.8 8.207 23.387c.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23A11.509 11.509 0 0112 5.803c1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576C20.566 21.797 24 17.3 24 12c0-6.627-5.373-12-12-12z"})})}),(0,b.jsxs)("div",{className:"bg-white rounded-lg shadow-lg p-8 max-w-md w-full",children:[(0,b.jsx)("h1",{className:"text-3xl font-bold text-gray-900 mb-6 text-center",children:"🎯 dev3000"}),(0,b.jsxs)("div",{className:"space-y-4",children:[(0,b.jsx)("a",{href:"/logs",className:"block w-full bg-blue-500 text-white text-center py-3 px-4 rounded hover:bg-blue-600 transition-colors",children:"📊 View Development Logs"}),(0,b.jsx)("a",{href:"/api/mcp/mcp",className:"block w-full bg-green-500 text-white text-center py-3 px-4 rounded hover:bg-green-600 transition-colors",children:"🤖 MCP Endpoint"})]}),(0,b.jsxs)("div",{className:"mt-6 text-sm text-gray-600 text-center",children:[(0,b.jsx)("p",{children:"Real-time development monitoring with visual context"}),(0,b.jsx)("p",{className:"mt-2",children:"Server logs + Browser events + Screenshots"})]})]})]})}a.s(["default",()=>c])}];
2
-
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__9865c1be._.js.map
@@ -1,5 +0,0 @@
1
- __turbopack_load_page_chunks__("/_error", [
2
- "static/chunks/7a1b61971931d3f6.js",
3
- "static/chunks/9259a540b1b78b91.js",
4
- "static/chunks/turbopack-a2b668960bd831ed.js"
5
- ])
@@ -1,5 +0,0 @@
1
- __turbopack_load_page_chunks__("/_app", [
2
- "static/chunks/37a3ca444b4e0ebc.js",
3
- "static/chunks/9259a540b1b78b91.js",
4
- "static/chunks/turbopack-e91574a4b6cd8317.js"
5
- ])