@trentapps/manager-protocol 1.1.2 → 1.2.0
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.
- package/README.md +29 -1
- package/dist/analyzers/CSSAnalyzer.d.ts +188 -8
- package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -1
- package/dist/analyzers/CSSAnalyzer.js +794 -192
- package/dist/analyzers/CSSAnalyzer.js.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/config/dashboard.d.ts +55 -0
- package/dist/config/dashboard.d.ts.map +1 -0
- package/dist/config/dashboard.js +103 -0
- package/dist/config/dashboard.js.map +1 -0
- package/dist/config/index.d.ts +7 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +7 -0
- package/dist/config/index.js.map +1 -0
- package/dist/dashboard/httpDashboard.d.ts +100 -0
- package/dist/dashboard/httpDashboard.d.ts.map +1 -0
- package/dist/dashboard/httpDashboard.js +1276 -0
- package/dist/dashboard/httpDashboard.js.map +1 -0
- package/dist/dashboard/index.d.ts +6 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +7 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/engine/AuditLogger.d.ts +370 -2
- package/dist/engine/AuditLogger.d.ts.map +1 -1
- package/dist/engine/AuditLogger.js +1067 -24
- package/dist/engine/AuditLogger.js.map +1 -1
- package/dist/engine/GitHubApprovalManager.d.ts +13 -0
- package/dist/engine/GitHubApprovalManager.d.ts.map +1 -1
- package/dist/engine/GitHubApprovalManager.js +72 -46
- package/dist/engine/GitHubApprovalManager.js.map +1 -1
- package/dist/engine/GitHubClient.d.ts +183 -0
- package/dist/engine/GitHubClient.d.ts.map +1 -0
- package/dist/engine/GitHubClient.js +411 -0
- package/dist/engine/GitHubClient.js.map +1 -0
- package/dist/engine/RateLimiter.d.ts +5 -3
- package/dist/engine/RateLimiter.d.ts.map +1 -1
- package/dist/engine/RateLimiter.js +53 -70
- package/dist/engine/RateLimiter.js.map +1 -1
- package/dist/engine/RuleDependencyAnalyzer.d.ts +73 -0
- package/dist/engine/RuleDependencyAnalyzer.d.ts.map +1 -0
- package/dist/engine/RuleDependencyAnalyzer.js +475 -0
- package/dist/engine/RuleDependencyAnalyzer.js.map +1 -0
- package/dist/engine/RulesEngine.d.ts +102 -3
- package/dist/engine/RulesEngine.d.ts.map +1 -1
- package/dist/engine/RulesEngine.js +326 -21
- package/dist/engine/RulesEngine.js.map +1 -1
- package/dist/engine/TaskManager.d.ts +11 -10
- package/dist/engine/TaskManager.d.ts.map +1 -1
- package/dist/engine/TaskManager.js +180 -195
- package/dist/engine/TaskManager.js.map +1 -1
- package/dist/engine/index.d.ts +3 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/index.js +5 -0
- package/dist/engine/index.js.map +1 -1
- package/dist/rules/azure.d.ts.map +1 -1
- package/dist/rules/azure.js +12 -14
- package/dist/rules/azure.js.map +1 -1
- package/dist/rules/compliance.d.ts.map +1 -1
- package/dist/rules/compliance.js +23 -41
- package/dist/rules/compliance.js.map +1 -1
- package/dist/rules/condition-optimizer.d.ts +151 -0
- package/dist/rules/condition-optimizer.d.ts.map +1 -0
- package/dist/rules/condition-optimizer.js +479 -0
- package/dist/rules/condition-optimizer.js.map +1 -0
- package/dist/rules/css.d.ts.map +1 -1
- package/dist/rules/css.js +538 -0
- package/dist/rules/css.js.map +1 -1
- package/dist/rules/field-standards.d.ts +1172 -0
- package/dist/rules/field-standards.d.ts.map +1 -0
- package/dist/rules/field-standards.js +908 -0
- package/dist/rules/field-standards.js.map +1 -0
- package/dist/rules/flask.d.ts.map +1 -1
- package/dist/rules/flask.js +18 -31
- package/dist/rules/flask.js.map +1 -1
- package/dist/rules/index.d.ts +220 -0
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +155 -0
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/ml-ai.d.ts.map +1 -1
- package/dist/rules/ml-ai.js +11 -13
- package/dist/rules/ml-ai.js.map +1 -1
- package/dist/rules/patterns.d.ts +568 -0
- package/dist/rules/patterns.d.ts.map +1 -0
- package/dist/rules/patterns.js +1359 -0
- package/dist/rules/patterns.js.map +1 -0
- package/dist/rules/security.d.ts.map +1 -1
- package/dist/rules/security.js +580 -19
- package/dist/rules/security.js.map +1 -1
- package/dist/rules/shared-patterns.d.ts +268 -0
- package/dist/rules/shared-patterns.d.ts.map +1 -0
- package/dist/rules/shared-patterns.js +556 -0
- package/dist/rules/shared-patterns.js.map +1 -0
- package/dist/rules/storage.d.ts +8 -2
- package/dist/rules/storage.d.ts.map +1 -1
- package/dist/rules/storage.js +541 -3
- package/dist/rules/storage.js.map +1 -1
- package/dist/rules/stripe.d.ts.map +1 -1
- package/dist/rules/stripe.js +19 -26
- package/dist/rules/stripe.js.map +1 -1
- package/dist/rules/websocket.d.ts.map +1 -1
- package/dist/rules/websocket.js +32 -40
- package/dist/rules/websocket.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +96 -17
- package/dist/server.js.map +1 -1
- package/dist/supervisor/AgentSupervisor.d.ts +52 -0
- package/dist/supervisor/AgentSupervisor.d.ts.map +1 -1
- package/dist/supervisor/AgentSupervisor.js +120 -1
- package/dist/supervisor/AgentSupervisor.js.map +1 -1
- package/dist/supervisor/ManagedServerRegistry.d.ts +139 -2
- package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -1
- package/dist/supervisor/ManagedServerRegistry.js +590 -6
- package/dist/supervisor/ManagedServerRegistry.js.map +1 -1
- package/dist/supervisor/ProjectTracker.d.ts +24 -2
- package/dist/supervisor/ProjectTracker.d.ts.map +1 -1
- package/dist/supervisor/ProjectTracker.js +151 -59
- package/dist/supervisor/ProjectTracker.js.map +1 -1
- package/dist/testing/index.d.ts +11 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +12 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/testing/rule-tester.d.ts +217 -0
- package/dist/testing/rule-tester.d.ts.map +1 -0
- package/dist/testing/rule-tester.examples.d.ts +57 -0
- package/dist/testing/rule-tester.examples.d.ts.map +1 -0
- package/dist/testing/rule-tester.examples.js +375 -0
- package/dist/testing/rule-tester.examples.js.map +1 -0
- package/dist/testing/rule-tester.js +381 -0
- package/dist/testing/rule-tester.js.map +1 -0
- package/dist/testing/rule-validator.d.ts +141 -0
- package/dist/testing/rule-validator.d.ts.map +1 -0
- package/dist/testing/rule-validator.js +640 -0
- package/dist/testing/rule-validator.js.map +1 -0
- package/dist/types/index.d.ts +265 -4
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +57 -2
- package/dist/types/index.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/rate-limiting.d.ts +268 -0
- package/dist/utils/rate-limiting.d.ts.map +1 -0
- package/dist/utils/rate-limiting.js +403 -0
- package/dist/utils/rate-limiting.js.map +1 -0
- package/dist/utils/shared.d.ts +306 -0
- package/dist/utils/shared.d.ts.map +1 -0
- package/dist/utils/shared.js +464 -0
- package/dist/utils/shared.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enterprise Agent Supervisor - Rule Pattern Builders
|
|
3
|
+
*
|
|
4
|
+
* Reusable pattern builders for creating common governance rules.
|
|
5
|
+
* These builders provide sensible defaults while allowing full customization.
|
|
6
|
+
*
|
|
7
|
+
* Task #31: Create Shared Library for Common Rule Patterns
|
|
8
|
+
*/
|
|
9
|
+
import type { BusinessRule, RuleCondition, RuleAction, BusinessRuleType, ActionCategory } from '../types/index.js';
|
|
10
|
+
/**
|
|
11
|
+
* Base options shared by all rule pattern builders
|
|
12
|
+
*/
|
|
13
|
+
export interface BaseRuleOptions {
|
|
14
|
+
/** Unique rule ID (required) */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Human-readable rule name (required) */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Rule description */
|
|
19
|
+
description?: string;
|
|
20
|
+
/** Whether rule is enabled (default: true) */
|
|
21
|
+
enabled?: boolean;
|
|
22
|
+
/** Rule priority 0-1000 (higher = evaluated first) */
|
|
23
|
+
priority?: number;
|
|
24
|
+
/** Risk weight 0-100 for risk score calculation */
|
|
25
|
+
riskWeight?: number;
|
|
26
|
+
/** Tags for categorization and filtering */
|
|
27
|
+
tags?: string[];
|
|
28
|
+
/** Additional conditions to add */
|
|
29
|
+
additionalConditions?: RuleCondition[];
|
|
30
|
+
/** Override default actions */
|
|
31
|
+
overrideActions?: RuleAction[];
|
|
32
|
+
/** Additional actions to append */
|
|
33
|
+
additionalActions?: RuleAction[];
|
|
34
|
+
/** Condition logic: 'all' (AND) or 'any' (OR) */
|
|
35
|
+
conditionLogic?: 'all' | 'any';
|
|
36
|
+
/** Additional metadata */
|
|
37
|
+
metadata?: Record<string, unknown>;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Options for authentication rules
|
|
41
|
+
*/
|
|
42
|
+
export interface AuthenticationRuleOptions extends BaseRuleOptions {
|
|
43
|
+
/** Action categories requiring authentication (default: ['external_api']) */
|
|
44
|
+
categories?: ActionCategory[];
|
|
45
|
+
/** Field to check for auth token (default: 'authToken') */
|
|
46
|
+
authTokenField?: string;
|
|
47
|
+
/** Require specific auth types (e.g., 'bearer', 'api_key', 'oauth') */
|
|
48
|
+
requiredAuthTypes?: string[];
|
|
49
|
+
/** Allow unauthenticated in specific environments */
|
|
50
|
+
allowUnauthenticatedIn?: ('development' | 'staging' | 'production')[];
|
|
51
|
+
/** Action on failure: 'deny' | 'require_approval' | 'warn' */
|
|
52
|
+
failureAction?: 'deny' | 'require_approval' | 'warn';
|
|
53
|
+
/** Custom failure message */
|
|
54
|
+
failureMessage?: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Options for data access rules
|
|
58
|
+
*/
|
|
59
|
+
export interface DataAccessRuleOptions extends BaseRuleOptions {
|
|
60
|
+
/** Data classification levels that trigger the rule */
|
|
61
|
+
dataClassifications?: ('public' | 'internal' | 'confidential' | 'restricted')[];
|
|
62
|
+
/** Data types that trigger the rule (e.g., 'pii', 'phi', 'cardholder') */
|
|
63
|
+
dataTypes?: string[];
|
|
64
|
+
/** Roles allowed to access (if empty, all roles blocked) */
|
|
65
|
+
allowedRoles?: string[];
|
|
66
|
+
/** Require justification for access */
|
|
67
|
+
requireJustification?: boolean;
|
|
68
|
+
/** Maximum record count before approval required */
|
|
69
|
+
bulkThreshold?: number;
|
|
70
|
+
/** Require encryption for access */
|
|
71
|
+
requireEncryption?: boolean;
|
|
72
|
+
/** Action on unauthorized access: 'deny' | 'require_approval' | 'warn' */
|
|
73
|
+
unauthorizedAction?: 'deny' | 'require_approval' | 'warn';
|
|
74
|
+
/** Custom message for unauthorized access */
|
|
75
|
+
unauthorizedMessage?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Options for rate limit rules
|
|
79
|
+
*/
|
|
80
|
+
export interface RateLimitRuleOptions extends BaseRuleOptions {
|
|
81
|
+
/** Action categories to rate limit */
|
|
82
|
+
categories?: ActionCategory[];
|
|
83
|
+
/** Action names to rate limit (partial match) */
|
|
84
|
+
actionNames?: string[];
|
|
85
|
+
/** Maximum requests in window */
|
|
86
|
+
maxRequests: number;
|
|
87
|
+
/** Window duration in milliseconds */
|
|
88
|
+
windowMs: number;
|
|
89
|
+
/** Burst limit (temporary spike allowance) */
|
|
90
|
+
burstLimit?: number;
|
|
91
|
+
/** Scope: 'global' | 'agent' | 'session' | 'user' */
|
|
92
|
+
scope?: 'global' | 'agent' | 'session' | 'user';
|
|
93
|
+
/** Custom rate limit exceeded message */
|
|
94
|
+
rateLimitMessage?: string;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Options for compliance rules
|
|
98
|
+
*/
|
|
99
|
+
export interface ComplianceRuleOptions extends BaseRuleOptions {
|
|
100
|
+
/** Require data retention check */
|
|
101
|
+
checkRetention?: boolean;
|
|
102
|
+
/** Require consent verification */
|
|
103
|
+
checkConsent?: boolean;
|
|
104
|
+
/** Require geographic restrictions */
|
|
105
|
+
allowedRegions?: string[];
|
|
106
|
+
/** Require audit logging */
|
|
107
|
+
requireAuditLog?: boolean;
|
|
108
|
+
/** Require encryption */
|
|
109
|
+
requireEncryption?: boolean;
|
|
110
|
+
/** Data types covered */
|
|
111
|
+
dataTypes?: string[];
|
|
112
|
+
/** Specific compliance requirements */
|
|
113
|
+
requirements?: {
|
|
114
|
+
/** Require identity verification */
|
|
115
|
+
identityVerification?: boolean;
|
|
116
|
+
/** Require business justification */
|
|
117
|
+
businessJustification?: boolean;
|
|
118
|
+
/** Require dual approval */
|
|
119
|
+
dualApproval?: boolean;
|
|
120
|
+
/** Minimum data fields allowed */
|
|
121
|
+
minimumNecessary?: number;
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Options for environment-specific rules
|
|
126
|
+
*/
|
|
127
|
+
export interface EnvironmentRuleOptions extends BaseRuleOptions {
|
|
128
|
+
/** Target environments */
|
|
129
|
+
environments: ('development' | 'staging' | 'production')[];
|
|
130
|
+
/** Action categories affected */
|
|
131
|
+
categories?: ActionCategory[];
|
|
132
|
+
/** Action names affected (partial match) */
|
|
133
|
+
actionNames?: string[];
|
|
134
|
+
/** Require approval in target environments */
|
|
135
|
+
requireApproval?: boolean;
|
|
136
|
+
/** Block entirely in target environments */
|
|
137
|
+
blockInEnvironments?: boolean;
|
|
138
|
+
/** Require feature flag */
|
|
139
|
+
requireFeatureFlag?: boolean;
|
|
140
|
+
/** Require rollback plan */
|
|
141
|
+
requireRollbackPlan?: boolean;
|
|
142
|
+
/** Custom message */
|
|
143
|
+
message?: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Options for security rules
|
|
147
|
+
*/
|
|
148
|
+
export interface SecurityRuleOptions extends BaseRuleOptions {
|
|
149
|
+
/** Pattern type to detect */
|
|
150
|
+
patternType?: 'sql_injection' | 'command_injection' | 'xss' | 'path_traversal' | 'custom';
|
|
151
|
+
/** Custom regex pattern for detection */
|
|
152
|
+
customPattern?: string;
|
|
153
|
+
/** Field to check for pattern */
|
|
154
|
+
patternField?: string;
|
|
155
|
+
/** Require sandboxing */
|
|
156
|
+
requireSandbox?: boolean;
|
|
157
|
+
/** Require code validation */
|
|
158
|
+
requireCodeValidation?: boolean;
|
|
159
|
+
/** Block system file access */
|
|
160
|
+
blockSystemFiles?: boolean;
|
|
161
|
+
/** System file paths pattern */
|
|
162
|
+
systemFilesPattern?: string;
|
|
163
|
+
/** Action on detection: 'deny' | 'require_approval' | 'warn' */
|
|
164
|
+
detectionAction?: 'deny' | 'require_approval' | 'warn';
|
|
165
|
+
/** Send security notification */
|
|
166
|
+
sendNotification?: boolean;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Options for operational rules
|
|
170
|
+
*/
|
|
171
|
+
export interface OperationalRuleOptions extends BaseRuleOptions {
|
|
172
|
+
/** Cost threshold for approval */
|
|
173
|
+
costThreshold?: number;
|
|
174
|
+
/** Memory threshold (MB) for warning */
|
|
175
|
+
memoryThreshold?: number;
|
|
176
|
+
/** Token count threshold for LLM operations */
|
|
177
|
+
tokenThreshold?: number;
|
|
178
|
+
/** Daily budget limit */
|
|
179
|
+
dailyBudget?: number;
|
|
180
|
+
/** Retry limit */
|
|
181
|
+
maxRetries?: number;
|
|
182
|
+
/** Session action limit */
|
|
183
|
+
sessionActionLimit?: number;
|
|
184
|
+
/** Require backup verification for destructive ops */
|
|
185
|
+
requireBackupVerification?: boolean;
|
|
186
|
+
/** Enforce deployment windows */
|
|
187
|
+
enforceDeploymentWindow?: boolean;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Generate a unique rule ID with prefix
|
|
191
|
+
*/
|
|
192
|
+
export declare function generateRuleId(prefix: string, suffix?: string): string;
|
|
193
|
+
/**
|
|
194
|
+
* Create an authentication rule
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* const apiAuthRule = createAuthenticationRule({
|
|
199
|
+
* id: 'auth-api-001',
|
|
200
|
+
* name: 'Require API Authentication',
|
|
201
|
+
* categories: ['external_api', 'data_access'],
|
|
202
|
+
* requiredAuthTypes: ['bearer', 'api_key'],
|
|
203
|
+
* failureAction: 'deny'
|
|
204
|
+
* });
|
|
205
|
+
* ```
|
|
206
|
+
*/
|
|
207
|
+
export declare function createAuthenticationRule(options: AuthenticationRuleOptions): BusinessRule;
|
|
208
|
+
/**
|
|
209
|
+
* Create a data access rule
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* const piiAccessRule = createDataAccessRule({
|
|
214
|
+
* id: 'data-pii-001',
|
|
215
|
+
* name: 'Restrict PII Access',
|
|
216
|
+
* dataTypes: ['pii', 'ssn', 'email'],
|
|
217
|
+
* allowedRoles: ['admin', 'data_officer'],
|
|
218
|
+
* requireJustification: true,
|
|
219
|
+
* bulkThreshold: 100
|
|
220
|
+
* });
|
|
221
|
+
* ```
|
|
222
|
+
*/
|
|
223
|
+
export declare function createDataAccessRule(options: DataAccessRuleOptions): BusinessRule;
|
|
224
|
+
/**
|
|
225
|
+
* Create a bulk data access rule (separate from basic data access)
|
|
226
|
+
*
|
|
227
|
+
* @example
|
|
228
|
+
* ```typescript
|
|
229
|
+
* const bulkExportRule = createBulkDataAccessRule({
|
|
230
|
+
* id: 'data-bulk-001',
|
|
231
|
+
* name: 'Bulk Export Approval',
|
|
232
|
+
* bulkThreshold: 1000,
|
|
233
|
+
* requireApproval: true
|
|
234
|
+
* });
|
|
235
|
+
* ```
|
|
236
|
+
*/
|
|
237
|
+
export declare function createBulkDataAccessRule(options: DataAccessRuleOptions & {
|
|
238
|
+
bulkThreshold: number;
|
|
239
|
+
}): BusinessRule;
|
|
240
|
+
/**
|
|
241
|
+
* Create a rate limit rule
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```typescript
|
|
245
|
+
* const apiRateLimitRule = createRateLimitRule({
|
|
246
|
+
* id: 'rate-api-001',
|
|
247
|
+
* name: 'API Rate Limit',
|
|
248
|
+
* categories: ['external_api'],
|
|
249
|
+
* maxRequests: 100,
|
|
250
|
+
* windowMs: 60000,
|
|
251
|
+
* scope: 'agent'
|
|
252
|
+
* });
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
export declare function createRateLimitRule(options: RateLimitRuleOptions): BusinessRule;
|
|
256
|
+
/**
|
|
257
|
+
* Compliance framework definitions
|
|
258
|
+
*/
|
|
259
|
+
export declare const COMPLIANCE_FRAMEWORKS: {
|
|
260
|
+
readonly gdpr: {
|
|
261
|
+
readonly name: "GDPR";
|
|
262
|
+
readonly fullName: "General Data Protection Regulation";
|
|
263
|
+
readonly tags: readonly ["gdpr", "privacy", "eu"];
|
|
264
|
+
readonly defaultPriority: 920;
|
|
265
|
+
readonly defaultRiskWeight: 45;
|
|
266
|
+
};
|
|
267
|
+
readonly hipaa: {
|
|
268
|
+
readonly name: "HIPAA";
|
|
269
|
+
readonly fullName: "Health Insurance Portability and Accountability Act";
|
|
270
|
+
readonly tags: readonly ["hipaa", "phi", "healthcare"];
|
|
271
|
+
readonly defaultPriority: 950;
|
|
272
|
+
readonly defaultRiskWeight: 55;
|
|
273
|
+
};
|
|
274
|
+
readonly 'pci-dss': {
|
|
275
|
+
readonly name: "PCI-DSS";
|
|
276
|
+
readonly fullName: "Payment Card Industry Data Security Standard";
|
|
277
|
+
readonly tags: readonly ["pci-dss", "cardholder-data", "financial"];
|
|
278
|
+
readonly defaultPriority: 970;
|
|
279
|
+
readonly defaultRiskWeight: 60;
|
|
280
|
+
};
|
|
281
|
+
readonly sox: {
|
|
282
|
+
readonly name: "SOX";
|
|
283
|
+
readonly fullName: "Sarbanes-Oxley Act";
|
|
284
|
+
readonly tags: readonly ["sox", "financial", "audit"];
|
|
285
|
+
readonly defaultPriority: 940;
|
|
286
|
+
readonly defaultRiskWeight: 50;
|
|
287
|
+
};
|
|
288
|
+
readonly soc2: {
|
|
289
|
+
readonly name: "SOC2";
|
|
290
|
+
readonly fullName: "Service Organization Control 2";
|
|
291
|
+
readonly tags: readonly ["soc2", "security", "trust"];
|
|
292
|
+
readonly defaultPriority: 900;
|
|
293
|
+
readonly defaultRiskWeight: 40;
|
|
294
|
+
};
|
|
295
|
+
readonly ccpa: {
|
|
296
|
+
readonly name: "CCPA";
|
|
297
|
+
readonly fullName: "California Consumer Privacy Act";
|
|
298
|
+
readonly tags: readonly ["ccpa", "privacy", "california"];
|
|
299
|
+
readonly defaultPriority: 910;
|
|
300
|
+
readonly defaultRiskWeight: 40;
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
export type ComplianceFramework = keyof typeof COMPLIANCE_FRAMEWORKS;
|
|
304
|
+
/**
|
|
305
|
+
* Create a compliance rule for a specific framework
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* ```typescript
|
|
309
|
+
* const gdprConsentRule = createComplianceRule('gdpr', {
|
|
310
|
+
* id: 'gdpr-consent-001',
|
|
311
|
+
* name: 'GDPR Consent Verification',
|
|
312
|
+
* checkConsent: true,
|
|
313
|
+
* dataTypes: ['pii', 'email', 'name']
|
|
314
|
+
* });
|
|
315
|
+
*
|
|
316
|
+
* const hipaaPhiRule = createComplianceRule('hipaa', {
|
|
317
|
+
* id: 'hipaa-phi-001',
|
|
318
|
+
* name: 'HIPAA PHI Protection',
|
|
319
|
+
* dataTypes: ['phi'],
|
|
320
|
+
* requireEncryption: true,
|
|
321
|
+
* requirements: { minimumNecessary: 10 }
|
|
322
|
+
* });
|
|
323
|
+
* ```
|
|
324
|
+
*/
|
|
325
|
+
export declare function createComplianceRule(framework: ComplianceFramework, options: ComplianceRuleOptions): BusinessRule;
|
|
326
|
+
/**
|
|
327
|
+
* Create an environment-specific rule
|
|
328
|
+
*
|
|
329
|
+
* @example
|
|
330
|
+
* ```typescript
|
|
331
|
+
* const prodDeployRule = createEnvironmentRule('production', {
|
|
332
|
+
* id: 'env-prod-001',
|
|
333
|
+
* name: 'Production Deployment Control',
|
|
334
|
+
* environments: ['production'],
|
|
335
|
+
* actionNames: ['deploy', 'release'],
|
|
336
|
+
* requireApproval: true,
|
|
337
|
+
* requireRollbackPlan: true
|
|
338
|
+
* });
|
|
339
|
+
*
|
|
340
|
+
* const devRelaxedRule = createEnvironmentRule('development', {
|
|
341
|
+
* id: 'env-dev-001',
|
|
342
|
+
* name: 'Development Mode - Relaxed',
|
|
343
|
+
* environments: ['development'],
|
|
344
|
+
* categories: ['code_execution'],
|
|
345
|
+
* blockInEnvironments: false,
|
|
346
|
+
* message: 'Development mode - operation allowed'
|
|
347
|
+
* });
|
|
348
|
+
* ```
|
|
349
|
+
*/
|
|
350
|
+
export declare function createEnvironmentRule(targetEnv: 'development' | 'staging' | 'production' | 'all', options: EnvironmentRuleOptions): BusinessRule;
|
|
351
|
+
/**
|
|
352
|
+
* Injection pattern definitions
|
|
353
|
+
*/
|
|
354
|
+
export declare const INJECTION_PATTERNS: {
|
|
355
|
+
readonly sql_injection: {
|
|
356
|
+
readonly pattern: "(\\b(SELECT|INSERT|UPDATE|DELETE|DROP|UNION|OR|AND)\\b.*['\";])|(--)|(\\*/)|(/\\*)";
|
|
357
|
+
readonly description: "SQL injection detection";
|
|
358
|
+
readonly tags: readonly ["sql-injection", "owasp"];
|
|
359
|
+
};
|
|
360
|
+
readonly command_injection: {
|
|
361
|
+
readonly pattern: "([;&|`$]|\\$\\(|\\{\\{)";
|
|
362
|
+
readonly description: "Command injection detection";
|
|
363
|
+
readonly tags: readonly ["command-injection", "owasp"];
|
|
364
|
+
};
|
|
365
|
+
readonly xss: {
|
|
366
|
+
readonly pattern: "(<script|javascript:|on\\w+\\s*=|<img.*onerror)";
|
|
367
|
+
readonly description: "Cross-site scripting detection";
|
|
368
|
+
readonly tags: readonly ["xss", "owasp"];
|
|
369
|
+
};
|
|
370
|
+
readonly path_traversal: {
|
|
371
|
+
readonly pattern: "(\\.\\./|\\.\\.\\\\|%2e%2e%2f|%252e%252e%252f)";
|
|
372
|
+
readonly description: "Path traversal detection";
|
|
373
|
+
readonly tags: readonly ["path-traversal", "owasp"];
|
|
374
|
+
};
|
|
375
|
+
};
|
|
376
|
+
/**
|
|
377
|
+
* Create a security rule
|
|
378
|
+
*
|
|
379
|
+
* @example
|
|
380
|
+
* ```typescript
|
|
381
|
+
* const sqlInjectionRule = createSecurityRule({
|
|
382
|
+
* id: 'sec-sql-001',
|
|
383
|
+
* name: 'SQL Injection Prevention',
|
|
384
|
+
* patternType: 'sql_injection',
|
|
385
|
+
* patternField: 'query',
|
|
386
|
+
* detectionAction: 'deny',
|
|
387
|
+
* sendNotification: true
|
|
388
|
+
* });
|
|
389
|
+
*
|
|
390
|
+
* const sandboxRule = createSecurityRule({
|
|
391
|
+
* id: 'sec-sandbox-001',
|
|
392
|
+
* name: 'Require Sandbox for Code',
|
|
393
|
+
* requireSandbox: true,
|
|
394
|
+
* detectionAction: 'deny'
|
|
395
|
+
* });
|
|
396
|
+
* ```
|
|
397
|
+
*/
|
|
398
|
+
export declare function createSecurityRule(options: SecurityRuleOptions): BusinessRule;
|
|
399
|
+
/**
|
|
400
|
+
* Create an operational rule
|
|
401
|
+
*
|
|
402
|
+
* @example
|
|
403
|
+
* ```typescript
|
|
404
|
+
* const costControlRule = createOperationalRule({
|
|
405
|
+
* id: 'ops-cost-001',
|
|
406
|
+
* name: 'API Cost Control',
|
|
407
|
+
* costThreshold: 50,
|
|
408
|
+
* categories: ['external_api']
|
|
409
|
+
* });
|
|
410
|
+
*
|
|
411
|
+
* const resourceLimitRule = createOperationalRule({
|
|
412
|
+
* id: 'ops-resource-001',
|
|
413
|
+
* name: 'Memory Usage Warning',
|
|
414
|
+
* memoryThreshold: 1024,
|
|
415
|
+
* tokenThreshold: 100000
|
|
416
|
+
* });
|
|
417
|
+
* ```
|
|
418
|
+
*/
|
|
419
|
+
export declare function createOperationalRule(options: OperationalRuleOptions): BusinessRule;
|
|
420
|
+
/**
|
|
421
|
+
* Create a simple deny rule
|
|
422
|
+
*/
|
|
423
|
+
export declare function createDenyRule(options: {
|
|
424
|
+
id: string;
|
|
425
|
+
name: string;
|
|
426
|
+
conditions: RuleCondition[];
|
|
427
|
+
message: string;
|
|
428
|
+
priority?: number;
|
|
429
|
+
riskWeight?: number;
|
|
430
|
+
tags?: string[];
|
|
431
|
+
type?: BusinessRuleType;
|
|
432
|
+
}): BusinessRule;
|
|
433
|
+
/**
|
|
434
|
+
* Create a simple approval rule
|
|
435
|
+
*/
|
|
436
|
+
export declare function createApprovalRule(options: {
|
|
437
|
+
id: string;
|
|
438
|
+
name: string;
|
|
439
|
+
conditions: RuleCondition[];
|
|
440
|
+
message: string;
|
|
441
|
+
priority?: number;
|
|
442
|
+
riskWeight?: number;
|
|
443
|
+
tags?: string[];
|
|
444
|
+
type?: BusinessRuleType;
|
|
445
|
+
}): BusinessRule;
|
|
446
|
+
/**
|
|
447
|
+
* Create a simple warning rule
|
|
448
|
+
*/
|
|
449
|
+
export declare function createWarningRule(options: {
|
|
450
|
+
id: string;
|
|
451
|
+
name: string;
|
|
452
|
+
conditions: RuleCondition[];
|
|
453
|
+
message: string;
|
|
454
|
+
priority?: number;
|
|
455
|
+
riskWeight?: number;
|
|
456
|
+
tags?: string[];
|
|
457
|
+
type?: BusinessRuleType;
|
|
458
|
+
}): BusinessRule;
|
|
459
|
+
/**
|
|
460
|
+
* Create an audit-only rule (logs without blocking)
|
|
461
|
+
*/
|
|
462
|
+
export declare function createAuditRule(options: {
|
|
463
|
+
id: string;
|
|
464
|
+
name: string;
|
|
465
|
+
conditions: RuleCondition[];
|
|
466
|
+
priority?: number;
|
|
467
|
+
tags?: string[];
|
|
468
|
+
}): BusinessRule;
|
|
469
|
+
/**
|
|
470
|
+
* Create a complete rule set for a compliance framework
|
|
471
|
+
*/
|
|
472
|
+
export declare function createComplianceRuleSet(framework: ComplianceFramework, baseId: string, options?: {
|
|
473
|
+
enabled?: boolean;
|
|
474
|
+
priorityOffset?: number;
|
|
475
|
+
}): BusinessRule[];
|
|
476
|
+
/**
|
|
477
|
+
* Create a complete security rule set
|
|
478
|
+
*/
|
|
479
|
+
export declare function createSecurityRuleSet(baseId: string, options?: {
|
|
480
|
+
enabled?: boolean;
|
|
481
|
+
includeInjectionPrevention?: boolean;
|
|
482
|
+
includeSandboxing?: boolean;
|
|
483
|
+
includeSystemFileProtection?: boolean;
|
|
484
|
+
}): BusinessRule[];
|
|
485
|
+
declare const _default: {
|
|
486
|
+
createAuthenticationRule: typeof createAuthenticationRule;
|
|
487
|
+
createDataAccessRule: typeof createDataAccessRule;
|
|
488
|
+
createBulkDataAccessRule: typeof createBulkDataAccessRule;
|
|
489
|
+
createRateLimitRule: typeof createRateLimitRule;
|
|
490
|
+
createComplianceRule: typeof createComplianceRule;
|
|
491
|
+
createEnvironmentRule: typeof createEnvironmentRule;
|
|
492
|
+
createSecurityRule: typeof createSecurityRule;
|
|
493
|
+
createOperationalRule: typeof createOperationalRule;
|
|
494
|
+
createDenyRule: typeof createDenyRule;
|
|
495
|
+
createApprovalRule: typeof createApprovalRule;
|
|
496
|
+
createWarningRule: typeof createWarningRule;
|
|
497
|
+
createAuditRule: typeof createAuditRule;
|
|
498
|
+
createComplianceRuleSet: typeof createComplianceRuleSet;
|
|
499
|
+
createSecurityRuleSet: typeof createSecurityRuleSet;
|
|
500
|
+
COMPLIANCE_FRAMEWORKS: {
|
|
501
|
+
readonly gdpr: {
|
|
502
|
+
readonly name: "GDPR";
|
|
503
|
+
readonly fullName: "General Data Protection Regulation";
|
|
504
|
+
readonly tags: readonly ["gdpr", "privacy", "eu"];
|
|
505
|
+
readonly defaultPriority: 920;
|
|
506
|
+
readonly defaultRiskWeight: 45;
|
|
507
|
+
};
|
|
508
|
+
readonly hipaa: {
|
|
509
|
+
readonly name: "HIPAA";
|
|
510
|
+
readonly fullName: "Health Insurance Portability and Accountability Act";
|
|
511
|
+
readonly tags: readonly ["hipaa", "phi", "healthcare"];
|
|
512
|
+
readonly defaultPriority: 950;
|
|
513
|
+
readonly defaultRiskWeight: 55;
|
|
514
|
+
};
|
|
515
|
+
readonly 'pci-dss': {
|
|
516
|
+
readonly name: "PCI-DSS";
|
|
517
|
+
readonly fullName: "Payment Card Industry Data Security Standard";
|
|
518
|
+
readonly tags: readonly ["pci-dss", "cardholder-data", "financial"];
|
|
519
|
+
readonly defaultPriority: 970;
|
|
520
|
+
readonly defaultRiskWeight: 60;
|
|
521
|
+
};
|
|
522
|
+
readonly sox: {
|
|
523
|
+
readonly name: "SOX";
|
|
524
|
+
readonly fullName: "Sarbanes-Oxley Act";
|
|
525
|
+
readonly tags: readonly ["sox", "financial", "audit"];
|
|
526
|
+
readonly defaultPriority: 940;
|
|
527
|
+
readonly defaultRiskWeight: 50;
|
|
528
|
+
};
|
|
529
|
+
readonly soc2: {
|
|
530
|
+
readonly name: "SOC2";
|
|
531
|
+
readonly fullName: "Service Organization Control 2";
|
|
532
|
+
readonly tags: readonly ["soc2", "security", "trust"];
|
|
533
|
+
readonly defaultPriority: 900;
|
|
534
|
+
readonly defaultRiskWeight: 40;
|
|
535
|
+
};
|
|
536
|
+
readonly ccpa: {
|
|
537
|
+
readonly name: "CCPA";
|
|
538
|
+
readonly fullName: "California Consumer Privacy Act";
|
|
539
|
+
readonly tags: readonly ["ccpa", "privacy", "california"];
|
|
540
|
+
readonly defaultPriority: 910;
|
|
541
|
+
readonly defaultRiskWeight: 40;
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
INJECTION_PATTERNS: {
|
|
545
|
+
readonly sql_injection: {
|
|
546
|
+
readonly pattern: "(\\b(SELECT|INSERT|UPDATE|DELETE|DROP|UNION|OR|AND)\\b.*['\";])|(--)|(\\*/)|(/\\*)";
|
|
547
|
+
readonly description: "SQL injection detection";
|
|
548
|
+
readonly tags: readonly ["sql-injection", "owasp"];
|
|
549
|
+
};
|
|
550
|
+
readonly command_injection: {
|
|
551
|
+
readonly pattern: "([;&|`$]|\\$\\(|\\{\\{)";
|
|
552
|
+
readonly description: "Command injection detection";
|
|
553
|
+
readonly tags: readonly ["command-injection", "owasp"];
|
|
554
|
+
};
|
|
555
|
+
readonly xss: {
|
|
556
|
+
readonly pattern: "(<script|javascript:|on\\w+\\s*=|<img.*onerror)";
|
|
557
|
+
readonly description: "Cross-site scripting detection";
|
|
558
|
+
readonly tags: readonly ["xss", "owasp"];
|
|
559
|
+
};
|
|
560
|
+
readonly path_traversal: {
|
|
561
|
+
readonly pattern: "(\\.\\./|\\.\\.\\\\|%2e%2e%2f|%252e%252e%252f)";
|
|
562
|
+
readonly description: "Path traversal detection";
|
|
563
|
+
readonly tags: readonly ["path-traversal", "owasp"];
|
|
564
|
+
};
|
|
565
|
+
};
|
|
566
|
+
};
|
|
567
|
+
export default _default;
|
|
568
|
+
//# sourceMappingURL=patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.d.ts","sourceRoot":"","sources":["../../src/rules/patterns.ts"],"names":[],"mappings":"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"}
|