mcp-image 0.1.0 → 0.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.
Files changed (178) hide show
  1. package/README.md +41 -17
  2. package/dist/api/geminiClient.d.ts +2 -12
  3. package/dist/api/geminiClient.d.ts.map +1 -1
  4. package/dist/api/geminiClient.js +28 -56
  5. package/dist/api/geminiClient.js.map +1 -1
  6. package/dist/api/geminiTextClient.d.ts +42 -0
  7. package/dist/api/geminiTextClient.d.ts.map +1 -0
  8. package/dist/api/geminiTextClient.js +198 -0
  9. package/dist/api/geminiTextClient.js.map +1 -0
  10. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts +84 -0
  11. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.d.ts.map +1 -0
  12. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js +100 -0
  13. package/dist/business/__tests__/mocks/mcpSamplingClient.mock.js.map +1 -0
  14. package/dist/business/bestPracticesEngine.d.ts +149 -0
  15. package/dist/business/bestPracticesEngine.d.ts.map +1 -0
  16. package/dist/business/bestPracticesEngine.js +781 -0
  17. package/dist/business/bestPracticesEngine.js.map +1 -0
  18. package/dist/business/complexityAssessment.d.ts +132 -0
  19. package/dist/business/complexityAssessment.d.ts.map +1 -0
  20. package/dist/business/complexityAssessment.js +488 -0
  21. package/dist/business/complexityAssessment.js.map +1 -0
  22. package/dist/business/fallbackStrategies.d.ts +177 -0
  23. package/dist/business/fallbackStrategies.d.ts.map +1 -0
  24. package/dist/business/fallbackStrategies.js +368 -0
  25. package/dist/business/fallbackStrategies.js.map +1 -0
  26. package/dist/business/imageGenerator.d.ts.map +1 -1
  27. package/dist/business/imageGenerator.js +26 -5
  28. package/dist/business/imageGenerator.js.map +1 -1
  29. package/dist/business/multiImage/aspectRatioController.d.ts +77 -0
  30. package/dist/business/multiImage/aspectRatioController.d.ts.map +1 -0
  31. package/dist/business/multiImage/aspectRatioController.js +580 -0
  32. package/dist/business/multiImage/aspectRatioController.js.map +1 -0
  33. package/dist/business/multiImage/multiImageCoordinator.d.ts +142 -0
  34. package/dist/business/multiImage/multiImageCoordinator.d.ts.map +1 -0
  35. package/dist/business/multiImage/multiImageCoordinator.js +801 -0
  36. package/dist/business/multiImage/multiImageCoordinator.js.map +1 -0
  37. package/dist/business/pomlTemplateEngine.d.ts +206 -0
  38. package/dist/business/pomlTemplateEngine.d.ts.map +1 -0
  39. package/dist/business/pomlTemplateEngine.js +737 -0
  40. package/dist/business/pomlTemplateEngine.js.map +1 -0
  41. package/dist/business/promptOrchestrator.d.ts +173 -0
  42. package/dist/business/promptOrchestrator.d.ts.map +1 -0
  43. package/dist/business/promptOrchestrator.js +490 -0
  44. package/dist/business/promptOrchestrator.js.map +1 -0
  45. package/dist/business/responseBuilder.d.ts +2 -2
  46. package/dist/business/responseBuilder.d.ts.map +1 -1
  47. package/dist/business/responseBuilder.js +6 -1
  48. package/dist/business/responseBuilder.js.map +1 -1
  49. package/dist/business/structuredPromptGenerator.d.ts +54 -0
  50. package/dist/business/structuredPromptGenerator.d.ts.map +1 -0
  51. package/dist/business/structuredPromptGenerator.js +208 -0
  52. package/dist/business/structuredPromptGenerator.js.map +1 -0
  53. package/dist/business/templateNormalizer.d.ts +81 -0
  54. package/dist/business/templateNormalizer.d.ts.map +1 -0
  55. package/dist/business/templateNormalizer.js +659 -0
  56. package/dist/business/templateNormalizer.js.map +1 -0
  57. package/dist/documentation/apiContractValidation.d.ts +62 -0
  58. package/dist/documentation/apiContractValidation.d.ts.map +1 -0
  59. package/dist/documentation/apiContractValidation.js +305 -0
  60. package/dist/documentation/apiContractValidation.js.map +1 -0
  61. package/dist/infrastructure/concurrency/concurrencyManager.d.ts +101 -0
  62. package/dist/infrastructure/concurrency/concurrencyManager.d.ts.map +1 -0
  63. package/dist/infrastructure/concurrency/concurrencyManager.js +345 -0
  64. package/dist/infrastructure/concurrency/concurrencyManager.js.map +1 -0
  65. package/dist/infrastructure/config/secureConfigManager.d.ts +319 -0
  66. package/dist/infrastructure/config/secureConfigManager.d.ts.map +1 -0
  67. package/dist/infrastructure/config/secureConfigManager.js +600 -0
  68. package/dist/infrastructure/config/secureConfigManager.js.map +1 -0
  69. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts +229 -0
  70. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.d.ts.map +1 -0
  71. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js +61 -0
  72. package/dist/infrastructure/errorHandling/orchestrationErrorHandler.js.map +1 -0
  73. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts +133 -0
  74. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.d.ts.map +1 -0
  75. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js +569 -0
  76. package/dist/infrastructure/errorHandling/orchestrationErrorHandlerImpl.js.map +1 -0
  77. package/dist/infrastructure/mcp/MCPSamplingClient.d.ts +19 -0
  78. package/dist/infrastructure/mcp/MCPSamplingClient.d.ts.map +1 -0
  79. package/dist/infrastructure/mcp/MCPSamplingClient.js +31 -0
  80. package/dist/infrastructure/mcp/MCPSamplingClient.js.map +1 -0
  81. package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts +59 -0
  82. package/dist/infrastructure/mcp/RealMCPSamplingClient.d.ts.map +1 -0
  83. package/dist/infrastructure/mcp/RealMCPSamplingClient.js +271 -0
  84. package/dist/infrastructure/mcp/RealMCPSamplingClient.js.map +1 -0
  85. package/dist/infrastructure/metadata/generationMetadata.d.ts +72 -0
  86. package/dist/infrastructure/metadata/generationMetadata.d.ts.map +1 -0
  87. package/dist/infrastructure/metadata/generationMetadata.js +228 -0
  88. package/dist/infrastructure/metadata/generationMetadata.js.map +1 -0
  89. package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts +106 -0
  90. package/dist/infrastructure/monitoring/OrchestrationMetrics.d.ts.map +1 -0
  91. package/dist/infrastructure/monitoring/OrchestrationMetrics.js +456 -0
  92. package/dist/infrastructure/monitoring/OrchestrationMetrics.js.map +1 -0
  93. package/dist/infrastructure/monitoring/alertingSystem.d.ts +135 -0
  94. package/dist/infrastructure/monitoring/alertingSystem.d.ts.map +1 -0
  95. package/dist/infrastructure/monitoring/alertingSystem.js +549 -0
  96. package/dist/infrastructure/monitoring/alertingSystem.js.map +1 -0
  97. package/dist/infrastructure/optimization/performanceOptimizer.d.ts +89 -0
  98. package/dist/infrastructure/optimization/performanceOptimizer.d.ts.map +1 -0
  99. package/dist/infrastructure/optimization/performanceOptimizer.js +375 -0
  100. package/dist/infrastructure/optimization/performanceOptimizer.js.map +1 -0
  101. package/dist/infrastructure/security/AdvancedContentFilter.d.ts +99 -0
  102. package/dist/infrastructure/security/AdvancedContentFilter.d.ts.map +1 -0
  103. package/dist/infrastructure/security/AdvancedContentFilter.js +363 -0
  104. package/dist/infrastructure/security/AdvancedContentFilter.js.map +1 -0
  105. package/dist/infrastructure/security/MCPSecurityValidator.d.ts +62 -0
  106. package/dist/infrastructure/security/MCPSecurityValidator.d.ts.map +1 -0
  107. package/dist/infrastructure/security/MCPSecurityValidator.js +129 -0
  108. package/dist/infrastructure/security/MCPSecurityValidator.js.map +1 -0
  109. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts +304 -0
  110. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.d.ts.map +1 -0
  111. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js +61 -0
  112. package/dist/infrastructure/security/OrchestrationSecurityMiddleware.js.map +1 -0
  113. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts +62 -0
  114. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.d.ts.map +1 -0
  115. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js +591 -0
  116. package/dist/infrastructure/security/OrchestrationSecurityMiddlewareImpl.js.map +1 -0
  117. package/dist/infrastructure/security/SecureMCPClient.d.ts +154 -0
  118. package/dist/infrastructure/security/SecureMCPClient.d.ts.map +1 -0
  119. package/dist/infrastructure/security/SecureMCPClient.js +292 -0
  120. package/dist/infrastructure/security/SecureMCPClient.js.map +1 -0
  121. package/dist/infrastructure/security/SecurityIncidentManager.d.ts +142 -0
  122. package/dist/infrastructure/security/SecurityIncidentManager.d.ts.map +1 -0
  123. package/dist/infrastructure/security/SecurityIncidentManager.js +260 -0
  124. package/dist/infrastructure/security/SecurityIncidentManager.js.map +1 -0
  125. package/dist/infrastructure/security/apiKeyManager.d.ts +297 -0
  126. package/dist/infrastructure/security/apiKeyManager.d.ts.map +1 -0
  127. package/dist/infrastructure/security/apiKeyManager.js +254 -0
  128. package/dist/infrastructure/security/apiKeyManager.js.map +1 -0
  129. package/dist/infrastructure/security/dataSanitizer.d.ts +157 -0
  130. package/dist/infrastructure/security/dataSanitizer.d.ts.map +1 -0
  131. package/dist/infrastructure/security/dataSanitizer.js +525 -0
  132. package/dist/infrastructure/security/dataSanitizer.js.map +1 -0
  133. package/dist/infrastructure/validation/inputValidator.d.ts +54 -0
  134. package/dist/infrastructure/validation/inputValidator.d.ts.map +1 -0
  135. package/dist/infrastructure/validation/inputValidator.js +362 -0
  136. package/dist/infrastructure/validation/inputValidator.js.map +1 -0
  137. package/dist/integration/parameterOptimizer.d.ts +69 -0
  138. package/dist/integration/parameterOptimizer.d.ts.map +1 -0
  139. package/dist/integration/parameterOptimizer.js +317 -0
  140. package/dist/integration/parameterOptimizer.js.map +1 -0
  141. package/dist/integration/twoStageProcessor.d.ts +66 -0
  142. package/dist/integration/twoStageProcessor.d.ts.map +1 -0
  143. package/dist/integration/twoStageProcessor.js +348 -0
  144. package/dist/integration/twoStageProcessor.js.map +1 -0
  145. package/dist/server/handlers/structuredPromptHandler.d.ts +65 -0
  146. package/dist/server/handlers/structuredPromptHandler.d.ts.map +1 -0
  147. package/dist/server/handlers/structuredPromptHandler.js +314 -0
  148. package/dist/server/handlers/structuredPromptHandler.js.map +1 -0
  149. package/dist/server/mcpServer.d.ts +16 -35
  150. package/dist/server/mcpServer.d.ts.map +1 -1
  151. package/dist/server/mcpServer.js +111 -150
  152. package/dist/server/mcpServer.js.map +1 -1
  153. package/dist/server/mcpServerWithOrchestration.d.ts +98 -0
  154. package/dist/server/mcpServerWithOrchestration.d.ts.map +1 -0
  155. package/dist/server/mcpServerWithOrchestration.js +284 -0
  156. package/dist/server/mcpServerWithOrchestration.js.map +1 -0
  157. package/dist/types/mcpOrchestrationTypes.d.ts +135 -0
  158. package/dist/types/mcpOrchestrationTypes.d.ts.map +1 -0
  159. package/dist/types/mcpOrchestrationTypes.js +28 -0
  160. package/dist/types/mcpOrchestrationTypes.js.map +1 -0
  161. package/dist/types/multiImageTypes.d.ts +328 -0
  162. package/dist/types/multiImageTypes.d.ts.map +1 -0
  163. package/dist/types/multiImageTypes.js +27 -0
  164. package/dist/types/multiImageTypes.js.map +1 -0
  165. package/dist/types/performanceTypes.d.ts +300 -0
  166. package/dist/types/performanceTypes.d.ts.map +1 -0
  167. package/dist/types/performanceTypes.js +50 -0
  168. package/dist/types/performanceTypes.js.map +1 -0
  169. package/dist/types/twoStageTypes.d.ts +123 -0
  170. package/dist/types/twoStageTypes.d.ts.map +1 -0
  171. package/dist/types/twoStageTypes.js +7 -0
  172. package/dist/types/twoStageTypes.js.map +1 -0
  173. package/dist/utils/config.d.ts +1 -0
  174. package/dist/utils/config.d.ts.map +1 -1
  175. package/dist/utils/config.js +1 -0
  176. package/dist/utils/config.js.map +1 -1
  177. package/package.json +11 -4
  178. package/vitest.config.mjs +0 -47
