claude-mpm 4.8.6__py3-none-any.whl → 4.9.0__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/hooks/kuzu_memory_hook.py +10 -2
- claude_mpm/services/mcp_gateway/main.py +9 -0
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +25 -5
- {claude_mpm-4.8.6.dist-info → claude_mpm-4.9.0.dist-info}/METADATA +5 -4
- {claude_mpm-4.8.6.dist-info → claude_mpm-4.9.0.dist-info}/RECORD +10 -10
- {claude_mpm-4.8.6.dist-info → claude_mpm-4.9.0.dist-info}/WHEEL +0 -0
- {claude_mpm-4.8.6.dist-info → claude_mpm-4.9.0.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.8.6.dist-info → claude_mpm-4.9.0.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.8.6.dist-info → claude_mpm-4.9.0.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
4.
|
1
|
+
4.9.0
|
@@ -13,8 +13,9 @@ for structured memory storage with semantic search capabilities.
|
|
13
13
|
DESIGN DECISIONS:
|
14
14
|
- Priority 10 for early execution to enrich prompts before other hooks
|
15
15
|
- Uses subprocess to call kuzu-memory directly for maximum compatibility
|
16
|
-
- Graceful degradation if kuzu-memory is not
|
16
|
+
- Graceful degradation if kuzu-memory is not in PATH (though it's now required)
|
17
17
|
- Automatic extraction and storage of important information
|
18
|
+
- kuzu-memory>=1.1.5 is now a REQUIRED dependency (moved from optional in v4.8.6)
|
18
19
|
"""
|
19
20
|
|
20
21
|
import json
|
@@ -50,7 +51,10 @@ class KuzuMemoryHook(SubmitHook):
|
|
50
51
|
self.enabled = self.kuzu_memory_cmd is not None
|
51
52
|
|
52
53
|
if not self.enabled:
|
53
|
-
logger.
|
54
|
+
logger.warning(
|
55
|
+
"Kuzu-memory not found in PATH. As of v4.8.6, it's a required dependency. "
|
56
|
+
"Install with: pip install kuzu-memory>=1.1.5 or pipx install kuzu-memory"
|
57
|
+
)
|
54
58
|
else:
|
55
59
|
logger.info(f"Kuzu-memory integration enabled: {self.kuzu_memory_cmd}")
|
56
60
|
|
@@ -72,6 +76,10 @@ class KuzuMemoryHook(SubmitHook):
|
|
72
76
|
1. Check pipx installation
|
73
77
|
2. Check system PATH
|
74
78
|
3. Return None if not found
|
79
|
+
|
80
|
+
NOTE: As of v4.8.6, kuzu-memory is a required dependency and should be
|
81
|
+
installed via pip. This method checks both pipx and system PATH for
|
82
|
+
backward compatibility.
|
75
83
|
"""
|
76
84
|
# Check pipx installation
|
77
85
|
pipx_path = (
|
@@ -314,6 +314,15 @@ class MCPGatewayOrchestrator:
|
|
314
314
|
except Exception as e:
|
315
315
|
self.logger.warning(f"Could not load document summarizer: {e}")
|
316
316
|
|
317
|
+
# Kuzu-Memory Service (now a required dependency)
|
318
|
+
try:
|
319
|
+
from .tools.kuzu_memory_service import KuzuMemoryService
|
320
|
+
|
321
|
+
tools.append(KuzuMemoryService())
|
322
|
+
self.logger.info("KuzuMemoryService added to built-in tools")
|
323
|
+
except Exception as e:
|
324
|
+
self.logger.warning(f"Could not load KuzuMemoryService: {e}")
|
325
|
+
|
317
326
|
# Ticket tools removed - mcp-ticketer provides ticket functionality
|
318
327
|
|
319
328
|
if not tools:
|
@@ -13,6 +13,7 @@ DESIGN DECISIONS:
|
|
13
13
|
- Provides high-level tools that abstract kuzu-memory complexity
|
14
14
|
- Includes context enrichment for better memory retrieval
|
15
15
|
- Supports tagging for organized knowledge management
|
16
|
+
- kuzu-memory>=1.1.5 is now a REQUIRED dependency (moved from optional in v4.8.6)
|
16
17
|
"""
|
17
18
|
|
18
19
|
import json
|
@@ -111,7 +112,13 @@ class KuzuMemoryService(BaseToolAdapter):
|
|
111
112
|
return False
|
112
113
|
|
113
114
|
async def _install_package(self) -> bool:
|
114
|
-
"""
|
115
|
+
"""
|
116
|
+
Install kuzu-memory using pipx (preferred over pip).
|
117
|
+
|
118
|
+
NOTE: As of v4.8.6, kuzu-memory is a required dependency and should be
|
119
|
+
installed via pip along with claude-mpm. This method is kept for backward
|
120
|
+
compatibility and edge cases where the package may be missing.
|
121
|
+
"""
|
115
122
|
try:
|
116
123
|
# Check if pipx is available
|
117
124
|
import shutil
|
@@ -120,6 +127,9 @@ class KuzuMemoryService(BaseToolAdapter):
|
|
120
127
|
self.log_warning(
|
121
128
|
"pipx not found. Install it first: python -m pip install --user pipx"
|
122
129
|
)
|
130
|
+
self.log_info(
|
131
|
+
"Alternatively, kuzu-memory should be installed via pip with claude-mpm dependencies"
|
132
|
+
)
|
123
133
|
return False
|
124
134
|
|
125
135
|
self.log_info("Installing kuzu-memory via pipx...")
|
@@ -143,23 +153,33 @@ class KuzuMemoryService(BaseToolAdapter):
|
|
143
153
|
return False
|
144
154
|
|
145
155
|
async def initialize(self) -> bool:
|
146
|
-
"""
|
156
|
+
"""
|
157
|
+
Initialize the kuzu-memory service.
|
158
|
+
|
159
|
+
NOTE: As of v4.8.6, kuzu-memory is a required dependency. This method
|
160
|
+
checks for installation and provides helpful messages if missing.
|
161
|
+
"""
|
147
162
|
try:
|
148
163
|
# Check if package is installed
|
149
164
|
self._is_installed = await self._check_installation()
|
150
165
|
|
151
166
|
if not self._is_installed:
|
152
167
|
self.log_warning(
|
153
|
-
f"{self.package_name} not
|
168
|
+
f"{self.package_name} not found in PATH. "
|
169
|
+
f"Since v4.8.6, it's a required dependency."
|
154
170
|
)
|
171
|
+
self.log_info("Attempting installation via pipx as fallback...")
|
155
172
|
await self._install_package()
|
156
173
|
self._is_installed = await self._check_installation()
|
157
174
|
|
158
175
|
if not self._is_installed:
|
159
|
-
self.log_error(
|
176
|
+
self.log_error(
|
177
|
+
f"Failed to initialize {self.package_name}. "
|
178
|
+
f"Please install manually: pip install kuzu-memory>=1.1.5"
|
179
|
+
)
|
160
180
|
return False
|
161
181
|
|
162
|
-
self.log_info(f"{self.package_name} is available")
|
182
|
+
self.log_info(f"{self.package_name} is available and ready")
|
163
183
|
self._initialized = True
|
164
184
|
return True
|
165
185
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: claude-mpm
|
3
|
-
Version: 4.
|
3
|
+
Version: 4.9.0
|
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
|
@@ -49,12 +49,12 @@ Requires-Dist: rich>=13.0.0
|
|
49
49
|
Requires-Dist: pyee>=13.0.0
|
50
50
|
Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
|
51
51
|
Requires-Dist: pathspec>=0.11.0
|
52
|
+
Requires-Dist: kuzu-memory>=1.1.5
|
52
53
|
Provides-Extra: mcp
|
53
54
|
Requires-Dist: mcp>=0.1.0; extra == "mcp"
|
54
55
|
Requires-Dist: mcp-vector-search>=0.1.0; extra == "mcp"
|
55
56
|
Requires-Dist: mcp-browser>=0.1.0; extra == "mcp"
|
56
57
|
Requires-Dist: mcp-ticketer>=0.1.0; extra == "mcp"
|
57
|
-
Requires-Dist: kuzu-memory>=1.1.5; extra == "mcp"
|
58
58
|
Provides-Extra: dev
|
59
59
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
60
60
|
Requires-Dist: pytest-asyncio; extra == "dev"
|
@@ -193,10 +193,11 @@ claude-mpm mcp-pipx-config
|
|
193
193
|
```
|
194
194
|
|
195
195
|
**💡 Optional Dependencies**:
|
196
|
-
- `[mcp]` - Include MCP services (mcp-vector-search, mcp-browser, mcp-ticketer
|
196
|
+
- `[mcp]` - Include MCP services (mcp-vector-search, mcp-browser, mcp-ticketer)
|
197
197
|
- `[monitor]` - Full monitoring dashboard with Socket.IO and async web server components
|
198
198
|
- **Combine both**: Use `"claude-mpm[mcp,monitor]"` to install all features
|
199
|
-
-
|
199
|
+
- **Note**: kuzu-memory is now a required dependency, always included with Claude MPM
|
200
|
+
- Without optional MCP dependencies, other MCP services auto-install on first use via pipx
|
200
201
|
|
201
202
|
**🎉 Pipx Support Now Fully Functional!** Recent improvements ensure complete compatibility:
|
202
203
|
- ✅ Socket.IO daemon script path resolution (fixed)
|
@@ -1,5 +1,5 @@
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
2
|
-
claude_mpm/VERSION,sha256=
|
2
|
+
claude_mpm/VERSION,sha256=ucY14U7h_QVbv4d5sg77hbXv8X1m3zQsRzVoMpc3MXY,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=sLjJF6Kw7H4V9WWeaEYltM-77TgXqzEMX5vx4ukM5-0,5977
|
@@ -377,7 +377,7 @@ claude_mpm/hooks/__init__.py,sha256=lLRTE1jvnHAMzwl0W-g-hcjo7C9GS-N7lDpZdpHYcB8,
|
|
377
377
|
claude_mpm/hooks/base_hook.py,sha256=wKbT_0g3dhvkA48pTz4GJpZQw8URhaT0LpZnCc7CEas,5026
|
378
378
|
claude_mpm/hooks/instruction_reinforcement.py,sha256=PnjfDSZ_72gbzHnRoug7qtXfpW5d1cxnmittpnPd2ws,11059
|
379
379
|
claude_mpm/hooks/kuzu_enrichment_hook.py,sha256=jghoEZX8fA6HZ1kM_5l93cuCyy-AMBjWp-nPW5EgaTk,8729
|
380
|
-
claude_mpm/hooks/kuzu_memory_hook.py,sha256=
|
380
|
+
claude_mpm/hooks/kuzu_memory_hook.py,sha256=mWQYcQt3_6s0EjjK1zZ6rv4EaUI-lCgiUu5bbNry2Zs,12696
|
381
381
|
claude_mpm/hooks/kuzu_response_hook.py,sha256=iyVrsOrGpp-VFOjKC5GUnXro088Ftex-vHmfHsmAUv8,6136
|
382
382
|
claude_mpm/hooks/memory_integration_hook.py,sha256=F8Hf35hmbmhxi-qHQJac4zoWIr60ob3PCHa4P_rbxO8,16635
|
383
383
|
claude_mpm/hooks/tool_call_interceptor.py,sha256=tYUBJHjbtaI5-HSWcz0aeUW0CaiQPypuDOTULQ0BCNI,7506
|
@@ -632,7 +632,7 @@ claude_mpm/services/infrastructure/monitoring/resources.py,sha256=7Mt9zvNAYGf7OT
|
|
632
632
|
claude_mpm/services/infrastructure/monitoring/service.py,sha256=guYB6rJtU18T2kPhZbKKg85l96lm2f7XVtPnBt1O3So,12613
|
633
633
|
claude_mpm/services/mcp_gateway/__init__.py,sha256=4fiMsd7i2QzZpEXCUeo0Vk_CXRi35TE94gPvwyuz2es,5099
|
634
634
|
claude_mpm/services/mcp_gateway/auto_configure.py,sha256=JNos01nGb2qXACXNHC-UkLccqQ-p8GFUElXqBLUQl7A,12163
|
635
|
-
claude_mpm/services/mcp_gateway/main.py,sha256=
|
635
|
+
claude_mpm/services/mcp_gateway/main.py,sha256=lczjLqieS5eHhwWO5VXlqURDLAgXgOg6i-724oa590A,18189
|
636
636
|
claude_mpm/services/mcp_gateway/config/__init__.py,sha256=MpFgHfaT3dQz5QyEdpfbulD6tXUOY325LkovAYsdkAg,386
|
637
637
|
claude_mpm/services/mcp_gateway/config/config_loader.py,sha256=jM0LCQGnyAezQHLqfLWtPn5P3GpGMxGltKlTIKCL24M,9427
|
638
638
|
claude_mpm/services/mcp_gateway/config/config_schema.py,sha256=eSPyHmYJWBpGxJ8l0vBjEGod_PEnbGyHi3fcNLS4mH0,9475
|
@@ -657,7 +657,7 @@ claude_mpm/services/mcp_gateway/tools/document_summarizer.py,sha256=F86qgDIFW2UX
|
|
657
657
|
claude_mpm/services/mcp_gateway/tools/external_mcp_services.py,sha256=PCw6egI7Vy7I-2l9ya9BZGusOdnQ3bY0uIJVSVnY_YA,18614
|
658
658
|
claude_mpm/services/mcp_gateway/tools/health_check_tool.py,sha256=SIrGt2uZGR4EGsH2_0UgkmHUV895M8zq9suNkRSteRA,16457
|
659
659
|
claude_mpm/services/mcp_gateway/tools/hello_world.py,sha256=L45ph8b0iLPpksrkf0ELrfl6CwVD3W3YLigwUKjIOoY,20291
|
660
|
-
claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py,sha256=
|
660
|
+
claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py,sha256=qc9vYJtN3OYXqb-aXZpkx3FtkM9ivUm9AcWKUgeGdG4,17745
|
661
661
|
claude_mpm/services/mcp_gateway/utils/__init__.py,sha256=Swz8V_TBTCz3u-J-ZRPM0rTbrqPgX1DBtW0fpXwa5K0,278
|
662
662
|
claude_mpm/services/mcp_gateway/utils/package_version_checker.py,sha256=BIq0kirCPZgWJHqhvDjMYrHN2ZjyCXFF1U9aSApw-xc,5245
|
663
663
|
claude_mpm/services/mcp_gateway/utils/update_preferences.py,sha256=CrmxistQvDDqfYxTy8Ea2mdRu9qQyun4-rPJJMvQnsE,4893
|
@@ -797,9 +797,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
797
797
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
798
798
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
799
799
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
800
|
-
claude_mpm-4.
|
801
|
-
claude_mpm-4.
|
802
|
-
claude_mpm-4.
|
803
|
-
claude_mpm-4.
|
804
|
-
claude_mpm-4.
|
805
|
-
claude_mpm-4.
|
800
|
+
claude_mpm-4.9.0.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
|
801
|
+
claude_mpm-4.9.0.dist-info/METADATA,sha256=spXmDr3uBGSclzDSE5Clu2uTb4tQJ1bsMHcOpcf8r3Q,17584
|
802
|
+
claude_mpm-4.9.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
803
|
+
claude_mpm-4.9.0.dist-info/entry_points.txt,sha256=Vlw3GNi-OtTpKSrez04iNrPmxNxYDpIWxmJCxiZ5Tx8,526
|
804
|
+
claude_mpm-4.9.0.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
805
|
+
claude_mpm-4.9.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|