agentic-qe 1.3.3 → 1.3.4
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/.claude/agents/qe-api-contract-validator.md +20 -0
- package/.claude/agents/qe-chaos-engineer.md +20 -0
- package/.claude/agents/qe-coverage-analyzer.md +21 -0
- package/.claude/agents/qe-deployment-readiness.md +20 -0
- package/.claude/agents/qe-flaky-test-hunter.md +20 -0
- package/.claude/agents/qe-fleet-commander.md +20 -0
- package/.claude/agents/qe-performance-tester.md +21 -0
- package/.claude/agents/qe-production-intelligence.md +20 -0
- package/.claude/agents/qe-quality-analyzer.md +20 -0
- package/.claude/agents/qe-quality-gate.md +20 -0
- package/.claude/agents/qe-regression-risk-analyzer.md +20 -0
- package/.claude/agents/qe-requirements-validator.md +20 -0
- package/.claude/agents/qe-security-scanner.md +21 -0
- package/.claude/agents/qe-test-data-architect.md +19 -0
- package/.claude/agents/qe-test-executor.md +20 -0
- package/.claude/agents/qe-test-generator.md +22 -0
- package/.claude/agents/qe-visual-tester.md +22 -0
- package/README.md +320 -1019
- package/README.md.backup-20251026 +1366 -0
- package/bin/aqe-mcp +1 -1
- package/dist/agents/BaseAgent.js +1 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +16 -16
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/FlakyTestHunterAgent.js +1 -1
- package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +71 -37
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/core/memory/EnhancedAgentDBService.d.ts +127 -0
- package/dist/core/memory/EnhancedAgentDBService.d.ts.map +1 -0
- package/dist/core/memory/EnhancedAgentDBService.js +298 -0
- package/dist/core/memory/EnhancedAgentDBService.js.map +1 -0
- package/dist/core/neural/NeuralTrainer.js +2 -2
- package/dist/core/neural/NeuralTrainer.js.map +1 -1
- package/dist/learning/FixRecommendationEngine.d.ts +68 -0
- package/dist/learning/FixRecommendationEngine.d.ts.map +1 -0
- package/dist/learning/FixRecommendationEngine.js +500 -0
- package/dist/learning/FixRecommendationEngine.js.map +1 -0
- package/dist/learning/FlakyTestDetector.d.ts +19 -0
- package/dist/learning/FlakyTestDetector.d.ts.map +1 -1
- package/dist/learning/FlakyTestDetector.js +121 -2
- package/dist/learning/FlakyTestDetector.js.map +1 -1
- package/dist/learning/index.d.ts +2 -0
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +5 -0
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/types.d.ts +11 -0
- package/dist/learning/types.d.ts.map +1 -1
- package/dist/reasoning/PatternQualityScorer.d.ts +134 -0
- package/dist/reasoning/PatternQualityScorer.d.ts.map +1 -0
- package/dist/reasoning/PatternQualityScorer.js +340 -0
- package/dist/reasoning/PatternQualityScorer.js.map +1 -0
- package/dist/reasoning/QEReasoningBank.d.ts +51 -4
- package/dist/reasoning/QEReasoningBank.d.ts.map +1 -1
- package/dist/reasoning/QEReasoningBank.js +173 -11
- package/dist/reasoning/QEReasoningBank.js.map +1 -1
- package/dist/reasoning/VectorSimilarity.d.ts +131 -0
- package/dist/reasoning/VectorSimilarity.d.ts.map +1 -0
- package/dist/reasoning/VectorSimilarity.js +250 -0
- package/dist/reasoning/VectorSimilarity.js.map +1 -0
- package/dist/reasoning/index.d.ts +8 -1
- package/dist/reasoning/index.d.ts.map +1 -1
- package/dist/reasoning/index.js +13 -2
- package/dist/reasoning/index.js.map +1 -1
- package/dist/streaming/BaseStreamHandler.d.ts +89 -0
- package/dist/streaming/BaseStreamHandler.d.ts.map +1 -0
- package/dist/streaming/BaseStreamHandler.js +168 -0
- package/dist/streaming/BaseStreamHandler.js.map +1 -0
- package/dist/streaming/TestGenerateStreamHandler.d.ts +103 -0
- package/dist/streaming/TestGenerateStreamHandler.d.ts.map +1 -0
- package/dist/streaming/TestGenerateStreamHandler.js +321 -0
- package/dist/streaming/TestGenerateStreamHandler.js.map +1 -0
- package/dist/streaming/index.d.ts +16 -0
- package/dist/streaming/index.d.ts.map +1 -0
- package/dist/streaming/index.js +39 -0
- package/dist/streaming/index.js.map +1 -0
- package/dist/utils/__mocks__/Logger.d.ts +26 -0
- package/dist/utils/__mocks__/Logger.d.ts.map +1 -0
- package/dist/utils/__mocks__/Logger.js +42 -0
- package/dist/utils/__mocks__/Logger.js.map +1 -0
- package/package.json +15 -3
- package/dist/agents/mixins/NeuralCapableMixin.d.ts +0 -130
- package/dist/agents/mixins/NeuralCapableMixin.d.ts.map +0 -1
- package/dist/agents/mixins/NeuralCapableMixin.js +0 -358
- package/dist/agents/mixins/NeuralCapableMixin.js.map +0 -1
- package/dist/agents/mixins/QUICCapableMixin.d.ts +0 -34
- package/dist/agents/mixins/QUICCapableMixin.d.ts.map +0 -1
- package/dist/agents/mixins/QUICCapableMixin.js +0 -346
- package/dist/agents/mixins/QUICCapableMixin.js.map +0 -1
- package/dist/core/security/CertificateValidator.d.ts +0 -130
- package/dist/core/security/CertificateValidator.d.ts.map +0 -1
- package/dist/core/security/CertificateValidator.js +0 -376
- package/dist/core/security/CertificateValidator.js.map +0 -1
- package/dist/core/transport/QUICTransport.d.ts +0 -62
- package/dist/core/transport/QUICTransport.d.ts.map +0 -1
- package/dist/core/transport/QUICTransport.js +0 -381
- package/dist/core/transport/QUICTransport.js.map +0 -1
- package/dist/core/transport/SecureQUICTransport.d.ts +0 -71
- package/dist/core/transport/SecureQUICTransport.d.ts.map +0 -1
- package/dist/core/transport/SecureQUICTransport.js +0 -253
- package/dist/core/transport/SecureQUICTransport.js.map +0 -1
- package/dist/learning/AdvancedFeatureExtractor.d.ts +0 -123
- package/dist/learning/AdvancedFeatureExtractor.d.ts.map +0 -1
- package/dist/learning/AdvancedFeatureExtractor.js +0 -423
- package/dist/learning/AdvancedFeatureExtractor.js.map +0 -1
- package/dist/learning/NeuralPatternMatcher.d.ts +0 -184
- package/dist/learning/NeuralPatternMatcher.d.ts.map +0 -1
- package/dist/learning/NeuralPatternMatcher.js +0 -702
- package/dist/learning/NeuralPatternMatcher.js.map +0 -1
- package/dist/learning/NeuralTrainer.d.ts +0 -209
- package/dist/learning/NeuralTrainer.d.ts.map +0 -1
- package/dist/learning/NeuralTrainer.js +0 -478
- package/dist/learning/NeuralTrainer.js.map +0 -1
- package/dist/transport/QUICTransport.d.ts +0 -340
- package/dist/transport/QUICTransport.d.ts.map +0 -1
- package/dist/transport/QUICTransport.js +0 -814
- package/dist/transport/QUICTransport.js.map +0 -1
- package/dist/transport/UDPTransport.d.ts +0 -348
- package/dist/transport/UDPTransport.d.ts.map +0 -1
- package/dist/transport/UDPTransport.js +0 -820
- package/dist/transport/UDPTransport.js.map +0 -1
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* QUIC Capable Mixin
|
|
4
|
-
*
|
|
5
|
-
* Provides QUIC coordination capabilities to agents through composition.
|
|
6
|
-
* This mixin extends BaseAgent with distributed communication features.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.applyQUICCapabilities = applyQUICCapabilities;
|
|
10
|
-
exports.hasQUICCapabilities = hasQUICCapabilities;
|
|
11
|
-
const quic_1 = require("../../types/quic");
|
|
12
|
-
const QUICTransport_1 = require("../../core/transport/QUICTransport");
|
|
13
|
-
const Logger_1 = require("../../utils/Logger");
|
|
14
|
-
/**
|
|
15
|
-
* Apply QUIC capabilities to an agent class
|
|
16
|
-
*/
|
|
17
|
-
function applyQUICCapabilities(Base) {
|
|
18
|
-
return class QUICCapableAgent extends Base {
|
|
19
|
-
constructor(...args) {
|
|
20
|
-
super(...args);
|
|
21
|
-
this.messageHandlers = new Map();
|
|
22
|
-
this.logger = Logger_1.Logger.getInstance();
|
|
23
|
-
}
|
|
24
|
-
async enableQUIC(config) {
|
|
25
|
-
if (this.quicTransport) {
|
|
26
|
-
throw new Error('QUIC already enabled for this agent');
|
|
27
|
-
}
|
|
28
|
-
if (!config.enabled) {
|
|
29
|
-
this.logger.debug('QUIC config provided but not enabled');
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
this.logger.info('Enabling QUIC transport', {
|
|
33
|
-
host: config.host,
|
|
34
|
-
port: config.port,
|
|
35
|
-
channels: config.channels.length
|
|
36
|
-
});
|
|
37
|
-
// Create QUIC transport
|
|
38
|
-
this.quicTransport = new QUICTransport_1.QUICTransport();
|
|
39
|
-
this.quicConfig = config;
|
|
40
|
-
// Initialize transport
|
|
41
|
-
await this.quicTransport.initialize(config);
|
|
42
|
-
// Setup message handlers
|
|
43
|
-
this.setupQUICMessageHandlers();
|
|
44
|
-
// Auto-discover peers if configured
|
|
45
|
-
if (config.channels.some(ch => ch.type === 'broadcast')) {
|
|
46
|
-
await this.discoverPeers();
|
|
47
|
-
}
|
|
48
|
-
this.logger.info('QUIC transport enabled successfully');
|
|
49
|
-
}
|
|
50
|
-
async disableQUIC() {
|
|
51
|
-
if (!this.quicTransport) {
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
this.logger.info('Disabling QUIC transport');
|
|
55
|
-
// Cleanup message handlers
|
|
56
|
-
this.messageHandlers.clear();
|
|
57
|
-
// Close transport
|
|
58
|
-
await this.quicTransport.close();
|
|
59
|
-
this.quicTransport = undefined;
|
|
60
|
-
this.quicConfig = undefined;
|
|
61
|
-
this.logger.info('QUIC transport disabled');
|
|
62
|
-
}
|
|
63
|
-
isQUICEnabled() {
|
|
64
|
-
return this.quicTransport !== undefined;
|
|
65
|
-
}
|
|
66
|
-
async sendToAgent(agentId, payload, channel = 'coordination') {
|
|
67
|
-
this.ensureQUICEnabled();
|
|
68
|
-
const message = {
|
|
69
|
-
id: this.generateMessageId(),
|
|
70
|
-
from: this.getAgentId(),
|
|
71
|
-
to: agentId,
|
|
72
|
-
channel,
|
|
73
|
-
type: quic_1.QUICMessageType.DIRECT,
|
|
74
|
-
payload,
|
|
75
|
-
priority: 5,
|
|
76
|
-
timestamp: new Date()
|
|
77
|
-
};
|
|
78
|
-
await this.quicTransport.send(agentId, message);
|
|
79
|
-
this.logger.debug(`Sent message to agent ${agentId}`, {
|
|
80
|
-
channel,
|
|
81
|
-
payloadType: typeof payload
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
async requestFromAgent(agentId, payload, timeout = 5000) {
|
|
85
|
-
this.ensureQUICEnabled();
|
|
86
|
-
const message = {
|
|
87
|
-
id: this.generateMessageId(),
|
|
88
|
-
from: this.getAgentId(),
|
|
89
|
-
to: agentId,
|
|
90
|
-
channel: 'coordination',
|
|
91
|
-
type: quic_1.QUICMessageType.REQUEST,
|
|
92
|
-
payload,
|
|
93
|
-
priority: 7,
|
|
94
|
-
timestamp: new Date()
|
|
95
|
-
};
|
|
96
|
-
const response = await this.quicTransport.request(agentId, message, {
|
|
97
|
-
timeout,
|
|
98
|
-
retries: 2,
|
|
99
|
-
retryDelay: 100
|
|
100
|
-
});
|
|
101
|
-
this.logger.debug(`Received response from agent ${agentId}`);
|
|
102
|
-
return response.payload;
|
|
103
|
-
}
|
|
104
|
-
async broadcastToFleet(payload, channel = 'coordination', options) {
|
|
105
|
-
this.ensureQUICEnabled();
|
|
106
|
-
const message = {
|
|
107
|
-
id: this.generateMessageId(),
|
|
108
|
-
from: this.getAgentId(),
|
|
109
|
-
to: 'broadcast',
|
|
110
|
-
channel,
|
|
111
|
-
type: quic_1.QUICMessageType.BROADCAST,
|
|
112
|
-
payload,
|
|
113
|
-
priority: options?.priority || 5,
|
|
114
|
-
timestamp: new Date(),
|
|
115
|
-
ttl: options?.ttl
|
|
116
|
-
};
|
|
117
|
-
await this.quicTransport.broadcast(message, {
|
|
118
|
-
channel,
|
|
119
|
-
...options
|
|
120
|
-
});
|
|
121
|
-
const peers = this.quicTransport.getPeers();
|
|
122
|
-
this.logger.debug(`Broadcast message to ${peers.length} peers`, {
|
|
123
|
-
channel,
|
|
124
|
-
payloadType: typeof payload
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
async discoverPeers() {
|
|
128
|
-
this.ensureQUICEnabled();
|
|
129
|
-
const peers = await this.quicTransport.discoverPeers({
|
|
130
|
-
timeout: 5000,
|
|
131
|
-
maxPeers: 100
|
|
132
|
-
});
|
|
133
|
-
this.logger.debug(`Discovered ${peers.length} peers`);
|
|
134
|
-
// Auto-connect to discovered peers
|
|
135
|
-
for (const peer of peers) {
|
|
136
|
-
if (peer.state !== 'connected') {
|
|
137
|
-
try {
|
|
138
|
-
await this.quicTransport.connect(peer.agentId, peer.port);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
this.logger.warn(`Failed to connect to peer ${peer.agentId}:`, error);
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
return peers;
|
|
146
|
-
}
|
|
147
|
-
getConnectedPeers() {
|
|
148
|
-
if (!this.quicTransport) {
|
|
149
|
-
return [];
|
|
150
|
-
}
|
|
151
|
-
return this.quicTransport.getPeers();
|
|
152
|
-
}
|
|
153
|
-
async openStream(streamId, options) {
|
|
154
|
-
this.ensureQUICEnabled();
|
|
155
|
-
await this.quicTransport.openStream(streamId, options);
|
|
156
|
-
this.logger.debug(`Opened stream: ${streamId}`);
|
|
157
|
-
}
|
|
158
|
-
async writeToStream(streamId, data) {
|
|
159
|
-
this.ensureQUICEnabled();
|
|
160
|
-
const streamData = {
|
|
161
|
-
streamId,
|
|
162
|
-
data,
|
|
163
|
-
final: false
|
|
164
|
-
};
|
|
165
|
-
await this.quicTransport.writeStream(streamId, streamData);
|
|
166
|
-
const size = typeof data === 'string' ? Buffer.byteLength(data) : data.length;
|
|
167
|
-
this.logger.debug(`Wrote ${size} bytes to stream: ${streamId}`);
|
|
168
|
-
}
|
|
169
|
-
async closeStream(streamId) {
|
|
170
|
-
if (!this.quicTransport) {
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
await this.quicTransport.closeStream(streamId);
|
|
174
|
-
this.logger.debug(`Closed stream: ${streamId}`);
|
|
175
|
-
}
|
|
176
|
-
getQUICStats() {
|
|
177
|
-
if (!this.quicTransport) {
|
|
178
|
-
return null;
|
|
179
|
-
}
|
|
180
|
-
return this.quicTransport.getStats();
|
|
181
|
-
}
|
|
182
|
-
getQUICHealth() {
|
|
183
|
-
if (!this.quicTransport) {
|
|
184
|
-
return null;
|
|
185
|
-
}
|
|
186
|
-
return this.quicTransport.getHealth();
|
|
187
|
-
}
|
|
188
|
-
// Private helper methods
|
|
189
|
-
setupQUICMessageHandlers() {
|
|
190
|
-
if (!this.quicTransport) {
|
|
191
|
-
return;
|
|
192
|
-
}
|
|
193
|
-
// Handle incoming messages
|
|
194
|
-
this.quicTransport.on('message:received', (message) => {
|
|
195
|
-
this.handleIncomingMessage(message);
|
|
196
|
-
});
|
|
197
|
-
// Handle connection events
|
|
198
|
-
this.quicTransport.on('connection:established', (peer) => {
|
|
199
|
-
this.emit('peer:connected', peer);
|
|
200
|
-
this.logger.info(`Peer connected: ${peer.agentId}`);
|
|
201
|
-
});
|
|
202
|
-
this.quicTransport.on('connection:lost', (peer, reason) => {
|
|
203
|
-
this.emit('peer:disconnected', peer);
|
|
204
|
-
this.logger.warn(`Peer disconnected: ${peer.agentId}`, reason);
|
|
205
|
-
});
|
|
206
|
-
// Handle peer discovery
|
|
207
|
-
this.quicTransport.on('peer:discovered', (peer) => {
|
|
208
|
-
this.emit('peer:discovered', peer);
|
|
209
|
-
this.logger.debug(`Peer discovered: ${peer.agentId}`);
|
|
210
|
-
});
|
|
211
|
-
// Handle transport errors
|
|
212
|
-
this.quicTransport.on('transport:error', (error) => {
|
|
213
|
-
this.emit('quic:error', error);
|
|
214
|
-
this.logger.error('QUIC transport error:', error);
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
handleIncomingMessage(message) {
|
|
218
|
-
this.logger.debug(`Received QUIC message from ${message.from}`, {
|
|
219
|
-
type: message.type,
|
|
220
|
-
channel: message.channel
|
|
221
|
-
});
|
|
222
|
-
// Handle response messages
|
|
223
|
-
if (message.type === quic_1.QUICMessageType.RESPONSE && this.quicTransport) {
|
|
224
|
-
this.quicTransport.handleResponse(message);
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
|
-
// Handle request messages
|
|
228
|
-
if (message.type === quic_1.QUICMessageType.REQUEST) {
|
|
229
|
-
this.handleRequest(message);
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
// Emit message event for custom handling
|
|
233
|
-
this.emit('quic:message', message);
|
|
234
|
-
// Call registered handlers
|
|
235
|
-
const handler = this.messageHandlers.get(message.channel);
|
|
236
|
-
if (handler) {
|
|
237
|
-
handler(message);
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
async handleRequest(message) {
|
|
241
|
-
try {
|
|
242
|
-
// Call request handler if registered
|
|
243
|
-
const handler = this.messageHandlers.get(`request:${message.channel}`);
|
|
244
|
-
let responsePayload = null;
|
|
245
|
-
if (handler) {
|
|
246
|
-
// Call handler and get response
|
|
247
|
-
const result = await Promise.resolve(handler(message));
|
|
248
|
-
responsePayload = result;
|
|
249
|
-
}
|
|
250
|
-
else {
|
|
251
|
-
// Default response
|
|
252
|
-
responsePayload = {
|
|
253
|
-
status: 'not_handled',
|
|
254
|
-
message: 'No handler registered for this request'
|
|
255
|
-
};
|
|
256
|
-
}
|
|
257
|
-
// Send response
|
|
258
|
-
const response = {
|
|
259
|
-
id: this.generateMessageId(),
|
|
260
|
-
from: this.getAgentId(),
|
|
261
|
-
to: message.from,
|
|
262
|
-
channel: message.channel,
|
|
263
|
-
type: quic_1.QUICMessageType.RESPONSE,
|
|
264
|
-
payload: responsePayload,
|
|
265
|
-
priority: message.priority,
|
|
266
|
-
timestamp: new Date(),
|
|
267
|
-
requestId: message.requestId
|
|
268
|
-
};
|
|
269
|
-
if (this.quicTransport) {
|
|
270
|
-
await this.quicTransport.send(message.from, response);
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
|
-
catch (error) {
|
|
274
|
-
this.logger.error('Error handling request:', error);
|
|
275
|
-
// Send error response
|
|
276
|
-
const errorResponse = {
|
|
277
|
-
id: this.generateMessageId(),
|
|
278
|
-
from: this.getAgentId(),
|
|
279
|
-
to: message.from,
|
|
280
|
-
channel: message.channel,
|
|
281
|
-
type: quic_1.QUICMessageType.ERROR,
|
|
282
|
-
payload: {
|
|
283
|
-
error: error.message,
|
|
284
|
-
stack: error.stack
|
|
285
|
-
},
|
|
286
|
-
priority: message.priority,
|
|
287
|
-
timestamp: new Date(),
|
|
288
|
-
requestId: message.requestId
|
|
289
|
-
};
|
|
290
|
-
if (this.quicTransport) {
|
|
291
|
-
await this.quicTransport.send(message.from, errorResponse);
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
ensureQUICEnabled() {
|
|
296
|
-
if (!this.quicTransport) {
|
|
297
|
-
throw new Error('QUIC transport not enabled. Call enableQUIC() first.');
|
|
298
|
-
}
|
|
299
|
-
}
|
|
300
|
-
getAgentId() {
|
|
301
|
-
// Try to get agent ID from various sources
|
|
302
|
-
if ('agentId' in this && typeof this.agentId === 'object') {
|
|
303
|
-
return this.agentId.id;
|
|
304
|
-
}
|
|
305
|
-
if ('id' in this) {
|
|
306
|
-
return this.id;
|
|
307
|
-
}
|
|
308
|
-
return 'unknown-agent';
|
|
309
|
-
}
|
|
310
|
-
generateMessageId() {
|
|
311
|
-
return `msg-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Register a custom message handler for a specific channel
|
|
315
|
-
*/
|
|
316
|
-
onQUICMessage(channel, handler) {
|
|
317
|
-
this.messageHandlers.set(channel, handler);
|
|
318
|
-
this.logger.debug(`Registered QUIC message handler for channel: ${channel}`);
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Register a request handler for a specific channel
|
|
322
|
-
*/
|
|
323
|
-
onQUICRequest(channel, handler) {
|
|
324
|
-
this.messageHandlers.set(`request:${channel}`, handler);
|
|
325
|
-
this.logger.debug(`Registered QUIC request handler for channel: ${channel}`);
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* Unregister a message handler
|
|
329
|
-
*/
|
|
330
|
-
offQUICMessage(channel) {
|
|
331
|
-
this.messageHandlers.delete(channel);
|
|
332
|
-
this.messageHandlers.delete(`request:${channel}`);
|
|
333
|
-
}
|
|
334
|
-
};
|
|
335
|
-
}
|
|
336
|
-
/**
|
|
337
|
-
* Helper function to check if an object has QUIC capabilities
|
|
338
|
-
*/
|
|
339
|
-
function hasQUICCapabilities(obj) {
|
|
340
|
-
return (typeof obj.enableQUIC === 'function' &&
|
|
341
|
-
typeof obj.disableQUIC === 'function' &&
|
|
342
|
-
typeof obj.isQUICEnabled === 'function' &&
|
|
343
|
-
typeof obj.sendToAgent === 'function' &&
|
|
344
|
-
typeof obj.broadcastToFleet === 'function');
|
|
345
|
-
}
|
|
346
|
-
//# sourceMappingURL=QUICCapableMixin.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"QUICCapableMixin.js","sourceRoot":"","sources":["../../../src/agents/mixins/QUICCapableMixin.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Certificate Validation and Pinning for QUIC Transport
|
|
3
|
-
*
|
|
4
|
-
* Provides comprehensive certificate validation, pinning, and security checks
|
|
5
|
-
* to prevent man-in-the-middle attacks and ensure secure communication.
|
|
6
|
-
*
|
|
7
|
-
* @module CertificateValidator
|
|
8
|
-
*/
|
|
9
|
-
import * as tls from 'tls';
|
|
10
|
-
export interface CertificateValidationOptions {
|
|
11
|
-
/** Require valid CA-signed certificates */
|
|
12
|
-
requireValidCertificates: boolean;
|
|
13
|
-
/** Reject unauthorized certificates */
|
|
14
|
-
rejectUnauthorized: boolean;
|
|
15
|
-
/** Check certificate expiry */
|
|
16
|
-
checkExpiry: boolean;
|
|
17
|
-
/** Check certificate revocation (OCSP) */
|
|
18
|
-
checkRevocation: boolean;
|
|
19
|
-
/** Allow self-signed certificates (DEVELOPMENT ONLY) */
|
|
20
|
-
allowSelfSigned: boolean;
|
|
21
|
-
/** Minimum TLS version */
|
|
22
|
-
minTLSVersion: string;
|
|
23
|
-
/** Allowed cipher suites */
|
|
24
|
-
allowedCipherSuites?: string[];
|
|
25
|
-
}
|
|
26
|
-
export interface CertificatePinningOptions {
|
|
27
|
-
/** Enable certificate pinning */
|
|
28
|
-
enabled: boolean;
|
|
29
|
-
/** Expected certificate fingerprints (SHA-256) */
|
|
30
|
-
fingerprints: string[];
|
|
31
|
-
/** Hash algorithm for fingerprints */
|
|
32
|
-
algorithm: 'sha256' | 'sha384' | 'sha512';
|
|
33
|
-
}
|
|
34
|
-
export interface CertificateInfo {
|
|
35
|
-
/** Certificate subject */
|
|
36
|
-
subject: string;
|
|
37
|
-
/** Certificate issuer */
|
|
38
|
-
issuer: string;
|
|
39
|
-
/** Valid from date */
|
|
40
|
-
validFrom: Date;
|
|
41
|
-
/** Valid to date */
|
|
42
|
-
validTo: Date;
|
|
43
|
-
/** Certificate fingerprint */
|
|
44
|
-
fingerprint: string;
|
|
45
|
-
/** Is self-signed */
|
|
46
|
-
isSelfSigned: boolean;
|
|
47
|
-
/** Is expired */
|
|
48
|
-
isExpired: boolean;
|
|
49
|
-
/** Is CA-signed */
|
|
50
|
-
isCAVerified: boolean;
|
|
51
|
-
/** Common Name */
|
|
52
|
-
commonName: string;
|
|
53
|
-
/** Subject Alternative Names */
|
|
54
|
-
subjectAltNames: string[];
|
|
55
|
-
}
|
|
56
|
-
export interface ValidationResult {
|
|
57
|
-
/** Validation passed */
|
|
58
|
-
valid: boolean;
|
|
59
|
-
/** Validation errors */
|
|
60
|
-
errors: string[];
|
|
61
|
-
/** Validation warnings */
|
|
62
|
-
warnings: string[];
|
|
63
|
-
/** Certificate information */
|
|
64
|
-
certificateInfo?: CertificateInfo;
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Certificate Validator
|
|
68
|
-
*
|
|
69
|
-
* Handles certificate validation, pinning, and security checks for QUIC transport.
|
|
70
|
-
* Prevents common TLS/QUIC security vulnerabilities.
|
|
71
|
-
*/
|
|
72
|
-
export declare class CertificateValidator {
|
|
73
|
-
private readonly logger;
|
|
74
|
-
private validationOptions;
|
|
75
|
-
private pinningOptions;
|
|
76
|
-
private environment;
|
|
77
|
-
constructor(validationOptions: CertificateValidationOptions, pinningOptions: CertificatePinningOptions, environment?: 'development' | 'production');
|
|
78
|
-
/**
|
|
79
|
-
* Validate certificate file paths
|
|
80
|
-
*/
|
|
81
|
-
validateCertificatePaths(certPath: string, keyPath: string, caPath?: string): ValidationResult;
|
|
82
|
-
/**
|
|
83
|
-
* Load and validate certificate
|
|
84
|
-
*/
|
|
85
|
-
loadCertificate(certPath: string): CertificateInfo;
|
|
86
|
-
/**
|
|
87
|
-
* Validate certificate against security requirements
|
|
88
|
-
*/
|
|
89
|
-
validateCertificate(certInfo: CertificateInfo): ValidationResult;
|
|
90
|
-
/**
|
|
91
|
-
* Validate certificate pinning
|
|
92
|
-
*/
|
|
93
|
-
validateCertificatePinning(fingerprint: string): ValidationResult;
|
|
94
|
-
/**
|
|
95
|
-
* Create TLS options for secure connections
|
|
96
|
-
*/
|
|
97
|
-
createTLSOptions(certPath: string, keyPath: string, caPath?: string): tls.TlsOptions;
|
|
98
|
-
/**
|
|
99
|
-
* Calculate certificate fingerprint
|
|
100
|
-
*/
|
|
101
|
-
calculateFingerprint(certPem: string): string;
|
|
102
|
-
/**
|
|
103
|
-
* Calculate certificate fingerprint from certificate object
|
|
104
|
-
*/
|
|
105
|
-
private calculateCertificateFingerprint;
|
|
106
|
-
/**
|
|
107
|
-
* Parse PEM certificate
|
|
108
|
-
*/
|
|
109
|
-
private parseCertificate;
|
|
110
|
-
/**
|
|
111
|
-
* Check if certificate is self-signed
|
|
112
|
-
*/
|
|
113
|
-
private isSelfSigned;
|
|
114
|
-
/**
|
|
115
|
-
* Check if certificate is expired
|
|
116
|
-
*/
|
|
117
|
-
private isExpired;
|
|
118
|
-
/**
|
|
119
|
-
* Generate security audit log entry
|
|
120
|
-
*/
|
|
121
|
-
auditLog(event: string, details: any): void;
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Load security configuration from file
|
|
125
|
-
*/
|
|
126
|
-
export declare function loadSecurityConfig(configPath?: string): {
|
|
127
|
-
validation: CertificateValidationOptions;
|
|
128
|
-
pinning: CertificatePinningOptions;
|
|
129
|
-
};
|
|
130
|
-
//# sourceMappingURL=CertificateValidator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CertificateValidator.d.ts","sourceRoot":"","sources":["../../../src/core/security/CertificateValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAG3B,MAAM,WAAW,4BAA4B;IAC3C,2CAA2C;IAC3C,wBAAwB,EAAE,OAAO,CAAC;IAElC,uCAAuC;IACvC,kBAAkB,EAAE,OAAO,CAAC;IAE5B,+BAA+B;IAC/B,WAAW,EAAE,OAAO,CAAC;IAErB,0CAA0C;IAC1C,eAAe,EAAE,OAAO,CAAC;IAEzB,wDAAwD;IACxD,eAAe,EAAE,OAAO,CAAC;IAEzB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IAEtB,4BAA4B;IAC5B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,OAAO,EAAE,OAAO,CAAC;IAEjB,kDAAkD;IAClD,YAAY,EAAE,MAAM,EAAE,CAAC;IAEvB,sCAAsC;IACtC,SAAS,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,yBAAyB;IACzB,MAAM,EAAE,MAAM,CAAC;IAEf,sBAAsB;IACtB,SAAS,EAAE,IAAI,CAAC;IAEhB,oBAAoB;IACpB,OAAO,EAAE,IAAI,CAAC;IAEd,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IAEpB,qBAAqB;IACrB,YAAY,EAAE,OAAO,CAAC;IAEtB,iBAAiB;IACjB,SAAS,EAAE,OAAO,CAAC;IAEnB,mBAAmB;IACnB,YAAY,EAAE,OAAO,CAAC;IAEtB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IAEnB,gCAAgC;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB;IACxB,KAAK,EAAE,OAAO,CAAC;IAEf,wBAAwB;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB,8BAA8B;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,iBAAiB,CAA+B;IACxD,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,WAAW,CAA+B;gBAGhD,iBAAiB,EAAE,4BAA4B,EAC/C,cAAc,EAAE,yBAAyB,EACzC,WAAW,GAAE,aAAa,GAAG,YAA2B;IAgB1D;;OAEG;IACH,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAiD9F;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe;IAkBlD;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,gBAAgB;IA+DhE;;OAEG;IACH,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB;IAqCjE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,UAAU;IAwEpF;;OAEG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAY7C;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAQvC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,IAAI;CAO5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAA2C,GACtD;IAAE,UAAU,EAAE,4BAA4B,CAAC;IAAC,OAAO,EAAE,yBAAyB,CAAA;CAAE,CAmDlF"}
|