@trentapps/manager-protocol 1.3.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.
Files changed (195) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +639 -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 +284 -0
  8. package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -0
  9. package/dist/analyzers/CSSAnalyzer.js +1180 -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/AuditLogger.d.ts +506 -0
  28. package/dist/engine/AuditLogger.d.ts.map +1 -0
  29. package/dist/engine/AuditLogger.js +1491 -0
  30. package/dist/engine/AuditLogger.js.map +1 -0
  31. package/dist/engine/GitHubApprovalManager.d.ts +123 -0
  32. package/dist/engine/GitHubApprovalManager.d.ts.map +1 -0
  33. package/dist/engine/GitHubApprovalManager.js +347 -0
  34. package/dist/engine/GitHubApprovalManager.js.map +1 -0
  35. package/dist/engine/GitHubClient.d.ts +183 -0
  36. package/dist/engine/GitHubClient.d.ts.map +1 -0
  37. package/dist/engine/GitHubClient.js +411 -0
  38. package/dist/engine/GitHubClient.js.map +1 -0
  39. package/dist/engine/RateLimiter.d.ts +81 -0
  40. package/dist/engine/RateLimiter.d.ts.map +1 -0
  41. package/dist/engine/RateLimiter.js +215 -0
  42. package/dist/engine/RateLimiter.js.map +1 -0
  43. package/dist/engine/RuleDependencyAnalyzer.d.ts +73 -0
  44. package/dist/engine/RuleDependencyAnalyzer.d.ts.map +1 -0
  45. package/dist/engine/RuleDependencyAnalyzer.js +475 -0
  46. package/dist/engine/RuleDependencyAnalyzer.js.map +1 -0
  47. package/dist/engine/RulesEngine.d.ts +176 -0
  48. package/dist/engine/RulesEngine.d.ts.map +1 -0
  49. package/dist/engine/RulesEngine.js +705 -0
  50. package/dist/engine/RulesEngine.js.map +1 -0
  51. package/dist/engine/TaskManager.d.ts +174 -0
  52. package/dist/engine/TaskManager.d.ts.map +1 -0
  53. package/dist/engine/TaskManager.js +663 -0
  54. package/dist/engine/TaskManager.js.map +1 -0
  55. package/dist/engine/index.d.ts +11 -0
  56. package/dist/engine/index.d.ts.map +1 -0
  57. package/dist/engine/index.js +13 -0
  58. package/dist/engine/index.js.map +1 -0
  59. package/dist/index.d.ts +21 -0
  60. package/dist/index.d.ts.map +1 -0
  61. package/dist/index.js +29 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/rules/architecture.d.ts +9 -0
  64. package/dist/rules/architecture.d.ts.map +1 -0
  65. package/dist/rules/architecture.js +322 -0
  66. package/dist/rules/architecture.js.map +1 -0
  67. package/dist/rules/azure.d.ts +7 -0
  68. package/dist/rules/azure.d.ts.map +1 -0
  69. package/dist/rules/azure.js +136 -0
  70. package/dist/rules/azure.js.map +1 -0
  71. package/dist/rules/compliance.d.ts +9 -0
  72. package/dist/rules/compliance.d.ts.map +1 -0
  73. package/dist/rules/compliance.js +286 -0
  74. package/dist/rules/compliance.js.map +1 -0
  75. package/dist/rules/condition-optimizer.d.ts +151 -0
  76. package/dist/rules/condition-optimizer.d.ts.map +1 -0
  77. package/dist/rules/condition-optimizer.js +479 -0
  78. package/dist/rules/condition-optimizer.js.map +1 -0
  79. package/dist/rules/css.d.ts +10 -0
  80. package/dist/rules/css.d.ts.map +1 -0
  81. package/dist/rules/css.js +1777 -0
  82. package/dist/rules/css.js.map +1 -0
  83. package/dist/rules/field-standards.d.ts +1172 -0
  84. package/dist/rules/field-standards.d.ts.map +1 -0
  85. package/dist/rules/field-standards.js +908 -0
  86. package/dist/rules/field-standards.js.map +1 -0
  87. package/dist/rules/flask.d.ts +7 -0
  88. package/dist/rules/flask.d.ts.map +1 -0
  89. package/dist/rules/flask.js +142 -0
  90. package/dist/rules/flask.js.map +1 -0
  91. package/dist/rules/index.d.ts +827 -0
  92. package/dist/rules/index.d.ts.map +1 -0
  93. package/dist/rules/index.js +556 -0
  94. package/dist/rules/index.js.map +1 -0
  95. package/dist/rules/ml-ai.d.ts +7 -0
  96. package/dist/rules/ml-ai.d.ts.map +1 -0
  97. package/dist/rules/ml-ai.js +148 -0
  98. package/dist/rules/ml-ai.js.map +1 -0
  99. package/dist/rules/operational.d.ts +9 -0
  100. package/dist/rules/operational.d.ts.map +1 -0
  101. package/dist/rules/operational.js +318 -0
  102. package/dist/rules/operational.js.map +1 -0
  103. package/dist/rules/patterns.d.ts +568 -0
  104. package/dist/rules/patterns.d.ts.map +1 -0
  105. package/dist/rules/patterns.js +1359 -0
  106. package/dist/rules/patterns.js.map +1 -0
  107. package/dist/rules/security.d.ts +9 -0
  108. package/dist/rules/security.d.ts.map +1 -0
  109. package/dist/rules/security.js +848 -0
  110. package/dist/rules/security.js.map +1 -0
  111. package/dist/rules/shared-patterns.d.ts +268 -0
  112. package/dist/rules/shared-patterns.d.ts.map +1 -0
  113. package/dist/rules/shared-patterns.js +556 -0
  114. package/dist/rules/shared-patterns.js.map +1 -0
  115. package/dist/rules/storage.d.ts +13 -0
  116. package/dist/rules/storage.d.ts.map +1 -0
  117. package/dist/rules/storage.js +672 -0
  118. package/dist/rules/storage.js.map +1 -0
  119. package/dist/rules/stripe.d.ts +7 -0
  120. package/dist/rules/stripe.d.ts.map +1 -0
  121. package/dist/rules/stripe.js +133 -0
  122. package/dist/rules/stripe.js.map +1 -0
  123. package/dist/rules/testing.d.ts +7 -0
  124. package/dist/rules/testing.d.ts.map +1 -0
  125. package/dist/rules/testing.js +135 -0
  126. package/dist/rules/testing.js.map +1 -0
  127. package/dist/rules/ux.d.ts +9 -0
  128. package/dist/rules/ux.d.ts.map +1 -0
  129. package/dist/rules/ux.js +280 -0
  130. package/dist/rules/ux.js.map +1 -0
  131. package/dist/rules/websocket.d.ts +7 -0
  132. package/dist/rules/websocket.d.ts.map +1 -0
  133. package/dist/rules/websocket.js +128 -0
  134. package/dist/rules/websocket.js.map +1 -0
  135. package/dist/server.d.ts +43 -0
  136. package/dist/server.d.ts.map +1 -0
  137. package/dist/server.js +1967 -0
  138. package/dist/server.js.map +1 -0
  139. package/dist/supervisor/AgentSupervisor.d.ts +195 -0
  140. package/dist/supervisor/AgentSupervisor.d.ts.map +1 -0
  141. package/dist/supervisor/AgentSupervisor.js +569 -0
  142. package/dist/supervisor/AgentSupervisor.js.map +1 -0
  143. package/dist/supervisor/ManagedServerRegistry.d.ts +185 -0
  144. package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -0
  145. package/dist/supervisor/ManagedServerRegistry.js +729 -0
  146. package/dist/supervisor/ManagedServerRegistry.js.map +1 -0
  147. package/dist/supervisor/ProjectTracker.d.ts +210 -0
  148. package/dist/supervisor/ProjectTracker.d.ts.map +1 -0
  149. package/dist/supervisor/ProjectTracker.js +709 -0
  150. package/dist/supervisor/ProjectTracker.js.map +1 -0
  151. package/dist/supervisor/index.d.ts +6 -0
  152. package/dist/supervisor/index.d.ts.map +1 -0
  153. package/dist/supervisor/index.js +6 -0
  154. package/dist/supervisor/index.js.map +1 -0
  155. package/dist/testing/index.d.ts +11 -0
  156. package/dist/testing/index.d.ts.map +1 -0
  157. package/dist/testing/index.js +12 -0
  158. package/dist/testing/index.js.map +1 -0
  159. package/dist/testing/rule-tester.d.ts +217 -0
  160. package/dist/testing/rule-tester.d.ts.map +1 -0
  161. package/dist/testing/rule-tester.examples.d.ts +57 -0
  162. package/dist/testing/rule-tester.examples.d.ts.map +1 -0
  163. package/dist/testing/rule-tester.examples.js +375 -0
  164. package/dist/testing/rule-tester.examples.js.map +1 -0
  165. package/dist/testing/rule-tester.js +381 -0
  166. package/dist/testing/rule-tester.js.map +1 -0
  167. package/dist/testing/rule-validator.d.ts +141 -0
  168. package/dist/testing/rule-validator.d.ts.map +1 -0
  169. package/dist/testing/rule-validator.js +640 -0
  170. package/dist/testing/rule-validator.js.map +1 -0
  171. package/dist/types/index.d.ts +1282 -0
  172. package/dist/types/index.d.ts.map +1 -0
  173. package/dist/types/index.js +386 -0
  174. package/dist/types/index.js.map +1 -0
  175. package/dist/utils/errors.d.ts +86 -0
  176. package/dist/utils/errors.d.ts.map +1 -0
  177. package/dist/utils/errors.js +171 -0
  178. package/dist/utils/errors.js.map +1 -0
  179. package/dist/utils/index.d.ts +7 -0
  180. package/dist/utils/index.d.ts.map +1 -0
  181. package/dist/utils/index.js +7 -0
  182. package/dist/utils/index.js.map +1 -0
  183. package/dist/utils/rate-limiting.d.ts +268 -0
  184. package/dist/utils/rate-limiting.d.ts.map +1 -0
  185. package/dist/utils/rate-limiting.js +403 -0
  186. package/dist/utils/rate-limiting.js.map +1 -0
  187. package/dist/utils/shared.d.ts +306 -0
  188. package/dist/utils/shared.d.ts.map +1 -0
  189. package/dist/utils/shared.js +464 -0
  190. package/dist/utils/shared.js.map +1 -0
  191. package/dist/utils/shell.d.ts +22 -0
  192. package/dist/utils/shell.d.ts.map +1 -0
  193. package/dist/utils/shell.js +29 -0
  194. package/dist/utils/shell.js.map +1 -0
  195. package/package.json +67 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/rules/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Stripe Payment Security Rules
