claude-mpm 4.14.8__py3-none-any.whl → 4.14.9__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.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/agent_loader.py +13 -1
- claude_mpm/core/enums.py +88 -11
- claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +1 -1
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +3 -3
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +1 -1
- claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +1 -1
- {claude_mpm-4.14.8.dist-info → claude_mpm-4.14.9.dist-info}/METADATA +1 -1
- {claude_mpm-4.14.8.dist-info → claude_mpm-4.14.9.dist-info}/RECORD +13 -13
- {claude_mpm-4.14.8.dist-info → claude_mpm-4.14.9.dist-info}/WHEEL +0 -0
- {claude_mpm-4.14.8.dist-info → claude_mpm-4.14.9.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.14.8.dist-info → claude_mpm-4.14.9.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.14.8.dist-info → claude_mpm-4.14.9.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
4.14.
|
|
1
|
+
4.14.9
|
|
@@ -38,6 +38,8 @@ from enum import Enum
|
|
|
38
38
|
from pathlib import Path
|
|
39
39
|
from typing import Any, Dict, List, Optional, Tuple, Union
|
|
40
40
|
|
|
41
|
+
from claude_mpm.core.enums import AgentCategory
|
|
42
|
+
|
|
41
43
|
# Module-level logger
|
|
42
44
|
from claude_mpm.core.logging_utils import get_logger
|
|
43
45
|
|
|
@@ -281,11 +283,21 @@ class AgentLoader:
|
|
|
281
283
|
# Check for project memory
|
|
282
284
|
has_memory = capabilities.get("has_project_memory", False)
|
|
283
285
|
|
|
286
|
+
# Get category with enum validation (fallback to GENERAL if invalid)
|
|
287
|
+
category_str = metadata.get("category", "general")
|
|
288
|
+
try:
|
|
289
|
+
category = AgentCategory(category_str)
|
|
290
|
+
except ValueError:
|
|
291
|
+
logger.warning(
|
|
292
|
+
f"Invalid category '{category_str}' for agent {agent_id}, using GENERAL"
|
|
293
|
+
)
|
|
294
|
+
category = AgentCategory.GENERAL
|
|
295
|
+
|
|
284
296
|
result = {
|
|
285
297
|
"agent_id": agent_id,
|
|
286
298
|
"name": metadata.get("name", agent_id),
|
|
287
299
|
"description": metadata.get("description", ""),
|
|
288
|
-
"category":
|
|
300
|
+
"category": category.value, # Store as string for backward compatibility
|
|
289
301
|
"version": metadata.get("version", "1.0.0"),
|
|
290
302
|
"model": agent_data.get("model", "claude-sonnet-4-20250514"),
|
|
291
303
|
"resource_tier": agent_data.get("resource_tier", "standard"),
|
claude_mpm/core/enums.py
CHANGED
|
@@ -70,6 +70,9 @@ class OperationResult(StrEnum):
|
|
|
70
70
|
PARTIAL = "partial"
|
|
71
71
|
"""Operation completed partially."""
|
|
72
72
|
|
|
73
|
+
ROLLBACK = "rollback"
|
|
74
|
+
"""Operation rolled back due to failure or cancellation."""
|
|
75
|
+
|
|
73
76
|
UNKNOWN = "unknown"
|
|
74
77
|
"""Operation result is unknown or indeterminate."""
|
|
75
78
|
|
|
@@ -179,6 +182,41 @@ class ValidationSeverity(StrEnum):
|
|
|
179
182
|
"""Debug-level information for troubleshooting."""
|
|
180
183
|
|
|
181
184
|
|
|
185
|
+
class HealthStatus(StrEnum):
|
|
186
|
+
"""
|
|
187
|
+
Health check status codes for services and components.
|
|
188
|
+
|
|
189
|
+
Replaces health check status strings throughout monitoring and diagnostics.
|
|
190
|
+
Used in: Health checks, monitoring, service diagnostics, uptime tracking.
|
|
191
|
+
|
|
192
|
+
Migration Priority: MEDIUM (Week 3)
|
|
193
|
+
Coverage: ~2% of all magic strings
|
|
194
|
+
|
|
195
|
+
Notes:
|
|
196
|
+
- Added in Phase 3C for comprehensive service health monitoring
|
|
197
|
+
- Distinct from ServiceState (operational) and OperationResult (transactional)
|
|
198
|
+
- Maps to standard health check patterns (healthy/unhealthy/degraded)
|
|
199
|
+
"""
|
|
200
|
+
|
|
201
|
+
HEALTHY = "healthy"
|
|
202
|
+
"""Component is functioning normally."""
|
|
203
|
+
|
|
204
|
+
UNHEALTHY = "unhealthy"
|
|
205
|
+
"""Component is not functioning correctly."""
|
|
206
|
+
|
|
207
|
+
DEGRADED = "degraded"
|
|
208
|
+
"""Component is functioning with reduced capability."""
|
|
209
|
+
|
|
210
|
+
UNKNOWN = "unknown"
|
|
211
|
+
"""Health status cannot be determined."""
|
|
212
|
+
|
|
213
|
+
CHECKING = "checking"
|
|
214
|
+
"""Health check is currently in progress."""
|
|
215
|
+
|
|
216
|
+
TIMEOUT = "timeout"
|
|
217
|
+
"""Health check exceeded time limit."""
|
|
218
|
+
|
|
219
|
+
|
|
182
220
|
class ModelTier(StrEnum):
|
|
183
221
|
"""
|
|
184
222
|
Claude model tier classifications and identifiers.
|
|
@@ -272,48 +310,87 @@ class AgentCategory(StrEnum):
|
|
|
272
310
|
|
|
273
311
|
Migration Priority: MEDIUM (Week 3)
|
|
274
312
|
Coverage: ~3% of all magic strings
|
|
313
|
+
|
|
314
|
+
Notes:
|
|
315
|
+
- Expanded in Phase 3C to include all template categories
|
|
316
|
+
- Maps to actual usage in agent JSON templates
|
|
317
|
+
- Supports both legacy and new category schemes
|
|
275
318
|
"""
|
|
276
319
|
|
|
320
|
+
# Core Engineering Categories
|
|
321
|
+
ENGINEERING = "engineering"
|
|
322
|
+
"""Software engineering and implementation agents."""
|
|
323
|
+
|
|
324
|
+
# Research and Analysis
|
|
277
325
|
RESEARCH = "research"
|
|
278
326
|
"""Research and analysis agents."""
|
|
279
327
|
|
|
280
|
-
|
|
281
|
-
"""
|
|
328
|
+
ANALYSIS = "analysis"
|
|
329
|
+
"""Code analysis and architectural review agents."""
|
|
330
|
+
|
|
331
|
+
# Quality and Testing
|
|
332
|
+
QUALITY = "quality"
|
|
333
|
+
"""Quality assurance and testing agents (replaces QA)."""
|
|
282
334
|
|
|
283
335
|
QA = "qa"
|
|
284
|
-
"""
|
|
336
|
+
"""Legacy quality assurance category (use QUALITY for new agents)."""
|
|
285
337
|
|
|
286
338
|
SECURITY = "security"
|
|
287
339
|
"""Security analysis and vulnerability assessment agents."""
|
|
288
340
|
|
|
341
|
+
# Operations and Infrastructure
|
|
342
|
+
OPERATIONS = "operations"
|
|
343
|
+
"""DevOps and infrastructure management agents."""
|
|
344
|
+
|
|
345
|
+
INFRASTRUCTURE = "infrastructure"
|
|
346
|
+
"""Infrastructure provisioning and cloud management agents."""
|
|
347
|
+
|
|
348
|
+
# Documentation and Content
|
|
289
349
|
DOCUMENTATION = "documentation"
|
|
290
350
|
"""Documentation and technical writing agents."""
|
|
291
351
|
|
|
292
|
-
|
|
293
|
-
"""
|
|
352
|
+
CONTENT = "content"
|
|
353
|
+
"""Content creation, optimization, and management agents."""
|
|
294
354
|
|
|
355
|
+
# Data and Analytics
|
|
295
356
|
DATA = "data"
|
|
296
357
|
"""Data engineering and analytics agents."""
|
|
297
358
|
|
|
359
|
+
# Specialized Functions
|
|
360
|
+
OPTIMIZATION = "optimization"
|
|
361
|
+
"""Performance and resource optimization agents."""
|
|
362
|
+
|
|
363
|
+
SPECIALIZED = "specialized"
|
|
364
|
+
"""Specialized single-purpose agents."""
|
|
365
|
+
|
|
366
|
+
SYSTEM = "system"
|
|
367
|
+
"""System-level framework agents."""
|
|
368
|
+
|
|
369
|
+
# Management and Coordination
|
|
370
|
+
PROJECT_MANAGEMENT = "project-management"
|
|
371
|
+
"""Project management and coordination agents."""
|
|
372
|
+
|
|
373
|
+
PRODUCT = "product"
|
|
374
|
+
"""Product ownership and strategy agents."""
|
|
375
|
+
|
|
376
|
+
# Legacy and General
|
|
298
377
|
VERSION_CONTROL = "version_control"
|
|
299
378
|
"""Version control and release management agents."""
|
|
300
379
|
|
|
380
|
+
DESIGN = "design"
|
|
381
|
+
"""UI/UX design and frontend agents."""
|
|
382
|
+
|
|
301
383
|
GENERAL = "general"
|
|
302
384
|
"""General-purpose agents without specific specialization."""
|
|
303
385
|
|
|
304
386
|
CUSTOM = "custom"
|
|
305
387
|
"""User-defined custom agent categories."""
|
|
306
388
|
|
|
307
|
-
PROJECT_MANAGEMENT = "project_management"
|
|
308
|
-
"""Project management and coordination agents."""
|
|
309
|
-
|
|
310
|
-
DESIGN = "design"
|
|
311
|
-
"""UI/UX design and frontend agents."""
|
|
312
|
-
|
|
313
389
|
|
|
314
390
|
# Export all enums for convenient access
|
|
315
391
|
__all__ = [
|
|
316
392
|
"AgentCategory",
|
|
393
|
+
"HealthStatus",
|
|
317
394
|
"ModelTier",
|
|
318
395
|
"OperationResult",
|
|
319
396
|
"OutputFormat",
|
|
@@ -599,7 +599,7 @@ class DependencyAnalyzerStrategy(AnalyzerStrategy):
|
|
|
599
599
|
"""Extract key metrics from analysis results."""
|
|
600
600
|
metrics = {}
|
|
601
601
|
|
|
602
|
-
if analysis_result.get("status") !=
|
|
602
|
+
if analysis_result.get("status") != OperationResult.SUCCESS:
|
|
603
603
|
return metrics
|
|
604
604
|
|
|
605
605
|
# Extract dependency counts
|
|
@@ -241,7 +241,7 @@ class PerformanceAnalyzerStrategy(AnalyzerStrategy):
|
|
|
241
241
|
|
|
242
242
|
except Exception as e:
|
|
243
243
|
logger.error(f"Error analyzing file {file_path}: {e}")
|
|
244
|
-
results["status"] =
|
|
244
|
+
results["status"] = OperationResult.ERROR
|
|
245
245
|
results["error"] = str(e)
|
|
246
246
|
|
|
247
247
|
return results
|
|
@@ -292,7 +292,7 @@ class PerformanceAnalyzerStrategy(AnalyzerStrategy):
|
|
|
292
292
|
continue
|
|
293
293
|
|
|
294
294
|
file_result = self._analyze_file(file_path, options)
|
|
295
|
-
if file_result["status"] ==
|
|
295
|
+
if file_result["status"] == OperationResult.SUCCESS:
|
|
296
296
|
results["files_analyzed"] += 1
|
|
297
297
|
total_score += file_result["performance_score"]
|
|
298
298
|
|
|
@@ -803,7 +803,7 @@ class PerformanceAnalyzerStrategy(AnalyzerStrategy):
|
|
|
803
803
|
"""Extract key metrics from analysis results."""
|
|
804
804
|
metrics = {}
|
|
805
805
|
|
|
806
|
-
if analysis_result.get("status") !=
|
|
806
|
+
if analysis_result.get("status") != OperationResult.SUCCESS:
|
|
807
807
|
return metrics
|
|
808
808
|
|
|
809
809
|
if analysis_result.get("type") == "file":
|
|
@@ -242,7 +242,7 @@ class SecurityAnalyzerStrategy(AnalyzerStrategy):
|
|
|
242
242
|
|
|
243
243
|
except Exception as e:
|
|
244
244
|
logger.error(f"Error analyzing file {file_path}: {e}")
|
|
245
|
-
results["status"] =
|
|
245
|
+
results["status"] = OperationResult.ERROR
|
|
246
246
|
results["error"] = str(e)
|
|
247
247
|
|
|
248
248
|
return results
|
|
@@ -641,7 +641,7 @@ class StructureAnalyzerStrategy(AnalyzerStrategy):
|
|
|
641
641
|
"""Extract key metrics from analysis results."""
|
|
642
642
|
metrics = {}
|
|
643
643
|
|
|
644
|
-
if analysis_result.get("status") !=
|
|
644
|
+
if analysis_result.get("status") != OperationResult.SUCCESS:
|
|
645
645
|
return metrics
|
|
646
646
|
|
|
647
647
|
# Extract structure statistics
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
|
2
|
-
claude_mpm/VERSION,sha256=
|
|
2
|
+
claude_mpm/VERSION,sha256=od8voLjqnnekPs-FuGM_0A7cmW41vjKUg_9Yg2lpt00,7
|
|
3
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=sLjJF6Kw7H4V9WWeaEYltM-77TgXqzEMX5vx4ukM5-0,5977
|
|
@@ -20,7 +20,7 @@ claude_mpm/agents/PM_INSTRUCTIONS.md,sha256=_E-J-4USZcADyJZ2280gX-AO8mLgPmiO2Cyf
|
|
|
20
20
|
claude_mpm/agents/WORKFLOW.md,sha256=vJ9iXCVqAaeM_yVlXxbcP3bsL210-1BI3ZAanvWv4hI,9085
|
|
21
21
|
claude_mpm/agents/__init__.py,sha256=jRFxvV_DIZ-NdENa-703Xu3YpwvlQj6yv-mQ6FgmldM,3220
|
|
22
22
|
claude_mpm/agents/agent-template.yaml,sha256=mRlz5Yd0SmknTeoJWgFkZXzEF5T7OmGBJGs2-KPT93k,1969
|
|
23
|
-
claude_mpm/agents/agent_loader.py,sha256=
|
|
23
|
+
claude_mpm/agents/agent_loader.py,sha256=4Il9Zk6M8VstV_qE1BE_gfLcsU2qNPZEb-ivyf4noOQ,33041
|
|
24
24
|
claude_mpm/agents/agent_loader_integration.py,sha256=cU1LKCYvopZn66UefwzZxJUdTSxn6HLxdbukTjmP-KM,7280
|
|
25
25
|
claude_mpm/agents/agents_metadata.py,sha256=XklRSaYxKt8_2hnGn9xr-V15RMcm57Fi-QzPbAe4ZR4,9867
|
|
26
26
|
claude_mpm/agents/async_agent_loader.py,sha256=w9zk88SZUBycQeTHKrUiUez0CY_BrWZi13-EF6IOwWU,14597
|
|
@@ -197,7 +197,7 @@ claude_mpm/core/config_aliases.py,sha256=QpNNECkTY4TYYAhVlFZvB-msPnZrui90g19u0-v
|
|
|
197
197
|
claude_mpm/core/config_constants.py,sha256=MEF35Y2Lj5FMzRdhgSgZrZeTzHfCzistPGZVY8INta4,10073
|
|
198
198
|
claude_mpm/core/constants.py,sha256=uBCd4kUbwSFKW79pH7_yUzRpMoNY2AcAflENTkIZIaU,11558
|
|
199
199
|
claude_mpm/core/container.py,sha256=oLM91UOJUQ6D-DDVomqkTAozpgBcM2YFzk_JDbjgg8o,32277
|
|
200
|
-
claude_mpm/core/enums.py,sha256=
|
|
200
|
+
claude_mpm/core/enums.py,sha256=nLMPA14lE9476SIQPKAj1yQ6nq7R-xZFXbhq37-hzP8,10712
|
|
201
201
|
claude_mpm/core/error_handler.py,sha256=fqTstzmWaidfiVm-IvPGBRCjDwqBbQgjofyP31EkVNU,19276
|
|
202
202
|
claude_mpm/core/exceptions.py,sha256=vrEJGpgThvqRRD6qsNkmaQcYAoUMQSNuHUOnNFJcEGg,19628
|
|
203
203
|
claude_mpm/core/factories.py,sha256=vtlwkbpxeWzqgPRGO1ehnMOzddLCHWTeiKa8halV_dU,7271
|
|
@@ -806,10 +806,10 @@ claude_mpm/services/unified/unified_config.py,sha256=IJRS-awkVNU-CrcMhTYElkyS73c
|
|
|
806
806
|
claude_mpm/services/unified/unified_deployment.py,sha256=jrUL0p_56sZVRLUiKqQfjN8n5_CY-fpPe2X8RLw1B9w,15112
|
|
807
807
|
claude_mpm/services/unified/analyzer_strategies/__init__.py,sha256=cQqmsHjYf9olriRFjiBVnpX75X4VHGd8rAwiWr1k540,1369
|
|
808
808
|
claude_mpm/services/unified/analyzer_strategies/code_analyzer.py,sha256=p_sBOrHt3fUqFPJ4rmOSzCUK47rLNUczPtezFew7ppA,17943
|
|
809
|
-
claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py,sha256=
|
|
810
|
-
claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py,sha256=
|
|
811
|
-
claude_mpm/services/unified/analyzer_strategies/security_analyzer.py,sha256=
|
|
812
|
-
claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py,sha256=
|
|
809
|
+
claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py,sha256=lMycu3JYxRlNvjf3kBCsu2aNa2Xa-GMU8_nnhFil8qU,24233
|
|
810
|
+
claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py,sha256=KLOlXfjsPNmTfivJg647ayC5rMY16Fw0BCIdlx4BWKI,33805
|
|
811
|
+
claude_mpm/services/unified/analyzer_strategies/security_analyzer.py,sha256=FILh1dvSqImA-NKGprull42Te3hcd0vUxYGkvGq4uyE,26660
|
|
812
|
+
claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py,sha256=HOej78KEu7ptCun67m-LiBiNSP-KjMGj4EF8sULkdnc,25460
|
|
813
813
|
claude_mpm/services/unified/config_strategies/__init__.py,sha256=b39wSfMCI1ah8gbgZHZFRaaLdsNo1sVfCWikqTS3Olk,4298
|
|
814
814
|
claude_mpm/services/unified/config_strategies/config_schema.py,sha256=GE4R8i1n2dz0VNVa52LuwocE-ZU9ymTTjLqP8ffN3Uk,24876
|
|
815
815
|
claude_mpm/services/unified/config_strategies/context_strategy.py,sha256=gavjsjJU5yoMMoCl3aTR53JjRVaSatXPiSCqmKKsIL0,25287
|
|
@@ -864,9 +864,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
|
864
864
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
865
865
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
|
866
866
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
|
867
|
-
claude_mpm-4.14.
|
|
868
|
-
claude_mpm-4.14.
|
|
869
|
-
claude_mpm-4.14.
|
|
870
|
-
claude_mpm-4.14.
|
|
871
|
-
claude_mpm-4.14.
|
|
872
|
-
claude_mpm-4.14.
|
|
867
|
+
claude_mpm-4.14.9.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
|
868
|
+
claude_mpm-4.14.9.dist-info/METADATA,sha256=8jG7uYQr7IalnFWrE5gPlHZZNOIgRYcT7yQIg4jzoPw,17967
|
|
869
|
+
claude_mpm-4.14.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
870
|
+
claude_mpm-4.14.9.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
|
|
871
|
+
claude_mpm-4.14.9.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
872
|
+
claude_mpm-4.14.9.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|