@@ -0,0 +1,304 @@
1
+ /**
2
+ * Orchestration Security Middleware - Comprehensive security framework for structured prompt generation
3
+ * Provides API key management, data sanitization, threat detection, and secure handling
4
+ * Addresses SECURITY1, SECURITY2, SECURITY3 test cases
5
+ */
6
+ /**
7
+ * Threat types that can be detected in prompts and requests
8
+ */
9
+ export declare enum ThreatType {
10
+ PROMPT_INJECTION = "prompt_injection",
11
+ DATA_EXFILTRATION = "data_exfiltration",
12
+ API_ABUSE = "api_abuse",
13
+ RESOURCE_EXHAUSTION = "resource_exhaustion",
14
+ SENSITIVE_DATA_EXPOSURE = "sensitive_data_exposure"
15
+ }
16
+ /**
17
+ * Security severity levels for threat assessment
18
+ */
19
+ export declare enum SecuritySeverity {
20
+ LOW = "low",
21
+ MEDIUM = "medium",
22
+ HIGH = "high",
23
+ CRITICAL = "critical"
24
+ }
25
+ /**
26
+ * Security actions that can be recommended or taken
27
+ */
28
+ export declare enum SecurityAction {
29
+ ALLOW = "allow",
30
+ BLOCK = "block",
31
+ SANITIZE = "sanitize",
32
+ MONITOR = "monitor",
33
+ ESCALATE = "escalate"
34
+ }
35
+ /**
36
+ * Time periods for security metrics analysis
37
+ */
38
+ export declare enum TimePeriod {
39
+ HOUR = "hour",
40
+ DAY = "day",
41
+ WEEK = "week",
42
+ MONTH = "month"
43
+ }
44
+ /**
45
+ * Orchestration request structure for security validation
46
+ */
47
+ export interface OrchestrationRequest {
48
+ prompt: string;
49
+ sessionId: string;
50
+ userId?: string;
51
+ clientId?: string;
52
+ timestamp: number;
53
+ metadata?: Record<string, unknown>;
54
+ }
55
+ /**
56
+ * Detailed threat assessment information
57
+ */
58
+ export interface ThreatAssessment {
59
+ type: ThreatType;
60
+ severity: SecuritySeverity;
61
+ description: string;
62
+ indicators: ThreatIndicator[];
63
+ recommendedAction: SecurityAction;
64
+ confidence: number;
65
+ pattern?: string;
66
+ }
67
+ /**
68
+ * Individual threat indicators found in content
69
+ */
70
+ export interface ThreatIndicator {
71
+ pattern: string;
72
+ location: number;
73
+ matchedText: string;
74
+ severity: SecuritySeverity;
75
+ }
76
+ /**
77
+ * Security mitigation measures
78
+ */
79
+ export interface SecurityMitigation {
80
+ action: SecurityAction;
81
+ description: string;
82
+ automated: boolean;
83
+ impactLevel: SecuritySeverity;
84
+ }
85
+ /**
86
+ * Audit entry for security events
87
+ */
88
+ export interface AuditEntry {
89
+ timestamp: number;
90
+ sessionId: string;
91
+ eventType: string;
92
+ userId?: string;
93
+ clientId?: string;
94
+ details: Record<string, unknown>;
95
+ riskScore: number;
96
+ }
97
+ /**
98
+ * Security validation result
99
+ */
100
+ export interface SecurityValidationResult {
101
+ allowed: boolean;
102
+ threats: ThreatAssessment[];
103
+ mitigations: SecurityMitigation[];
104
+ riskScore: number;
105
+ auditTrail: AuditEntry;
106
+ sanitizedPrompt?: string;
107
+ }
108
+ /**
109
+ * Sanitized prompt with security information
110
+ */
111
+ export interface SanitizedPrompt {
112
+ sanitizedPrompt: string;
113
+ modificationsApplied: SecurityModification[];
114
+ securityScore: number;
115
+ threatAssessment: ThreatAssessmentSummary;
116
+ originalLength: number;
117
+ sanitizedLength: number;
118
+ }
119
+ /**
120
+ * Security modifications applied during sanitization
121
+ */
122
+ export interface SecurityModification {
123
+ type: string;
124
+ location: number;
125
+ originalText: string;
126
+ replacementText: string;
127
+ reason: string;
128
+ severity: SecuritySeverity;
129
+ }
130
+ /**
131
+ * Threat assessment summary
132
+ */
133
+ export interface ThreatAssessmentSummary {
134
+ clean: boolean;
135
+ confidence: number;
136
+ threatsFound: number;
137
+ highestSeverity: SecuritySeverity;
138
+ }
139
+ /**
140
+ * API key operation types
141
+ */
142
+ export declare enum APIKeyOperationType {
143
+ RETRIEVE = "retrieve",
144
+ ROTATE = "rotate",
145
+ VALIDATE = "validate",
146
+ REVOKE = "revoke"
147
+ }
148
+ /**
149
+ * API key operation request
150
+ */
151
+ export interface APIKeyOperation {
152
+ type: APIKeyOperationType;
153
+ service: string;
154
+ operation: string;
155
+ sessionId: string;
156
+ metadata?: Record<string, unknown>;
157
+ }
158
+ /**
159
+ * API key operation result
160
+ */
161
+ export interface APIKeyResult {
162
+ success: boolean;
163
+ keyId?: string;
164
+ expiresAt?: number;
165
+ permissions?: string[];
166
+ error?: string;
167
+ auditTrail: AuditEntry;
168
+ }
169
+ /**
170
+ * Session data for cleanup operations
171
+ */
172
+ export interface SessionData {
173
+ sessionId: string;
174
+ userId?: string;
175
+ createdAt: number;
176
+ lastAccessedAt: number;
177
+ temporaryData: TemporaryDataItem[];
178
+ sensitiveOperations: SensitiveOperation[];
179
+ }
180
+ /**
181
+ * Individual temporary data item
182
+ */
183
+ export interface TemporaryDataItem {
184
+ id: string;
185
+ type: string;
186
+ data: unknown;
187
+ createdAt: number;
188
+ expiresAt: number;
189
+ sensitive: boolean;
190
+ encrypted: boolean;
191
+ }
192
+ /**
193
+ * Sensitive operations tracking
194
+ */
195
+ export interface SensitiveOperation {
196
+ operationId: string;
197
+ type: string;
198
+ timestamp: number;
199
+ dataInvolved: string[];
200
+ auditRequired: boolean;
201
+ }
202
+ /**
203
+ * Cleanup operation result
204
+ */
205
+ export interface CleanupResult {
206
+ success: boolean;
207
+ itemsRemoved: number;
208
+ dataSize: number;
209
+ securelyDeleted: boolean;
210
+ errors?: string[];
211
+ auditTrail: AuditEntry;
212
+ }
213
+ /**
214
+ * Security event for audit logging
215
+ */
216
+ export interface SecurityEvent {
217
+ eventId: string;
218
+ type: string;
219
+ severity: SecuritySeverity;
220
+ timestamp: number;
221
+ sessionId: string;
222
+ userId?: string;
223
+ description: string;
224
+ details: Record<string, unknown>;
225
+ automated: boolean;
226
+ responseAction?: SecurityAction;
227
+ }
228
+ /**
229
+ * Security metrics for monitoring
230
+ */
231
+ export interface SecurityMetrics {
232
+ period: TimePeriod;
233
+ totalRequests: number;
234
+ threatsDetected: number;
235
+ threatsBlocked: number;
236
+ riskScoreAverage: number;
237
+ topThreatTypes: Array<{
238
+ type: ThreatType;
239
+ count: number;
240
+ }>;
241
+ apiKeyRotations: number;
242
+ dataCleanupOperations: number;
243
+ securityIncidents: number;
244
+ recommendations: string[];
245
+ }
246
+ /**
247
+ * Main orchestration security middleware interface
248
+ */
249
+ export interface OrchestrationSecurityMiddleware {
250
+ /**
251
+ * Validate incoming request for security threats
252
+ */
253
+ validateRequest(request: OrchestrationRequest): Promise<SecurityValidationResult>;
254
+ /**
255
+ * Sanitize prompt data to remove security threats
256
+ */
257
+ sanitizePromptData(prompt: string): Promise<SanitizedPrompt>;
258
+ /**
259
+ * Manage API key operations with security controls
260
+ */
261
+ manageAPIKeys(operation: APIKeyOperation): Promise<APIKeyResult>;
262
+ /**
263
+ * Clean up temporary data securely
264
+ */
265
+ cleanupTemporaryData(session: SessionData): Promise<CleanupResult>;
266
+ /**
267
+ * Audit security events
268
+ */
269
+ auditSecurityEvent(event: SecurityEvent): Promise<void>;
270
+ /**
271
+ * Get security metrics for monitoring
272
+ */
273
+ getSecurityMetrics(period: TimePeriod): Promise<SecurityMetrics>;
274
+ /**
275
+ * Initialize security middleware with configuration
276
+ */
277
+ initialize(config: SecurityConfiguration): Promise<void>;
278
+ /**
279
+ * Shutdown security middleware and cleanup resources
280
+ */
281
+ shutdown(): Promise<void>;
282
+ }
283
+ /**
284
+ * Security configuration options
285
+ */
286
+ export interface SecurityConfiguration {
287
+ apiKeyRotationInterval: number;
288
+ dataRetentionPeriod: number;
289
+ threatDetectionEnabled: boolean;
290
+ auditLoggingEnabled: boolean;
291
+ encryptionEnabled: boolean;
292
+ maxRiskScore: number;
293
+ alertThresholds: SecurityAlertThresholds;
294
+ }
295
+ /**
296
+ * Security alert thresholds
297
+ */
298
+ export interface SecurityAlertThresholds {
299
+ highRiskScore: number;
300
+ criticalThreatDetection: number;
301
+ suspiciousActivityRate: number;
302
+ dataExfiltrationAttempts: number;
303
+ }
304
+ //# sourceMappingURL=OrchestrationSecurityMiddleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrchestrationSecurityMiddleware.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/OrchestrationSecurityMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * Orchestration Security Middleware - Comprehensive security framework for structured prompt generation
4
+ * Provides API key management, data sanitization, threat detection, and secure handling
5
+ * Addresses SECURITY1, SECURITY2, SECURITY3 test cases
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.APIKeyOperationType = exports.TimePeriod = exports.SecurityAction = exports.SecuritySeverity = exports.ThreatType = void 0;
9
+ /**
10
+ * Threat types that can be detected in prompts and requests
11
+ */
12
+ var ThreatType;
13
+ (function (ThreatType) {
14
+ ThreatType["PROMPT_INJECTION"] = "prompt_injection";
15
+ ThreatType["DATA_EXFILTRATION"] = "data_exfiltration";
16
+ ThreatType["API_ABUSE"] = "api_abuse";
17
+ ThreatType["RESOURCE_EXHAUSTION"] = "resource_exhaustion";
18
+ ThreatType["SENSITIVE_DATA_EXPOSURE"] = "sensitive_data_exposure";
19
+ })(ThreatType || (exports.ThreatType = ThreatType = {}));
20
+ /**
21
+ * Security severity levels for threat assessment
22
+ */
23
+ var SecuritySeverity;
24
+ (function (SecuritySeverity) {
25
+ SecuritySeverity["LOW"] = "low";
26
+ SecuritySeverity["MEDIUM"] = "medium";
27
+ SecuritySeverity["HIGH"] = "high";
28
+ SecuritySeverity["CRITICAL"] = "critical";
29
+ })(SecuritySeverity || (exports.SecuritySeverity = SecuritySeverity = {}));
30
+ /**
31
+ * Security actions that can be recommended or taken
32
+ */
33
+ var SecurityAction;
34
+ (function (SecurityAction) {
35
+ SecurityAction["ALLOW"] = "allow";
36
+ SecurityAction["BLOCK"] = "block";
37
+ SecurityAction["SANITIZE"] = "sanitize";
38
+ SecurityAction["MONITOR"] = "monitor";
39
+ SecurityAction["ESCALATE"] = "escalate";
40
+ })(SecurityAction || (exports.SecurityAction = SecurityAction = {}));
41
+ /**
42
+ * Time periods for security metrics analysis
43
+ */
44
+ var TimePeriod;
45
+ (function (TimePeriod) {
46
+ TimePeriod["HOUR"] = "hour";
47
+ TimePeriod["DAY"] = "day";
48
+ TimePeriod["WEEK"] = "week";
49
+ TimePeriod["MONTH"] = "month";
50
+ })(TimePeriod || (exports.TimePeriod = TimePeriod = {}));
51
+ /**
52
+ * API key operation types
53
+ */
54
+ var APIKeyOperationType;
55
+ (function (APIKeyOperationType) {
56
+ APIKeyOperationType["RETRIEVE"] = "retrieve";
57
+ APIKeyOperationType["ROTATE"] = "rotate";
58
+ APIKeyOperationType["VALIDATE"] = "validate";
59
+ APIKeyOperationType["REVOKE"] = "revoke";
60
+ })(APIKeyOperationType || (exports.APIKeyOperationType = APIKeyOperationType = {}));
61
+ //# sourceMappingURL=OrchestrationSecurityMiddleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrchestrationSecurityMiddleware.js","sourceRoot":"","sources":["../../../src/infrastructure/security/OrchestrationSecurityMiddleware.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;GAEG;AACH,IAAY,UAMX;AAND,WAAY,UAAU;IACpB,mDAAqC,CAAA;IACrC,qDAAuC,CAAA;IACvC,qCAAuB,CAAA;IACvB,yDAA2C,CAAA;IAC3C,iEAAmD,CAAA;AACrD,CAAC,EANW,UAAU,0BAAV,UAAU,QAMrB;AAED;;GAEG;AACH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,+BAAW,CAAA;IACX,qCAAiB,CAAA;IACjB,iCAAa,CAAA;IACb,yCAAqB,CAAA;AACvB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAED;;GAEG;AACH,IAAY,cAMX;AAND,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,iCAAe,CAAA;IACf,uCAAqB,CAAA;IACrB,qCAAmB,CAAA;IACnB,uCAAqB,CAAA;AACvB,CAAC,EANW,cAAc,8BAAd,cAAc,QAMzB;AAED;;GAEG;AACH,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,6BAAe,CAAA;AACjB,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AA0GD;;GAEG;AACH,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,wCAAiB,CAAA;IACjB,4CAAqB,CAAA;IACrB,wCAAiB,CAAA;AACnB,CAAC,EALW,mBAAmB,mCAAnB,mBAAmB,QAK9B"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Orchestration Security Middleware Implementation
3
+ * Concrete implementation of comprehensive security framework
4
+ * Addresses SECURITY1, SECURITY2, SECURITY3 test requirements
5
+ */
6
+ import { type APIKeyOperation, type APIKeyResult, type CleanupResult, type OrchestrationRequest, type OrchestrationSecurityMiddleware, type SanitizedPrompt, type SecurityConfiguration, type SecurityEvent, type SecurityMetrics, type SecurityValidationResult, type SessionData, TimePeriod } from './OrchestrationSecurityMiddleware';
7
+ /**
8
+ * Main security middleware implementation
9
+ */
10
+ export declare class OrchestrationSecurityMiddlewareImpl implements OrchestrationSecurityMiddleware {
11
+ private apiKeyManager;
12
+ private dataSanitizer;
13
+ private securityEvents;
14
+ private securityMetrics;
15
+ private config;
16
+ private initialized;
17
+ constructor();
18
+ /**
19
+ * Initialize security middleware with configuration
20
+ */
21
+ initialize(config: SecurityConfiguration): Promise<void>;
22
+ /**
23
+ * Validate incoming request for security threats
24
+ */
25
+ validateRequest(request: OrchestrationRequest): Promise<SecurityValidationResult>;
26
+ /**
27
+ * Sanitize prompt data to remove security threats
28
+ */
29
+ sanitizePromptData(prompt: string): Promise<SanitizedPrompt>;
30
+ /**
31
+ * Manage API key operations with security controls
32
+ */
33
+ manageAPIKeys(operation: APIKeyOperation): Promise<APIKeyResult>;
34
+ /**
35
+ * Clean up temporary data securely
36
+ */
37
+ cleanupTemporaryData(session: SessionData): Promise<CleanupResult>;
38
+ /**
39
+ * Audit security events
40
+ */
41
+ auditSecurityEvent(event: SecurityEvent): Promise<void>;
42
+ /**
43
+ * Get security metrics for monitoring
44
+ */
45
+ getSecurityMetrics(period: TimePeriod): Promise<SecurityMetrics>;
46
+ /**
47
+ * Shutdown security middleware
48
+ */
49
+ shutdown(): Promise<void>;
50
+ private detectPromptInjection;
51
+ private detectSensitiveData;
52
+ private detectAPIAbuse;
53
+ private calculateRiskScore;
54
+ private incrementMetric;
55
+ private getPeriodInMs;
56
+ private generateRecommendations;
57
+ private getDefaultConfig;
58
+ private createMockKeyVault;
59
+ private createMockRotationScheduler;
60
+ private createMockAccessLogger;
61
+ }
62
+ //# sourceMappingURL=OrchestrationSecurityMiddlewareImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrchestrationSecurityMiddlewareImpl.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/security/OrchestrationSecurityMiddlewareImpl.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,YAAY,EAEjB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,eAAe,EAEpB,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,eAAe,EAGpB,KAAK,wBAAwB,EAC7B,KAAK,WAAW,EAGhB,UAAU,EACX,MAAM,mCAAmC,CAAA;AAW1C;;GAEG;AACH,qBAAa,mCAAoC,YAAW,+BAA+B;IACzF,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAQ;;IAa3B;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa9D;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IA+EvF;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQlE;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IA0FtE;;OAEG;IACG,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IAwExE;;OAEG;IACG,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAc7D;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,CAAC;IA+DtE;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;YAQjB,qBAAqB;YA+CrB,mBAAmB;YA8CnB,cAAc;IAgC5B,OAAO,CAAC,kBAAkB;IAyB1B,OAAO,CAAC,eAAe;IAKvB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,uBAAuB;IA4B/B,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,kBAAkB;IA4E1B,OAAO,CAAC,2BAA2B;IAqBnC,OAAO,CAAC,sBAAsB;CAW/B"}