@trentapps/manager-protocol 1.1.1

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 (151) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +446 -0
  3. package/dist/analyzers/ArchitectureDetector.d.ts +44 -0
  4. package/dist/analyzers/ArchitectureDetector.d.ts.map +1 -0
  5. package/dist/analyzers/ArchitectureDetector.js +218 -0
  6. package/dist/analyzers/ArchitectureDetector.js.map +1 -0
  7. package/dist/analyzers/CSSAnalyzer.d.ts +104 -0
  8. package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -0
  9. package/dist/analyzers/CSSAnalyzer.js +578 -0
  10. package/dist/analyzers/CSSAnalyzer.js.map +1 -0
  11. package/dist/analyzers/index.d.ts +5 -0
  12. package/dist/analyzers/index.d.ts.map +1 -0
  13. package/dist/analyzers/index.js +5 -0
  14. package/dist/analyzers/index.js.map +1 -0
  15. package/dist/cli.d.ts +8 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +174 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/design-system/index.d.ts +6 -0
  20. package/dist/design-system/index.d.ts.map +1 -0
  21. package/dist/design-system/index.js +6 -0
  22. package/dist/design-system/index.js.map +1 -0
  23. package/dist/design-system/tokens.d.ts +106 -0
  24. package/dist/design-system/tokens.d.ts.map +1 -0
  25. package/dist/design-system/tokens.js +554 -0
  26. package/dist/design-system/tokens.js.map +1 -0
  27. package/dist/engine/AppMonitor.d.ts +162 -0
  28. package/dist/engine/AppMonitor.d.ts.map +1 -0
  29. package/dist/engine/AppMonitor.js +754 -0
  30. package/dist/engine/AppMonitor.js.map +1 -0
  31. package/dist/engine/AuditLogger.d.ts +138 -0
  32. package/dist/engine/AuditLogger.d.ts.map +1 -0
  33. package/dist/engine/AuditLogger.js +448 -0
  34. package/dist/engine/AuditLogger.js.map +1 -0
  35. package/dist/engine/GitHubApprovalManager.d.ts +106 -0
  36. package/dist/engine/GitHubApprovalManager.d.ts.map +1 -0
  37. package/dist/engine/GitHubApprovalManager.js +315 -0
  38. package/dist/engine/GitHubApprovalManager.js.map +1 -0
  39. package/dist/engine/RateLimiter.d.ts +79 -0
  40. package/dist/engine/RateLimiter.d.ts.map +1 -0
  41. package/dist/engine/RateLimiter.js +232 -0
  42. package/dist/engine/RateLimiter.js.map +1 -0
  43. package/dist/engine/RulesEngine.d.ts +77 -0
  44. package/dist/engine/RulesEngine.d.ts.map +1 -0
  45. package/dist/engine/RulesEngine.js +400 -0
  46. package/dist/engine/RulesEngine.js.map +1 -0
  47. package/dist/engine/TaskManager.d.ts +173 -0
  48. package/dist/engine/TaskManager.d.ts.map +1 -0
  49. package/dist/engine/TaskManager.js +678 -0
  50. package/dist/engine/TaskManager.js.map +1 -0
  51. package/dist/engine/index.d.ts +9 -0
  52. package/dist/engine/index.d.ts.map +1 -0
  53. package/dist/engine/index.js +9 -0
  54. package/dist/engine/index.js.map +1 -0
  55. package/dist/index.d.ts +21 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +29 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/rules/architecture.d.ts +9 -0
  60. package/dist/rules/architecture.d.ts.map +1 -0
  61. package/dist/rules/architecture.js +322 -0
  62. package/dist/rules/architecture.js.map +1 -0
  63. package/dist/rules/azure.d.ts +7 -0
  64. package/dist/rules/azure.d.ts.map +1 -0
  65. package/dist/rules/azure.js +138 -0
  66. package/dist/rules/azure.js.map +1 -0
  67. package/dist/rules/compliance.d.ts +9 -0
  68. package/dist/rules/compliance.d.ts.map +1 -0
  69. package/dist/rules/compliance.js +304 -0
  70. package/dist/rules/compliance.js.map +1 -0
  71. package/dist/rules/css.d.ts +10 -0
  72. package/dist/rules/css.d.ts.map +1 -0
  73. package/dist/rules/css.js +1239 -0
  74. package/dist/rules/css.js.map +1 -0
  75. package/dist/rules/flask.d.ts +7 -0
  76. package/dist/rules/flask.d.ts.map +1 -0
  77. package/dist/rules/flask.js +155 -0
  78. package/dist/rules/flask.js.map +1 -0
  79. package/dist/rules/index.d.ts +607 -0
  80. package/dist/rules/index.d.ts.map +1 -0
  81. package/dist/rules/index.js +401 -0
  82. package/dist/rules/index.js.map +1 -0
  83. package/dist/rules/ml-ai.d.ts +7 -0
  84. package/dist/rules/ml-ai.d.ts.map +1 -0
  85. package/dist/rules/ml-ai.js +150 -0
  86. package/dist/rules/ml-ai.js.map +1 -0
  87. package/dist/rules/operational.d.ts +9 -0
  88. package/dist/rules/operational.d.ts.map +1 -0
  89. package/dist/rules/operational.js +318 -0
  90. package/dist/rules/operational.js.map +1 -0
  91. package/dist/rules/security.d.ts +9 -0
  92. package/dist/rules/security.d.ts.map +1 -0
  93. package/dist/rules/security.js +287 -0
  94. package/dist/rules/security.js.map +1 -0
  95. package/dist/rules/storage.d.ts +7 -0
  96. package/dist/rules/storage.d.ts.map +1 -0
  97. package/dist/rules/storage.js +134 -0
  98. package/dist/rules/storage.js.map +1 -0
  99. package/dist/rules/stripe.d.ts +7 -0
  100. package/dist/rules/stripe.d.ts.map +1 -0
  101. package/dist/rules/stripe.js +140 -0
  102. package/dist/rules/stripe.js.map +1 -0
  103. package/dist/rules/testing.d.ts +7 -0
  104. package/dist/rules/testing.d.ts.map +1 -0
  105. package/dist/rules/testing.js +135 -0
  106. package/dist/rules/testing.js.map +1 -0
  107. package/dist/rules/ux.d.ts +9 -0
  108. package/dist/rules/ux.d.ts.map +1 -0
  109. package/dist/rules/ux.js +280 -0
  110. package/dist/rules/ux.js.map +1 -0
  111. package/dist/rules/websocket.d.ts +7 -0
  112. package/dist/rules/websocket.d.ts.map +1 -0
  113. package/dist/rules/websocket.js +136 -0
  114. package/dist/rules/websocket.js.map +1 -0
  115. package/dist/server.d.ts +49 -0
  116. package/dist/server.d.ts.map +1 -0
  117. package/dist/server.js +2330 -0
  118. package/dist/server.js.map +1 -0
  119. package/dist/supervisor/AgentSupervisor.d.ts +235 -0
  120. package/dist/supervisor/AgentSupervisor.d.ts.map +1 -0
  121. package/dist/supervisor/AgentSupervisor.js +596 -0
  122. package/dist/supervisor/AgentSupervisor.js.map +1 -0
  123. package/dist/supervisor/ManagedServerRegistry.d.ts +48 -0
  124. package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -0
  125. package/dist/supervisor/ManagedServerRegistry.js +145 -0
  126. package/dist/supervisor/ManagedServerRegistry.js.map +1 -0
  127. package/dist/supervisor/ProjectTracker.d.ts +188 -0
  128. package/dist/supervisor/ProjectTracker.d.ts.map +1 -0
  129. package/dist/supervisor/ProjectTracker.js +617 -0
  130. package/dist/supervisor/ProjectTracker.js.map +1 -0
  131. package/dist/supervisor/index.d.ts +6 -0
  132. package/dist/supervisor/index.d.ts.map +1 -0
  133. package/dist/supervisor/index.js +6 -0
  134. package/dist/supervisor/index.js.map +1 -0
  135. package/dist/types/index.d.ts +1176 -0
  136. package/dist/types/index.d.ts.map +1 -0
  137. package/dist/types/index.js +391 -0
  138. package/dist/types/index.js.map +1 -0
  139. package/dist/utils/errors.d.ts +86 -0
  140. package/dist/utils/errors.d.ts.map +1 -0
  141. package/dist/utils/errors.js +171 -0
  142. package/dist/utils/errors.js.map +1 -0
  143. package/dist/utils/index.d.ts +5 -0
  144. package/dist/utils/index.d.ts.map +1 -0
  145. package/dist/utils/index.js +5 -0
  146. package/dist/utils/index.js.map +1 -0
  147. package/dist/utils/shell.d.ts +22 -0
  148. package/dist/utils/shell.d.ts.map +1 -0
  149. package/dist/utils/shell.js +29 -0
  150. package/dist/utils/shell.js.map +1 -0
  151. package/package.json +63 -0
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - UX Rules
3
+ *
4
+ * Built-in rules for ensuring good user experience and interaction patterns.
5
+ */
6
+ export const uxRules = [
7
+ // ============================================================================
8
+ // USER COMMUNICATION RULES
9
+ // ============================================================================
10
+ {
11
+ id: 'ux-001',
12
+ name: 'Response Length Limit',
13
+ description: 'Prevents excessively long responses that overwhelm users',
14
+ type: 'ux',
15
+ enabled: true,
16
+ priority: 700,
17
+ conditions: [
18
+ { field: 'actionCategory', operator: 'equals', value: 'user_communication' },
19
+ { field: 'responseLength', operator: 'greater_than', value: 10000 }
20
+ ],
21
+ conditionLogic: 'all',
22
+ actions: [
23
+ { type: 'warn', message: 'UX: Response exceeds 10,000 characters - consider summarizing' }
24
+ ],
25
+ riskWeight: 10,
26
+ tags: ['ux', 'response-length']
27
+ },
28
+ {
29
+ id: 'ux-002',
30
+ name: 'Jargon Detection',
31
+ description: 'Warns when technical jargon may confuse non-technical users',
32
+ type: 'ux',
33
+ enabled: true,
34
+ priority: 650,
35
+ conditions: [
36
+ { field: 'actionCategory', operator: 'equals', value: 'user_communication' },
37
+ { field: 'userType', operator: 'equals', value: 'non_technical' },
38
+ { field: 'technicalTermCount', operator: 'greater_than', value: 5 }
39
+ ],
40
+ conditionLogic: 'all',
41
+ actions: [
42
+ { type: 'warn', message: 'UX: High technical term count for non-technical user - consider simplifying' }
43
+ ],
44
+ riskWeight: 8,
45
+ tags: ['ux', 'accessibility', 'clarity']
46
+ },
47
+ {
48
+ id: 'ux-003',
49
+ name: 'Error Message Clarity',
50
+ description: 'Ensures error messages are user-friendly',
51
+ type: 'ux',
52
+ enabled: true,
53
+ priority: 720,
54
+ conditions: [
55
+ { field: 'actionName', operator: 'contains', value: 'error' },
56
+ { field: 'includesRecoverySteps', operator: 'not_equals', value: true }
57
+ ],
58
+ conditionLogic: 'all',
59
+ actions: [
60
+ { type: 'warn', message: 'UX: Error messages should include recovery steps for users' }
61
+ ],
62
+ riskWeight: 12,
63
+ tags: ['ux', 'error-handling']
64
+ },
65
+ // ============================================================================
66
+ // INTERACTION PATTERN RULES
67
+ // ============================================================================
68
+ {
69
+ id: 'ux-010',
70
+ name: 'Confirmation for Destructive Actions',
71
+ description: 'Requires confirmation before destructive operations',
72
+ type: 'ux',
73
+ enabled: true,
74
+ priority: 850,
75
+ conditions: [
76
+ { field: 'operation', operator: 'in', value: ['delete', 'remove', 'purge', 'destroy'] },
77
+ { field: 'confirmationRequired', operator: 'not_equals', value: true }
78
+ ],
79
+ conditionLogic: 'all',
80
+ actions: [
81
+ { type: 'require_approval', message: 'UX: Destructive actions require user confirmation' }
82
+ ],
83
+ riskWeight: 25,
84
+ tags: ['ux', 'confirmation', 'destructive']
85
+ },
86
+ {
87
+ id: 'ux-011',
88
+ name: 'Progress Feedback for Long Operations',
89
+ description: 'Ensures long operations provide progress feedback',
90
+ type: 'ux',
91
+ enabled: true,
92
+ priority: 680,
93
+ conditions: [
94
+ { field: 'estimatedDurationMs', operator: 'greater_than', value: 5000 },
95
+ { field: 'progressCallbackEnabled', operator: 'not_equals', value: true }
96
+ ],
97
+ conditionLogic: 'all',
98
+ actions: [
99
+ { type: 'warn', message: 'UX: Long operations (>5s) should provide progress feedback' }
100
+ ],
101
+ riskWeight: 8,
102
+ tags: ['ux', 'progress', 'feedback']
103
+ },
104
+ {
105
+ id: 'ux-012',
106
+ name: 'Undo Support for Modifications',
107
+ description: 'Recommends undo capability for user modifications',
108
+ type: 'ux',
109
+ enabled: true,
110
+ priority: 660,
111
+ conditions: [
112
+ { field: 'actionCategory', operator: 'equals', value: 'data_modification' },
113
+ { field: 'undoSupported', operator: 'not_equals', value: true },
114
+ { field: 'userInitiated', operator: 'equals', value: true }
115
+ ],
116
+ conditionLogic: 'all',
117
+ actions: [
118
+ { type: 'warn', message: 'UX: User-initiated modifications should support undo' }
119
+ ],
120
+ riskWeight: 10,
121
+ tags: ['ux', 'undo', 'reversibility']
122
+ },
123
+ // ============================================================================
124
+ // RATE AND FREQUENCY RULES
125
+ // ============================================================================
126
+ {
127
+ id: 'ux-020',
128
+ name: 'Notification Frequency Limit',
129
+ description: 'Prevents notification fatigue',
130
+ type: 'ux',
131
+ enabled: true,
132
+ priority: 750,
133
+ conditions: [
134
+ { field: 'actionName', operator: 'contains', value: 'notify' },
135
+ { field: 'notificationsLastHour', operator: 'greater_than', value: 10 }
136
+ ],
137
+ conditionLogic: 'all',
138
+ actions: [
139
+ { type: 'rate_limit', message: 'UX: Notification frequency exceeds limit - batching recommended' }
140
+ ],
141
+ riskWeight: 15,
142
+ tags: ['ux', 'notifications', 'rate-limit']
143
+ },
144
+ {
145
+ id: 'ux-021',
146
+ name: 'Prompt Frequency Control',
147
+ description: 'Limits how often users are interrupted with prompts',
148
+ type: 'ux',
149
+ enabled: true,
150
+ priority: 730,
151
+ conditions: [
152
+ { field: 'actionName', operator: 'contains', value: 'prompt' },
153
+ { field: 'promptsLastMinute', operator: 'greater_than', value: 3 }
154
+ ],
155
+ conditionLogic: 'all',
156
+ actions: [
157
+ { type: 'warn', message: 'UX: Too many prompts - consider consolidating interactions' }
158
+ ],
159
+ riskWeight: 12,
160
+ tags: ['ux', 'prompts', 'interruption']
161
+ },
162
+ // ============================================================================
163
+ // ACCESSIBILITY RULES
164
+ // ============================================================================
165
+ {
166
+ id: 'ux-030',
167
+ name: 'Alt Text for Images',
168
+ description: 'Ensures images have accessibility text',
169
+ type: 'ux',
170
+ enabled: true,
171
+ priority: 780,
172
+ conditions: [
173
+ { field: 'contentType', operator: 'contains', value: 'image' },
174
+ { field: 'altText', operator: 'not_exists', value: null }
175
+ ],
176
+ conditionLogic: 'all',
177
+ actions: [
178
+ { type: 'warn', message: 'UX: Images should include alt text for accessibility' }
179
+ ],
180
+ riskWeight: 10,
181
+ tags: ['ux', 'accessibility', 'wcag']
182
+ },
183
+ {
184
+ id: 'ux-031',
185
+ name: 'Color Contrast Check',
186
+ description: 'Warns about potential color contrast issues',
187
+ type: 'ux',
188
+ enabled: true,
189
+ priority: 760,
190
+ conditions: [
191
+ { field: 'actionCategory', operator: 'equals', value: 'user_communication' },
192
+ { field: 'hasColorContent', operator: 'equals', value: true },
193
+ { field: 'contrastRatioMet', operator: 'not_equals', value: true }
194
+ ],
195
+ conditionLogic: 'all',
196
+ actions: [
197
+ { type: 'warn', message: 'UX: Color content may not meet WCAG contrast requirements' }
198
+ ],
199
+ riskWeight: 8,
200
+ tags: ['ux', 'accessibility', 'wcag', 'contrast']
201
+ },
202
+ {
203
+ id: 'ux-032',
204
+ name: 'Keyboard Navigation Support',
205
+ description: 'Ensures interactive elements support keyboard navigation',
206
+ type: 'ux',
207
+ enabled: true,
208
+ priority: 770,
209
+ conditions: [
210
+ { field: 'actionName', operator: 'contains', value: 'interactive' },
211
+ { field: 'keyboardAccessible', operator: 'not_equals', value: true }
212
+ ],
213
+ conditionLogic: 'all',
214
+ actions: [
215
+ { type: 'warn', message: 'UX: Interactive elements should support keyboard navigation' }
216
+ ],
217
+ riskWeight: 12,
218
+ tags: ['ux', 'accessibility', 'keyboard']
219
+ },
220
+ // ============================================================================
221
+ // CONTENT QUALITY RULES
222
+ // ============================================================================
223
+ {
224
+ id: 'ux-040',
225
+ name: 'Empty State Handling',
226
+ description: 'Ensures empty states have helpful content',
227
+ type: 'ux',
228
+ enabled: true,
229
+ priority: 690,
230
+ conditions: [
231
+ { field: 'actionName', operator: 'contains', value: 'display' },
232
+ { field: 'resultCount', operator: 'equals', value: 0 },
233
+ { field: 'emptyStateMessage', operator: 'not_exists', value: null }
234
+ ],
235
+ conditionLogic: 'all',
236
+ actions: [
237
+ { type: 'warn', message: 'UX: Empty states should include helpful guidance for users' }
238
+ ],
239
+ riskWeight: 6,
240
+ tags: ['ux', 'empty-state', 'guidance']
241
+ },
242
+ {
243
+ id: 'ux-041',
244
+ name: 'Loading State Communication',
245
+ description: 'Ensures async operations communicate loading state',
246
+ type: 'ux',
247
+ enabled: true,
248
+ priority: 700,
249
+ conditions: [
250
+ { field: 'isAsync', operator: 'equals', value: true },
251
+ { field: 'loadingIndicatorEnabled', operator: 'not_equals', value: true }
252
+ ],
253
+ conditionLogic: 'all',
254
+ actions: [
255
+ { type: 'warn', message: 'UX: Async operations should display loading state to users' }
256
+ ],
257
+ riskWeight: 8,
258
+ tags: ['ux', 'loading', 'feedback']
259
+ },
260
+ {
261
+ id: 'ux-042',
262
+ name: 'Timeout Communication',
263
+ description: 'Ensures timeouts are communicated clearly to users',
264
+ type: 'ux',
265
+ enabled: true,
266
+ priority: 710,
267
+ conditions: [
268
+ { field: 'hasTimeout', operator: 'equals', value: true },
269
+ { field: 'timeoutWarningEnabled', operator: 'not_equals', value: true }
270
+ ],
271
+ conditionLogic: 'all',
272
+ actions: [
273
+ { type: 'warn', message: 'UX: Sessions with timeouts should warn users before expiry' }
274
+ ],
275
+ riskWeight: 10,
276
+ tags: ['ux', 'timeout', 'session']
277
+ }
278
+ ];
279
+ export default uxRules;
280
+ //# sourceMappingURL=ux.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ux.js","sourceRoot":"","sources":["../../src/rules/ux.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * WebSocket & Real-Time Communication Rules
3
+ * Governance rules for WebSocket, Socket.IO, and real-time connections
4
+ */
5
+ import type { BusinessRule } from '../types/index.js';
6
+ export declare const websocketRules: BusinessRule[];
7
+ //# sourceMappingURL=websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../src/rules/websocket.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,cAAc,EAAE,YAAY,EAkIxC,CAAC"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * WebSocket & Real-Time Communication Rules
3
+ * Governance rules for WebSocket, Socket.IO, and real-time connections
4
+ */
5
+ export const websocketRules = [
6
+ {
7
+ id: 'ws-001',
8
+ name: 'Require WebSocket Authentication',
9
+ description: 'WebSocket connections must authenticate before upgrade',
10
+ type: 'security',
11
+ enabled: true,
12
+ priority: 970,
13
+ conditions: [
14
+ { field: 'actionCategory', operator: 'equals', value: 'network' },
15
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
16
+ { field: 'authenticated', operator: 'not_equals', value: true }
17
+ ],
18
+ conditionLogic: 'all',
19
+ actions: [
20
+ { type: 'deny', message: 'WebSocket connections require authentication before upgrade' }
21
+ ],
22
+ riskWeight: 60,
23
+ tags: ['websocket', 'socket.io', 'security', 'authentication']
24
+ },
25
+ {
26
+ id: 'ws-002',
27
+ name: 'Enforce Message Rate Limiting',
28
+ description: 'WebSocket messages must be rate limited per connection',
29
+ type: 'security',
30
+ enabled: true,
31
+ priority: 920,
32
+ conditions: [
33
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
34
+ { field: 'messageRateLimitEnabled', operator: 'not_equals', value: true }
35
+ ],
36
+ conditionLogic: 'all',
37
+ actions: [
38
+ { type: 'warn', message: 'Implement message rate limiting to prevent flood attacks (e.g., 100 msg/min)' }
39
+ ],
40
+ riskWeight: 40,
41
+ tags: ['websocket', 'rate-limiting', 'dos', 'security']
42
+ },
43
+ {
44
+ id: 'ws-003',
45
+ name: 'Validate Binary Message Size',
46
+ description: 'Binary WebSocket messages must have size limits',
47
+ type: 'security',
48
+ enabled: true,
49
+ priority: 900,
50
+ conditions: [
51
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
52
+ { field: 'messageType', operator: 'equals', value: 'binary' },
53
+ { field: 'maxMessageSize', operator: 'not_exists', value: null }
54
+ ],
55
+ conditionLogic: 'all',
56
+ actions: [
57
+ { type: 'warn', message: 'Set maximum binary message size to prevent memory exhaustion' }
58
+ ],
59
+ riskWeight: 35,
60
+ tags: ['websocket', 'binary', 'validation', 'dos']
61
+ },
62
+ {
63
+ id: 'ws-004',
64
+ name: 'Require Connection Heartbeat',
65
+ description: 'WebSocket connections should implement ping/pong heartbeat',
66
+ type: 'architecture',
67
+ enabled: true,
68
+ priority: 850,
69
+ conditions: [
70
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
71
+ { field: 'heartbeatEnabled', operator: 'not_equals', value: true }
72
+ ],
73
+ conditionLogic: 'all',
74
+ actions: [
75
+ { type: 'warn', message: 'Implement heartbeat (ping/pong) to detect dead connections' }
76
+ ],
77
+ riskWeight: 25,
78
+ tags: ['websocket', 'heartbeat', 'connection-health']
79
+ },
80
+ {
81
+ id: 'ws-005',
82
+ name: 'Limit Concurrent Connections',
83
+ description: 'Limit concurrent WebSocket connections per user',
84
+ type: 'operational',
85
+ enabled: true,
86
+ priority: 880,
87
+ conditions: [
88
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
89
+ { field: 'concurrentConnections', operator: 'greater_than', value: 10 }
90
+ ],
91
+ conditionLogic: 'all',
92
+ actions: [
93
+ { type: 'warn', message: 'User has >10 concurrent WebSocket connections - possible abuse or leaked connections' }
94
+ ],
95
+ riskWeight: 30,
96
+ tags: ['websocket', 'limits', 'abuse-prevention']
97
+ },
98
+ {
99
+ id: 'ws-006',
100
+ name: 'Validate Message Schema',
101
+ description: 'WebSocket messages should be validated against schema',
102
+ type: 'security',
103
+ enabled: true,
104
+ priority: 860,
105
+ conditions: [
106
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
107
+ { field: 'messageValidation', operator: 'not_equals', value: true }
108
+ ],
109
+ conditionLogic: 'all',
110
+ actions: [
111
+ { type: 'warn', message: 'Validate WebSocket message structure/schema to prevent injection attacks' }
112
+ ],
113
+ riskWeight: 35,
114
+ tags: ['websocket', 'validation', 'security']
115
+ },
116
+ {
117
+ id: 'ws-007',
118
+ name: 'WebSocket TLS Requirement',
119
+ description: 'Production WebSocket connections must use TLS (wss://)',
120
+ type: 'security',
121
+ enabled: true,
122
+ priority: 950,
123
+ conditions: [
124
+ { field: 'protocol', operator: 'in', value: ['websocket', 'socket.io'] },
125
+ { field: 'environment', operator: 'equals', value: 'production' },
126
+ { field: 'tlsEnabled', operator: 'not_equals', value: true }
127
+ ],
128
+ conditionLogic: 'all',
129
+ actions: [
130
+ { type: 'deny', message: 'Production WebSocket connections must use wss:// (TLS encrypted)' }
131
+ ],
132
+ riskWeight: 55,
133
+ tags: ['websocket', 'tls', 'encryption', 'security']
134
+ }
135
+ ];
136
+ //# sourceMappingURL=websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/rules/websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - MCP Server
3
+ *
4
+ * Model Context Protocol server exposing agent governance tools.
5
+ */
6
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
7
+ declare const server: Server<{
8
+ method: string;
9
+ params?: {
10
+ [x: string]: unknown;
11
+ task?: {
12
+ [x: string]: unknown;
13
+ ttl?: number | null | undefined;
14
+ pollInterval?: number | undefined;
15
+ } | undefined;
16
+ _meta?: {
17
+ [x: string]: unknown;
18
+ progressToken?: string | number | undefined;
19
+ "io.modelcontextprotocol/related-task"?: {
20
+ [x: string]: unknown;
21
+ taskId: string;
22
+ } | undefined;
23
+ } | undefined;
24
+ } | undefined;
25
+ }, {
26
+ method: string;
27
+ params?: {
28
+ [x: string]: unknown;
29
+ _meta?: {
30
+ [x: string]: unknown;
31
+ "io.modelcontextprotocol/related-task"?: {
32
+ [x: string]: unknown;
33
+ taskId: string;
34
+ } | undefined;
35
+ } | undefined;
36
+ } | undefined;
37
+ }, {
38
+ [x: string]: unknown;
39
+ _meta?: {
40
+ [x: string]: unknown;
41
+ "io.modelcontextprotocol/related-task"?: {
42
+ [x: string]: unknown;
43
+ taskId: string;
44
+ } | undefined;
45
+ } | undefined;
46
+ }>;
47
+ export { server };
48
+ export declare function startServer(): Promise<void>;
49
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAs8CnE,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWX,CAAC;AAwgCF,OAAO,EAAE,MAAM,EAAE,CAAC;AAElB,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAIjD"}