claude-mpm 4.1.28__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 +26 -12
- claude_mpm/tools/code_tree_analyzer.py +5 -2
- {claude_mpm-4.1.28.dist-info → claude_mpm-4.1.29.dist-info}/METADATA +1 -1
- {claude_mpm-4.1.28.dist-info → claude_mpm-4.1.29.dist-info}/RECORD +9 -9
- {claude_mpm-4.1.28.dist-info → claude_mpm-4.1.29.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.28.dist-info → claude_mpm-4.1.29.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.1.28.dist-info → claude_mpm-4.1.29.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.28.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)
|
|
@@ -464,23 +468,31 @@ class CodeAnalysisEventHandler(BaseEventHandler):
|
|
|
464
468
|
self.logger.debug(f"Full result: {result}")
|
|
465
469
|
|
|
466
470
|
# DEBUG: Log exact children being sent
|
|
467
|
-
|
|
468
|
-
|
|
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}")
|
|
469
475
|
else:
|
|
470
476
|
self.logger.warning(f"No children found for {path}")
|
|
471
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}")
|
|
489
|
+
|
|
472
490
|
# Send result with correct event name (using colons, not dots!)
|
|
473
491
|
# Include both absolute path and relative name for frontend compatibility
|
|
474
492
|
# IMPORTANT: Don't use **result as it overwrites path and name
|
|
475
493
|
await self.server.core.sio.emit(
|
|
476
494
|
"code:directory:discovered",
|
|
477
|
-
|
|
478
|
-
"request_id": request_id,
|
|
479
|
-
"path": path, # Absolute path as requested
|
|
480
|
-
"name": Path(path).name, # Just the directory name for display
|
|
481
|
-
"type": result.get("type", "directory"),
|
|
482
|
-
"children": result.get("children", []), # Send children array directly
|
|
483
|
-
},
|
|
495
|
+
response_data,
|
|
484
496
|
room=sid,
|
|
485
497
|
)
|
|
486
498
|
|
|
@@ -600,7 +612,9 @@ class CodeAnalysisEventHandler(BaseEventHandler):
|
|
|
600
612
|
emitter.emit = socket_emit
|
|
601
613
|
# Initialize CodeTreeAnalyzer with emitter keyword argument
|
|
602
614
|
self.logger.info("Creating CodeTreeAnalyzer")
|
|
603
|
-
|
|
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)
|
|
604
618
|
|
|
605
619
|
# Analyze file
|
|
606
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
|