claude-mpm 4.2.2__py3-none-any.whl → 4.2.3__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.
@@ -500,6 +500,36 @@ class PythonAnalyzer:
500
500
  )
501
501
  )
502
502
 
503
+ def visit_Assign(self, node):
504
+ # Handle module-level variable assignments
505
+ if self.current_class is None: # Only module-level assignments
506
+ for target in node.targets:
507
+ if isinstance(target, ast.Name):
508
+ var_node = CodeNode(
509
+ file_path=str(file_path),
510
+ node_type="variable",
511
+ name=target.id,
512
+ line_start=node.lineno,
513
+ line_end=node.end_lineno or node.lineno,
514
+ parent=self.parent_name,
515
+ complexity=0,
516
+ signature=f"{target.id} = ...",
517
+ )
518
+ nodes.append(var_node)
519
+
520
+ # Emit event if emitter is available
521
+ if self.emitter:
522
+ self.emitter.emit_node(
523
+ CodeNodeEvent(
524
+ file_path=str(file_path),
525
+ node_type="variable",
526
+ name=target.id,
527
+ line_start=node.lineno,
528
+ line_end=node.end_lineno or node.lineno,
529
+ parent=self.parent_name,
530
+ )
531
+ )
532
+
503
533
  def visit_AsyncFunctionDef(self, node):
504
534
  self.visit_FunctionDef(node)
505
535
 
@@ -578,6 +608,24 @@ class PythonAnalyzer:
578
608
 
579
609
  return nodes
580
610
 
611
+ def _get_assignment_signature(self, node: ast.Assign, var_name: str) -> str:
612
+ """Get assignment signature string."""
613
+ try:
614
+ # Try to get a simple representation of the value
615
+ if isinstance(node.value, ast.Constant):
616
+ if isinstance(node.value.value, str):
617
+ return f'{var_name} = "{node.value.value}"'
618
+ return f"{var_name} = {node.value.value}"
619
+ if isinstance(node.value, ast.Name):
620
+ return f"{var_name} = {node.value.id}"
621
+ if isinstance(node.value, ast.List):
622
+ return f"{var_name} = [...]"
623
+ if isinstance(node.value, ast.Dict):
624
+ return f"{var_name} = {{...}}"
625
+ return f"{var_name} = ..."
626
+ except:
627
+ return f"{var_name} = ..."
628
+
581
629
 
582
630
  class MultiLanguageAnalyzer:
