@trentapps/manager-protocol 1.1.3 → 1.2.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 (142) hide show
  1. package/README.md +164 -17
  2. package/dist/analyzers/CSSAnalyzer.d.ts +180 -8
  3. package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -1
  4. package/dist/analyzers/CSSAnalyzer.js +561 -105
  5. package/dist/analyzers/CSSAnalyzer.js.map +1 -1
  6. package/dist/config/dashboard.d.ts +55 -0
  7. package/dist/config/dashboard.d.ts.map +1 -0
  8. package/dist/config/dashboard.js +103 -0
  9. package/dist/config/dashboard.js.map +1 -0
  10. package/dist/config/index.d.ts +7 -0
  11. package/dist/config/index.d.ts.map +1 -0
  12. package/dist/config/index.js +7 -0
  13. package/dist/config/index.js.map +1 -0
  14. package/dist/dashboard/httpDashboard.d.ts +100 -0
  15. package/dist/dashboard/httpDashboard.d.ts.map +1 -0
  16. package/dist/dashboard/httpDashboard.js +1276 -0
  17. package/dist/dashboard/httpDashboard.js.map +1 -0
  18. package/dist/dashboard/index.d.ts +6 -0
  19. package/dist/dashboard/index.d.ts.map +1 -0
  20. package/dist/dashboard/index.js +7 -0
  21. package/dist/dashboard/index.js.map +1 -0
  22. package/dist/engine/AuditLogger.d.ts +370 -2
  23. package/dist/engine/AuditLogger.d.ts.map +1 -1
  24. package/dist/engine/AuditLogger.js +1064 -24
  25. package/dist/engine/AuditLogger.js.map +1 -1
  26. package/dist/engine/GitHubClient.d.ts +183 -0
  27. package/dist/engine/GitHubClient.d.ts.map +1 -0
  28. package/dist/engine/GitHubClient.js +411 -0
  29. package/dist/engine/GitHubClient.js.map +1 -0
  30. package/dist/engine/RateLimiter.d.ts +5 -3
  31. package/dist/engine/RateLimiter.d.ts.map +1 -1
  32. package/dist/engine/RateLimiter.js +49 -72
  33. package/dist/engine/RateLimiter.js.map +1 -1
  34. package/dist/engine/RuleDependencyAnalyzer.d.ts +73 -0
  35. package/dist/engine/RuleDependencyAnalyzer.d.ts.map +1 -0
  36. package/dist/engine/RuleDependencyAnalyzer.js +475 -0
  37. package/dist/engine/RuleDependencyAnalyzer.js.map +1 -0
  38. package/dist/engine/RulesEngine.d.ts +102 -3
  39. package/dist/engine/RulesEngine.d.ts.map +1 -1
  40. package/dist/engine/RulesEngine.js +326 -21
  41. package/dist/engine/RulesEngine.js.map +1 -1
  42. package/dist/engine/TaskManager.d.ts +10 -14
  43. package/dist/engine/TaskManager.d.ts.map +1 -1
  44. package/dist/engine/TaskManager.js +169 -197
  45. package/dist/engine/TaskManager.js.map +1 -1
  46. package/dist/engine/index.d.ts +3 -0
  47. package/dist/engine/index.d.ts.map +1 -1
  48. package/dist/engine/index.js +5 -0
  49. package/dist/engine/index.js.map +1 -1
  50. package/dist/rules/azure.d.ts.map +1 -1
  51. package/dist/rules/azure.js +12 -14
  52. package/dist/rules/azure.js.map +1 -1
  53. package/dist/rules/compliance.d.ts.map +1 -1
  54. package/dist/rules/compliance.js +23 -41
  55. package/dist/rules/compliance.js.map +1 -1
  56. package/dist/rules/condition-optimizer.d.ts +151 -0
  57. package/dist/rules/condition-optimizer.d.ts.map +1 -0
  58. package/dist/rules/condition-optimizer.js +479 -0
  59. package/dist/rules/condition-optimizer.js.map +1 -0
  60. package/dist/rules/css.d.ts.map +1 -1
  61. package/dist/rules/css.js +538 -0
  62. package/dist/rules/css.js.map +1 -1
  63. package/dist/rules/field-standards.d.ts +1172 -0
  64. package/dist/rules/field-standards.d.ts.map +1 -0
  65. package/dist/rules/field-standards.js +908 -0
  66. package/dist/rules/field-standards.js.map +1 -0
  67. package/dist/rules/flask.d.ts.map +1 -1
  68. package/dist/rules/flask.js +18 -31
  69. package/dist/rules/flask.js.map +1 -1
  70. package/dist/rules/index.d.ts +220 -0
  71. package/dist/rules/index.d.ts.map +1 -1
  72. package/dist/rules/index.js +155 -0
  73. package/dist/rules/index.js.map +1 -1
  74. package/dist/rules/ml-ai.d.ts.map +1 -1
  75. package/dist/rules/ml-ai.js +11 -13
  76. package/dist/rules/ml-ai.js.map +1 -1
  77. package/dist/rules/patterns.d.ts +568 -0
  78. package/dist/rules/patterns.d.ts.map +1 -0
  79. package/dist/rules/patterns.js +1359 -0
  80. package/dist/rules/patterns.js.map +1 -0
  81. package/dist/rules/security.d.ts.map +1 -1
  82. package/dist/rules/security.js +580 -19
  83. package/dist/rules/security.js.map +1 -1
  84. package/dist/rules/shared-patterns.d.ts +268 -0
  85. package/dist/rules/shared-patterns.d.ts.map +1 -0
  86. package/dist/rules/shared-patterns.js +556 -0
  87. package/dist/rules/shared-patterns.js.map +1 -0
  88. package/dist/rules/storage.d.ts +8 -2
  89. package/dist/rules/storage.d.ts.map +1 -1
  90. package/dist/rules/storage.js +541 -3
  91. package/dist/rules/storage.js.map +1 -1
  92. package/dist/rules/stripe.d.ts.map +1 -1
  93. package/dist/rules/stripe.js +19 -26
  94. package/dist/rules/stripe.js.map +1 -1
  95. package/dist/rules/websocket.d.ts.map +1 -1
  96. package/dist/rules/websocket.js +32 -40
  97. package/dist/rules/websocket.js.map +1 -1
  98. package/dist/supervisor/AgentSupervisor.d.ts +52 -0
  99. package/dist/supervisor/AgentSupervisor.d.ts.map +1 -1
  100. package/dist/supervisor/AgentSupervisor.js +120 -1
  101. package/dist/supervisor/AgentSupervisor.js.map +1 -1
  102. package/dist/supervisor/ManagedServerRegistry.d.ts +139 -2
  103. package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -1
  104. package/dist/supervisor/ManagedServerRegistry.js +590 -6
  105. package/dist/supervisor/ManagedServerRegistry.js.map +1 -1
  106. package/dist/supervisor/ProjectTracker.d.ts +2 -1
  107. package/dist/supervisor/ProjectTracker.d.ts.map +1 -1
  108. package/dist/supervisor/ProjectTracker.js +5 -9
  109. package/dist/supervisor/ProjectTracker.js.map +1 -1
  110. package/dist/testing/index.d.ts +11 -0
  111. package/dist/testing/index.d.ts.map +1 -0
  112. package/dist/testing/index.js +12 -0
  113. package/dist/testing/index.js.map +1 -0
  114. package/dist/testing/rule-tester.d.ts +217 -0
  115. package/dist/testing/rule-tester.d.ts.map +1 -0
  116. package/dist/testing/rule-tester.examples.d.ts +57 -0
  117. package/dist/testing/rule-tester.examples.d.ts.map +1 -0
  118. package/dist/testing/rule-tester.examples.js +375 -0
  119. package/dist/testing/rule-tester.examples.js.map +1 -0
  120. package/dist/testing/rule-tester.js +381 -0
  121. package/dist/testing/rule-tester.js.map +1 -0
  122. package/dist/testing/rule-validator.d.ts +141 -0
  123. package/dist/testing/rule-validator.d.ts.map +1 -0
  124. package/dist/testing/rule-validator.js +640 -0
  125. package/dist/testing/rule-validator.js.map +1 -0
  126. package/dist/types/index.d.ts +265 -4
  127. package/dist/types/index.d.ts.map +1 -1
  128. package/dist/types/index.js +57 -2
  129. package/dist/types/index.js.map +1 -1
  130. package/dist/utils/index.d.ts +2 -0
  131. package/dist/utils/index.d.ts.map +1 -1
  132. package/dist/utils/index.js +2 -0
  133. package/dist/utils/index.js.map +1 -1
  134. package/dist/utils/rate-limiting.d.ts +268 -0
  135. package/dist/utils/rate-limiting.d.ts.map +1 -0
  136. package/dist/utils/rate-limiting.js +403 -0
  137. package/dist/utils/rate-limiting.js.map +1 -0
  138. package/dist/utils/shared.d.ts +306 -0
  139. package/dist/utils/shared.d.ts.map +1 -0
  140. package/dist/utils/shared.js +464 -0
  141. package/dist/utils/shared.js.map +1 -0
  142. package/package.json +3 -2
