claude-mpm 4.1.10__py3-none-any.whl → 4.1.11__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.
Files changed (48) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/cli/__init__.py +11 -0
  3. claude_mpm/cli/commands/analyze.py +2 -1
  4. claude_mpm/cli/commands/configure.py +9 -8
  5. claude_mpm/cli/commands/configure_tui.py +3 -1
  6. claude_mpm/cli/commands/dashboard.py +288 -0
  7. claude_mpm/cli/commands/debug.py +0 -1
  8. claude_mpm/cli/commands/mpm_init.py +427 -0
  9. claude_mpm/cli/commands/mpm_init_handler.py +83 -0
  10. claude_mpm/cli/parsers/base_parser.py +15 -0
  11. claude_mpm/cli/parsers/dashboard_parser.py +113 -0
  12. claude_mpm/cli/parsers/mpm_init_parser.py +122 -0
  13. claude_mpm/constants.py +10 -0
  14. claude_mpm/dashboard/analysis_runner.py +52 -25
  15. claude_mpm/dashboard/static/built/components/activity-tree.js +1 -1
  16. claude_mpm/dashboard/static/built/components/code-tree.js +2 -0
  17. claude_mpm/dashboard/static/built/components/code-viewer.js +2 -0
  18. claude_mpm/dashboard/static/built/components/event-viewer.js +1 -1
  19. claude_mpm/dashboard/static/built/dashboard.js +1 -1
  20. claude_mpm/dashboard/static/built/socket-client.js +1 -1
  21. claude_mpm/dashboard/static/css/code-tree.css +330 -1
  22. claude_mpm/dashboard/static/dist/components/activity-tree.js +1 -1
  23. claude_mpm/dashboard/static/dist/components/code-tree.js +1 -1
  24. claude_mpm/dashboard/static/dist/components/event-viewer.js +1 -1
  25. claude_mpm/dashboard/static/dist/dashboard.js +1 -1
  26. claude_mpm/dashboard/static/dist/socket-client.js +1 -1
  27. claude_mpm/dashboard/static/js/components/activity-tree.js +212 -13
  28. claude_mpm/dashboard/static/js/components/code-tree.js +1999 -821
  29. claude_mpm/dashboard/static/js/components/event-viewer.js +58 -19
  30. claude_mpm/dashboard/static/js/dashboard.js +15 -3
  31. claude_mpm/dashboard/static/js/socket-client.js +74 -32
  32. claude_mpm/dashboard/templates/index.html +9 -11
  33. claude_mpm/services/agents/memory/memory_format_service.py +3 -1
  34. claude_mpm/services/cli/agent_cleanup_service.py +1 -4
  35. claude_mpm/services/cli/startup_checker.py +0 -1
  36. claude_mpm/services/core/cache_manager.py +0 -1
  37. claude_mpm/services/socketio/event_normalizer.py +64 -0
  38. claude_mpm/services/socketio/handlers/code_analysis.py +502 -0
  39. claude_mpm/services/socketio/server/connection_manager.py +3 -1
  40. claude_mpm/tools/code_tree_analyzer.py +843 -25
  41. claude_mpm/tools/code_tree_builder.py +0 -1
  42. claude_mpm/tools/code_tree_events.py +113 -15
  43. {claude_mpm-4.1.10.dist-info → claude_mpm-4.1.11.dist-info}/METADATA +2 -1
  44. {claude_mpm-4.1.10.dist-info → claude_mpm-4.1.11.dist-info}/RECORD +48 -41
  45. {claude_mpm-4.1.10.dist-info → claude_mpm-4.1.11.dist-info}/WHEEL +0 -0
  46. {claude_mpm-4.1.10.dist-info → claude_mpm-4.1.11.dist-info}/entry_points.txt +0 -0
  47. {claude_mpm-4.1.10.dist-info → claude_mpm-4.1.11.dist-info}/licenses/LICENSE +0 -0
  48. {claude_mpm-4.1.10.dist-info → claude_mpm-4.1.11.dist-info}/top_level.txt +0 -0
@@ -327,7 +327,6 @@ class CodeTreeBuilder:
327
327
  progress_callback,
328
328
  )
329
329
 
