@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,401 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Built-in Rules
3
+ *
4
+ * Collection of pre-defined rules for common governance scenarios.
5
+ */
6
+ import { securityRules } from './security.js';
7
+ import { complianceRules } from './compliance.js';
8
+ import { uxRules } from './ux.js';
9
+ import { architectureRules } from './architecture.js';
10
+ import { operationalRules } from './operational.js';
11
+ import { cssRules } from './css.js';
12
+ import { flaskRules } from './flask.js';
13
+ import { mlAiRules } from './ml-ai.js';
14
+ import { storageRules } from './storage.js';
15
+ import { stripeRules } from './stripe.js';
16
+ import { testingRules } from './testing.js';
17
+ import { azureRules } from './azure.js';
18
+ import { websocketRules } from './websocket.js';
19
+ // Re-export individual rule sets
20
+ export { securityRules } from './security.js';
21
+ export { complianceRules } from './compliance.js';
22
+ export { uxRules } from './ux.js';
23
+ export { architectureRules } from './architecture.js';
24
+ export { operationalRules } from './operational.js';
25
+ export { cssRules } from './css.js';
26
+ export { flaskRules } from './flask.js';
27
+ export { mlAiRules } from './ml-ai.js';
28
+ export { storageRules } from './storage.js';
29
+ export { stripeRules } from './stripe.js';
30
+ export { testingRules } from './testing.js';
31
+ export { azureRules } from './azure.js';
32
+ export { websocketRules } from './websocket.js';
33
+ /**
34
+ * All built-in rules combined
35
+ */
36
+ export const allBuiltInRules = [
37
+ ...securityRules,
38
+ ...complianceRules,
39
+ ...uxRules,
40
+ ...architectureRules,
41
+ ...operationalRules,
42
+ ...cssRules,
43
+ ...flaskRules,
44
+ ...mlAiRules,
45
+ ...storageRules,
46
+ ...stripeRules,
47
+ ...testingRules,
48
+ ...azureRules,
49
+ ...websocketRules
50
+ ];
51
+ /**
52
+ * Get rules by type
53
+ */
54
+ export function getRulesByType(type) {
55
+ return allBuiltInRules.filter(rule => rule.type === type);
56
+ }
57
+ /**
58
+ * Get rules by tags
59
+ */
60
+ export function getRulesByTags(tags) {
61
+ return allBuiltInRules.filter(rule => rule.tags?.some(tag => tags.includes(tag)));
62
+ }
63
+ /**
64
+ * Get rules for specific compliance frameworks
65
+ */
66
+ export function getRulesForCompliance(framework) {
67
+ const frameworkTags = {
68
+ 'gdpr': ['gdpr', 'privacy', 'pii', 'consent', 'data-transfer'],
69
+ 'hipaa': ['hipaa', 'phi', 'encryption', 'minimum-necessary'],
70
+ 'pci-dss': ['pci-dss', 'cardholder-data', 'pan', 'cvv'],
71
+ 'sox': ['sox', 'financial', 'segregation-of-duties', 'audit'],
72
+ 'soc2': ['security', 'audit', 'access-control', 'encryption'],
73
+ 'iso27001': ['security', 'access-control', 'data-classification']
74
+ };
75
+ const tags = frameworkTags[framework.toLowerCase()] || [];
76
+ return getRulesByTags(tags);
77
+ }
78
+ /**
79
+ * Default rate limit configurations
80
+ */
81
+ export const defaultRateLimits = [
82
+ {
83
+ id: 'global-actions',
84
+ name: 'Global Action Rate Limit',
85
+ windowMs: 60000, // 1 minute
86
+ maxRequests: 100,
87
+ scope: 'global',
88
+ enabled: true
89
+ },
90
+ {
91
+ id: 'agent-actions',
92
+ name: 'Per-Agent Action Rate Limit',
93
+ windowMs: 60000,
94
+ maxRequests: 50,
95
+ scope: 'agent',
96
+ enabled: true
97
+ },
98
+ {
99
+ id: 'session-actions',
100
+ name: 'Per-Session Action Rate Limit',
101
+ windowMs: 60000,
102
+ maxRequests: 30,
103
+ scope: 'session',
104
+ enabled: true
105
+ },
106
+ {
107
+ id: 'data-access',
108
+ name: 'Data Access Rate Limit',
109
+ windowMs: 60000,
110
+ maxRequests: 100,
111
+ scope: 'agent',
112
+ actionCategories: ['data_access'],
113
+ enabled: true
114
+ },
115
+ {
116
+ id: 'external-api',
117
+ name: 'External API Rate Limit',
118
+ windowMs: 60000,
119
+ maxRequests: 20,
120
+ scope: 'agent',
121
+ actionCategories: ['external_api'],
122
+ enabled: true
123
+ },
124
+ {
125
+ id: 'code-execution',
126
+ name: 'Code Execution Rate Limit',
127
+ windowMs: 60000,
128
+ maxRequests: 10,
129
+ scope: 'session',
130
+ actionCategories: ['code_execution'],
131
+ burstLimit: 3,
132
+ enabled: true
133
+ },
134
+ {
135
+ id: 'financial-ops',
136
+ name: 'Financial Operations Rate Limit',
137
+ windowMs: 300000, // 5 minutes
138
+ maxRequests: 10,
139
+ scope: 'user',
140
+ actionCategories: ['financial'],
141
+ enabled: true
142
+ },
143
+ {
144
+ id: 'pii-access',
145
+ name: 'PII Access Rate Limit',
146
+ windowMs: 60000,
147
+ maxRequests: 5,
148
+ scope: 'session',
149
+ actionCategories: ['pii_access'],
150
+ enabled: true
151
+ }
152
+ ];
153
+ /**
154
+ * Rule presets for quick configuration
155
+ */
156
+ export const rulePresets = {
157
+ /**
158
+ * Minimal - Basic security and logging
159
+ */
160
+ minimal: {
161
+ rules: allBuiltInRules.filter(r => r.id.startsWith('sec-050') || // Injection prevention
162
+ r.id === 'comp-001' // Audit trail
163
+ ),
164
+ rateLimits: [defaultRateLimits[0]]
165
+ },
166
+ /**
167
+ * Standard - Balanced security and operations
168
+ */
169
+ standard: {
170
+ rules: allBuiltInRules.filter(r => r.type === 'security' ||
171
+ r.id === 'comp-001' ||
172
+ r.id.startsWith('ops-05') // Agent limits
173
+ ),
174
+ rateLimits: defaultRateLimits.slice(0, 4)
175
+ },
176
+ /**
177
+ * Strict - Full compliance and governance
178
+ */
179
+ strict: {
180
+ rules: allBuiltInRules,
181
+ rateLimits: defaultRateLimits
182
+ },
183
+ /**
184
+ * Financial - For financial services
185
+ */
186
+ financial: {
187
+ rules: [
188
+ ...securityRules,
189
+ ...complianceRules.filter(r => r.tags?.some(t => ['sox', 'pci-dss', 'financial'].includes(t))),
190
+ ...operationalRules
191
+ ],
192
+ rateLimits: defaultRateLimits
193
+ },
194
+ /**
195
+ * Healthcare - For healthcare applications
196
+ */
197
+ healthcare: {
198
+ rules: [
199
+ ...securityRules,
200
+ ...complianceRules.filter(r => r.tags?.some(t => ['hipaa', 'phi'].includes(t))),
201
+ ...operationalRules
202
+ ],
203
+ rateLimits: defaultRateLimits
204
+ },
205
+ /**
206
+ * Development - Relaxed rules for dev environment
207
+ */
208
+ development: {
209
+ rules: allBuiltInRules.filter(r => r.priority >= 900 // Only critical rules
210
+ ).map(r => ({
211
+ ...r,
212
+ actions: r.actions.map(a => a.type === 'deny' ? { ...a, type: 'warn' } : a)
213
+ })),
214
+ rateLimits: []
215
+ },
216
+ /**
217
+ * Frontend - Optimized for frontend development with CSS governance
218
+ */
219
+ frontend: {
220
+ rules: [
221
+ ...securityRules.filter(r => r.tags?.some(t => ['xss', 'injection', 'authentication'].includes(t)) ||
222
+ r.id.startsWith('sec-05') // Injection prevention
223
+ ),
224
+ ...uxRules,
225
+ ...architectureRules.filter(r => r.tags?.some(t => ['api', 'performance', 'caching'].includes(t))),
226
+ ...cssRules
227
+ ],
228
+ rateLimits: defaultRateLimits.slice(0, 3)
229
+ }
230
+ };
231
+ /**
232
+ * Get CSS-specific rules
233
+ */
234
+ export function getCSSRules() {
235
+ return cssRules;
236
+ }
237
+ /**
238
+ * Get rules for frontend development
239
+ */
240
+ export function getFrontendRules() {
241
+ return [...uxRules, ...cssRules, ...storageRules, ...architectureRules.filter(r => r.tags?.some(t => ['performance', 'caching'].includes(t)))];
242
+ }
243
+ /**
244
+ * Project Profiles - Technology-specific rule collections
245
+ * Use these to filter rules by project tech stack
246
+ */
247
+ export const projectProfiles = {
248
+ /**
249
+ * Flask - Python Flask web applications
250
+ */
251
+ flask: {
252
+ name: 'Flask (Python Web)',
253
+ rules: [
254
+ ...flaskRules,
255
+ ...securityRules.filter(r => r.tags?.some(t => ['sql-injection', 'xss', 'authentication', 'session'].includes(t))),
256
+ ...websocketRules, // Flask-SocketIO
257
+ ...operationalRules.filter(r => r.tags?.includes('api'))
258
+ ],
259
+ description: 'Flask web applications with security, CORS, and session handling'
260
+ },
261
+ /**
262
+ * Azure .NET - Azure Functions + Cosmos DB
263
+ */
264
+ 'dotnet-azure': {
265
+ name: '.NET + Azure Functions',
266
+ rules: [
267
+ ...azureRules,
268
+ ...securityRules.filter(r => r.tags?.some(t => ['authentication', 'encryption'].includes(t))),
269
+ ...architectureRules.filter(r => r.tags?.some(t => ['api', 'timeout', 'idempotency'].includes(t))),
270
+ ...operationalRules.filter(r => r.tags?.includes('deployment'))
271
+ ],
272
+ description: 'Azure Functions, Cosmos DB, and Azure services'
273
+ },
274
+ /**
275
+ * React/Frontend - Browser-based applications
276
+ */
277
+ react: {
278
+ name: 'React/Frontend',
279
+ rules: [
280
+ ...uxRules,
281
+ ...cssRules,
282
+ ...storageRules,
283
+ ...securityRules.filter(r => r.tags?.some(t => ['xss', 'authentication'].includes(t))),
284
+ ...architectureRules.filter(r => r.tags?.some(t => ['performance', 'caching'].includes(t)))
285
+ ],
286
+ description: 'Frontend development with React, CSS, and browser storage'
287
+ },
288
+ /**
289
+ * Playwright - E2E testing
290
+ */
291
+ playwright: {
292
+ name: 'Playwright Testing',
293
+ rules: [
294
+ ...testingRules,
295
+ ...operationalRules.filter(r => r.tags?.some(t => ['limits', 'cleanup'].includes(t)))
296
+ ],
297
+ description: 'Playwright E2E testing and quality assurance'
298
+ },
299
+ /**
300
+ * ML/AI - Machine learning applications
301
+ */
302
+ 'ml-ai': {
303
+ name: 'ML/AI Applications',
304
+ rules: [
305
+ ...mlAiRules,
306
+ ...securityRules.filter(r => r.tags?.some(t => ['validation', 'injection'].includes(t))),
307
+ ...operationalRules.filter(r => r.tags?.some(t => ['memory', 'timeout', 'cost'].includes(t)))
308
+ ],
309
+ description: 'PyTorch, Transformers, Diffusers, and AI model operations'
310
+ },
311
+ /**
312
+ * Stripe - Payment processing
313
+ */
314
+ stripe: {
315
+ name: 'Stripe Payments',
316
+ rules: [
317
+ ...stripeRules,
318
+ ...complianceRules.filter(r => r.tags?.some(t => ['pci-dss', 'financial'].includes(t))),
319
+ ...securityRules.filter(r => r.tags?.some(t => ['webhook', 'validation'].includes(t)))
320
+ ],
321
+ description: 'Stripe payment processing and compliance'
322
+ },
323
+ /**
324
+ * WebSocket - Real-time applications
325
+ */
326
+ websocket: {
327
+ name: 'WebSocket/Socket.IO',
328
+ rules: [
329
+ ...websocketRules,
330
+ ...securityRules.filter(r => r.tags?.some(t => ['authentication', 'rate-limiting'].includes(t))),
331
+ ...architectureRules.filter(r => r.tags?.some(t => ['timeout', 'connection'].includes(t)))
332
+ ],
333
+ description: 'WebSocket and Socket.IO real-time communication'
334
+ },
335
+ /**
336
+ * Full Stack - Complete web application
337
+ */
338
+ fullstack: {
339
+ name: 'Full Stack Application',
340
+ rules: [
341
+ ...securityRules,
342
+ ...architectureRules,
343
+ ...operationalRules,
344
+ ...uxRules,
345
+ ...cssRules
346
+ ],
347
+ description: 'Complete web application with backend and frontend'
348
+ },
349
+ /**
350
+ * API Only - Backend API services
351
+ */
352
+ api: {
353
+ name: 'Backend API',
354
+ rules: [
355
+ ...securityRules.filter(r => r.tags?.some(t => ['api', 'authentication', 'authorization'].includes(t))),
356
+ ...architectureRules.filter(r => r.tags?.some(t => ['api', 'idempotency', 'timeout', 'retry'].includes(t))),
357
+ ...operationalRules.filter(r => r.tags?.some(t => ['rate-limiting', 'monitoring'].includes(t)))
358
+ ],
359
+ description: 'RESTful API services with authentication and rate limiting'
360
+ }
361
+ };
362
+ /**
363
+ * Get rules by project profile
364
+ */
365
+ export function getRulesByProfile(profile) {
366
+ const profileConfig = projectProfiles[profile];
367
+ return profileConfig ? profileConfig.rules : [];
368
+ }
369
+ /**
370
+ * Get rules by priority threshold
371
+ */
372
+ export function getRulesByPriority(minPriority, maxPriority) {
373
+ return allBuiltInRules.filter(r => {
374
+ if (maxPriority !== undefined) {
375
+ return r.priority >= minPriority && r.priority <= maxPriority;
376
+ }
377
+ return r.priority >= minPriority;
378
+ });
379
+ }
380
+ /**
381
+ * Get a summary of rules by type
382
+ */
383
+ export function getRuleSummary() {
384
+ const summary = {};
385
+ allBuiltInRules.forEach(rule => {
386
+ summary[rule.type] = (summary[rule.type] || 0) + 1;
387
+ });
388
+ return summary;
389
+ }
390
+ /**
391
+ * List available project profiles
392
+ */
393
+ export function listProjectProfiles() {
394
+ return Object.entries(projectProfiles).map(([key, config]) => ({
395
+ key,
396
+ name: config.name,
397
+ description: config.description,
398
+ ruleCount: config.rules.length
399
+ }));
400
+ }
401
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rules/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * ML/AI Model Safety Rules
3
+ * Governance rules for machine learning and AI model operations
4
+ */
5
+ import type { BusinessRule } from '../types/index.js';
6
+ export declare const mlAiRules: BusinessRule[];
7
+ //# sourceMappingURL=ml-ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ml-ai.d.ts","sourceRoot":"","sources":["../../src/rules/ml-ai.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,SAAS,EAAE,YAAY,EAgJnC,CAAC"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * ML/AI Model Safety Rules
3
+ * Governance rules for machine learning and AI model operations
4
+ */
5
+ export const mlAiRules = [
6
+ {
7
+ id: 'ml-001',
8
+ name: 'Require Graceful OOM Handling',
9
+ description: 'Model loading must handle out-of-memory errors gracefully',
10
+ type: 'operational',
11
+ enabled: true,
12
+ priority: 950,
13
+ conditions: [
14
+ { field: 'actionName', operator: 'contains', value: 'load_model' },
15
+ { field: 'oomHandling', operator: 'not_equals', value: true }
16
+ ],
17
+ conditionLogic: 'all',
18
+ actions: [
19
+ { type: 'warn', message: 'ML: Model loading should handle OOM errors (try/except, fallback to CPU)' }
20
+ ],
21
+ riskWeight: 45,
22
+ tags: ['ml', 'ai', 'gpu', 'oom', 'error-handling']
23
+ },
24
+ {
25
+ id: 'ml-002',
26
+ name: 'Enforce Model Unloading Strategy',
27
+ description: 'Models must be unloaded after idle period to prevent memory leaks',
28
+ type: 'operational',
29
+ enabled: true,
30
+ priority: 880,
31
+ conditions: [
32
+ { field: 'actionName', operator: 'contains', value: 'load_model' },
33
+ { field: 'unloadStrategy', operator: 'not_exists', value: null }
34
+ ],
35
+ conditionLogic: 'all',
36
+ actions: [
37
+ { type: 'warn', message: 'ML: Define model unload strategy (timeout, LRU cache, manual unload)' }
38
+ ],
39
+ riskWeight: 35,
40
+ tags: ['ml', 'ai', 'memory', 'cleanup', 'gpu']
41
+ },
42
+ {
43
+ id: 'ml-003',
44
+ name: 'Limit Inference Batch Size',
45
+ description: 'Batch inference must have size limits to prevent GPU exhaustion',
46
+ type: 'operational',
47
+ enabled: true,
48
+ priority: 900,
49
+ conditions: [
50
+ { field: 'actionName', operator: 'contains', value: 'inference' },
51
+ { field: 'batchSize', operator: 'greater_than', value: 32 }
52
+ ],
53
+ conditionLogic: 'all',
54
+ actions: [
55
+ { type: 'warn', message: 'ML: Large batch sizes (>32) may exhaust GPU memory - consider chunking' }
56
+ ],
57
+ riskWeight: 30,
58
+ tags: ['ml', 'ai', 'inference', 'batch', 'gpu']
59
+ },
60
+ {
61
+ id: 'ml-004',
62
+ name: 'Validate Model Inputs',
63
+ description: 'Model inputs must be validated to prevent prompt injection',
64
+ type: 'security',
65
+ enabled: true,
66
+ priority: 940,
67
+ conditions: [
68
+ { field: 'actionName', operator: 'contains', value: 'inference' },
69
+ { field: 'inputValidation', operator: 'not_equals', value: true }
70
+ ],
71
+ conditionLogic: 'all',
72
+ actions: [
73
+ { type: 'warn', message: 'ML: Validate model inputs (length limits, content filtering, injection prevention)' }
74
+ ],
75
+ riskWeight: 40,
76
+ tags: ['ml', 'ai', 'security', 'validation', 'prompt-injection']
77
+ },
78
+ {
79
+ id: 'ml-005',
80
+ name: 'Require Content Safety Filtering',
81
+ description: 'Generated content must be filtered for safety',
82
+ type: 'security',
83
+ enabled: true,
84
+ priority: 920,
85
+ conditions: [
86
+ { field: 'actionName', operator: 'contains', value: 'generate' },
87
+ { field: 'contentSafetyFilter', operator: 'not_equals', value: true }
88
+ ],
89
+ conditionLogic: 'all',
90
+ actions: [
91
+ { type: 'warn', message: 'ML: Generated content should be filtered for safety/appropriateness' }
92
+ ],
93
+ riskWeight: 35,
94
+ tags: ['ml', 'ai', 'content-safety', 'moderation']
95
+ },
96
+ {
97
+ id: 'ml-006',
98
+ name: 'Monitor GPU Memory Usage',
99
+ description: 'GPU memory usage should be monitored and alerted',
100
+ type: 'operational',
101
+ enabled: true,
102
+ priority: 850,
103
+ conditions: [
104
+ { field: 'gpuMemoryUsage', operator: 'greater_than', value: 0.9 }
105
+ ],
106
+ conditionLogic: 'all',
107
+ actions: [
108
+ { type: 'warn', message: 'ML: GPU memory usage >90% - consider unloading models or reducing batch size' }
109
+ ],
110
+ riskWeight: 25,
111
+ tags: ['ml', 'ai', 'gpu', 'memory', 'monitoring']
112
+ },
113
+ {
114
+ id: 'ml-007',
115
+ name: 'Inference Timeout Limits',
116
+ description: 'Model inference must have timeout limits',
117
+ type: 'operational',
118
+ enabled: true,
119
+ priority: 870,
120
+ conditions: [
121
+ { field: 'actionName', operator: 'contains', value: 'inference' },
122
+ { field: 'timeout', operator: 'not_exists', value: null }
123
+ ],
124
+ conditionLogic: 'all',
125
+ actions: [
126
+ { type: 'warn', message: 'ML: Set inference timeout to prevent hanging operations' }
127
+ ],
128
+ riskWeight: 20,
129
+ tags: ['ml', 'ai', 'timeout', 'inference']
130
+ },
131
+ {
132
+ id: 'ml-008',
133
+ name: 'Model Version Tracking',
134
+ description: 'Loaded models should track version for reproducibility',
135
+ type: 'operational',
136
+ enabled: true,
137
+ priority: 750,
138
+ conditions: [
139
+ { field: 'actionName', operator: 'contains', value: 'load_model' },
140
+ { field: 'modelVersion', operator: 'not_exists', value: null }
141
+ ],
142
+ conditionLogic: 'all',
143
+ actions: [
144
+ { type: 'warn', message: 'ML: Track model versions for reproducibility and debugging' }
145
+ ],
146
+ riskWeight: 15,
147
+ tags: ['ml', 'ai', 'versioning', 'reproducibility']
148
+ }
149
+ ];
150
+ //# sourceMappingURL=ml-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ml-ai.js","sourceRoot":"","sources":["../../src/rules/ml-ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Operational Rules
3
+ *
4
+ * Built-in rules for operational excellence, resource management, and cost control.
5
+ */
6
+ import type { BusinessRule } from '../types/index.js';
7
+ export declare const operationalRules: BusinessRule[];
8
+ export default operationalRules;
9
+ //# sourceMappingURL=operational.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational.d.ts","sourceRoot":"","sources":["../../src/rules/operational.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,gBAAgB,EAAE,YAAY,EA2T1C,CAAC;AAEF,eAAe,gBAAgB,CAAC"}