claude-mpm 4.1.27__py3-none-any.whl → 4.1.29__py3-none-any.whl
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.
- claude_mpm/VERSION +1 -1
- claude_mpm/services/socketio/handlers/code_analysis.py +31 -9
- claude_mpm/tools/code_tree_analyzer.py +5 -2
- {claude_mpm-4.1.27.dist-info → claude_mpm-4.1.29.dist-info}/METADATA +1 -1
- {claude_mpm-4.1.27.dist-info → claude_mpm-4.1.29.dist-info}/RECORD +9 -9
- {claude_mpm-4.1.27.dist-info → claude_mpm-4.1.29.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.27.dist-info → claude_mpm-4.1.29.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.27.dist-info → claude_mpm-4.1.29.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.27.dist-info → claude_mpm-4.1.29.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.1.
|
|
1
|
+
4.1.29
|
|
@@ -266,7 +266,9 @@ class CodeAnalysisEventHandler(BaseEventHandler):
|
|
|
266
266
|
emitter.emit = socket_emit
|
|
267
267
|
# Initialize CodeTreeAnalyzer with emitter keyword argument
|
|
268
268
|
self.logger.info("Creating CodeTreeAnalyzer")
|
|
269
|
-
|
|
269
|
+
# Pass emit_events=False to prevent duplicate events from the analyzer
|
|
270
|
+
# The emitter will still work but the analyzer won't create its own stdout emitter
|
|
271
|
+
self.code_analyzer = CodeTreeAnalyzer(emit_events=False, emitter=emitter)
|
|
270
272
|
|
|
271
273
|
# Use the provided path as-is - the frontend sends the absolute path
|
|
272
274
|
# Make sure we're using an absolute path
|
|
@@ -452,7 +454,9 @@ class CodeAnalysisEventHandler(BaseEventHandler):
|
|
|
452
454
|
emitter.emit = socket_emit
|
|
453
455
|
# Initialize CodeTreeAnalyzer with emitter keyword argument
|
|
454
456
|
self.logger.info("Creating CodeTreeAnalyzer")
|
|
455
|
-
|
|
457
|
+
# Pass emit_events=False to prevent duplicate events from the analyzer
|
|
458
|
+
# The emitter will still work but the analyzer won't create its own stdout emitter
|
|
459
|
+
self.code_analyzer = CodeTreeAnalyzer(emit_events=False, emitter=emitter)
|
|
456
460
|
|
|
457
461
|
# Discover directory
|
|
458
462
|
result = self.code_analyzer.discover_directory(path, ignore_patterns)
|
|
@@ -462,17 +466,33 @@ class CodeAnalysisEventHandler(BaseEventHandler):
|
|
|
462
466
|
f"Discovery result for {path}: {len(result.get('children', []))} children found"
|
|
463
467
|
)
|
|
464
468
|
self.logger.debug(f"Full result: {result}")
|
|
469
|
+
|
|
470
|
+
# DEBUG: Log exact children being sent
|
|
471
|
+
children = result.get('children', [])
|
|
472
|
+
if children:
|
|
473
|
+
self.logger.info(f"Children being sent: {[child.get('name') for child in children]}")
|
|
474
|
+
self.logger.info(f"Full children data: {children}")
|
|
475
|
+
else:
|
|
476
|
+
self.logger.warning(f"No children found for {path}")
|
|
477
|
+
|
|
478
|
+
# Prepare the response data
|
|
479
|
+
response_data = {
|
|
480
|
+
"request_id": request_id,
|
|
481
|
+
"path": path, # Absolute path as requested
|
|
482
|
+
"name": Path(path).name, # Just the directory name for display
|
|
483
|
+
"type": result.get("type", "directory"),
|
|
484
|
+
"children": children, # Send children array directly
|
|
485
|
+
}
|
|
486
|
+
|
|
487
|
+
# Log the exact data being sent
|
|
488
|
+
self.logger.info(f"Sending response data: {response_data}")
|
|
465
489
|
|
|
466
490
|
# Send result with correct event name (using colons, not dots!)
|
|
467
491
|
# Include both absolute path and relative name for frontend compatibility
|
|
492
|
+
# IMPORTANT: Don't use **result as it overwrites path and name
|
|
468
493
|
await self.server.core.sio.emit(
|
|
469
494
|
"code:directory:discovered",
|
|
470
|
-
|
|
471
|
-
"request_id": request_id,
|
|
472
|
-
"path": path, # Absolute path as requested
|
|
473
|
-
"name": Path(path).name, # Just the directory name for display
|
|
474
|
-
**result,
|
|
475
|
-
},
|
|
495
|
+
response_data,
|
|
476
496
|
room=sid,
|
|
477
497
|
)
|
|
478
498
|
|
|
@@ -592,7 +612,9 @@ class CodeAnalysisEventHandler(BaseEventHandler):
|
|
|
592
612
|
emitter.emit = socket_emit
|
|
593
613
|
# Initialize CodeTreeAnalyzer with emitter keyword argument
|
|
594
614
|
self.logger.info("Creating CodeTreeAnalyzer")
|
|
595
|
-
|
|
615
|
+
# Pass emit_events=False to prevent duplicate events from the analyzer
|
|
616
|
+
# The emitter will still work but the analyzer won't create its own stdout emitter
|
|
617
|
+
self.code_analyzer = CodeTreeAnalyzer(emit_events=False, emitter=emitter)
|
|
596
618
|
|
|
597
619
|
# Analyze file
|
|
598
620
|
result = self.code_analyzer.analyze_file(path)
|
|
@@ -1361,8 +1361,11 @@ class CodeTreeAnalyzer:
|
|
|
1361
1361
|
}
|
|
1362
1362
|
result["children"].append(child)
|
|
1363
1363
|
|
|
1364
|
-
|
|
1365
|
-
|
|
1364
|
+
# Don't emit directory discovered event here with empty children
|
|
1365
|
+
# The actual discovery will happen when the directory is clicked
|
|
1366
|
+
# This prevents confusing the frontend with empty directory events
|
|
1367
|
+
# if self.emitter:
|
|
1368
|
+
# self.emitter.emit_directory_discovered(path_str, [])
|
|
1366
1369
|
|
|
1367
1370
|
elif item.is_file():
|
|
1368
1371
|
# Check if it's a supported code file or a special file we want to show
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
|
|
2
|
-
claude_mpm/VERSION,sha256
|
|
2
|
+
claude_mpm/VERSION,sha256=-7n3E--as6Cmm3BkDPNk6Kf7LKwE7uWT9vf1qJ85D-I,7
|
|
3
3
|
claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
|
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
|
5
5
|
claude_mpm/constants.py,sha256=I946iCQzIIPRZVVJ8aO7lA4euiyDnNw2IX7EelAOkIE,5915
|
|
@@ -541,7 +541,7 @@ claude_mpm/services/socketio/event_normalizer.py,sha256=TlhZbLgb6fSFNXNAZEEbGxHO
|
|
|
541
541
|
claude_mpm/services/socketio/migration_utils.py,sha256=1pK_zGZ8Pd57pCg1O-3gKT8i7_fjEKZ377hxOMGUPQQ,11963
|
|
542
542
|
claude_mpm/services/socketio/handlers/__init__.py,sha256=lGYFfn5P1eB6ri3HAPuDJMfdCfHIw6mQEbweAihNuHY,873
|
|
543
543
|
claude_mpm/services/socketio/handlers/base.py,sha256=DjUODCOLTQSsC_-NP9yr-8g77arawmsRrM5KC06aDmw,4845
|
|
544
|
-
claude_mpm/services/socketio/handlers/code_analysis.py,sha256
|
|
544
|
+
claude_mpm/services/socketio/handlers/code_analysis.py,sha256=-Q2Xw5tSGwkbCzxfrYYDrl05hdVSUryjp41Qgm8ogCk,24962
|
|
545
545
|
claude_mpm/services/socketio/handlers/connection.py,sha256=sa6Rg5Y9tcf-e4PEb6f4fNhFQcpZ9WbwdiGXmkzlFTs,26781
|
|
546
546
|
claude_mpm/services/socketio/handlers/connection_handler.py,sha256=DTY0pa--HQu4C6-WCgE1zskvHm3gVuEKWwaSFNBAoec,13287
|
|
547
547
|
claude_mpm/services/socketio/handlers/file.py,sha256=itpPa5OAow5_OXrTOXk0vsyuEYm4iVmxwN9xowy7jiY,8341
|
|
@@ -574,7 +574,7 @@ claude_mpm/storage/__init__.py,sha256=DXnmee6iGqC6ctFLW7_Ty1cVCjYDFuCMkwO4EV0i25
|
|
|
574
574
|
claude_mpm/storage/state_storage.py,sha256=1fFqkFy63T32JQvhUdVBNhaLQyUlkq4unjeyl0Z6j8I,16865
|
|
575
575
|
claude_mpm/tools/__init__.py,sha256=T3GuCYNAHtjVcKCeivY674PaDm48WX96AriQfTKUknY,347
|
|
576
576
|
claude_mpm/tools/__main__.py,sha256=MKDuxFuujqD5FZcLTqniDNQ2BI8yg5fDSLU3ElV6m6U,5709
|
|
577
|
-
claude_mpm/tools/code_tree_analyzer.py,sha256=
|
|
577
|
+
claude_mpm/tools/code_tree_analyzer.py,sha256=BPxiJw_radcRny45FseKucSN-EwFm7gw-y78u4KmKKw,60212
|
|
578
578
|
claude_mpm/tools/code_tree_builder.py,sha256=gwnsFO5ajs55UzX3SU34OMZBwhjouruQhGdQ3fJHjeA,18126
|
|
579
579
|
claude_mpm/tools/code_tree_events.py,sha256=ypUmxQRUpxQt2LQfXV_qpdL42KNvLO-K5XstxZIj9-w,13277
|
|
580
580
|
claude_mpm/tools/socketio_debug.py,sha256=H0mKHO6EIYqCVm4YU-SJ4Cw8ssA7VqJ3vU7y6eF7brk,22212
|
|
@@ -598,9 +598,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
|
|
|
598
598
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
599
599
|
claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
|
|
600
600
|
claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
|
|
601
|
-
claude_mpm-4.1.
|
|
602
|
-
claude_mpm-4.1.
|
|
603
|
-
claude_mpm-4.1.
|
|
604
|
-
claude_mpm-4.1.
|
|
605
|
-
claude_mpm-4.1.
|
|
606
|
-
claude_mpm-4.1.
|
|
601
|
+
claude_mpm-4.1.29.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
|
602
|
+
claude_mpm-4.1.29.dist-info/METADATA,sha256=coxnHcQeW13BV-xXUbcN818cufh7MNEoof3I7hV-Rn0,13777
|
|
603
|
+
claude_mpm-4.1.29.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
604
|
+
claude_mpm-4.1.29.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
|
|
605
|
+
claude_mpm-4.1.29.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
606
|
+
claude_mpm-4.1.29.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|