agentic-qe 1.9.4 → 2.0.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/.claude/agents/qe-api-contract-validator.md +95 -1336
- package/.claude/agents/qe-chaos-engineer.md +152 -1211
- package/.claude/agents/qe-code-complexity.md +144 -707
- package/.claude/agents/qe-coverage-analyzer.md +147 -743
- package/.claude/agents/qe-deployment-readiness.md +143 -1496
- package/.claude/agents/qe-flaky-test-hunter.md +132 -1529
- package/.claude/agents/qe-fleet-commander.md +12 -12
- package/.claude/agents/qe-performance-tester.md +150 -886
- package/.claude/agents/qe-production-intelligence.md +155 -1396
- package/.claude/agents/qe-quality-analyzer.md +6 -6
- package/.claude/agents/qe-quality-gate.md +151 -648
- package/.claude/agents/qe-regression-risk-analyzer.md +132 -1150
- package/.claude/agents/qe-requirements-validator.md +149 -932
- package/.claude/agents/qe-security-scanner.md +157 -797
- package/.claude/agents/qe-test-data-architect.md +96 -1365
- package/.claude/agents/qe-test-executor.md +8 -8
- package/.claude/agents/qe-test-generator.md +145 -1540
- package/.claude/agents/qe-visual-tester.md +153 -1257
- package/.claude/agents/qx-partner.md +235 -0
- package/.claude/agents/subagents/qe-code-reviewer.md +40 -136
- package/.claude/agents/subagents/qe-coverage-gap-analyzer.md +40 -480
- package/.claude/agents/subagents/qe-data-generator.md +41 -125
- package/.claude/agents/subagents/qe-flaky-investigator.md +55 -411
- package/.claude/agents/subagents/qe-integration-tester.md +53 -141
- package/.claude/agents/subagents/qe-performance-validator.md +54 -130
- package/.claude/agents/subagents/qe-security-auditor.md +56 -114
- package/.claude/agents/subagents/qe-test-data-architect-sub.md +57 -548
- package/.claude/agents/subagents/qe-test-implementer.md +58 -551
- package/.claude/agents/subagents/qe-test-refactorer.md +65 -722
- package/.claude/agents/subagents/qe-test-writer.md +63 -726
- package/.claude/skills/skills-manifest.json +632 -0
- package/.claude/skills/testability-scoring/README.md +71 -0
- package/.claude/skills/testability-scoring/SKILL.md +611 -0
- package/.claude/skills/testability-scoring/resources/templates/config.template.js +84 -0
- package/.claude/skills/testability-scoring/resources/templates/testability-scoring.spec.template.js +532 -0
- package/.claude/skills/testability-scoring/scripts/generate-html-report.js +1007 -0
- package/.claude/skills/testability-scoring/scripts/run-assessment.sh +70 -0
- package/CHANGELOG.md +62 -0
- package/README.md +33 -6
- package/dist/agents/QXPartnerAgent.d.ts +139 -0
- package/dist/agents/QXPartnerAgent.d.ts.map +1 -0
- package/dist/agents/QXPartnerAgent.js +769 -0
- package/dist/agents/QXPartnerAgent.js.map +1 -0
- package/dist/agents/index.d.ts +1 -0
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +82 -2
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/debug/agent.d.ts.map +1 -1
- package/dist/cli/commands/debug/agent.js +19 -6
- package/dist/cli/commands/debug/agent.js.map +1 -1
- package/dist/cli/commands/debug/health-check.js +20 -7
- package/dist/cli/commands/debug/health-check.js.map +1 -1
- package/dist/cli/commands/init-claude-md-template.d.ts +1 -0
- package/dist/cli/commands/init-claude-md-template.d.ts.map +1 -1
- package/dist/cli/commands/init-claude-md-template.js +4 -3
- package/dist/cli/commands/init-claude-md-template.js.map +1 -1
- package/dist/cli/commands/workflow/cancel.d.ts.map +1 -1
- package/dist/cli/commands/workflow/cancel.js +4 -3
- package/dist/cli/commands/workflow/cancel.js.map +1 -1
- package/dist/cli/commands/workflow/list.d.ts.map +1 -1
- package/dist/cli/commands/workflow/list.js +4 -3
- package/dist/cli/commands/workflow/list.js.map +1 -1
- package/dist/cli/commands/workflow/pause.d.ts.map +1 -1
- package/dist/cli/commands/workflow/pause.js +4 -3
- package/dist/cli/commands/workflow/pause.js.map +1 -1
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +3 -8
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/cli/init/claude-md.d.ts.map +1 -1
- package/dist/cli/init/claude-md.js +44 -2
- package/dist/cli/init/claude-md.js.map +1 -1
- package/dist/cli/init/database-init.js +1 -1
- package/dist/cli/init/index.d.ts.map +1 -1
- package/dist/cli/init/index.js +13 -6
- package/dist/cli/init/index.js.map +1 -1
- package/dist/cli/init/skills.d.ts.map +1 -1
- package/dist/cli/init/skills.js +2 -1
- package/dist/cli/init/skills.js.map +1 -1
- package/dist/core/memory/AgentDBIntegration.d.ts +24 -6
- package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
- package/dist/core/memory/AgentDBIntegration.js +66 -10
- package/dist/core/memory/AgentDBIntegration.js.map +1 -1
- package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +341 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.js +986 -0
- package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -0
- package/dist/core/memory/index.d.ts +5 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +23 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/core/optimization/SwarmOptimizer.d.ts +185 -0
- package/dist/core/optimization/SwarmOptimizer.d.ts.map +1 -0
- package/dist/core/optimization/SwarmOptimizer.js +631 -0
- package/dist/core/optimization/SwarmOptimizer.js.map +1 -0
- package/dist/core/optimization/index.d.ts +9 -0
- package/dist/core/optimization/index.d.ts.map +1 -0
- package/dist/core/optimization/index.js +25 -0
- package/dist/core/optimization/index.js.map +1 -0
- package/dist/core/optimization/types.d.ts +53 -0
- package/dist/core/optimization/types.d.ts.map +1 -0
- package/dist/core/optimization/types.js +6 -0
- package/dist/core/optimization/types.js.map +1 -0
- package/dist/core/orchestration/PriorityQueue.d.ts +54 -0
- package/dist/core/orchestration/PriorityQueue.d.ts.map +1 -0
- package/dist/core/orchestration/PriorityQueue.js +122 -0
- package/dist/core/orchestration/PriorityQueue.js.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts +176 -0
- package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js +813 -0
- package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -0
- package/dist/core/orchestration/index.d.ts +7 -0
- package/dist/core/orchestration/index.d.ts.map +1 -0
- package/dist/core/orchestration/index.js +11 -0
- package/dist/core/orchestration/index.js.map +1 -0
- package/dist/core/orchestration/types.d.ts +96 -0
- package/dist/core/orchestration/types.d.ts.map +1 -0
- package/dist/core/orchestration/types.js +6 -0
- package/dist/core/orchestration/types.js.map +1 -0
- package/dist/core/skills/DynamicSkillLoader.d.ts +96 -0
- package/dist/core/skills/DynamicSkillLoader.d.ts.map +1 -0
- package/dist/core/skills/DynamicSkillLoader.js +353 -0
- package/dist/core/skills/DynamicSkillLoader.js.map +1 -0
- package/dist/core/skills/types.d.ts +118 -0
- package/dist/core/skills/types.d.ts.map +1 -0
- package/dist/core/skills/types.js +7 -0
- package/dist/core/skills/types.js.map +1 -0
- package/dist/core/transport/QUICTransport.d.ts +320 -0
- package/dist/core/transport/QUICTransport.d.ts.map +1 -0
- package/dist/core/transport/QUICTransport.js +711 -0
- package/dist/core/transport/QUICTransport.js.map +1 -0
- package/dist/core/transport/index.d.ts +40 -0
- package/dist/core/transport/index.d.ts.map +1 -0
- package/dist/core/transport/index.js +46 -0
- package/dist/core/transport/index.js.map +1 -0
- package/dist/core/transport/quic-loader.d.ts +123 -0
- package/dist/core/transport/quic-loader.d.ts.map +1 -0
- package/dist/core/transport/quic-loader.js +293 -0
- package/dist/core/transport/quic-loader.js.map +1 -0
- package/dist/core/transport/quic.d.ts +154 -0
- package/dist/core/transport/quic.d.ts.map +1 -0
- package/dist/core/transport/quic.js +214 -0
- package/dist/core/transport/quic.js.map +1 -0
- package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
- package/dist/mcp/services/AgentRegistry.js +4 -1
- package/dist/mcp/services/AgentRegistry.js.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/qx.d.ts +397 -0
- package/dist/types/qx.d.ts.map +1 -0
- package/dist/types/qx.js +71 -0
- package/dist/types/qx.js.map +1 -0
- package/dist/visualization/api/RestEndpoints.js +1 -1
- package/dist/visualization/api/RestEndpoints.js.map +1 -1
- package/dist/visualization/api/WebSocketServer.d.ts +44 -0
- package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
- package/dist/visualization/api/WebSocketServer.js +144 -23
- package/dist/visualization/api/WebSocketServer.js.map +1 -1
- package/dist/visualization/core/DataTransformer.d.ts +10 -0
- package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
- package/dist/visualization/core/DataTransformer.js +60 -5
- package/dist/visualization/core/DataTransformer.js.map +1 -1
- package/dist/visualization/emit-event.d.ts +75 -0
- package/dist/visualization/emit-event.d.ts.map +1 -0
- package/dist/visualization/emit-event.js +213 -0
- package/dist/visualization/emit-event.js.map +1 -0
- package/dist/visualization/index.d.ts +1 -0
- package/dist/visualization/index.d.ts.map +1 -1
- package/dist/visualization/index.js +7 -1
- package/dist/visualization/index.js.map +1 -1
- package/docs/reference/skills.md +63 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QUICTransport.js","sourceRoot":"","sources":["../../../src/core/transport/QUICTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport Layer for Agentic QE Fleet
|
|
3
|
+
*
|
|
4
|
+
* Provides high-performance agent communication infrastructure.
|
|
5
|
+
*
|
|
6
|
+
* Two transport options are available:
|
|
7
|
+
*
|
|
8
|
+
* 1. **QUIC Transport** (recommended for production)
|
|
9
|
+
* - 0-RTT connection establishment (50-70% faster than TCP/WebSocket)
|
|
10
|
+
* - Stream multiplexing without head-of-line blocking
|
|
11
|
+
* - Built-in TLS 1.3 encryption
|
|
12
|
+
* - Requires: @agentic-flow/quic-wasm package
|
|
13
|
+
*
|
|
14
|
+
* 2. **WebSocket Fallback** (always available)
|
|
15
|
+
* - Works on all Node.js versions
|
|
16
|
+
* - No native dependencies required
|
|
17
|
+
* - Slightly higher latency than QUIC
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { loadQuicTransport } from './transport';
|
|
22
|
+
*
|
|
23
|
+
* // Automatically uses QUIC if available, WebSocket otherwise
|
|
24
|
+
* const transport = await loadQuicTransport({
|
|
25
|
+
* serverName: 'agent-cluster.local'
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* await transport.send('192.168.1.100:4433', {
|
|
29
|
+
* id: 'msg-001',
|
|
30
|
+
* type: 'task',
|
|
31
|
+
* payload: { action: 'run-tests' }
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @packageDocumentation
|
|
36
|
+
*/
|
|
37
|
+
export { loadQuicTransport, isQuicAvailable, getTransportCapabilities, WebSocketFallbackTransport, } from './quic-loader';
|
|
38
|
+
export type { Transport, TransportCapabilities, } from './quic-loader';
|
|
39
|
+
export type { QuicTransport, QuicTransportConfig, AgentMessage, PoolStatistics, } from './quic';
|
|
40
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/transport/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAGH,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,wBAAwB,EACxB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,SAAS,EACT,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAGvB,YAAY,EACV,aAAa,EACb,mBAAmB,EACnB,YAAY,EACZ,cAAc,GACf,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Transport Layer for Agentic QE Fleet
|
|
4
|
+
*
|
|
5
|
+
* Provides high-performance agent communication infrastructure.
|
|
6
|
+
*
|
|
7
|
+
* Two transport options are available:
|
|
8
|
+
*
|
|
9
|
+
* 1. **QUIC Transport** (recommended for production)
|
|
10
|
+
* - 0-RTT connection establishment (50-70% faster than TCP/WebSocket)
|
|
11
|
+
* - Stream multiplexing without head-of-line blocking
|
|
12
|
+
* - Built-in TLS 1.3 encryption
|
|
13
|
+
* - Requires: @agentic-flow/quic-wasm package
|
|
14
|
+
*
|
|
15
|
+
* 2. **WebSocket Fallback** (always available)
|
|
16
|
+
* - Works on all Node.js versions
|
|
17
|
+
* - No native dependencies required
|
|
18
|
+
* - Slightly higher latency than QUIC
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* import { loadQuicTransport } from './transport';
|
|
23
|
+
*
|
|
24
|
+
* // Automatically uses QUIC if available, WebSocket otherwise
|
|
25
|
+
* const transport = await loadQuicTransport({
|
|
26
|
+
* serverName: 'agent-cluster.local'
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* await transport.send('192.168.1.100:4433', {
|
|
30
|
+
* id: 'msg-001',
|
|
31
|
+
* type: 'task',
|
|
32
|
+
* payload: { action: 'run-tests' }
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @packageDocumentation
|
|
37
|
+
*/
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.WebSocketFallbackTransport = exports.getTransportCapabilities = exports.isQuicAvailable = exports.loadQuicTransport = void 0;
|
|
40
|
+
// Main transport loader with automatic fallback
|
|
41
|
+
var quic_loader_1 = require("./quic-loader");
|
|
42
|
+
Object.defineProperty(exports, "loadQuicTransport", { enumerable: true, get: function () { return quic_loader_1.loadQuicTransport; } });
|
|
43
|
+
Object.defineProperty(exports, "isQuicAvailable", { enumerable: true, get: function () { return quic_loader_1.isQuicAvailable; } });
|
|
44
|
+
Object.defineProperty(exports, "getTransportCapabilities", { enumerable: true, get: function () { return quic_loader_1.getTransportCapabilities; } });
|
|
45
|
+
Object.defineProperty(exports, "WebSocketFallbackTransport", { enumerable: true, get: function () { return quic_loader_1.WebSocketFallbackTransport; } });
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/transport/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;;;AAEH,gDAAgD;AAChD,6CAKuB;AAJrB,gHAAA,iBAAiB,OAAA;AACjB,8GAAA,eAAe,OAAA;AACf,uHAAA,wBAAwB,OAAA;AACxB,yHAAA,0BAA0B,OAAA"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QUIC Transport Optional Loader
|
|
3
|
+
*
|
|
4
|
+
* Provides graceful fallback when QUIC WASM module is not available.
|
|
5
|
+
* This ensures Agentic QE Fleet works on all Node versions without requiring
|
|
6
|
+
* complex native dependencies.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
import type { QuicTransport, QuicTransportConfig, AgentMessage, PoolStatistics } from './quic';
|
|
11
|
+
/**
|
|
12
|
+
* WebSocket-based fallback transport
|
|
13
|
+
*
|
|
14
|
+
* Used when QUIC WASM module is not available. Provides similar API
|
|
15
|
+
* but uses standard WebSocket instead of QUIC protocol.
|
|
16
|
+
*
|
|
17
|
+
* Performance characteristics:
|
|
18
|
+
* - Higher latency than QUIC (no 0-RTT)
|
|
19
|
+
* - Head-of-line blocking on multiplexed streams
|
|
20
|
+
* - Still suitable for most use cases
|
|
21
|
+
*/
|
|
22
|
+
export declare class WebSocketFallbackTransport {
|
|
23
|
+
private connections;
|
|
24
|
+
private config;
|
|
25
|
+
private messageQueue;
|
|
26
|
+
private connectionPromises;
|
|
27
|
+
constructor(config: Required<QuicTransportConfig>);
|
|
28
|
+
/**
|
|
29
|
+
* Create a WebSocket fallback transport
|
|
30
|
+
*/
|
|
31
|
+
static create(config?: QuicTransportConfig): Promise<WebSocketFallbackTransport>;
|
|
32
|
+
/**
|
|
33
|
+
* Get or create a WebSocket connection
|
|
34
|
+
*/
|
|
35
|
+
private getOrCreateConnection;
|
|
36
|
+
/**
|
|
37
|
+
* Send a message via WebSocket
|
|
38
|
+
*/
|
|
39
|
+
send(address: string, message: AgentMessage): Promise<void>;
|
|
40
|
+
/**
|
|
41
|
+
* Receive a message from WebSocket
|
|
42
|
+
*/
|
|
43
|
+
receive(address: string): Promise<AgentMessage>;
|
|
44
|
+
/**
|
|
45
|
+
* Get connection statistics
|
|
46
|
+
*/
|
|
47
|
+
getStats(): Promise<PoolStatistics>;
|
|
48
|
+
/**
|
|
49
|
+
* Close all connections
|
|
50
|
+
*/
|
|
51
|
+
close(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Send request and receive response
|
|
54
|
+
*/
|
|
55
|
+
request(address: string, message: AgentMessage): Promise<AgentMessage>;
|
|
56
|
+
/**
|
|
57
|
+
* Send multiple messages in parallel
|
|
58
|
+
*/
|
|
59
|
+
sendBatch(address: string, messages: AgentMessage[]): Promise<void>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Transport type that can be either QUIC or WebSocket fallback
|
|
63
|
+
*/
|
|
64
|
+
export type Transport = QuicTransport | WebSocketFallbackTransport;
|
|
65
|
+
/**
|
|
66
|
+
* Load QUIC transport with automatic fallback
|
|
67
|
+
*
|
|
68
|
+
* Attempts to load native QUIC WASM module. If not available,
|
|
69
|
+
* falls back to WebSocket transport with graceful warning.
|
|
70
|
+
*
|
|
71
|
+
* @param config - Transport configuration
|
|
72
|
+
* @returns Transport instance (QUIC or WebSocket fallback)
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const transport = await loadQuicTransport({
|
|
77
|
+
* serverName: 'agent-proxy.local'
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* await transport.send('127.0.0.1:4433', {
|
|
81
|
+
* id: 'msg-001',
|
|
82
|
+
* type: 'task',
|
|
83
|
+
* payload: { action: 'execute' }
|
|
84
|
+
* });
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
87
|
+
export declare function loadQuicTransport(config?: QuicTransportConfig): Promise<Transport>;
|
|
88
|
+
/**
|
|
89
|
+
* Check if QUIC transport is available
|
|
90
|
+
*
|
|
91
|
+
* @returns Promise resolving to true if QUIC WASM module is available
|
|
92
|
+
*/
|
|
93
|
+
export declare function isQuicAvailable(): Promise<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Transport capabilities information
|
|
96
|
+
*/
|
|
97
|
+
export interface TransportCapabilities {
|
|
98
|
+
quic: boolean;
|
|
99
|
+
websocket: boolean;
|
|
100
|
+
recommended: 'quic' | 'websocket';
|
|
101
|
+
performance: {
|
|
102
|
+
quic: {
|
|
103
|
+
latency: string;
|
|
104
|
+
throughput: string;
|
|
105
|
+
multiplexing: boolean;
|
|
106
|
+
encryption: string;
|
|
107
|
+
};
|
|
108
|
+
websocket: {
|
|
109
|
+
latency: string;
|
|
110
|
+
throughput: string;
|
|
111
|
+
multiplexing: boolean;
|
|
112
|
+
encryption: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Get transport capabilities
|
|
118
|
+
*
|
|
119
|
+
* @returns Object describing available transport features
|
|
120
|
+
*/
|
|
121
|
+
export declare function getTransportCapabilities(): Promise<TransportCapabilities>;
|
|
122
|
+
export type { QuicTransport, QuicTransportConfig, AgentMessage, PoolStatistics };
|
|
123
|
+
//# sourceMappingURL=quic-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quic-loader.d.ts","sourceRoot":"","sources":["../../../src/core/transport/quic-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAE/F;;;;;;;;;;GAUG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,MAAM,CAAgC;IAC9C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,kBAAkB,CAA8C;gBAE5D,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAIjD;;OAEG;WACU,MAAM,CAAC,MAAM,GAAE,mBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAW1F;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyD7B;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAKjE;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwBrD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC;IAkBzC;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;OAEG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAK5E;;OAEG;IACG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1E;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,0BAA0B,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,GAAE,mBAAwB,GAC/B,OAAO,CAAC,SAAS,CAAC,CAuBpB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CASxD;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,WAAW,CAAC;IAClC,WAAW,EAAE;QACX,IAAI,EAAE;YACJ,OAAO,EAAE,MAAM,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,OAAO,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,MAAM,CAAC;YAChB,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,OAAO,CAAC;YACtB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,qBAAqB,CAAC,CAsB/E;AAGD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* QUIC Transport Optional Loader
|
|
4
|
+
*
|
|
5
|
+
* Provides graceful fallback when QUIC WASM module is not available.
|
|
6
|
+
* This ensures Agentic QE Fleet works on all Node versions without requiring
|
|
7
|
+
* complex native dependencies.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
16
|
+
}
|
|
17
|
+
Object.defineProperty(o, k2, desc);
|
|
18
|
+
}) : (function(o, m, k, k2) {
|
|
19
|
+
if (k2 === undefined) k2 = k;
|
|
20
|
+
o[k2] = m[k];
|
|
21
|
+
}));
|
|
22
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
23
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
24
|
+
}) : function(o, v) {
|
|
25
|
+
o["default"] = v;
|
|
26
|
+
});
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.WebSocketFallbackTransport = void 0;
|
|
46
|
+
exports.loadQuicTransport = loadQuicTransport;
|
|
47
|
+
exports.isQuicAvailable = isQuicAvailable;
|
|
48
|
+
exports.getTransportCapabilities = getTransportCapabilities;
|
|
49
|
+
/**
|
|
50
|
+
* WebSocket-based fallback transport
|
|
51
|
+
*
|
|
52
|
+
* Used when QUIC WASM module is not available. Provides similar API
|
|
53
|
+
* but uses standard WebSocket instead of QUIC protocol.
|
|
54
|
+
*
|
|
55
|
+
* Performance characteristics:
|
|
56
|
+
* - Higher latency than QUIC (no 0-RTT)
|
|
57
|
+
* - Head-of-line blocking on multiplexed streams
|
|
58
|
+
* - Still suitable for most use cases
|
|
59
|
+
*/
|
|
60
|
+
class WebSocketFallbackTransport {
|
|
61
|
+
constructor(config) {
|
|
62
|
+
this.connections = new Map();
|
|
63
|
+
this.messageQueue = new Map();
|
|
64
|
+
this.connectionPromises = new Map();
|
|
65
|
+
this.config = config;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create a WebSocket fallback transport
|
|
69
|
+
*/
|
|
70
|
+
static async create(config = {}) {
|
|
71
|
+
const fullConfig = {
|
|
72
|
+
serverName: config.serverName ?? 'localhost',
|
|
73
|
+
maxIdleTimeoutMs: config.maxIdleTimeoutMs ?? 30000,
|
|
74
|
+
maxConcurrentStreams: config.maxConcurrentStreams ?? 100,
|
|
75
|
+
enable0Rtt: config.enable0Rtt ?? false, // Not supported in WebSocket
|
|
76
|
+
};
|
|
77
|
+
return new WebSocketFallbackTransport(fullConfig);
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get or create a WebSocket connection
|
|
81
|
+
*/
|
|
82
|
+
getOrCreateConnection(address) {
|
|
83
|
+
// Return existing connection if open
|
|
84
|
+
const existing = this.connections.get(address);
|
|
85
|
+
if (existing && existing.readyState === WebSocket.OPEN) {
|
|
86
|
+
return Promise.resolve(existing);
|
|
87
|
+
}
|
|
88
|
+
// Return pending connection if already connecting
|
|
89
|
+
const pending = this.connectionPromises.get(address);
|
|
90
|
+
if (pending) {
|
|
91
|
+
return pending;
|
|
92
|
+
}
|
|
93
|
+
// Create new connection
|
|
94
|
+
const connectionPromise = new Promise((resolve, reject) => {
|
|
95
|
+
const protocol = this.config.serverName.includes('localhost') ? 'ws' : 'wss';
|
|
96
|
+
const ws = new WebSocket(`${protocol}://${address}`);
|
|
97
|
+
const timeout = setTimeout(() => {
|
|
98
|
+
ws.close();
|
|
99
|
+
reject(new Error(`WebSocket connection timeout to ${address}`));
|
|
100
|
+
}, this.config.maxIdleTimeoutMs);
|
|
101
|
+
ws.onopen = () => {
|
|
102
|
+
clearTimeout(timeout);
|
|
103
|
+
this.connections.set(address, ws);
|
|
104
|
+
this.connectionPromises.delete(address);
|
|
105
|
+
resolve(ws);
|
|
106
|
+
};
|
|
107
|
+
ws.onerror = (error) => {
|
|
108
|
+
clearTimeout(timeout);
|
|
109
|
+
this.connectionPromises.delete(address);
|
|
110
|
+
reject(new Error(`WebSocket connection failed to ${address}: ${error}`));
|
|
111
|
+
};
|
|
112
|
+
ws.onclose = () => {
|
|
113
|
+
this.connections.delete(address);
|
|
114
|
+
this.connectionPromises.delete(address);
|
|
115
|
+
};
|
|
116
|
+
ws.onmessage = (event) => {
|
|
117
|
+
try {
|
|
118
|
+
const message = JSON.parse(event.data);
|
|
119
|
+
const queue = this.messageQueue.get(address) || [];
|
|
120
|
+
queue.push(message);
|
|
121
|
+
this.messageQueue.set(address, queue);
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// Ignore malformed messages
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
});
|
|
128
|
+
this.connectionPromises.set(address, connectionPromise);
|
|
129
|
+
return connectionPromise;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Send a message via WebSocket
|
|
133
|
+
*/
|
|
134
|
+
async send(address, message) {
|
|
135
|
+
const ws = await this.getOrCreateConnection(address);
|
|
136
|
+
ws.send(JSON.stringify(message));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Receive a message from WebSocket
|
|
140
|
+
*/
|
|
141
|
+
async receive(address) {
|
|
142
|
+
// Check queue first
|
|
143
|
+
const queue = this.messageQueue.get(address) || [];
|
|
144
|
+
if (queue.length > 0) {
|
|
145
|
+
return queue.shift();
|
|
146
|
+
}
|
|
147
|
+
// Wait for message with timeout
|
|
148
|
+
return new Promise((resolve, reject) => {
|
|
149
|
+
const timeout = setTimeout(() => {
|
|
150
|
+
reject(new Error(`Receive timeout from ${address}`));
|
|
151
|
+
}, this.config.maxIdleTimeoutMs);
|
|
152
|
+
const checkQueue = setInterval(() => {
|
|
153
|
+
const queue = this.messageQueue.get(address) || [];
|
|
154
|
+
if (queue.length > 0) {
|
|
155
|
+
clearInterval(checkQueue);
|
|
156
|
+
clearTimeout(timeout);
|
|
157
|
+
resolve(queue.shift());
|
|
158
|
+
}
|
|
159
|
+
}, 50);
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Get connection statistics
|
|
164
|
+
*/
|
|
165
|
+
async getStats() {
|
|
166
|
+
let active = 0;
|
|
167
|
+
const idle = 0;
|
|
168
|
+
this.connections.forEach((ws) => {
|
|
169
|
+
if (ws.readyState === WebSocket.OPEN) {
|
|
170
|
+
active++;
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
return {
|
|
174
|
+
active,
|
|
175
|
+
idle,
|
|
176
|
+
created: this.connections.size,
|
|
177
|
+
closed: 0, // Not tracked in fallback
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Close all connections
|
|
182
|
+
*/
|
|
183
|
+
async close() {
|
|
184
|
+
this.connections.forEach((ws) => {
|
|
185
|
+
ws.close();
|
|
186
|
+
});
|
|
187
|
+
this.connections.clear();
|
|
188
|
+
this.messageQueue.clear();
|
|
189
|
+
this.connectionPromises.clear();
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Send request and receive response
|
|
193
|
+
*/
|
|
194
|
+
async request(address, message) {
|
|
195
|
+
await this.send(address, message);
|
|
196
|
+
return this.receive(address);
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Send multiple messages in parallel
|
|
200
|
+
*/
|
|
201
|
+
async sendBatch(address, messages) {
|
|
202
|
+
await Promise.all(messages.map(msg => this.send(address, msg)));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
exports.WebSocketFallbackTransport = WebSocketFallbackTransport;
|
|
206
|
+
/**
|
|
207
|
+
* Load QUIC transport with automatic fallback
|
|
208
|
+
*
|
|
209
|
+
* Attempts to load native QUIC WASM module. If not available,
|
|
210
|
+
* falls back to WebSocket transport with graceful warning.
|
|
211
|
+
*
|
|
212
|
+
* @param config - Transport configuration
|
|
213
|
+
* @returns Transport instance (QUIC or WebSocket fallback)
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* ```typescript
|
|
217
|
+
* const transport = await loadQuicTransport({
|
|
218
|
+
* serverName: 'agent-proxy.local'
|
|
219
|
+
* });
|
|
220
|
+
*
|
|
221
|
+
* await transport.send('127.0.0.1:4433', {
|
|
222
|
+
* id: 'msg-001',
|
|
223
|
+
* type: 'task',
|
|
224
|
+
* payload: { action: 'execute' }
|
|
225
|
+
* });
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
async function loadQuicTransport(config = {}) {
|
|
229
|
+
try {
|
|
230
|
+
// Attempt to load QUIC transport
|
|
231
|
+
const { QuicTransport } = await Promise.resolve().then(() => __importStar(require('./quic')));
|
|
232
|
+
const transport = await QuicTransport.create(config);
|
|
233
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
234
|
+
console.log('✅ QUIC transport loaded successfully (50-70% faster than WebSocket)');
|
|
235
|
+
}
|
|
236
|
+
return transport;
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
// Fall back to WebSocket
|
|
240
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
241
|
+
console.warn('⚠️ QUIC transport not available, using WebSocket fallback');
|
|
242
|
+
console.warn(' To enable QUIC, install @agentic-flow/quic-wasm:');
|
|
243
|
+
console.warn(' npm install @agentic-flow/quic-wasm');
|
|
244
|
+
console.warn('');
|
|
245
|
+
console.warn(' QUIC provides 50-70% faster communication than WebSocket');
|
|
246
|
+
}
|
|
247
|
+
return WebSocketFallbackTransport.create(config);
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Check if QUIC transport is available
|
|
252
|
+
*
|
|
253
|
+
* @returns Promise resolving to true if QUIC WASM module is available
|
|
254
|
+
*/
|
|
255
|
+
async function isQuicAvailable() {
|
|
256
|
+
try {
|
|
257
|
+
await Promise.resolve().then(() => __importStar(require('./quic')));
|
|
258
|
+
// Also check if WASM module is available
|
|
259
|
+
await Promise.resolve().then(() => __importStar(require('@agentic-flow/quic-wasm')));
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
catch {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Get transport capabilities
|
|
268
|
+
*
|
|
269
|
+
* @returns Object describing available transport features
|
|
270
|
+
*/
|
|
271
|
+
async function getTransportCapabilities() {
|
|
272
|
+
const quicAvailable = await isQuicAvailable();
|
|
273
|
+
return {
|
|
274
|
+
quic: quicAvailable,
|
|
275
|
+
websocket: true,
|
|
276
|
+
recommended: quicAvailable ? 'quic' : 'websocket',
|
|
277
|
+
performance: {
|
|
278
|
+
quic: {
|
|
279
|
+
latency: 'Ultra-low (0-RTT)',
|
|
280
|
+
throughput: 'Very High',
|
|
281
|
+
multiplexing: true,
|
|
282
|
+
encryption: 'TLS 1.3 built-in'
|
|
283
|
+
},
|
|
284
|
+
websocket: {
|
|
285
|
+
latency: 'Low',
|
|
286
|
+
throughput: 'High',
|
|
287
|
+
multiplexing: false,
|
|
288
|
+
encryption: 'TLS 1.2/1.3 optional'
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
//# sourceMappingURL=quic-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quic-loader.js","sourceRoot":"","sources":["../../../src/core/transport/quic-loader.ts"],"names":[],"mappings":"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"}
|