claude-mpm 4.1.3__py3-none-any.whl → 4.1.5__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.
Files changed (77) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +16 -19
  3. claude_mpm/agents/MEMORY.md +21 -49
  4. claude_mpm/agents/templates/OPTIMIZATION_REPORT.md +156 -0
  5. claude_mpm/agents/templates/api_qa.json +36 -116
  6. claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +42 -9
  7. claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +29 -6
  8. claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +34 -6
  9. claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +41 -9
  10. claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +30 -8
  11. claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +2 -2
  12. claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +29 -6
  13. claude_mpm/agents/templates/backup/research_memory_efficient.json +2 -2
  14. claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +41 -9
  15. claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +23 -7
  16. claude_mpm/agents/templates/code_analyzer.json +18 -36
  17. claude_mpm/agents/templates/data_engineer.json +43 -14
  18. claude_mpm/agents/templates/documentation.json +55 -74
  19. claude_mpm/agents/templates/engineer.json +56 -61
  20. claude_mpm/agents/templates/imagemagick.json +7 -2
  21. claude_mpm/agents/templates/memory_manager.json +1 -1
  22. claude_mpm/agents/templates/ops.json +36 -4
  23. claude_mpm/agents/templates/project_organizer.json +23 -71
  24. claude_mpm/agents/templates/qa.json +34 -2
  25. claude_mpm/agents/templates/refactoring_engineer.json +9 -5
  26. claude_mpm/agents/templates/research.json +36 -4
  27. claude_mpm/agents/templates/security.json +29 -2
  28. claude_mpm/agents/templates/ticketing.json +3 -3
  29. claude_mpm/agents/templates/vercel_ops_agent.json +2 -2
  30. claude_mpm/agents/templates/version_control.json +28 -2
  31. claude_mpm/agents/templates/web_qa.json +38 -151
  32. claude_mpm/agents/templates/web_ui.json +2 -2
  33. claude_mpm/cli/commands/agent_manager.py +221 -1
  34. claude_mpm/cli/commands/tickets.py +365 -784
  35. claude_mpm/cli/parsers/agent_manager_parser.py +34 -0
  36. claude_mpm/core/framework_loader.py +91 -0
  37. claude_mpm/core/log_manager.py +49 -1
  38. claude_mpm/core/output_style_manager.py +24 -0
  39. claude_mpm/core/unified_agent_registry.py +46 -15
  40. claude_mpm/services/agents/deployment/agent_discovery_service.py +12 -3
  41. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +172 -233
  42. claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +575 -0
  43. claude_mpm/services/agents/deployment/agent_operation_service.py +573 -0
  44. claude_mpm/services/agents/deployment/agent_record_service.py +419 -0
  45. claude_mpm/services/agents/deployment/agent_state_service.py +381 -0
  46. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +4 -2
  47. claude_mpm/services/infrastructure/__init__.py +31 -5
  48. claude_mpm/services/infrastructure/monitoring/__init__.py +43 -0
  49. claude_mpm/services/infrastructure/monitoring/aggregator.py +437 -0
  50. claude_mpm/services/infrastructure/monitoring/base.py +130 -0
  51. claude_mpm/services/infrastructure/monitoring/legacy.py +203 -0
  52. claude_mpm/services/infrastructure/monitoring/network.py +218 -0
  53. claude_mpm/services/infrastructure/monitoring/process.py +342 -0
  54. claude_mpm/services/infrastructure/monitoring/resources.py +243 -0
  55. claude_mpm/services/infrastructure/monitoring/service.py +367 -0
  56. claude_mpm/services/infrastructure/monitoring.py +67 -1030
  57. claude_mpm/services/memory/router.py +116 -10
  58. claude_mpm/services/project/analyzer.py +13 -4
  59. claude_mpm/services/project/analyzer_refactored.py +450 -0
  60. claude_mpm/services/project/analyzer_v2.py +566 -0
  61. claude_mpm/services/project/architecture_analyzer.py +461 -0
  62. claude_mpm/services/project/dependency_analyzer.py +462 -0
  63. claude_mpm/services/project/language_analyzer.py +265 -0
  64. claude_mpm/services/project/metrics_collector.py +410 -0
  65. claude_mpm/services/ticket_manager.py +5 -1
  66. claude_mpm/services/ticket_services/__init__.py +26 -0
  67. claude_mpm/services/ticket_services/crud_service.py +328 -0
  68. claude_mpm/services/ticket_services/formatter_service.py +290 -0
  69. claude_mpm/services/ticket_services/search_service.py +324 -0
  70. claude_mpm/services/ticket_services/validation_service.py +303 -0
  71. claude_mpm/services/ticket_services/workflow_service.py +244 -0
  72. {claude_mpm-4.1.3.dist-info → claude_mpm-4.1.5.dist-info}/METADATA +1 -1
  73. {claude_mpm-4.1.3.dist-info → claude_mpm-4.1.5.dist-info}/RECORD +77 -52
  74. {claude_mpm-4.1.3.dist-info → claude_mpm-4.1.5.dist-info}/WHEEL +0 -0
  75. {claude_mpm-4.1.3.dist-info → claude_mpm-4.1.5.dist-info}/entry_points.txt +0 -0
  76. {claude_mpm-4.1.3.dist-info → claude_mpm-4.1.5.dist-info}/licenses/LICENSE +0 -0
  77. {claude_mpm-4.1.3.dist-info → claude_mpm-4.1.5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,244 @@
1
+ """
2
+ Workflow service for ticket state transitions.
3
+
4
+ WHY: Manages ticket workflow states and transitions, ensuring valid
5
+ state changes and maintaining workflow integrity.
6
+
7
+ DESIGN DECISIONS:
8
+ - Enforces valid state transitions
9
+ - Handles workflow-specific operations (comments, notifications)
10
+ - Provides workflow history tracking
11
+ - Abstracts aitrackdown workflow commands
12
+ """
13
+
14
+ import subprocess
15
+ from typing import Any, Dict, List, Optional, Tuple
16
+
17
+ from ...core.logger import get_logger
18
+
19
+
20
+ class TicketWorkflowService:
21
+ """Service for managing ticket workflow states."""
22
+
23
+ # Valid workflow transitions
24
+ WORKFLOW_TRANSITIONS = {
25
+ "todo": ["in_progress", "blocked"],
26
+ "in_progress": ["ready", "blocked", "todo"],
27
+ "ready": ["tested", "in_progress", "blocked"],
28
+ "tested": ["done", "ready", "blocked"],
29
+ "done": ["tested", "ready"], # Can reopen
30
+ "blocked": ["todo", "in_progress", "ready"],
31
+ }
32
+
33
+ # Status to workflow state mapping
34
+ STATUS_TO_WORKFLOW = {
35
+ "open": "todo",
36
+ "in_progress": "in_progress",
37
+ "ready": "ready",
38
+ "tested": "tested",
39
+ "done": "done",
40
+ "closed": "done",
41
+ "blocked": "blocked",
42
+ "waiting": "blocked",
43
+ }
44
+
45
+ def __init__(self):
46
+ """Initialize the workflow service."""
47
+ self.logger = get_logger("services.ticket_workflow")
48
+
49
+ def transition_ticket(
50
+ self,
51
+ ticket_id: str,
52
+ new_state: str,
53
+ comment: Optional[str] = None,
54
+ force: bool = False,
55
+ ) -> Dict[str, Any]:
56
+ """
57
+ Transition a ticket to a new workflow state.
58
+
59
+ Args:
60
+ ticket_id: ID of the ticket
61
+ new_state: Target workflow state
62
+ comment: Optional comment for the transition
63
+ force: Force transition even if not normally allowed
64
+
65
+ Returns:
66
+ Dict with success status and message
67
+ """
68
+ try:
69
+ # Validate the transition if not forced
70
+ if not force:
71
+ valid, error = self.validate_transition(ticket_id, new_state)
72
+ if not valid:
73
+ return {"success": False, "error": error}
74
+
75
+ # Use aitrackdown CLI for the transition
76
+ result = self._transition_via_aitrackdown(ticket_id, new_state, comment)
77
+
78
+ if result["success"]:
79
+ # Log successful transition
80
+ self.logger.info(f"Transitioned {ticket_id} to {new_state}")
81
+
82
+ return result
83
+
84
+ except Exception as e:
85
+ self.logger.error(f"Error transitioning ticket {ticket_id}: {e}")
86
+ return {"success": False, "error": str(e)}
87
+
88
+ def _transition_via_aitrackdown(
89
+ self, ticket_id: str, state: str, comment: Optional[str]
90
+ ) -> Dict[str, Any]:
91
+ """Transition ticket using aitrackdown CLI."""
92
+ try:
93
+ cmd = ["aitrackdown", "transition", ticket_id, state]
94
+
95
+ if comment:
96
+ cmd.extend(["--comment", comment])
97
+
98
+ subprocess.run(cmd, check=True, capture_output=True, text=True)
99
+
100
+ return {
101
+ "success": True,
102
+ "message": f"Updated workflow state for {ticket_id} to: {state}",
103
+ }
104
+ except subprocess.CalledProcessError as e:
105
+ self.logger.error(f"Failed to transition via CLI: {e}")
106
+ return {
107
+ "success": False,
108
+ "error": f"Failed to update workflow state for ticket: {ticket_id}",
109
+ }
110
+
111
+ def validate_transition(
112
+ self, ticket_id: str, new_state: str
113
+ ) -> Tuple[bool, Optional[str]]:
114
+ """
115
+ Validate if a workflow transition is allowed.
116
+
117
+ Returns:
118
+ Tuple of (is_valid, error_message)
119
+ """
120
+ # For now, we assume all transitions are valid since we don't
121
+ # have access to current state without fetching the ticket
122
+ # In a real implementation, this would check current state
123
+
124
+ if new_state not in self.WORKFLOW_TRANSITIONS:
125
+ return False, f"Invalid workflow state: {new_state}"
126
+
127
+ # TODO: Fetch current state and validate transition
128
+ # current_state = self._get_current_state(ticket_id)
129
+ # if new_state not in self.WORKFLOW_TRANSITIONS.get(current_state, []):
130
+ # return False, f"Cannot transition from {current_state} to {new_state}"
131
+
132
+ return True, None
133
+
134
+ def add_comment(self, ticket_id: str, comment: str) -> Dict[str, Any]:
135
+ """
136
+ Add a comment to a ticket.
137
+
138
+ Args:
139
+ ticket_id: ID of the ticket
140
+ comment: Comment text
141
+
142
+ Returns:
143
+ Dict with success status and message
144
+ """
145
+ try:
146
+ cmd = ["aitrackdown", "comment", ticket_id, comment]
147
+
148
+ subprocess.run(cmd, check=True, capture_output=True, text=True)
149
+
150
+ return {"success": True, "message": f"Added comment to ticket: {ticket_id}"}
151
+ except subprocess.CalledProcessError as e:
152
+ self.logger.error(f"Failed to add comment: {e}")
153
+ return {
154
+ "success": False,
155
+ "error": f"Failed to add comment to ticket: {ticket_id}",
156
+ }
157
+
158
+ def get_workflow_states(self) -> List[str]:
159
+ """
160
+ Get list of all valid workflow states.
161
+
162
+ Returns:
163
+ List of workflow state names
164
+ """
165
+ return list(self.WORKFLOW_TRANSITIONS.keys())
166
+
167
+ def get_valid_transitions(self, current_state: str) -> List[str]:
168
+ """
169
+ Get valid transitions from a given state.
170
+
171
+ Args:
172
+ current_state: Current workflow state
173
+
174
+ Returns:
175
+ List of valid target states
176
+ """
177
+ return self.WORKFLOW_TRANSITIONS.get(current_state, [])
178
+
179
+ def map_status_to_workflow(self, status: str) -> str:
180
+ """
181
+ Map a ticket status to a workflow state.
182
+
183
+ Args:
184
+ status: Ticket status
185
+
186
+ Returns:
187
+ Corresponding workflow state
188
+ """
189
+ return self.STATUS_TO_WORKFLOW.get(status, "todo")
190
+
191
+ def bulk_transition(
192
+ self, ticket_ids: List[str], new_state: str, comment: Optional[str] = None
193
+ ) -> Dict[str, Any]:
194
+ """
195
+ Transition multiple tickets to a new state.
196
+
197
+ Args:
198
+ ticket_ids: List of ticket IDs
199
+ new_state: Target workflow state
200
+ comment: Optional comment for all transitions
201
+
202
+ Returns:
203
+ Dict with results for each ticket
204
+ """
205
+ results = {"succeeded": [], "failed": [], "total": len(ticket_ids)}
206
+
207
+ for ticket_id in ticket_ids:
208
+ result = self.transition_ticket(ticket_id, new_state, comment)
209
+
210
+ if result["success"]:
211
+ results["succeeded"].append(ticket_id)
212
+ else:
213
+ results["failed"].append(
214
+ {
215
+ "ticket_id": ticket_id,
216
+ "error": result.get("error", "Unknown error"),
217
+ }
218
+ )
219
+
220
+ return {"success": len(results["failed"]) == 0, "results": results}
221
+
222
+ def get_workflow_summary(self, tickets: List[Dict[str, Any]]) -> Dict[str, int]:
223
+ """
224
+ Get summary of tickets by workflow state.
225
+
226
+ Args:
227
+ tickets: List of ticket dictionaries
228
+
229
+ Returns:
230
+ Dict mapping workflow states to counts
231
+ """
232
+ summary = dict.fromkeys(self.WORKFLOW_TRANSITIONS.keys(), 0)
233
+ summary["unknown"] = 0
234
+
235
+ for ticket in tickets:
236
+ status = ticket.get("status", "unknown")
237
+ workflow_state = self.map_status_to_workflow(status)
238
+
239
+ if workflow_state in summary:
240
+ summary[workflow_state] += 1
241
+ else:
242
+ summary["unknown"] += 1
243
+
244
+ return summary
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.1.3
3
+ Version: 4.1.5
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
@@ -1,14 +1,14 @@
1
1
  claude_mpm/BUILD_NUMBER,sha256=toytnNjkIKPgQaGwDqQdC1rpNTAdSEc6Vja50d7Ovug,4
2
- claude_mpm/VERSION,sha256=2RozybmTQOPh97pI8EOhD26XGciF_-yqT9gQiVfsr3I,6
2
+ claude_mpm/VERSION,sha256=czjCYBagmbs_O-Ak6fxF_2zjRM56SKuPyTJA1i1M2lw,6
3
3
  claude_mpm/__init__.py,sha256=lyTZAYGH4DTaFGLRNWJKk5Q5oTjzN5I6AXmfVX-Jff0,1512
4
4
  claude_mpm/__main__.py,sha256=Ro5UBWBoQaSAIoSqWAr7zkbLyvi4sSy28WShqAhKJG0,723
5
5
  claude_mpm/constants.py,sha256=8iLwOogyO85tq8hnBIlX2JfOoAL_eu8_9hDEEtNS394,5650
6
6
  claude_mpm/init.py,sha256=mcBonXUyP9pxEFFYfFcQ4OFLWiICT1XnonM_EdjIhoI,15133
7
7
  claude_mpm/ticket_wrapper.py,sha256=qe5xY579t7_7fK5nyeAfHN_fr7CXdeOD3jfXEc8-7yo,828
8
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=r3EZA186PH7IAPaHsLc3aF3WmB5nwkz207lbAOVwRTA,5965
8
+ claude_mpm/agents/BASE_AGENT_TEMPLATE.md,sha256=aK9qxS1FRpm_8VaB5GI2I6YA9Wr8dGHuea_txMFe44M,5524
9
9
  claude_mpm/agents/BASE_PM.md,sha256=OMWebRWA4ZDk9z3H9DxvksNYqfG4ZExFVNF2vUirUBo,9299
10
10
  claude_mpm/agents/INSTRUCTIONS.md,sha256=bTTlGVJwcYjdQ51PMsJXPW6FIEg15wItyHY2u0BYJSU,10777
11
- claude_mpm/agents/MEMORY.md,sha256=zzwq4ytOrRaj64iq1q7brC6WOCQ4PDDC75TTRT8QudA,3493
11
+ claude_mpm/agents/MEMORY.md,sha256=EeY1MwnrhaAij5_pUCt_lcOc2-coo3EYkWRyRbPyJmM,3181
12
12
  claude_mpm/agents/OUTPUT_STYLE.md,sha256=HZ5GhiTwMWj9G_uefmMguH4Ukhs2CQqa8u5FQ6HBrbo,2538
13
13
  claude_mpm/agents/WORKFLOW.md,sha256=y-tYNbSqJ4D4ND5TMc5bvcnq_mYw3Gwq9bnpz-LzwvQ,7972
14
14
  claude_mpm/agents/__init__.py,sha256=jRFxvV_DIZ-NdENa-703Xu3YpwvlQj6yv-mQ6FgmldM,3220
@@ -23,38 +23,39 @@ claude_mpm/agents/frontmatter_validator.py,sha256=GiCxr13b-SFwvZNbNHDO0lFH9dFhsQ
23
23
  claude_mpm/agents/system_agent_config.py,sha256=HBDrtRld1ruPqrThA0j4vtMr4cBt0fT7qjDeCR79bps,24105
24
24
  claude_mpm/agents/backups/INSTRUCTIONS.md,sha256=tdekngpZ5RjECYZosOaDSBmXPZsVvZcwDQEmmlw7fOQ,14268
25
25
  claude_mpm/agents/schema/agent_schema.json,sha256=3p-_vcEAz5Py0ik7LPSJB9CQyE9L_zHhC82J0eCfn78,8784
26
+ claude_mpm/agents/templates/OPTIMIZATION_REPORT.md,sha256=qSIZ77DARoOcR4pL-izYDFCgNmXO3m6tbJyAXuYX20E,5765
26
27
  claude_mpm/agents/templates/__init__.py,sha256=kghxAWs3KvcAA9Esk3NI7caumYgW6fiW8vRO1-MEndU,2735
27
28
  claude_mpm/agents/templates/agent-manager.json,sha256=pRMILoAMxVZcc5g_XwStpJoz2K8LJo8sUyJB6bep6rI,628
28
29
  claude_mpm/agents/templates/agent-manager.md,sha256=vsy49vWxIlMVLX6H7_BtjPDaR4j_gkechvgWbN88aPI,8218
29
- claude_mpm/agents/templates/api_qa.json,sha256=uyKVTkHh_wY5hbrQoshM1sVq9lO0PkkbsXM2Kn8QQBc,19111
30
- claude_mpm/agents/templates/code_analyzer.json,sha256=WZ5z27cB3-SgXU9ubbK1m_XyiIqSigZFAes_ZnpP7NE,24778
31
- claude_mpm/agents/templates/data_engineer.json,sha256=1xlnCPJM4IR8jlqh_wkV7G1x7uuo15afl1l7zo64yt8,17442
32
- claude_mpm/agents/templates/documentation.json,sha256=Lfd2WvlpQVLMPgJkrgJNvF1QrEzDy0Ej3Junh5brXaE,13820
33
- claude_mpm/agents/templates/engineer.json,sha256=IJ26Z-6NKlV6H2k23esncEJ_Xi1qvDe9iGYhGMeM2BQ,13120
34
- claude_mpm/agents/templates/imagemagick.json,sha256=yszLBxNkcGXHbRdFKGMsZYXFeuJL5yGXTgIi_kbi7D4,17596
35
- claude_mpm/agents/templates/memory_manager.json,sha256=XgXZYJFXFsNHRzwl_qyIKF6jzBa0dv6DqoiU8uuzHvw,12613
36
- claude_mpm/agents/templates/ops.json,sha256=CR4a_PAKorVPEPKEMTnVeItZMVFyah-wlU5qC0caCwY,6639
37
- claude_mpm/agents/templates/project_organizer.json,sha256=MpnwngqsKb4bEfTsnwOJCs1AMV29FEkx2sf2f_PZo5Y,17162
38
- claude_mpm/agents/templates/qa.json,sha256=BMjNCbQDsVawo5qBytTC4be03voOlExoh3n56utVmKs,8732
39
- claude_mpm/agents/templates/refactoring_engineer.json,sha256=HZs2wU-t9KSVFSaYPZATbZcdfuukGWq6L0ma3K5Bv7o,11761
40
- claude_mpm/agents/templates/research.json,sha256=5A0W3KpXx959JlowmcuxuUyak2gQMYO8n0Jv1_Mcmq4,7813
41
- claude_mpm/agents/templates/security.json,sha256=LRGVHNfUdB9EI-r7WsOdg8do4OxAMfV3BurlV_rY07o,14222
42
- claude_mpm/agents/templates/ticketing.json,sha256=qZp2fhXWbDvvyB95XrbZNqV4CVvItZ_C-Ss8a6FAxsM,11514
43
- claude_mpm/agents/templates/vercel_ops_agent.json,sha256=t_jjZeNThEYBJtntbSxR_grIr5nV_ktroJME_eXyx14,7926
30
+ claude_mpm/agents/templates/api_qa.json,sha256=hTdeNOgA2tzADCb2V9ExguFSvAv267yQYqa26AnOQHk,5786
31
+ claude_mpm/agents/templates/code_analyzer.json,sha256=UOTXl6VTmzx1OoF5M4Bc9lQGriLf6Jq84rz30J77tEM,4718
32
+ claude_mpm/agents/templates/data_engineer.json,sha256=rP3ffuaHwe0xGVpXShhVHTn1jEVMV2aAlnNGZL8j3jc,5629
33
+ claude_mpm/agents/templates/documentation.json,sha256=6G7U_48t8XX16YKI4NYMnmUU7eQ5ARGpQ7jzUshAuHc,6389
34
+ claude_mpm/agents/templates/engineer.json,sha256=ecb84bedntQHRttqxiQhgeI9GL6KJx5SboToG94pE3s,6622
35
+ claude_mpm/agents/templates/imagemagick.json,sha256=Hh5Y3OmhexTESiOZNyq79imbZ0-Vs8vpD2lpRi1x7FM,17747
36
+ claude_mpm/agents/templates/memory_manager.json,sha256=aQKZCnkljawXaY4fgtyzqKziIAsL2mtQOsh1HZ7qcws,12613
37
+ claude_mpm/agents/templates/ops.json,sha256=oC1pjdJrlRn4YBbP3RWFnmzpy-2ImabFR6GjsaWe3pI,7409
38
+ claude_mpm/agents/templates/project_organizer.json,sha256=wFpdLeMgpTMWPpd7zHDgJq-0_fyph9VOXMoZkRgwD5c,5632
39
+ claude_mpm/agents/templates/qa.json,sha256=2JunnzgFNdz_HE6_S3W84gShPnMPzH1sT63eoO1-Ie8,9526
40
+ claude_mpm/agents/templates/refactoring_engineer.json,sha256=EArflslbK27cCYtBlLpprf6BxIj5YHDpMneW5rk3jCc,11877
41
+ claude_mpm/agents/templates/research.json,sha256=EWCIP6GMtpnlVGeV9Ee2jf_PMzENaSxnau937lBIEec,8636
42
+ claude_mpm/agents/templates/security.json,sha256=Y04JVClNb1iGuMtaRjzXz3abQ8o1hR1cEBp3HHNOj5Y,14833
43
+ claude_mpm/agents/templates/ticketing.json,sha256=1aWHb9ASS178VDcNCIAz-cxWnk_jmODmwg87SV7ZqJo,11514
44
+ claude_mpm/agents/templates/vercel_ops_agent.json,sha256=FAg-erdW4b0o7zs2uUiEHdFEymT8ENxWZH4bpvjCPKQ,7927
44
45
  claude_mpm/agents/templates/vercel_ops_instructions.md,sha256=yDf5_2IEC22t6CqZaKCpbk1PIccHt3BbbnQ6IbAay38,15500
45
- claude_mpm/agents/templates/version_control.json,sha256=I_BudE8mEMWUwKYdkh36B-VraJwY7WLmOvgVTUJI3i0,13910
46
- claude_mpm/agents/templates/web_qa.json,sha256=nz_V_a6vovlm0jnJOblmvy3GpqKoPxzJgc-U26QVMZQ,31496
47
- claude_mpm/agents/templates/web_ui.json,sha256=O0zjrFOsR8P_gQJrNFMi7aIEaISLnt7tNn3KxwsIxbM,34906
48
- claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json,sha256=lLso4RHXVTQmX4A1XwF84kT59zZDblPO1xCgBj4S4x8,5060
49
- claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json,sha256=snfJW2yW9aMv9ldCSIWW7zwnyoQRx5u7xLMkNlfus9I,2258
50
- claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json,sha256=21o8TGCM9TO6eocSV9Ev5MmCq-xYwwCqMU7KQESaY2Q,8479
51
- claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json,sha256=y-unQijBWKAaPz3YCFoe21OMZXsU8jJ-mFrLGcmo8H0,2227
52
- claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json,sha256=_FHWnUeh151rgWX_xUgXsfGrJz7Bs3wno2lXU0nTwAo,2157
53
- claude_mpm/agents/templates/backup/research_agent_2025011_234551.json,sha256=pk2Tg0GVSPEkPEnMw5Iax5QUFY8XY7uF1uPG6eHBe14,12336
54
- claude_mpm/agents/templates/backup/research_agent_20250726_234551.json,sha256=o4n_sqSbjnsFRELB2q501vgwm-o2tQNLJLYvnVP9LWU,5629
55
- claude_mpm/agents/templates/backup/research_memory_efficient.json,sha256=WlPnKlojeiCBZ4H75nWexLl_dHU5cSORIqLCDp4tCMM,8419
56
- claude_mpm/agents/templates/backup/security_agent_20250726_234551.json,sha256=l5YuD-27CxKSOsRLv0bDY_tCZyds0yGbeizLb8paeFY,2322
57
- claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sha256=too38RPTLJ9HutCMn0nfmEdCj2me241dx5tUYDFtu94,2143
46
+ claude_mpm/agents/templates/version_control.json,sha256=QulRKPGVBvcCsvrQNdZWMcwyFhLMVzo3Lzy63cWwlrY,14430
47
+ claude_mpm/agents/templates/web_qa.json,sha256=Mykq_61giWYQWW30iU3zuRh9P8yOPvoXkp_x3vOVAR0,6344
48
+ claude_mpm/agents/templates/web_ui.json,sha256=l1DHRCrXpHDl01K5lkhiLYjPtv6i90lMRE_jZjPkifM,34852
49
+ claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json,sha256=k0iVEhxBfcSbeoTmoZ9oXpV3iT9cylrJ_GF1fp3ngV8,5264
50
+ claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json,sha256=SkaO4cDfV3rVMQX6awTVIZFpa2_KojzohPp32yIzRRo,2403
51
+ claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json,sha256=9p1_Ad4neaXI05eaIF7tyd2582zYin5H5Zvo_tNUios,8654
52
+ claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json,sha256=GZZE11TqEoo2EiA6e-ZYw2ZEIP4cJC_mj-QNb37iXZw,2425
53
+ claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json,sha256=P3JOCnlcO-lF-d_D9YmT12gDAGhUHjnF6nHbHmU7rWE,2294
54
+ claude_mpm/agents/templates/backup/research_agent_2025011_234551.json,sha256=3_Qo1ZBORi7xtroqh5_fXk1xUdG5LGKdaCf3yed8gF4,12337
55
+ claude_mpm/agents/templates/backup/research_agent_20250726_234551.json,sha256=mgajkxBOfzIWzPN0XkFW-4GeXZjhA7yLRz40tm02kC0,5774
56
+ claude_mpm/agents/templates/backup/research_memory_efficient.json,sha256=4ucuMNzAkL5XFFpxYuHH0Qei3ekAoQ8RKlkyO9zjgcQ,8420
57
+ claude_mpm/agents/templates/backup/security_agent_20250726_234551.json,sha256=sSMY54y7cEWjV1vEfFkIvL8UfNvC1u1Rd9znB6MSRmk,2520
58
+ claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json,sha256=2Xrc5FW5udGnzQC5uluvnw5qLcVswi9HVxse7BWhAl8,2244
58
59
  claude_mpm/cli/__init__.py,sha256=Ld4NA9EoNj5SHeYFWU26Hdd1mCP4lrlSwss-tvnbfKA,15522
59
60
  claude_mpm/cli/__main__.py,sha256=WnVGBwe10InxuZjJRFdwuMF6Gh16aXox6zFgxr0sRXk,847
60
61
  claude_mpm/cli/parser.py,sha256=pG4B8kcROCNLF5-3YiZTXwDBs4EoKxTdhw8CHKezYHc,1362
@@ -62,7 +63,7 @@ claude_mpm/cli/startup_logging.py,sha256=Xq1SHRZloSlH2UcszYvW1SETHsYnbpakS2-25x5
62
63
  claude_mpm/cli/ticket_cli.py,sha256=Cco0riIeo-PuzBslX3-5LAtLUcsLvexSRtVlheb7-cQ,916
63
64
  claude_mpm/cli/utils.py,sha256=-ObCOxPff4CB6xYulsneC19Fwwb3UHn53UI7u-B_pJ8,7023
64
65
  claude_mpm/cli/commands/__init__.py,sha256=fpng_LKNL_kdi1qmZ1I6wVop0U8rShOnPyv-GtZ50xE,979
65
- claude_mpm/cli/commands/agent_manager.py,sha256=Q_uJk_s2ZGfZnimZ7WCGu-bxzr2hFydbLQEWx-a8zVA,19713
66
+ claude_mpm/cli/commands/agent_manager.py,sha256=BYyoyyTx06Oy-kN6EwDOc1aFqw_HKRFhn3XYaT99u-M,29642
66
67
  claude_mpm/cli/commands/agents.py,sha256=Zz0UZF8t6KOsgMSehTDjEb39pevPwKCDhH-2WoYFq-Y,38064
67
68
  claude_mpm/cli/commands/aggregate.py,sha256=rLwZxXmIyTPuDUYKTooVtTgiW4mU3vw4_383jK1nXHU,18065
68
69
  claude_mpm/cli/commands/cleanup.py,sha256=c4QyAs9odx7__rSM9RDy2r9iwPlrfeIzx2vINbl7WaA,19694
@@ -81,9 +82,9 @@ claude_mpm/cli/commands/memory.py,sha256=Yzfs3_oiKciv3sfOoDm2lJL4M9idG7ARV3-sNw1
81
82
  claude_mpm/cli/commands/monitor.py,sha256=F4HY3x1A6hJgtHJlLssIWJFgND1xFGfzZSLU0ylwHpM,27308
82
83
  claude_mpm/cli/commands/run.py,sha256=7jvKy4emK8szoHR9nEigXnOrkugx4MduLmUadfWnUv0,43113
83
84
  claude_mpm/cli/commands/socketio_monitor.py,sha256=GHHY5pKg0XCffoqLoO0l0Nxa9HQY4gdrpYebLVahzl4,9540
84
- claude_mpm/cli/commands/tickets.py,sha256=gK8IL4IRZmLQTqJh3eEWU4TU_kbdo-Z9BE1QtFaF9dI,33514
85
+ claude_mpm/cli/commands/tickets.py,sha256=kl2dklTBnG3Y4jUUJ_PcEVsTx4CtVJfkGWboWBx_mQM,21234
85
86
  claude_mpm/cli/parsers/__init__.py,sha256=f0Fm1DDXorlVOZPLxUpjC-GIvLh01G-FZOK7TEV1L3I,1005
86
- claude_mpm/cli/parsers/agent_manager_parser.py,sha256=iUHzYV3zpoLawJe3SOA-vtw4NpaiEtsCzVsX3lmdnNM,6827
87
+ claude_mpm/cli/parsers/agent_manager_parser.py,sha256=8HuGpTnHSOnTOqOHriBTzi8EzKLMSfqH2eFHs0dEuu4,8009
87
88
  claude_mpm/cli/parsers/agents_parser.py,sha256=DxAZMotptyaJbROqbRbTipOKLLJ96ATrXhwiFK6Dbm0,5450
88
89
  claude_mpm/cli/parsers/base_parser.py,sha256=3paei6ok6gg7QGrCEqmNd7bh4CoJCWVXdo_MMFaJq9w,12192
89
90
  claude_mpm/cli/parsers/config_parser.py,sha256=wp6NbV8_p9txP28MXFcQrri0JDIfGFM7u4aJbYJXcYQ,2699
@@ -120,14 +121,14 @@ claude_mpm/core/constants.py,sha256=88J9bGT05Fbr3lzHLWtLQbBYRuJuLBjK3Bfq_qyWcIo,
120
121
  claude_mpm/core/container.py,sha256=tktmoChULNzNm_wUNR0YCzzRO8wH2AEy-hCaCFis4JU,32137
121
122
  claude_mpm/core/exceptions.py,sha256=vrEJGpgThvqRRD6qsNkmaQcYAoUMQSNuHUOnNFJcEGg,19628
122
123
  claude_mpm/core/factories.py,sha256=vtlwkbpxeWzqgPRGO1ehnMOzddLCHWTeiKa8halV_dU,7271
123
- claude_mpm/core/framework_loader.py,sha256=ldo03G3p3-YIbsDgnwQ1dFq7xZ0p7F9YVzzlgekNW6Y,68569
124
+ claude_mpm/core/framework_loader.py,sha256=Ei0lJUFdNGMF-Eb0xKWTFr3w1_mL1zDBlXpJXS_LX8U,72650
124
125
  claude_mpm/core/hook_manager.py,sha256=_Y7QWv8MfZgSHbKmWYfojuDRPxC2niZgOb7JkeUFQaE,11059
125
126
  claude_mpm/core/hook_performance_config.py,sha256=e7a7oFctkRhA3aPXMO5Wavr-E6ku7ikLxMzPU7P1-yg,5779
126
127
  claude_mpm/core/injectable_service.py,sha256=6MUqTVTBBw6legToIVj1C_BzdERO0zKYEPnFPVZJJfE,7398
127
128
  claude_mpm/core/interactive_session.py,sha256=OO0Oqv5hXfEtnAUNUc2WKd6BtxbT_p4Kcei-53GKxno,21973
128
129
  claude_mpm/core/interfaces.py,sha256=RNqXxUioEpV4vOaEoUJ38OvKYPMlpSb3V5Sb97l0w3Q,25625
129
130
  claude_mpm/core/lazy.py,sha256=6EYpXGZwsMAMQ3GXepNtyw_b7IxDwOTjfOVE6mV-S2s,14774
130
- claude_mpm/core/log_manager.py,sha256=J_WaF7qWbqCOo3dBEizMi7CPTgzSlXIMW8XJyIF8DuU,19677
131
+ claude_mpm/core/log_manager.py,sha256=jE6ZJNv6P2dZcpMIG9x8EQXWxH4g-xAj6sGjq-fSA1k,21504
131
132
  claude_mpm/core/logger.py,sha256=O_6X9LS-qpkpQnbQMitwpBj-C7Ll0HmTvo3nWAf_H1Y,20730
132
133
  claude_mpm/core/logging_config.py,sha256=tCxM3EpSmjZ7kT7hckQxQZlrxuWVm4g-qu9RHe8hDcw,14588
133
134
  claude_mpm/core/minimal_framework_loader.py,sha256=vmDEjL3MjnV7W4WIR-ymaL8QgsGsgxJJ0KdiQqAtudM,3640
@@ -135,7 +136,7 @@ claude_mpm/core/mixins.py,sha256=vmZ7Nu2ZOnKjbhN07Ixk4noIej9nsJiknrp-Sclfu0A,534
135
136
  claude_mpm/core/oneshot_session.py,sha256=QkSw-gs7tTQkdKQiZh7mbia5hc5PMt_xaMoDY-9_bZk,17693
136
137
  claude_mpm/core/optimized_agent_loader.py,sha256=Suwu3jXf3g8s6Y_HMK8ruPH7mkUQzTIAUQsUKy5HfIk,15788
137
138
  claude_mpm/core/optimized_startup.py,sha256=bvCLSmUstzObl5XxA252EWXzcmwFSYvKHazKgttMhmo,15478
138
- claude_mpm/core/output_style_manager.py,sha256=pahnCOzCuEAur6ZMNnDcjYuxkvWprOVOvR_E-o-UgOY,19790
139
+ claude_mpm/core/output_style_manager.py,sha256=LjEADIvCZr8iGL1RGwh15EDDVdkOCgTepIN2TDY50ho,20729
139
140
  claude_mpm/core/pm_hook_interceptor.py,sha256=vidXG7BSrsMH4eORrBrBGpiZZJGlJ8DjhK1JHqJrhlo,7099
140
141
  claude_mpm/core/service_registry.py,sha256=l0vnKNsxZVlKH-_g-WXRAIoQRqyqsKdTyo5_EAwYW1c,11580
141
142
  claude_mpm/core/session_manager.py,sha256=wlrPnoFJMDbFz1_J_FNTHmCL0WQwgA4jkdUYI3LWkBo,11943
@@ -143,7 +144,7 @@ claude_mpm/core/socketio_pool.py,sha256=10OdPPhnUJUJSVS8-nUYmHEfylYvOuTdmTUeaQGU
143
144
  claude_mpm/core/tool_access_control.py,sha256=9PiLGhe7bN9yMIqDPqIVIPUmxKsPwb5PUgcOFSl1QBk,6396
144
145
  claude_mpm/core/types.py,sha256=RQ6MQlV_G3ohLPSdQRRAlQkoCt1BuLK-vnl2JbuFQYA,7835
145
146
  claude_mpm/core/typing_utils.py,sha256=MXPPuTYT6uY-a2T-G8gouoDXn7rRPAqE3xNQ0vP1Lfo,13244
146
- claude_mpm/core/unified_agent_registry.py,sha256=fy4TgMiVfD0b_C6vjRSSml4542_h349e_Pnu4ySF6r4,24442
147
+ claude_mpm/core/unified_agent_registry.py,sha256=wAJp7mI9s1t14IseL1nwzsTd4BecVJz3Tuz0_4sBn34,25656
147
148
  claude_mpm/core/unified_config.py,sha256=MptDUDXv0scgo1zxrGQYg19A0xDHDzPFJPlYeVJPZWA,19659
148
149
  claude_mpm/core/unified_paths.py,sha256=tBb-1QCHDpmXYn1gdget8y-5fVE-vEtS1HWABVBN-J4,35958
149
150
  claude_mpm/core/shared/__init__.py,sha256=1mPHE8qCOAgJPgUZ6bYNO27xhnPN0h9ChHiMcqF1vQc,401
@@ -258,7 +259,7 @@ claude_mpm/services/socketio_client_manager.py,sha256=9TDSdiaScEbWdJpmdVUbiwzlcu
258
259
  claude_mpm/services/socketio_server.py,sha256=yE14_4pHERXBC5L1WQCpIBHuy0tpklsUY_icyl-nLkg,3033
259
260
  claude_mpm/services/subprocess_launcher_service.py,sha256=b8FeO0kh6AblWqnFX4XtSxEw93tENCczVvK0OjbYvpk,10999
260
261
  claude_mpm/services/system_instructions_service.py,sha256=Lk4SWNVfMZ0XaN-2OTGdWu3hCkaHwy98vuFOBpiZQGA,9994
261
- claude_mpm/services/ticket_manager.py,sha256=VOBlFNlhrm1qYtKklstALpl_JopNU8uD-ACZmpbTVw0,596
262
+ claude_mpm/services/ticket_manager.py,sha256=LpmbUFo7OkG48leZscHIvNoHY_thLWh2wquFxSfDg-o,785
262
263
  claude_mpm/services/utility_service.py,sha256=Cp9od5ggkElK6S-8cKxgXPOu5B17o3zfte6iiTL6HL8,8367
263
264
  claude_mpm/services/version_service.py,sha256=Ql2HKB9OoHGdqkfWyFFLSSVBwShap0dFIjbmTXrf6dE,10163
264
265
  claude_mpm/services/agents/__init__.py,sha256=8cRLDOXq_CGH3uVl6Uk816wsx7VY8HSDOYms2MPaFBA,2175
@@ -268,14 +269,18 @@ claude_mpm/services/agents/deployment/agent_config_provider.py,sha256=_voUMuk_6I
268
269
  claude_mpm/services/agents/deployment/agent_configuration_manager.py,sha256=5nf69hfo7lUa3_55sDcU5WfpzBtOZCMSTPYGr2dlIdY,12173
269
270
  claude_mpm/services/agents/deployment/agent_definition_factory.py,sha256=DaJ__b3-ADinfd-qNnW6LKWfclOaZbkBBcfuHgqlUic,2697
270
271
  claude_mpm/services/agents/deployment/agent_deployment.py,sha256=6YFg1ZcAMI_cb7xGhSm0e3qdPOrVNoQ_-o1qoc_PM2k,35514
271
- claude_mpm/services/agents/deployment/agent_discovery_service.py,sha256=VxTm-jq51nDlGek_srK5BRTAQk2XH5OxGjEgazL1e6o,13443
272
+ claude_mpm/services/agents/deployment/agent_discovery_service.py,sha256=931oHXx6mlXw-ZJ1xKofl8gsJmdJ5cuOzmAcdzik4Sw,13919
272
273
  claude_mpm/services/agents/deployment/agent_environment_manager.py,sha256=kjMiLyZYHs-s9pVdtj4av4hJW0gNXnD7lZz2CJpxmZI,9863
273
274
  claude_mpm/services/agents/deployment/agent_filesystem_manager.py,sha256=kstcGvufqF3cmmkJ_hDIHutPbIrMo_ZsGCKlIKmNbMA,12904
274
275
  claude_mpm/services/agents/deployment/agent_format_converter.py,sha256=iR-uciEkUiFQ4nR3ciEbS1uodfqTszdjjLzOyJs4KG4,15640
275
276
  claude_mpm/services/agents/deployment/agent_frontmatter_validator.py,sha256=H0yhsLbjVpwKNTUdGOgXBE-2gypT8-zFHqOBdv2XLPQ,7119
276
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py,sha256=Dn-P1QB_IBxWbkd9PjWl7c5jThydGa25WXKwTDQVXqs,40157
277
+ claude_mpm/services/agents/deployment/agent_lifecycle_manager.py,sha256=JcFYvLPz2Mp3q9th5_9DUVyZucHGUE6cHlubNzw8BgM,37833
278
+ claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py,sha256=VfzhWm1MzcmmC0avwSWUSaylZxUN72oSH2FCOE6aLn0,21027
277
279
  claude_mpm/services/agents/deployment/agent_metrics_collector.py,sha256=LUCvBve2_6qmixEJvsVRbDMsIJ_qlsS7_crJxMuqtlA,10024
280
+ claude_mpm/services/agents/deployment/agent_operation_service.py,sha256=wPoGYf3FU6OS0aaIgotsKGVRwiic1X4_20G2gC1RwGU,20390
281
+ claude_mpm/services/agents/deployment/agent_record_service.py,sha256=nYpfIuyDhLnzG3EUywDHgwpUerFWPyjgvsjIiSWUiEI,14064
278
282
  claude_mpm/services/agents/deployment/agent_restore_handler.py,sha256=YDPVY4m_4l5wSFq9fxsTqm0ixX8AeTyzERh-PtabuUY,3101
283
+ claude_mpm/services/agents/deployment/agent_state_service.py,sha256=yjuVG-rwyXBS0T8yKfrx1QTOSmfB_Ejvm-0QLjBNDDI,11772
279
284
  claude_mpm/services/agents/deployment/agent_template_builder.py,sha256=sUBUQ0pjSPM_C6iEthdA8uVBvLBXxXKhaBPZdibIjXg,15513
280
285
  claude_mpm/services/agents/deployment/agent_validator.py,sha256=kXzOmkUzMdr_m4Feys5FfNLKvaIttFeOqZ_KaBlIhwY,12562
281
286
  claude_mpm/services/agents/deployment/agent_version_manager.py,sha256=RtU3zrz9VJmQdNoPHQ1FA3ewhOlUmbqGAxqMel-7YcY,10910
@@ -290,7 +295,7 @@ claude_mpm/services/agents/deployment/deployment_wrapper.py,sha256=qu2U43LBmAGhG
290
295
  claude_mpm/services/agents/deployment/interface_adapter.py,sha256=mOsQ5IJHLEezq8vCoGSY5OarxolDw1B6Yr0dAYUMMVE,8078
291
296
  claude_mpm/services/agents/deployment/lifecycle_health_checker.py,sha256=2dphAvYRABNlsvi3XfVwS8kvv-YURNEwPBVtCc1g3Zc,3164
292
297
  claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py,sha256=lK_yg0uRL55opUoecOJBL83Tjj6Pu_z4-4EYWPeN6tM,4336
293
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py,sha256=OHiNvdd4qb5gpmXLcHzUsm0OvJHNfyyOZQ8clWTB8No,39184
298
+ claude_mpm/services/agents/deployment/multi_source_deployment_service.py,sha256=Feq2YRGAIjg-6ckFv4Wr0Ugo-mYgsv4iS-zppNJp6eU,39341
294
299
  claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py,sha256=5-StpaZYqVvm-WrmLMsoIp85WFYL2p0VLWQOfZEn8jU,11707
295
300
  claude_mpm/services/agents/deployment/single_agent_deployer.py,sha256=6QtHP-y4T_-UXYXYvdQgdIooOfjnC5NArlbkUo4EPl0,11492
296
301
  claude_mpm/services/agents/deployment/system_instructions_deployer.py,sha256=SCBBXleIn322X_w-swOHjO22J3HCxSHGkd3V-rSbbOs,4060
@@ -424,11 +429,19 @@ claude_mpm/services/framework_claude_md_generator/section_generators/role_design
424
429
  claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py,sha256=wzqpNwsrjcDobjot71wSa4brtrmOSoNfolHnKAOR9v0,4122
425
430
  claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py,sha256=qg3tPG8RBtXHXPqmkdmgJaoBWWaYyTEoBPqm7ib4OP8,5765
426
431
  claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py,sha256=Omhcjcvw-sNjxcyqbaN4RaABV4JNKCOplk9pzgi-fmo,1892
427
- claude_mpm/services/infrastructure/__init__.py,sha256=-penAnKLjoOzcWT6FquxCDVkT032XaDtYUeNnNQ_sAk,792
432
+ claude_mpm/services/infrastructure/__init__.py,sha256=dKXYEeDbAHMImXmefgcHrlTdcg3E7OlWvyC3mEE2DLg,1361
428
433
  claude_mpm/services/infrastructure/context_preservation.py,sha256=QzN0SOaFx7PndLZTNn2rO8G6XGnbZvasm7Y-zOU0x-E,21060
429
434
  claude_mpm/services/infrastructure/daemon_manager.py,sha256=ZfEmSSwyP7nYRfdpEl7GdNuFOxPV99XlGnSTg_akEHI,8555
430
435
  claude_mpm/services/infrastructure/logging.py,sha256=3bYMJi-qzpPNgs1-Epfp6EAuRm5iP-hypIluSpgy0Eg,6473
431
- claude_mpm/services/infrastructure/monitoring.py,sha256=52oGk8oJCcrNfb3NJFn_4MfRn8tF4sQibfkzl-pHo6Q,35899
436
+ claude_mpm/services/infrastructure/monitoring.py,sha256=gxM2x3F4uvSlw_9YdHKNHGScWp5f6sHiRjk-bN0Xegk,2205
437
+ claude_mpm/services/infrastructure/monitoring/__init__.py,sha256=LoekELvXE7kYGQZkaBQWEb9PzbhiOOVuSC9mv2ChIu8,1066
438
+ claude_mpm/services/infrastructure/monitoring/aggregator.py,sha256=vvPSDrvJmO2l9QhUajz4ZxBNT1Yk3XOVp-8wZKxv_wc,15201
439
+ claude_mpm/services/infrastructure/monitoring/base.py,sha256=f4sOTWbfH5p9P7n4N2iOVe3GWGxhqlLv6UD1LdKzV70,3864
440
+ claude_mpm/services/infrastructure/monitoring/legacy.py,sha256=Na1nomigLkJ25pdmofQVBWEca7tDxUxfsDmp2Hy9nPc,7171
441
+ claude_mpm/services/infrastructure/monitoring/network.py,sha256=L874kGjryP_R8tDwz4jgN7MGlfGrDJGa2tM8zVbtrEk,6933
442
+ claude_mpm/services/infrastructure/monitoring/process.py,sha256=_gh124mIemvHZE2wV1VWuMf-u7qI3VpXAUSSmuCOIJY,11054
443
+ claude_mpm/services/infrastructure/monitoring/resources.py,sha256=7Mt9zvNAYGf7OTLBUFpGoDQncCuTYkpODRKV42T6wyI,7665
444
+ claude_mpm/services/infrastructure/monitoring/service.py,sha256=guYB6rJtU18T2kPhZbKKg85l96lm2f7XVtPnBt1O3So,12613
432
445
  claude_mpm/services/mcp_gateway/__init__.py,sha256=cRO71-BE1meBbxJgurS9_4NM1cRlcxJ0w0JENFVUW_I,4465
433
446
  claude_mpm/services/mcp_gateway/auto_configure.py,sha256=4Oea5cwzCXMXn216640mEFxZt0FmrbBdvX4DJqdeWek,12040
434
447
  claude_mpm/services/mcp_gateway/main.py,sha256=D7jZ1hSfo8ovq8xu8lhHvdmUYIU8DpvRWZAsqU2H5Xc,15748
@@ -461,12 +474,18 @@ claude_mpm/services/memory/__init__.py,sha256=vOZrdDfYdgjV5jhUyqGiICoywAwUNGcE_d
461
474
  claude_mpm/services/memory/builder.py,sha256=SWL8TjDxriCCXK5UU1xZaFsnp6dfcARqZnQgso0R6cc,34272
462
475
  claude_mpm/services/memory/indexed_memory.py,sha256=wtRLfAhRJb693ZKI7R5mbI_nzHJ8EvDeZCyAkE9r0TA,19492
463
476
  claude_mpm/services/memory/optimizer.py,sha256=Ns4YDLuwBHDzhEZIaEEEpexojtCeDSaR36hSVcLPvAE,22908
464
- claude_mpm/services/memory/router.py,sha256=jZj-FIskRfGg5LqYCGKD0x_G8dn8B_ZNV922AHmW-gc,26613
477
+ claude_mpm/services/memory/router.py,sha256=FHhoRV5Q-UwG5eUkKvF4d0Bgz5qsEiEsLx1Q7v2HMe0,31026
465
478
  claude_mpm/services/memory/cache/__init__.py,sha256=6M6-P8ParyxX8vOgp_IxHgLMvacrQHPnXeZIvwJKtw8,351
466
479
  claude_mpm/services/memory/cache/shared_prompt_cache.py,sha256=crnYPUT8zcS7TvoE1vW7pyaf4T77N5rJ1wUf_YQ2vvo,28704
467
480
  claude_mpm/services/memory/cache/simple_cache.py,sha256=qsTjbcsPxj-kNfaod9VN_uE5NioIwpfkUin_mMVUJCg,10218
468
481
  claude_mpm/services/project/__init__.py,sha256=IUclN1L7ChHCNya7PJiVxu4nttxsrj3WRIpwyA1A_hw,512
469
- claude_mpm/services/project/analyzer.py,sha256=iq3J4DKqkdBR-EZUM8X-40bMxpob6lhBqhrGFv9UOIM,38019
482
+ claude_mpm/services/project/analyzer.py,sha256=VHlLrP8-S5gr12w4Yzs7-6d7LWdJKISHPCFSG7SDiQU,38434
483
+ claude_mpm/services/project/analyzer_refactored.py,sha256=USYEdPAhSoGPqZCpaT89Dw6ElFW_L1yXSURheQjAhLA,18243
484
+ claude_mpm/services/project/analyzer_v2.py,sha256=YZ_AZPXST-ZcvnJ1yXDWUm2oXuermpkk3e5E8lHBoGE,24655
485
+ claude_mpm/services/project/architecture_analyzer.py,sha256=X79O_BAARrPLsONknT5RHRrO8iDse6EVVxlile0crX8,16885
486
+ claude_mpm/services/project/dependency_analyzer.py,sha256=ZOwvbiBJvD4WN2UgXO88kvsMSQk7-8Y03ybijSAbCPA,15631
487
+ claude_mpm/services/project/language_analyzer.py,sha256=Zrs0Ru-3-0G2LJ5DhN63fGqub5_tX5VRcV23iExKUr8,9229
488
+ claude_mpm/services/project/metrics_collector.py,sha256=IlBV2hAyv_PNp6zdGmAIEZ4rFQMawWVL_Q-EYyIkqzs,12929
470
489
  claude_mpm/services/project/registry.py,sha256=XhPmkuEz9tKKKnT9Ca1zsUuNgZJQy40WFHJERj09-40,24166
471
490
  claude_mpm/services/shared/__init__.py,sha256=62_AM4liuLAwXtHns0ujePI3L4X5UhzT4ajzUNUMUPw,549
472
491
  claude_mpm/services/shared/async_service_base.py,sha256=46Z-ATX5N0FhugNsF6byJ42frs4Rw5ZWfhw3Paf2788,7010
@@ -492,6 +511,12 @@ claude_mpm/services/socketio/server/broadcaster.py,sha256=mQ_HQdvYPmPz95sRCAn5JQ
492
511
  claude_mpm/services/socketio/server/core.py,sha256=a07XpUQ_TZPPs6dR3vKyPX9OGbrgb8a6z5OPwL_Pv34,18453
493
512
  claude_mpm/services/socketio/server/eventbus_integration.py,sha256=C8XghwK5ZomW4aPkPw7xonIIz-DwpHPwoAhkQPozf0o,7285
494
513
  claude_mpm/services/socketio/server/main.py,sha256=I_n0gFjqMC06HwJY9LMI9Ft7iKAGRjCcnRTx3wVdiec,15288
514
+ claude_mpm/services/ticket_services/__init__.py,sha256=I01W25n-tBWwZ0TD-dPA63nqzCU2KnpOvbqeysmaa2E,798
515
+ claude_mpm/services/ticket_services/crud_service.py,sha256=4Ab1HONY219QSdRaLTgRInm6DNJXIUKiihyAree8y8A,11193
516
+ claude_mpm/services/ticket_services/formatter_service.py,sha256=MQ981yaFuvXWUDLpHHiasc8BIFdeIeMS7Us0CgZHJ0A,9101
517
+ claude_mpm/services/ticket_services/search_service.py,sha256=CHDITcE6Dqu_98LOeb55qxr4yNpA7iBYSlnWXMg8KAI,9918
518
+ claude_mpm/services/ticket_services/validation_service.py,sha256=5Wo4YHLjQmZ1Ey9sYHyTjmtWqidywcV16B1T4zS_d-c,8623
519
+ claude_mpm/services/ticket_services/workflow_service.py,sha256=qbFMHaV3PlZ6J-YD2RVUugJ6WLVzAy_xCT0xMSPx1SY,7803
495
520
  claude_mpm/services/version_control/__init__.py,sha256=U3bFV1upF3FgNrQGFld0GZt0vb3Eunm71mscgTg7zD0,1510
496
521
  claude_mpm/services/version_control/branch_strategy.py,sha256=NtNBeGJfUbBkxUyyXTdFou7JPNSW-V8N0FC-yT-WTKs,23168
497
522
  claude_mpm/services/version_control/conflict_resolution.py,sha256=D7MCcrMifBic-My4CvWPpM0gn84rgYOAhnmpKs7R67Q,26061
@@ -520,9 +545,9 @@ claude_mpm/utils/subprocess_utils.py,sha256=zgiwLqh_17WxHpySvUPH65pb4bzIeUGOAYUJ
520
545
  claude_mpm/validation/__init__.py,sha256=YZhwE3mhit-lslvRLuwfX82xJ_k4haZeKmh4IWaVwtk,156
521
546
  claude_mpm/validation/agent_validator.py,sha256=3Lo6LK-Mw9IdnL_bd3zl_R6FkgSVDYKUUM7EeVVD3jc,20865
522
547
  claude_mpm/validation/frontmatter_validator.py,sha256=u8g4Eyd_9O6ugj7Un47oSGh3kqv4wMkuks2i_CtWRvM,7028
523
- claude_mpm-4.1.3.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
524
- claude_mpm-4.1.3.dist-info/METADATA,sha256=5hgpN2Kq-uKxnidEjMePKiFSHbQAfrtuarNiw-l5mKg,13327
525
- claude_mpm-4.1.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
526
- claude_mpm-4.1.3.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
527
- claude_mpm-4.1.3.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
528
- claude_mpm-4.1.3.dist-info/RECORD,,
548
+ claude_mpm-4.1.5.dist-info/licenses/LICENSE,sha256=lpaivOlPuBZW1ds05uQLJJswy8Rp_HMNieJEbFlqvLk,1072
549
+ claude_mpm-4.1.5.dist-info/METADATA,sha256=bb1YYVA8ne8WRhQuu9NgFQOu7utVnGkL6od9I9w1Tto,13327
550
+ claude_mpm-4.1.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
551
+ claude_mpm-4.1.5.dist-info/entry_points.txt,sha256=FDPZgz8JOvD-6iuXY2l9Zbo9zYVRuE4uz4Qr0vLeGOk,471
552
+ claude_mpm-4.1.5.dist-info/top_level.txt,sha256=1nUg3FEaBySgm8t-s54jK5zoPnu3_eY6EP6IOlekyHA,11
553
+ claude_mpm-4.1.5.dist-info/RECORD,,