claude-mpm 5.6.33__py3-none-any.whl → 5.6.35__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/core/socketio_pool.py +34 -10
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-314.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/container.py +24 -8
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/METADATA +1 -1
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/RECORD +27 -11
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/WHEEL +0 -0
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/licenses/LICENSE-FAQ.md +0 -0
- {claude_mpm-5.6.33.dist-info → claude_mpm-5.6.35.dist-info}/top_level.txt +0 -0
claude_mpm/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
5.6.
|
|
1
|
+
5.6.35
|
claude_mpm/core/socketio_pool.py
CHANGED
|
@@ -192,9 +192,14 @@ class SocketIOConnectionPool:
|
|
|
192
192
|
self.health_running = False
|
|
193
193
|
self.last_health_check = datetime.now(timezone.utc)
|
|
194
194
|
|
|
195
|
-
# Server configuration
|
|
196
|
-
self.
|
|
197
|
-
|
|
195
|
+
# Server configuration - use default immediately, update async
|
|
196
|
+
self.server_port = int(
|
|
197
|
+
os.environ.get(
|
|
198
|
+
"CLAUDE_MPM_SOCKETIO_PORT", str(NetworkConfig.DEFAULT_SOCKETIO_PORT)
|
|
199
|
+
)
|
|
200
|
+
)
|
|
201
|
+
self.server_url = f"http://localhost:{self.server_port}"
|
|
202
|
+
self._port_detection_complete = False
|
|
198
203
|
|
|
199
204
|
# Pool lifecycle
|
|
200
205
|
self._running = False
|
|
@@ -208,7 +213,10 @@ class SocketIOConnectionPool:
|
|
|
208
213
|
return
|
|
209
214
|
|
|
210
215
|
self._running = True
|
|
211
|
-
|
|
216
|
+
|
|
217
|
+
# Start async port detection in background (non-blocking)
|
|
218
|
+
# Default port is already set in __init__, this just updates if a better one is found
|
|
219
|
+
self._detect_server_async()
|
|
212
220
|
|
|
213
221
|
# Start batch processing thread
|
|
214
222
|
self.batch_running = True
|
|
@@ -274,14 +282,29 @@ class SocketIOConnectionPool:
|
|
|
274
282
|
|
|
275
283
|
self.logger.info("Socket.IO connection pool stopped")
|
|
276
284
|
|
|
285
|
+
def _detect_server_async(self):
|
|
286
|
+
"""Start server detection in background thread.
|
|
287
|
+
|
|
288
|
+
This runs port scanning asynchronously to avoid blocking the main thread.
|
|
289
|
+
The default port is already set in __init__, so this just updates if a better one is found.
|
|
290
|
+
"""
|
|
291
|
+
threading.Thread(
|
|
292
|
+
target=self._detect_server, daemon=True, name="port-detect"
|
|
293
|
+
).start()
|
|
294
|
+
|
|
277
295
|
def _detect_server(self):
|
|
278
|
-
"""Detect Socket.IO server configuration.
|
|
279
|
-
|
|
296
|
+
"""Detect Socket.IO server configuration.
|
|
297
|
+
|
|
298
|
+
This method scans ports to find a running Socket.IO server.
|
|
299
|
+
It's designed to be run in a background thread to avoid blocking.
|
|
300
|
+
"""
|
|
301
|
+
# Check environment variable first - if set, use it and skip detection
|
|
280
302
|
env_port = os.environ.get("CLAUDE_MPM_SOCKETIO_PORT")
|
|
281
303
|
if env_port:
|
|
282
304
|
try:
|
|
283
305
|
self.server_port = int(env_port)
|
|
284
306
|
self.server_url = f"http://localhost:{self.server_port}"
|
|
307
|
+
self._port_detection_complete = True
|
|
285
308
|
self.logger.debug(
|
|
286
309
|
f"Using Socket.IO server from environment: {self.server_url}"
|
|
287
310
|
)
|
|
@@ -310,19 +333,20 @@ class SocketIOConnectionPool:
|
|
|
310
333
|
for port in common_ports:
|
|
311
334
|
try:
|
|
312
335
|
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
|
|
313
|
-
|
|
336
|
+
# Use 10ms timeout (reduced from 50ms) for faster scanning
|
|
337
|
+
s.settimeout(0.01)
|
|
314
338
|
result = s.connect_ex(("localhost", port))
|
|
315
339
|
if result == 0:
|
|
316
340
|
self.server_port = port
|
|
317
341
|
self.server_url = f"http://localhost:{port}"
|
|
342
|
+
self._port_detection_complete = True
|
|
318
343
|
self.logger.debug(f"Detected Socket.IO server on port {port}")
|
|
319
344
|
return
|
|
320
345
|
except Exception: # nosec B112 - intentional: skip ports that fail
|
|
321
346
|
continue
|
|
322
347
|
|
|
323
|
-
#
|
|
324
|
-
self.
|
|
325
|
-
self.server_url = f"http://localhost:{self.server_port}"
|
|
348
|
+
# Keep default port set in __init__, mark detection complete
|
|
349
|
+
self._port_detection_complete = True
|
|
326
350
|
self.logger.debug(f"Using default Socket.IO server: {self.server_url}")
|
|
327
351
|
|
|
328
352
|
def _create_client(self) -> Optional[socketio.AsyncClient]:
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -101,7 +101,9 @@ class HookServiceContainer:
|
|
|
101
101
|
if self._state_manager is None:
|
|
102
102
|
with self._init_lock:
|
|
103
103
|
if self._state_manager is None:
|
|
104
|
-
from .state_manager import
|
|
104
|
+
from claude_mpm.hooks.claude_hooks.services.state_manager import (
|
|
105
|
+
StateManagerService,
|
|
106
|
+
)
|
|
105
107
|
|
|
106
108
|
self._state_manager = StateManagerService()
|
|
107
109
|
return self._state_manager
|
|
@@ -114,7 +116,9 @@ class HookServiceContainer:
|
|
|
114
116
|
if self._connection_manager is None:
|
|
115
117
|
with self._init_lock:
|
|
116
118
|
if self._connection_manager is None:
|
|
117
|
-
from .connection_manager_http import
|
|
119
|
+
from claude_mpm.hooks.claude_hooks.services.connection_manager_http import (
|
|
120
|
+
ConnectionManagerService,
|
|
121
|
+
)
|
|
118
122
|
|
|
119
123
|
self._connection_manager = ConnectionManagerService()
|
|
120
124
|
return self._connection_manager
|
|
@@ -127,7 +131,9 @@ class HookServiceContainer:
|
|
|
127
131
|
if self._duplicate_detector is None:
|
|
128
132
|
with self._init_lock:
|
|
129
133
|
if self._duplicate_detector is None:
|
|
130
|
-
from .duplicate_detector import
|
|
134
|
+
from claude_mpm.hooks.claude_hooks.services.duplicate_detector import (
|
|
135
|
+
DuplicateEventDetector,
|
|
136
|
+
)
|
|
131
137
|
|
|
132
138
|
self._duplicate_detector = DuplicateEventDetector()
|
|
133
139
|
return self._duplicate_detector
|
|
@@ -140,7 +146,9 @@ class HookServiceContainer:
|
|
|
140
146
|
if self._response_tracking_manager is None:
|
|
141
147
|
with self._init_lock:
|
|
142
148
|
if self._response_tracking_manager is None:
|
|
143
|
-
from
|
|
149
|
+
from claude_mpm.hooks.claude_hooks.response_tracking import (
|
|
150
|
+
ResponseTrackingManager,
|
|
151
|
+
)
|
|
144
152
|
|
|
145
153
|
self._response_tracking_manager = ResponseTrackingManager()
|
|
146
154
|
return self._response_tracking_manager
|
|
@@ -153,7 +161,9 @@ class HookServiceContainer:
|
|
|
153
161
|
if self._memory_hook_manager is None:
|
|
154
162
|
with self._init_lock:
|
|
155
163
|
if self._memory_hook_manager is None:
|
|
156
|
-
from
|
|
164
|
+
from claude_mpm.hooks.claude_hooks.memory_integration import (
|
|
165
|
+
MemoryHookManager,
|
|
166
|
+
)
|
|
157
167
|
|
|
158
168
|
self._memory_hook_manager = MemoryHookManager()
|
|
159
169
|
return self._memory_hook_manager
|
|
@@ -170,7 +180,9 @@ class HookServiceContainer:
|
|
|
170
180
|
with self._init_lock:
|
|
171
181
|
if self._auto_pause_handler is None:
|
|
172
182
|
try:
|
|
173
|
-
from
|
|
183
|
+
from claude_mpm.hooks.claude_hooks.auto_pause_handler import (
|
|
184
|
+
AutoPauseHandler,
|
|
185
|
+
)
|
|
174
186
|
|
|
175
187
|
self._auto_pause_handler = AutoPauseHandler()
|
|
176
188
|
except Exception:
|
|
@@ -197,7 +209,9 @@ class HookServiceContainer:
|
|
|
197
209
|
if self._subagent_processor is None:
|
|
198
210
|
with self._init_lock:
|
|
199
211
|
if self._subagent_processor is None:
|
|
200
|
-
from .subagent_processor import
|
|
212
|
+
from claude_mpm.hooks.claude_hooks.services.subagent_processor import (
|
|
213
|
+
SubagentResponseProcessor,
|
|
214
|
+
)
|
|
201
215
|
|
|
202
216
|
# Use provided dependencies or get from container
|
|
203
217
|
sm = state_manager or self.get_state_manager()
|
|
@@ -223,7 +237,9 @@ class HookServiceContainer:
|
|
|
223
237
|
if self._event_handlers is None:
|
|
224
238
|
with self._init_lock:
|
|
225
239
|
if self._event_handlers is None:
|
|
226
|
-
from
|
|
240
|
+
from claude_mpm.hooks.claude_hooks.event_handlers import (
|
|
241
|
+
EventHandlers,
|
|
242
|
+
)
|
|
227
243
|
|
|
228
244
|
if hook_handler is None:
|
|
229
245
|
raise ValueError(
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
claude_mpm/BUILD_NUMBER,sha256=9JfxhnDtr-8l3kCP2U5TVXSErptHoga8m7XA8zqgGOc,4
|
|
2
|
-
claude_mpm/VERSION,sha256=
|
|
2
|
+
claude_mpm/VERSION,sha256=xe3eZEgC4fdpm_JlvNnT9oVYFmSxxs9wnYcLvnZj_eE,7
|
|
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
|
|
@@ -305,7 +305,7 @@ claude_mpm/core/output_style_manager.py,sha256=1N_SLBGcUAFIaI7HkhscXuwi_S6f5f6sZ
|
|
|
305
305
|
claude_mpm/core/pm_hook_interceptor.py,sha256=92C8TrpK-XVQD8BiXbqs8lSCX72PU0KZG5oAjhf8GOQ,11197
|
|
306
306
|
claude_mpm/core/service_registry.py,sha256=QpmAMWCov8XXaxQwE7WiNbgv6u_CRjpKPB64kLYvZKk,11722
|
|
307
307
|
claude_mpm/core/session_manager.py,sha256=iEDZWKBYHSu001nFX8vFvH33RvQOW0eIgomWhFM53sw,12078
|
|
308
|
-
claude_mpm/core/socketio_pool.py,sha256=
|
|
308
|
+
claude_mpm/core/socketio_pool.py,sha256=MBpOYVoVvfkLSLGVdHFuwaFehs9AO5Fk2ouP1JEec4M,32660
|
|
309
309
|
claude_mpm/core/system_context.py,sha256=zKSKOQfhmILE8SV31TIGhGPvZ7CkZtfFRQdpdLTQvQU,1565
|
|
310
310
|
claude_mpm/core/tool_access_control.py,sha256=dpdxxp_77SuxGM2C7SsHUZbtysJmHw1rLDXIeOvS7IA,6428
|
|
311
311
|
claude_mpm/core/types.py,sha256=Sv62QhMYvfxbt7oIGoAhhN_jxonFTeLRf-BuhxZ4vYw,7719
|
|
@@ -437,28 +437,44 @@ claude_mpm/hooks/claude_hooks/memory_integration.py,sha256=YOMD4Ah003uMh7A454w8n
|
|
|
437
437
|
claude_mpm/hooks/claude_hooks/response_tracking.py,sha256=1KOGC19rYRNYbc1Tfe7FAP6AtvgOMSM5uEPxMi2N6-c,16323
|
|
438
438
|
claude_mpm/hooks/claude_hooks/tool_analysis.py,sha256=3_o2PP9D7wEMwLriCtIBOw0cj2fSZfepN7lI4P1meSQ,7862
|
|
439
439
|
claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc,sha256=EGpgXqhPM0iRRZtCqHaLVQ6wDH42OH_M7Gt5GiFLyro,346
|
|
440
|
+
claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-314.pyc,sha256=tBzcQ_3WxkmgPTQAPd7uKgFGtz-Yb6r2hEgF9Y_Flwc,319
|
|
440
441
|
claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc,sha256=lw3g7dHPcJ258xtcmbXOk-tCqVz0JAc5PZ10LUfG4Zo,20829
|
|
442
|
+
claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-314.pyc,sha256=TW6wmI4uZSKYTZLvzRUo8a2BNrJRumyIPJEy5SwbPY0,21381
|
|
441
443
|
claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc,sha256=SQX5iiP9bQZkLL-cj_2tlGH7lpAzarO0mYal7btj3tc,3521
|
|
444
|
+
claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-314.pyc,sha256=EsrmN8bVySuKI2cdojP30zm6kao4N-6Y57p0-AeJBYM,3966
|
|
442
445
|
claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc,sha256=NSsuyYiHY1rY6PPIceasOrzJ3f_qnvJnWimj3TbHuzk,51316
|
|
446
|
+
claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-314.pyc,sha256=ygzt-9jVNwEB8y9AlaRO7-DFxVh04td10zY14U8HPRg,51225
|
|
443
447
|
claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc,sha256=NQtvV9vs1OMKQTZWRQrAie83y4Q61mJ-QFawC2GnsUQ,32799
|
|
448
|
+
claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-314.pyc,sha256=Y42877bxn92Yjwep0Htoq9oHSCuyxBQ2EdJ0F0b6MRA,32590
|
|
449
|
+
claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-314.pyc,sha256=o_VDKXRxxNBrosgfuPQRLmzDC_zZtF0yOWxnYTdw0Yk,41573
|
|
444
450
|
claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc,sha256=1llucgjrun0H6q8V8_BXTHtkTiYAwNGyptluhoIi7ss,11185
|
|
451
|
+
claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-314.pyc,sha256=I4vC0wDRgWcosl44rxzCqeiLaubCPdwzn2mnMBcCe7o,11081
|
|
445
452
|
claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc,sha256=E_pRoKx-mAB5gEv2_5TneMC_K10zj7FYCPwQPnPd88g,16228
|
|
453
|
+
claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-314.pyc,sha256=HGqXKBQrB8f01TCf7n07AeFgIF48bnBRrPxsuoZ6TdE,15820
|
|
446
454
|
claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc,sha256=ZjcNfNY5Ht6FhalPeh7M7OzMffcey5iF4AVjDDg9kak,10694
|
|
455
|
+
claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-314.pyc,sha256=ck8ifVIoVPaMVVRcMgvsM8RfIHnQbwGBUVs25A-yQBw,10771
|
|
447
456
|
claude_mpm/hooks/claude_hooks/services/__init__.py,sha256=Hb4SqNzSN-JKzp8pMM3SbDMTCsUydypfXiDx4_4QvBI,1112
|
|
448
457
|
claude_mpm/hooks/claude_hooks/services/connection_manager.py,sha256=46y84lKi3KuExWyJgFcEfgLxrzQY3IjGRob_6I4hXp4,10196
|
|
449
458
|
claude_mpm/hooks/claude_hooks/services/connection_manager_http.py,sha256=uJH0CGsszvhlg7zfEI2JB7uuxXtYBk9Yey-u2F6VoNo,7582
|
|
450
|
-
claude_mpm/hooks/claude_hooks/services/container.py,sha256=
|
|
459
|
+
claude_mpm/hooks/claude_hooks/services/container.py,sha256=0bsBczEHwVMz8h3CL7ua6_B6CLi4ZCDu6ke2dUFkIpY,12738
|
|
451
460
|
claude_mpm/hooks/claude_hooks/services/duplicate_detector.py,sha256=Fh9LmEMsVmQM9t0U1v2l_fuBwvNpVkl_0EF8Wu5KLHQ,3882
|
|
452
461
|
claude_mpm/hooks/claude_hooks/services/protocols.py,sha256=vbGAhbg1vJVwyY6zQn5cNbrZYIW0XEr5h0cR2A5G0fc,8712
|
|
453
462
|
claude_mpm/hooks/claude_hooks/services/state_manager.py,sha256=uuYJVsxIinmOhu7muqJsRZvFMN83YaoYoOWWIiORhr0,10898
|
|
454
463
|
claude_mpm/hooks/claude_hooks/services/subagent_processor.py,sha256=Wq0CKzgBnAtJfxiWHTipjkmFbuvMGu1mqcmQoEMMyyQ,15039
|
|
455
464
|
claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc,sha256=Ourc5IO3cUSZ9lg-1SKh5HaF01L5DmWXTRl38UN35NE,1145
|
|
465
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-314.pyc,sha256=2sEfKbiRDzZ31YPdbcmYCyMD2RrsBvV2dz6rIUM4hwo,957
|
|
456
466
|
claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc,sha256=a7ERR-95KADLqU8bgoPzpCvEPo0yoYjhfXq_u2sCKuk,9613
|
|
457
|
-
claude_mpm/hooks/claude_hooks/services/__pycache__/
|
|
467
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-314.pyc,sha256=IiHEGNWsa-DRr1m8ixEIHv_duHT5SorIcg1d2vZBR34,9627
|
|
468
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc,sha256=3SkPihhEUk3S39IvnM3bZ-ijoLE0qqHMvoeeM-hebdk,15390
|
|
469
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-314.pyc,sha256=eRT9Kt1X0AlA1r_W357BE47IgmKvHxR9mgtJR1easUg,18050
|
|
458
470
|
claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc,sha256=Yy_REAUhJCiFjOhxeDb4v0qyEvEbUtCmXD9PAz40dhw,5321
|
|
471
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-314.pyc,sha256=Xy9iNAtQMfXC_eW9rvumG9rFqK5t-QlLPmUahlqza_I,5341
|
|
459
472
|
claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-311.pyc,sha256=rmXujh8AxeOajj_40rSug1QdKCFNl5cFjn_pQE6DExY,15962
|
|
473
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-314.pyc,sha256=0YrvSRdqX6CI5Fh3_Oy-ax16HD4b0H9tbL87pqpS1Pk,20861
|
|
460
474
|
claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc,sha256=FkVlm20olvS286fK1SKPBDo9tOy0A9hRW0o5Gkyszuc,12352
|
|
475
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-314.pyc,sha256=dk8pUEtJS1CFnaQ62Wt4Z9E8-dePdqiP3ObrDgZLDVc,13101
|
|
461
476
|
claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc,sha256=LILTBRAG9Wxpu_FmVod_5hnJO-wbaewqKrxEZ_GJTEI,14931
|
|
477
|
+
claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-314.pyc,sha256=Y_3P-WuOGBdmRbGj7CmsOofU5KzQ_K9vXFxKDYKZPwA,15104
|
|
462
478
|
claude_mpm/hooks/failure_learning/__init__.py,sha256=iJ80AKFHiT8DjIH2a72DQVJvL6nAFrizNA2yTKwZ4rw,1805
|
|
463
479
|
claude_mpm/hooks/failure_learning/failure_detection_hook.py,sha256=KENoB5N-dBm5hb0SxeIZtCvNKbmG2BKHOJSrSO-3Z_I,7500
|
|
464
480
|
claude_mpm/hooks/failure_learning/fix_detection_hook.py,sha256=XUk1bnBVLdfhQ9AMQSvGsTSeFQsKsVud2wbWX-Jjor8,7164
|
|
@@ -1106,10 +1122,10 @@ claude_mpm/utils/subprocess_utils.py,sha256=D0izRT8anjiUb_JG72zlJR_JAw1cDkb7kalN
|
|
|
1106
1122
|
claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
|
|
1107
1123
|
claude_mpm/validation/agent_validator.py,sha256=GprtAvu80VyMXcKGsK_VhYiXWA6BjKHv7O6HKx0AB9w,20917
|
|
1108
1124
|
claude_mpm/validation/frontmatter_validator.py,sha256=YpJlYNNYcV8u6hIOi3_jaRsDnzhbcQpjCBE6eyBKaFY,7076
|
|
1109
|
-
claude_mpm-5.6.
|
|
1110
|
-
claude_mpm-5.6.
|
|
1111
|
-
claude_mpm-5.6.
|
|
1112
|
-
claude_mpm-5.6.
|
|
1113
|
-
claude_mpm-5.6.
|
|
1114
|
-
claude_mpm-5.6.
|
|
1115
|
-
claude_mpm-5.6.
|
|
1125
|
+
claude_mpm-5.6.35.dist-info/licenses/LICENSE,sha256=ca3y_Rk4aPrbF6f62z8Ht5MJM9OAvbGlHvEDcj9vUQ4,3867
|
|
1126
|
+
claude_mpm-5.6.35.dist-info/licenses/LICENSE-FAQ.md,sha256=TxfEkXVCK98RzDOer09puc7JVCP_q_bN4dHtZKHCMcM,5104
|
|
1127
|
+
claude_mpm-5.6.35.dist-info/METADATA,sha256=0b-IlQQmbEn7N6Aut3-6G4PwDdXpc2gZE0Ed1uOA3tY,15245
|
|
1128
|
+
claude_mpm-5.6.35.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1129
|
+
claude_mpm-5.6.35.dist-info/entry_points.txt,sha256=n-Uk4vwHPpuvu-g_I7-GHORzTnN_m6iyOsoLveKKD0E,228
|
|
1130
|
+
claude_mpm-5.6.35.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
|
|
1131
|
+
claude_mpm-5.6.35.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|