dev3000 0.0.60 → 0.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/cdp-monitor.d.ts +2 -1
- package/dist/cdp-monitor.d.ts.map +1 -1
- package/dist/cdp-monitor.js +34 -17
- package/dist/cdp-monitor.js.map +1 -1
- package/dist/cli.js +105 -13
- package/dist/cli.js.map +1 -1
- package/dist/dev-environment.d.ts +3 -0
- package/dist/dev-environment.d.ts.map +1 -1
- package/dist/dev-environment.js +93 -34
- package/dist/dev-environment.js.map +1 -1
- package/dist/services/parsers/error-detectors/base.d.ts +24 -0
- package/dist/services/parsers/error-detectors/base.d.ts.map +1 -0
- package/dist/services/parsers/error-detectors/base.js +44 -0
- package/dist/services/parsers/error-detectors/base.js.map +1 -0
- package/dist/services/parsers/error-detectors/index.d.ts +6 -0
- package/dist/services/parsers/error-detectors/index.d.ts.map +1 -0
- package/dist/services/parsers/error-detectors/index.js +6 -0
- package/dist/services/parsers/error-detectors/index.js.map +1 -0
- package/dist/services/parsers/error-detectors/nextjs.d.ts +9 -0
- package/dist/services/parsers/error-detectors/nextjs.d.ts.map +1 -0
- package/dist/services/parsers/error-detectors/nextjs.js +52 -0
- package/dist/services/parsers/error-detectors/nextjs.js.map +1 -0
- package/dist/services/parsers/index.d.ts +8 -0
- package/dist/services/parsers/index.d.ts.map +1 -0
- package/dist/services/parsers/index.js +10 -0
- package/dist/services/parsers/index.js.map +1 -0
- package/dist/services/parsers/log-parsers/base.d.ts +26 -0
- package/dist/services/parsers/log-parsers/base.d.ts.map +1 -0
- package/dist/services/parsers/log-parsers/base.js +6 -0
- package/dist/services/parsers/log-parsers/base.js.map +1 -0
- package/dist/services/parsers/log-parsers/index.d.ts +6 -0
- package/dist/services/parsers/log-parsers/index.d.ts.map +1 -0
- package/dist/services/parsers/log-parsers/index.js +5 -0
- package/dist/services/parsers/log-parsers/index.js.map +1 -0
- package/dist/services/parsers/log-parsers/standard.d.ts +9 -0
- package/dist/services/parsers/log-parsers/standard.d.ts.map +1 -0
- package/dist/services/parsers/log-parsers/standard.js +17 -0
- package/dist/services/parsers/log-parsers/standard.js.map +1 -0
- package/dist/services/parsers/output-processor.d.ts +39 -0
- package/dist/services/parsers/output-processor.d.ts.map +1 -0
- package/dist/services/parsers/output-processor.js +54 -0
- package/dist/services/parsers/output-processor.js.map +1 -0
- package/mcp-server/.next/BUILD_ID +1 -1
- package/mcp-server/.next/app-build-manifest.json +56 -15
- package/mcp-server/.next/build/chunks/[root-of-the-server]__974941ed._.js +2 -10
- package/mcp-server/.next/build/chunks/[root-of-the-server]__974941ed._.js.map +4 -4
- package/mcp-server/.next/build/chunks/[root-of-the-server]__c7ae8543._.js +2 -10
- package/mcp-server/.next/build/chunks/[root-of-the-server]__c7ae8543._.js.map +4 -4
- package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js +10 -35
- package/mcp-server/.next/build/chunks/node_modules__pnpm_806d01c0._.js.map +9 -9
- package/mcp-server/.next/build-manifest.json +9 -12
- package/mcp-server/.next/cache/.previewinfo +1 -1
- package/mcp-server/.next/cache/.rscinfo +1 -1
- package/mcp-server/.next/cache/.tsbuildinfo +1 -1
- package/mcp-server/.next/fallback-build-manifest.json +2 -2
- package/mcp-server/.next/prerender-manifest.json +106 -4
- package/mcp-server/.next/routes-manifest.json +82 -1
- package/mcp-server/.next/server/app/_global-error.html +2 -2
- package/mcp-server/.next/server/app/_global-error.rsc +1 -1
- package/mcp-server/.next/server/app/_not-found/page/app-build-manifest.json +1 -1
- package/mcp-server/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/server/app/_not-found.html +1 -1
- package/mcp-server/.next/server/app/_not-found.rsc +2 -2
- package/mcp-server/.next/server/app/api/tools/route/app-build-manifest.json +6 -9
- package/mcp-server/.next/server/app/api/tools/route/build-manifest.json +7 -10
- package/mcp-server/.next/server/app/api/tools/route.js +5 -4
- package/mcp-server/.next/server/app/index.html +1 -1
- package/mcp-server/.next/server/app/index.rsc +3 -3
- package/mcp-server/.next/server/app/logs/page/app-build-manifest.json +1 -1
- package/mcp-server/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/server/app/page/app-build-manifest.json +10 -15
- package/mcp-server/.next/server/app/page/build-manifest.json +7 -10
- package/mcp-server/.next/server/app/page.js +9 -7
- package/mcp-server/.next/server/app/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/server/app/replay/page/app-build-manifest.json +1 -1
- package/mcp-server/.next/server/app/replay/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/server/app/replay.html +1 -1
- package/mcp-server/.next/server/app/replay.rsc +2 -2
- package/mcp-server/.next/server/app-paths-manifest.json +15 -1
- package/mcp-server/.next/server/chunks/[root-of-the-server]__7f1ecf7b._.js.map +1 -1
- package/mcp-server/.next/server/chunks/[root-of-the-server]__82298dd3._.js.map +1 -1
- package/mcp-server/.next/server/chunks/_next-internal_server_app_api_tools_route_actions_4a0d5a18.js +1 -5
- package/mcp-server/.next/server/chunks/_next-internal_server_app_api_tools_route_actions_4a0d5a18.js.map +1 -6
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_builtin_forbidden_7b57efa5.js +1 -30
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_builtin_forbidden_7b57efa5.js.map +1 -6
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_builtin_global-error_118601bd.js +1 -22
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_builtin_global-error_118601bd.js.map +1 -8
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_builtin_unauthorized_6614f15c.js +1 -30
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_builtin_unauthorized_6614f15c.js.map +1 -6
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_f453b63e._.js +1 -148
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_client_components_f453b63e._.js.map +1 -8
- package/mcp-server/.next/server/chunks/ssr/_dc26a647._.js +1 -1
- package/mcp-server/.next/server/chunks/ssr/_dc26a647._.js.map +1 -1
- package/mcp-server/.next/server/chunks/ssr/_next-internal_server_app_page_actions_39d4fc33.js +1 -5
- package/mcp-server/.next/server/chunks/ssr/_next-internal_server_app_page_actions_39d4fc33.js.map +1 -6
- package/mcp-server/.next/server/middleware-build-manifest.js +7 -10
- package/mcp-server/.next/server/pages/404.html +1 -1
- package/mcp-server/.next/server/pages/500.html +2 -2
- package/mcp-server/.next/server/pages-manifest.json +4 -1
- package/mcp-server/.next/server/server-reference-manifest.js +1 -1
- package/mcp-server/.next/server/server-reference-manifest.json +1 -1
- package/mcp-server/.next/standalone/.next/BUILD_ID +1 -1
- package/mcp-server/.next/standalone/.next/app-build-manifest.json +5 -5
- package/mcp-server/.next/standalone/.next/build-manifest.json +2 -2
- package/mcp-server/.next/standalone/.next/prerender-manifest.json +16 -16
- package/mcp-server/.next/standalone/.next/server/app/_global-error.html +2 -2
- package/mcp-server/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/mcp-server/.next/standalone/.next/server/app/_not-found/page/app-build-manifest.json +1 -1
- package/mcp-server/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/mcp-server/.next/standalone/.next/server/app/_not-found.rsc +2 -2
- package/mcp-server/.next/standalone/.next/server/app/index.html +1 -1
- package/mcp-server/.next/standalone/.next/server/app/index.rsc +3 -3
- package/mcp-server/.next/standalone/.next/server/app/logs/page/app-build-manifest.json +1 -1
- package/mcp-server/.next/standalone/.next/server/app/logs/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/standalone/.next/server/app/page/app-build-manifest.json +2 -2
- package/mcp-server/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/standalone/.next/server/app/replay/page/app-build-manifest.json +1 -1
- package/mcp-server/.next/standalone/.next/server/app/replay/page_client-reference-manifest.js +1 -1
- package/mcp-server/.next/standalone/.next/server/app/replay.html +1 -1
- package/mcp-server/.next/standalone/.next/server/app/replay.rsc +2 -2
- package/mcp-server/.next/standalone/.next/server/chunks/ssr/_dc26a647._.js +1 -1
- package/mcp-server/.next/standalone/.next/server/pages/404.html +1 -1
- package/mcp-server/.next/standalone/.next/server/pages/500.html +2 -2
- package/mcp-server/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/mcp-server/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/mcp-server/.next/standalone/app/api/mcp/[transport]/route.ts +93 -91
- package/mcp-server/.next/static/chunks/{5dfb96bedc33a0a5.css → 6634762c4edabf25.css} +1 -1
- package/mcp-server/.next/static/chunks/aac71a4d8cd0d1d1.js +1 -0
- package/mcp-server/.next/trace +1 -3
- package/package.json +1 -1
- package/mcp-server/.next/server/chunks/0916f_next_c68840f1._.js +0 -14728
- package/mcp-server/.next/server/chunks/0916f_next_c68840f1._.js.map +0 -118
- package/mcp-server/.next/server/chunks/[root-of-the-server]__3dccd82a._.js +0 -248
- package/mcp-server/.next/server/chunks/[root-of-the-server]__3dccd82a._.js.map +0 -6
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_76a62e93._.js +0 -5831
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_76a62e93._.js.map +0 -89
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_d231ced7._.js +0 -15764
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_d231ced7._.js.map +0 -145
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_dbf009ef._.js +0 -9174
- package/mcp-server/.next/server/chunks/ssr/0916f_next_dist_dbf009ef._.js.map +0 -51
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__1aaf5479._.js +0 -38
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__1aaf5479._.js.map +0 -5
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__7f148858._.js +0 -62
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__7f148858._.js.map +0 -5
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__95719760._.js +0 -54
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__95719760._.js.map +0 -8
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__b1782a10._.js +0 -813
- package/mcp-server/.next/server/chunks/ssr/[root-of-the-server]__b1782a10._.js.map +0 -6
- package/mcp-server/.next/server/chunks/ssr/[turbopack]_browser_dev_hmr-client_hmr-client_ts_818f0fdf._.js +0 -467
- package/mcp-server/.next/server/chunks/ssr/[turbopack]_browser_dev_hmr-client_hmr-client_ts_818f0fdf._.js.map +0 -6
- package/mcp-server/.next/server/chunks/ssr/[turbopack]_browser_dev_hmr-client_hmr-client_ts_89c5f8e8._.js +0 -12
- package/mcp-server/.next/server/chunks/ssr/[turbopack]_browser_dev_hmr-client_hmr-client_ts_89c5f8e8._.js.map +0 -5
- package/mcp-server/.next/server/chunks/ssr/_9c0d7aa1._.js +0 -100
- package/mcp-server/.next/server/chunks/ssr/_9c0d7aa1._.js.map +0 -7
- package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_cc7262c5._.js +0 -13866
- package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_cc7262c5._.js.map +0 -152
- package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_da0d0a14._.js +0 -13866
- package/mcp-server/.next/server/chunks/ssr/node_modules__pnpm_da0d0a14._.js.map +0 -152
- package/mcp-server/.next/static/chunks/0916f_next_dist_2e70ccdb._.js +0 -4068
- package/mcp-server/.next/static/chunks/0916f_next_dist_2e70ccdb._.js.map +0 -64
- package/mcp-server/.next/static/chunks/0916f_next_dist_b3493ca8._.js +0 -2780
- package/mcp-server/.next/static/chunks/0916f_next_dist_b3493ca8._.js.map +0 -27
- package/mcp-server/.next/static/chunks/0916f_next_dist_build_polyfills_polyfill-nomodule.js +0 -1
- package/mcp-server/.next/static/chunks/0916f_next_dist_client_components_builtin_global-error_80971850.js +0 -7
- package/mcp-server/.next/static/chunks/0916f_next_dist_client_d3483330._.js +0 -10175
- package/mcp-server/.next/static/chunks/0916f_next_dist_client_d3483330._.js.map +0 -103
- package/mcp-server/.next/static/chunks/0916f_next_dist_compiled_8cc8c301._.js +0 -5009
- package/mcp-server/.next/static/chunks/0916f_next_dist_compiled_8cc8c301._.js.map +0 -21
- package/mcp-server/.next/static/chunks/0916f_next_dist_compiled_next-devtools_index_94228adb.js +0 -30477
- package/mcp-server/.next/static/chunks/0916f_next_dist_compiled_next-devtools_index_94228adb.js.map +0 -6
- package/mcp-server/.next/static/chunks/0916f_next_dist_compiled_react-dom_c74e1e00._.js +0 -14617
- package/mcp-server/.next/static/chunks/0916f_next_dist_compiled_react-dom_c74e1e00._.js.map +0 -9
- package/mcp-server/.next/static/chunks/1c2c4101e46d1c5e.js +0 -1
- package/mcp-server/.next/static/chunks/69652_@swc_helpers_cjs_77b72907._.js +0 -85
- package/mcp-server/.next/static/chunks/69652_@swc_helpers_cjs_77b72907._.js.map +0 -10
- package/mcp-server/.next/static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_29af464a._.js +0 -7
- package/mcp-server/.next/static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_c8c997ce._.js +0 -476
- package/mcp-server/.next/static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_c8c997ce._.js.map +0 -6
- package/mcp-server/.next/static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_d335a95d._.js +0 -13
- package/mcp-server/.next/static/chunks/[turbopack]_browser_dev_hmr-client_hmr-client_ts_d335a95d._.js.map +0 -5
- package/mcp-server/.next/static/chunks/_9429dbc3._.js +0 -2117
- package/mcp-server/.next/static/chunks/_9429dbc3._.js.map +0 -16
- package/mcp-server/.next/static/chunks/_a0ff3932._.js +0 -13
- package/mcp-server/.next/static/chunks/_efaa0516._.js.map +0 -10
- package/mcp-server/.next/static/chunks/app_244179ef._.css +0 -4548
- package/mcp-server/.next/static/chunks/app_244179ef._.css.map +0 -7
- package/mcp-server/.next/static/chunks/app_compiled_css_bad6b30c._.single.css +0 -2117
- package/mcp-server/.next/static/chunks/app_compiled_css_bad6b30c._.single.css.map +0 -6
- package/mcp-server/.next/static/chunks/app_globals_css_bad6b30c._.single.css +0 -2432
- package/mcp-server/.next/static/chunks/app_globals_css_bad6b30c._.single.css.map +0 -6
- package/mcp-server/.next/static/chunks/app_layout_tsx_80971850._.js +0 -7
- package/mcp-server/.next/static/chunks/app_page_tsx_6ea10ef3._.js +0 -7
- package/mcp-server/.next/static/chunks/turbopack-_efaa0516._.js +0 -1836
- package/mcp-server/.next/static/development/_ssgManifest.js +0 -1
- package/mcp-server/.next/static/vcdr8uFblpN3gCi_831po/_buildManifest.js +0 -11
- package/mcp-server/.next/static/vcdr8uFblpN3gCi_831po/_clientMiddlewareManifest.json +0 -1
- /package/mcp-server/.next/static/{development → fgx2Ltd5vbloYUQlVKX60}/_buildManifest.js +0 -0
- /package/mcp-server/.next/static/{development → fgx2Ltd5vbloYUQlVKX60}/_clientMiddlewareManifest.json +0 -0
- /package/mcp-server/.next/static/{vcdr8uFblpN3gCi_831po → fgx2Ltd5vbloYUQlVKX60}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
1
|
+
<!DOCTYPE html><!--fgx2Ltd5vbloYUQlVKX60--><html lang="en" class="h-full dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="/_next/static/chunks/6634762c4edabf25.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/f7331e11d1cb0264.js"/><script src="/_next/static/chunks/605beb21d5c11807.js" async=""></script><script src="/_next/static/chunks/8a5ef92054eb3f68.js" async=""></script><script src="/_next/static/chunks/5dd333b6181425ad.js" async=""></script><script src="/_next/static/chunks/14ca28aed9ba7e16.js" async=""></script><script src="/_next/static/chunks/turbopack-0005c9ba09919d66.js" async=""></script><script src="/_next/static/chunks/044e917a180dc576.js" async=""></script><script src="/_next/static/chunks/1415a83da347ea73.js" async=""></script><meta name="robots" content="noindex"/><title>🎯 dev3000</title><link rel="icon" href="/favicon.ico" sizes="32x32"/><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="icon" href="/favicon-16.svg" type="image/svg+xml" sizes="16x16"/><link rel="apple-touch-icon" href="/favicon-180.png"/><meta name="theme-color" content="#1f2937"/><title>404: This page could not be found.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body class="h-full"><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding:0 23px 0 0;font-size:24px;font-weight:500;vertical-align:top;line-height:49px">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:49px;margin:0">This page could not be found.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/f7331e11d1cb0264.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79442,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n3:I[91868,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n4:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"OutletBoundary\"]\n6:I[72445,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"AsyncMetadataOutlet\"]\n8:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"ViewportBoundary\"]\na:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[57588,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n:HL[\"/_next/static/chunks/6634762c4edabf25.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"fgx2Ltd5vbloYUQlVKX60\",\"c\":[\"\",\"_not-found\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"/_not-found\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/6634762c4edabf25.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/044e917a180dc576.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1415a83da347ea73.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"h-full dark\",\"children\":[[\"$\",\"head\",null,{\"children\":[[\"$\",\"title\",null,{\"children\":\"🎯 dev3000\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.ico\",\"sizes\":\"32x32\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon.svg\",\"type\":\"image/svg+xml\"}],[\"$\",\"link\",null,{\"rel\":\"icon\",\"href\":\"/favicon-16.svg\",\"type\":\"image/svg+xml\",\"sizes\":\"16x16\"}],[\"$\",\"link\",null,{\"rel\":\"apple-touch-icon\",\"href\":\"/favicon-180.png\"}],[\"$\",\"meta\",null,{\"name\":\"theme-color\",\"content\":\"#1f2937\"}]]}],[\"$\",\"body\",null,{\"className\":\"h-full\",\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[\"/_not-found\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:1:props:children:1:props:children:1:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],null,[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false,false]},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[[\"$\",\"meta\",null,{\"name\":\"robots\",\"content\":\"noindex\"}],[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/f7331e11d1cb0264.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79442,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n3:I[91868,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n4:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"OutletBoundary\"]\n6:I[72445,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"AsyncMetadataOutlet\"]\n8:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"ViewportBoundary\"]\na:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[57588,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--fgx2Ltd5vbloYUQlVKX60--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/f7331e11d1cb0264.js"/><script src="/_next/static/chunks/605beb21d5c11807.js" async=""></script><script src="/_next/static/chunks/8a5ef92054eb3f68.js" async=""></script><script src="/_next/static/chunks/5dd333b6181425ad.js" async=""></script><script src="/_next/static/chunks/14ca28aed9ba7e16.js" async=""></script><script src="/_next/static/chunks/turbopack-0005c9ba09919d66.js" async=""></script><script src="/_next/static/chunks/044e917a180dc576.js" async=""></script><script src="/_next/static/chunks/1415a83da347ea73.js" async=""></script><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/f7331e11d1cb0264.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[79442,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n3:I[91868,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n4:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"OutletBoundary\"]\n6:I[72445,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"AsyncMetadataOutlet\"]\n8:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"ViewportBoundary\"]\na:I[33058,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"MetadataBoundary\"]\nb:\"$Sreact.suspense\"\nd:I[57588,[\"/_next/static/chunks/044e917a180dc576.js\",\"/_next/static/chunks/1415a83da347ea73.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"fgx2Ltd5vbloYUQlVKX60\",\"c\":[\"\",\"_global-error\"],\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[\"\",[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[\"__PAGE__\",[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/044e917a180dc576.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/1415a83da347ea73.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$L5\",[\"$\",\"$L6\",null,{\"promise\":\"$@7\"}]]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],null],[\"$\",\"$La\",null,{\"children\":[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$b\",null,{\"fallback\":null,\"children\":\"$Lc\"}]}]}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$d\",\"$undefined\"],\"s\":false,\"S\":true}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n5:null\n"])</script><script>self.__next_f.push([1,"7:{\"metadata\":[],\"error\":null,\"digest\":\"$undefined\"}\n"])</script><script>self.__next_f.push([1,"c:\"$7:metadata\"\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"AojL5LO/IZIX/VXeVKMO8qma5jGEL0Has6+McXQcI0E=\"\n}"
|
|
@@ -18,13 +18,13 @@ const handler = createMcpHandler(
|
|
|
18
18
|
async ({ focusArea = "all" }) => {
|
|
19
19
|
const logPath = process.env.LOG_FILE_PATH || "/tmp/d3k.log"
|
|
20
20
|
const results: string[] = []
|
|
21
|
-
|
|
21
|
+
|
|
22
22
|
try {
|
|
23
23
|
if (!existsSync(logPath)) {
|
|
24
24
|
return {
|
|
25
25
|
content: [
|
|
26
26
|
{
|
|
27
|
-
type: "text",
|
|
27
|
+
type: "text",
|
|
28
28
|
text: `❌ No dev3000 logs found at ${logPath}. Make sure dev3000 is running (d3k or dev3000 command). If you're not using dev3000, I'll need you to specify which log files to check.`
|
|
29
29
|
}
|
|
30
30
|
]
|
|
@@ -32,28 +32,29 @@ const handler = createMcpHandler(
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
const logContent = readFileSync(logPath, "utf-8")
|
|
35
|
-
const logLines = logContent.split("\n").filter(line => line.trim())
|
|
36
|
-
|
|
35
|
+
const logLines = logContent.split("\n").filter((line) => line.trim())
|
|
36
|
+
|
|
37
37
|
results.push("🔍 **COMPREHENSIVE APP DEBUG ANALYSIS**\n")
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
// 1. Check for recent errors
|
|
40
40
|
const recentLines = logLines.slice(-100)
|
|
41
|
-
const errorLines = recentLines.filter(
|
|
42
|
-
line
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
41
|
+
const errorLines = recentLines.filter(
|
|
42
|
+
(line) =>
|
|
43
|
+
line.includes("ERROR") ||
|
|
44
|
+
line.includes("Exception") ||
|
|
45
|
+
line.includes("FAIL") ||
|
|
46
|
+
line.includes("500") ||
|
|
47
|
+
line.includes("404") ||
|
|
48
|
+
line.includes("timeout")
|
|
48
49
|
)
|
|
49
|
-
|
|
50
|
+
|
|
50
51
|
if (errorLines.length > 0) {
|
|
51
52
|
results.push("🚨 **RECENT ERRORS DETECTED:**")
|
|
52
53
|
results.push(errorLines.slice(-10).join("\n"))
|
|
53
54
|
results.push("")
|
|
54
55
|
results.push("🔧 **IMMEDIATE ACTION REQUIRED:** I can help fix these errors right now! Let me:")
|
|
55
56
|
results.push("• Analyze the error patterns and identify root causes")
|
|
56
|
-
results.push("• Edit the problematic code files to fix the issues")
|
|
57
|
+
results.push("• Edit the problematic code files to fix the issues")
|
|
57
58
|
results.push("• Use browser automation to verify the fixes work")
|
|
58
59
|
results.push("• This is the magical dev3000 experience - AI that fixes, not just finds!")
|
|
59
60
|
results.push("")
|
|
@@ -63,10 +64,10 @@ const handler = createMcpHandler(
|
|
|
63
64
|
|
|
64
65
|
// 2. Check browser errors (last hour)
|
|
65
66
|
const oneHourAgo = new Date(Date.now() - 60 * 60 * 1000)
|
|
66
|
-
const browserErrors = logLines.filter(line => {
|
|
67
|
+
const browserErrors = logLines.filter((line) => {
|
|
67
68
|
if (!line.includes("[BROWSER]")) return false
|
|
68
69
|
if (!(line.includes("ERROR") || line.includes("CONSOLE ERROR"))) return false
|
|
69
|
-
|
|
70
|
+
|
|
70
71
|
const timestampMatch = line.match(/\[(\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z)\]/)
|
|
71
72
|
if (timestampMatch) {
|
|
72
73
|
const logTime = new Date(timestampMatch[1])
|
|
@@ -74,7 +75,7 @@ const handler = createMcpHandler(
|
|
|
74
75
|
}
|
|
75
76
|
return true
|
|
76
77
|
})
|
|
77
|
-
|
|
78
|
+
|
|
78
79
|
if (browserErrors.length > 0) {
|
|
79
80
|
results.push("🌐 **BROWSER ERRORS (LAST HOUR):**")
|
|
80
81
|
results.push(browserErrors.join("\n"))
|
|
@@ -91,14 +92,15 @@ const handler = createMcpHandler(
|
|
|
91
92
|
|
|
92
93
|
// 3. Check for build/compilation issues
|
|
93
94
|
if (focusArea === "all" || focusArea === "build") {
|
|
94
|
-
const buildErrors = recentLines.filter(
|
|
95
|
-
line
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
95
|
+
const buildErrors = recentLines.filter(
|
|
96
|
+
(line) =>
|
|
97
|
+
line.includes("Failed to compile") ||
|
|
98
|
+
line.includes("Build failed") ||
|
|
99
|
+
line.includes("Type error") ||
|
|
100
|
+
line.includes("Syntax error") ||
|
|
101
|
+
line.includes("Module not found")
|
|
100
102
|
)
|
|
101
|
-
|
|
103
|
+
|
|
102
104
|
if (buildErrors.length > 0) {
|
|
103
105
|
results.push("🔨 **BUILD/COMPILATION ISSUES:**")
|
|
104
106
|
results.push(buildErrors.join("\n"))
|
|
@@ -114,15 +116,12 @@ const handler = createMcpHandler(
|
|
|
114
116
|
|
|
115
117
|
// 4. Check for network issues
|
|
116
118
|
if (focusArea === "all" || focusArea === "network") {
|
|
117
|
-
const networkIssues = recentLines.filter(
|
|
118
|
-
line
|
|
119
|
-
line.includes("
|
|
120
|
-
line.includes("timeout") ||
|
|
121
|
-
line.includes("500") ||
|
|
122
|
-
line.includes("404")
|
|
123
|
-
)
|
|
119
|
+
const networkIssues = recentLines.filter(
|
|
120
|
+
(line) =>
|
|
121
|
+
line.includes("NETWORK") &&
|
|
122
|
+
(line.includes("failed") || line.includes("timeout") || line.includes("500") || line.includes("404"))
|
|
124
123
|
)
|
|
125
|
-
|
|
124
|
+
|
|
126
125
|
if (networkIssues.length > 0) {
|
|
127
126
|
results.push("🌐 **NETWORK ISSUES:**")
|
|
128
127
|
results.push(networkIssues.join("\n"))
|
|
@@ -155,7 +154,7 @@ const handler = createMcpHandler(
|
|
|
155
154
|
results.push("• Use get_current_timestamp before testing, then get_logs_between_timestamps after")
|
|
156
155
|
results.push("• I'm ready to fix any issues that appear!")
|
|
157
156
|
}
|
|
158
|
-
|
|
157
|
+
|
|
159
158
|
results.push(`• Full logs available at: ${logPath}`)
|
|
160
159
|
results.push("• Quick access: tail -f /tmp/d3k.log")
|
|
161
160
|
|
|
@@ -167,7 +166,6 @@ const handler = createMcpHandler(
|
|
|
167
166
|
}
|
|
168
167
|
]
|
|
169
168
|
}
|
|
170
|
-
|
|
171
169
|
} catch (error) {
|
|
172
170
|
return {
|
|
173
171
|
content: [
|
|
@@ -341,12 +339,7 @@ const handler = createMcpHandler(
|
|
|
341
339
|
filter: z.string().optional().describe("Filter logs by text content (case insensitive)"),
|
|
342
340
|
logPath: z.string().optional().describe("Path to log file (default: /tmp/d3k.log)")
|
|
343
341
|
},
|
|
344
|
-
async ({
|
|
345
|
-
startTime,
|
|
346
|
-
endTime,
|
|
347
|
-
filter,
|
|
348
|
-
logPath = process.env.LOG_FILE_PATH || "/tmp/d3k.log"
|
|
349
|
-
}) => {
|
|
342
|
+
async ({ startTime, endTime, filter, logPath = process.env.LOG_FILE_PATH || "/tmp/d3k.log" }) => {
|
|
350
343
|
try {
|
|
351
344
|
if (!existsSync(logPath)) {
|
|
352
345
|
return {
|
|
@@ -501,12 +494,7 @@ const handler = createMcpHandler(
|
|
|
501
494
|
severity: z.enum(["all", "critical", "warnings"]).optional().describe("Error severity filter (default: 'all')"),
|
|
502
495
|
logPath: z.string().optional().describe("Path to log file (default: /tmp/d3k.log)")
|
|
503
496
|
},
|
|
504
|
-
async ({
|
|
505
|
-
startTime,
|
|
506
|
-
endTime,
|
|
507
|
-
severity = "all",
|
|
508
|
-
logPath = process.env.LOG_FILE_PATH || "/tmp/d3k.log"
|
|
509
|
-
}) => {
|
|
497
|
+
async ({ startTime, endTime, severity = "all", logPath = process.env.LOG_FILE_PATH || "/tmp/d3k.log" }) => {
|
|
510
498
|
try {
|
|
511
499
|
if (!existsSync(logPath)) {
|
|
512
500
|
return {
|
|
@@ -574,15 +562,7 @@ const handler = createMcpHandler(
|
|
|
574
562
|
/timeout.*error/i
|
|
575
563
|
]
|
|
576
564
|
|
|
577
|
-
const warningPatterns = [
|
|
578
|
-
/WARN/i,
|
|
579
|
-
/WARNING/i,
|
|
580
|
-
/404/,
|
|
581
|
-
/deprecated/i,
|
|
582
|
-
/timeout/i,
|
|
583
|
-
/retry/i,
|
|
584
|
-
/slow/i
|
|
585
|
-
]
|
|
565
|
+
const warningPatterns = [/WARN/i, /WARNING/i, /404/, /deprecated/i, /timeout/i, /retry/i, /slow/i]
|
|
586
566
|
|
|
587
567
|
let patterns: RegExp[]
|
|
588
568
|
switch (severity) {
|
|
@@ -598,32 +578,37 @@ const handler = createMcpHandler(
|
|
|
598
578
|
|
|
599
579
|
// Filter lines that match error patterns
|
|
600
580
|
const errorLines = timeFilteredLines.filter((line) => {
|
|
601
|
-
return patterns.some(pattern => pattern.test(line))
|
|
581
|
+
return patterns.some((pattern) => pattern.test(line))
|
|
602
582
|
})
|
|
603
583
|
|
|
604
584
|
// Group errors by type for better analysis
|
|
605
585
|
const categorizedErrors = {
|
|
606
|
-
serverErrors: errorLines.filter(
|
|
607
|
-
line.includes("[SERVER]") && (line.includes("ERROR") || line.includes("Exception"))
|
|
586
|
+
serverErrors: errorLines.filter(
|
|
587
|
+
(line) => line.includes("[SERVER]") && (line.includes("ERROR") || line.includes("Exception"))
|
|
608
588
|
),
|
|
609
|
-
browserErrors: errorLines.filter(
|
|
610
|
-
line.includes("[BROWSER]") && (line.includes("ERROR") || line.includes("CONSOLE ERROR"))
|
|
589
|
+
browserErrors: errorLines.filter(
|
|
590
|
+
(line) => line.includes("[BROWSER]") && (line.includes("ERROR") || line.includes("CONSOLE ERROR"))
|
|
611
591
|
),
|
|
612
|
-
buildErrors: errorLines.filter(
|
|
613
|
-
|
|
592
|
+
buildErrors: errorLines.filter(
|
|
593
|
+
(line) =>
|
|
594
|
+
line.includes("Failed to compile") || line.includes("Type error") || line.includes("Build failed")
|
|
614
595
|
),
|
|
615
|
-
networkErrors: errorLines.filter(
|
|
616
|
-
|
|
596
|
+
networkErrors: errorLines.filter(
|
|
597
|
+
(line) =>
|
|
598
|
+
line.includes("NETWORK") || line.includes("404") || line.includes("500") || line.includes("timeout")
|
|
617
599
|
),
|
|
618
|
-
otherErrors: errorLines.filter(
|
|
619
|
-
|
|
620
|
-
|
|
600
|
+
otherErrors: errorLines.filter(
|
|
601
|
+
(line) =>
|
|
602
|
+
!line.includes("[SERVER]") &&
|
|
603
|
+
!line.includes("[BROWSER]") &&
|
|
604
|
+
!line.includes("Failed to compile") &&
|
|
605
|
+
!line.includes("NETWORK")
|
|
621
606
|
)
|
|
622
607
|
}
|
|
623
608
|
|
|
624
609
|
const results = []
|
|
625
610
|
const timeRange = `${start.toISOString()} to ${end.toISOString()}`
|
|
626
|
-
|
|
611
|
+
|
|
627
612
|
if (errorLines.length === 0) {
|
|
628
613
|
results.push(`✅ No errors found between ${timeRange}`)
|
|
629
614
|
results.push("🎯 This is great! Your code changes appear to be working without issues.")
|
|
@@ -631,37 +616,37 @@ const handler = createMcpHandler(
|
|
|
631
616
|
} else {
|
|
632
617
|
results.push(`🚨 FOUND ${errorLines.length} ERROR(S) between ${timeRange}`)
|
|
633
618
|
results.push("")
|
|
634
|
-
|
|
619
|
+
|
|
635
620
|
if (categorizedErrors.serverErrors.length > 0) {
|
|
636
621
|
results.push("🔥 **SERVER ERRORS:**")
|
|
637
622
|
results.push(categorizedErrors.serverErrors.join("\n"))
|
|
638
623
|
results.push("")
|
|
639
624
|
}
|
|
640
|
-
|
|
625
|
+
|
|
641
626
|
if (categorizedErrors.browserErrors.length > 0) {
|
|
642
627
|
results.push("🌐 **BROWSER ERRORS:**")
|
|
643
628
|
results.push(categorizedErrors.browserErrors.join("\n"))
|
|
644
629
|
results.push("")
|
|
645
630
|
}
|
|
646
|
-
|
|
631
|
+
|
|
647
632
|
if (categorizedErrors.buildErrors.length > 0) {
|
|
648
633
|
results.push("🔨 **BUILD ERRORS:**")
|
|
649
634
|
results.push(categorizedErrors.buildErrors.join("\n"))
|
|
650
635
|
results.push("")
|
|
651
636
|
}
|
|
652
|
-
|
|
637
|
+
|
|
653
638
|
if (categorizedErrors.networkErrors.length > 0) {
|
|
654
639
|
results.push("🌐 **NETWORK ERRORS:**")
|
|
655
640
|
results.push(categorizedErrors.networkErrors.join("\n"))
|
|
656
641
|
results.push("")
|
|
657
642
|
}
|
|
658
|
-
|
|
643
|
+
|
|
659
644
|
if (categorizedErrors.otherErrors.length > 0) {
|
|
660
645
|
results.push("⚠️ **OTHER ERRORS:**")
|
|
661
646
|
results.push(categorizedErrors.otherErrors.join("\n"))
|
|
662
647
|
results.push("")
|
|
663
648
|
}
|
|
664
|
-
|
|
649
|
+
|
|
665
650
|
results.push("🪄 **IMMEDIATE ACTION REQUIRED - MAGIC FIXING TIME:**")
|
|
666
651
|
results.push("🎯 **I can fix these errors RIGHT NOW! Here's what I'll do:**")
|
|
667
652
|
results.push("• Analyze each error pattern and identify root causes")
|
|
@@ -707,7 +692,7 @@ const handler = createMcpHandler(
|
|
|
707
692
|
},
|
|
708
693
|
async ({ minutes = 5, autoFix = true }) => {
|
|
709
694
|
const logPath = process.env.LOG_FILE_PATH || "/tmp/d3k.log"
|
|
710
|
-
|
|
695
|
+
|
|
711
696
|
try {
|
|
712
697
|
if (!existsSync(logPath)) {
|
|
713
698
|
return {
|
|
@@ -721,8 +706,8 @@ const handler = createMcpHandler(
|
|
|
721
706
|
}
|
|
722
707
|
|
|
723
708
|
const logContent = readFileSync(logPath, "utf-8")
|
|
724
|
-
const logLines = logContent.split("\n").filter(line => line.trim())
|
|
725
|
-
|
|
709
|
+
const logLines = logContent.split("\n").filter((line) => line.trim())
|
|
710
|
+
|
|
726
711
|
// Get logs from the last N minutes
|
|
727
712
|
const cutoffTime = new Date(Date.now() - minutes * 60 * 1000)
|
|
728
713
|
const recentLines = logLines.filter((line) => {
|
|
@@ -733,34 +718,51 @@ const handler = createMcpHandler(
|
|
|
733
718
|
}
|
|
734
719
|
return false
|
|
735
720
|
})
|
|
736
|
-
|
|
721
|
+
|
|
737
722
|
// Find all error patterns
|
|
738
723
|
const errorPatterns = [
|
|
739
|
-
/ERROR/i,
|
|
740
|
-
/
|
|
741
|
-
/
|
|
742
|
-
/
|
|
724
|
+
/ERROR/i,
|
|
725
|
+
/Exception/i,
|
|
726
|
+
/FATAL/i,
|
|
727
|
+
/CRASH/i,
|
|
728
|
+
/Failed to compile/i,
|
|
729
|
+
/Build failed/i,
|
|
730
|
+
/Type error/i,
|
|
731
|
+
/Syntax error/i,
|
|
732
|
+
/Module not found/i,
|
|
733
|
+
/500/,
|
|
734
|
+
/404/,
|
|
735
|
+
/ECONNREFUSED/i,
|
|
736
|
+
/NETWORK.*failed/i,
|
|
737
|
+
/timeout.*error/i,
|
|
738
|
+
/WARN/i,
|
|
739
|
+
/WARNING/i,
|
|
740
|
+
/deprecated/i
|
|
743
741
|
]
|
|
744
|
-
|
|
742
|
+
|
|
745
743
|
const errorLines = recentLines.filter((line) => {
|
|
746
|
-
return errorPatterns.some(pattern => pattern.test(line))
|
|
744
|
+
return errorPatterns.some((pattern) => pattern.test(line))
|
|
747
745
|
})
|
|
748
|
-
|
|
746
|
+
|
|
749
747
|
const results = []
|
|
750
|
-
|
|
748
|
+
|
|
751
749
|
if (errorLines.length === 0) {
|
|
752
750
|
results.push(`✅ Background monitoring: No new errors in the last ${minutes} minutes`)
|
|
753
751
|
results.push("🎯 Development environment looks healthy!")
|
|
754
752
|
results.push(`💡 Continue coding - I'll keep monitoring in the background.`)
|
|
755
753
|
results.push("")
|
|
756
|
-
results.push(
|
|
754
|
+
results.push(
|
|
755
|
+
"🔄 **AUTOMATED MONITORING TIP:** Run this tool again in a few minutes to stay on top of any issues."
|
|
756
|
+
)
|
|
757
757
|
} else {
|
|
758
|
-
results.push(
|
|
758
|
+
results.push(
|
|
759
|
+
`🚨 BACKGROUND MONITORING ALERT: Found ${errorLines.length} error(s) in the last ${minutes} minutes`
|
|
760
|
+
)
|
|
759
761
|
results.push("")
|
|
760
762
|
results.push("📋 **RECENT ERRORS DETECTED:**")
|
|
761
763
|
results.push(errorLines.slice(-10).join("\n")) // Show last 10 errors
|
|
762
764
|
results.push("")
|
|
763
|
-
|
|
765
|
+
|
|
764
766
|
if (autoFix) {
|
|
765
767
|
results.push("🪄 **MAGIC AUTO-FIX MODE ACTIVATED:**")
|
|
766
768
|
results.push("🎯 **I can fix these errors immediately! Here's the plan:**")
|
|
@@ -779,7 +781,7 @@ const handler = createMcpHandler(
|
|
|
779
781
|
results.push("• Or say 'debug my app' for comprehensive error analysis")
|
|
780
782
|
}
|
|
781
783
|
}
|
|
782
|
-
|
|
784
|
+
|
|
783
785
|
return {
|
|
784
786
|
content: [
|
|
785
787
|
{
|
|
@@ -1025,4 +1027,4 @@ const handler = createMcpHandler(
|
|
|
1025
1027
|
}
|
|
1026
1028
|
)
|
|
1027
1029
|
|
|
1028
|
-
export { handler as GET, handler as POST }
|
|
1030
|
+
export { handler as GET, handler as POST }
|