@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,318 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Operational Rules
3
+ *
4
+ * Built-in rules for operational excellence, resource management, and cost control.
5
+ */
6
+ export const operationalRules = [
7
+ // ============================================================================
8
+ // RESOURCE MANAGEMENT RULES
9
+ // ============================================================================
10
+ {
11
+ id: 'ops-001',
12
+ name: 'Resource Allocation Limit',
13
+ description: 'Prevents excessive resource allocation',
14
+ type: 'operational',
15
+ enabled: true,
16
+ priority: 880,
17
+ conditions: [
18
+ { field: 'actionCategory', operator: 'equals', value: 'resource_allocation' },
19
+ { field: 'resourceCost', operator: 'greater_than', value: 1000 }
20
+ ],
21
+ conditionLogic: 'all',
22
+ actions: [
23
+ { type: 'require_approval', message: 'Resource allocation exceeds $1000 - requires approval' }
24
+ ],
25
+ riskWeight: 30,
26
+ tags: ['operational', 'cost', 'resources']
27
+ },
28
+ {
29
+ id: 'ops-002',
30
+ name: 'Concurrent Operation Limit',
31
+ description: 'Limits concurrent expensive operations',
32
+ type: 'operational',
33
+ enabled: true,
34
+ priority: 850,
35
+ conditions: [
36
+ { field: 'operationType', operator: 'equals', value: 'expensive' },
37
+ { field: 'concurrentCount', operator: 'greater_than', value: 5 }
38
+ ],
39
+ conditionLogic: 'all',
40
+ actions: [
41
+ { type: 'rate_limit', message: 'Too many concurrent expensive operations' }
42
+ ],
43
+ riskWeight: 25,
44
+ tags: ['operational', 'concurrency', 'limits']
45
+ },
46
+ {
47
+ id: 'ops-003',
48
+ name: 'Memory Usage Warning',
49
+ description: 'Warns when operations may consume excessive memory',
50
+ type: 'operational',
51
+ enabled: true,
52
+ priority: 800,
53
+ conditions: [
54
+ { field: 'estimatedMemoryMb', operator: 'greater_than', value: 512 }
55
+ ],
56
+ conditionLogic: 'all',
57
+ actions: [
58
+ { type: 'warn', message: 'Operation may consume >512MB memory - consider streaming' }
59
+ ],
60
+ riskWeight: 15,
61
+ tags: ['operational', 'memory', 'performance']
62
+ },
63
+ // ============================================================================
64
+ // PRODUCTION SAFETY RULES
65
+ // ============================================================================
66
+ {
67
+ id: 'ops-010',
68
+ name: 'Production Deployment Window',
69
+ description: 'Restricts deployments to approved windows',
70
+ type: 'operational',
71
+ enabled: true,
72
+ priority: 920,
73
+ conditions: [
74
+ { field: 'actionName', operator: 'equals', value: 'deploy' },
75
+ { field: 'environment', operator: 'equals', value: 'production' },
76
+ { field: 'deploymentWindowOpen', operator: 'not_equals', value: true }
77
+ ],
78
+ conditionLogic: 'all',
79
+ actions: [
80
+ { type: 'require_approval', message: 'Production deployment outside approved window requires approval' }
81
+ ],
82
+ riskWeight: 40,
83
+ tags: ['operational', 'deployment', 'change-management']
84
+ },
85
+ {
86
+ id: 'ops-011',
87
+ name: 'Rollback Plan Required',
88
+ description: 'Requires rollback plan for production changes',
89
+ type: 'operational',
90
+ enabled: true,
91
+ priority: 900,
92
+ conditions: [
93
+ { field: 'environment', operator: 'equals', value: 'production' },
94
+ { field: 'actionCategory', operator: 'in', value: ['system_config', 'data_modification'] },
95
+ { field: 'rollbackPlanDefined', operator: 'not_equals', value: true }
96
+ ],
97
+ conditionLogic: 'all',
98
+ actions: [
99
+ { type: 'warn', message: 'Production changes should have a rollback plan defined' }
100
+ ],
101
+ riskWeight: 30,
102
+ tags: ['operational', 'rollback', 'safety']
103
+ },
104
+ {
105
+ id: 'ops-012',
106
+ name: 'Feature Flag for New Features',
107
+ description: 'Requires feature flags for new functionality in production',
108
+ type: 'operational',
109
+ enabled: true,
110
+ priority: 780,
111
+ conditions: [
112
+ { field: 'environment', operator: 'equals', value: 'production' },
113
+ { field: 'isNewFeature', operator: 'equals', value: true },
114
+ { field: 'featureFlagEnabled', operator: 'not_equals', value: true }
115
+ ],
116
+ conditionLogic: 'all',
117
+ actions: [
118
+ { type: 'warn', message: 'New features in production should use feature flags' }
119
+ ],
120
+ riskWeight: 20,
121
+ tags: ['operational', 'feature-flags', 'deployment']
122
+ },
123
+ // ============================================================================
124
+ // INCIDENT MANAGEMENT RULES
125
+ // ============================================================================
126
+ {
127
+ id: 'ops-020',
128
+ name: 'Incident Response Escalation',
129
+ description: 'Escalates critical issues for immediate attention',
130
+ type: 'operational',
131
+ enabled: true,
132
+ priority: 980,
133
+ conditions: [
134
+ { field: 'incidentSeverity', operator: 'in', value: ['critical', 'high'] },
135
+ { field: 'environment', operator: 'equals', value: 'production' }
136
+ ],
137
+ conditionLogic: 'all',
138
+ actions: [
139
+ { type: 'escalate', message: 'Critical production incident - immediate escalation required' },
140
+ { type: 'notify', message: 'ALERT: Critical production incident detected' }
141
+ ],
142
+ riskWeight: 50,
143
+ tags: ['operational', 'incident', 'escalation']
144
+ },
145
+ {
146
+ id: 'ops-021',
147
+ name: 'Change Freeze Enforcement',
148
+ description: 'Blocks changes during declared change freeze',
149
+ type: 'operational',
150
+ enabled: true,
151
+ priority: 990,
152
+ conditions: [
153
+ { field: 'changeFreezeActive', operator: 'equals', value: true },
154
+ { field: 'actionCategory', operator: 'in', value: ['system_config', 'data_modification', 'code_execution'] }
155
+ ],
156
+ conditionLogic: 'all',
157
+ actions: [
158
+ { type: 'deny', message: 'Changes blocked during change freeze period' }
159
+ ],
160
+ riskWeight: 60,
161
+ tags: ['operational', 'change-freeze', 'stability']
162
+ },
163
+ // ============================================================================
164
+ // COST CONTROL RULES
165
+ // ============================================================================
166
+ {
167
+ id: 'ops-030',
168
+ name: 'API Cost Threshold',
169
+ description: 'Requires approval for high-cost API operations',
170
+ type: 'operational',
171
+ enabled: true,
172
+ priority: 860,
173
+ conditions: [
174
+ { field: 'actionCategory', operator: 'equals', value: 'external_api' },
175
+ { field: 'estimatedCost', operator: 'greater_than', value: 10 }
176
+ ],
177
+ conditionLogic: 'all',
178
+ actions: [
179
+ { type: 'require_approval', message: 'API call cost exceeds $10 - requires approval' },
180
+ { type: 'log' }
181
+ ],
182
+ riskWeight: 25,
183
+ tags: ['operational', 'cost', 'api']
184
+ },
185
+ {
186
+ id: 'ops-031',
187
+ name: 'Token Usage Limit',
188
+ description: 'Limits AI/LLM token consumption',
189
+ type: 'operational',
190
+ enabled: true,
191
+ priority: 830,
192
+ conditions: [
193
+ { field: 'actionName', operator: 'contains', value: 'llm' },
194
+ { field: 'tokenCount', operator: 'greater_than', value: 100000 }
195
+ ],
196
+ conditionLogic: 'all',
197
+ actions: [
198
+ { type: 'require_approval', message: 'LLM call exceeds 100K tokens - requires approval' }
199
+ ],
200
+ riskWeight: 20,
201
+ tags: ['operational', 'cost', 'llm', 'tokens']
202
+ },
203
+ {
204
+ id: 'ops-032',
205
+ name: 'Daily Budget Enforcement',
206
+ description: 'Enforces daily spending limits',
207
+ type: 'operational',
208
+ enabled: true,
209
+ priority: 870,
210
+ conditions: [
211
+ { field: 'dailySpend', operator: 'greater_than', value: 500 },
212
+ { field: 'budgetOverrideApproved', operator: 'not_equals', value: true }
213
+ ],
214
+ conditionLogic: 'all',
215
+ actions: [
216
+ { type: 'deny', message: 'Daily budget limit ($500) exceeded - operation blocked' }
217
+ ],
218
+ riskWeight: 35,
219
+ tags: ['operational', 'budget', 'cost']
220
+ },
221
+ // ============================================================================
222
+ // MAINTENANCE WINDOW RULES
223
+ // ============================================================================
224
+ {
225
+ id: 'ops-040',
226
+ name: 'Maintenance Window Check',
227
+ description: 'Flags operations during maintenance windows',
228
+ type: 'operational',
229
+ enabled: true,
230
+ priority: 750,
231
+ conditions: [
232
+ { field: 'maintenanceWindowActive', operator: 'equals', value: true }
233
+ ],
234
+ conditionLogic: 'all',
235
+ actions: [
236
+ { type: 'warn', message: 'System is in maintenance window - operations may be affected' }
237
+ ],
238
+ riskWeight: 10,
239
+ tags: ['operational', 'maintenance', 'awareness']
240
+ },
241
+ {
242
+ id: 'ops-041',
243
+ name: 'Backup Verification Required',
244
+ description: 'Requires backup verification before destructive operations',
245
+ type: 'operational',
246
+ enabled: true,
247
+ priority: 890,
248
+ conditions: [
249
+ { field: 'operation', operator: 'in', value: ['delete', 'truncate', 'drop', 'purge'] },
250
+ { field: 'environment', operator: 'equals', value: 'production' },
251
+ { field: 'backupVerified', operator: 'not_equals', value: true }
252
+ ],
253
+ conditionLogic: 'all',
254
+ actions: [
255
+ { type: 'require_approval', message: 'Destructive operation requires backup verification' }
256
+ ],
257
+ riskWeight: 45,
258
+ tags: ['operational', 'backup', 'destructive']
259
+ },
260
+ // ============================================================================
261
+ // AGENT OPERATION LIMITS
262
+ // ============================================================================
263
+ {
264
+ id: 'ops-050',
265
+ name: 'Agent Action Per-Session Limit',
266
+ description: 'Limits total actions an agent can take per session',
267
+ type: 'operational',
268
+ enabled: true,
269
+ priority: 840,
270
+ conditions: [
271
+ { field: 'sessionActionCount', operator: 'greater_than', value: 1000 }
272
+ ],
273
+ conditionLogic: 'all',
274
+ actions: [
275
+ { type: 'warn', message: 'Session action count exceeds 1000 - consider session rotation' }
276
+ ],
277
+ riskWeight: 15,
278
+ tags: ['operational', 'limits', 'session']
279
+ },
280
+ {
281
+ id: 'ops-051',
282
+ name: 'Agent Retry Limit',
283
+ description: 'Limits retry attempts for failed operations',
284
+ type: 'operational',
285
+ enabled: true,
286
+ priority: 820,
287
+ conditions: [
288
+ { field: 'retryCount', operator: 'greater_than', value: 5 }
289
+ ],
290
+ conditionLogic: 'all',
291
+ actions: [
292
+ { type: 'deny', message: 'Maximum retry attempts (5) exceeded - operation blocked' },
293
+ { type: 'escalate', message: 'Operation repeatedly failing - escalation required' }
294
+ ],
295
+ riskWeight: 25,
296
+ tags: ['operational', 'retry', 'limits']
297
+ },
298
+ {
299
+ id: 'ops-052',
300
+ name: 'Agent Loop Detection',
301
+ description: 'Detects and prevents agent operation loops',
302
+ type: 'operational',
303
+ enabled: true,
304
+ priority: 950,
305
+ conditions: [
306
+ { field: 'actionPattern', operator: 'equals', value: 'loop_detected' }
307
+ ],
308
+ conditionLogic: 'all',
309
+ actions: [
310
+ { type: 'deny', message: 'Operational loop detected - breaking cycle' },
311
+ { type: 'notify', message: 'Alert: Agent operation loop detected and broken' }
312
+ ],
313
+ riskWeight: 40,
314
+ tags: ['operational', 'loop', 'safety']
315
+ }
316
+ ];
317
+ export default operationalRules;
318
+ //# sourceMappingURL=operational.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operational.js","sourceRoot":"","sources":["../../src/rules/operational.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Security Rules
3
+ *
4
+ * Built-in security rules for protecting against common vulnerabilities and threats.
5
+ */
6
+ import type { BusinessRule } from '../types/index.js';
7
+ export declare const securityRules: BusinessRule[];
8
+ export default securityRules;
9
+ //# sourceMappingURL=security.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/rules/security.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,aAAa,EAAE,YAAY,EA4RvC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -0,0 +1,287 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - Security Rules
3
+ *
4
+ * Built-in security rules for protecting against common vulnerabilities and threats.
5
+ */
6
+ export const securityRules = [
7
+ // ============================================================================
8
+ // DATA PROTECTION RULES
9
+ // ============================================================================
10
+ {
11
+ id: 'sec-001',
12
+ name: 'Block PII Access Without Authorization',
13
+ description: 'Prevents unauthorized access to personally identifiable information',
14
+ type: 'security',
15
+ enabled: true,
16
+ priority: 950,
17
+ conditions: [
18
+ { field: 'actionCategory', operator: 'equals', value: 'pii_access' },
19
+ { field: 'userRole', operator: 'not_in', value: ['admin', 'data_officer', 'compliance'] }
20
+ ],
21
+ conditionLogic: 'all',
22
+ actions: [
23
+ { type: 'deny', message: 'PII access requires authorized role (admin, data_officer, compliance)' },
24
+ { type: 'log' }
25
+ ],
26
+ riskWeight: 45,
27
+ tags: ['pii', 'gdpr', 'privacy']
28
+ },
29
+ {
30
+ id: 'sec-002',
31
+ name: 'Require Approval for Bulk Data Export',
32
+ description: 'Requires human approval for exporting large datasets',
33
+ type: 'security',
34
+ enabled: true,
35
+ priority: 900,
36
+ conditions: [
37
+ { field: 'actionName', operator: 'contains', value: 'export' },
38
+ { field: 'recordCount', operator: 'greater_than', value: 1000 }
39
+ ],
40
+ conditionLogic: 'all',
41
+ actions: [
42
+ { type: 'require_approval', message: 'Bulk data export (>1000 records) requires human approval' }
43
+ ],
44
+ riskWeight: 35,
45
+ tags: ['data-export', 'bulk-operations']
46
+ },
47
+ {
48
+ id: 'sec-003',
49
+ name: 'Block Sensitive Data in Logs',
50
+ description: 'Prevents logging of sensitive information',
51
+ type: 'security',
52
+ enabled: true,
53
+ priority: 920,
54
+ conditions: [
55
+ { field: 'actionCategory', operator: 'equals', value: 'data_access' },
56
+ { field: 'dataClassification', operator: 'in', value: ['confidential', 'restricted'] },
57
+ { field: 'logEnabled', operator: 'equals', value: true }
58
+ ],
59
+ conditionLogic: 'all',
60
+ actions: [
61
+ { type: 'warn', message: 'Sensitive data should not be logged - ensure data masking is enabled' }
62
+ ],
63
+ riskWeight: 25,
64
+ tags: ['logging', 'data-masking']
65
+ },
66
+ // ============================================================================
67
+ // AUTHENTICATION & AUTHORIZATION RULES
68
+ // ============================================================================
69
+ {
70
+ id: 'sec-010',
71
+ name: 'Block Unauthenticated API Calls',
72
+ description: 'Prevents API calls without proper authentication',
73
+ type: 'security',
74
+ enabled: true,
75
+ priority: 990,
76
+ conditions: [
77
+ { field: 'actionCategory', operator: 'equals', value: 'external_api' },
78
+ { field: 'authToken', operator: 'not_exists', value: null }
79
+ ],
80
+ conditionLogic: 'all',
81
+ actions: [
82
+ { type: 'deny', message: 'External API calls require authentication token' }
83
+ ],
84
+ riskWeight: 50,
85
+ tags: ['authentication', 'api']
86
+ },
87
+ {
88
+ id: 'sec-011',
89
+ name: 'Privilege Escalation Detection',
90
+ description: 'Detects and blocks privilege escalation attempts',
91
+ type: 'security',
92
+ enabled: true,
93
+ priority: 980,
94
+ conditions: [
95
+ { field: 'actionCategory', operator: 'equals', value: 'authorization' },
96
+ { field: 'targetRole', operator: 'in', value: ['admin', 'superuser', 'root'] },
97
+ { field: 'userRole', operator: 'not_in', value: ['admin', 'superuser'] }
98
+ ],
99
+ conditionLogic: 'all',
100
+ actions: [
101
+ { type: 'deny', message: 'Privilege escalation attempt blocked' },
102
+ { type: 'notify', message: 'Security alert: Privilege escalation attempt detected' }
103
+ ],
104
+ riskWeight: 60,
105
+ tags: ['privilege-escalation', 'authorization']
106
+ },
107
+ {
108
+ id: 'sec-012',
109
+ name: 'Session Hijacking Prevention',
110
+ description: 'Blocks actions from suspicious session patterns',
111
+ type: 'security',
112
+ enabled: true,
113
+ priority: 970,
114
+ conditions: [
115
+ { field: 'sessionAnomalyScore', operator: 'greater_than', value: 0.8 }
116
+ ],
117
+ conditionLogic: 'all',
118
+ actions: [
119
+ { type: 'deny', message: 'Session anomaly detected - action blocked for security' },
120
+ { type: 'notify', message: 'Security alert: Possible session hijacking detected' }
121
+ ],
122
+ riskWeight: 55,
123
+ tags: ['session-security', 'anomaly-detection']
124
+ },
125
+ // ============================================================================
126
+ // CODE EXECUTION RULES
127
+ // ============================================================================
128
+ {
129
+ id: 'sec-020',
130
+ name: 'Block Arbitrary Code Execution',
131
+ description: 'Prevents execution of unvalidated code',
132
+ type: 'security',
133
+ enabled: true,
134
+ priority: 1000,
135
+ conditions: [
136
+ { field: 'actionCategory', operator: 'equals', value: 'code_execution' },
137
+ { field: 'codeValidated', operator: 'not_equals', value: true }
138
+ ],
139
+ conditionLogic: 'all',
140
+ actions: [
141
+ { type: 'deny', message: 'Code execution requires validation before execution' }
142
+ ],
143
+ riskWeight: 70,
144
+ tags: ['code-execution', 'validation']
145
+ },
146
+ {
147
+ id: 'sec-021',
148
+ name: 'Sandbox Requirement for Scripts',
149
+ description: 'Requires sandbox for script execution',
150
+ type: 'security',
151
+ enabled: true,
152
+ priority: 960,
153
+ conditions: [
154
+ { field: 'actionCategory', operator: 'equals', value: 'code_execution' },
155
+ { field: 'sandboxed', operator: 'not_equals', value: true },
156
+ { field: 'environment', operator: 'equals', value: 'production' }
157
+ ],
158
+ conditionLogic: 'all',
159
+ actions: [
160
+ { type: 'deny', message: 'Script execution in production requires sandboxing' }
161
+ ],
162
+ riskWeight: 50,
163
+ tags: ['sandbox', 'code-execution', 'production']
164
+ },
165
+ // ============================================================================
166
+ // NETWORK SECURITY RULES
167
+ // ============================================================================
168
+ {
169
+ id: 'sec-030',
170
+ name: 'Block Unauthorized External Connections',
171
+ description: 'Prevents connections to non-whitelisted external hosts',
172
+ type: 'security',
173
+ enabled: true,
174
+ priority: 940,
175
+ conditions: [
176
+ { field: 'actionCategory', operator: 'equals', value: 'network' },
177
+ { field: 'hostWhitelisted', operator: 'not_equals', value: true }
178
+ ],
179
+ conditionLogic: 'all',
180
+ actions: [
181
+ { type: 'require_approval', message: 'Connection to non-whitelisted host requires approval' }
182
+ ],
183
+ riskWeight: 35,
184
+ tags: ['network', 'whitelist']
185
+ },
186
+ {
187
+ id: 'sec-031',
188
+ name: 'Enforce HTTPS for External APIs',
189
+ description: 'Requires HTTPS for all external API communications',
190
+ type: 'security',
191
+ enabled: true,
192
+ priority: 930,
193
+ conditions: [
194
+ { field: 'actionCategory', operator: 'equals', value: 'external_api' },
195
+ { field: 'protocol', operator: 'not_equals', value: 'https' }
196
+ ],
197
+ conditionLogic: 'all',
198
+ actions: [
199
+ { type: 'deny', message: 'External API calls must use HTTPS' }
200
+ ],
201
+ riskWeight: 40,
202
+ tags: ['https', 'encryption', 'api']
203
+ },
204
+ // ============================================================================
205
+ // FILE SYSTEM SECURITY RULES
206
+ // ============================================================================
207
+ {
208
+ id: 'sec-040',
209
+ name: 'Block Access to System Files',
210
+ description: 'Prevents access to critical system files',
211
+ type: 'security',
212
+ enabled: true,
213
+ priority: 990,
214
+ conditions: [
215
+ { field: 'actionCategory', operator: 'equals', value: 'file_system' },
216
+ { field: 'filePath', operator: 'matches_regex', value: '^(/etc|/sys|/proc|C:\\\\Windows)' }
217
+ ],
218
+ conditionLogic: 'all',
219
+ actions: [
220
+ { type: 'deny', message: 'Access to system files is prohibited' }
221
+ ],
222
+ riskWeight: 60,
223
+ tags: ['file-system', 'system-files']
224
+ },
225
+ {
226
+ id: 'sec-041',
227
+ name: 'Require Approval for Config File Changes',
228
+ description: 'Requires approval for modifying configuration files',
229
+ type: 'security',
230
+ enabled: true,
231
+ priority: 880,
232
+ conditions: [
233
+ { field: 'actionCategory', operator: 'equals', value: 'file_system' },
234
+ { field: 'operation', operator: 'in', value: ['write', 'delete', 'modify'] },
235
+ { field: 'filePath', operator: 'matches_regex', value: '\\.(conf|config|yml|yaml|json|env)$' }
236
+ ],
237
+ conditionLogic: 'all',
238
+ actions: [
239
+ { type: 'require_approval', message: 'Configuration file changes require approval' }
240
+ ],
241
+ riskWeight: 30,
242
+ tags: ['configuration', 'file-system']
243
+ },
244
+ // ============================================================================
245
+ // INJECTION PREVENTION RULES
246
+ // ============================================================================
247
+ {
248
+ id: 'sec-050',
249
+ name: 'SQL Injection Prevention',
250
+ description: 'Detects and blocks SQL injection patterns',
251
+ type: 'security',
252
+ enabled: true,
253
+ priority: 1000,
254
+ conditions: [
255
+ { field: 'actionCategory', operator: 'equals', value: 'data_access' },
256
+ { field: 'query', operator: 'matches_regex', value: '(\\b(SELECT|INSERT|UPDATE|DELETE|DROP|UNION|OR|AND)\\b.*[\'";])|(--)|(\\*/)|(/\\*)' }
257
+ ],
258
+ conditionLogic: 'all',
259
+ actions: [
260
+ { type: 'deny', message: 'SQL injection pattern detected - action blocked' },
261
+ { type: 'notify', message: 'Security alert: SQL injection attempt detected' }
262
+ ],
263
+ riskWeight: 80,
264
+ tags: ['sql-injection', 'owasp']
265
+ },
266
+ {
267
+ id: 'sec-051',
268
+ name: 'Command Injection Prevention',
269
+ description: 'Detects and blocks command injection patterns',
270
+ type: 'security',
271
+ enabled: true,
272
+ priority: 1000,
273
+ conditions: [
274
+ { field: 'actionCategory', operator: 'equals', value: 'code_execution' },
275
+ { field: 'command', operator: 'matches_regex', value: '([;&|`$]|\\$\\(|\\{\\{)' }
276
+ ],
277
+ conditionLogic: 'all',
278
+ actions: [
279
+ { type: 'deny', message: 'Command injection pattern detected - action blocked' },
280
+ { type: 'notify', message: 'Security alert: Command injection attempt detected' }
281
+ ],
282
+ riskWeight: 80,
283
+ tags: ['command-injection', 'owasp']
284
+ }
285
+ ];
286
+ export default securityRules;
287
+ //# sourceMappingURL=security.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/rules/security.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Browser Storage Rules
3
+ * Governance rules for localStorage, sessionStorage, and IndexedDB
4
+ */
5
+ import type { BusinessRule } from '../types/index.js';
6
+ export declare const storageRules: BusinessRule[];
7
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +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"}