claude-mpm 4.7.1__py3-none-any.whl → 4.7.2__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/agents/BASE_QA.md +91 -39
- claude_mpm/core/framework_loader.py +1 -1
- claude_mpm/hooks/claude_hooks/event_handlers.py +1 -1
- claude_mpm/services/mcp_gateway/registry/service_registry.py +2 -2
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +1 -1
- claude_mpm/services/memory/cache/shared_prompt_cache.py +1 -1
- claude_mpm/services/monitor/handlers/hooks.py +1 -1
- claude_mpm/services/shared/config_service_base.py +8 -4
- {claude_mpm-4.7.1.dist-info → claude_mpm-4.7.2.dist-info}/METADATA +1 -1
- {claude_mpm-4.7.1.dist-info → claude_mpm-4.7.2.dist-info}/RECORD +15 -15
- {claude_mpm-4.7.1.dist-info → claude_mpm-4.7.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.7.1.dist-info → claude_mpm-4.7.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.7.1.dist-info → claude_mpm-4.7.2.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.7.1.dist-info → claude_mpm-4.7.2.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.7.
|
1
|
+
4.7.2
|
claude_mpm/agents/BASE_QA.md
CHANGED
@@ -29,65 +29,117 @@ grep -r "describe\|it\(" --include="*.js" tests/
|
|
29
29
|
3. Finally comprehensive test suite
|
30
30
|
4. Stop on critical failures
|
31
31
|
|
32
|
-
## Test Process Management
|
32
|
+
## ⚠️ CRITICAL: JavaScript Test Process Management
|
33
33
|
|
34
|
-
|
34
|
+
**WARNING: Vitest and Jest watch modes cause persistent processes and memory leaks in agent operations.**
|
35
35
|
|
36
|
-
###
|
36
|
+
### Primary Directive: AVOID VITEST/JEST WATCH MODE AT ALL COSTS
|
37
37
|
|
38
|
-
**
|
38
|
+
**Before running ANY JavaScript/TypeScript test:**
|
39
39
|
|
40
|
+
1. **ALWAYS inspect package.json test configuration FIRST**
|
41
|
+
2. **NEVER run tests without explicit CI flags or run commands**
|
42
|
+
3. **MANDATORY process verification after EVERY test run**
|
43
|
+
|
44
|
+
### Safe Test Execution Protocol
|
45
|
+
|
46
|
+
#### Step 1: Pre-Flight Check (MANDATORY)
|
40
47
|
```bash
|
41
|
-
#
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
#
|
47
|
-
|
48
|
-
|
49
|
-
vitest # Default may be watch mode
|
48
|
+
# ALWAYS check package.json test script configuration FIRST
|
49
|
+
cat package.json | grep -A 3 '"test"'
|
50
|
+
|
51
|
+
# Look for dangerous configurations:
|
52
|
+
# ❌ "test": "vitest" # DANGER: Watch mode by default
|
53
|
+
# ❌ "test": "jest" # DANGER: May trigger watch
|
54
|
+
# ✅ "test": "vitest run" # SAFE: Explicit run mode
|
55
|
+
# ✅ "test": "jest --ci" # SAFE: CI mode
|
50
56
|
```
|
51
57
|
|
52
|
-
|
53
|
-
|
54
|
-
|
58
|
+
#### Step 2: Safe Test Execution (USE THESE COMMANDS ONLY)
|
59
|
+
```bash
|
60
|
+
# PRIMARY RECOMMENDED COMMANDS (use these by default):
|
61
|
+
CI=true npm test # Forces CI mode, prevents watch
|
62
|
+
npx vitest run --reporter=verbose # Explicit run mode with output
|
63
|
+
npx jest --ci --no-watch # Explicit CI mode, no watch
|
64
|
+
|
65
|
+
# NEVER USE THESE COMMANDS:
|
66
|
+
npm test # ❌ May trigger watch mode
|
67
|
+
vitest # ❌ Defaults to watch mode
|
68
|
+
npm test -- --watch # ❌ Explicitly starts watch mode
|
69
|
+
jest # ❌ May trigger watch mode
|
70
|
+
```
|
55
71
|
|
72
|
+
#### Step 3: Post-Execution Verification (MANDATORY)
|
56
73
|
```bash
|
57
|
-
#
|
74
|
+
# ALWAYS verify process cleanup after tests
|
58
75
|
ps aux | grep -E "(vitest|jest|node.*test)" | grep -v grep
|
59
76
|
|
60
|
-
#
|
61
|
-
pkill -f "vitest" ||
|
77
|
+
# If ANY processes found, kill them immediately:
|
78
|
+
pkill -f "vitest" || true
|
79
|
+
pkill -f "jest" || true
|
80
|
+
|
81
|
+
# Verify cleanup succeeded:
|
82
|
+
ps aux | grep -E "(vitest|jest|node.*test)" | grep -v grep
|
83
|
+
# Should return NOTHING
|
62
84
|
```
|
63
85
|
|
64
|
-
###
|
86
|
+
### Why This Matters
|
87
|
+
|
88
|
+
**Vitest/Jest watch mode creates persistent processes that:**
|
89
|
+
- Consume memory indefinitely (memory leak)
|
90
|
+
- Prevent agent completion (hanging processes)
|
91
|
+
- Cause resource exhaustion in multi-test scenarios
|
92
|
+
- Require manual intervention to terminate
|
93
|
+
- Make automated testing workflows impossible
|
94
|
+
|
95
|
+
### Alternative Testing Strategies
|
96
|
+
|
97
|
+
**When testing is needed, prefer these approaches (in order):**
|
98
|
+
|
99
|
+
1. **Static Analysis First**: Use grep/glob to discover test patterns
|
100
|
+
2. **Selective Testing**: Run specific test files, not entire suites
|
101
|
+
3. **API Testing**: Test backend endpoints directly with curl/fetch
|
102
|
+
4. **Manual Review**: Review test code without executing
|
103
|
+
5. **If Tests Must Run**: Use CI=true prefix and mandatory verification
|
104
|
+
|
105
|
+
### Package.json Configuration Recommendations
|
106
|
+
|
107
|
+
**ALWAYS verify test scripts are agent-safe:**
|
108
|
+
```json
|
109
|
+
{
|
110
|
+
"scripts": {
|
111
|
+
"test": "vitest run", // ✅ SAFE: Explicit run mode
|
112
|
+
"test:ci": "CI=true vitest run", // ✅ SAFE: CI mode
|
113
|
+
"test:watch": "vitest", // ✅ OK: Separate watch command
|
114
|
+
"test": "vitest" // ❌ DANGEROUS: Watch by default
|
115
|
+
}
|
116
|
+
}
|
117
|
+
```
|
65
118
|
|
66
|
-
|
67
|
-
- **Always check package.json** test script configuration
|
68
|
-
- Verify if test script uses watch mode by default
|
69
|
-
- Use explicit `--run` or `--ci` flags when uncertain
|
119
|
+
### Emergency Process Cleanup
|
70
120
|
|
121
|
+
**If you suspect orphaned processes:**
|
71
122
|
```bash
|
72
|
-
#
|
73
|
-
|
123
|
+
# List all node/test processes
|
124
|
+
ps aux | grep -E "(node|vitest|jest)" | grep -v grep
|
74
125
|
|
75
|
-
#
|
76
|
-
|
77
|
-
|
78
|
-
|
126
|
+
# Nuclear option - kill all node processes (USE WITH CAUTION)
|
127
|
+
pkill -9 node
|
128
|
+
|
129
|
+
# Verify cleanup
|
130
|
+
ps aux | grep -E "(vitest|jest|node.*test)" | grep -v grep
|
79
131
|
```
|
80
132
|
|
81
|
-
###
|
133
|
+
### Testing Workflow Checklist
|
82
134
|
|
83
|
-
-
|
84
|
-
-
|
85
|
-
-
|
86
|
-
-
|
87
|
-
-
|
88
|
-
-
|
89
|
-
-
|
90
|
-
-
|
135
|
+
- [ ] Inspected package.json test configuration
|
136
|
+
- [ ] Identified watch mode risks
|
137
|
+
- [ ] Used CI=true or explicit --run flags
|
138
|
+
- [ ] Test command completed (not hanging)
|
139
|
+
- [ ] Verified no orphaned processes remain
|
140
|
+
- [ ] Cleaned up any detected processes
|
141
|
+
- [ ] Documented test results
|
142
|
+
- [ ] Ready to proceed to next task
|
91
143
|
|
92
144
|
### Error Reporting
|
93
145
|
- Group similar failures together
|
@@ -504,7 +504,7 @@ class FrameworkLoader:
|
|
504
504
|
metadata["instructions_length"] = len(instructions)
|
505
505
|
|
506
506
|
if loop.is_running():
|
507
|
-
_task = asyncio.create_task(
|
507
|
+
_task = asyncio.create_task(
|
508
508
|
log_manager.log_prompt("system_prompt", instructions, metadata)
|
509
509
|
) # Fire-and-forget logging
|
510
510
|
else:
|
@@ -285,7 +285,7 @@ class EventHandlers:
|
|
285
285
|
# Log the agent prompt asynchronously
|
286
286
|
try:
|
287
287
|
loop = asyncio.get_running_loop()
|
288
|
-
_task = asyncio.create_task(
|
288
|
+
_task = asyncio.create_task(
|
289
289
|
log_manager.log_prompt(
|
290
290
|
f"agent_{agent_type}", prompt_content, metadata
|
291
291
|
)
|
@@ -224,7 +224,7 @@ class MCPServiceRegistry(ManagerBase):
|
|
224
224
|
try:
|
225
225
|
import asyncio
|
226
226
|
|
227
|
-
_task = asyncio.create_task(instance.stop())
|
227
|
+
_task = asyncio.create_task(instance.stop())
|
228
228
|
# Fire-and-forget shutdown during unregister
|
229
229
|
except Exception as e:
|
230
230
|
self.logger.warning(
|
@@ -336,7 +336,7 @@ class MCPServiceRegistry(ManagerBase):
|
|
336
336
|
try:
|
337
337
|
import asyncio
|
338
338
|
|
339
|
-
_task = asyncio.create_task(instance.stop())
|
339
|
+
_task = asyncio.create_task(instance.stop())
|
340
340
|
# Fire-and-forget shutdown during clear
|
341
341
|
except Exception as e:
|
342
342
|
self.logger.warning(f"Error stopping service: {e}")
|
@@ -216,7 +216,7 @@ class ToolRegistry(BaseMCPService, IMCPToolRegistry):
|
|
216
216
|
|
217
217
|
# Shutdown adapter (outside lock to avoid deadlock)
|
218
218
|
try:
|
219
|
-
_task = asyncio.create_task(adapter.shutdown())
|
219
|
+
_task = asyncio.create_task(adapter.shutdown())
|
220
220
|
# Fire-and-forget shutdown during tool unregister
|
221
221
|
except Exception as e:
|
222
222
|
self.log_warning(f"Error shutting down tool adapter {tool_name}: {e}")
|
@@ -194,7 +194,7 @@ class SharedPromptCache(BaseService):
|
|
194
194
|
with cls._lock:
|
195
195
|
if cls._instance is not None:
|
196
196
|
if cls._instance.running:
|
197
|
-
_task = asyncio.create_task(cls._instance.stop())
|
197
|
+
_task = asyncio.create_task(cls._instance.stop())
|
198
198
|
# Fire-and-forget cleanup task during test reset
|
199
199
|
cls._instance = None
|
200
200
|
|
@@ -237,7 +237,7 @@ class HookHandler:
|
|
237
237
|
)
|
238
238
|
|
239
239
|
# Remove from active sessions after a delay (5 minutes)
|
240
|
-
_task = asyncio.create_task(
|
240
|
+
_task = asyncio.create_task(
|
241
241
|
self._cleanup_session(session_id, delay=300)
|
242
242
|
) # Fire-and-forget cleanup task
|
243
243
|
|
@@ -99,7 +99,11 @@ class ConfigServiceBase(LoggerMixin, ABC):
|
|
99
99
|
raise ValueError(f"Required configuration value missing: {full_key}")
|
100
100
|
|
101
101
|
# Type validation
|
102
|
-
if
|
102
|
+
if (
|
103
|
+
config_type is not None
|
104
|
+
and value is not None
|
105
|
+
and not isinstance(value, config_type)
|
106
|
+
):
|
103
107
|
try:
|
104
108
|
# Try to convert
|
105
109
|
if config_type == bool and isinstance(value, str):
|
@@ -109,9 +113,9 @@ class ConfigServiceBase(LoggerMixin, ABC):
|
|
109
113
|
else:
|
110
114
|
value = config_type(value)
|
111
115
|
except (ValueError, TypeError) as e:
|
112
|
-
|
113
|
-
|
114
|
-
|
116
|
+
raise ValueError(
|
117
|
+
f"Invalid type for {full_key}: expected {config_type.__name__}, got {type(value).__name__}"
|
118
|
+
) from e
|
115
119
|
|
116
120
|
# Cache the processed value
|
117
121
|
self._config_cache[full_key] = value
|
@@ -1,5 +1,5 @@
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
2
|
-
claude_mpm/VERSION,sha256=
|
2
|
+
claude_mpm/VERSION,sha256=lkv5sInR4clHT0uqsckJ7ir_wf6pRk7Or107jSzlVfQ,6
|
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=cChN3myrAcF3jC-6DvHnBFTEnwlDk-TAsIXPvUZr_yw,5953
|
@@ -11,7 +11,7 @@ claude_mpm/agents/BASE_ENGINEER.md,sha256=V637uK7cZazlc3aagAhY4G0WCuGtruLKbhuAbK
|
|
11
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_PROMPT_ENGINEER.md,sha256=DHw7KXA6Nw7RfTyQiY06B_hH6ng2meimhgUKpQp08MM,21736
|
14
|
-
claude_mpm/agents/BASE_QA.md,sha256=
|
14
|
+
claude_mpm/agents/BASE_QA.md,sha256=YtaYJSjWDfmFS3B6PtNvog4L54_w5K1rvpV0yqLhP20,5347
|
15
15
|
claude_mpm/agents/BASE_RESEARCH.md,sha256=2DZhDd5XxWWtsyNTBIwvtNWBu1JpFy5R5SAZDHh0otU,1690
|
16
16
|
claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md,sha256=zQZhrhVq9NLCtSjVX-aC0xcgueemSuPhKyv0SjEOyIQ,25852
|
17
17
|
claude_mpm/agents/MEMORY.md,sha256=KbRwY_RYdOvTvFC2DD-ATfwjHkQWJ5PIjlGws_7RmjI,3307
|
@@ -163,7 +163,7 @@ claude_mpm/core/error_handler.py,sha256=fqTstzmWaidfiVm-IvPGBRCjDwqBbQgjofyP31Ek
|
|
163
163
|
claude_mpm/core/exceptions.py,sha256=vrEJGpgThvqRRD6qsNkmaQcYAoUMQSNuHUOnNFJcEGg,19628
|
164
164
|
claude_mpm/core/factories.py,sha256=vtlwkbpxeWzqgPRGO1ehnMOzddLCHWTeiKa8halV_dU,7271
|
165
165
|
claude_mpm/core/file_utils.py,sha256=ycbmSl4JflNGG3qcEnCLDeRYV1nceHn2SJVfGO8x1Qg,19937
|
166
|
-
claude_mpm/core/framework_loader.py,sha256=
|
166
|
+
claude_mpm/core/framework_loader.py,sha256=uOI5rulOfJDz-gy1egJUwxO6z2LaxhGfJcjMQk1TanU,20883
|
167
167
|
claude_mpm/core/hook_manager.py,sha256=Cq3vwYW7-ffKw_HSFqtv1RJTxs8YUpD_qeTiWvua3lk,11152
|
168
168
|
claude_mpm/core/hook_performance_config.py,sha256=e7a7oFctkRhA3aPXMO5Wavr-E6ku7ikLxMzPU7P1-yg,5779
|
169
169
|
claude_mpm/core/injectable_service.py,sha256=9N4mHt6a_PwoP0pQo-QhVTnXLJlgDCCOg358d0jPEs4,7384
|
@@ -377,7 +377,7 @@ claude_mpm/hooks/tool_call_interceptor.py,sha256=tYUBJHjbtaI5-HSWcz0aeUW0CaiQPyp
|
|
377
377
|
claude_mpm/hooks/validation_hooks.py,sha256=i5uOaXifItwJfIdjjLCxAwrkKdkmo2Qa4qMc5-dwsKw,6465
|
378
378
|
claude_mpm/hooks/claude_hooks/__init__.py,sha256=b4mud_g3S-3itHY_Dzpbb_SmdMEcJwtUU8fTcqpLqqs,130
|
379
379
|
claude_mpm/hooks/claude_hooks/connection_pool.py,sha256=vpi-XbVf61GWhh85tHBzubbOgbJly_I-5-QmsleND2M,8658
|
380
|
-
claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=
|
380
|
+
claude_mpm/hooks/claude_hooks/event_handlers.py,sha256=4-w7TMmMH0Fjs9ZaOhHC9IPjAVVWA397ukOnd280x08,30537
|
381
381
|
claude_mpm/hooks/claude_hooks/hook_handler.py,sha256=XYLsrKJTGNBq_uV46-zxVM044Xcp_I2qy14HQvPgcJ0,20257
|
382
382
|
claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py,sha256=BsqXATHOXFGiLPtFMZUWA2Y8oj3JQWdK5O326YfDEqA,14880
|
383
383
|
claude_mpm/hooks/claude_hooks/hook_handler_original.py,sha256=g9M6VOMZASPkQtdbt9ic7FCD7aVlf7LyCSonkBTIFBY,43138
|
@@ -633,8 +633,8 @@ claude_mpm/services/mcp_gateway/core/process_pool.py,sha256=RCBX6qdJEOtYKBH__cWa
|
|
633
633
|
claude_mpm/services/mcp_gateway/core/singleton_manager.py,sha256=777BFoq0oi6FdniWJZwstH-gkzP4AQPj-UQD_MzMcy4,9422
|
634
634
|
claude_mpm/services/mcp_gateway/core/startup_verification.py,sha256=YpgsikMwTfK_yCQ4bXLIhtEqypdZJLorkgREo4gwIDY,10872
|
635
635
|
claude_mpm/services/mcp_gateway/registry/__init__.py,sha256=6qjyfcCgW7sd_S82gY7G4DPZp3nL7tMHzyaxiz3G2Zc,195
|
636
|
-
claude_mpm/services/mcp_gateway/registry/service_registry.py,sha256=
|
637
|
-
claude_mpm/services/mcp_gateway/registry/tool_registry.py,sha256=
|
636
|
+
claude_mpm/services/mcp_gateway/registry/service_registry.py,sha256=JdJaEkm-IRAEoflwx8Ymt9lAMkLprPg0p-jHEYDjT8s,13825
|
637
|
+
claude_mpm/services/mcp_gateway/registry/tool_registry.py,sha256=_WDb-uu0_6HX9bSkwOnJJHF6mJ8k2UQq6Fc4q6UWOT4,16101
|
638
638
|
claude_mpm/services/mcp_gateway/server/__init__.py,sha256=4OsKf4Eit4O8geWs-UNjVYqQ6GRwEh6frWnFXpK1ooI,294
|
639
639
|
claude_mpm/services/mcp_gateway/server/mcp_gateway.py,sha256=fIwGCTRwzQh5YRoBptBFL-em2ZcgXiCuhrbFUWLsOdQ,13573
|
640
640
|
claude_mpm/services/mcp_gateway/server/stdio_handler.py,sha256=KXbLTt5SkMTvt8ckEKb_wjQb6WW-hoY_3rbwWNPNbRo,11427
|
@@ -655,7 +655,7 @@ claude_mpm/services/memory/indexed_memory.py,sha256=I_8syn60APW2sY3CgYxLps0yjdjf
|
|
655
655
|
claude_mpm/services/memory/optimizer.py,sha256=19zNaQG5UsQ6BLW9zo_44mIyXf1M7a_HdE9PdG_duyQ,22967
|
656
656
|
claude_mpm/services/memory/router.py,sha256=c92j-7SXF254gvW-DvQ8OzvWKLdhklDndikNdjxBYMQ,31060
|
657
657
|
claude_mpm/services/memory/cache/__init__.py,sha256=6M6-P8ParyxX8vOgp_IxHgLMvacrQHPnXeZIvwJKtw8,351
|
658
|
-
claude_mpm/services/memory/cache/shared_prompt_cache.py,sha256=
|
658
|
+
claude_mpm/services/memory/cache/shared_prompt_cache.py,sha256=sFw-50bNS8_d5mNYQyemuDa9zf3DNlqdpMPscW33MxE,28781
|
659
659
|
claude_mpm/services/memory/cache/simple_cache.py,sha256=rePUw7poI2CM6l9ZuVgBqtsIkQpa_s0ugjXR3Kbgujg,10249
|
660
660
|
claude_mpm/services/monitor/__init__.py,sha256=X7gxSLUm9Fg_zEsX6LtCHP2ipF0qj6Emkun20h2So7g,745
|
661
661
|
claude_mpm/services/monitor/daemon.py,sha256=nfOYeAxQHtxlRYx8bv6S9g1P0ofUsfK8RnxJQ5i96FY,25934
|
@@ -666,7 +666,7 @@ claude_mpm/services/monitor/handlers/__init__.py,sha256=jgPIf4IJVERm_tAeD9834tfx
|
|
666
666
|
claude_mpm/services/monitor/handlers/code_analysis.py,sha256=3na63aagO8DN3Z2e9c_VpStkd3-NTpA4c58b9G_Bv-Y,11404
|
667
667
|
claude_mpm/services/monitor/handlers/dashboard.py,sha256=uGBhb-6RG6u4WLipUXgdx7RCW-vb_qek5dIfHIwAC7o,9805
|
668
668
|
claude_mpm/services/monitor/handlers/file.py,sha256=BBeSy3BfUMFj5tTjXnhHT2TQYHmgiyQYSYR0XOcZnDg,9760
|
669
|
-
claude_mpm/services/monitor/handlers/hooks.py,sha256=
|
669
|
+
claude_mpm/services/monitor/handlers/hooks.py,sha256=L4UTvUFLCw-FWE6TXW9BcuxCyiWdzl2f60OJbc5uLnc,17559
|
670
670
|
claude_mpm/services/monitor/management/__init__.py,sha256=mxaEFRgvvgV85gUpXu_DsnHtywihdP14EisvISAVZuQ,525
|
671
671
|
claude_mpm/services/monitor/management/health.py,sha256=Wm92Cli_4cWD6B89KX_CdpAvvevuEaGB8Ah59ILhFww,3772
|
672
672
|
claude_mpm/services/monitor/management/lifecycle.py,sha256=ZkRRPvP2XvKvIySRG5A8eNByTdrbQyao2eULX3bUYjo,27344
|
@@ -685,7 +685,7 @@ claude_mpm/services/project/project_organizer.py,sha256=9uAHI5MISum7YKNibRwH2jxb
|
|
685
685
|
claude_mpm/services/project/registry.py,sha256=izNHLAhWcxJKWK1hQ557eOrvBlxxVuqJcxZOQ1wvYe8,24342
|
686
686
|
claude_mpm/services/shared/__init__.py,sha256=9sL2GHHGg8-lboHTZ8mzIfhcCWiFCQyWbpC27jkBRI0,597
|
687
687
|
claude_mpm/services/shared/async_service_base.py,sha256=46Z-ATX5N0FhugNsF6byJ42frs4Rw5ZWfhw3Paf2788,7010
|
688
|
-
claude_mpm/services/shared/config_service_base.py,sha256=
|
688
|
+
claude_mpm/services/shared/config_service_base.py,sha256=YJewpCTXV6VkJsRiDkxL3MWa-8Lj04AQREBqnFk_Ws8,10124
|
689
689
|
claude_mpm/services/shared/lifecycle_service_base.py,sha256=WiAUJ5_k-2dYkDRMbJl7qymhtj-KfSt8Ev6jD_pxrbc,10124
|
690
690
|
claude_mpm/services/shared/manager_base.py,sha256=kmjhpVqgfYC1N4YQnPAilCfdrSpAh9Qz7wcQ602L4x4,9296
|
691
691
|
claude_mpm/services/shared/service_factory.py,sha256=9yvnD62urrNQCGmtk_3OcR5tVUCnoS6wHkaI5PK34mg,9891
|
@@ -783,9 +783,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
783
783
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
784
784
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
785
785
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
786
|
-
claude_mpm-4.7.
|
787
|
-
claude_mpm-4.7.
|
788
|
-
claude_mpm-4.7.
|
789
|
-
claude_mpm-4.7.
|
790
|
-
claude_mpm-4.7.
|
791
|
-
claude_mpm-4.7.
|
786
|
+
claude_mpm-4.7.2.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
787
|
+
claude_mpm-4.7.2.dist-info/METADATA,sha256=MvYfNNXnEO1lyGEf0JZEl0gN243PZpIEs5l_E3HWRHw,17517
|
788
|
+
claude_mpm-4.7.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
789
|
+
claude_mpm-4.7.2.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
|
790
|
+
claude_mpm-4.7.2.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
791
|
+
claude_mpm-4.7.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|