@@ -0,0 +1,556 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Shared Rule Patterns
3
+ *
4
+ * Reusable patterns and factory functions for common governance rules.
5
+ * These patterns eliminate duplication across rule files and ensure consistency.
6
+ */
7
+ // ============================================================================
8
+ // PATTERN HELPERS
9
+ // ============================================================================
10
+ /**
11
+ * Generate a unique rule ID with optional suffix
12
+ */
13
+ export function generateRuleId(prefix, base, suffix) {
14
+ return suffix ? `${prefix}-${base}-${suffix}` : `${prefix}-${base}`;
15
+ }
16
+ // ============================================================================
17
+ // AUDIT LOGGING PATTERNS (Task #26)
18
+ // ============================================================================
19
+ /**
20
+ * Common conditions for audit logging
21
+ */
22
+ export const AUDIT_CATEGORIES = ['data_modification', 'authorization', 'financial', 'pii_access'];
23
+ /**
24
+ * Base audit logging action - can be extended with additional actions
25
+ */
26
+ export const AUDIT_LOG_ACTION = { type: 'log' };
27
+ /**
28
+ * Create an audit logging rule with consistent structure
29
+ */
30
+ export function createAuditLoggingRule(config) {
31
+ const conditions = [];
32
+ if (config.categories && config.categories.length > 0) {
33
+ conditions.push({
34
+ field: 'actionCategory',
35
+ operator: 'in',
36
+ value: [...config.categories]
37
+ });
38
+ }
39
+ if (config.additionalConditions) {
40
+ conditions.push(...config.additionalConditions);
41
+ }
42
+ return {
43
+ id: config.id,
44
+ name: config.name,
45
+ description: config.description,
46
+ type: 'compliance',
47
+ enabled: true,
48
+ priority: config.priority ?? 800,
49
+ conditions,
50
+ conditionLogic: 'all',
51
+ actions: [AUDIT_LOG_ACTION, ...(config.additionalActions ?? [])],
52
+ riskWeight: config.riskWeight ?? 5,
53
+ tags: ['audit', 'logging', ...(config.tags ?? [])]
54
+ };
55
+ }
56
+ /**
57
+ * Specialized audit rule for specific data types (PHI, PII, etc.)
58
+ */
59
+ export function createDataTypeAuditRule(config) {
60
+ return createAuditLoggingRule({
61
+ id: config.id,
62
+ name: config.name,
63
+ description: `Ensures all ${config.dataType.toUpperCase()} access is logged`,
64
+ additionalConditions: [
65
+ { field: 'dataType', operator: 'equals', value: config.dataType }
66
+ ],
67
+ additionalActions: [{ type: 'allow' }],
68
+ priority: config.priority ?? 950,
69
+ riskWeight: config.riskWeight ?? 10,
70
+ tags: config.framework ? [config.framework, config.dataType, 'audit'] : [config.dataType, 'audit']
71
+ });
72
+ }
73
+ // ============================================================================
74
+ // ENCRYPTION REQUIREMENT PATTERNS (Task #27)
75
+ // ============================================================================
76
+ /**
77
+ * Common encryption check conditions
78
+ */
79
+ export const ENCRYPTION_CONDITION = {
80
+ field: 'encryptionEnabled',
81
+ operator: 'not_equals',
82
+ value: true
83
+ };
84
+ export const HTTPS_PROTOCOL_CONDITION = {
85
+ field: 'protocol',
86
+ operator: 'not_equals',
87
+ value: 'https'
88
+ };
89
+ export const TLS_CONDITION = {
90
+ field: 'tlsEnabled',
91
+ operator: 'not_equals',
92
+ value: true
93
+ };
94
+ /**
95
+ * Create an encryption requirement rule
96
+ */
97
+ export function createEncryptionRule(config) {
98
+ const conditions = [];
99
+ // Add scope conditions
100
+ if (config.scope.category) {
101
+ conditions.push({
102
+ field: 'actionCategory',
103
+ operator: config.scope.category.includes(',') ? 'in' : 'equals',
104
+ value: config.scope.category.includes(',') ? config.scope.category.split(',') : config.scope.category
105
+ });
106
+ }
107
+ if (config.scope.dataType) {
108
+ conditions.push({
109
+ field: 'dataType',
110
+ operator: 'equals',
111
+ value: config.scope.dataType
112
+ });
113
+ }
114
+ if (config.scope.protocol) {
115
+ conditions.push({
116
+ field: 'protocol',
117
+ operator: Array.isArray(config.scope.protocol) ? 'in' : 'equals',
118
+ value: config.scope.protocol
119
+ });
120
+ }
121
+ if (config.scope.environment === 'production') {
122
+ conditions.push({
123
+ field: 'environment',
124
+ operator: 'equals',
125
+ value: 'production'
126
+ });
127
+ }
128
+ if (config.scope.framework) {
129
+ conditions.push({
130
+ field: 'framework',
131
+ operator: 'equals',
132
+ value: config.scope.framework
133
+ });
134
+ }
135
+ // Add encryption check based on type
136
+ switch (config.encryptionType) {
137
+ case 'data':
138
+ conditions.push(ENCRYPTION_CONDITION);
139
+ break;
140
+ case 'transport':
141
+ conditions.push(HTTPS_PROTOCOL_CONDITION);
142
+ break;
143
+ case 'tls':
144
+ conditions.push(TLS_CONDITION);
145
+ break;
146
+ }
147
+ return {
148
+ id: config.id,
149
+ name: config.name,
150
+ description: config.description,
151
+ type: 'security',
152
+ enabled: true,
153
+ priority: config.priority ?? 940,
154
+ conditions,
155
+ conditionLogic: 'all',
156
+ actions: [{ type: config.actionType ?? 'deny', message: config.message }],
157
+ riskWeight: config.riskWeight ?? 45,
158
+ tags: ['encryption', 'security', ...(config.tags ?? [])]
159
+ };
160
+ }
161
+ // ============================================================================
162
+ // INPUT VALIDATION PATTERNS (Task #28)
163
+ // ============================================================================
164
+ /**
165
+ * Common validation check condition
166
+ */
167
+ export const VALIDATION_REQUIRED_CONDITION = {
168
+ field: 'inputValidation',
169
+ operator: 'not_equals',
170
+ value: true
171
+ };
172
+ export const FILE_VALIDATION_CONDITION = {
173
+ field: 'fileValidation',
174
+ operator: 'not_equals',
175
+ value: true
176
+ };
177
+ export const MESSAGE_VALIDATION_CONDITION = {
178
+ field: 'messageValidation',
179
+ operator: 'not_equals',
180
+ value: true
181
+ };
182
+ export const SIGNATURE_VALIDATION_CONDITION = {
183
+ field: 'signatureValidated',
184
+ operator: 'not_equals',
185
+ value: true
186
+ };
187
+ /**
188
+ * Create an input validation rule
189
+ */
190
+ export function createValidationRule(config) {
191
+ const conditions = [];
192
+ // Add scope conditions
193
+ if (config.scope.category) {
194
+ conditions.push({
195
+ field: 'actionCategory',
196
+ operator: 'equals',
197
+ value: config.scope.category
198
+ });
199
+ }
200
+ if (config.scope.actionName) {
201
+ conditions.push({
202
+ field: 'actionName',
203
+ operator: 'contains',
204
+ value: config.scope.actionName
205
+ });
206
+ }
207
+ if (config.scope.protocol) {
208
+ conditions.push({
209
+ field: 'protocol',
210
+ operator: Array.isArray(config.scope.protocol) ? 'in' : 'equals',
211
+ value: config.scope.protocol
212
+ });
213
+ }
214
+ if (config.scope.provider) {
215
+ conditions.push({
216
+ field: 'provider',
217
+ operator: 'equals',
218
+ value: config.scope.provider
219
+ });
220
+ }
221
+ if (config.scope.operation) {
222
+ conditions.push({
223
+ field: 'operation',
224
+ operator: 'equals',
225
+ value: config.scope.operation
226
+ });
227
+ }
228
+ // Add validation check based on type
229
+ switch (config.validationType) {
230
+ case 'input':
231
+ conditions.push(VALIDATION_REQUIRED_CONDITION);
232
+ break;
233
+ case 'file':
234
+ conditions.push(FILE_VALIDATION_CONDITION);
235
+ break;
236
+ case 'message':
237
+ conditions.push(MESSAGE_VALIDATION_CONDITION);
238
+ break;
239
+ case 'signature':
240
+ conditions.push(SIGNATURE_VALIDATION_CONDITION);
241
+ break;
242
+ case 'schema':
243
+ conditions.push({
244
+ field: 'schemaValidation',
245
+ operator: 'not_equals',
246
+ value: true
247
+ });
248
+ break;
249
+ }
250
+ return {
251
+ id: config.id,
252
+ name: config.name,
253
+ description: config.description,
254
+ type: 'security',
255
+ enabled: true,
256
+ priority: config.priority ?? 920,
257
+ conditions,
258
+ conditionLogic: 'all',
259
+ actions: [{ type: config.actionType ?? 'deny', message: config.message }],
260
+ riskWeight: config.riskWeight ?? 40,
261
+ tags: ['validation', 'security', ...(config.tags ?? [])]
262
+ };
263
+ }
264
+ // ============================================================================
265
+ // RATE LIMITING PATTERNS (Task #29)
266
+ // ============================================================================
267
+ /**
268
+ * Common rate limiting check condition
269
+ */
270
+ export const RATE_LIMIT_ENABLED_CONDITION = {
271
+ field: 'rateLimitEnabled',
272
+ operator: 'not_equals',
273
+ value: true
274
+ };
275
+ export const MESSAGE_RATE_LIMIT_CONDITION = {
276
+ field: 'messageRateLimitEnabled',
277
+ operator: 'not_equals',
278
+ value: true
279
+ };
280
+ /**
281
+ * Create a rate limit check rule
282
+ */
283
+ export function createRateLimitRule(config) {
284
+ const conditions = [];
285
+ // Add scope conditions
286
+ if (config.scope.category) {
287
+ conditions.push({
288
+ field: 'actionCategory',
289
+ operator: 'equals',
290
+ value: config.scope.category
291
+ });
292
+ }
293
+ if (config.scope.actionName) {
294
+ conditions.push({
295
+ field: 'actionName',
296
+ operator: 'contains',
297
+ value: config.scope.actionName
298
+ });
299
+ }
300
+ if (config.scope.protocol) {
301
+ conditions.push({
302
+ field: 'protocol',
303
+ operator: Array.isArray(config.scope.protocol) ? 'in' : 'equals',
304
+ value: config.scope.protocol
305
+ });
306
+ }
307
+ if (config.scope.provider) {
308
+ conditions.push({
309
+ field: 'provider',
310
+ operator: 'equals',
311
+ value: config.scope.provider
312
+ });
313
+ }
314
+ // Add rate limit condition or threshold
315
+ if (config.threshold) {
316
+ conditions.push({
317
+ field: config.threshold.field,
318
+ operator: 'greater_than',
319
+ value: config.threshold.value
320
+ });
321
+ }
322
+ else {
323
+ // Add default rate limit check based on type
324
+ switch (config.limitType) {
325
+ case 'message':
326
+ conditions.push(MESSAGE_RATE_LIMIT_CONDITION);
327
+ break;
328
+ case 'api':
329
+ conditions.push({
330
+ field: 'respectsRateLimits',
331
+ operator: 'not_equals',
332
+ value: true
333
+ });
334
+ break;
335
+ case 'notification':
336
+ conditions.push({
337
+ field: 'notificationsLastHour',
338
+ operator: 'greater_than',
339
+ value: 10
340
+ });
341
+ break;
342
+ default:
343
+ conditions.push(RATE_LIMIT_ENABLED_CONDITION);
344
+ }
345
+ }
346
+ return {
347
+ id: config.id,
348
+ name: config.name,
349
+ description: config.description,
350
+ type: config.limitType === 'notification' ? 'ux' : 'security',
351
+ enabled: true,
352
+ priority: config.priority ?? 850,
353
+ conditions,
354
+ conditionLogic: 'all',
355
+ actions: [{ type: config.actionType ?? 'warn', message: config.message }],
356
+ riskWeight: config.riskWeight ?? 30,
357
+ tags: ['rate-limiting', ...(config.tags ?? [])]
358
+ };
359
+ }
360
+ // ============================================================================
361
+ // PRODUCTION ENVIRONMENT PATTERNS (Task #30)
362
+ // ============================================================================
363
+ /**
364
+ * Production environment condition - reusable across rules
365
+ */
366
+ export const PRODUCTION_ENV_CONDITION = {
367
+ field: 'environment',
368
+ operator: 'equals',
369
+ value: 'production'
370
+ };
371
+ /**
372
+ * Create a production environment check rule
373
+ */
374
+ export function createProductionRule(config) {
375
+ const conditions = [PRODUCTION_ENV_CONDITION];
376
+ // Add the config field check
377
+ if (config.negated) {
378
+ conditions.push({
379
+ field: config.configField,
380
+ operator: 'not_equals',
381
+ value: config.expectedValue ?? true
382
+ });
383
+ }
384
+ else if (config.expectedValue !== undefined) {
385
+ conditions.push({
386
+ field: config.configField,
387
+ operator: 'equals',
388
+ value: config.expectedValue
389
+ });
390
+ }
391
+ else {
392
+ conditions.push({
393
+ field: config.configField,
394
+ operator: 'not_exists',
395
+ value: null
396
+ });
397
+ }
398
+ if (config.additionalConditions) {
399
+ conditions.push(...config.additionalConditions);
400
+ }
401
+ // Determine rule type based on check type
402
+ const ruleTypeMap = {
403
+ config: 'security',
404
+ security: 'security',
405
+ monitoring: 'operational',
406
+ deployment: 'operational'
407
+ };
408
+ return {
409
+ id: config.id,
410
+ name: config.name,
411
+ description: config.description,
412
+ type: ruleTypeMap[config.checkType] ?? 'security',
413
+ enabled: true,
414
+ priority: config.priority ?? 900,
415
+ conditions,
416
+ conditionLogic: 'all',
417
+ actions: [{ type: config.actionType ?? 'warn', message: config.message }],
418
+ riskWeight: config.riskWeight ?? 35,
419
+ tags: ['production', config.checkType, ...(config.tags ?? [])]
420
+ };
421
+ }
422
+ /**
423
+ * Create a production debug mode check (common pattern)
424
+ */
425
+ export function createDebugModeRule(config) {
426
+ return createProductionRule({
427
+ id: config.id,
428
+ name: `Prohibit ${config.framework} Debug Mode in Production`,
429
+ description: `${config.framework} debug mode must be disabled in production environments`,
430
+ checkType: 'security',
431
+ configField: config.debugField ?? `${config.framework.toLowerCase()}DebugEnabled`,
432
+ expectedValue: true,
433
+ negated: false, // We want to match when debug IS enabled
434
+ additionalConditions: [
435
+ { field: config.debugField ?? `${config.framework.toLowerCase()}DebugEnabled`, operator: 'equals', value: true }
436
+ ].filter(() => false), // Already handled above
437
+ actionType: 'deny',
438
+ message: `${config.framework} debug mode is prohibited in production (security risk)`,
439
+ priority: config.priority ?? 990,
440
+ riskWeight: config.riskWeight ?? 70,
441
+ tags: [config.framework.toLowerCase(), 'debug']
442
+ });
443
+ }
444
+ /**
445
+ * Create a production HTTPS requirement rule
446
+ */
447
+ export function createProductionHttpsRule(config) {
448
+ const conditions = [PRODUCTION_ENV_CONDITION];
449
+ if (config.framework) {
450
+ conditions.push({
451
+ field: 'framework',
452
+ operator: 'equals',
453
+ value: config.framework
454
+ });
455
+ }
456
+ if (config.protocol) {
457
+ conditions.push({
458
+ field: 'protocol',
459
+ operator: 'in',
460
+ value: [config.protocol]
461
+ });
462
+ }
463
+ conditions.push({
464
+ field: config.httpsField ?? 'httpsEnforced',
465
+ operator: 'not_equals',
466
+ value: true
467
+ });
468
+ const name = config.protocol
469
+ ? `${config.protocol} TLS Requirement`
470
+ : config.framework
471
+ ? `Require HTTPS for ${config.framework} in Production`
472
+ : 'Require HTTPS in Production';
473
+ return {
474
+ id: config.id,
475
+ name,
476
+ description: 'Production connections must use encrypted transport',
477
+ type: 'security',
478
+ enabled: true,
479
+ priority: config.priority ?? 940,
480
+ conditions,
481
+ conditionLogic: 'all',
482
+ actions: [{
483
+ type: config.actionType ?? 'warn',
484
+ message: 'Production connections must use HTTPS/TLS encrypted transport'
485
+ }],
486
+ riskWeight: config.riskWeight ?? 45,
487
+ tags: ['https', 'tls', 'encryption', 'production', ...(config.framework ? [config.framework.toLowerCase()] : [])]
488
+ };
489
+ }
490
+ /**
491
+ * Create a production monitoring requirement rule
492
+ */
493
+ export function createProductionMonitoringRule(config) {
494
+ const conditions = [PRODUCTION_ENV_CONDITION];
495
+ if (config.platform) {
496
+ conditions.push({
497
+ field: 'platform',
498
+ operator: 'equals',
499
+ value: config.platform
500
+ });
501
+ }
502
+ conditions.push({
503
+ field: config.monitoringField,
504
+ operator: 'not_equals',
505
+ value: true
506
+ });
507
+ return {
508
+ id: config.id,
509
+ name: config.name,
510
+ description: config.description,
511
+ type: 'operational',
512
+ enabled: true,
513
+ priority: config.priority ?? 860,
514
+ conditions,
515
+ conditionLogic: 'all',
516
+ actions: [{ type: 'warn', message: config.message }],
517
+ riskWeight: config.riskWeight ?? 25,
518
+ tags: ['monitoring', 'production', 'observability', ...(config.tags ?? [])]
519
+ };
520
+ }
521
+ // ============================================================================
522
+ // EXPORTED PATTERN COLLECTIONS
523
+ // ============================================================================
524
+ /**
525
+ * All shared pattern factory functions
526
+ */
527
+ export const sharedPatterns = {
528
+ // Audit logging
529
+ createAuditLoggingRule,
530
+ createDataTypeAuditRule,
531
+ AUDIT_CATEGORIES,
532
+ AUDIT_LOG_ACTION,
533
+ // Encryption
534
+ createEncryptionRule,
535
+ ENCRYPTION_CONDITION,
536
+ HTTPS_PROTOCOL_CONDITION,
537
+ TLS_CONDITION,
538
+ // Validation
539
+ createValidationRule,
540
+ VALIDATION_REQUIRED_CONDITION,
541
+ FILE_VALIDATION_CONDITION,
542
+ MESSAGE_VALIDATION_CONDITION,
543
+ SIGNATURE_VALIDATION_CONDITION,
544
+ // Rate limiting
545
+ createRateLimitRule,
546
+ RATE_LIMIT_ENABLED_CONDITION,
547
+ MESSAGE_RATE_LIMIT_CONDITION,
548
+ // Production environment
549
+ createProductionRule,
550
+ createDebugModeRule,
551
+ createProductionHttpsRule,
552
+ createProductionMonitoringRule,
553
+ PRODUCTION_ENV_CONDITION
554
+ };
555
+ export default sharedPatterns;
556
+ //# sourceMappingURL=shared-patterns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-patterns.js","sourceRoot":"","sources":["../../src/rules/shared-patterns.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  /**
2
- * Browser Storage Rules
3
- * Governance rules for localStorage, sessionStorage, and IndexedDB
2
+ * Enterprise Agent Supervisor - Storage Rules
3
+ *
4
+ * Comprehensive governance rules for all storage types:
5
+ * - Browser Storage (localStorage, sessionStorage, IndexedDB)
6
+ * - Database Access (SQL, NoSQL, transactions)
7
+ * - File System (read, write, configuration)
8
+ * - Cache (memory, distributed, CDN)
9
+ * - Blob/Object Storage (S3, Azure Blob, GCS)
4
10
  */
5
11
  import type { BusinessRule } from '../types/index.js';
6
12
  export declare const storageRules: BusinessRule[];
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/rules/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,YAAY,EAgItC,CAAC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/rules/storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA2pBtD,eAAO,MAAM,YAAY,EAAE,YAAY,EAMtC,CAAC"}