claude-mpm 4.1.4__py3-none-any.whl → 4.1.6__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 (81) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/templates/research.json +39 -13
  3. claude_mpm/cli/__init__.py +2 -0
  4. claude_mpm/cli/commands/__init__.py +2 -0
  5. claude_mpm/cli/commands/configure.py +1221 -0
  6. claude_mpm/cli/commands/configure_tui.py +1921 -0
  7. claude_mpm/cli/commands/tickets.py +365 -784
  8. claude_mpm/cli/parsers/base_parser.py +7 -0
  9. claude_mpm/cli/parsers/configure_parser.py +119 -0
  10. claude_mpm/cli/startup_logging.py +39 -12
  11. claude_mpm/constants.py +1 -0
  12. claude_mpm/core/output_style_manager.py +24 -0
  13. claude_mpm/core/socketio_pool.py +35 -3
  14. claude_mpm/core/unified_agent_registry.py +46 -15
  15. claude_mpm/dashboard/static/css/connection-status.css +370 -0
  16. claude_mpm/dashboard/static/js/components/connection-debug.js +654 -0
  17. claude_mpm/dashboard/static/js/connection-manager.js +536 -0
  18. claude_mpm/dashboard/templates/index.html +11 -0
  19. claude_mpm/hooks/claude_hooks/services/__init__.py +3 -1
  20. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +190 -0
  21. claude_mpm/services/agents/deployment/agent_discovery_service.py +12 -3
  22. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +172 -233
  23. claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +575 -0
  24. claude_mpm/services/agents/deployment/agent_operation_service.py +573 -0
  25. claude_mpm/services/agents/deployment/agent_record_service.py +419 -0
  26. claude_mpm/services/agents/deployment/agent_state_service.py +381 -0
  27. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +4 -2
  28. claude_mpm/services/diagnostics/checks/__init__.py +2 -0
  29. claude_mpm/services/diagnostics/checks/instructions_check.py +418 -0
  30. claude_mpm/services/diagnostics/diagnostic_runner.py +15 -2
  31. claude_mpm/services/event_bus/direct_relay.py +173 -0
  32. claude_mpm/services/infrastructure/__init__.py +31 -5
  33. claude_mpm/services/infrastructure/monitoring/__init__.py +43 -0
  34. claude_mpm/services/infrastructure/monitoring/aggregator.py +437 -0
  35. claude_mpm/services/infrastructure/monitoring/base.py +130 -0
  36. claude_mpm/services/infrastructure/monitoring/legacy.py +203 -0
  37. claude_mpm/services/infrastructure/monitoring/network.py +218 -0
  38. claude_mpm/services/infrastructure/monitoring/process.py +342 -0
  39. claude_mpm/services/infrastructure/monitoring/resources.py +243 -0
  40. claude_mpm/services/infrastructure/monitoring/service.py +367 -0
  41. claude_mpm/services/infrastructure/monitoring.py +67 -1030
  42. claude_mpm/services/project/analyzer.py +13 -4
  43. claude_mpm/services/project/analyzer_refactored.py +450 -0
  44. claude_mpm/services/project/analyzer_v2.py +566 -0
  45. claude_mpm/services/project/architecture_analyzer.py +461 -0
  46. claude_mpm/services/project/dependency_analyzer.py +462 -0
  47. claude_mpm/services/project/language_analyzer.py +265 -0
  48. claude_mpm/services/project/metrics_collector.py +410 -0
  49. claude_mpm/services/socketio/handlers/connection_handler.py +345 -0
  50. claude_mpm/services/socketio/server/broadcaster.py +32 -1
  51. claude_mpm/services/socketio/server/connection_manager.py +516 -0
  52. claude_mpm/services/socketio/server/core.py +63 -0
  53. claude_mpm/services/socketio/server/eventbus_integration.py +20 -9
  54. claude_mpm/services/socketio/server/main.py +27 -1
  55. claude_mpm/services/ticket_manager.py +5 -1
  56. claude_mpm/services/ticket_services/__init__.py +26 -0
  57. claude_mpm/services/ticket_services/crud_service.py +328 -0
  58. claude_mpm/services/ticket_services/formatter_service.py +290 -0
  59. claude_mpm/services/ticket_services/search_service.py +324 -0
  60. claude_mpm/services/ticket_services/validation_service.py +303 -0
  61. claude_mpm/services/ticket_services/workflow_service.py +244 -0
  62. {claude_mpm-4.1.4.dist-info → claude_mpm-4.1.6.dist-info}/METADATA +3 -1
  63. {claude_mpm-4.1.4.dist-info → claude_mpm-4.1.6.dist-info}/RECORD +67 -46
  64. claude_mpm/agents/OUTPUT_STYLE.md +0 -73
  65. claude_mpm/agents/backups/INSTRUCTIONS.md +0 -352
  66. claude_mpm/agents/templates/OPTIMIZATION_REPORT.md +0 -156
  67. claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -79
  68. claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -68
  69. claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -77
  70. claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -78
  71. claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -67
  72. claude_mpm/agents/templates/backup/research_agent_2025011_234551.json +0 -88
  73. claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -72
  74. claude_mpm/agents/templates/backup/research_memory_efficient.json +0 -88
  75. claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -78
  76. claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -62
  77. claude_mpm/agents/templates/vercel_ops_instructions.md +0 -582
  78. {claude_mpm-4.1.4.dist-info → claude_mpm-4.1.6.dist-info}/WHEEL +0 -0
  79. {claude_mpm-4.1.4.dist-info → claude_mpm-4.1.6.dist-info}/entry_points.txt +0 -0
  80. {claude_mpm-4.1.4.dist-info → claude_mpm-4.1.6.dist-info}/licenses/LICENSE +0 -0
  81. {claude_mpm-4.1.4.dist-info → claude_mpm-4.1.6.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,370 @@
1
+ /**
2
+ * Enhanced Connection Status Styles
3
+ * Provides visual feedback for connection state and quality
4
+ */
5
+
6
+ /* Connection Status Badge Enhancements */
7
+ .status-badge {
8
+ display: inline-flex;
9
+ align-items: center;
10
+ gap: 6px;
11
+ padding: 6px 12px;
12
+ border-radius: 20px;
13
+ font-size: 13px;
14
+ font-weight: 600;
15
+ transition: all 0.3s ease;
16
+ position: relative;
17
+ overflow: hidden;
18
+ }
19
+
20
+ .status-badge span {
21
+ display: inline-block;
22
+ animation: pulse 2s infinite;
23
+ }
24
+
25
+ /* Connection States */
26
+ .status-connecting {
27
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
28
+ color: white;
29
+ }
30
+
31
+ .status-connecting span {
32
+ animation: spin 1s linear infinite;
33
+ }
34
+
35
+ .status-connected {
36
+ background: linear-gradient(135deg, #667eea 0%, #4299e1 100%);
37
+ color: white;
38
+ box-shadow: 0 2px 10px rgba(66, 153, 225, 0.3);
39
+ }
40
+
41
+ .status-connected span {
42
+ color: #68d391;
43
+ animation: pulse-connected 2s infinite;
44
+ }
45
+
46
+ .status-reconnecting {
47
+ background: linear-gradient(135deg, #f6d365 0%, #fda085 100%);
48
+ color: #744210;
49
+ }
50
+
51
+ .status-reconnecting span {
52
+ animation: spin 1s linear infinite;
53
+ }
54
+
55
+ .status-disconnected {
56
+ background: linear-gradient(135deg, #e3e3e3 0%, #b8b8b8 100%);
57
+ color: #4a5568;
58
+ }
59
+
60
+ .status-stale {
61
+ background: linear-gradient(135deg, #ffeaa7 0%, #fdcb6e 100%);
62
+ color: #744210;
63
+ }
64
+
65
+ .status-stale::after {
66
+ content: '';
67
+ position: absolute;
68
+ top: 0;
69
+ left: -100%;
70
+ width: 100%;
71
+ height: 100%;
72
+ background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
73
+ animation: shimmer 2s infinite;
74
+ }
75
+
76
+ .status-failed {
77
+ background: linear-gradient(135deg, #fc5c7d 0%, #fc5c7d 100%);
78
+ color: white;
79
+ }
80
+
81
+ /* Connection Quality Indicator */
82
+ .connection-quality {
83
+ display: flex;
84
+ align-items: center;
85
+ gap: 8px;
86
+ padding: 4px 8px;
87
+ background: #f7fafc;
88
+ border-radius: 8px;
89
+ font-size: 12px;
90
+ }
91
+
92
+ .quality-bar {
93
+ width: 60px;
94
+ height: 6px;
95
+ background: #e2e8f0;
96
+ border-radius: 3px;
97
+ overflow: hidden;
98
+ position: relative;
99
+ }
100
+
101
+ .quality-fill {
102
+ height: 100%;
103
+ transition: width 0.3s ease, background 0.3s ease;
104
+ border-radius: 3px;
105
+ }
106
+
107
+ .quality-good .quality-fill {
108
+ background: linear-gradient(90deg, #68d391, #48bb78);
109
+ }
110
+
111
+ .quality-moderate .quality-fill {
112
+ background: linear-gradient(90deg, #f6d365, #fda085);
113
+ }
114
+
115
+ .quality-poor .quality-fill {
116
+ background: linear-gradient(90deg, #fc5c7d, #fc5c7d);
117
+ }
118
+
119
+ .quality-text {
120
+ color: #4a5568;
121
+ font-weight: 500;
122
+ }
123
+
124
+ /* Latency Display */
125
+ .connection-latency {
126
+ display: inline-flex;
127
+ align-items: center;
128
+ padding: 2px 6px;
129
+ border-radius: 4px;
130
+ font-size: 11px;
131
+ font-weight: 600;
132
+ font-family: 'SF Mono', Monaco, monospace;
133
+ }
134
+
135
+ .latency-good {
136
+ background: #c6f6d5;
137
+ color: #22543d;
138
+ }
139
+
140
+ .latency-moderate {
141
+ background: #fed7aa;
142
+ color: #7c2d12;
143
+ }
144
+
145
+ .latency-poor {
146
+ background: #fed7d7;
147
+ color: #742a2a;
148
+ }
149
+
150
+ /* Connection Metrics Panel */
151
+ .connection-metrics {
152
+ background: white;
153
+ border-radius: 12px;
154
+ padding: 16px;
155
+ box-shadow: 0 2px 8px rgba(0,0,0,0.08);
156
+ margin-top: 16px;
157
+ }
158
+
159
+ .metrics-grid {
160
+ display: grid;
161
+ grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
162
+ gap: 12px;
163
+ }
164
+
165
+ .metric-item {
166
+ text-align: center;
167
+ padding: 8px;
168
+ background: #f7fafc;
169
+ border-radius: 8px;
170
+ }
171
+
172
+ .metric-value {
173
+ font-size: 20px;
174
+ font-weight: 700;
175
+ color: #2d3748;
176
+ display: block;
177
+ }
178
+
179
+ .metric-label {
180
+ font-size: 11px;
181
+ color: #718096;
182
+ text-transform: uppercase;
183
+ letter-spacing: 0.5px;
184
+ margin-top: 4px;
185
+ }
186
+
187
+ /* Notification Area */
188
+ .connection-notifications {
189
+ position: fixed;
190
+ top: 20px;
191
+ right: 20px;
192
+ z-index: 1000;
193
+ max-width: 320px;
194
+ }
195
+
196
+ .notification {
197
+ background: white;
198
+ padding: 12px 16px;
199
+ border-radius: 8px;
200
+ box-shadow: 0 4px 12px rgba(0,0,0,0.15);
201
+ margin-bottom: 8px;
202
+ font-size: 14px;
203
+ opacity: 1;
204
+ transition: opacity 0.3s ease, transform 0.3s ease;
205
+ animation: slideIn 0.3s ease;
206
+ border-left: 4px solid;
207
+ }
208
+
209
+ .notification-info {
210
+ border-left-color: #4299e1;
211
+ }
212
+
213
+ .notification-success {
214
+ border-left-color: #48bb78;
215
+ background: #f0fff4;
216
+ }
217
+
218
+ .notification-warning {
219
+ border-left-color: #ed8936;
220
+ background: #fffdf7;
221
+ }
222
+
223
+ .notification-error {
224
+ border-left-color: #f56565;
225
+ background: #fff5f5;
226
+ }
227
+
228
+ /* Connection Health Badge */
229
+ .connection-health {
230
+ display: inline-flex;
231
+ align-items: center;
232
+ gap: 6px;
233
+ padding: 4px 8px;
234
+ background: #f7fafc;
235
+ border-radius: 6px;
236
+ font-size: 12px;
237
+ }
238
+
239
+ .health-indicator {
240
+ width: 8px;
241
+ height: 8px;
242
+ border-radius: 50%;
243
+ animation: pulse 2s infinite;
244
+ }
245
+
246
+ .health-excellent {
247
+ background: #48bb78;
248
+ box-shadow: 0 0 0 2px rgba(72, 187, 120, 0.3);
249
+ }
250
+
251
+ .health-good {
252
+ background: #38b2ac;
253
+ box-shadow: 0 0 0 2px rgba(56, 178, 172, 0.3);
254
+ }
255
+
256
+ .health-fair {
257
+ background: #ed8936;
258
+ box-shadow: 0 0 0 2px rgba(237, 137, 54, 0.3);
259
+ }
260
+
261
+ .health-poor {
262
+ background: #f56565;
263
+ box-shadow: 0 0 0 2px rgba(245, 101, 101, 0.3);
264
+ }
265
+
266
+ /* Animations */
267
+ @keyframes pulse {
268
+ 0%, 100% {
269
+ opacity: 1;
270
+ }
271
+ 50% {
272
+ opacity: 0.5;
273
+ }
274
+ }
275
+
276
+ @keyframes pulse-connected {
277
+ 0%, 100% {
278
+ transform: scale(1);
279
+ opacity: 1;
280
+ }
281
+ 50% {
282
+ transform: scale(1.2);
283
+ opacity: 0.8;
284
+ }
285
+ }
286
+
287
+ @keyframes spin {
288
+ from {
289
+ transform: rotate(0deg);
290
+ }
291
+ to {
292
+ transform: rotate(360deg);
293
+ }
294
+ }
295
+
296
+ @keyframes shimmer {
297
+ to {
298
+ left: 100%;
299
+ }
300
+ }
301
+
302
+ @keyframes slideIn {
303
+ from {
304
+ transform: translateX(100%);
305
+ opacity: 0;
306
+ }
307
+ to {
308
+ transform: translateX(0);
309
+ opacity: 1;
310
+ }
311
+ }
312
+
313
+ /* Responsive Design */
314
+ @media (max-width: 768px) {
315
+ .connection-notifications {
316
+ right: 10px;
317
+ left: 10px;
318
+ max-width: none;
319
+ }
320
+
321
+ .connection-metrics {
322
+ padding: 12px;
323
+ }
324
+
325
+ .metrics-grid {
326
+ grid-template-columns: repeat(2, 1fr);
327
+ }
328
+ }
329
+
330
+ /* Dark Mode Support */
331
+ @media (prefers-color-scheme: dark) {
332
+ .connection-quality {
333
+ background: #2d3748;
334
+ }
335
+
336
+ .quality-bar {
337
+ background: #4a5568;
338
+ }
339
+
340
+ .quality-text {
341
+ color: #cbd5e0;
342
+ }
343
+
344
+ .connection-metrics {
345
+ background: #2d3748;
346
+ box-shadow: 0 2px 8px rgba(0,0,0,0.3);
347
+ }
348
+
349
+ .metric-item {
350
+ background: #1a202c;
351
+ }
352
+
353
+ .metric-value {
354
+ color: #e2e8f0;
355
+ }
356
+
357
+ .metric-label {
358
+ color: #a0aec0;
359
+ }
360
+
361
+ .notification {
362
+ background: #2d3748;
363
+ color: #e2e8f0;
364
+ box-shadow: 0 4px 12px rgba(0,0,0,0.3);
365
+ }
366
+
367
+ .connection-health {
368
+ background: #2d3748;
369
+ }
370
+ }