dev3000 0.0.75 → 0.0.76

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 (23) hide show
  1. package/mcp-server/.next/BUILD_ID +1 -1
  2. package/mcp-server/.next/build-manifest.json +2 -2
  3. package/mcp-server/.next/fallback-build-manifest.json +2 -2
  4. package/mcp-server/.next/prerender-manifest.json +3 -3
  5. package/mcp-server/.next/server/app/_global-error.html +2 -2
  6. package/mcp-server/.next/server/app/_global-error.rsc +1 -1
  7. package/mcp-server/.next/server/app/_not-found.html +1 -1
  8. package/mcp-server/.next/server/app/_not-found.rsc +1 -1
  9. package/mcp-server/.next/server/app/index.html +1 -1
  10. package/mcp-server/.next/server/app/index.rsc +1 -1
  11. package/mcp-server/.next/server/app/mcp/route.js +2 -2
  12. package/mcp-server/.next/server/app/mcp/route.js.nft.json +1 -1
  13. package/mcp-server/.next/server/chunks/[root-of-the-server]__270b33b7._.js +30 -5
  14. package/mcp-server/.next/server/chunks/[root-of-the-server]__270b33b7._.js.map +1 -1
  15. package/mcp-server/.next/server/chunks/{[root-of-the-server]__6fa7ea53._.js → [root-of-the-server]__2942c072._.js} +2 -2
  16. package/mcp-server/.next/server/server-reference-manifest.js +1 -1
  17. package/mcp-server/.next/server/server-reference-manifest.json +1 -1
  18. package/mcp-server/app/mcp/tools.ts +63 -13
  19. package/package.json +1 -1
  20. /package/mcp-server/.next/server/chunks/{[root-of-the-server]__6fa7ea53._.js.map → [root-of-the-server]__2942c072._.js.map} +0 -0
  21. /package/mcp-server/.next/static/{Uhi1zQoeqTo0Q0A7NvQ69 → SDKkQ5XdHwJr8jB5PJj7F}/_buildManifest.js +0 -0
  22. /package/mcp-server/.next/static/{Uhi1zQoeqTo0Q0A7NvQ69 → SDKkQ5XdHwJr8jB5PJj7F}/_clientMiddlewareManifest.json +0 -0
  23. /package/mcp-server/.next/static/{Uhi1zQoeqTo0Q0A7NvQ69 → SDKkQ5XdHwJr8jB5PJj7F}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},2603,e=>{e.v(e=>Promise.resolve().then(()=>e(56891)))}];
1
+ module.exports=[93695,(e,r,t)=>{r.exports=e.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},22734,(e,r,t)=>{r.exports=e.x("fs",()=>require("fs"))},18622,(e,r,t)=>{r.exports=e.x("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js",()=>require("next/dist/compiled/next-server/app-page-turbo.runtime.prod.js"))},56704,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-async-storage.external.js",()=>require("next/dist/server/app-render/work-async-storage.external.js"))},32319,(e,r,t)=>{r.exports=e.x("next/dist/server/app-render/work-unit-async-storage.external.js",()=>require("next/dist/server/app-render/work-unit-async-storage.external.js"))},70406,(e,r,t)=>{r.exports=e.x("next/dist/compiled/@opentelemetry/api",()=>require("next/dist/compiled/@opentelemetry/api"))},14747,(e,r,t)=>{r.exports=e.x("path",()=>require("path"))},24361,(e,r,t)=>{r.exports=e.x("util",()=>require("util"))},46786,(e,r,t)=>{r.exports=e.x("os",()=>require("os"))},23970,e=>{e.v(e=>Promise.resolve().then(()=>e(22734)))},2603,e=>{e.v(e=>Promise.resolve().then(()=>e(56891)))}];
2
2
 
3
- //# sourceMappingURL=%5Broot-of-the-server%5D__6fa7ea53._.js.map
3
+ //# sourceMappingURL=%5Broot-of-the-server%5D__2942c072._.js.map
@@ -1 +1 @@
1
- self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"s5TVfL5OBasOeybfToxrjdnFVIMP/U7kKUWxCUt9sq4=\"\n}"
1
+ self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"BcTR9JuxYIHF6hk1XeS0P7l1a9EX7k1RhlLLMSGM668=\"\n}"
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "node": {},
3
3
  "edge": {},
4
- "encryptionKey": "s5TVfL5OBasOeybfToxrjdnFVIMP/U7kKUWxCUt9sq4="
4
+ "encryptionKey": "BcTR9JuxYIHF6hk1XeS0P7l1a9EX7k1RhlLLMSGM668="
5
5
  }
