claude-mpm 5.4.101__py3-none-any.whl → 5.4.103__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/config/agent_presets.py +7 -7
- claude_mpm/core/unified_config.py +9 -6
- claude_mpm/scripts/claude-hook-handler.sh +36 -10
- claude_mpm/services/agents/agent_recommendation_service.py +8 -8
- claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/METADATA +1 -1
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/RECORD +13 -13
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/WHEEL +0 -0
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.4.101.dist-info → claude_mpm-5.4.103.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.4.
|
|
1
|
+
5.4.103
|
|
@@ -25,12 +25,16 @@ from typing import Any, Callable, Dict, List, Union
|
|
|
25
25
|
PresetResolver = Union[List[str], Callable[[], List[str]]]
|
|
26
26
|
|
|
27
27
|
# Core agents included in ALL presets (MIN and MAX)
|
|
28
|
+
# Standard 6 core agents for essential PM workflow functionality
|
|
28
29
|
CORE_AGENTS = [
|
|
29
30
|
"claude-mpm/mpm-agent-manager", # Agent lifecycle management
|
|
30
31
|
"claude-mpm/mpm-skills-manager", # Skills management
|
|
31
|
-
"
|
|
32
|
+
"engineer/core/engineer", # General-purpose implementation
|
|
33
|
+
"universal/research", # Codebase exploration and analysis
|
|
34
|
+
"qa/qa", # Testing and quality assurance
|
|
32
35
|
"documentation/documentation", # Documentation generation
|
|
33
|
-
"
|
|
36
|
+
"ops/core/ops", # Basic deployment operations
|
|
37
|
+
"documentation/ticketing", # Ticket tracking (essential for PM workflow)
|
|
34
38
|
]
|
|
35
39
|
|
|
36
40
|
PRESETS: Dict[str, Dict[str, Any]] = {
|
|
@@ -39,11 +43,7 @@ PRESETS: Dict[str, Dict[str, Any]] = {
|
|
|
39
43
|
# ========================================
|
|
40
44
|
"minimal": {
|
|
41
45
|
"description": "Core agents only - universal starter kit",
|
|
42
|
-
"agents": CORE_AGENTS
|
|
43
|
-
+ [
|
|
44
|
-
"qa/qa",
|
|
45
|
-
"ops/core/ops",
|
|
46
|
-
],
|
|
46
|
+
"agents": CORE_AGENTS, # All 8 core agents (no additional needed)
|
|
47
47
|
"use_cases": ["Any project type", "Quick start", "Learning"],
|
|
48
48
|
},
|
|
49
49
|
# ========================================
|
|
@@ -73,15 +73,18 @@ class AgentConfig(BaseModel):
|
|
|
73
73
|
)
|
|
74
74
|
|
|
75
75
|
# Required agents that are always deployed
|
|
76
|
+
# Standard 6 core agents for essential PM workflow functionality
|
|
77
|
+
# These are auto-deployed when no agents are specified in configuration
|
|
76
78
|
required: List[str] = Field(
|
|
77
79
|
default_factory=lambda: [
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
80
|
+
"engineer", # General-purpose implementation
|
|
81
|
+
"research", # Codebase exploration and analysis
|
|
82
|
+
"qa", # Testing and quality assurance
|
|
83
|
+
"documentation", # Documentation generation
|
|
84
|
+
"ops", # Basic deployment operations
|
|
85
|
+
"ticketing", # Ticket tracking (essential for PM workflow)
|
|
83
86
|
],
|
|
84
|
-
description="Agents that are always deployed (core
|
|
87
|
+
description="Agents that are always deployed (standard 6 core agents)",
|
|
85
88
|
)
|
|
86
89
|
|
|
87
90
|
include_universal: bool = Field(
|
|
@@ -62,8 +62,13 @@ set -e
|
|
|
62
62
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
63
63
|
|
|
64
64
|
# Determine the claude-mpm root based on installation type
|
|
65
|
+
# Check if we're in a UV tools installation
|
|
66
|
+
if [[ "$SCRIPT_DIR" == *"/.local/share/uv/tools/"* ]]; then
|
|
67
|
+
# UV tools installation - script is at lib/python*/site-packages/claude_mpm/scripts/
|
|
68
|
+
# The tool root is what we need for Python detection
|
|
69
|
+
CLAUDE_MPM_ROOT="$(echo "$SCRIPT_DIR" | sed 's|/lib/python.*/site-packages.*||')"
|
|
65
70
|
# Check if we're in a pipx installation
|
|
66
|
-
|
|
71
|
+
elif [[ "$SCRIPT_DIR" == *"/.local/pipx/venvs/claude-mpm/"* ]]; then
|
|
67
72
|
# pipx installation - script is at lib/python*/site-packages/claude_mpm/scripts/
|
|
68
73
|
# The venv root is what we need for Python detection
|
|
69
74
|
CLAUDE_MPM_ROOT="$(echo "$SCRIPT_DIR" | sed 's|/lib/python.*/site-packages/.*||')"
|
|
@@ -89,11 +94,12 @@ fi
|
|
|
89
94
|
# STRATEGY:
|
|
90
95
|
# This function implements a fallback chain to find Python with claude-mpm dependencies:
|
|
91
96
|
# 1. UV-managed projects (uv.lock detected) - uses "uv run python"
|
|
92
|
-
# 2.
|
|
93
|
-
# 3.
|
|
94
|
-
# 4.
|
|
95
|
-
# 5.
|
|
96
|
-
# 6. System
|
|
97
|
+
# 2. UV tools installations (~/.local/share/uv/tools/) - uses tool's venv Python
|
|
98
|
+
# 3. pipx installations - uses pipx venv Python
|
|
99
|
+
# 4. Project-specific virtual environments (venv, .venv)
|
|
100
|
+
# 5. Currently active virtual environment ($VIRTUAL_ENV)
|
|
101
|
+
# 6. System python3 (may lack dependencies)
|
|
102
|
+
# 7. System python (last resort)
|
|
97
103
|
#
|
|
98
104
|
# WHY THIS APPROACH:
|
|
99
105
|
# - Claude MPM requires specific packages (socketio, eventlet) not in system Python
|
|
@@ -124,7 +130,21 @@ find_python_command() {
|
|
|
124
130
|
fi
|
|
125
131
|
fi
|
|
126
132
|
|
|
127
|
-
# 2. Check if we're in a
|
|
133
|
+
# 2. Check if we're in a UV tools installation
|
|
134
|
+
if [[ "$SCRIPT_DIR" == *"/.local/share/uv/tools/"* ]]; then
|
|
135
|
+
# UV tools installation - extract the tool root directory
|
|
136
|
+
CLAUDE_MPM_ROOT="$(echo "$SCRIPT_DIR" | sed 's|/lib/python.*/site-packages.*||')"
|
|
137
|
+
local uv_python="$CLAUDE_MPM_ROOT/bin/python"
|
|
138
|
+
if [ -x "$uv_python" ]; then
|
|
139
|
+
if [ "${CLAUDE_MPM_HOOK_DEBUG}" = "true" ]; then
|
|
140
|
+
echo "[$(date -u +%Y-%m-%dT%H:%M:%S.%3NZ)] UV tools Python found: $uv_python" >> /tmp/claude-mpm-hook.log
|
|
141
|
+
fi
|
|
142
|
+
echo "$uv_python"
|
|
143
|
+
return
|
|
144
|
+
fi
|
|
145
|
+
fi
|
|
146
|
+
|
|
147
|
+
# 3. Check if we're in a pipx installation
|
|
128
148
|
if [[ "$SCRIPT_DIR" == *"/.local/pipx/venvs/claude-mpm/"* ]]; then
|
|
129
149
|
# pipx installation - use the pipx venv's Python directly
|
|
130
150
|
if [ -f "$CLAUDE_MPM_ROOT/bin/python" ]; then
|
|
@@ -133,7 +153,7 @@ find_python_command() {
|
|
|
133
153
|
fi
|
|
134
154
|
fi
|
|
135
155
|
|
|
136
|
-
#
|
|
156
|
+
# 4. Check for project-local virtual environment (common in development)
|
|
137
157
|
if [ -f "$CLAUDE_MPM_ROOT/venv/bin/activate" ]; then
|
|
138
158
|
source "$CLAUDE_MPM_ROOT/venv/bin/activate"
|
|
139
159
|
echo "$CLAUDE_MPM_ROOT/venv/bin/python"
|
|
@@ -154,7 +174,13 @@ find_python_command() {
|
|
|
154
174
|
PYTHON_CMD=$(find_python_command)
|
|
155
175
|
|
|
156
176
|
# Check installation type and set PYTHONPATH accordingly
|
|
157
|
-
if [[ "$SCRIPT_DIR" == *"/.local/
|
|
177
|
+
if [[ "$SCRIPT_DIR" == *"/.local/share/uv/tools/"* ]]; then
|
|
178
|
+
# UV tools installation - claude_mpm is already in the tool's site-packages
|
|
179
|
+
# No need to modify PYTHONPATH
|
|
180
|
+
if [ "${CLAUDE_MPM_HOOK_DEBUG}" = "true" ]; then
|
|
181
|
+
echo "[$(date -u +%Y-%m-%dT%H:%M:%S.%3NZ)] UV tools installation detected" >> /tmp/claude-mpm-hook.log
|
|
182
|
+
fi
|
|
183
|
+
elif [[ "$SCRIPT_DIR" == *"/.local/pipx/venvs/claude-mpm/"* ]]; then
|
|
158
184
|
# pipx installation - claude_mpm is already in the venv's site-packages
|
|
159
185
|
# No need to modify PYTHONPATH
|
|
160
186
|
if [ "${CLAUDE_MPM_HOOK_DEBUG}" = "true" ]; then
|
|
@@ -224,4 +250,4 @@ if [ "${CLAUDE_MPM_HOOK_DEBUG}" = "true" ]; then
|
|
|
224
250
|
fi
|
|
225
251
|
# Return continue action to prevent blocking Claude Code
|
|
226
252
|
echo '{"action": "continue"}'
|
|
227
|
-
exit 0
|
|
253
|
+
exit 0
|
|
@@ -30,16 +30,16 @@ class AgentRecommendationService:
|
|
|
30
30
|
Can be used by CLI, API, or future auto-configuration features.
|
|
31
31
|
"""
|
|
32
32
|
|
|
33
|
-
# Core agents always included -
|
|
33
|
+
# Core agents always included - Standard 6 core agents for essential PM workflow
|
|
34
|
+
# These agents are auto-deployed when no configuration exists
|
|
34
35
|
# Uses exact agent IDs from repository for consistency
|
|
35
36
|
CORE_AGENTS = {
|
|
36
|
-
"engineer",
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"security-agent",
|
|
37
|
+
"engineer", # General-purpose implementation
|
|
38
|
+
"research", # Codebase exploration and analysis
|
|
39
|
+
"qa", # Testing and quality assurance
|
|
40
|
+
"documentation", # Documentation generation
|
|
41
|
+
"ops", # Basic deployment operations
|
|
42
|
+
"ticketing", # Ticket tracking (essential for PM workflow)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
# Map detected languages to recommended engineer agents
|
|
@@ -10,10 +10,19 @@ Loading precedence: Project → User → System
|
|
|
10
10
|
|
|
11
11
|
This service integrates with the main agent_loader.py to provide
|
|
12
12
|
markdown-based agent profiles alongside JSON-based templates.
|
|
13
|
+
|
|
14
|
+
Auto-Deployment: When no agents are configured, the standard 6 core agents
|
|
15
|
+
are automatically deployed:
|
|
16
|
+
- engineer: General-purpose implementation
|
|
17
|
+
- research: Codebase exploration and analysis
|
|
18
|
+
- qa: Testing and quality assurance
|
|
19
|
+
- documentation: Documentation generation
|
|
20
|
+
- ops: Basic deployment operations
|
|
21
|
+
- ticketing: Ticket tracking (essential for PM workflow)
|
|
13
22
|
"""
|
|
14
23
|
|
|
15
24
|
from pathlib import Path
|
|
16
|
-
from typing import Any, Dict, Optional
|
|
25
|
+
from typing import Any, Dict, List, Optional
|
|
17
26
|
|
|
18
27
|
from claude_mpm.agents.agent_loader import AgentTier, list_agents_by_tier
|
|
19
28
|
from claude_mpm.core.logging_utils import get_logger
|
|
@@ -21,6 +30,17 @@ from claude_mpm.core.unified_paths import get_path_manager
|
|
|
21
30
|
|
|
22
31
|
logger = get_logger(__name__)
|
|
23
32
|
|
|
33
|
+
# Standard 6 core agents that are auto-deployed when no agents are specified
|
|
34
|
+
# This list is the canonical source - other modules should import from here
|
|
35
|
+
CORE_AGENTS: List[str] = [
|
|
36
|
+
"engineer", # General-purpose implementation
|
|
37
|
+
"research", # Codebase exploration and analysis
|
|
38
|
+
"qa", # Testing and quality assurance
|
|
39
|
+
"documentation", # Documentation generation
|
|
40
|
+
"ops", # Basic deployment operations
|
|
41
|
+
"ticketing", # Ticket tracking (essential for PM workflow)
|
|
42
|
+
]
|
|
43
|
+
|
|
24
44
|
|
|
25
45
|
class FrameworkAgentLoader:
|
|
26
46
|
"""Loads agent profiles from project, user, and system directories with proper precedence"""
|
|
@@ -86,7 +106,7 @@ class FrameworkAgentLoader:
|
|
|
86
106
|
data_claude = package_path / "data" / "agents" / "CLAUDE.md"
|
|
87
107
|
if data_instructions.exists() or data_claude.exists():
|
|
88
108
|
return package_path / "data"
|
|
89
|
-
except Exception:
|
|
109
|
+
except Exception: # nosec B110 - intentional fallthrough to next location
|
|
90
110
|
pass
|
|
91
111
|
|
|
92
112
|
current = Path.cwd()
|
|
@@ -431,3 +451,56 @@ Please operate according to your profile specifications and maintain quality sta
|
|
|
431
451
|
"""
|
|
432
452
|
|
|
433
453
|
return instruction.strip()
|
|
454
|
+
|
|
455
|
+
def get_core_agents(self) -> List[str]:
|
|
456
|
+
"""
|
|
457
|
+
Get the standard 6 core agents for auto-deployment.
|
|
458
|
+
|
|
459
|
+
These agents are automatically deployed when no agents are specified
|
|
460
|
+
in the configuration. They provide essential PM workflow functionality.
|
|
461
|
+
|
|
462
|
+
Returns:
|
|
463
|
+
List of core agent IDs
|
|
464
|
+
|
|
465
|
+
Example:
|
|
466
|
+
>>> loader = FrameworkAgentLoader()
|
|
467
|
+
>>> core = loader.get_core_agents()
|
|
468
|
+
>>> 'engineer' in core
|
|
469
|
+
True
|
|
470
|
+
>>> len(core)
|
|
471
|
+
6
|
|
472
|
+
"""
|
|
473
|
+
return CORE_AGENTS.copy()
|
|
474
|
+
|
|
475
|
+
def get_agents_with_fallback(self) -> Dict[str, list]:
|
|
476
|
+
"""
|
|
477
|
+
Get available agents, falling back to core agents if none found.
|
|
478
|
+
|
|
479
|
+
This method implements the auto-deployment logic: when no agents
|
|
480
|
+
are found in any tier (project, user, system), it returns the
|
|
481
|
+
standard 6 core agents as a fallback.
|
|
482
|
+
|
|
483
|
+
Returns:
|
|
484
|
+
Dictionary with agent lists by tier. If no agents found in any tier,
|
|
485
|
+
returns core agents under 'fallback' key.
|
|
486
|
+
|
|
487
|
+
Example:
|
|
488
|
+
>>> loader = FrameworkAgentLoader()
|
|
489
|
+
>>> loader.initialize()
|
|
490
|
+
>>> agents = loader.get_agents_with_fallback()
|
|
491
|
+
>>> if 'fallback' in agents:
|
|
492
|
+
... print("Using core agents as fallback")
|
|
493
|
+
"""
|
|
494
|
+
available = self.get_available_agents()
|
|
495
|
+
|
|
496
|
+
# Check if any agents are found
|
|
497
|
+
total_agents = sum(len(agents) for agents in available.values())
|
|
498
|
+
|
|
499
|
+
if total_agents == 0:
|
|
500
|
+
logger.info(
|
|
501
|
+
"No agents found in configuration. "
|
|
502
|
+
"Auto-deploying standard 6 core agents."
|
|
503
|
+
)
|
|
504
|
+
return {"fallback": CORE_AGENTS.copy()}
|
|
505
|
+
|
|
506
|
+
return available
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
|
2
|
-
claude_mpm/VERSION,sha256=
|
|
2
|
+
claude_mpm/VERSION,sha256=57U_2gQXmrWSYBK2ignBCBhY7pDZ4wEvVAGp7bGluWY,8
|
|
3
3
|
claude_mpm/__init__.py,sha256=AGfh00BHKvLYD-UVFw7qbKtl7NMRIzRXOWw7vEuZ-h4,2214
|
|
4
4
|
claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
|
|
5
5
|
claude_mpm/constants.py,sha256=pz3lTrZZR5HhV3eZzYtIbtBwWo7iM6pkBHP_ixxmI6Y,6827
|
|
@@ -164,7 +164,7 @@ claude_mpm/commands/mpm-version.md,sha256=YGmoK3xnOQS6UkOUG_N5uh-7vJ8Ey0bSD66Qpj
|
|
|
164
164
|
claude_mpm/commands/mpm.md,sha256=zAQJatuONUsVL3vgm7CxIyw648U75ds6c3Zx34xa3rw,968
|
|
165
165
|
claude_mpm/config/__init__.py,sha256=V2dyJQ8_gVCpNiCg8zYTQqE1RSeON5Zm8n5Ndkqhp1g,916
|
|
166
166
|
claude_mpm/config/agent_config.py,sha256=IpHt9jfY335dnWbFbZHz3fBwQr5afQMvQ1c1Uo4zGmA,14862
|
|
167
|
-
claude_mpm/config/agent_presets.py,sha256=
|
|
167
|
+
claude_mpm/config/agent_presets.py,sha256=XifeOkPwb0BULWDq5aIbhR7n06IOXtVQ-RIxAwRZqNU,15815
|
|
168
168
|
claude_mpm/config/agent_sources.py,sha256=UVXHbi18Hl3jD7fWZ_IAP9kc18EQONMJIRKsHp-c_yg,12626
|
|
169
169
|
claude_mpm/config/experimental_features.py,sha256=cH95HqMUEQL-_Hs833dAAC33GHMUE5e26qpOyiEtBWI,7546
|
|
170
170
|
claude_mpm/config/model_config.py,sha256=34JnIb_U19UYns3yLX-jjpuNywDnVZhiUSvvDzGzx0g,12410
|
|
@@ -218,7 +218,7 @@ claude_mpm/core/tool_access_control.py,sha256=dpdxxp_77SuxGM2C7SsHUZbtysJmHw1rLD
|
|
|
218
218
|
claude_mpm/core/types.py,sha256=Sv62QhMYvfxbt7oIGoAhhN_jxonFTeLRf-BuhxZ4vYw,7719
|
|
219
219
|
claude_mpm/core/typing_utils.py,sha256=qny3rA9mAeXqdLgUj9DZg642shw4LmLbkPqADN-765s,13314
|
|
220
220
|
claude_mpm/core/unified_agent_registry.py,sha256=YbL-oWeHU85zdf1mF7tyMHBYKtFBupsMeH9BCdzD6ZI,34161
|
|
221
|
-
claude_mpm/core/unified_config.py,sha256=
|
|
221
|
+
claude_mpm/core/unified_config.py,sha256=DSE5JZhLJNDAfSzb4hAKrj1_nrvfBfNgyHOqXplphVg,22120
|
|
222
222
|
claude_mpm/core/unified_paths.py,sha256=F2NYAK6RNtn_xsZnVHVfP7MErzDh_O9hyaa3B4OyT9A,36690
|
|
223
223
|
claude_mpm/core/framework/__init__.py,sha256=IJCp6-MQO8gW31uG8aMWHdNg54NgGvXb4GvOuwZF6Iw,736
|
|
224
224
|
claude_mpm/core/framework/formatters/__init__.py,sha256=OKkLN2x21rcbg3d3feZLixIS-UjHPlxl768uGmQy7Qc,307
|
|
@@ -377,7 +377,7 @@ claude_mpm/models/git_repository.py,sha256=Lp2I5tv4fu6idIXCTW50MCTWgjuIE-rwsgVIr
|
|
|
377
377
|
claude_mpm/models/resume_log.py,sha256=aDiFC_2FR7tue_Kn46ZDUiKmuw9a_W9yE9zE7gA6Hys,12515
|
|
378
378
|
claude_mpm/schemas/__init__.py,sha256=2SLpkojJq34KnwPkVxrsVmw_cEI66872i75QBT1C2To,446
|
|
379
379
|
claude_mpm/scripts/__init__.py,sha256=IffMdVD99Pxyw85yluRa0VDPi4dRQecIWce764pcfZE,553
|
|
380
|
-
claude_mpm/scripts/claude-hook-handler.sh,sha256=
|
|
380
|
+
claude_mpm/scripts/claude-hook-handler.sh,sha256=46jwV7ZSmz11-0PWbxg54YOtmxmxiFYjaQZNjmNC4XU,10694
|
|
381
381
|
claude_mpm/scripts/launch_monitor.py,sha256=M0CSAYJp5UnoyXKnICZgrAFwqqP5XAWDCiii_IIcrCk,5348
|
|
382
382
|
claude_mpm/scripts/mpm_doctor.py,sha256=98vBiTIB4xpaSgOvTP9N3EU22V2Odxd9DivhQizG0VM,8822
|
|
383
383
|
claude_mpm/scripts/socketio_daemon.py,sha256=wWFcvKkHa_oR-NQwhvV-O8s3m1TgicBp9UQ-NR8AQmU,6041
|
|
@@ -422,7 +422,7 @@ claude_mpm/services/version_service.py,sha256=QSCEVZ1yrbT2OrqjiFaGhT0oPJSMCX9Z84
|
|
|
422
422
|
claude_mpm/services/agents/__init__.py,sha256=ZkES34SfCrTzWjdoCZExRccPHXXWEBzech6dNEb3T9g,2547
|
|
423
423
|
claude_mpm/services/agents/agent_builder.py,sha256=ehnzIgQ3OcF5ThqvbmS4c4ZyA-hbpvF7YhMjTKNJQkA,16378
|
|
424
424
|
claude_mpm/services/agents/agent_preset_service.py,sha256=YpIKwaq52Pi4ox6ha3L9qTT4GHc-1nPeGgV0MWGRIAs,8588
|
|
425
|
-
claude_mpm/services/agents/agent_recommendation_service.py,sha256=
|
|
425
|
+
claude_mpm/services/agents/agent_recommendation_service.py,sha256=f3F6LkPG1S42ZE52o8QnSdFwZFsv_7vgegJ6bCNbWWk,9846
|
|
426
426
|
claude_mpm/services/agents/agent_review_service.py,sha256=1meV6u8FGbYMx1vhSsCX8OembWbF3gXfl26hRdGd95Y,10001
|
|
427
427
|
claude_mpm/services/agents/agent_selection_service.py,sha256=ItCXMuFv3XzBuZAVUvx74gMeRbXTCOBFh5vLlgurJKg,17951
|
|
428
428
|
claude_mpm/services/agents/auto_config_manager.py,sha256=WdrOaosxmK1iD-1Me7eZ-VJzMW-p8liei6iEjGkbodA,30706
|
|
@@ -512,7 +512,7 @@ claude_mpm/services/agents/deployment/validation/validation_result.py,sha256=SxD
|
|
|
512
512
|
claude_mpm/services/agents/loading/__init__.py,sha256=jDKxJ4kmuMT5kJkeqUjazADtfr4zXtd8dm8EwZIfWhQ,306
|
|
513
513
|
claude_mpm/services/agents/loading/agent_profile_loader.py,sha256=AjGOXrLP20_ekBMwtVf0eS-hqxZj5R-EMlMoIFjvucs,25042
|
|
514
514
|
claude_mpm/services/agents/loading/base_agent_manager.py,sha256=ifjCdluQXNkcTJN46OCZmRZ4mf23uWHUcvxj4PzUK1c,14886
|
|
515
|
-
claude_mpm/services/agents/loading/framework_agent_loader.py,sha256=
|
|
515
|
+
claude_mpm/services/agents/loading/framework_agent_loader.py,sha256=GE8ZG4pK8NdUi9rhVJaeJuYfGURLe3yRLVdias-Q5CI,20269
|
|
516
516
|
claude_mpm/services/agents/management/__init__.py,sha256=--BL1mjPq28_Lil5Ogsz367jdtIYXo7u5AWhAoWxUhU,234
|
|
517
517
|
claude_mpm/services/agents/management/agent_capabilities_generator.py,sha256=Xt4_yA5EbvPIh_bInnIiVDTbAyqMHiduC9Pf-vRH0xI,7003
|
|
518
518
|
claude_mpm/services/agents/management/agent_management_service.py,sha256=_scmVmrnnZoWL6vnchswx8PBmu96Lz7NyKPuv9yPuWk,23014
|
|
@@ -998,10 +998,10 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
|
998
998
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
999
999
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
|
1000
1000
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
|
1001
|
-
claude_mpm-5.4.
|
|
1002
|
-
claude_mpm-5.4.
|
|
1003
|
-
claude_mpm-5.4.
|
|
1004
|
-
claude_mpm-5.4.
|
|
1005
|
-
claude_mpm-5.4.
|
|
1006
|
-
claude_mpm-5.4.
|
|
1007
|
-
claude_mpm-5.4.
|
|
1001
|
+
claude_mpm-5.4.103.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
|
|
1002
|
+
claude_mpm-5.4.103.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
|
|
1003
|
+
claude_mpm-5.4.103.dist-info/METADATA,sha256=NTz8Ff8dITQFMajBmPONFXq6ouHiRbzyO572Xgir_wU,14350
|
|
1004
|
+
claude_mpm-5.4.103.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1005
|
+
claude_mpm-5.4.103.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
|
|
1006
|
+
claude_mpm-5.4.103.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
1007
|
+
claude_mpm-5.4.103.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|