330
-
331
330
  def _build_node(
332
331
  self,
333
332
  path: Path,
@@ -7,10 +7,11 @@ WHY: Provides incremental event emission for real-time code tree visualization
7
7
  in the dashboard. Uses Socket.IO to stream events as code is analyzed.
8
8
 
9
9
  DESIGN DECISIONS:
10
+ - Support lazy loading with directory discovery
11
+ - Emit events only for structural elements (directories, files, main functions)
12
+ - Filter out internal functions and handlers
10
13
  - Batch events for performance (emit every 10 nodes or 100ms)
11
- - Include progress tracking for large codebases
12
- - Use structured event format for dashboard consumption
13
- - Support resumable processing with event checkpoints
14
+ - Use clean event subtypes without colons
14
15
  """
15
16
 
16
17
  import json
@@ -29,6 +30,8 @@ except ImportError:
29
30
  SOCKETIO_AVAILABLE = False
30
31
  socketio = None
31
32
 
33
+ from pathlib import Path
34
+
32
35
  from ..core.logging_config import get_logger
33
36
 
34
37
 
@@ -62,14 +65,15 @@ class CodeTreeEventEmitter:
62
65
  the tree building incrementally, providing feedback for large codebases.
63
66
  """
64
67
 
65
- # Event types
66
- EVENT_FILE_START = "code:file:start"
67
- EVENT_FILE_COMPLETE = "code:file:complete"
68
+ # Event types - using underscores for clean subtypes
69
+ EVENT_DIRECTORY_DISCOVERED = "code:directory:discovered"
70
+ EVENT_FILE_DISCOVERED = "code:file:discovered"
71
+ EVENT_FILE_ANALYZED = "code:file:analyzed"
68
72
  EVENT_NODE_FOUND = "code:node:found"
69
73
  EVENT_ANALYSIS_START = "code:analysis:start"
70
74
  EVENT_ANALYSIS_COMPLETE = "code:analysis:complete"
71
- EVENT_PROGRESS = "code:progress"
72
- EVENT_ERROR = "code:error"
75
+ EVENT_PROGRESS = "code:analysis:progress"
76
+ EVENT_ERROR = "code:analysis:error"
73
77
 
74
78
  def __init__(
75
79
  self,
@@ -223,30 +227,111 @@ class CodeTreeEventEmitter:
223
227
  else:
224
228
  self._emit_event(event)
225
229
 
230
+ def emit_directory_discovered(self, dir_path: str, children: List[Dict[str, Any]]):
231
+ """Emit directory discovery event."""
232
+ self.emit(
233
+ self.EVENT_DIRECTORY_DISCOVERED,
234
+ {
235
+ "path": dir_path,
236
+ "name": Path(dir_path).name,
237
+ "children": children,
238
+ "type": "directory",
239
+ },
240
+ )
241
+
242
+ def emit_file_discovered(
243
+ self, file_path: str, language: Optional[str] = None, size: int = 0
244
+ ):
245
+ """Emit file discovery event."""
246
+ self.emit(
247
+ self.EVENT_FILE_DISCOVERED,
248
+ {
249
+ "path": file_path,
250
+ "name": Path(file_path).name,
251
+ "language": language or "unknown",
252
+ "size": size,
253
+ "type": "file",
254
+ },
255
+ )
256
+
226
257
  def emit_file_start(self, file_path: str, language: Optional[str] = None):
227
- """Emit file processing start event."""
258
+ """Emit file analysis start event.
259
+
260
+ WHY: Signals the beginning of file analysis for progress tracking.
261
+ """
228
262
  self.emit(
229
- self.EVENT_FILE_START,
230
- {"file": file_path, "language": language or "unknown"},
263
+ "code:file_start",
264
+ {
265
+ "path": file_path,
266
+ "name": Path(file_path).name,
267
+ "language": language or "unknown",
268
+ "type": "file",
269
+ "status": "analyzing",
270
+ },
231
271
  )
232
272
 
233
273
  def emit_file_complete(
234
274
  self, file_path: str, nodes_count: int = 0, duration: float = 0
235
275
  ):
236
- """Emit file processing complete event."""
276
+ """Emit file analysis complete event.
277
+
278
+ WHY: Signals completion of file analysis with summary statistics.
279
+ """
280
+ self.emit(
281
+ "code:file_complete",
282
+ {
283
+ "path": file_path,
284
+ "name": Path(file_path).name,
285
+ "nodes_count": nodes_count,
286
+ "duration": duration,
287
+ "type": "file",
288
+ "status": "complete",
289
+ },
290
+ )
291
+
292
+ def emit_file_analyzed(
293
+ self, file_path: str, nodes: List[Dict[str, Any]], duration: float = 0
294
+ ):
295
+ """Emit file analysis complete event."""
237
296
  self.stats["files_processed"] += 1
238
297
  self.emit(
239
- self.EVENT_FILE_COMPLETE,
240
- {"file": file_path, "nodes_count": nodes_count, "duration": duration},
298
+ self.EVENT_FILE_ANALYZED,
299
+ {
300
+ "path": file_path,
301
+ "nodes": nodes,
302
+ "nodes_count": len(nodes),
303
+ "duration": duration,
304
+ },
241
305
  )
242
306
 
243
307
  def emit_node(self, node: CodeNodeEvent):
244
- """Emit code node discovery event (batched)."""
308
+ """Emit code node discovery event (batched).
309
+
310
+ Filters out internal functions and handlers.
311
+ """
312
+ # Filter out internal handler functions
313
+ if self._is_internal_function(node.name):
314
+ return
315
+
245
316
  self.stats["nodes_found"] += 1
246
317
  # In stdout mode, don't batch - emit immediately for real-time updates
247
318
  batch_mode = not self.use_stdout
248
319
  self.emit(self.EVENT_NODE_FOUND, node.to_dict(), batch=batch_mode)
249
320
 
321
+ def _is_internal_function(self, name: str) -> bool:
322
+ """Check if function is an internal handler that should be filtered."""
323
+ internal_patterns = [
324
+ "handle", # Event handlers
325
+ "on_", # Event callbacks
326
+ "_", # Private methods
327
+ "get_", # Simple getters
328
+ "set_", # Simple setters
329
+ "__", # Python magic methods
330
+ ]
331
+
332
+ name_lower = name.lower()
333
+ return any(name_lower.startswith(pattern) for pattern in internal_patterns)
334
+
250
335
  def emit_progress(self, current: int, total: int, message: str = ""):
251
336
  """Emit progress update event."""
252
337
  self.emit(
@@ -266,6 +351,19 @@ class CodeTreeEventEmitter:
266
351
 
267
352
  def _emit_event(self, event: Dict[str, Any]):
268
353
  """Emit a single event."""
354
+
355
+ # Convert datetime objects to ISO strings for JSON serialization
356
+ def convert_datetime(obj):
357
+ if isinstance(obj, datetime):
358
+ return obj.isoformat()
359
+ if isinstance(obj, dict):
360
+ return {k: convert_datetime(v) for k, v in obj.items()}
361
+ if isinstance(obj, list):
362
+ return [convert_datetime(item) for item in obj]
363
+ return obj
364
+
365
+ event = convert_datetime(event)
366
+
269
367
  if self.use_stdout:
270
368
  # Emit to stdout as JSON for subprocess communication
271
369
  print(json.dumps(event), flush=True)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.1.10
3
+ Version: 4.1.11
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -50,6 +50,7 @@ Requires-Dist: textual>=0.47.0
50
50
  Requires-Dist: rich>=13.0.0
51
51
  Requires-Dist: pyee>=13.0.0
52
52
  Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
53
+ Requires-Dist: pathspec>=0.11.0
53
54
  Provides-Extra: dev
54
55
  Requires-Dist: pytest>=7.0; extra == "dev"
55
56
  Requires-Dist: pytest-asyncio; extra == "dev"
@@ -1,8 +1,8 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
2
- claude_mpm/VERSION,sha256=kHNeFDPnfVWgtQY83pMnf3xc-l5ijApdqrjS_CUou6g,7
2
+ claude_mpm/VERSION,sha256=o-k59azYOsKN8obyNCFSTR81jHw99dDMfxZ1inphZN4,7
3
3
  claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
4
4
  claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
5
- claude_mpm/constants.py,sha256=vOIJMlZS1dpuBQG_mP7pp4yO6tluaN71aNNJI-Sh6js,5728
5
+ claude_mpm/constants.py,sha256=I946iCQzIIPRZVVJ8aO7lA4euiyDnNw2IX7EelAOkIE,5915
6
6
  claude_mpm/init.py,sha256=mcBonXUyP9pxEFFYfFcQ4OFLWiICT1XnonM_EdjIhoI,15133
7
7
  claude_mpm/ticket_wrapper.py,sha256=qe5xY579t7_7fK5nyeAfHN_fr7CXdeOD3jfXEc8-7yo,828
8
8
  claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=aK9qxS1FRpm_8VaB5GI2I6YA9Wr8dGHuea_txMFe44M,5524
@@ -46,7 +46,7 @@ claude_mpm/agents/templates/web_ui.json,sha256=l1DHRCrXpHDl01K5lkhiLYjPtv6i90lMR
46
46
  claude_mpm/agents/templates/.claude-mpm/memories/README.md,sha256=vEiG7cPjHRZfwX2IQB-i30ArO8zJyuxMJzHh8hnVZ6A,483
47
47
  claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md,sha256=KMZSJrQi-wHOwfl2C0m3A4PpC4QuBtDolAtVybGahKc,77
48
48
  claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md,sha256=UBm4BycXtdaa-_l1VCh0alTGGOUSsnCbpKwbFuI-mUY,2219
49
- claude_mpm/cli/__init__.py,sha256=ulrLMzZ418R-QJQsY9APFgfHqr0zwbmXJy-aLLN9imk,15785
49
+ claude_mpm/cli/__init__.py,sha256=qf9LXiHx5ht9lfdaijSIuvu4CR2BbFlUKf9IXXZb_Q8,16251
50
50
  claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
51
51
  claude_mpm/cli/parser.py,sha256=pG4B8kcROCNLF5-3YiZTXwDBs4EoKxTdhw8CHKezYHc,1362
52
52
  claude_mpm/cli/startup_logging.py,sha256=CWu43ecTJLLT-YHRL94c783XljpR8GKydycGJ1JFuXI,23462
@@ -56,14 +56,15 @@ claude_mpm/cli/commands/__init__.py,sha256=1EJpBPxZMYQlMUbguqC6QCET8tv6yqY-_FOg8
56
56
  claude_mpm/cli/commands/agent_manager.py,sha256=BYyoyyTx06Oy-kN6EwDOc1aFqw_HKRFhn3XYaT99u-M,29642
57
57
  claude_mpm/cli/commands/agents.py,sha256=Zz0UZF8t6KOsgMSehTDjEb39pevPwKCDhH-2WoYFq-Y,38064
58
58
  claude_mpm/cli/commands/aggregate.py,sha256=rLwZxXmIyTPuDUYKTooVtTgiW4mU3vw4_383jK1nXHU,18065
59
- claude_mpm/cli/commands/analyze.py,sha256=mStuIEbvgEXXtFv7QdSw8c__YO1N5_Y_dB9e062gGSE,18904
59
+ claude_mpm/cli/commands/analyze.py,sha256=jWPGiUeKEnD15DFt-6c41ZFF1ePdGMNEUaW0KUtklpw,18924
60
60
  claude_mpm/cli/commands/analyze_code.py,sha256=4rkAF9uS3PQLoZQoxAE5zZ8VlRMlsc1QAvoAYc3j_ak,17160
61
61
  claude_mpm/cli/commands/cleanup.py,sha256=c4QyAs9odx7__rSM9RDy2r9iwPlrfeIzx2vINbl7WaA,19694
62
62
  claude_mpm/cli/commands/cleanup_orphaned_agents.py,sha256=JR8crvgrz7Sa6d-SI-gKywok5S9rwc_DzDVk_h85sVs,4467
63
63
  claude_mpm/cli/commands/config.py,sha256=Yfi8WO-10_MYz2QipFw-yEzVvHKNQ6iSQXeyW5J85Cg,18559
64
- claude_mpm/cli/commands/configure.py,sha256=h8C_jEfYqKld0W6S4s60S1y94TALD4tITX9fgCbEjW8,55413
65
- claude_mpm/cli/commands/configure_tui.py,sha256=sOKwgffzVRBadKhSDXZUhjAK_ER3jmxYXmT0H7uvVOg,66746
66
- claude_mpm/cli/commands/debug.py,sha256=6bdXkGlOt0UiSP666teReOBWZQKsvTYbvU4LmmmLHTw,47057
64
+ claude_mpm/cli/commands/configure.py,sha256=OsuISDoctmQyJpd0wn4LUFRR1AdoVLveT-pU6JJdW60,55439
65
+ claude_mpm/cli/commands/configure_tui.py,sha256=VYLlm2B7QN8P3HtKMEO5Z7A9TpRicWvsojtNh4NxVWQ,66760
66
+ claude_mpm/cli/commands/dashboard.py,sha256=l8h0TkKLwrFUPqKcfTKLw_gCcFM4nytuaA7WIGm7JXI,11023
67
+ claude_mpm/cli/commands/debug.py,sha256=lupNJRzpPHeisREYmbQ-9E3A3pvKjSHsapYFJVH8sbc,47056
67
68
  claude_mpm/cli/commands/doctor.py,sha256=bOZzDNxEMNMZYrJnu_V82tyZ12r5FiBRQNLVfSVvRIQ,5774
68
69
  claude_mpm/cli/commands/info.py,sha256=_hWH7uNv9VLO0eZh9Ua6qc5L1Z66kYj9ATzU4Q8UkSM,7377
69
70
  claude_mpm/cli/commands/mcp.py,sha256=f4PmzAt89cmXXHBJAul2nFh7-EStDY97_J4vaL690CE,7029
@@ -75,6 +76,8 @@ claude_mpm/cli/commands/mcp_server_commands.py,sha256=-1G_2Y5ScTvzDd-kY8fTAao2H6
75
76
  claude_mpm/cli/commands/mcp_tool_commands.py,sha256=q17GzlFT3JiLTrDqwPO2tz1-fKmPO5QU449syTnKTz4,1283
76
77
  claude_mpm/cli/commands/memory.py,sha256=Yzfs3_oiKciv3sfOoDm2lJL4M9idG7ARV3-sNw1ge_g,26186
77
78
  claude_mpm/cli/commands/monitor.py,sha256=F4HY3x1A6hJgtHJlLssIWJFgND1xFGfzZSLU0ylwHpM,27308
79
+ claude_mpm/cli/commands/mpm_init.py,sha256=4AdwGRjI5pJ-1YFkhmoDXh56o7Nb2Js3x02kIc2u_lc,16382
80
+ claude_mpm/cli/commands/mpm_init_handler.py,sha256=tdsdsMWnJaa6sxGMIuLCmarOmpuOLQyPS8-JhjD9tV4,2931
78
81
  claude_mpm/cli/commands/run.py,sha256=7jvKy4emK8szoHR9nEigXnOrkugx4MduLmUadfWnUv0,43113
79
82
  claude_mpm/cli/commands/socketio_monitor.py,sha256=GHHY5pKg0XCffoqLoO0l0Nxa9HQY4gdrpYebLVahzl4,9540
80
83
  claude_mpm/cli/commands/tickets.py,sha256=kl2dklTBnG3Y4jUUJ_PcEVsTx4CtVJfkGWboWBx_mQM,21234
@@ -83,13 +86,15 @@ claude_mpm/cli/parsers/agent_manager_parser.py,sha256=8HuGpTnHSOnTOqOHriBTzi8EzK
83
86
  claude_mpm/cli/parsers/agents_parser.py,sha256=DxAZMotptyaJbROqbRbTipOKLLJ96ATrXhwiFK6Dbm0,5450
84
87
  claude_mpm/cli/parsers/analyze_code_parser.py,sha256=cpJSMFbc3mqB4qrMBIEZiikzPekC2IQX-cjt9U2fHW4,5356
85
88
  claude_mpm/cli/parsers/analyze_parser.py,sha256=E00Ao0zwzbJPchs_AJt-aoQ7LQEtJPXRCNQ6Piivb4o,3908
86
- claude_mpm/cli/parsers/base_parser.py,sha256=XzFfoPY1Q07__D_dEFxiVw6leJDdLPoqqCsVuTKyJk4,13122
89
+ claude_mpm/cli/parsers/base_parser.py,sha256=X4ScS1KIX1ODlA6hELCcwEvI76dZDqsodDYuIRxMdRo,13461
87
90
  claude_mpm/cli/parsers/config_parser.py,sha256=wp6NbV8_p9txP28MXFcQrri0JDIfGFM7u4aJbYJXcYQ,2699
88
91
  claude_mpm/cli/parsers/configure_parser.py,sha256=cg3VXrnSqi9QLhMihJXeKDjtp1sS5jSHZNM_prgm0S4,4598
92
+ claude_mpm/cli/parsers/dashboard_parser.py,sha256=JBCM6v_iZhADr_Fwtk_d3up9AOod1avMab-vkNE61gE,3460
89
93
  claude_mpm/cli/parsers/debug_parser.py,sha256=F7MZdmiXiPfiIPMv21ZUqB2cMT8Ho1LDmpbvCXODLbY,9846
90
94
  claude_mpm/cli/parsers/mcp_parser.py,sha256=zW4wClYOGf_o8yRediJkQRxgta2RI6S3IG_QDgAkp-k,5992
91
95
  claude_mpm/cli/parsers/memory_parser.py,sha256=ZwCDxJEgp-w03L-1tZsWTgisiwamP42s424bA5bvDJc,4760
92
96
  claude_mpm/cli/parsers/monitor_parser.py,sha256=Go78VOFQCts2fouv33tKfd303w0mVPpJiuBbRBGK5x0,4525
97
+ claude_mpm/cli/parsers/mpm_init_parser.py,sha256=7ONMsfLbEYvKo7E-r5FeefnzwZ5hgdPLNWXEuJX4qGQ,4301
93
98
  claude_mpm/cli/parsers/run_parser.py,sha256=bkVqtQDl0y0mQi6Ue8mSXNggUuPfXlywgyXLCOPccXg,4750
94
99
  claude_mpm/cli/parsers/tickets_parser.py,sha256=FYl-VNH7PrZzfZUCcjnf6F7g6JXnL8YDxwrmR5svIcg,6966
95
100
  claude_mpm/cli/shared/__init__.py,sha256=c3Ff46Az3U-YpYgcjOowMcNUkSzDngflAJotv6Bs8TE,1019
@@ -150,17 +155,19 @@ claude_mpm/core/shared/__init__.py,sha256=1mPHE8qCOAgJPgUZ6bYNO27xhnPN0h9ChHiMcq
150
155
  claude_mpm/core/shared/config_loader.py,sha256=Bw9dvMAxn0z6bsqlgs86gsuLJ3a-cZ7K_VfJi4VkpeI,10532
151
156
  claude_mpm/core/shared/path_resolver.py,sha256=iIi5cPWD1JCClOCiistQpY9p0km7BoeQ2oU-wZzBoUE,8224
152
157
  claude_mpm/core/shared/singleton_manager.py,sha256=3CN8coiDLJih9jFXImy6ZlEEE6U_myZ4xX--2E5gWZw,6537
153
- claude_mpm/dashboard/analysis_runner.py,sha256=JU0wG81KIVrKFWbENH5DhcjO6yPDUcrkad-naA2dhkA,13366
158
+ claude_mpm/dashboard/analysis_runner.py,sha256=f4AhsDoo1DL2B8TtoTCb2soLHR2Jb9SO2KWx71v5c2E,14756
154
159
  claude_mpm/dashboard/index.html,sha256=d0DPXBFdtIYWPv0TsLnnYBY8jY2wnoAL9EYAkrUN7UM,452
155
160
  claude_mpm/dashboard/open_dashboard.py,sha256=i4OHdjeQLtZX4UnLVMiFlq6iSENvlCcdcmodmaaU94Q,2205
156
161
  claude_mpm/dashboard/test_dashboard.html,sha256=Aakmm9O-pWld_CCXLuUBOJC81Ix9D1avytTN93u0zfc,15090
157
162
  claude_mpm/dashboard/.claude-mpm/socketio-instances.json,sha256=RBNvo1WzZ4oRRq0W9-hknpT7T8If536DEMBg9hyq_4o,2
158
- claude_mpm/dashboard/static/built/dashboard.js,sha256=HXx1zKVsETkWovw1irSVY03S4y53niEklKylQ-aYNLQ,51633
159
- claude_mpm/dashboard/static/built/socket-client.js,sha256=4r6931RKCwAHvsR0epIs3ZIZxO5XcHFGZTp2bAeciPY,26073
160
- claude_mpm/dashboard/static/built/components/activity-tree.js,sha256=2PLs0bcXy7rbh-Ptg-BSAnOJRpcA3MNDtUq75HFhYYQ,15924
163
+ claude_mpm/dashboard/static/built/dashboard.js,sha256=hJwPqEZ6jWrobIsawl7QKz1a_wJ0D7frWxl8tXhHxCg,51908
164
+ claude_mpm/dashboard/static/built/socket-client.js,sha256=SrcjD1q6YBh9R0PtFNAYXAj8IU3WndA5C3t8Llfa9iw,29110
165
+ claude_mpm/dashboard/static/built/components/activity-tree.js,sha256=_oc9c4NPD21lTLQyRnog8-FcwYEXPEo_MG9w6kSctQM,20585
161
166
  claude_mpm/dashboard/static/built/components/agent-inference.js,sha256=fXK7kzvAXzYzOGdLw_APbDiEN51OX1I4-InnN2iZlu0,12978
167
+ claude_mpm/dashboard/static/built/components/code-tree.js,sha256=iZa89wJHUbbwrfCtVKVw2xGTZRtFmnWLMRoL9M155Lc,36628
168
+ claude_mpm/dashboard/static/built/components/code-viewer.js,sha256=wMggEwMt2RrBuXJO-WYZ5_HHDODfWLm_IS9lS5LLR7M,8495
162
169
  claude_mpm/dashboard/static/built/components/event-processor.js,sha256=JycF1KIAmxhsNBCsne9CzRFPHMcnQz0WhTABpvuCWSc,131
163
- claude_mpm/dashboard/static/built/components/event-viewer.js,sha256=uG5LZp6uPJvEMh4ZjhIiorHYHeIMg9OeysUtnnUp3Kk,25180
170
+ claude_mpm/dashboard/static/built/components/event-viewer.js,sha256=D5tFt75KIj6NINZ0pd1cS3xLQr2XEXyV6-Xk4d6eZGY,26423
164
171
  claude_mpm/dashboard/static/built/components/export-manager.js,sha256=iEbnirtMJ5bLpKbgBJfMI2bPC1Lf3_UrQntl04OUKEk,4196
165
172
  claude_mpm/dashboard/static/built/components/file-tool-tracker.js,sha256=fZgUsg_u52KRYZFQooF_ZZjvKvYHaY9N7uJIS3XR9s8,9824
166
173
  claude_mpm/dashboard/static/built/components/hud-library-loader.js,sha256=v08Xntd0Lwf-q6Nww1X2r5AWokYLgg9xUWe6ExHiNAg,2964
@@ -172,17 +179,17 @@ claude_mpm/dashboard/static/built/components/socket-manager.js,sha256=LEqCS0_EAB
172
179
  claude_mpm/dashboard/static/built/components/ui-state-manager.js,sha256=PtZs6sxNhqMMFwdlr04kDKQbgOvxtMHdjSh56KR2ZBo,134
173
180
  claude_mpm/dashboard/static/built/components/working-directory.js,sha256=xE1ydpKDzRWrzHzfjrCiq5wbf3vDhmgQTGKS7myQcPM,15790
174
181
  claude_mpm/dashboard/static/css/activity.css,sha256=wSulDUcObOR9WKxlKUfvFjwgkv8CLfs1wtuhKnImdOg,9101
175
- claude_mpm/dashboard/static/css/code-tree.css,sha256=1YyF1Xourh952stpc42IZM9wnMMnxSuydx0WW_RPImk,14460
182
+ claude_mpm/dashboard/static/css/code-tree.css,sha256=xgWxg5yWOeJhiZ8eirxri6JHETxQs8SQDSv3yYtdgfY,20894
176
183
  claude_mpm/dashboard/static/css/connection-status.css,sha256=nQiMLxIFjY5MDgrVCG58VR5H1PpE1vLlgXmnn01-P64,6729
177
184
  claude_mpm/dashboard/static/css/dashboard.css,sha256=zhedJp4daAiIstRuasckfwdCLL5s700YRYHYNefz718,66023
178
- claude_mpm/dashboard/static/dist/dashboard.js,sha256=HXx1zKVsETkWovw1irSVY03S4y53niEklKylQ-aYNLQ,51633
179
- claude_mpm/dashboard/static/dist/socket-client.js,sha256=SkA1RItbuCTIAUY8tg7Qal7Vmm8lljO68ujGZFgwj7w,27741
180
- claude_mpm/dashboard/static/dist/components/activity-tree.js,sha256=5aRzrI4FjkbEvlcwAiELawivFiBAsMel4XBChowMBDk,16583
185
+ claude_mpm/dashboard/static/dist/dashboard.js,sha256=hJwPqEZ6jWrobIsawl7QKz1a_wJ0D7frWxl8tXhHxCg,51908
186
+ claude_mpm/dashboard/static/dist/socket-client.js,sha256=SrcjD1q6YBh9R0PtFNAYXAj8IU3WndA5C3t8Llfa9iw,29110
187
+ claude_mpm/dashboard/static/dist/components/activity-tree.js,sha256=_oc9c4NPD21lTLQyRnog8-FcwYEXPEo_MG9w6kSctQM,20585
181
188
  claude_mpm/dashboard/static/dist/components/agent-inference.js,sha256=fXK7kzvAXzYzOGdLw_APbDiEN51OX1I4-InnN2iZlu0,12978
182
- claude_mpm/dashboard/static/dist/components/code-tree.js,sha256=2cvT28x8GQ8FP9_DlukAXb8K3Hq66ZQVqm3U37LR_Kg,19896
189
+ claude_mpm/dashboard/static/dist/components/code-tree.js,sha256=iZa89wJHUbbwrfCtVKVw2xGTZRtFmnWLMRoL9M155Lc,36628
183
190
  claude_mpm/dashboard/static/dist/components/code-viewer.js,sha256=wMggEwMt2RrBuXJO-WYZ5_HHDODfWLm_IS9lS5LLR7M,8495
184
191
  claude_mpm/dashboard/static/dist/components/event-processor.js,sha256=JycF1KIAmxhsNBCsne9CzRFPHMcnQz0WhTABpvuCWSc,131
185
- claude_mpm/dashboard/static/dist/components/event-viewer.js,sha256=Mv7lZ6w41px5gtAPcYFWuACvVKmD_cAettpIIy-fdkY,25348
192
+ claude_mpm/dashboard/static/dist/components/event-viewer.js,sha256=D5tFt75KIj6NINZ0pd1cS3xLQr2XEXyV6-Xk4d6eZGY,26423
186
193
  claude_mpm/dashboard/static/dist/components/export-manager.js,sha256=iEbnirtMJ5bLpKbgBJfMI2bPC1Lf3_UrQntl04OUKEk,4196
187
194
  claude_mpm/dashboard/static/dist/components/file-tool-tracker.js,sha256=fZgUsg_u52KRYZFQooF_ZZjvKvYHaY9N7uJIS3XR9s8,9824
188
195
  claude_mpm/dashboard/static/dist/components/hud-library-loader.js,sha256=v08Xntd0Lwf-q6Nww1X2r5AWokYLgg9xUWe6ExHiNAg,2964
@@ -194,18 +201,18 @@ claude_mpm/dashboard/static/dist/components/socket-manager.js,sha256=LEqCS0_EABA
194
201
  claude_mpm/dashboard/static/dist/components/ui-state-manager.js,sha256=PtZs6sxNhqMMFwdlr04kDKQbgOvxtMHdjSh56KR2ZBo,134
195
202
  claude_mpm/dashboard/static/dist/components/working-directory.js,sha256=xE1ydpKDzRWrzHzfjrCiq5wbf3vDhmgQTGKS7myQcPM,15790
196
203
  claude_mpm/dashboard/static/js/connection-manager.js,sha256=IJrtihUCQqkECXhiqy53vAJIdxNp7pJVIsV2ocos3As,17981
197
- claude_mpm/dashboard/static/js/dashboard.js,sha256=3UAU4yfZ0LplGbbG3Xlo23m2lGpxuDm--HqSQ860JDQ,73760
204
+ claude_mpm/dashboard/static/js/dashboard.js,sha256=Kjfg4FVd1aUoo9XuTIeVch8xG5Q0wAk1b0nXNFL6SM8,74456
198
205
  claude_mpm/dashboard/static/js/extension-error-handler.js,sha256=DZHrJ3gbfv4nsjmZpNMj-Sc3GKjVJ5ds8lgoaLRnq5I,6274
199
- claude_mpm/dashboard/static/js/socket-client.js,sha256=oyN1qIYEXTzFIAlG7WLoWz3T5sDOKVNJbdSBSHLbxiE,52629
200
- claude_mpm/dashboard/static/js/components/activity-tree.js,sha256=yflzs55dwvpfgaqT14YpOjFKQKsezJkpYY4qlaFH1Hw,36487
206
+ claude_mpm/dashboard/static/js/socket-client.js,sha256=l6EfzUVzgq-a1Na0FS7rVwYGbO6CmrRvnVy7iAoJPdc,56052
207
+ claude_mpm/dashboard/static/js/components/activity-tree.js,sha256=6Dm-4yMqxjxtz7MJh3HCL1oGCYpTPWAxa6X5v5fxLbI,44719
201
208
  claude_mpm/dashboard/static/js/components/agent-hierarchy.js,sha256=Xihxog_vJrk8VBEkDogV_wbye2GIFWmH71VQ1lETOHk,28243
202
209
  claude_mpm/dashboard/static/js/components/agent-inference.js,sha256=RUVZ_fLOyDkHYjrROen_Pzzay79Bh29eXp_GRIPbIRg,37493
203
210
  claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=IBfKpoSKWD5QMPN4tOZl-E84Q3QADYVsZ76ickrKW8E,11485
204
- claude_mpm/dashboard/static/js/components/code-tree.js,sha256=hSyImqlRrUEyHKLeczDyiRexYguJh5O2RbIJTFyM9ow,42593
211
+ claude_mpm/dashboard/static/js/components/code-tree.js,sha256=lQb3bqnM-T46-qyaUfzo4gEVP4oQM8Yd8RBqIYJjGxM,88368
205
212
  claude_mpm/dashboard/static/js/components/code-viewer.js,sha256=vhesEPYOM6MggweaYvYsv7ufVbuVpIcyJPXpJXyJwpM,14453
206
213
  claude_mpm/dashboard/static/js/components/connection-debug.js,sha256=Qxr_ofDNkxDlZAwbLnhZkXVMyuO9jOe-NMWC9VHxNnA,22196
207
214
  claude_mpm/dashboard/static/js/components/event-processor.js,sha256=_GnAz8pxN1iyXw0O4AIR482QFyQAigEKO9IDUOUbGqc,24844
208
- claude_mpm/dashboard/static/js/components/event-viewer.js,sha256=wqYuRt29QP1clXg4G1hTzp8Tn14Qp7PZTOj3wNMLwEQ,41410
215
+ claude_mpm/dashboard/static/js/components/event-viewer.js,sha256=Ahl9eTxCYMhDC_533Gf4O96S04W5O_Ts0PAGWSVivkI,43672
209
216
  claude_mpm/dashboard/static/js/components/export-manager.js,sha256=T1YtaR758FaB9aP_5V1xZC9EBIFQOG5H8f_sLopxR5A,11863
210
217
  claude_mpm/dashboard/static/js/components/file-tool-tracker.js,sha256=y8O7kW5uP6KBT2gWvjRoH1aJG-7o1qzyrVnvShsNAK0,28620
211
218
  claude_mpm/dashboard/static/js/components/hud-library-loader.js,sha256=SK6tY8TL88lnewi4M-i092HdgYondv_lVfHoQ-A_cWU,7170
@@ -216,7 +223,7 @@ claude_mpm/dashboard/static/js/components/session-manager.js,sha256=pJrlMcSBNTXo
216
223
  claude_mpm/dashboard/static/js/components/socket-manager.js,sha256=KC-aOJDEPSiMPYk0ABgvCC1xmO7TVQ4SVqohi2GNsWQ,13303
217
224
  claude_mpm/dashboard/static/js/components/ui-state-manager.js,sha256=EWm0HpPI9TShChitRCyZvZCiUk5rIBVyw10BoHdnTzI,13178
218
225
  claude_mpm/dashboard/static/js/components/working-directory.js,sha256=BRsPYwVnhbhFl0mC0Gvb-Ev1zxAu6yZpZcl1T1aJWWA,33558
219
- claude_mpm/dashboard/templates/index.html,sha256=EWAcH0vvKmCFRnXkZzzGMOl76WgqJYM-qPFWRI6o0HU,26939
226
+ claude_mpm/dashboard/templates/index.html,sha256=SYat0pc06q-9iqVeiKlIQwo6TvvcfQz8LWZoA_hzIvg,26629
220
227
  claude_mpm/experimental/cli_enhancements.py,sha256=rlYOMVlj8vQzuyCkHWQ7TtjcsDeFq3y1Ng5qty2fyY8,11486
221
228
  claude_mpm/generators/__init__.py,sha256=rG8vwF_BjPmeMKvyMXpUA8uJ-7mtW2HTNfalZzgRlNk,153
222
229
  claude_mpm/generators/agent_profile_generator.py,sha256=0C4Cziee6qqXOe1t0J7JO8L5cAudV-xJT_bPw1jS_9k,5695
@@ -364,14 +371,14 @@ claude_mpm/services/agents/memory/agent_persistence_service.py,sha256=1_wMyoXRdA
364
371
  claude_mpm/services/agents/memory/content_manager.py,sha256=OUrTFKvw1Ym8JyMt6bPQbfCARgMGN__nqNVPkxQnF6A,16385
365
372
  claude_mpm/services/agents/memory/memory_categorization_service.py,sha256=nJTztLXl_g5Z6bjUFvvDL8mOqqfLNFrbqYBJR5_EchM,4713
366
373
  claude_mpm/services/agents/memory/memory_file_service.py,sha256=uQ7Ou39UsFabHCNYocO9XjkJdlXmR7Z6LS4o1L7yA98,3319
367
- claude_mpm/services/agents/memory/memory_format_service.py,sha256=edKWZ1TNo4lPVPXjN1rCwz8dXKzDRZ-4AigVOMCOVfc,6083
374
+ claude_mpm/services/agents/memory/memory_format_service.py,sha256=4lwfKVYlhxMKPbvuJlO7l80XZt8x575NA6-2IePTSmE,6115
368
375
  claude_mpm/services/agents/memory/memory_limits_service.py,sha256=6nkCXOE3_3aPla7n8GwWBVJTxZI7w0aA596E9J-a48c,3310
369
376
  claude_mpm/services/agents/memory/template_generator.py,sha256=bfRY_GEhsO3WoIU36VjlVYWqmXR9UEPngeBcSpWoDUQ,2547
370
377
  claude_mpm/services/agents/registry/__init__.py,sha256=ROBX82Ac4iLHEE7-aFUy7mT3NSz5eIub19ck5Q81NHQ,681
371
378
  claude_mpm/services/agents/registry/deployed_agent_discovery.py,sha256=aaqu50tjonWURgBWFXUKZvWw9qJYLQgUtCux9xCL1rE,10213
372
379
  claude_mpm/services/agents/registry/modification_tracker.py,sha256=bA4F2chibZCTTK_aUVapuK_z0mYZQ7wOi8-OejjZ0AU,33909
373
380
  claude_mpm/services/cli/__init__.py,sha256=6yavdruQywt9k39RBOrPxUTz6dEEJ6mHzjY4pl_Q3Do,559
374
- claude_mpm/services/cli/agent_cleanup_service.py,sha256=mI5CoMAfhISHkdZ-3ihh6Q5a8Zcu0bUmv08Rnxkvvh8,14066
381
+ claude_mpm/services/cli/agent_cleanup_service.py,sha256=aZd620xKl_ioXOnTRTLLF6L2AnZuAUmC0ia4sr5iJwU,14035
375
382
  claude_mpm/services/cli/agent_dependency_service.py,sha256=mu6RJIjEe_NrMzil3Wm6CvhQUIZ4pYn8tYpyXDBu2NI,13701
376
383
  claude_mpm/services/cli/agent_listing_service.py,sha256=bRb7rAsybTOZ-0F22xE3a4S1QPkuq3K7FavlFePCrVc,15999
377
384
  claude_mpm/services/cli/agent_output_formatter.py,sha256=FcJ18m3CyeFr_wotJfEmIURHeZ71eomqO_vK7wsPWsM,20521
@@ -381,11 +388,11 @@ claude_mpm/services/cli/memory_crud_service.py,sha256=ciN9Pl_12iDAqF9zPBWOzu-iXi
381
388
  claude_mpm/services/cli/memory_output_formatter.py,sha256=nbf7VsjGvH4e9fLv9c7PzjuO9COZhbK5P2fNZ79055w,24783
382
389
  claude_mpm/services/cli/session_manager.py,sha256=rla_Stbcvt93wa9G9MCMu9UqB3FLGqlPt_eN5lQb3Gg,16599
383
390
  claude_mpm/services/cli/socketio_manager.py,sha256=90pvf97Q2Upz9WMP4_SOMfDmlgdkdiCJ0ix6vA7hgco,16745
384
- claude_mpm/services/cli/startup_checker.py,sha256=Y1ZGkV1Fy8i0Lu2MKcaO21fN9kI8x6VdMOlkN77-FsI,12233
391
+ claude_mpm/services/cli/startup_checker.py,sha256=efhuvu8ns5G16jcQ0nQZKVddmD2AktUEdlvjNcXjAuk,12232
385
392
  claude_mpm/services/communication/__init__.py,sha256=b4qc7_Rqy4DE9q7BAUlfUZjoYG4uimAyUnE0irPcXyU,560
386
393
  claude_mpm/services/core/__init__.py,sha256=evEayLlBqJvxMZhrhuK6aagXmNrKGSj8Jm9OOxKzqvU,2195
387
394
  claude_mpm/services/core/base.py,sha256=iA-F7DgGp-FJIMvQTiHQ68RkG_k-AtUWlArJPMw6ZPk,7297
388
- claude_mpm/services/core/cache_manager.py,sha256=eDWKiVgonVjsBcRPsFcQzastGIiFLQ2uheI8d6PtZB4,11568
395
+ claude_mpm/services/core/cache_manager.py,sha256=dBHvvI6M67kaxFtAubi4IsWfbDZSct1siyKHTmCIrW8,11567
389
396
  claude_mpm/services/core/interfaces.py,sha256=FbLhWiOUMlvBfqjYBCeoWgsmRscQGBKteRMW-BGz4hQ,1261
390
397
  claude_mpm/services/core/memory_manager.py,sha256=CxKyA9uquU6FPKfCz3lxlP56-2t_5hEOaeq9f7EPlWk,23953
391
398
  claude_mpm/services/core/path_resolver.py,sha256=yTO5sYETZWhYi9prwwVz9c6iKX_J2cnwBR-I8nwCdkw,17658
@@ -513,11 +520,11 @@ claude_mpm/services/shared/manager_base.py,sha256=kmjhpVqgfYC1N4YQnPAilCfdrSpAh9
513
520
  claude_mpm/services/shared/service_factory.py,sha256=blNkIowhIxykrn-a1qsD8Rtkjlky615nAT2nc8m18QI,9718
514
521
  claude_mpm/services/socketio/__init__.py,sha256=PS-2twllga-2mhSfKdu4MgpikfKp_730gMLAqU_9YX4,556
515
522
  claude_mpm/services/socketio/client_proxy.py,sha256=VPhU6u9FtFZNujR2K4bcDwr4iUrANSIRukqMb2U_XP0,6637
516
- claude_mpm/services/socketio/event_normalizer.py,sha256=ftC7ZQerX6yy1GtqAyuW-j5iJ9M5xM4BYXpMencE7vY,25551
523
+ claude_mpm/services/socketio/event_normalizer.py,sha256=TlhZbLgb6fSFNXNAZEEbGxHOqgTIB2S9WtEGJEV7Olw,28402
517
524
  claude_mpm/services/socketio/migration_utils.py,sha256=1pK_zGZ8Pd57pCg1O-3gKT8i7_fjEKZ377hxOMGUPQQ,11963
518
525
  claude_mpm/services/socketio/handlers/__init__.py,sha256=lGYFfn5P1eB6ri3HAPuDJMfdCfHIw6mQEbweAihNuHY,873
519
526
  claude_mpm/services/socketio/handlers/base.py,sha256=DjUODCOLTQSsC_-NP9yr-8g77arawmsRrM5KC06aDmw,4845
520
- claude_mpm/services/socketio/handlers/code_analysis.py,sha256=yV3QbJ5p_cxfLTcHt2RssVwoCiC8vI8mW3tkeI58bqk,5638
527
+ claude_mpm/services/socketio/handlers/code_analysis.py,sha256=JUWROe4lqBZ-WrakLSdv7fSIKcZydXrzsGylQyejxEo,28181
521
528
  claude_mpm/services/socketio/handlers/connection.py,sha256=sa6Rg5Y9tcf-e4PEb6f4fNhFQcpZ9WbwdiGXmkzlFTs,26781
522
529
  claude_mpm/services/socketio/handlers/connection_handler.py,sha256=DTY0pa--HQu4C6-WCgE1zskvHm3gVuEKWwaSFNBAoec,13287
523
530
  claude_mpm/services/socketio/handlers/file.py,sha256=itpPa5OAow5_OXrTOXk0vsyuEYm4iVmxwN9xowy7jiY,8341
@@ -528,7 +535,7 @@ claude_mpm/services/socketio/handlers/project.py,sha256=yYqWlPfPanA7zH7dgQnP3EpO
528
535
  claude_mpm/services/socketio/handlers/registry.py,sha256=0f-8zBz-iXCbdPPG8iaMpamgfCOJjgE4rxJ1rKs8aCo,8063
529
536
  claude_mpm/services/socketio/server/__init__.py,sha256=S486w-i-hBo3rNW_AtzxbasEgP32By-uI9zz7hzKz-o,640
530
537
  claude_mpm/services/socketio/server/broadcaster.py,sha256=y_D-fDhSD2NZI0cP9wuoB2nlI7VkKjzW_EjVmP-xd5Y,21375
531
- claude_mpm/services/socketio/server/connection_manager.py,sha256=wSUNbkkMNJ1Rtup_NCs6UTbAIiB_9--4MqlT0t_0Az4,21220
538
+ claude_mpm/services/socketio/server/connection_manager.py,sha256=lf1rurOvUej0FWLWXn2u1q0xz2rlzSWKb818Le-LkFM,21234
532
539
  claude_mpm/services/socketio/server/core.py,sha256=m6qzVSPkL2FfR2lAcXwsK_UcxC1g-1oTNmyuguS0_GI,27326
533
540
  claude_mpm/services/socketio/server/eventbus_integration.py,sha256=6LkK8W9wTiNd8d9KoAH2IY1b4osyGGgGaJ0DmwIwnVM,7790
534
541
  claude_mpm/services/socketio/server/main.py,sha256=JvaH4vHz1AgdBsyB7qSG-BZmak9E2FA02Ij2jYKMvqs,19535
@@ -549,9 +556,9 @@ claude_mpm/services/visualization/mermaid_generator.py,sha256=6QGgXtMg_N9rKeRn8w
549
556
  claude_mpm/storage/__init__.py,sha256=DXnmee6iGqC6ctFLW7_Ty1cVCjYDFuCMkwO4EV0i25k,274
550
557
  claude_mpm/storage/state_storage.py,sha256=1fFqkFy63T32JQvhUdVBNhaLQyUlkq4unjeyl0Z6j8I,16865
551
558
  claude_mpm/tools/__main__.py,sha256=MKDuxFuujqD5FZcLTqniDNQ2BI8yg5fDSLU3ElV6m6U,5709
552
- claude_mpm/tools/code_tree_analyzer.py,sha256=sRfdqSSCtaxW77Jq9OYSAfcQcNqf4eOlwJw6f_D4DQ0,28032
553
- claude_mpm/tools/code_tree_builder.py,sha256=kKZyz5VddJ9ovFLlohG6xxoS5D7Y_SfOQLlWqE8ZVk8,18127
554
- claude_mpm/tools/code_tree_events.py,sha256=E9XJUSIFwv7aabA1swXh1nuLcphLq29cwuixYTCWaDs,10143
559
+ claude_mpm/tools/code_tree_analyzer.py,sha256=ArC371fuNTqMw2Nmr8Sd77_y1Vw8ddrhszLF6ECXP3Q,59362
560
+ claude_mpm/tools/code_tree_builder.py,sha256=gwnsFO5ajs55UzX3SU34OMZBwhjouruQhGdQ3fJHjeA,18126
561
+ claude_mpm/tools/code_tree_events.py,sha256=ypUmxQRUpxQt2LQfXV_qpdL42KNvLO-K5XstxZIj9-w,13277
555
562
  claude_mpm/tools/socketio_debug.py,sha256=H0mKHO6EIYqCVm4YU-SJ4Cw8ssA7VqJ3vU7y6eF7brk,22212
556
563
  claude_mpm/utils/__init__.py,sha256=rkxNE0tDfKEN2lr2LLBuToNSvkF-yjF38607eUXL1vk,353
557
564
  claude_mpm/utils/agent_dependency_loader.py,sha256=FjWpyd7w03K4YOPF0VLy2wCUgMd8CtDhBamV6LODcGM,32213
@@ -573,9 +580,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
573
580
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
574
581
  claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
575
582
  claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
576
- claude_mpm-4.1.10.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
577
- claude_mpm-4.1.10.dist-info/METADATA,sha256=tCmbaEFL9KUtbGr3EdUVn4XBvlvRGlGG0qgUSaQ5r1E,13387
578
- claude_mpm-4.1.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
579
- claude_mpm-4.1.10.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
580
- claude_mpm-4.1.10.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
581
- claude_mpm-4.1.10.dist-info/RECORD,,
583
+ claude_mpm-4.1.11.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
584
+ claude_mpm-4.1.11.dist-info/METADATA,sha256=okSPerQuZI-_hzZMq2kceWU0P08rphkPLe7KK8jiJ9c,13419
585
+ claude_mpm-4.1.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
586
+ claude_mpm-4.1.11.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
587
+ claude_mpm-4.1.11.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
588
+ claude_mpm-4.1.11.dist-info/RECORD,,