@@ -906,25 +906,37 @@ const NEXTJS_DEV_CAPABILITY_MAP: Record<string, { function: string; reason: stri
906
906
  * Check if chrome-devtools MCP is available and can handle the requested action
907
907
  */
908
908
  async function canDelegateToChromeDevtools(action: string): Promise<boolean> {
909
- // First check if the action is mappable to chrome-devtools
910
- if (!CHROME_DEVTOOLS_CAPABILITY_MAP[action]) {
909
+ try {
910
+ // First check if the action is mappable to chrome-devtools
911
+ if (!CHROME_DEVTOOLS_CAPABILITY_MAP[action]) {
912
+ return false
913
+ }
914
+
915
+ // Only look for dev3000's own configured chrome-devtools MCP
916
+ const availableMcps = await discoverAvailableMcps()
917
+
918
+ // Check for dev3000's own configured chrome-devtools MCP
919
+ return availableMcps.includes("dev3000-chrome-devtools")
920
+ } catch (error) {
921
+ logToDevFile(`Chrome DevTools delegation check failed: ${error}`)
911
922
  return false
912
923
  }
913
-
914
- // dev3000 cannot reliably detect its own configured MCPs in Claude Code
915
- // Return false to disable auto-delegation - users can manually use the MCPs
916
- logToDevFile(`Chrome DevTools delegation disabled - cannot verify dev3000-chrome-devtools MCP configuration`)
917
- return false
918
924
  }
919
925
 
920
926
  /**
921
927
  * Check if nextjs-dev MCP is available
922
928
  */
923
929
  async function canDelegateToNextjs(): Promise<boolean> {
924
- // dev3000 cannot reliably detect its own configured MCPs in Claude Code
925
- // Return false to disable auto-delegation - users can manually use the MCPs
926
- logToDevFile(`NextJS delegation disabled - cannot verify dev3000-nextjs-dev MCP configuration`)
927
- return false
930
+ try {
931
+ // Only look for dev3000's own configured nextjs-dev MCP
932
+ const availableMcps = await discoverAvailableMcps()
933
+
934
+ // Check for dev3000's own configured nextjs-dev MCP
935
+ return availableMcps.includes("dev3000-nextjs-dev")
936
+ } catch (error) {
937
+ logToDevFile(`NextJS delegation check failed: ${error}`)
938
+ return false
939
+ }
928
940
  }
929
941
 
930
942
  /**
@@ -1402,9 +1414,47 @@ export async function discoverAvailableMcps(projectName?: string): Promise<strin
1402
1414
  discoveredMcps.add(mcp)
1403
1415
  }
1404
1416
 
1405
- // Method 2: Port pinging (only if process detection found nothing)
1417
+ // Method 2: Check for dev3000-configured MCPs by testing their functionality
1418
+ try {
1419
+ // Test if dev3000-chrome-devtools MCP is working by checking Claude logs
1420
+ const cacheDir = `/Users/${process.env.USER}/Library/Caches/claude-cli-nodejs`
1421
+ const { readdirSync, existsSync } = await import("fs")
1422
+
1423
+ if (existsSync(cacheDir)) {
1424
+ const cacheDirs = readdirSync(cacheDir)
1425
+ const projectDir = cacheDirs.find((dir) => dir.includes(process.cwd().replace(/\//g, "-")))
1426
+
1427
+ if (projectDir) {
1428
+ const projectCacheDir = `${cacheDir}/${projectDir}`
1429
+
1430
+ // Check for chrome-devtools MCP logs
1431
+ const chromeDevtoolsLogDir = `${projectCacheDir}/mcp-logs-dev3000-chrome-devtools`
1432
+ if (existsSync(chromeDevtoolsLogDir)) {
1433
+ const chromeDevtoolsLogs = readdirSync(chromeDevtoolsLogDir)
1434
+ if (chromeDevtoolsLogs.length > 0) {
1435
+ discoveredMcps.add("dev3000-chrome-devtools")
1436
+ logToDevFile("MCP Discovery: Found dev3000-chrome-devtools via Claude cache logs", projectName)
1437
+ }
1438
+ }
1439
+
1440
+ // Check for nextjs-dev MCP logs
1441
+ const nextjsDevLogDir = `${projectCacheDir}/mcp-logs-dev3000-nextjs-dev`
1442
+ if (existsSync(nextjsDevLogDir)) {
1443
+ const nextjsDevLogs = readdirSync(nextjsDevLogDir)
1444
+ if (nextjsDevLogs.length > 0) {
1445
+ discoveredMcps.add("dev3000-nextjs-dev")
1446
+ logToDevFile("MCP Discovery: Found dev3000-nextjs-dev via Claude cache logs", projectName)
1447
+ }
1448
+ }
1449
+ }
1450
+ }
1451
+ } catch (_error) {
1452
+ logToDevFile("MCP Discovery: Claude cache check failed, falling back to port detection", projectName)
1453
+ }
1454
+
1455
+ // Method 3: Port pinging (fallback)
1406
1456
  if (discoveredMcps.size === 0) {
1407
- logToDevFile("MCP Discovery: No MCPs found via process detection, trying port pinging", projectName)
1457
+ logToDevFile("MCP Discovery: No MCPs found via process or cache detection, trying port pinging", projectName)
1408
1458
  const portDetected = await pingMcpPorts()
1409
1459
  for (const mcp of portDetected) {
1410
1460
  discoveredMcps.add(mcp)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dev3000",
3
- "version": "0.0.75",
3
+ "version": "0.0.76",
4
4
  "description": "AI-powered development tools with browser monitoring and MCP server integration",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",