3
+ * Governance rules for Stripe payment processing
4
+ */
5
+ import type { BusinessRule } from '../types/index.js';
6
+ export declare const stripeRules: BusinessRule[];
7
+ //# sourceMappingURL=stripe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/rules/stripe.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,WAAW,EAAE,YAAY,EA8HrC,CAAC"}
@@ -0,0 +1,133 @@
1
+ /**
2
+ * Stripe Payment Security Rules
3
+ * Governance rules for Stripe payment processing
4
+ */
5
+ import { createAuditLoggingRule, createValidationRule } from './shared-patterns.js';
6
+ export const stripeRules = [
7
+ // Webhook Signature Validation - uses shared validation pattern
8
+ createValidationRule({
9
+ id: 'stripe-001',
10
+ name: 'Require Webhook Signature Validation',
11
+ description: 'Stripe webhooks must validate signatures to prevent replay attacks',
12
+ validationType: 'signature',
13
+ scope: {
14
+ actionName: 'webhook',
15
+ provider: 'stripe'
16
+ },
17
+ actionType: 'deny',
18
+ message: 'Stripe webhook signature validation is required (use stripe.webhooks.constructEvent)',
19
+ priority: 980,
20
+ riskWeight: 65,
21
+ tags: ['stripe', 'webhook']
22
+ }),
23
+ {
24
+ id: 'stripe-002',
25
+ name: 'Enforce Idempotency Keys',
26
+ description: 'Payment operations must use idempotency keys',
27
+ type: 'architecture',
28
+ enabled: true,
29
+ priority: 920,
30
+ conditions: [
31
+ { field: 'actionCategory', operator: 'equals', value: 'financial' },
32
+ { field: 'provider', operator: 'equals', value: 'stripe' },
33
+ { field: 'operation', operator: 'in', value: ['charge', 'payment', 'transfer'] },
34
+ { field: 'idempotencyKey', operator: 'not_exists', value: null }
35
+ ],
36
+ conditionLogic: 'all',
37
+ actions: [
38
+ { type: 'require_approval', message: 'Stripe payment operations should use idempotency keys to prevent duplicate charges' }
39
+ ],
40
+ riskWeight: 50,
41
+ tags: ['stripe', 'idempotency', 'payments', 'reliability']
42
+ },
43
+ {
44
+ id: 'stripe-003',
45
+ name: 'Minimize Customer Data Storage',
46
+ description: 'Store minimal customer data, use Stripe Customer objects',
47
+ type: 'compliance',
48
+ enabled: true,
49
+ priority: 900,
50
+ conditions: [
51
+ { field: 'actionCategory', operator: 'equals', value: 'data_modification' },
52
+ { field: 'dataType', operator: 'equals', value: 'payment_method' },
53
+ { field: 'storedLocally', operator: 'equals', value: true }
54
+ ],
55
+ conditionLogic: 'all',
56
+ actions: [
57
+ { type: 'warn', message: 'PCI-DSS: Store customer data in Stripe, not locally (use Customer and PaymentMethod objects)' }
58
+ ],
59
+ riskWeight: 45,
60
+ tags: ['stripe', 'pci-dss', 'data-minimization', 'compliance']
61
+ },
62
+ {
63
+ id: 'stripe-004',
64
+ name: 'Validate Connect Platform Requirements',
65
+ description: 'Stripe Connect platforms must validate account requirements',
66
+ type: 'compliance',
67
+ enabled: true,
68
+ priority: 880,
69
+ conditions: [
70
+ { field: 'actionName', operator: 'contains', value: 'connect' },
71
+ { field: 'provider', operator: 'equals', value: 'stripe' },
72
+ { field: 'accountRequirementsValidated', operator: 'not_equals', value: true }
73
+ ],
74
+ conditionLogic: 'all',
75
+ actions: [
76
+ { type: 'warn', message: 'Stripe Connect: Validate account requirements before accepting payments' }
77
+ ],
78
+ riskWeight: 40,
79
+ tags: ['stripe', 'connect', 'compliance', 'validation']
80
+ },
81
+ {
82
+ id: 'stripe-005',
83
+ name: 'Require SCA for EU Payments',
84
+ description: 'EU payments must use Strong Customer Authentication',
85
+ type: 'compliance',
86
+ enabled: true,
87
+ priority: 950,
88
+ conditions: [
89
+ { field: 'actionCategory', operator: 'equals', value: 'financial' },
90
+ { field: 'provider', operator: 'equals', value: 'stripe' },
91
+ { field: 'customerRegion', operator: 'in', value: ['EU', 'EEA', 'UK'] },
92
+ { field: 'scaEnabled', operator: 'not_equals', value: true }
93
+ ],
94
+ conditionLogic: 'all',
95
+ actions: [
96
+ { type: 'deny', message: 'EU/EEA payments require SCA (use Payment Intents with automatic payment methods)' }
97
+ ],
98
+ riskWeight: 55,
99
+ tags: ['stripe', 'sca', 'psd2', 'compliance', 'eu']
100
+ },
101
+ // Payment Event Logging - uses shared audit pattern
102
+ createAuditLoggingRule({
103
+ id: 'stripe-006',
104
+ name: 'Log All Payment Events',
105
+ description: 'All payment events must be logged for audit',
106
+ categories: ['financial'],
107
+ additionalConditions: [
108
+ { field: 'provider', operator: 'equals', value: 'stripe' }
109
+ ],
110
+ priority: 940,
111
+ riskWeight: 10,
112
+ tags: ['stripe', 'compliance']
113
+ }),
114
+ {
115
+ id: 'stripe-007',
116
+ name: 'Use Latest API Version',
117
+ description: 'Use recent Stripe API version for security and features',
118
+ type: 'security',
119
+ enabled: true,
120
+ priority: 800,
121
+ conditions: [
122
+ { field: 'provider', operator: 'equals', value: 'stripe' },
123
+ { field: 'apiVersion', operator: 'less_than', value: '2023-01-01' }
124
+ ],
125
+ conditionLogic: 'all',
126
+ actions: [
127
+ { type: 'warn', message: 'Stripe API version is outdated - update for security fixes and new features' }
128
+ ],
129
+ riskWeight: 25,
130
+ tags: ['stripe', 'api-version', 'security', 'maintenance']
131
+ }
132
+ ];
133
+ //# sourceMappingURL=stripe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/rules/stripe.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Testing & Quality Assurance Rules
3
+ * Governance rules for Playwright and test automation
4
+ */
5
+ import type { BusinessRule } from '../types/index.js';
6
+ export declare const testingRules: BusinessRule[];
7
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/rules/testing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,YAAY,EAAE,YAAY,EAiItC,CAAC"}
@@ -0,0 +1,135 @@
1
+ /**
2
+ * Testing & Quality Assurance Rules
3
+ * Governance rules for Playwright and test automation
4
+ */
5
+ export const testingRules = [
6
+ {
7
+ id: 'test-001',
8
+ name: 'Require Test Isolation',
9
+ description: 'Tests must be isolated with no shared state',
10
+ type: 'architecture',
11
+ enabled: true,
12
+ priority: 900,
13
+ conditions: [
14
+ { field: 'actionCategory', operator: 'equals', value: 'code_execution' },
15
+ { field: 'isTest', operator: 'equals', value: true },
16
+ { field: 'testIsolation', operator: 'not_equals', value: true }
17
+ ],
18
+ conditionLogic: 'all',
19
+ actions: [
20
+ { type: 'warn', message: 'Tests should be isolated (independent setup/teardown, no shared state)' }
21
+ ],
22
+ riskWeight: 35,
23
+ tags: ['testing', 'playwright', 'isolation', 'quality']
24
+ },
25
+ {
26
+ id: 'test-002',
27
+ name: 'Limit Test Execution Time',
28
+ description: 'Flag slow tests for optimization',
29
+ type: 'operational',
30
+ enabled: true,
31
+ priority: 750,
32
+ conditions: [
33
+ { field: 'isTest', operator: 'equals', value: true },
34
+ { field: 'executionTimeMs', operator: 'greater_than', value: 30000 }
35
+ ],
36
+ conditionLogic: 'all',
37
+ actions: [
38
+ { type: 'warn', message: 'Test execution >30s - consider optimization or splitting into smaller tests' }
39
+ ],
40
+ riskWeight: 20,
41
+ tags: ['testing', 'performance', 'optimization']
42
+ },
43
+ {
44
+ id: 'test-003',
45
+ name: 'Require Test Data Cleanup',
46
+ description: 'Tests must clean up created data/artifacts',
47
+ type: 'operational',
48
+ enabled: true,
49
+ priority: 850,
50
+ conditions: [
51
+ { field: 'isTest', operator: 'equals', value: true },
52
+ { field: 'hasCleanup', operator: 'not_equals', value: true }
53
+ ],
54
+ conditionLogic: 'all',
55
+ actions: [
56
+ { type: 'warn', message: 'Tests should cleanup data/artifacts in afterEach/afterAll hooks' }
57
+ ],
58
+ riskWeight: 25,
59
+ tags: ['testing', 'cleanup', 'maintenance']
60
+ },
61
+ {
62
+ id: 'test-004',
63
+ name: 'Enforce Deterministic Test Patterns',
64
+ description: 'Avoid random waits and non-deterministic patterns',
65
+ type: 'architecture',
66
+ enabled: true,
67
+ priority: 880,
68
+ conditions: [
69
+ { field: 'isTest', operator: 'equals', value: true },
70
+ { field: 'usesRandomWait', operator: 'equals', value: true }
71
+ ],
72
+ conditionLogic: 'all',
73
+ actions: [
74
+ { type: 'warn', message: 'Avoid random waits in tests - use waitForSelector, waitForLoadState, etc.' }
75
+ ],
76
+ riskWeight: 30,
77
+ tags: ['testing', 'playwright', 'determinism', 'flakiness']
78
+ },
79
+ {
80
+ id: 'test-005',
81
+ name: 'Screenshot Storage Limits',
82
+ description: 'Limit screenshot retention to prevent disk usage',
83
+ type: 'operational',
84
+ enabled: true,
85
+ priority: 700,
86
+ conditions: [
87
+ { field: 'actionName', operator: 'contains', value: 'screenshot' },
88
+ { field: 'screenshotRetentionDays', operator: 'greater_than', value: 7 }
89
+ ],
90
+ conditionLogic: 'all',
91
+ actions: [
92
+ { type: 'warn', message: 'Screenshot retention >7 days may consume excessive storage' }
93
+ ],
94
+ riskWeight: 15,
95
+ tags: ['testing', 'storage', 'cleanup', 'playwright']
96
+ },
97
+ {
98
+ id: 'test-006',
99
+ name: 'Parallel Test Safety',
100
+ description: 'Tests run in parallel must not conflict',
101
+ type: 'architecture',
102
+ enabled: true,
103
+ priority: 860,
104
+ conditions: [
105
+ { field: 'isTest', operator: 'equals', value: true },
106
+ { field: 'runsInParallel', operator: 'equals', value: true },
107
+ { field: 'parallelSafe', operator: 'not_equals', value: true }
108
+ ],
109
+ conditionLogic: 'all',
110
+ actions: [
111
+ { type: 'warn', message: 'Parallel tests must not share resources (unique test data, ports, files)' }
112
+ ],
113
+ riskWeight: 30,
114
+ tags: ['testing', 'parallel', 'concurrency', 'playwright']
115
+ },
116
+ {
117
+ id: 'test-007',
118
+ name: 'E2E Test Environment Isolation',
119
+ description: 'E2E tests should run against isolated test environment',
120
+ type: 'operational',
121
+ enabled: true,
122
+ priority: 920,
123
+ conditions: [
124
+ { field: 'testType', operator: 'equals', value: 'e2e' },
125
+ { field: 'environment', operator: 'equals', value: 'production' }
126
+ ],
127
+ conditionLogic: 'all',
128
+ actions: [
129
+ { type: 'deny', message: 'E2E tests must not run against production environment' }
130
+ ],
131
+ riskWeight: 50,
132
+ tags: ['testing', 'e2e', 'environment', 'safety']
133
+ }
134
+ ];
135
+ //# sourceMappingURL=testing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/rules/testing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,6CAA6C;QAC1D,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE;YACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;SAChE;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,wEAAwE,EAAE;SACpG;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC;KACxD;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE;SACrE;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,6EAA6E,EAAE;SACzG;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,cAAc,CAAC;KACjD;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,4CAA4C;QACzD,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;SAC7D;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iEAAiE,EAAE;SAC7F;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC;KAC5C;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,qCAAqC;QAC3C,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;SAC7D;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,2EAA2E,EAAE;SACvG;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,CAAC;KAC5D;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,2BAA2B;QACjC,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE;YAClE,EAAE,KAAK,EAAE,yBAAyB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,EAAE;SACzE;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,4DAA4D,EAAE;SACxF;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC;KACtD;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;YACpD,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE;YAC5D,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE;SAC/D;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,0EAA0E,EAAE;SACtG;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC;KAC3D;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,gCAAgC;QACtC,WAAW,EAAE,wDAAwD;QACrE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,GAAG;QACb,UAAU,EAAE;YACV,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YACvD,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;SAClE;QACD,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,uDAAuD,EAAE;SACnF;QACD,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC;KAClD;CACF,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - UX Rules
3
+ *
4
+ * Built-in rules for ensuring good user experience and interaction patterns.
5
+ */
6
+ import type { BusinessRule } from '../types/index.js';
7
+ export declare const uxRules: BusinessRule[];
8
+ export default uxRules;
9
+ //# sourceMappingURL=ux.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ux.d.ts","sourceRoot":"","sources":["../../src/rules/ux.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,OAAO,EAAE,YAAY,EAoRjC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Enterprise Agent Supervisor - UX Rules
3
+ *
4
+ * Built-in rules for ensuring good user experience and interaction patterns.
5
+ */
6
+ export const uxRules = [
7
+ // ============================================================================
8
+ // USER COMMUNICATION RULES
9
+ // ============================================================================
10
+ {
11
+ id: 'ux-001',
12
+ name: 'Response Length Limit',
13
+ description: 'Prevents excessively long responses that overwhelm users',
14
+ type: 'ux',
15
+ enabled: true,
16
+ priority: 700,
17
+ conditions: [
18
+ { field: 'actionCategory', operator: 'equals', value: 'user_communication' },
19
+ { field: 'responseLength', operator: 'greater_than', value: 10000 }
20
+ ],
21
+ conditionLogic: 'all',
22
+ actions: [
23
+ { type: 'warn', message: 'UX: Response exceeds 10,000 characters - consider summarizing' }
24
+ ],
25
+ riskWeight: 10,
26
+ tags: ['ux', 'response-length']
27
+ },
28
+ {
29
+ id: 'ux-002',
30
+ name: 'Jargon Detection',
31
+ description: 'Warns when technical jargon may confuse non-technical users',
32
+ type: 'ux',
33
+ enabled: true,
34
+ priority: 650,
35
+ conditions: [
36
+ { field: 'actionCategory', operator: 'equals', value: 'user_communication' },
37
+ { field: 'userType', operator: 'equals', value: 'non_technical' },
38
+ { field: 'technicalTermCount', operator: 'greater_than', value: 5 }
39
+ ],
40
+ conditionLogic: 'all',
41
+ actions: [
42
+ { type: 'warn', message: 'UX: High technical term count for non-technical user - consider simplifying' }
43
+ ],
44
+ riskWeight: 8,
45
+ tags: ['ux', 'accessibility', 'clarity']
46
+ },
47
+ {
48
+ id: 'ux-003',
49
+ name: 'Error Message Clarity',
50
+ description: 'Ensures error messages are user-friendly',
51
+ type: 'ux',
52
+ enabled: true,
53
+ priority: 720,
54
+ conditions: [
55
+ { field: 'actionName', operator: 'contains', value: 'error' },
56
+ { field: 'includesRecoverySteps', operator: 'not_equals', value: true }
57
+ ],
58
+ conditionLogic: 'all',
59
+ actions: [
60
+ { type: 'warn', message: 'UX: Error messages should include recovery steps for users' }
61
+ ],
62
+ riskWeight: 12,
63
+ tags: ['ux', 'error-handling']
64
+ },
65
+ // ============================================================================
66
+ // INTERACTION PATTERN RULES
67
+ // ============================================================================
68
+ {
69
+ id: 'ux-010',
70
+ name: 'Confirmation for Destructive Actions',
71
+ description: 'Requires confirmation before destructive operations',
72
+ type: 'ux',
73
+ enabled: true,
74
+ priority: 850,
75
+ conditions: [
76
+ { field: 'operation', operator: 'in', value: ['delete', 'remove', 'purge', 'destroy'] },
77
+ { field: 'confirmationRequired', operator: 'not_equals', value: true }
78
+ ],
79
+ conditionLogic: 'all',
80
+ actions: [
81
+ { type: 'require_approval', message: 'UX: Destructive actions require user confirmation' }
82
+ ],
83
+ riskWeight: 25,
84
+ tags: ['ux', 'confirmation', 'destructive']
85
+ },
86
+ {
87
+ id: 'ux-011',
88
+ name: 'Progress Feedback for Long Operations',
89
+ description: 'Ensures long operations provide progress feedback',
90
+ type: 'ux',
91
+ enabled: true,
92
+ priority: 680,
93
+ conditions: [
94
+ { field: 'estimatedDurationMs', operator: 'greater_than', value: 5000 },
95
+ { field: 'progressCallbackEnabled', operator: 'not_equals', value: true }
96
+ ],
97
+ conditionLogic: 'all',
98
+ actions: [
99
+ { type: 'warn', message: 'UX: Long operations (>5s) should provide progress feedback' }
100
+ ],
101
+ riskWeight: 8,
102
+ tags: ['ux', 'progress', 'feedback']
103
+ },
104
+ {
105
+ id: 'ux-012',
106
+ name: 'Undo Support for Modifications',
107
+ description: 'Recommends undo capability for user modifications',
108
+ type: 'ux',
109
+ enabled: true,
110
+ priority: 660,
111
+ conditions: [
112
+ { field: 'actionCategory', operator: 'equals', value: 'data_modification' },
113
+ { field: 'undoSupported', operator: 'not_equals', value: true },
114
+ { field: 'userInitiated', operator: 'equals', value: true }
115
+ ],
116
+ conditionLogic: 'all',
117
+ actions: [
118
+ { type: 'warn', message: 'UX: User-initiated modifications should support undo' }
119
+ ],
120
+ riskWeight: 10,
121
+ tags: ['ux', 'undo', 'reversibility']
122
+ },
123
+ // ============================================================================
124
+ // RATE AND FREQUENCY RULES
125
+ // ============================================================================
126
+ {
127
+ id: 'ux-020',
128
+ name: 'Notification Frequency Limit',
129
+ description: 'Prevents notification fatigue',
130
+ type: 'ux',
131
+ enabled: true,
132
+ priority: 750,
133
+ conditions: [
134
+ { field: 'actionName', operator: 'contains', value: 'notify' },
135
+ { field: 'notificationsLastHour', operator: 'greater_than', value: 10 }
136
+ ],
137
+ conditionLogic: 'all',
138
+ actions: [
139
+ { type: 'rate_limit', message: 'UX: Notification frequency exceeds limit - batching recommended' }
140
+ ],
141
+ riskWeight: 15,
142
+ tags: ['ux', 'notifications', 'rate-limit']
143
+ },
144
+ {
145
+ id: 'ux-021',
146
+ name: 'Prompt Frequency Control',
147
+ description: 'Limits how often users are interrupted with prompts',
148
+ type: 'ux',
149
+ enabled: true,
150
+ priority: 730,
151
+ conditions: [
152
+ { field: 'actionName', operator: 'contains', value: 'prompt' },
153
+ { field: 'promptsLastMinute', operator: 'greater_than', value: 3 }
154
+ ],
155
+ conditionLogic: 'all',
156
+ actions: [
157
+ { type: 'warn', message: 'UX: Too many prompts - consider consolidating interactions' }
158
+ ],
159
+ riskWeight: 12,
160
+ tags: ['ux', 'prompts', 'interruption']
161
+ },
162
+ // ============================================================================
163
+ // ACCESSIBILITY RULES
164
+ // ============================================================================
165
+ {
166
+ id: 'ux-030',
167
+ name: 'Alt Text for Images',
168
+ description: 'Ensures images have accessibility text',
169
+ type: 'ux',
170
+ enabled: true,
171
+ priority: 780,
172
+ conditions: [
173
+ { field: 'contentType', operator: 'contains', value: 'image' },
174
+ { field: 'altText', operator: 'not_exists', value: null }
175
+ ],
176
+ conditionLogic: 'all',
177
+ actions: [
178
+ { type: 'warn', message: 'UX: Images should include alt text for accessibility' }
179
+ ],
180
+ riskWeight: 10,
181
+ tags: ['ux', 'accessibility', 'wcag']
182
+ },
183
+ {
184
+ id: 'ux-031',
185
+ name: 'Color Contrast Check',
186
+ description: 'Warns about potential color contrast issues',
187
+ type: 'ux',
188
+ enabled: true,
189
+ priority: 760,
190
+ conditions: [
191
+ { field: 'actionCategory', operator: 'equals', value: 'user_communication' },
192
+ { field: 'hasColorContent', operator: 'equals', value: true },
193
+ { field: 'contrastRatioMet', operator: 'not_equals', value: true }
194
+ ],
195
+ conditionLogic: 'all',
196
+ actions: [
197
+ { type: 'warn', message: 'UX: Color content may not meet WCAG contrast requirements' }
198
+ ],
199
+ riskWeight: 8,
200
+ tags: ['ux', 'accessibility', 'wcag', 'contrast']
201
+ },
202
+ {
203
+ id: 'ux-032',
204
+ name: 'Keyboard Navigation Support',
205
+ description: 'Ensures interactive elements support keyboard navigation',
206
+ type: 'ux',
207
+ enabled: true,
208
+ priority: 770,
209
+ conditions: [
210
+ { field: 'actionName', operator: 'contains', value: 'interactive' },
211
+ { field: 'keyboardAccessible', operator: 'not_equals', value: true }
212
+ ],
213
+ conditionLogic: 'all',
214
+ actions: [
215
+ { type: 'warn', message: 'UX: Interactive elements should support keyboard navigation' }
216
+ ],
217
+ riskWeight: 12,
218
+ tags: ['ux', 'accessibility', 'keyboard']
219
+ },
220
+ // ============================================================================
221
+ // CONTENT QUALITY RULES
222
+ // ============================================================================
223
+ {
224
+ id: 'ux-040',
225
+ name: 'Empty State Handling',
226
+ description: 'Ensures empty states have helpful content',
227
+ type: 'ux',
228
+ enabled: true,
229
+ priority: 690,
230
+ conditions: [
231
+ { field: 'actionName', operator: 'contains', value: 'display' },
232
+ { field: 'resultCount', operator: 'equals', value: 0 },
233
+ { field: 'emptyStateMessage', operator: 'not_exists', value: null }
234
+ ],
235
+ conditionLogic: 'all',
236
+ actions: [
237
+ { type: 'warn', message: 'UX: Empty states should include helpful guidance for users' }
238
+ ],
239
+ riskWeight: 6,
240
+ tags: ['ux', 'empty-state', 'guidance']
241
+ },
242
+ {
243
+ id: 'ux-041',
244
+ name: 'Loading State Communication',
245
+ description: 'Ensures async operations communicate loading state',
246
+ type: 'ux',
247
+ enabled: true,
248
+ priority: 700,
249
+ conditions: [
250
+ { field: 'isAsync', operator: 'equals', value: true },
251
+ { field: 'loadingIndicatorEnabled', operator: 'not_equals', value: true }
252
+ ],
253
+ conditionLogic: 'all',
254
+ actions: [
255
+ { type: 'warn', message: 'UX: Async operations should display loading state to users' }
256
+ ],
257
+ riskWeight: 8,
258
+ tags: ['ux', 'loading', 'feedback']
259
+ },
260
+ {
261
+ id: 'ux-042',
262
+ name: 'Timeout Communication',
263
+ description: 'Ensures timeouts are communicated clearly to users',
264
+ type: 'ux',
265
+ enabled: true,
266
+ priority: 710,
267
+ conditions: [
268
+ { field: 'hasTimeout', operator: 'equals', value: true },
269
+ { field: 'timeoutWarningEnabled', operator: 'not_equals', value: true }
270
+ ],
271
+ conditionLogic: 'all',
272
+ actions: [
273
+ { type: 'warn', message: 'UX: Sessions with timeouts should warn users before expiry' }
274
+ ],
275
+ riskWeight: 10,
276
+ tags: ['ux', 'timeout', 'session']
277
+ }
278
+ ];
279
+ export default uxRules;
280
+ //# sourceMappingURL=ux.js.map