claude-mpm 4.1.13__py3-none-any.whl → 4.1.15__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.
@@ -0,0 +1,10 @@
1
+ """
2
+ Experimental features package for Claude MPM.
3
+
4
+ This package contains experimental features and enhancements that are
5
+ under development or testing. These features may be unstable or subject
6
+ to change in future versions.
7
+
8
+ This __init__.py file is required to make this directory recognizable as a
9
+ Python package by setuptools for proper distribution and imports.
10
+ """
@@ -500,9 +500,19 @@ main "$@"
500
500
 
501
501
  def _install_commands(self) -> None:
502
502
  """Install custom commands for Claude Code."""
503
- # Find commands directory in the package
504
- package_root = Path(__file__).parent.parent.parent.parent
505
- commands_src = package_root / ".claude" / "commands"
503
+ # Find commands directory using proper resource resolution
504
+ try:
505
+ from ...core.unified_paths import get_package_resource_path
506
+
507
+ commands_src = get_package_resource_path("commands")
508
+ except FileNotFoundError:
509
+ # Fallback to hardcoded path exploration for development
510
+ package_root = Path(__file__).parent.parent.parent.parent
511
+ commands_src = package_root / ".claude" / "commands"
512
+
513
+ if not commands_src.exists():
514
+ # Try the actual location in src/claude_mpm/commands
515
+ commands_src = Path(__file__).parent.parent.parent / "commands"
506
516
 
507
517
  if not commands_src.exists():