583
631
  """Analyzes multiple programming languages using tree-sitter.
@@ -1625,26 +1673,56 @@ class CodeTreeAnalyzer:
1625
1673
 
1626
1674
  self.emitter.emit_file_analyzed(file_path, filtered_nodes, duration)
1627
1675
 
1676
+ # Prepare the nodes data
1677
+ final_nodes = (
1678
+ filtered_nodes
1679
+ if "filtered_nodes" in locals()
1680
+ else [
1681
+ {
1682
+ "name": n.name,
1683
+ "type": n.node_type,
1684
+ "line_start": n.line_start,
1685
+ "line_end": n.line_end,
1686
+ "complexity": n.complexity,
1687
+ "has_docstring": n.has_docstring,
1688
+ "signature": n.signature,
1689
+ }
1690
+ for n in nodes
1691
+ if not self._is_internal_node(n)
1692
+ ]
1693
+ )
1694
+
1695
+ # Convert nodes to elements format for dashboard compatibility
1696
+ elements = []
1697
+ for node in final_nodes:
1698
+ element = {
1699
+ "name": node["name"],
1700
+ "type": node["type"],
1701
+ "line": node["line_start"], # Dashboard expects 'line' not 'line_start'
1702
+ "complexity": node["complexity"],
1703
+ "signature": node.get("signature", ""),
1704
+ "has_docstring": node.get("has_docstring", False),
1705
+ }
1706
+ # Add methods if it's a class (for expandable tree)
1707
+ if node["type"] == "class":
1708
+ element["methods"] = [] # Could be populated with class methods
1709
+ elements.append(element)
1710
+
1628
1711
  return {
1629
1712
  "path": file_path,
1630
1713
  "language": language,
1631
- "nodes": (
1632
- filtered_nodes
1633
- if "filtered_nodes" in locals()
1634
- else [
1635
- {
1636
- "name": n.name,
1637
- "type": n.node_type,
1638
- "line_start": n.line_start,
1639
- "line_end": n.line_end,
1640
- "complexity": n.complexity,
1641
- "has_docstring": n.has_docstring,
1642
- "signature": n.signature,
1643
- }
1644
- for n in nodes
1645
- if not self._is_internal_node(n)
1646
- ]
1647
- ),
1714
+ "nodes": final_nodes, # Keep for backward compatibility
1715
+ "elements": elements, # Add for dashboard compatibility
1716
+ "complexity": sum(e["complexity"] for e in elements),
1717
+ "lines": len(elements), # Simple line count approximation
1718
+ "stats": {
1719
+ "classes": len([e for e in elements if e["type"] == "class"]),
1720
+ "functions": len([e for e in elements if e["type"] == "function"]),
1721
+ "methods": len([e for e in elements if e["type"] == "method"]),
1722
+ "variables": len([e for e in elements if e["type"] == "variable"]),
1723
+ "imports": len([e for e in elements if e["type"] == "import"]),
1724
+ "total": len(elements),
1725
+ },
1648
1726
  }
1649
1727
 
1650
1728
  def _is_internal_node(self, node: CodeNode) -> bool:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.2.2
3
+ Version: 4.2.3
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
@@ -1,5 +1,5 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
2
- claude_mpm/VERSION,sha256=FGfUZXhb_3QDXm98xlJJWnpfDE4YLg0WwNtRS-6pZ94,6
2
+ claude_mpm/VERSION,sha256=6x1PdPSbJsOWJHfe1gogK4OJOi8DiRJdBnDg6tfpcDI,6
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
@@ -83,7 +83,7 @@ claude_mpm/cli/commands/mcp_pipx_config.py,sha256=sE62VD6Q1CcO2k1nlbIhHMfAJFQTZf
83
83
  claude_mpm/cli/commands/mcp_server_commands.py,sha256=-1G_2Y5ScTvzDd-kY8fTAao2H6FH7DnsLimleF1rVqQ,6197
84
84
  claude_mpm/cli/commands/mcp_tool_commands.py,sha256=q17GzlFT3JiLTrDqwPO2tz1-fKmPO5QU449syTnKTz4,1283
85
85
  claude_mpm/cli/commands/memory.py,sha256=Yzfs3_oiKciv3sfOoDm2lJL4M9idG7ARV3-sNw1ge_g,26186
86
- claude_mpm/cli/commands/monitor.py,sha256=xSzHWg5NHiPoNcT7IAI_fBGOoB4wlTSyJb5ixEKh82Q,12059
86
+ claude_mpm/cli/commands/monitor.py,sha256=knr5uCaKwpqwsTmsW24rZobWJaVU40HJHSAfsmDXP2o,12059
87
87
  claude_mpm/cli/commands/mpm_init.py,sha256=lO7N91ZHn_n18XbchUUcYoyme7L5NLcXVnhWm5F_Gq8,22367
88
88
  claude_mpm/cli/commands/mpm_init_handler.py,sha256=-pCB0XL3KipqGtnta8CC7Lg5TPMwstEhMFBcgF4aaa4,2919
89
89
  claude_mpm/cli/commands/run.py,sha256=HrqRWCxmtCKcOxygXRM4KYlN1FDxBXrt4lxz0WunPTs,43390
@@ -135,7 +135,7 @@ claude_mpm/core/agent_session_manager.py,sha256=JmhP67tZuJhGaXOriWeYdl69edxB8szV
135
135
  claude_mpm/core/base_service.py,sha256=OGFg2IrvkSVhDUoN12y9HD6L6YGka0pc6Wj3AmHKxYk,29182
136
136
  claude_mpm/core/cache.py,sha256=aCvZg08gT8uMFSDp-s0-xqRYSgcfBTDGM3MlJTTboMY,17170
137
137
  claude_mpm/core/claude_runner.py,sha256=e6ob7FwcBzvhw9gnPvmL8Zw_BasdfzuV8b1dvqtvGKk,34787
138
- claude_mpm/core/config.py,sha256=TPTAwUu1uSCBRERRgN3xSRYYe6B6Igb60VLHaP71YAM,39358
138
+ claude_mpm/core/config.py,sha256=3TrDkcraWdij6LZ3Vermg3CadLy8XqxkAJ3k5qYAniw,39356
139
139
  claude_mpm/core/config_aliases.py,sha256=asgAgMGlZSv-5PXPBH8e__QfwJQy_Or9ldPD9yzCrM0,9643
140
140
  claude_mpm/core/config_constants.py,sha256=MEF35Y2Lj5FMzRdhgSgZrZeTzHfCzistPGZVY8INta4,10073
141
141
  claude_mpm/core/constants.py,sha256=88J9bGT05Fbr3lzHLWtLQbBYRuJuLBjK3Bfq_qyWcIo,9539
@@ -202,9 +202,9 @@ claude_mpm/dashboard/static/built/components/ui-state-manager.js,sha256=PtZs6sxN
202
202
  claude_mpm/dashboard/static/built/components/unified-data-viewer.js,sha256=awSWdzpGgg4ovVVR4E5TfIr-K2UhLCSuxeFIXWSUo3A,34675
203
203
  claude_mpm/dashboard/static/built/components/working-directory.js,sha256=xE1ydpKDzRWrzHzfjrCiq5wbf3vDhmgQTGKS7myQcPM,15790
204
204
  claude_mpm/dashboard/static/css/activity.css,sha256=0SJUwGB6fr4OlVqMwhvVKrPndg2R3QTZPnN6DkAo4aU,37987
205
- claude_mpm/dashboard/static/css/code-tree.css,sha256=x0MlVKrBBYr7XU8ndhxx7cjCe35GouhthIM32Zc9SA8,25599
205
+ claude_mpm/dashboard/static/css/code-tree.css,sha256=Za8G7hOL1mEO2Ktlu8MAeNRjum9zdoYWmchyrzy6ZLU,30391
206
206
  claude_mpm/dashboard/static/css/connection-status.css,sha256=nQiMLxIFjY5MDgrVCG58VR5H1PpE1vLlgXmnn01-P64,6729
207
- claude_mpm/dashboard/static/css/dashboard.css,sha256=7xTARHVi8U_HnqM-3Cfc-81gu_r7r2eLLW673dybSG8,80281
207
+ claude_mpm/dashboard/static/css/dashboard.css,sha256=_wobeVpKGa_pDgjup0q9MyXR-FEMPPHfJLbGhM4W9Sw,85514
208
208
  claude_mpm/dashboard/static/dist/dashboard.js,sha256=Fm2v_pxM_jISp--n9XasrcL2nHYlfC1wcVZW4zGekw4,44966
209
209
  claude_mpm/dashboard/static/dist/socket-client.js,sha256=z9HU1HePow8Yvh-7QMcjChwMYsR_p-ZvJVu8HU6d5Xg,29110
210
210
  claude_mpm/dashboard/static/dist/components/activity-tree.js,sha256=c7vYmCvMgq7irVrX-EFbNqVMgVuDJ_cwcvsZ4LSO3bU,29594
@@ -227,13 +227,13 @@ claude_mpm/dashboard/static/dist/components/working-directory.js,sha256=xE1ydpKD
227
227
  claude_mpm/dashboard/static/js/connection-manager.js,sha256=nn7x1jmwEnBClcChbFk1uMhRPu5U1xmXz3sjuo0LNm4,17981
228
228
  claude_mpm/dashboard/static/js/dashboard.js,sha256=RYzzhNr1pPAHZ12pgWjTpe15Nzaqrm-S9vzTRfqob5A,64712
229
229
  claude_mpm/dashboard/static/js/extension-error-handler.js,sha256=DZHrJ3gbfv4nsjmZpNMj-Sc3GKjVJ5ds8lgoaLRnq5I,6274
230
- claude_mpm/dashboard/static/js/socket-client.js,sha256=wC4vH0oP6xIDcSA-Q8cNI2bPW3hg3SAS9TZ75cD6y9Y,56052
230
+ claude_mpm/dashboard/static/js/socket-client.js,sha256=iggcE6tJPjG1hChXNG_fTS05p0tU15rgh5P3hb67UPI,56202
231
231
  claude_mpm/dashboard/static/js/components/activity-tree.js,sha256=1j46X0qjYReP6gwv0WGRpJSJNuBwuj6bKmumWrCZKUo,72740
232
232
  claude_mpm/dashboard/static/js/components/agent-hierarchy.js,sha256=Xihxog_vJrk8VBEkDogV_wbye2GIFWmH71VQ1lETOHk,28243
233
233
  claude_mpm/dashboard/static/js/components/agent-inference.js,sha256=RUVZ_fLOyDkHYjrROen_Pzzay79Bh29eXp_GRIPbIRg,37493
234
234
  claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=iouv35tNhnyx9UKtD7X1eakJkpCnvZVCrAJ_VdzsKUY,11251
235
235
  claude_mpm/dashboard/static/js/components/code-simple.js,sha256=3A3VIvHMpYRjuDKGMaQYoVjf-zuUa4Q6pdBHWDJ0ygM,32050
236
- claude_mpm/dashboard/static/js/components/code-tree.js,sha256=Nb8ON1dC8vkvJY-Qbog7EJSKnJXeMjJGQkW5PAofOTc,131452
236
+ claude_mpm/dashboard/static/js/components/code-tree.js,sha256=5jCfXeNnnf7QaVqgEyMdijXn7R457MGhSYYS-wDtmAw,195638
237
237
  claude_mpm/dashboard/static/js/components/code-viewer.js,sha256=vhesEPYOM6MggweaYvYsv7ufVbuVpIcyJPXpJXyJwpM,14453
238
238
  claude_mpm/dashboard/static/js/components/connection-debug.js,sha256=Qxr_ofDNkxDlZAwbLnhZkXVMyuO9jOe-NMWC9VHxNnA,22196
239
239
  claude_mpm/dashboard/static/js/components/event-processor.js,sha256=pP15JIf2yEh7gqEdam42m_B1B4hDlfKbkDcGmQhyjM8,20567
@@ -250,7 +250,7 @@ claude_mpm/dashboard/static/js/components/ui-state-manager.js,sha256=EWm0HpPI9TS
250
250
  claude_mpm/dashboard/static/js/components/unified-data-viewer.js,sha256=iKI_AaVX36o2JssBs0C1KR8AFb4qse47-JwfBsd9tBo,58625
251
251
  claude_mpm/dashboard/static/js/components/working-directory.js,sha256=BRsPYwVnhbhFl0mC0Gvb-Ev1zxAu6yZpZcl1T1aJWWA,33558
252
252
  claude_mpm/dashboard/templates/code_simple.html,sha256=xrmTLFow0M5NWFlk4ci1eLWML-IHr35i5pqIVaEg2TU,4329
253
- claude_mpm/dashboard/templates/index.html,sha256=7U4CRO6oHeW2Q3PMpGDs0RYfpFe7_Px6v5bnOUk8EEI,30895
253
+ claude_mpm/dashboard/templates/index.html,sha256=8tmzUqDRHbdI2Ts8TsVxlk1c6DX4vgDuU6T5HzBm7gY,30562
254
254
  claude_mpm/experimental/__init__.py,sha256=R_aclOvWpvSTHWAx9QXyg9OIPVK2dXT5tQJhxLQN11Y,369
255
255
  claude_mpm/experimental/cli_enhancements.py,sha256=rlYOMVlj8vQzuyCkHWQ7TtjcsDeFq3y1Ng5qty2fyY8,11486
256
256
  claude_mpm/generators/__init__.py,sha256=rG8vwF_BjPmeMKvyMXpUA8uJ-7mtW2HTNfalZzgRlNk,153
@@ -334,7 +334,7 @@ claude_mpm/services/agents/deployment/agent_operation_service.py,sha256=wPoGYf3F
334
334
  claude_mpm/services/agents/deployment/agent_record_service.py,sha256=0v-tWJV-AczLXPet1oqlY_fepIj4qa3l_aZMjpDXSN8,14040
335
335
  claude_mpm/services/agents/deployment/agent_restore_handler.py,sha256=YDPVY4m_4l5wSFq9fxsTqm0ixX8AeTyzERh-PtabuUY,3101
336
336
  claude_mpm/services/agents/deployment/agent_state_service.py,sha256=yjuVG-rwyXBS0T8yKfrx1QTOSmfB_Ejvm-0QLjBNDDI,11772
337
- claude_mpm/services/agents/deployment/agent_template_builder.py,sha256=We29E2X0Pm8KoQi9tDf-2oMkg6P8drHpnfMeEXihU6s,34379
337
+ claude_mpm/services/agents/deployment/agent_template_builder.py,sha256=BdH_dEe7qa0VgbwxFPy_3CtHPI-LDy-f-dqTzyDRO_A,34847
338
338
  claude_mpm/services/agents/deployment/agent_validator.py,sha256=Yyf5zG8pFYIvmRzghPZSr8Ka2p_uVe9MVN8bmtucNSc,12737
339
339
  claude_mpm/services/agents/deployment/agent_version_manager.py,sha256=Q2COYmnWDvDxsBh_ikN9Govk3o8Dy1T0X-rioMpUsis,11189
340
340
  claude_mpm/services/agents/deployment/agent_versioning.py,sha256=cDkSv12m6_XjhhD6Tr_tmcnvx4RrXhMAKpjm6E_fKyQ,989
@@ -433,6 +433,7 @@ claude_mpm/services/core/interfaces/agent.py,sha256=EaPYn6k9HjB2DRTiZIMJwEIBABZF
433
433
  claude_mpm/services/core/interfaces/communication.py,sha256=evwtLbYCFa3Zb8kEfL10LOBVdwP4-n3a3wa7NqIHmKQ,8887
434
434
  claude_mpm/services/core/interfaces/infrastructure.py,sha256=eLtr_dFhA3Ux3mPOV_4DbWhGjHpfpGnj6xOhfQcgZGk,10037
435
435
  claude_mpm/services/core/interfaces/service.py,sha256=hNfHXe45LcPCp_dToOmZCfnUZBF5axMf_TdxqCSm2-I,11536
436
+ claude_mpm/services/dashboard/stable_server.py,sha256=Sy-MPE3qSRFpR--Vyf0c2t4n5lo7jpmJr7TAJaEma5k,13920
436
437
  claude_mpm/services/diagnostics/__init__.py,sha256=WTRucANR9EwNi53rotjkeE4k75s18RjHJ8s1BfBj7ic,614
437
438
  claude_mpm/services/diagnostics/diagnostic_runner.py,sha256=cpCZ7JBvRIpGEchiwYsojmiGaI99Wf-hGxk8eem7xXQ,9164
438
439
  claude_mpm/services/diagnostics/doctor_reporter.py,sha256=Z8hYLqUbGC02gL7nX9kZKbLWRzOmTORRINfCr7EHbBI,10537
@@ -549,15 +550,15 @@ claude_mpm/services/shared/lifecycle_service_base.py,sha256=WiAUJ5_k-2dYkDRMbJl7
549
550
  claude_mpm/services/shared/manager_base.py,sha256=kmjhpVqgfYC1N4YQnPAilCfdrSpAh9Qz7wcQ602L4x4,9296
550
551
  claude_mpm/services/shared/service_factory.py,sha256=blNkIowhIxykrn-a1qsD8Rtkjlky615nAT2nc8m18QI,9718
551
552
  claude_mpm/services/socketio/__init__.py,sha256=PS-2twllga-2mhSfKdu4MgpikfKp_730gMLAqU_9YX4,556
552
- claude_mpm/services/socketio/client_proxy.py,sha256=VPhU6u9FtFZNujR2K4bcDwr4iUrANSIRukqMb2U_XP0,6637
553
+ claude_mpm/services/socketio/client_proxy.py,sha256=7e2oiRCBYhSyq3_iA7R48CbzHQS_dXC9eYHnYAN-r_Q,7182
553
554
  claude_mpm/services/socketio/dashboard_server.py,sha256=QMQyRvKxfy692A1oStxmY05BeUpVzQZzKHiplw9YgrU,13655
554
555
  claude_mpm/services/socketio/event_normalizer.py,sha256=TlhZbLgb6fSFNXNAZEEbGxHOqgTIB2S9WtEGJEV7Olw,28402
555
556
  claude_mpm/services/socketio/migration_utils.py,sha256=1pK_zGZ8Pd57pCg1O-3gKT8i7_fjEKZ377hxOMGUPQQ,11963
556
557
  claude_mpm/services/socketio/monitor_client.py,sha256=2k9cP4e3GrdNFbiMGtcKJm0aoLxd5SgS60DObMjAtlY,12714
557
- claude_mpm/services/socketio/monitor_server.py,sha256=QgGdFbzSx1jBTwIplNwJbAectk51vJ_Ok_kehomr2WI,17746
558
+ claude_mpm/services/socketio/monitor_server.py,sha256=dBUWTFF0C94HrFP5fZonw_yh42NPaKz6D9_lV9DcZzE,17746
558
559
  claude_mpm/services/socketio/handlers/__init__.py,sha256=lGYFfn5P1eB6ri3HAPuDJMfdCfHIw6mQEbweAihNuHY,873
559
560
  claude_mpm/services/socketio/handlers/base.py,sha256=DjUODCOLTQSsC_-NP9yr-8g77arawmsRrM5KC06aDmw,4845
560
- claude_mpm/services/socketio/handlers/code_analysis.py,sha256=Y8KaXC1n77BTxgiY6RnCpXN7xFbG07S20GgVojl7_k4,25288
561
+ claude_mpm/services/socketio/handlers/code_analysis.py,sha256=BmcJiygXaCVjVJndE-GFi4eN7_b8v7mqScddMTj5DUk,26271
561
562
  claude_mpm/services/socketio/handlers/connection.py,sha256=sa6Rg5Y9tcf-e4PEb6f4fNhFQcpZ9WbwdiGXmkzlFTs,26781
562
563
  claude_mpm/services/socketio/handlers/connection_handler.py,sha256=DTY0pa--HQu4C6-WCgE1zskvHm3gVuEKWwaSFNBAoec,13287
563
564
  claude_mpm/services/socketio/handlers/file.py,sha256=itpPa5OAow5_OXrTOXk0vsyuEYm4iVmxwN9xowy7jiY,8341
@@ -590,7 +591,7 @@ claude_mpm/storage/__init__.py,sha256=DXnmee6iGqC6ctFLW7_Ty1cVCjYDFuCMkwO4EV0i25
590
591
  claude_mpm/storage/state_storage.py,sha256=1fFqkFy63T32JQvhUdVBNhaLQyUlkq4unjeyl0Z6j8I,16865
591
592
  claude_mpm/tools/__init__.py,sha256=T3GuCYNAHtjVcKCeivY674PaDm48WX96AriQfTKUknY,347
592
593
  claude_mpm/tools/__main__.py,sha256=MKDuxFuujqD5FZcLTqniDNQ2BI8yg5fDSLU3ElV6m6U,5709
593
- claude_mpm/tools/code_tree_analyzer.py,sha256=SPghaC7fsmwSlzDi0B8KHkD_PV2b30iWLrjy-_TbmH4,60077
594
+ claude_mpm/tools/code_tree_analyzer.py,sha256=iht5BATmZeUXkykfSI1YSvnr2fzFPZP17LC-A10DXn0,63910
594
595
  claude_mpm/tools/code_tree_builder.py,sha256=gwnsFO5ajs55UzX3SU34OMZBwhjouruQhGdQ3fJHjeA,18126
595
596
  claude_mpm/tools/code_tree_events.py,sha256=ypUmxQRUpxQt2LQfXV_qpdL42KNvLO-K5XstxZIj9-w,13277
596
597
  claude_mpm/tools/socketio_debug.py,sha256=H0mKHO6EIYqCVm4YU-SJ4Cw8ssA7VqJ3vU7y6eF7brk,22212
@@ -614,9 +615,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
614
615
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
615
616
  claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
616
617
  claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
617
- claude_mpm-4.2.2.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
618
- claude_mpm-4.2.2.dist-info/METADATA,sha256=id9bUwa39mo6atRmjVqC2EfwJaRSiyO15XuHmlzvh_k,13776
619
- claude_mpm-4.2.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
620
- claude_mpm-4.2.2.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
621
- claude_mpm-4.2.2.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
622
- claude_mpm-4.2.2.dist-info/RECORD,,
618
+ claude_mpm-4.2.3.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
619
+ claude_mpm-4.2.3.dist-info/METADATA,sha256=FS32yLLQTCdCSmQo6QblFKCk4HipuzVk3nUKq5L5KMc,13776
620
+ claude_mpm-4.2.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
621
+ claude_mpm-4.2.3.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
622
+ claude_mpm-4.2.3.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
623
+ claude_mpm-4.2.3.dist-info/RECORD,,