claude-mpm 4.5.6__py3-none-any.whl → 4.5.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.
- claude_mpm/VERSION +1 -1
- claude_mpm/__init__.py +20 -5
- claude_mpm/agents/BASE_OPS.md +10 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +28 -4
- claude_mpm/agents/agent_loader.py +19 -2
- claude_mpm/agents/base_agent_loader.py +5 -5
- claude_mpm/agents/templates/agent-manager.json +3 -3
- claude_mpm/agents/templates/agentic-coder-optimizer.json +3 -3
- claude_mpm/agents/templates/api_qa.json +1 -1
- claude_mpm/agents/templates/clerk-ops.json +3 -3
- claude_mpm/agents/templates/code_analyzer.json +3 -3
- claude_mpm/agents/templates/dart_engineer.json +294 -0
- claude_mpm/agents/templates/data_engineer.json +3 -3
- claude_mpm/agents/templates/documentation.json +2 -2
- claude_mpm/agents/templates/engineer.json +2 -2
- claude_mpm/agents/templates/gcp_ops_agent.json +2 -2
- claude_mpm/agents/templates/imagemagick.json +1 -1
- claude_mpm/agents/templates/local_ops_agent.json +363 -49
- claude_mpm/agents/templates/memory_manager.json +2 -2
- claude_mpm/agents/templates/nextjs_engineer.json +2 -2
- claude_mpm/agents/templates/ops.json +2 -2
- claude_mpm/agents/templates/php-engineer.json +1 -1
- claude_mpm/agents/templates/project_organizer.json +1 -1
- claude_mpm/agents/templates/prompt-engineer.json +6 -4
- claude_mpm/agents/templates/python_engineer.json +2 -2
- claude_mpm/agents/templates/qa.json +1 -1
- claude_mpm/agents/templates/react_engineer.json +3 -3
- claude_mpm/agents/templates/refactoring_engineer.json +3 -3
- claude_mpm/agents/templates/research.json +2 -2
- claude_mpm/agents/templates/security.json +2 -2
- claude_mpm/agents/templates/ticketing.json +2 -2
- claude_mpm/agents/templates/typescript_engineer.json +2 -2
- claude_mpm/agents/templates/vercel_ops_agent.json +2 -2
- claude_mpm/agents/templates/version_control.json +2 -2
- claude_mpm/agents/templates/web_qa.json +6 -6
- claude_mpm/agents/templates/web_ui.json +3 -3
- claude_mpm/cli/__init__.py +49 -19
- claude_mpm/cli/commands/configure.py +591 -7
- claude_mpm/cli/parsers/configure_parser.py +5 -0
- claude_mpm/core/__init__.py +53 -17
- claude_mpm/core/config.py +1 -1
- claude_mpm/core/log_manager.py +7 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +16 -11
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +9 -11
- claude_mpm/services/__init__.py +140 -156
- claude_mpm/services/agents/deployment/deployment_config_loader.py +21 -0
- claude_mpm/services/agents/loading/base_agent_manager.py +12 -2
- claude_mpm/services/async_session_logger.py +112 -96
- claude_mpm/services/claude_session_logger.py +63 -61
- claude_mpm/services/mcp_config_manager.py +328 -38
- claude_mpm/services/mcp_gateway/__init__.py +98 -94
- claude_mpm/services/monitor/event_emitter.py +1 -1
- claude_mpm/services/orphan_detection.py +791 -0
- claude_mpm/services/project_port_allocator.py +601 -0
- claude_mpm/services/response_tracker.py +17 -6
- claude_mpm/services/session_manager.py +176 -0
- {claude_mpm-4.5.6.dist-info → claude_mpm-4.5.11.dist-info}/METADATA +1 -1
- {claude_mpm-4.5.6.dist-info → claude_mpm-4.5.11.dist-info}/RECORD +62 -58
- {claude_mpm-4.5.6.dist-info → claude_mpm-4.5.11.dist-info}/WHEEL +0 -0
- {claude_mpm-4.5.6.dist-info → claude_mpm-4.5.11.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.5.6.dist-info → claude_mpm-4.5.11.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.5.6.dist-info → claude_mpm-4.5.11.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,176 @@
|
|
1
|
+
"""
|
2
|
+
Session Manager Service
|
3
|
+
|
4
|
+
Centralized session ID management with thread-safe singleton pattern.
|
5
|
+
Ensures a single session ID is generated and used across all components.
|
6
|
+
|
7
|
+
This service addresses race conditions and duplicate session ID generation
|
8
|
+
by providing a single source of truth for session identifiers.
|
9
|
+
"""
|
10
|
+
|
11
|
+
import os
|
12
|
+
from datetime import datetime, timezone
|
13
|
+
from threading import Lock
|
14
|
+
from typing import Optional
|
15
|
+
|
16
|
+
from claude_mpm.core.logging_utils import get_logger
|
17
|
+
|
18
|
+
logger = get_logger(__name__)
|
19
|
+
|
20
|
+
|
21
|
+
class SessionManager:
|
22
|
+
"""
|
23
|
+
Thread-safe singleton session manager.
|
24
|
+
|
25
|
+
Provides centralized session ID generation and management to prevent
|
26
|
+
duplicate session IDs across different components.
|
27
|
+
|
28
|
+
Uses double-checked locking pattern for thread-safe singleton initialization.
|
29
|
+
"""
|
30
|
+
|
31
|
+
_instance: Optional["SessionManager"] = None
|
32
|
+
_lock = Lock()
|
33
|
+
_initialized = False
|
34
|
+
|
35
|
+
def __new__(cls) -> "SessionManager":
|
36
|
+
"""
|
37
|
+
Create or return the singleton instance using double-checked locking.
|
38
|
+
|
39
|
+
Returns:
|
40
|
+
The singleton SessionManager instance
|
41
|
+
"""
|
42
|
+
# First check without lock (fast path)
|
43
|
+
if cls._instance is None:
|
44
|
+
# Acquire lock for thread safety
|
45
|
+
with cls._lock:
|
46
|
+
# Double-check inside lock
|
47
|
+
if cls._instance is None:
|
48
|
+
cls._instance = super().__new__(cls)
|
49
|
+
return cls._instance
|
50
|
+
|
51
|
+
def __init__(self):
|
52
|
+
"""
|
53
|
+
Initialize the session manager (only once).
|
54
|
+
|
55
|
+
This method uses an initialization flag to ensure it only
|
56
|
+
runs once, even if __init__ is called multiple times.
|
57
|
+
"""
|
58
|
+
# Use class-level lock to ensure thread-safe initialization
|
59
|
+
with self.__class__._lock:
|
60
|
+
if self.__class__._initialized:
|
61
|
+
return
|
62
|
+
|
63
|
+
# Generate session ID once during initialization
|
64
|
+
self._session_id = self._generate_session_id()
|
65
|
+
self._session_start_time = datetime.now(timezone.utc)
|
66
|
+
|
67
|
+
# Mark as initialized
|
68
|
+
self.__class__._initialized = True
|
69
|
+
|
70
|
+
logger.debug(
|
71
|
+
f"SessionManager initialized with session ID: {self._session_id}"
|
72
|
+
)
|
73
|
+
|
74
|
+
def _generate_session_id(self) -> str:
|
75
|
+
"""
|
76
|
+
Generate or retrieve a session ID.
|
77
|
+
|
78
|
+
Checks environment variables first, then generates a timestamp-based ID.
|
79
|
+
|
80
|
+
Returns:
|
81
|
+
A unique session identifier
|
82
|
+
"""
|
83
|
+
# Check environment variables in order of preference
|
84
|
+
env_vars = ["CLAUDE_SESSION_ID", "ANTHROPIC_SESSION_ID", "SESSION_ID"]
|
85
|
+
|
86
|
+
for env_var in env_vars:
|
87
|
+
session_id = os.environ.get(env_var)
|
88
|
+
if session_id:
|
89
|
+
logger.debug(f"Using session ID from {env_var}: {session_id}")
|
90
|
+
return session_id
|
91
|
+
|
92
|
+
# Generate timestamp-based session ID
|
93
|
+
session_id = datetime.now(timezone.utc).strftime("%Y%m%d_%H%M%S")
|
94
|
+
logger.debug(f"Generated new session ID: {session_id}")
|
95
|
+
return session_id
|
96
|
+
|
97
|
+
def get_session_id(self) -> str:
|
98
|
+
"""
|
99
|
+
Get the current session ID.
|
100
|
+
|
101
|
+
Thread-safe method to retrieve the session ID.
|
102
|
+
|
103
|
+
Returns:
|
104
|
+
The current session ID
|
105
|
+
"""
|
106
|
+
return self._session_id
|
107
|
+
|
108
|
+
def get_session_start_time(self) -> datetime:
|
109
|
+
"""
|
110
|
+
Get the session start time.
|
111
|
+
|
112
|
+
Returns:
|
113
|
+
The datetime when the session was initialized
|
114
|
+
"""
|
115
|
+
return self._session_start_time
|
116
|
+
|
117
|
+
def set_session_id(self, session_id: str) -> None:
|
118
|
+
"""
|
119
|
+
Override the session ID.
|
120
|
+
|
121
|
+
This should only be used in special circumstances, as it can
|
122
|
+
break the single session ID guarantee.
|
123
|
+
|
124
|
+
Args:
|
125
|
+
session_id: The new session ID to use
|
126
|
+
"""
|
127
|
+
with self.__class__._lock:
|
128
|
+
old_id = self._session_id
|
129
|
+
if old_id != session_id:
|
130
|
+
self._session_id = session_id
|
131
|
+
logger.warning(f"Session ID changed from {old_id} to {session_id}")
|
132
|
+
else:
|
133
|
+
logger.debug(
|
134
|
+
f"Session ID already set to {session_id}, no change needed"
|
135
|
+
)
|
136
|
+
|
137
|
+
@classmethod
|
138
|
+
def reset(cls) -> None:
|
139
|
+
"""
|
140
|
+
Reset the singleton instance (mainly for testing).
|
141
|
+
|
142
|
+
This method should not be used in production code.
|
143
|
+
"""
|
144
|
+
with cls._lock:
|
145
|
+
cls._instance = None
|
146
|
+
cls._initialized = False
|
147
|
+
logger.debug("SessionManager singleton reset")
|
148
|
+
|
149
|
+
|
150
|
+
# Global accessor function
|
151
|
+
_manager: Optional[SessionManager] = None
|
152
|
+
|
153
|
+
|
154
|
+
def get_session_manager() -> SessionManager:
|
155
|
+
"""
|
156
|
+
Get the global SessionManager instance.
|
157
|
+
|
158
|
+
Thread-safe accessor that ensures a single SessionManager exists.
|
159
|
+
|
160
|
+
Returns:
|
161
|
+
The singleton SessionManager instance
|
162
|
+
"""
|
163
|
+
global _manager
|
164
|
+
if _manager is None:
|
165
|
+
_manager = SessionManager()
|
166
|
+
return _manager
|
167
|
+
|
168
|
+
|
169
|
+
def get_session_id() -> str:
|
170
|
+
"""
|
171
|
+
Convenience function to get the current session ID.
|
172
|
+
|
173
|
+
Returns:
|
174
|
+
The current session ID
|
175
|
+
"""
|
176
|
+
return get_session_manager().get_session_id()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
|
2
|
-
claude_mpm/VERSION,sha256=
|
3
|
-
claude_mpm/__init__.py,sha256=
|
2
|
+
claude_mpm/VERSION,sha256=FINF536w0cZWycmnofveHv6yqJPqK6m26OcImAtwNAA,7
|
3
|
+
claude_mpm/__init__.py,sha256=UCw6j9e_tZQ3kJtTqmdfNv7MHyw9nD1jkj80WurwM2g,2064
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
5
5
|
claude_mpm/constants.py,sha256=cChN3myrAcF3jC-6DvHnBFTEnwlDk-TAsIXPvUZr_yw,5953
|
6
6
|
claude_mpm/init.py,sha256=14pgzGC3q2tPICkRYCZBGA7eKh-McycO905-olroUKQ,15969
|
@@ -8,60 +8,61 @@ claude_mpm/ticket_wrapper.py,sha256=qe5xY579t7_7fK5nyeAfHN_fr7CXdeOD3jfXEc8-7yo,
|
|
8
8
|
claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=aK9qxS1FRpm_8VaB5GI2I6YA9Wr8dGHuea_txMFe44M,5524
|
9
9
|
claude_mpm/agents/BASE_DOCUMENTATION.md,sha256=iGub94w3IRURz2PwT0YrfNegMlEzgZ9mzeWa_WBk1rA,1504
|
10
10
|
claude_mpm/agents/BASE_ENGINEER.md,sha256=lXkA6KoCopsRTWS1LOx2s5m6S0hT5UT0s3l5owBo0Hc,7491
|
11
|
-
claude_mpm/agents/BASE_OPS.md,sha256=
|
11
|
+
claude_mpm/agents/BASE_OPS.md,sha256=azAjZTrj77IZIBgZxX2hcjPOQMznV0v6B4ZWNUhAT9g,7636
|
12
12
|
claude_mpm/agents/BASE_PM.md,sha256=0n8b45wdRMb9ODLd8tiUu7fBP-UR33Bj0LS-AzHLXNE,3960
|
13
13
|
claude_mpm/agents/BASE_QA.md,sha256=tR4RH63IwxidDXlSnSIRRaoGtmVpJp-0_GkQkmFUbjM,1590
|
14
14
|
claude_mpm/agents/BASE_RESEARCH.md,sha256=2DZhDd5XxWWtsyNTBIwvtNWBu1JpFy5R5SAZDHh0otU,1690
|
15
15
|
claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md,sha256=zQZhrhVq9NLCtSjVX-aC0xcgueemSuPhKyv0SjEOyIQ,25852
|
16
16
|
claude_mpm/agents/MEMORY.md,sha256=KbRwY_RYdOvTvFC2DD-ATfwjHkQWJ5PIjlGws_7RmjI,3307
|
17
17
|
claude_mpm/agents/OUTPUT_STYLE.md,sha256=IYbo4jmICihrfnChbdrRpwVk4VobCcNyYqZqd53VXMk,533
|
18
|
-
claude_mpm/agents/PM_INSTRUCTIONS.md,sha256=
|
18
|
+
claude_mpm/agents/PM_INSTRUCTIONS.md,sha256=NAT35pAaM0VxgtMtspDh2Nz4K_OmTTNZ0CvODevwwws,30856
|
19
19
|
claude_mpm/agents/WORKFLOW.md,sha256=m4hjQNX8tZKNlyVPjvGJJXc-UG3yzkscmu9Nwfcddsw,2373
|
20
20
|
claude_mpm/agents/__init__.py,sha256=jRFxvV_DIZ-NdENa-703Xu3YpwvlQj6yv-mQ6FgmldM,3220
|
21
21
|
claude_mpm/agents/agent-template.yaml,sha256=mRlz5Yd0SmknTeoJWgFkZXzEF5T7OmGBJGs2-KPT93k,1969
|
22
|
-
claude_mpm/agents/agent_loader.py,sha256=
|
22
|
+
claude_mpm/agents/agent_loader.py,sha256=tseaXJRgitZdw5_H6fCmhVSr7J4zr-UILwxdJjq_evk,32563
|
23
23
|
claude_mpm/agents/agent_loader_integration.py,sha256=cU1LKCYvopZn66UefwzZxJUdTSxn6HLxdbukTjmP-KM,7280
|
24
24
|
claude_mpm/agents/agents_metadata.py,sha256=XklRSaYxKt8_2hnGn9xr-V15RMcm57Fi-QzPbAe4ZR4,9867
|
25
25
|
claude_mpm/agents/async_agent_loader.py,sha256=w9zk88SZUBycQeTHKrUiUez0CY_BrWZi13-EF6IOwWU,14597
|
26
26
|
claude_mpm/agents/base_agent.json,sha256=FJKxaN3LveoofjliQ2jVlxCo9Q-qiOefySBPsXiNNaw,5407
|
27
|
-
claude_mpm/agents/base_agent_loader.py,sha256=
|
27
|
+
claude_mpm/agents/base_agent_loader.py,sha256=GM5dmFcv6R85SB4EpWKYTkFukunoZ9p9xShxwca1l5g,21757
|
28
28
|
claude_mpm/agents/frontmatter_validator.py,sha256=MMtPoZWmvtHf8zGMZqny4YLYsdlAWU99I4Ok4uCe9PE,23879
|
29
29
|
claude_mpm/agents/system_agent_config.py,sha256=19axX46jzvY6svETjfMaFyAYtgbQO2PRXKJ-VYnCPDk,24137
|
30
30
|
claude_mpm/agents/templates/__init__.py,sha256=kghxAWs3KvcAA9Esk3NI7caumYgW6fiW8vRO1-MEndU,2735
|
31
|
-
claude_mpm/agents/templates/agent-manager.json,sha256=
|
32
|
-
claude_mpm/agents/templates/agentic-coder-optimizer.json,sha256=
|
33
|
-
claude_mpm/agents/templates/api_qa.json,sha256=
|
34
|
-
claude_mpm/agents/templates/clerk-ops.json,sha256=
|
35
|
-
claude_mpm/agents/templates/code_analyzer.json,sha256=
|
36
|
-
claude_mpm/agents/templates/
|
37
|
-
claude_mpm/agents/templates/
|
38
|
-
claude_mpm/agents/templates/
|
39
|
-
claude_mpm/agents/templates/
|
40
|
-
claude_mpm/agents/templates/
|
41
|
-
claude_mpm/agents/templates/
|
42
|
-
claude_mpm/agents/templates/
|
43
|
-
claude_mpm/agents/templates/
|
44
|
-
claude_mpm/agents/templates/
|
45
|
-
claude_mpm/agents/templates/
|
46
|
-
claude_mpm/agents/templates/
|
47
|
-
claude_mpm/agents/templates/
|
48
|
-
claude_mpm/agents/templates/
|
49
|
-
claude_mpm/agents/templates/
|
50
|
-
claude_mpm/agents/templates/
|
51
|
-
claude_mpm/agents/templates/
|
52
|
-
claude_mpm/agents/templates/
|
53
|
-
claude_mpm/agents/templates/
|
54
|
-
claude_mpm/agents/templates/
|
55
|
-
claude_mpm/agents/templates/
|
56
|
-
claude_mpm/agents/templates/
|
57
|
-
claude_mpm/agents/templates/
|
58
|
-
claude_mpm/agents/templates/
|
59
|
-
claude_mpm/agents/templates/
|
31
|
+
claude_mpm/agents/templates/agent-manager.json,sha256=Y_O1ZCLGgIfW_v-2kNBRQPYzeCvRKkHnCoZH5CVoH6c,15492
|
32
|
+
claude_mpm/agents/templates/agentic-coder-optimizer.json,sha256=injWgR0aHjFh88wLnrxNiXxm6icEHeNOknL5dckj1R8,15407
|
33
|
+
claude_mpm/agents/templates/api_qa.json,sha256=FxDFIDsihrw8acBugsiY9RtkNtKF0fUT20f9ox6jihU,5786
|
34
|
+
claude_mpm/agents/templates/clerk-ops.json,sha256=4xB-ndC-hpOvrjJTeVLZeSrN1hTyrDf3RbaiamZQvTU,17116
|
35
|
+
claude_mpm/agents/templates/code_analyzer.json,sha256=5t5a9gzKW8BDv9-GgZx2dhEJ0dPlu5YO3zuoOJIuWHQ,7417
|
36
|
+
claude_mpm/agents/templates/dart_engineer.json,sha256=-GSr98Ut_raIZdL73Wcv5lMK2JG4mGhzAVnPjVYIxX4,22219
|
37
|
+
claude_mpm/agents/templates/data_engineer.json,sha256=FdjmqOB1cc-cDDOV7IYjOoiavnGNxXT0_7ICkRApey4,19562
|
38
|
+
claude_mpm/agents/templates/documentation.json,sha256=3rk1hZmqG65CKOZ8RwVAPfQe2a4b5xu_K29RS4tGeK8,10026
|
39
|
+
claude_mpm/agents/templates/engineer.json,sha256=4rggh1bdQUZAtJBpqf7P-yKTrsNYFGjwznGftUCzKbk,8224
|
40
|
+
claude_mpm/agents/templates/gcp_ops_agent.json,sha256=ta9IvRt94xmIhyS1URAv3KnOlgeS0qzUWYg4LmmqpSk,10813
|
41
|
+
claude_mpm/agents/templates/imagemagick.json,sha256=AZnOVAoin79hDqW9wbCSPtnrTTsyGAcoV1X0wdbQASk,17747
|
42
|
+
claude_mpm/agents/templates/local_ops_agent.json,sha256=03nWJbxV63QPT7kotI7IbG481oee2-jVyR3UEaw-Fnc,15772
|
43
|
+
claude_mpm/agents/templates/memory_manager.json,sha256=h1DCAn5Wd8TbTzCGjqZ9I8LgGqVgPu_81TEvGyL5YqY,12733
|
44
|
+
claude_mpm/agents/templates/nextjs_engineer.json,sha256=wOV_ZH6r3JaZQwu7YxfjEMU3RR-yHzK-_YGheUPa9x4,18787
|
45
|
+
claude_mpm/agents/templates/ops.json,sha256=z6qQyMOxuMMqL8kL8lsh0BsRa0kLgAozVsz-K6sOmkA,10912
|
46
|
+
claude_mpm/agents/templates/php-engineer.json,sha256=K3VovBySAnUz1yFTU0HHa6ojoPx2ggwAgwNmNdskB7A,20386
|
47
|
+
claude_mpm/agents/templates/project_organizer.json,sha256=sqGoA0eHSWIrpUskruKFUy0EFvzAOhUrAxPea6C5vLg,5632
|
48
|
+
claude_mpm/agents/templates/prompt-engineer.json,sha256=5EMWBF4iu7l2t1QRnMT3fULP-YoOnDoAce8O-zp2qEI,10761
|
49
|
+
claude_mpm/agents/templates/python_engineer.json,sha256=5I3C2JDd6arZ49k70o35JOQIFflgdUyxK1kWMYZiuEs,17880
|
50
|
+
claude_mpm/agents/templates/qa.json,sha256=9bujolLECEpXS3VYrKX2xQKeqhP7ALLEubgFuSN7xKo,9590
|
51
|
+
claude_mpm/agents/templates/react_engineer.json,sha256=0w2T97z2oMaYcmv_8Xbtl8ZPQIGTmpAF39y3MxwNqbs,12436
|
52
|
+
claude_mpm/agents/templates/refactoring_engineer.json,sha256=oik5Hufp8W5K2BJIBx-d765XU6PLI7YouiPaKThoLqA,11883
|
53
|
+
claude_mpm/agents/templates/research.json,sha256=32YSundUnEKEhDmXIPV561rTz6fHwDKvcOtwsk0_PAc,12159
|
54
|
+
claude_mpm/agents/templates/security.json,sha256=a2txld126oF_9hGAxQKt859JBB25yrVoEFIMeKILRUc,24309
|
55
|
+
claude_mpm/agents/templates/ticketing.json,sha256=qda7sOKnsOEtz0BGX2clDcYFl_82KVr9hZdzUET-z8k,11656
|
56
|
+
claude_mpm/agents/templates/typescript_engineer.json,sha256=3hHtTgMTRVyQMQXcBxa4U6AjXuEjG31aFPA2eEiLigQ,20861
|
57
|
+
claude_mpm/agents/templates/vercel_ops_agent.json,sha256=2N8fksufcwvdFVRUkThfZllfJ7yFm1JgGbRaOaIpSD0,27048
|
58
|
+
claude_mpm/agents/templates/version_control.json,sha256=WETyIYty0XSblvHJR9pXuH1NqmhRCYJ9lrxtZZWoAhs,14511
|
59
|
+
claude_mpm/agents/templates/web_qa.json,sha256=ttB8F9S-Khoiidqa9DVE7u4RsckRsDStrIuvhrDcPc8,26972
|
60
|
+
claude_mpm/agents/templates/web_ui.json,sha256=hApFnhb8W3rU-ROJYdZnFcD1gvdVLMUb2BfqipiYCj8,35035
|
60
61
|
claude_mpm/agents/templates/.claude-mpm/memories/README.md,sha256=vEiG7cPjHRZfwX2IQB-i30ArO8zJyuxMJzHh8hnVZ6A,483
|
61
62
|
claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md,sha256=KMZSJrQi-wHOwfl2C0m3A4PpC4QuBtDolAtVybGahKc,77
|
62
63
|
claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md,sha256=UBm4BycXtdaa-_l1VCh0alTGGOUSsnCbpKwbFuI-mUY,2219
|
63
64
|
claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md,sha256=oPvFSYFnmJ4TkbTe4AZnNHWaJMJ-xqZP2WM6scUKQKo,13089
|
64
|
-
claude_mpm/cli/__init__.py,sha256=
|
65
|
+
claude_mpm/cli/__init__.py,sha256=Ax7UaFjC5_oSdK_iREVaWIwSO7tF92YQKvA2UvAPKYE,22352
|
65
66
|
claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
|
66
67
|
claude_mpm/cli/parser.py,sha256=Vqx9n-6Xo1uNhXR4rThmgWpZXTr0nOtkgDf3oMS9b0g,5855
|
67
68
|
claude_mpm/cli/startup_logging.py,sha256=xtgAmTirhpk2B-dIS9YKcesPprXTukfu24gJSmGt8y8,29357
|
@@ -76,7 +77,7 @@ claude_mpm/cli/commands/analyze_code.py,sha256=TKTKZRhEUdf_kSMTCPS6gNE64ZTGDvywv
|
|
76
77
|
claude_mpm/cli/commands/cleanup.py,sha256=ul8O_ZeU6mJj4x9a-ztG16oIbUUKIcXfvNuSVitXOF0,19764
|
77
78
|
claude_mpm/cli/commands/cleanup_orphaned_agents.py,sha256=JR8crvgrz7Sa6d-SI-gKywok5S9rwc_DzDVk_h85sVs,4467
|
78
79
|
claude_mpm/cli/commands/config.py,sha256=38zoU55pHQdUL-4Sjt4yQ_w_MINZqeBcsb7z3kLTXaE,18593
|
79
|
-
claude_mpm/cli/commands/configure.py,sha256=
|
80
|
+
claude_mpm/cli/commands/configure.py,sha256=aJE-c09Eb51-5t8m-HeeJctNg7QFaZ7hmsHgJjGkLLM,79989
|
80
81
|
claude_mpm/cli/commands/dashboard.py,sha256=0f8_JaXo854kZgcqzZ3cm3VG8muhSsV7JqIzjdSJLcc,11420
|
81
82
|
claude_mpm/cli/commands/debug.py,sha256=qEfmBG9slmOY6a8snoytM1OWCdWwBALzN1lqV7ElIBU,47130
|
82
83
|
claude_mpm/cli/commands/doctor.py,sha256=vjybK9ied4PIF7QltEieyU7fDdFGtw9p4UiSOvrlWfo,7311
|
@@ -109,7 +110,7 @@ claude_mpm/cli/parsers/analyze_code_parser.py,sha256=cpJSMFbc3mqB4qrMBIEZiikzPek
|
|
109
110
|
claude_mpm/cli/parsers/analyze_parser.py,sha256=E00Ao0zwzbJPchs_AJt-aoQ7LQEtJPXRCNQ6Piivb4o,3908
|
110
111
|
claude_mpm/cli/parsers/base_parser.py,sha256=Wejn4lAo-rMUQVP13PAehE6NoqmH2AD50HLKDf3QAKM,14169
|
111
112
|
claude_mpm/cli/parsers/config_parser.py,sha256=wp6NbV8_p9txP28MXFcQrri0JDIfGFM7u4aJbYJXcYQ,2699
|
112
|
-
claude_mpm/cli/parsers/configure_parser.py,sha256=
|
113
|
+
claude_mpm/cli/parsers/configure_parser.py,sha256=t3cwAQX3BfljDDRJH3i0LplpRprw5jdKcI9Uy3M8xtE,4382
|
113
114
|
claude_mpm/cli/parsers/dashboard_parser.py,sha256=JBCM6v_iZhADr_Fwtk_d3up9AOod1avMab-vkNE61gE,3460
|
114
115
|
claude_mpm/cli/parsers/debug_parser.py,sha256=F7MZdmiXiPfiIPMv21ZUqB2cMT8Ho1LDmpbvCXODLbY,9846
|
115
116
|
claude_mpm/cli/parsers/mcp_parser.py,sha256=2j6ULhdu55Z2k_-Gu2QxIsFoTQFbDCEMSGePXSuPoQQ,6532
|
@@ -142,7 +143,7 @@ claude_mpm/config/agent_config.py,sha256=sICpvJoOuJGRzdSIMWvC9ECzKTKF-3Psi-ATSaZ
|
|
142
143
|
claude_mpm/config/experimental_features.py,sha256=ma-Va7CVqOYrUEGZW6A4gdMRLHOpovHf8pHgP_3-xr0,7481
|
143
144
|
claude_mpm/config/paths.py,sha256=wTZxXt6LjD-gK9lG4i2QSuSnFRXe5lFaVU4dIr22ap8,7643
|
144
145
|
claude_mpm/config/socketio_config.py,sha256=Kv5vxQ-UAKAFsa_FukkrujnBzFAwOi2KbEa3mFX3UXQ,11343
|
145
|
-
claude_mpm/core/__init__.py,sha256=
|
146
|
+
claude_mpm/core/__init__.py,sha256=2bufzjbIXffZnSg5k-JH9czMDTkmtz-Jb9opgHmQY-0,2598
|
146
147
|
claude_mpm/core/agent_name_normalizer.py,sha256=ZvdQsToFqxLWEPbf8gU1Hl8h3M47DBPmZ8zSAkEp-fc,8939
|
147
148
|
claude_mpm/core/agent_registry.py,sha256=8xHORhoArccLLbEL5nY0sLi8a_dYSNHR3CHh7-olrvc,18820
|
148
149
|
claude_mpm/core/agent_session_manager.py,sha256=5vnrNUSGSSQOuhoq7OlhFvEnw0mKsmLeEB0_vXTI9BQ,11137
|
@@ -150,7 +151,7 @@ claude_mpm/core/api_validator.py,sha256=4Hn1vJ8YnIgsvC0x75kMYG69OmbOOzYIzqahl_5W
|
|
150
151
|
claude_mpm/core/base_service.py,sha256=rbO4gpSOvnbfTVOCQ1uyDh9fNpnhfxARrpyAisedqXY,29300
|
151
152
|
claude_mpm/core/cache.py,sha256=A90QpJi8eDyCB7mwDUq-E9lKj4qz9Sh7XsYVTel8NTU,17224
|
152
153
|
claude_mpm/core/claude_runner.py,sha256=e6ob7FwcBzvhw9gnPvmL8Zw_BasdfzuV8b1dvqtvGKk,34787
|
153
|
-
claude_mpm/core/config.py,sha256=
|
154
|
+
claude_mpm/core/config.py,sha256=zh8sF3RGHHJ6FU2LCJNPhp6aZqGS0xMZlyQgNyKgyLk,39406
|
154
155
|
claude_mpm/core/config_aliases.py,sha256=culH9pOBJU8Dg5D6Pn5d6WIw3lHVM2JIa24YA7LVezQ,9675
|
155
156
|
claude_mpm/core/config_constants.py,sha256=GJtjTjRl_hGWJqoCBPE2YVl3Tuz1jebP12PMTbboTJo,10090
|
156
157
|
claude_mpm/core/constants.py,sha256=uBCd4kUbwSFKW79pH7_yUzRpMoNY2AcAflENTkIZIaU,11558
|
@@ -167,7 +168,7 @@ claude_mpm/core/instruction_reinforcement_hook.py,sha256=s9KGkdJO8E9ip3MB5PlXo52
|
|
167
168
|
claude_mpm/core/interactive_session.py,sha256=OO0Oqv5hXfEtnAUNUc2WKd6BtxbT_p4Kcei-53GKxno,21973
|
168
169
|
claude_mpm/core/interfaces.py,sha256=RNqXxUioEpV4vOaEoUJ38OvKYPMlpSb3V5Sb97l0w3Q,25625
|
169
170
|
claude_mpm/core/lazy.py,sha256=pyCfEqGHyLz18yXTu_uG52-II-9nCaBcpzwwQGBrQro,14808
|
170
|
-
claude_mpm/core/log_manager.py,sha256=
|
171
|
+
claude_mpm/core/log_manager.py,sha256=f28gMWxoCeiE_Rlyl3LXMAoSz37MWLD62po-igDWTbc,24519
|
171
172
|
claude_mpm/core/logger.py,sha256=DA_vzrppTGpP7ptzYR49L9pU36HtcMG3glB8f_dAX_k,20932
|
172
173
|
claude_mpm/core/logging_config.py,sha256=tCxM3EpSmjZ7kT7hckQxQZlrxuWVm4g-qu9RHe8hDcw,14588
|
173
174
|
claude_mpm/core/logging_utils.py,sha256=KKFkUW9rSxa28xk6L9EUK0DttBR1MWQk_AS-4fzWfTo,16007
|
@@ -381,11 +382,11 @@ claude_mpm/hooks/claude_hooks/hook_handler_refactored.py,sha256=XPy5WR6Hqkw1M1eE
|
|
381
382
|
claude_mpm/hooks/claude_hooks/hook_wrapper.sh,sha256=4lG3TlLVoVfTJipPj1X_ICUlS-KpnkbUp1U3oSq80Bw,2476
|
382
383
|
claude_mpm/hooks/claude_hooks/installer.py,sha256=4QUZcnQWlQDH11BypvYs_JpQ-ojRF0DC_gBxOWPuew4,27777
|
383
384
|
claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=9PogijgklM7iSNRTK2Sdz3s9AOlxL8Rt5axtU71-J2M,8866
|
384
|
-
claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=
|
385
|
+
claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=zpP3EITNqMKYwr7NESa-uAe-nCyEr91fLfXNCMbeS_s,15416
|
385
386
|
claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=t4CFrLldjD-akBY52su6Cl0cBmZCKRZbGbIE-Yg2Hhk,7896
|
386
387
|
claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=OIYOKsUNw1BHYawOCp-KFK5kmQKuj92cCqCEPO0nwo0,585
|
387
388
|
claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=6GSZ6lB0j6u7jE-w9ay-57YX-VVBFGfK_wmZNNM6hxE,8280
|
388
|
-
claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=
|
389
|
+
claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=gZCzOFRSTGQllmaFidTxvzbcvq5aQd6ZqvR_1QzEL74,8976
|
389
390
|
claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
|
390
391
|
claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=l50dVFt6eafeLCjlu6TH3qqt8tTBEof971U1OlrUxZ8,11166
|
391
392
|
claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=f7a_vgo_kuG9MalDTka2UPXwDyCkqNgCvG8i1hp0oRo,15263
|
@@ -401,25 +402,28 @@ claude_mpm/scripts/mcp_wrapper.py,sha256=PvfHJShcsQHGJZD-RN3RnwLOzemAKYZ2kW_QfTk
|
|
401
402
|
claude_mpm/scripts/mpm_doctor.py,sha256=98vBiTIB4xpaSgOvTP9N3EU22V2Odxd9DivhQizG0VM,8822
|
402
403
|
claude_mpm/scripts/socketio_daemon.py,sha256=I1n0ny6UZTQWKN-_ZiNKK37jJTRgRESyHDAVvXWK33M,6038
|
403
404
|
claude_mpm/scripts/start_activity_logging.py,sha256=1G9bFYiBSkpxSRXyKht73nL5gH-4zwukLutWWKAipGg,2869
|
404
|
-
claude_mpm/services/__init__.py,sha256=
|
405
|
+
claude_mpm/services/__init__.py,sha256=zpOTHFG2gIZQ3I1QCXyAUYzl5T4RwgldHIjKk_GLOOU,7804
|
405
406
|
claude_mpm/services/agent_capabilities_service.py,sha256=8-LA1JuTF9IZRBT0AvU4HF9OBMCyySTOZGNuX17T6JM,10776
|
406
|
-
claude_mpm/services/async_session_logger.py,sha256=
|
407
|
-
claude_mpm/services/claude_session_logger.py,sha256=
|
407
|
+
claude_mpm/services/async_session_logger.py,sha256=QFKOfBBCGmtIQTe6TtTf9zAEFqSst2_MwWBPLtGn0P0,23882
|
408
|
+
claude_mpm/services/claude_session_logger.py,sha256=keSHp_KEGV4ic7_jyBsI-9ozevYUt0AjiiSq7ksE0XA,11160
|
408
409
|
claude_mpm/services/command_deployment_service.py,sha256=FxrHWuhvEaYL6PmjCN7Y0TlGWWIDHkzm_0UwvqI2C3A,6132
|
409
410
|
claude_mpm/services/command_handler_service.py,sha256=LdKnujKUgrCYrvKvmCXaUMk7JGFJsyNeiKnDFdR8ox8,7031
|
410
411
|
claude_mpm/services/event_aggregator.py,sha256=DDcehIZVpiEDzs9o18gDZyvjMBHCq2H8HF4h0ofG9d4,20250
|
411
412
|
claude_mpm/services/exceptions.py,sha256=5lVZETr_6-xk0ItH7BTfYUiX5RlckS1e8ah_UalYG9c,26475
|
412
413
|
claude_mpm/services/hook_installer_service.py,sha256=z3kKeriEY1Y9bFesuGlHBxhCtc0Wzd3Zv02k2_rEyGo,19727
|
413
414
|
claude_mpm/services/hook_service.py,sha256=rZnMn_4qxX5g9KAn0IQdoG50WmySNfsTmfG0XHuRHXk,15737
|
414
|
-
claude_mpm/services/mcp_config_manager.py,sha256=
|
415
|
+
claude_mpm/services/mcp_config_manager.py,sha256=hGrmwfzlycmJy9s8CWsL5ItxL7VZbGW7Jtb81luXXjA,66979
|
415
416
|
claude_mpm/services/mcp_service_verifier.py,sha256=yxybULGAjde3oMqwQ92BiOthlAJKfS_ierPkShFoDHE,25655
|
416
417
|
claude_mpm/services/memory_hook_service.py,sha256=pRlTClkRcw30Jhwbha4BC8IMdzKZxF8aWqf52JlntgY,11600
|
417
418
|
claude_mpm/services/monitor_build_service.py,sha256=8gWR9CaqgXdG6-OjOFXGpk28GCcJTlHhojkUYnMCebI,12160
|
419
|
+
claude_mpm/services/orphan_detection.py,sha256=-dfDD5IZ6eMFLZKPG9CQvlhrTCDk786BYWHmj3Iiw8c,26444
|
418
420
|
claude_mpm/services/port_manager.py,sha256=CYqLh8Ss_-aoYEXV3G6uZkGexpsRK_XTBL0bV4P3tSI,22838
|
421
|
+
claude_mpm/services/project_port_allocator.py,sha256=NuNBPOuHO2TK93Ycznrg_k7moHN3qe38tqhUEAdekq0,19159
|
419
422
|
claude_mpm/services/recovery_manager.py,sha256=ptUYsguF6oKWnJnzPRSBuzUFVDXIcvsS3svT6MBTqCQ,25686
|
420
|
-
claude_mpm/services/response_tracker.py,sha256=
|
423
|
+
claude_mpm/services/response_tracker.py,sha256=wBPgI5fH40xc7NHcCXQFOTPFTPSVbAZPqXIauXOJA5g,9575
|
421
424
|
claude_mpm/services/runner_configuration_service.py,sha256=Qs84yrZfQv-DC0I2Xah1Qt9eunH4gS7LNMZ0mmymcqA,21311
|
422
425
|
claude_mpm/services/session_management_service.py,sha256=DdFeL_oPO-FGKyTjaDkAnyzZAFckmdT54U5z2QC4bn8,10061
|
426
|
+
claude_mpm/services/session_manager.py,sha256=ElguSoiy725VWS2iEqtcn0dUPIRrQrrON74aUzrWjRE,5147
|
423
427
|
claude_mpm/services/socketio_client_manager.py,sha256=cZjIsnoi2VPXFA-5pNhoz5Vv3qv0iuSTy510TgAJU4U,18179
|
424
428
|
claude_mpm/services/socketio_server.py,sha256=yE14_4pHERXBC5L1WQCpIBHuy0tpklsUY_icyl-nLkg,3033
|
425
429
|
claude_mpm/services/subprocess_launcher_service.py,sha256=b8FeO0kh6AblWqnFX4XtSxEw93tENCczVvK0OjbYvpk,10999
|
@@ -454,7 +458,7 @@ claude_mpm/services/agents/deployment/agent_versioning.py,sha256=PrOrauoe0rUftZv
|
|
454
458
|
claude_mpm/services/agents/deployment/agents_directory_resolver.py,sha256=4ylwNMs9i8eGa1jSBkU0wW1O0Jvr4GNrrWX81F0wQWU,2175
|
455
459
|
claude_mpm/services/agents/deployment/async_agent_deployment.py,sha256=VDUw-UcGDby99ZULTK6G4rF3yp33Pef3O5zmnQxdQFg,28163
|
456
460
|
claude_mpm/services/agents/deployment/base_agent_locator.py,sha256=szw9N1Di6AJuuWGIZHRfgWij6wwMbag--6XzjFvmpiA,4751
|
457
|
-
claude_mpm/services/agents/deployment/deployment_config_loader.py,sha256=
|
461
|
+
claude_mpm/services/agents/deployment/deployment_config_loader.py,sha256=xma4xWUp5QLQL0z4wSM9KTXmVR19CSw0iXAlaFyr6ow,6739
|
458
462
|
claude_mpm/services/agents/deployment/deployment_results_manager.py,sha256=oNJ8DhmeXswD4_6qmLpDusI2edyJy2gd203ePxmJEy8,6609
|
459
463
|
claude_mpm/services/agents/deployment/deployment_type_detector.py,sha256=b6x6qpGVSGPzNzioqN4kSOXHAhSiIqbqiaLTdlcvwsY,4378
|
460
464
|
claude_mpm/services/agents/deployment/deployment_wrapper.py,sha256=zfWROgIW0SpQFhRmMTOHwWGDY27bhnXaMw3yyCbwVEY,4760
|
@@ -504,7 +508,7 @@ claude_mpm/services/agents/deployment/validation/template_validator.py,sha256=WR
|
|
504
508
|
claude_mpm/services/agents/deployment/validation/validation_result.py,sha256=IQHGalSuk1NK7DacytTmCMVTvn-UrEmcthsXcFi_YY8,6417
|
505
509
|
claude_mpm/services/agents/loading/__init__.py,sha256=jDKxJ4kmuMT5kJkeqUjazADtfr4zXtd8dm8EwZIfWhQ,306
|
506
510
|
claude_mpm/services/agents/loading/agent_profile_loader.py,sha256=nwDIWexyftHjjq_zJQ13G53pAQc7ppua2uJtQoiseb4,25053
|
507
|
-
claude_mpm/services/agents/loading/base_agent_manager.py,sha256=
|
511
|
+
claude_mpm/services/agents/loading/base_agent_manager.py,sha256=2M-eiObw6MRRHlP2viVRgmF49j0AAd34VgwptT4XoSA,15416
|
508
512
|
claude_mpm/services/agents/loading/framework_agent_loader.py,sha256=NuKNqeKHemQ2D7BiSHfR2L-YtK7ERKnMpg7Zvy8B6gs,17611
|
509
513
|
claude_mpm/services/agents/management/__init__.py,sha256=--BL1mjPq28_Lil5Ogsz367jdtIYXo7u5AWhAoWxUhU,234
|
510
514
|
claude_mpm/services/agents/management/agent_capabilities_generator.py,sha256=Xt4_yA5EbvPIh_bInnIiVDTbAyqMHiduC9Pf-vRH0xI,7003
|
@@ -611,7 +615,7 @@ claude_mpm/services/infrastructure/monitoring/network.py,sha256=L874kGjryP_R8tDw
|
|
611
615
|
claude_mpm/services/infrastructure/monitoring/process.py,sha256=_gh124mIemvHZE2wV1VWuMf-u7qI3VpXAUSSmuCOIJY,11054
|
612
616
|
claude_mpm/services/infrastructure/monitoring/resources.py,sha256=7Mt9zvNAYGf7OTLBUFpGoDQncCuTYkpODRKV42T6wyI,7665
|
613
617
|
claude_mpm/services/infrastructure/monitoring/service.py,sha256=guYB6rJtU18T2kPhZbKKg85l96lm2f7XVtPnBt1O3So,12613
|
614
|
-
claude_mpm/services/mcp_gateway/__init__.py,sha256=
|
618
|
+
claude_mpm/services/mcp_gateway/__init__.py,sha256=4fiMsd7i2QzZpEXCUeo0Vk_CXRi35TE94gPvwyuz2es,5099
|
615
619
|
claude_mpm/services/mcp_gateway/auto_configure.py,sha256=QQx_9k5pWZCwa73gNCs_Z7ZwIltcQdiZ9PExH3_LMAw,12074
|
616
620
|
claude_mpm/services/mcp_gateway/main.py,sha256=NquQsjAKvEEGxNYG-AQt98lruSVWHxzrh4R8ZzR3BI4,17775
|
617
621
|
claude_mpm/services/mcp_gateway/config/__init__.py,sha256=MpFgHfaT3dQz5QyEdpfbulD6tXUOY325LkovAYsdkAg,386
|
@@ -653,7 +657,7 @@ claude_mpm/services/memory/cache/simple_cache.py,sha256=rePUw7poI2CM6l9ZuVgBqtsI
|
|
653
657
|
claude_mpm/services/monitor/__init__.py,sha256=X7gxSLUm9Fg_zEsX6LtCHP2ipF0qj6Emkun20h2So7g,745
|
654
658
|
claude_mpm/services/monitor/daemon.py,sha256=Uxnrg-OZGc6VjezkW6CZMfe1RR-J-Z7pDgoV8WEctwI,25951
|
655
659
|
claude_mpm/services/monitor/daemon_manager.py,sha256=FG4sYaT-nJeSPVx1fZOkNoEEAm1cwE7Z9ZhP21HDzDk,34192
|
656
|
-
claude_mpm/services/monitor/event_emitter.py,sha256=
|
660
|
+
claude_mpm/services/monitor/event_emitter.py,sha256=6bRpUbd-GFrGu9VxlyigVpZbM9Tr4LqSOkYxMTmc59A,12522
|
657
661
|
claude_mpm/services/monitor/server.py,sha256=xO1zpuz7slFeTBQsyhjLc6_RaDCJU7ODskYL8gH52Ds,31512
|
658
662
|
claude_mpm/services/monitor/handlers/__init__.py,sha256=jgPIf4IJVERm_tAeD9834tfx9IcxtlHj5r9rhEWpkfM,701
|
659
663
|
claude_mpm/services/monitor/handlers/code_analysis.py,sha256=3na63aagO8DN3Z2e9c_VpStkd3-NTpA4c58b9G_Bv-Y,11404
|
@@ -776,9 +780,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
776
780
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
777
781
|
claude_mpm/validation/agent_validator.py,sha256=Nm2WmcbCb0EwOG4nFcikc3wVdiiAfjGBBI3YoR6ainQ,20915
|
778
782
|
claude_mpm/validation/frontmatter_validator.py,sha256=IDBOCBweO6umydSnUJjBh81sKk3cy9hRFYm61DCiXbI,7020
|
779
|
-
claude_mpm-4.5.
|
780
|
-
claude_mpm-4.5.
|
781
|
-
claude_mpm-4.5.
|
782
|
-
claude_mpm-4.5.
|
783
|
-
claude_mpm-4.5.
|
784
|
-
claude_mpm-4.5.
|
783
|
+
claude_mpm-4.5.11.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
784
|
+
claude_mpm-4.5.11.dist-info/METADATA,sha256=vwYE-NewhNLVYR4nhMAYt77fQdx277nxEvewi1q9wuY,17518
|
785
|
+
claude_mpm-4.5.11.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
786
|
+
claude_mpm-4.5.11.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
|
787
|
+
claude_mpm-4.5.11.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
788
|
+
claude_mpm-4.5.11.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|