508
518
  self.logger.debug(
@@ -0,0 +1,12 @@
1
+ """
2
+ Schemas package for Claude MPM.
3
+
4
+ This package contains JSON schema files used for validation of agent
5
+ configurations, frontmatter, and other structured data within Claude MPM.
6
+
7
+ These schema files may be accessed via importlib.resources for validation
8
+ purposes throughout the application.
9
+
10
+ This __init__.py file is required to make this directory recognizable as a
11
+ Python package by setuptools for proper distribution and resource access.
12
+ """
@@ -0,0 +1,78 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Wrapper script to use the hardened daemon by default while maintaining compatibility.
4
+
5
+ WHY: Provides a smooth transition path from the original daemon to the hardened version
6
+ without breaking existing workflows or scripts.
7
+ """
8
+
9
+ import os
10
+ import subprocess
11
+ import sys
12
+ from pathlib import Path
13
+
14
+ # Determine which daemon to use
15
+ USE_HARDENED = os.environ.get("SOCKETIO_USE_HARDENED", "true").lower() == "true"
16
+
17
+ # Find the appropriate daemon script using proper resource resolution
18
+ try:
19
+ # Try using importlib.resources for proper package resource access
20
+ try:
21
+ from importlib import resources
22
+
23
+ # We're in the same package, so try direct import
24
+ import claude_mpm.scripts
25
+
26
+ scripts_package = claude_mpm.scripts
27
+
28
+ if USE_HARDENED:
29
+ try:
30
+ with resources.path(
31
+ scripts_package, "socketio_daemon_hardened.py"
32
+ ) as p:
33
+ daemon_script = p
34
+ print("Using hardened Socket.IO daemon for improved reliability")
35
+ except (FileNotFoundError, ModuleNotFoundError):
36
+ # Fall back to original if hardened doesn't exist
37
+ with resources.path(scripts_package, "socketio_daemon.py") as p:
38
+ daemon_script = p
39
+ else:
40
+ with resources.path(scripts_package, "socketio_daemon.py") as p:
41
+ daemon_script = p
42
+ print(
43
+ "Using original Socket.IO daemon (set SOCKETIO_USE_HARDENED=true for hardened version)"
44
+ )
45
+ except (ImportError, AttributeError, ModuleNotFoundError):
46
+ # Fallback for older Python versions or if resources not available
47
+ script_dir = Path(__file__).parent
48
+
49
+ if USE_HARDENED:
50
+ daemon_script = script_dir / "socketio_daemon_hardened.py"
51
+ if not daemon_script.exists():
52
+ # Fall back to original if hardened doesn't exist
53
+ daemon_script = script_dir / "socketio_daemon.py"
54
+ else:
55
+ print("Using hardened Socket.IO daemon for improved reliability")
56
+ else:
57
+ daemon_script = script_dir / "socketio_daemon.py"
58
+ print(
59
+ "Using original Socket.IO daemon (set SOCKETIO_USE_HARDENED=true for hardened version)"
60
+ )
61
+ except Exception:
62
+ # Ultimate fallback - try relative to current file
63
+ script_dir = Path(__file__).parent
64
+ daemon_script = script_dir / (
65
+ "socketio_daemon_hardened.py" if USE_HARDENED else "socketio_daemon.py"
66
+ )
67
+ if not daemon_script.exists():
68
+ daemon_script = script_dir / "socketio_daemon.py"
69
+
70
+ # Pass through all arguments to the selected daemon
71
+ if daemon_script.exists():
72
+ result = subprocess.run(
73
+ [sys.executable, str(daemon_script)] + sys.argv[1:], check=False
74
+ )
75
+ sys.exit(result.returncode)
76
+ else:
77
+ print(f"Error: Daemon script not found at {daemon_script}")
78
+ sys.exit(1)
@@ -201,21 +201,29 @@ class SocketIOManager(ISocketIOManager):
201
201
  try:
202
202
  self.logger.info(f"Starting Socket.IO server on port {target_port}")
203
203
 
204
- # Get the socketio daemon script path
205
- scripts_dir = get_scripts_dir()
206
- daemon_script = scripts_dir / "socketio_daemon_wrapper.py"
204
+ # Get the socketio daemon script path using proper resource resolution
205
+ try:
206
+ from ...core.unified_paths import get_package_resource_path
207
207
 
208
- if not daemon_script.exists():
209
- self.logger.error(
210
- f"Socket.IO daemon script not found: {daemon_script}"
211
- )
212
- return False, ServerInfo(
213
- port=target_port,
214
- pid=None,
215
- is_running=False,
216
- launch_time=None,
217
- url=f"http://localhost:{target_port}",
208
+ daemon_script = get_package_resource_path(
209
+ "scripts/socketio_daemon_wrapper.py"
218
210
  )
211
+ except FileNotFoundError:
212
+ # Fallback to old method for development environments
213
+ scripts_dir = get_scripts_dir()
214
+ daemon_script = scripts_dir / "socketio_daemon_wrapper.py"
215
+
216
+ if not daemon_script.exists():
217
+ self.logger.error(
218
+ f"Socket.IO daemon script not found: {daemon_script}"
219
+ )
220
+ return False, ServerInfo(
221
+ port=target_port,
222
+ pid=None,
223
+ is_running=False,
224
+ launch_time=None,
225
+ url=f"http://localhost:{target_port}",
226
+ )
219
227
 
220
228
  # Start the server process
221
229
  env = os.environ.copy()
@@ -21,8 +21,14 @@ class CommandDeploymentService(BaseService):
21
21
  """Initialize the command deployment service."""
22
22
  super().__init__(name="command_deployment")
23
23
 
24
- # Source commands directory in the package
25
- self.source_dir = Path(__file__).parent.parent / "commands"
24
+ # Source commands directory in the package - use proper resource resolution
25
+ try:
26
+ from ..core.unified_paths import get_package_resource_path
27
+
28
+ self.source_dir = get_package_resource_path("commands")
29
+ except FileNotFoundError:
30
+ # Fallback to old method for development environments
31
+ self.source_dir = Path(__file__).parent.parent / "commands"
26
32
 
27
33
  # Target directory in user's home
28
34
  self.target_dir = Path.home() / ".claude" / "commands"
@@ -0,0 +1,10 @@
1
+ """
2
+ Tools package for Claude MPM.
3
+
4
+ This package contains utility tools and debugging modules for Claude MPM,
5
+ including code analysis tools, SocketIO debugging utilities, and other
6
+ development helpers.
7
+
8
+ This __init__.py file is required to make this directory recognizable as a
9
+ Python package by setuptools for proper distribution and imports.
10
+ """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.1.13
3
+ Version: 4.1.15
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
@@ -148,6 +148,12 @@ pipx install claude-mpm
148
148
  claude-mpm mcp-pipx-config
149
149
  ```
150
150
 
151
+ **🎉 Pipx Support Now Fully Functional!** Recent improvements ensure complete compatibility:
152
+ - ✅ Socket.IO daemon script path resolution (fixed)
153
+ - ✅ Commands directory access (fixed)
154
+ - ✅ Resource files properly packaged for pipx environments
155
+ - ✅ Python 3.13+ fully supported
156
+
151
157
  **That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
152
158
 
153
159
  ## Quick Usage
@@ -200,7 +206,7 @@ Claude MPM includes 15 specialized agents:
200
206
  - **Security** - Security analysis and implementation
201
207
 
202
208
  #### Operations & Infrastructure
203
- - **Ops** - Operations and deployment
209
+ - **Ops** - Operations and deployment with advanced git commit authority and security verification (v2.2.2+)
204
210
  - **Version Control** - Git and version management
205
211
  - **Data Engineer** - Data pipeline and ETL development
206
212
 
@@ -1,5 +1,5 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
2
- claude_mpm/VERSION,sha256=E1InPHCtwH8S_MOiQtRRNQYYpQcw7o4xWnOYO1oirn0,7
2
+ claude_mpm/VERSION,sha256=hNoIfJsga2z5-O51sSPoT1wrPafg7W9MtiibVc2kVK4,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
@@ -32,7 +32,7 @@ claude_mpm/agents/templates/documentation.json,sha256=6G7U_48t8XX16YKI4NYMnmUU7e
32
32
  claude_mpm/agents/templates/engineer.json,sha256=5uK8tGx0y8WVEoRf3ymXrXQDwh2Qh94OWxvdi6hbo44,6622
33
33
  claude_mpm/agents/templates/imagemagick.json,sha256=Hh5Y3OmhexTESiOZNyq79imbZ0-Vs8vpD2lpRi1x7FM,17747
34
34
  claude_mpm/agents/templates/memory_manager.json,sha256=aQKZCnkljawXaY4fgtyzqKziIAsL2mtQOsh1HZ7qcws,12613
35
- claude_mpm/agents/templates/ops.json,sha256=oC1pjdJrlRn4YBbP3RWFnmzpy-2ImabFR6GjsaWe3pI,7409
35
+ claude_mpm/agents/templates/ops.json,sha256=NEKzVN6YcT-fqbUsFXq3pfcNUhfcLxiuicb2OYHucMQ,10904
36
36
  claude_mpm/agents/templates/project_organizer.json,sha256=wFpdLeMgpTMWPpd7zHDgJq-0_fyph9VOXMoZkRgwD5c,5632
37
37
  claude_mpm/agents/templates/qa.json,sha256=D-T2d-2oO3gMYWq2pdrR736LN_vq7XCydRCB4y213jI,9526
38
38
  claude_mpm/agents/templates/refactoring_engineer.json,sha256=EArflslbK27cCYtBlLpprf6BxIj5YHDpMneW5rk3jCc,11877
@@ -106,6 +106,14 @@ claude_mpm/cli_module/__init__.py,sha256=OU0dPrHYOzNKGDoUyyGYieSBVyf-MnEAikJOg2R
106
106
  claude_mpm/cli_module/args.py,sha256=50_Y3AgMNeidtPjQ5-WZ1o-5Y7G2GAGQwMmllYjVScE,8464
107
107
  claude_mpm/cli_module/commands.py,sha256=zZmjP4J19i9PNMA7gCI5Dl--R1u_H4sCt5ZtOadZkY4,7013
108
108
  claude_mpm/cli_module/migration_example.py,sha256=DtQ59RyoBD6r8FIfrjKXCQ8-xnUiOqP5McBiS6_W1Qc,5183
109
+ claude_mpm/commands/__init__.py,sha256=paX5Ub5-UmRgiQ8UgKWIKwU2-RjLu67OmNJND-fVtjg,588
110
+ claude_mpm/commands/mpm-agents.md,sha256=MxFYlIhvtsKwtUdGJROKTr2So-izaWGjwRkf5seSqXM,280
111
+ claude_mpm/commands/mpm-config.md,sha256=F-9kKUC30gT6QXvOr5OTpYOq6L97iA2-SXVGxXjyF8M,547
112
+ claude_mpm/commands/mpm-doctor.md,sha256=ut5LhFKVRw-2ecjMSPsnaTiRuFXa6Q9t-Wgl3CCnQvk,590
113
+ claude_mpm/commands/mpm-help.md,sha256=gUMhJ1aTWyNeNMLZJeDJMN2sPuL-ugUFalmrNDEP5bI,282
114
+ claude_mpm/commands/mpm-status.md,sha256=zY9toecba_UZTEY3JEKV1EvENQ-FPPvZk4dZwLyZ3LM,351
115
+ claude_mpm/commands/mpm-tickets.md,sha256=a2_mW56QDhw7-jMU92ycGaxvSSYpNoQFGhkWbr3MJ88,2356
116
+ claude_mpm/commands/mpm.md,sha256=tv_Mr6p2olRKIltKui4ljfCNG69VokkyIg951CeMBas,559
109
117
  claude_mpm/config/__init__.py,sha256=V2dyJQ8_gVCpNiCg8zYTQqE1RSeON5Zm8n5Ndkqhp1g,916
110
118
  claude_mpm/config/agent_config.py,sha256=d_cHE4HMkeZZrGjDGpBP655llV64p_E8DRDPPdsO1jg,14829
111
119
  claude_mpm/config/experimental_features.py,sha256=ma-Va7CVqOYrUEGZW6A4gdMRLHOpovHf8pHgP_3-xr0,7481
@@ -156,6 +164,7 @@ claude_mpm/core/shared/__init__.py,sha256=1mPHE8qCOAgJPgUZ6bYNO27xhnPN0h9ChHiMcq
156
164
  claude_mpm/core/shared/config_loader.py,sha256=Bw9dvMAxn0z6bsqlgs86gsuLJ3a-cZ7K_VfJi4VkpeI,10532
157
165
  claude_mpm/core/shared/path_resolver.py,sha256=iIi5cPWD1JCClOCiistQpY9p0km7BoeQ2oU-wZzBoUE,8224
158
166
  claude_mpm/core/shared/singleton_manager.py,sha256=3CN8coiDLJih9jFXImy6ZlEEE6U_myZ4xX--2E5gWZw,6537
167
+ claude_mpm/dashboard/__init__.py,sha256=b5QKcz0kt_ZMCFkac7caRzA8DlMiICG9VzmunmxHtco,466
159
168
  claude_mpm/dashboard/analysis_runner.py,sha256=f4AhsDoo1DL2B8TtoTCb2soLHR2Jb9SO2KWx71v5c2E,14756
160
169
  claude_mpm/dashboard/index.html,sha256=d0DPXBFdtIYWPv0TsLnnYBY8jY2wnoAL9EYAkrUN7UM,452
161
170
  claude_mpm/dashboard/open_dashboard.py,sha256=i4OHdjeQLtZX4UnLVMiFlq6iSENvlCcdcmodmaaU94Q,2205
@@ -179,8 +188,8 @@ claude_mpm/dashboard/static/built/components/session-manager.js,sha256=ZG__csNeB
179
188
  claude_mpm/dashboard/static/built/components/socket-manager.js,sha256=LEqCS0_EABAsQVUfb6WQk152mSicK2k039zne5cKR8A,131
180
189
  claude_mpm/dashboard/static/built/components/ui-state-manager.js,sha256=PtZs6sxNhqMMFwdlr04kDKQbgOvxtMHdjSh56KR2ZBo,134
181
190
  claude_mpm/dashboard/static/built/components/working-directory.js,sha256=xE1ydpKDzRWrzHzfjrCiq5wbf3vDhmgQTGKS7myQcPM,15790
182
- claude_mpm/dashboard/static/css/activity.css,sha256=7RQBekJLMIcavAHBWUsP5CTUV-GmjUbWKsRRowrl7Eo,29093
183
- claude_mpm/dashboard/static/css/code-tree.css,sha256=xgWxg5yWOeJhiZ8eirxri6JHETxQs8SQDSv3yYtdgfY,20894
191
+ claude_mpm/dashboard/static/css/activity.css,sha256=ClwqYuLrq7X0-Uj8jVuMFUvsr7BPtacaeaxLoPM-nAo,29141
192
+ claude_mpm/dashboard/static/css/code-tree.css,sha256=x0MlVKrBBYr7XU8ndhxx7cjCe35GouhthIM32Zc9SA8,25599
184
193
  claude_mpm/dashboard/static/css/connection-status.css,sha256=nQiMLxIFjY5MDgrVCG58VR5H1PpE1vLlgXmnn01-P64,6729
185
194
  claude_mpm/dashboard/static/css/dashboard.css,sha256=7QlDMl1GKluf2MA_jlijTUVlMlK0RgdyfS1RLD7uv9k,75201
186
195
  claude_mpm/dashboard/static/dist/dashboard.js,sha256=kShaKMMdwk1cKcHnXsn-3kLfYMHI14HUgGu_QJQpzZc,52792
@@ -209,7 +218,7 @@ claude_mpm/dashboard/static/js/components/activity-tree.js,sha256=358pc-N6lrJ1bf
209
218
  claude_mpm/dashboard/static/js/components/agent-hierarchy.js,sha256=Xihxog_vJrk8VBEkDogV_wbye2GIFWmH71VQ1lETOHk,28243
210
219
  claude_mpm/dashboard/static/js/components/agent-inference.js,sha256=RUVZ_fLOyDkHYjrROen_Pzzay79Bh29eXp_GRIPbIRg,37493
211
220
  claude_mpm/dashboard/static/js/components/build-tracker.js,sha256=iouv35tNhnyx9UKtD7X1eakJkpCnvZVCrAJ_VdzsKUY,11251
212
- claude_mpm/dashboard/static/js/components/code-tree.js,sha256=Miz1rHQnRKk416fWVM15oRbrg3P6mhPMCfifDcrIlq0,105246
221
+ claude_mpm/dashboard/static/js/components/code-tree.js,sha256=bLLU7MBZmTccIa3h3WCAyEwsyhRn5jicgJ7rpPPAYxQ,117432
213
222
  claude_mpm/dashboard/static/js/components/code-viewer.js,sha256=vhesEPYOM6MggweaYvYsv7ufVbuVpIcyJPXpJXyJwpM,14453
214
223
  claude_mpm/dashboard/static/js/components/connection-debug.js,sha256=Qxr_ofDNkxDlZAwbLnhZkXVMyuO9jOe-NMWC9VHxNnA,22196
215
224
  claude_mpm/dashboard/static/js/components/event-processor.js,sha256=_GnAz8pxN1iyXw0O4AIR482QFyQAigEKO9IDUOUbGqc,24844
@@ -226,6 +235,7 @@ claude_mpm/dashboard/static/js/components/ui-state-manager.js,sha256=EWm0HpPI9TS
226
235
  claude_mpm/dashboard/static/js/components/unified-data-viewer.js,sha256=FKz0H4lVuHwnxXzgNA3bbIGWvQRE2ToY4kHKd-g9HqU,36173
227
236
  claude_mpm/dashboard/static/js/components/working-directory.js,sha256=BRsPYwVnhbhFl0mC0Gvb-Ev1zxAu6yZpZcl1T1aJWWA,33558
228
237
  claude_mpm/dashboard/templates/index.html,sha256=dGb4Z2vcboxvZdNS8zv41mOM5VtHkD6gt7dlvc3tb2U,30667
238
+ claude_mpm/experimental/__init__.py,sha256=R_aclOvWpvSTHWAx9QXyg9OIPVK2dXT5tQJhxLQN11Y,369
229
239
  claude_mpm/experimental/cli_enhancements.py,sha256=rlYOMVlj8vQzuyCkHWQ7TtjcsDeFq3y1Ng5qty2fyY8,11486
230
240
  claude_mpm/generators/__init__.py,sha256=rG8vwF_BjPmeMKvyMXpUA8uJ-7mtW2HTNfalZzgRlNk,153
231
241
  claude_mpm/generators/agent_profile_generator.py,sha256=0C4Cziee6qqXOe1t0J7JO8L5cAudV-xJT_bPw1jS_9k,5695
@@ -242,7 +252,7 @@ claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py,sha256=IZKE3cJok_gb4UGFEt
242
252
  claude_mpm/hooks/claude_hooks/hook_handler_original.py,sha256=AOcGOf2WiA_aaRsaENKBvaj3Vi_UzeL_zaEgN3zxCrk,42964
243
253
  claude_mpm/hooks/claude_hooks/hook_handler_refactored.py,sha256=e8phCM18f-IcovV9_xVNYSV8nndVKdzmFJa-xjKGkq8,12983
244
254
  claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=4lG3TlLVoVfTJipPj1X_ICUlS-KpnkbUp1U3oSq80Bw,2476
245
- claude_mpm/hooks/claude_hooks/installer.py,sha256=A-aospwTpX4TG4KlKVctx7gcmPPi5hnrEdLtkv4lTB4,27275
255
+ claude_mpm/hooks/claude_hooks/installer.py,sha256=EDt7hj4N1ecYOTw2msX6yrPc2JvdcyKvDWK2JYsackY,27747
246
256
  claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=TXLavDM9eEoakPX_n2WtnfXyqGn80N-xgAvcYgvoW8s,8832
247
257
  claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=4RcM54LyYeINf3A_toaSOPuD3oXS6jZtiRstHxgSOao,14990
248
258
  claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
@@ -255,6 +265,7 @@ claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=l8fPF5CgmYnj
255
265
  claude_mpm/models/__init__.py,sha256=GADyLAiF-1VVghYKI7Urz3zSnf2sjJUXlOEMuCOs7_g,468
256
266
  claude_mpm/models/agent_definition.py,sha256=LC7EwihixF2Gw4QqOxiCNchsEzzyQJPR6AgPrcTrWTM,6674
257
267
  claude_mpm/models/agent_session.py,sha256=7YU9oklwqEDyH3PTKUQ52yh6N9C9eJX8GJKhxDCpDj0,19988
268
+ claude_mpm/schemas/__init__.py,sha256=2SLpkojJq34KnwPkVxrsVmw_cEI66872i75QBT1C2To,446
258
269
  claude_mpm/scripts/__init__.py,sha256=IffMdVD99Pxyw85yluRa0VDPi4dRQecIWce764pcfZE,553
259
270
  claude_mpm/scripts/claude-hook-handler.sh,sha256=86Ywf4lHpF9wTXmxo3lhFmcFS0wk1G3cSyHA71N8imI,6552
260
271
  claude_mpm/scripts/mcp_server.py,sha256=_i9ydtI7AcO-Eb7gzbIDbcJY4PKRQRYNobB8eMailI4,2259
@@ -262,13 +273,14 @@ claude_mpm/scripts/mcp_wrapper.py,sha256=PvfHJShcsQHGJZD-RN3RnwLOzemAKYZ2kW_QfTk
262
273
  claude_mpm/scripts/mpm_doctor.py,sha256=_D7w1yXPIRavfSnSTRpEUlHYve2CvlDBpH_a-cmN14c,8786
263
274
  claude_mpm/scripts/socketio_daemon.py,sha256=SBkLp5CSdbp3Se2f_HGGdfvjDFZL2_6gDZFX617UxCY,19910
264
275
  claude_mpm/scripts/socketio_daemon_hardened.py,sha256=P0xP1kUuCfmeJ9mdxwXoNOYekz-7utjdX50cI0Vm2eg,32958
276
+ claude_mpm/scripts/socketio_daemon_wrapper.py,sha256=XHpW9lit9oXoOKgiaCXoQMOcoP5xK5B5lSTyTgcNw-A,2965
265
277
  claude_mpm/scripts/socketio_server_manager.py,sha256=42Wm_ZTw1REDPWDpx5jk2W4J6_uAoVqWb65movUaHG0,13713
266
278
  claude_mpm/scripts/start_activity_logging.py,sha256=1G9bFYiBSkpxSRXyKht73nL5gH-4zwukLutWWKAipGg,2869
267
279
  claude_mpm/services/__init__.py,sha256=VMyi1cHDrnNJtABrRC0YKU-j9GcXZnTgxGN8bbI9E2I,7478
268
280
  claude_mpm/services/agent_capabilities_service.py,sha256=uWSI7mTZvlJAYjDnyKUPczRX5uTXN0KgUp0_1J-Qsrs,10759
269
281
  claude_mpm/services/async_session_logger.py,sha256=CPNoX-MMSNchDB3433xofhdxiPJtvp8aAs2Ajd1BnT0,21642
270
282
  claude_mpm/services/claude_session_logger.py,sha256=ZFBj8qFOTRgTLHENvH9_Z14QY0oFhwfNp0BtjLMDlrw,10358
271
- claude_mpm/services/command_deployment_service.py,sha256=BOGn42dzSOkagurO82ED4dXVRku-WlI5DSy3e5AsVgI,5842
283
+ claude_mpm/services/command_deployment_service.py,sha256=FxrHWuhvEaYL6PmjCN7Y0TlGWWIDHkzm_0UwvqI2C3A,6132
272
284
  claude_mpm/services/command_handler_service.py,sha256=LdKnujKUgrCYrvKvmCXaUMk7JGFJsyNeiKnDFdR8ox8,7031
273
285
  claude_mpm/services/event_aggregator.py,sha256=859FzkvOKL558Np42A8diVu8Hpa66AhKyhdQcEbBXoI,20201
274
286
  claude_mpm/services/exceptions.py,sha256=6l5lXX8j_JhZAgFVs7QoETvsEdzEbByvtAIDbr_JeNY,26439
@@ -389,7 +401,7 @@ claude_mpm/services/cli/dashboard_launcher.py,sha256=PCqk9e6E7SHrKmjrXZJ5Ak8yuB7
389
401
  claude_mpm/services/cli/memory_crud_service.py,sha256=ciN9Pl_12iDAqF9zPBWOzu-iXiAzpy3CiIwXRoeB5m0,22645
390
402
  claude_mpm/services/cli/memory_output_formatter.py,sha256=nbf7VsjGvH4e9fLv9c7PzjuO9COZhbK5P2fNZ79055w,24783
391
403
  claude_mpm/services/cli/session_manager.py,sha256=rla_Stbcvt93wa9G9MCMu9UqB3FLGqlPt_eN5lQb3Gg,16599
392
- claude_mpm/services/cli/socketio_manager.py,sha256=pM5ztJjezdN9tr8Ob5mZTgZFg9ARLR_fmmLvxhP7FjE,18173
404
+ claude_mpm/services/cli/socketio_manager.py,sha256=4TVNjrvGnp5KGH8PxoS74Oc5cKvcrJee0GX8Mlsh7MQ,18622
393
405
  claude_mpm/services/cli/startup_checker.py,sha256=efhuvu8ns5G16jcQ0nQZKVddmD2AktUEdlvjNcXjAuk,12232
394
406
  claude_mpm/services/communication/__init__.py,sha256=b4qc7_Rqy4DE9q7BAUlfUZjoYG4uimAyUnE0irPcXyU,560
395
407
  claude_mpm/services/core/__init__.py,sha256=evEayLlBqJvxMZhrhuK6aagXmNrKGSj8Jm9OOxKzqvU,2195
@@ -557,6 +569,7 @@ claude_mpm/services/visualization/__init__.py,sha256=cTtWxRi07rSLXQKVZa7SKZsYfj6
557
569
  claude_mpm/services/visualization/mermaid_generator.py,sha256=6QGgXtMg_N9rKeRn8wYs3IxuWGKdDVAwFMFWKfIw9s4,34277
558
570
  claude_mpm/storage/__init__.py,sha256=DXnmee6iGqC6ctFLW7_Ty1cVCjYDFuCMkwO4EV0i25k,274
559
571
  claude_mpm/storage/state_storage.py,sha256=1fFqkFy63T32JQvhUdVBNhaLQyUlkq4unjeyl0Z6j8I,16865
572
+ claude_mpm/tools/__init__.py,sha256=T3GuCYNAHtjVcKCeivY674PaDm48WX96AriQfTKUknY,347
560
573
  claude_mpm/tools/__main__.py,sha256=MKDuxFuujqD5FZcLTqniDNQ2BI8yg5fDSLU3ElV6m6U,5709
561
574
  claude_mpm/tools/code_tree_analyzer.py,sha256=_qoQcH_gMSeZQsEx2xkGuj-ZKmxabGCtk92-0XFo-Ug,59398
562
575
  claude_mpm/tools/code_tree_builder.py,sha256=gwnsFO5ajs55UzX3SU34OMZBwhjouruQhGdQ3fJHjeA,18126
@@ -582,9 +595,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
582
595
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
583
596
  claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
584
597
  claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
585
- claude_mpm-4.1.13.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
586
- claude_mpm-4.1.13.dist-info/METADATA,sha256=evsLnQuIHu_It8VWFFH-ZssK4rbm83BsTHUI6vganjo,13419
587
- claude_mpm-4.1.13.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
588
- claude_mpm-4.1.13.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
589
- claude_mpm-4.1.13.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
590
- claude_mpm-4.1.13.dist-info/RECORD,,
598
+ claude_mpm-4.1.15.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
599
+ claude_mpm-4.1.15.dist-info/METADATA,sha256=gO7xbQIS5dnPCqwdJ4rsNRcNnI4-0ZFF3jM34JXuofo,13777
600
+ claude_mpm-4.1.15.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
601
+ claude_mpm-4.1.15.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
602
+ claude_mpm-4.1.15.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
603
+ claude_mpm-4.1.15.dist-info/RECORD,,