agentic-qe 2.6.0 → 2.6.2
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/CHANGELOG.md +156 -0
- package/README.md +222 -159
- package/dist/agents/BaseAgent.d.ts +19 -0
- package/dist/agents/BaseAgent.d.ts.map +1 -1
- package/dist/agents/BaseAgent.js +41 -1
- package/dist/agents/BaseAgent.js.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.d.ts +14 -0
- package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -1
- package/dist/agents/CodeIntelligenceAgent.js +66 -0
- package/dist/agents/CodeIntelligenceAgent.js.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.d.ts +8 -0
- package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
- package/dist/agents/CoverageAnalyzerAgent.js +65 -1
- package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
- package/dist/agents/TestGeneratorAgent.d.ts +2 -2
- package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
- package/dist/agents/TestGeneratorAgent.js +16 -6
- package/dist/agents/TestGeneratorAgent.js.map +1 -1
- package/dist/agents/adapters/AgentLLMAdapter.d.ts +127 -0
- package/dist/agents/adapters/AgentLLMAdapter.d.ts.map +1 -0
- package/dist/agents/adapters/AgentLLMAdapter.js +366 -0
- package/dist/agents/adapters/AgentLLMAdapter.js.map +1 -0
- package/dist/agents/adapters/index.d.ts +1 -0
- package/dist/agents/adapters/index.d.ts.map +1 -1
- package/dist/agents/adapters/index.js +5 -1
- package/dist/agents/adapters/index.js.map +1 -1
- package/dist/agents/interfaces/IAgentLLM.d.ts +257 -0
- package/dist/agents/interfaces/IAgentLLM.d.ts.map +1 -0
- package/dist/agents/interfaces/IAgentLLM.js +39 -0
- package/dist/agents/interfaces/IAgentLLM.js.map +1 -0
- package/dist/agents/interfaces/index.d.ts +10 -0
- package/dist/agents/interfaces/index.d.ts.map +1 -0
- package/dist/agents/interfaces/index.js +14 -0
- package/dist/agents/interfaces/index.js.map +1 -0
- package/dist/agents/n8n/N8nBaseAgent.d.ts +18 -0
- package/dist/agents/n8n/N8nBaseAgent.d.ts.map +1 -1
- package/dist/agents/n8n/N8nBaseAgent.js +80 -0
- package/dist/agents/n8n/N8nBaseAgent.js.map +1 -1
- package/dist/agents/pool/AgentPool.d.ts +112 -0
- package/dist/agents/pool/AgentPool.d.ts.map +1 -0
- package/dist/agents/pool/AgentPool.js +573 -0
- package/dist/agents/pool/AgentPool.js.map +1 -0
- package/dist/agents/pool/QEAgentPoolFactory.d.ts +118 -0
- package/dist/agents/pool/QEAgentPoolFactory.d.ts.map +1 -0
- package/dist/agents/pool/QEAgentPoolFactory.js +251 -0
- package/dist/agents/pool/QEAgentPoolFactory.js.map +1 -0
- package/dist/agents/pool/index.d.ts +34 -0
- package/dist/agents/pool/index.d.ts.map +1 -0
- package/dist/agents/pool/index.js +44 -0
- package/dist/agents/pool/index.js.map +1 -0
- package/dist/agents/pool/types.d.ts +227 -0
- package/dist/agents/pool/types.d.ts.map +1 -0
- package/dist/agents/pool/types.js +28 -0
- package/dist/agents/pool/types.js.map +1 -0
- package/dist/cli/commands/providers.d.ts +50 -0
- package/dist/cli/commands/providers.d.ts.map +1 -0
- package/dist/cli/commands/providers.js +403 -0
- package/dist/cli/commands/providers.js.map +1 -0
- package/dist/cli/index.js +62 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/code-intelligence/indexing/FileWatcher.d.ts.map +1 -1
- package/dist/code-intelligence/indexing/FileWatcher.js +11 -8
- package/dist/code-intelligence/indexing/FileWatcher.js.map +1 -1
- package/dist/config/ConfigLoader.d.ts +85 -0
- package/dist/config/ConfigLoader.d.ts.map +1 -0
- package/dist/config/ConfigLoader.js +420 -0
- package/dist/config/ConfigLoader.js.map +1 -0
- package/dist/config/ProviderConfig.d.ts +153 -0
- package/dist/config/ProviderConfig.d.ts.map +1 -0
- package/dist/config/ProviderConfig.js +155 -0
- package/dist/config/ProviderConfig.js.map +1 -0
- package/dist/config/index.d.ts +35 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +45 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/memory/HNSWVectorMemory.js +1 -1
- package/dist/mcp/handlers/agent-spawn.d.ts +71 -5
- package/dist/mcp/handlers/agent-spawn.d.ts.map +1 -1
- package/dist/mcp/handlers/agent-spawn.js +336 -110
- package/dist/mcp/handlers/agent-spawn.js.map +1 -1
- package/dist/mcp/handlers/fleet-init.d.ts +24 -0
- package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
- package/dist/mcp/handlers/fleet-init.js +56 -4
- package/dist/mcp/handlers/fleet-init.js.map +1 -1
- package/dist/mcp/server-instructions.d.ts +1 -1
- package/dist/mcp/server-instructions.js +1 -1
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.d.ts.map +1 -1
- package/dist/memory/HNSWPatternStore.js +23 -0
- package/dist/memory/HNSWPatternStore.js.map +1 -1
- package/dist/memory/RuVectorPatternStore.d.ts +5 -0
- package/dist/memory/RuVectorPatternStore.d.ts.map +1 -1
- package/dist/memory/RuVectorPatternStore.js +11 -0
- package/dist/memory/RuVectorPatternStore.js.map +1 -1
- package/dist/plugins/BasePlugin.d.ts +111 -0
- package/dist/plugins/BasePlugin.d.ts.map +1 -0
- package/dist/plugins/BasePlugin.js +154 -0
- package/dist/plugins/BasePlugin.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +145 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +862 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/adapters/McpToolsPlugin.d.ts +98 -0
- package/dist/plugins/adapters/McpToolsPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/McpToolsPlugin.js +518 -0
- package/dist/plugins/adapters/McpToolsPlugin.js.map +1 -0
- package/dist/plugins/adapters/PlaywrightPlugin.d.ts +63 -0
- package/dist/plugins/adapters/PlaywrightPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/PlaywrightPlugin.js +451 -0
- package/dist/plugins/adapters/PlaywrightPlugin.js.map +1 -0
- package/dist/plugins/adapters/VitestPlugin.d.ts +74 -0
- package/dist/plugins/adapters/VitestPlugin.d.ts.map +1 -0
- package/dist/plugins/adapters/VitestPlugin.js +589 -0
- package/dist/plugins/adapters/VitestPlugin.js.map +1 -0
- package/dist/plugins/adapters/index.d.ts +8 -0
- package/dist/plugins/adapters/index.d.ts.map +1 -0
- package/dist/plugins/adapters/index.js +17 -0
- package/dist/plugins/adapters/index.js.map +1 -0
- package/dist/plugins/index.d.ts +32 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +48 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/types.d.ts +528 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/plugins/types.js +61 -0
- package/dist/plugins/types.js.map +1 -0
- package/dist/providers/CostOptimizationStrategies.d.ts +297 -0
- package/dist/providers/CostOptimizationStrategies.d.ts.map +1 -0
- package/dist/providers/CostOptimizationStrategies.js +831 -0
- package/dist/providers/CostOptimizationStrategies.js.map +1 -0
- package/dist/providers/HybridRouter.d.ts +142 -5
- package/dist/providers/HybridRouter.d.ts.map +1 -1
- package/dist/providers/HybridRouter.js +472 -6
- package/dist/providers/HybridRouter.js.map +1 -1
- package/dist/providers/HybridRouterComplexityIntegration.d.ts +169 -0
- package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -0
- package/dist/providers/HybridRouterComplexityIntegration.js +319 -0
- package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -0
- package/dist/providers/HybridRouterModelSelection.d.ts +106 -0
- package/dist/providers/HybridRouterModelSelection.d.ts.map +1 -0
- package/dist/providers/HybridRouterModelSelection.js +420 -0
- package/dist/providers/HybridRouterModelSelection.js.map +1 -0
- package/dist/providers/LLMProviderFactory.d.ts +23 -9
- package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
- package/dist/providers/LLMProviderFactory.js +54 -11
- package/dist/providers/LLMProviderFactory.js.map +1 -1
- package/dist/providers/OllamaProvider.d.ts +122 -0
- package/dist/providers/OllamaProvider.d.ts.map +1 -0
- package/dist/providers/OllamaProvider.js +425 -0
- package/dist/providers/OllamaProvider.js.map +1 -0
- package/dist/providers/index.d.ts +6 -1
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +17 -1
- package/dist/providers/index.js.map +1 -1
- package/dist/routing/ComplexityClassifier.d.ts +266 -0
- package/dist/routing/ComplexityClassifier.d.ts.map +1 -0
- package/dist/routing/ComplexityClassifier.js +567 -0
- package/dist/routing/ComplexityClassifier.js.map +1 -0
- package/dist/routing/ModelCapabilityRegistry.d.ts +98 -0
- package/dist/routing/ModelCapabilityRegistry.d.ts.map +1 -0
- package/dist/routing/ModelCapabilityRegistry.js +216 -0
- package/dist/routing/ModelCapabilityRegistry.js.map +1 -0
- package/dist/routing/index.d.ts +13 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +24 -0
- package/dist/routing/index.js.map +1 -0
- package/docs/reference/model-capability-registry.md +402 -0
- package/docs/reference/provider-config-schema.md +608 -0
- package/package.json +21 -3
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin System Module
|
|
3
|
+
* Phase 3 B2: Extensible Test Framework Adapters
|
|
4
|
+
*
|
|
5
|
+
* Provides a plugin architecture for:
|
|
6
|
+
* - Hot-swappable test framework adapters
|
|
7
|
+
* - Community plugin development
|
|
8
|
+
* - Enterprise customization
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import { getPluginManager, PluginCategory } from './plugins';
|
|
13
|
+
*
|
|
14
|
+
* // Get plugin manager
|
|
15
|
+
* const manager = getPluginManager();
|
|
16
|
+
* await manager.initialize();
|
|
17
|
+
*
|
|
18
|
+
* // Register a custom plugin
|
|
19
|
+
* await manager.registerPlugin(myPlugin);
|
|
20
|
+
* await manager.activatePlugin('my-plugin');
|
|
21
|
+
*
|
|
22
|
+
* // Get test framework plugins
|
|
23
|
+
* const frameworks = manager.getPluginsByCategory(PluginCategory.TEST_FRAMEWORK);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export { Plugin, TestFrameworkPlugin, PluginMetadata, PluginDependency, PluginCategory, PluginState, PluginContext, PluginManagerAPI, PluginLogger, PluginConfigStore, PluginEventBus, PluginStorage, PluginRegistration, PluginDiscoveryResult, PluginManagerConfig, PluginManagerEvents, PluginFactory, PluginModule, TestGenerationSpec, GeneratedTest, ParsedTestFile, ParsedTestSuite, ParsedTest, ParsedHook, TestExecutionOptions, TestExecutionResult, TestResult, CoverageData, FrameworkConfig, } from './types';
|
|
27
|
+
export { PluginManager, getPluginManager, resetPluginManager, } from './PluginManager';
|
|
28
|
+
export { BasePlugin } from './BasePlugin';
|
|
29
|
+
export { PlaywrightPlugin } from './adapters/PlaywrightPlugin';
|
|
30
|
+
export { VitestPlugin } from './adapters/VitestPlugin';
|
|
31
|
+
export { McpToolsPlugin, McpToolCapability } from './adapters/McpToolsPlugin';
|
|
32
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,EAEL,MAAM,EACN,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,aAAa,EACb,YAAY,EAGZ,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,UAAU,EACV,oBAAoB,EACpB,mBAAmB,EACnB,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Plugin System Module
|
|
4
|
+
* Phase 3 B2: Extensible Test Framework Adapters
|
|
5
|
+
*
|
|
6
|
+
* Provides a plugin architecture for:
|
|
7
|
+
* - Hot-swappable test framework adapters
|
|
8
|
+
* - Community plugin development
|
|
9
|
+
* - Enterprise customization
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```typescript
|
|
13
|
+
* import { getPluginManager, PluginCategory } from './plugins';
|
|
14
|
+
*
|
|
15
|
+
* // Get plugin manager
|
|
16
|
+
* const manager = getPluginManager();
|
|
17
|
+
* await manager.initialize();
|
|
18
|
+
*
|
|
19
|
+
* // Register a custom plugin
|
|
20
|
+
* await manager.registerPlugin(myPlugin);
|
|
21
|
+
* await manager.activatePlugin('my-plugin');
|
|
22
|
+
*
|
|
23
|
+
* // Get test framework plugins
|
|
24
|
+
* const frameworks = manager.getPluginsByCategory(PluginCategory.TEST_FRAMEWORK);
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
28
|
+
exports.McpToolsPlugin = exports.VitestPlugin = exports.PlaywrightPlugin = exports.BasePlugin = exports.resetPluginManager = exports.getPluginManager = exports.PluginManager = exports.PluginState = exports.PluginCategory = void 0;
|
|
29
|
+
// Core types
|
|
30
|
+
var types_1 = require("./types");
|
|
31
|
+
Object.defineProperty(exports, "PluginCategory", { enumerable: true, get: function () { return types_1.PluginCategory; } });
|
|
32
|
+
Object.defineProperty(exports, "PluginState", { enumerable: true, get: function () { return types_1.PluginState; } });
|
|
33
|
+
// Plugin Manager
|
|
34
|
+
var PluginManager_1 = require("./PluginManager");
|
|
35
|
+
Object.defineProperty(exports, "PluginManager", { enumerable: true, get: function () { return PluginManager_1.PluginManager; } });
|
|
36
|
+
Object.defineProperty(exports, "getPluginManager", { enumerable: true, get: function () { return PluginManager_1.getPluginManager; } });
|
|
37
|
+
Object.defineProperty(exports, "resetPluginManager", { enumerable: true, get: function () { return PluginManager_1.resetPluginManager; } });
|
|
38
|
+
// Base plugin class for easier plugin development
|
|
39
|
+
var BasePlugin_1 = require("./BasePlugin");
|
|
40
|
+
Object.defineProperty(exports, "BasePlugin", { enumerable: true, get: function () { return BasePlugin_1.BasePlugin; } });
|
|
41
|
+
// Reference plugins
|
|
42
|
+
var PlaywrightPlugin_1 = require("./adapters/PlaywrightPlugin");
|
|
43
|
+
Object.defineProperty(exports, "PlaywrightPlugin", { enumerable: true, get: function () { return PlaywrightPlugin_1.PlaywrightPlugin; } });
|
|
44
|
+
var VitestPlugin_1 = require("./adapters/VitestPlugin");
|
|
45
|
+
Object.defineProperty(exports, "VitestPlugin", { enumerable: true, get: function () { return VitestPlugin_1.VitestPlugin; } });
|
|
46
|
+
var McpToolsPlugin_1 = require("./adapters/McpToolsPlugin");
|
|
47
|
+
Object.defineProperty(exports, "McpToolsPlugin", { enumerable: true, get: function () { return McpToolsPlugin_1.McpToolsPlugin; } });
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugins/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;;;AAEH,aAAa;AACb,iCAiCiB;AA3Bf,uGAAA,cAAc,OAAA;AACd,oGAAA,WAAW,OAAA;AA4Bb,iBAAiB;AACjB,iDAIyB;AAHvB,8GAAA,aAAa,OAAA;AACb,iHAAA,gBAAgB,OAAA;AAChB,mHAAA,kBAAkB,OAAA;AAGpB,kDAAkD;AAClD,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,oBAAoB;AACpB,gEAA+D;AAAtD,oHAAA,gBAAgB,OAAA;AACzB,wDAAuD;AAA9C,4GAAA,YAAY,OAAA;AACrB,4DAA8E;AAArE,gHAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,528 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Plugin System Types
|
|
3
|
+
* Phase 3 B2: Extensible Test Framework Adapters
|
|
4
|
+
*
|
|
5
|
+
* Provides type definitions for the plugin architecture enabling:
|
|
6
|
+
* - Hot-swappable test framework adapters
|
|
7
|
+
* - Community plugin development
|
|
8
|
+
* - Enterprise customization
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Plugin metadata for identification and compatibility
|
|
12
|
+
*/
|
|
13
|
+
export interface PluginMetadata {
|
|
14
|
+
/** Unique plugin identifier (e.g., 'playwright-adapter') */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Human-readable name */
|
|
17
|
+
name: string;
|
|
18
|
+
/** Semantic version (e.g., '1.0.0') */
|
|
19
|
+
version: string;
|
|
20
|
+
/** Plugin description */
|
|
21
|
+
description: string;
|
|
22
|
+
/** Plugin author */
|
|
23
|
+
author: string;
|
|
24
|
+
/** Plugin homepage or repository URL */
|
|
25
|
+
homepage?: string;
|
|
26
|
+
/** Plugin license */
|
|
27
|
+
license?: string;
|
|
28
|
+
/** Keywords for discovery */
|
|
29
|
+
keywords?: string[];
|
|
30
|
+
/** Minimum agentic-qe version required */
|
|
31
|
+
minAgenticQEVersion: string;
|
|
32
|
+
/** Maximum agentic-qe version supported (optional) */
|
|
33
|
+
maxAgenticQEVersion?: string;
|
|
34
|
+
/** Plugin dependencies (other plugins) */
|
|
35
|
+
dependencies?: PluginDependency[];
|
|
36
|
+
/** Plugin category */
|
|
37
|
+
category: PluginCategory;
|
|
38
|
+
/** Whether plugin is enabled by default */
|
|
39
|
+
enabledByDefault?: boolean;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Plugin dependency specification
|
|
43
|
+
*/
|
|
44
|
+
export interface PluginDependency {
|
|
45
|
+
/** Plugin ID */
|
|
46
|
+
pluginId: string;
|
|
47
|
+
/** Version requirement (semver range) */
|
|
48
|
+
versionRange: string;
|
|
49
|
+
/** Whether dependency is optional */
|
|
50
|
+
optional?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Plugin categories
|
|
54
|
+
*/
|
|
55
|
+
export declare enum PluginCategory {
|
|
56
|
+
/** Test framework adapters (Playwright, Vitest, Cypress) */
|
|
57
|
+
TEST_FRAMEWORK = "test-framework",
|
|
58
|
+
/** Test generation strategies */
|
|
59
|
+
TEST_GENERATOR = "test-generator",
|
|
60
|
+
/** Coverage analysis tools */
|
|
61
|
+
COVERAGE = "coverage",
|
|
62
|
+
/** Reporting and output formats */
|
|
63
|
+
REPORTER = "reporter",
|
|
64
|
+
/** MCP tool integrations */
|
|
65
|
+
MCP_TOOLS = "mcp-tools",
|
|
66
|
+
/** CI/CD integrations */
|
|
67
|
+
CI_CD = "ci-cd",
|
|
68
|
+
/** IDE integrations */
|
|
69
|
+
IDE = "ide",
|
|
70
|
+
/** Custom agent extensions */
|
|
71
|
+
AGENT_EXTENSION = "agent-extension",
|
|
72
|
+
/** Utility plugins */
|
|
73
|
+
UTILITY = "utility"
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Plugin lifecycle state
|
|
77
|
+
*/
|
|
78
|
+
export declare enum PluginState {
|
|
79
|
+
/** Plugin discovered but not loaded */
|
|
80
|
+
DISCOVERED = "discovered",
|
|
81
|
+
/** Plugin is loading */
|
|
82
|
+
LOADING = "loading",
|
|
83
|
+
/** Plugin loaded but not activated */
|
|
84
|
+
LOADED = "loaded",
|
|
85
|
+
/** Plugin is activating */
|
|
86
|
+
ACTIVATING = "activating",
|
|
87
|
+
/** Plugin active and ready */
|
|
88
|
+
ACTIVE = "active",
|
|
89
|
+
/** Plugin is deactivating */
|
|
90
|
+
DEACTIVATING = "deactivating",
|
|
91
|
+
/** Plugin deactivated */
|
|
92
|
+
INACTIVE = "inactive",
|
|
93
|
+
/** Plugin failed to load or activate */
|
|
94
|
+
ERROR = "error",
|
|
95
|
+
/** Plugin unloaded */
|
|
96
|
+
UNLOADED = "unloaded"
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Plugin context provided during lifecycle events
|
|
100
|
+
*/
|
|
101
|
+
export interface PluginContext {
|
|
102
|
+
/** Plugin's own metadata */
|
|
103
|
+
metadata: PluginMetadata;
|
|
104
|
+
/** Agentic QE version */
|
|
105
|
+
agenticQEVersion: string;
|
|
106
|
+
/** Plugin manager API for inter-plugin communication */
|
|
107
|
+
pluginManager: PluginManagerAPI;
|
|
108
|
+
/** Logger for plugin */
|
|
109
|
+
logger: PluginLogger;
|
|
110
|
+
/** Configuration store */
|
|
111
|
+
config: PluginConfigStore;
|
|
112
|
+
/** Event bus for plugin events */
|
|
113
|
+
events: PluginEventBus;
|
|
114
|
+
/** Storage API for plugin data */
|
|
115
|
+
storage: PluginStorage;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Plugin manager API exposed to plugins
|
|
119
|
+
*/
|
|
120
|
+
export interface PluginManagerAPI {
|
|
121
|
+
/** Get another plugin by ID */
|
|
122
|
+
getPlugin<T extends Plugin = Plugin>(id: string): T | undefined;
|
|
123
|
+
/** Check if plugin is available */
|
|
124
|
+
hasPlugin(id: string): boolean;
|
|
125
|
+
/** Get all plugins of a category */
|
|
126
|
+
getPluginsByCategory(category: PluginCategory): Plugin[];
|
|
127
|
+
/** Register a service that other plugins can use */
|
|
128
|
+
registerService<T>(name: string, service: T): void;
|
|
129
|
+
/** Get a registered service */
|
|
130
|
+
getService<T>(name: string): T | undefined;
|
|
131
|
+
/** Request plugin activation */
|
|
132
|
+
requestActivation(pluginId: string): Promise<void>;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Plugin logger interface
|
|
136
|
+
*/
|
|
137
|
+
export interface PluginLogger {
|
|
138
|
+
debug(message: string, ...args: unknown[]): void;
|
|
139
|
+
info(message: string, ...args: unknown[]): void;
|
|
140
|
+
warn(message: string, ...args: unknown[]): void;
|
|
141
|
+
error(message: string, ...args: unknown[]): void;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Plugin configuration store
|
|
145
|
+
*/
|
|
146
|
+
export interface PluginConfigStore {
|
|
147
|
+
/** Get configuration value */
|
|
148
|
+
get<T>(key: string, defaultValue?: T): T | undefined;
|
|
149
|
+
/** Set configuration value */
|
|
150
|
+
set<T>(key: string, value: T): void;
|
|
151
|
+
/** Check if key exists */
|
|
152
|
+
has(key: string): boolean;
|
|
153
|
+
/** Get all configuration */
|
|
154
|
+
getAll(): Record<string, unknown>;
|
|
155
|
+
/** Reset to defaults */
|
|
156
|
+
reset(): void;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Plugin event bus for inter-plugin communication
|
|
160
|
+
*/
|
|
161
|
+
export interface PluginEventBus {
|
|
162
|
+
/** Emit an event */
|
|
163
|
+
emit(event: string, data?: unknown): void;
|
|
164
|
+
/** Listen for an event */
|
|
165
|
+
on(event: string, handler: (data: unknown) => void): () => void;
|
|
166
|
+
/** Listen for an event once */
|
|
167
|
+
once(event: string, handler: (data: unknown) => void): () => void;
|
|
168
|
+
/** Remove all listeners for an event */
|
|
169
|
+
off(event: string): void;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Plugin storage API
|
|
173
|
+
*/
|
|
174
|
+
export interface PluginStorage {
|
|
175
|
+
/** Get stored value */
|
|
176
|
+
get<T>(key: string): Promise<T | undefined>;
|
|
177
|
+
/** Set stored value */
|
|
178
|
+
set<T>(key: string, value: T): Promise<void>;
|
|
179
|
+
/** Delete stored value */
|
|
180
|
+
delete(key: string): Promise<void>;
|
|
181
|
+
/** List all keys */
|
|
182
|
+
keys(): Promise<string[]>;
|
|
183
|
+
/** Clear all stored data */
|
|
184
|
+
clear(): Promise<void>;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Core plugin interface that all plugins must implement
|
|
188
|
+
*/
|
|
189
|
+
export interface Plugin {
|
|
190
|
+
/** Plugin metadata */
|
|
191
|
+
readonly metadata: PluginMetadata;
|
|
192
|
+
/**
|
|
193
|
+
* Called when plugin is loaded
|
|
194
|
+
* Use for lightweight initialization (no async operations)
|
|
195
|
+
*/
|
|
196
|
+
onLoad?(context: PluginContext): void;
|
|
197
|
+
/**
|
|
198
|
+
* Called when plugin is activated
|
|
199
|
+
* Use for heavy initialization, connecting to services, etc.
|
|
200
|
+
*/
|
|
201
|
+
onActivate?(context: PluginContext): Promise<void>;
|
|
202
|
+
/**
|
|
203
|
+
* Called when plugin is deactivated
|
|
204
|
+
* Use for cleanup, disconnecting from services, etc.
|
|
205
|
+
*/
|
|
206
|
+
onDeactivate?(context: PluginContext): Promise<void>;
|
|
207
|
+
/**
|
|
208
|
+
* Called when plugin is unloaded
|
|
209
|
+
* Use for final cleanup
|
|
210
|
+
*/
|
|
211
|
+
onUnload?(context: PluginContext): void;
|
|
212
|
+
/**
|
|
213
|
+
* Called when plugin configuration changes
|
|
214
|
+
*/
|
|
215
|
+
onConfigChange?(context: PluginContext, changes: Record<string, unknown>): void;
|
|
216
|
+
/**
|
|
217
|
+
* Health check for the plugin
|
|
218
|
+
* Returns true if plugin is healthy
|
|
219
|
+
*/
|
|
220
|
+
healthCheck?(): Promise<boolean>;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Test framework adapter plugin interface
|
|
224
|
+
* Extends Plugin with test-specific capabilities
|
|
225
|
+
*/
|
|
226
|
+
export interface TestFrameworkPlugin extends Plugin {
|
|
227
|
+
/** Supported file patterns for this test framework */
|
|
228
|
+
readonly filePatterns: string[];
|
|
229
|
+
/** Framework identifier */
|
|
230
|
+
readonly frameworkId: string;
|
|
231
|
+
/**
|
|
232
|
+
* Generate test code for the framework
|
|
233
|
+
*/
|
|
234
|
+
generateTest(spec: TestGenerationSpec): Promise<GeneratedTest>;
|
|
235
|
+
/**
|
|
236
|
+
* Parse existing test file
|
|
237
|
+
*/
|
|
238
|
+
parseTestFile(filePath: string, content: string): Promise<ParsedTestFile>;
|
|
239
|
+
/**
|
|
240
|
+
* Execute tests
|
|
241
|
+
*/
|
|
242
|
+
executeTests(options: TestExecutionOptions): Promise<TestExecutionResult>;
|
|
243
|
+
/**
|
|
244
|
+
* Get framework-specific configuration
|
|
245
|
+
*/
|
|
246
|
+
getFrameworkConfig(): FrameworkConfig;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Test generation specification
|
|
250
|
+
*/
|
|
251
|
+
export interface TestGenerationSpec {
|
|
252
|
+
/** Source code to test */
|
|
253
|
+
sourceCode: string;
|
|
254
|
+
/** Source file path */
|
|
255
|
+
sourceFilePath: string;
|
|
256
|
+
/** Test type */
|
|
257
|
+
testType: 'unit' | 'integration' | 'e2e' | 'component';
|
|
258
|
+
/** Target test file path */
|
|
259
|
+
targetFilePath?: string;
|
|
260
|
+
/** Additional context */
|
|
261
|
+
context?: Record<string, unknown>;
|
|
262
|
+
/** Coverage targets */
|
|
263
|
+
coverageTargets?: string[];
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Generated test result
|
|
267
|
+
*/
|
|
268
|
+
export interface GeneratedTest {
|
|
269
|
+
/** Generated test code */
|
|
270
|
+
code: string;
|
|
271
|
+
/** Suggested file path */
|
|
272
|
+
filePath: string;
|
|
273
|
+
/** Imports required */
|
|
274
|
+
imports: string[];
|
|
275
|
+
/** Dependencies to install */
|
|
276
|
+
dependencies?: {
|
|
277
|
+
name: string;
|
|
278
|
+
version: string;
|
|
279
|
+
dev?: boolean;
|
|
280
|
+
}[];
|
|
281
|
+
/** Test metadata */
|
|
282
|
+
metadata: {
|
|
283
|
+
testCount: number;
|
|
284
|
+
coveredFunctions: string[];
|
|
285
|
+
coverageEstimate: number;
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Parsed test file structure
|
|
290
|
+
*/
|
|
291
|
+
export interface ParsedTestFile {
|
|
292
|
+
/** Test suites found */
|
|
293
|
+
suites: ParsedTestSuite[];
|
|
294
|
+
/** Imports */
|
|
295
|
+
imports: string[];
|
|
296
|
+
/** File-level setup/teardown */
|
|
297
|
+
hooks: ParsedHook[];
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Parsed test suite
|
|
301
|
+
*/
|
|
302
|
+
export interface ParsedTestSuite {
|
|
303
|
+
name: string;
|
|
304
|
+
tests: ParsedTest[];
|
|
305
|
+
nestedSuites: ParsedTestSuite[];
|
|
306
|
+
hooks: ParsedHook[];
|
|
307
|
+
line: number;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Parsed individual test
|
|
311
|
+
*/
|
|
312
|
+
export interface ParsedTest {
|
|
313
|
+
name: string;
|
|
314
|
+
line: number;
|
|
315
|
+
isSkipped: boolean;
|
|
316
|
+
isOnly: boolean;
|
|
317
|
+
tags?: string[];
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Parsed hook (beforeAll, afterEach, etc.)
|
|
321
|
+
*/
|
|
322
|
+
export interface ParsedHook {
|
|
323
|
+
type: 'beforeAll' | 'afterAll' | 'beforeEach' | 'afterEach';
|
|
324
|
+
line: number;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Test execution options
|
|
328
|
+
*/
|
|
329
|
+
export interface TestExecutionOptions {
|
|
330
|
+
/** Test files to run */
|
|
331
|
+
testFiles: string[];
|
|
332
|
+
/** Filter by test name pattern */
|
|
333
|
+
testNamePattern?: string;
|
|
334
|
+
/** Run in watch mode */
|
|
335
|
+
watch?: boolean;
|
|
336
|
+
/** Coverage options */
|
|
337
|
+
coverage?: {
|
|
338
|
+
enabled: boolean;
|
|
339
|
+
reporters?: string[];
|
|
340
|
+
threshold?: number;
|
|
341
|
+
};
|
|
342
|
+
/** Parallel execution */
|
|
343
|
+
parallel?: boolean;
|
|
344
|
+
/** Max workers */
|
|
345
|
+
maxWorkers?: number;
|
|
346
|
+
/** Timeout per test */
|
|
347
|
+
timeout?: number;
|
|
348
|
+
/** Environment variables */
|
|
349
|
+
env?: Record<string, string>;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Test execution result
|
|
353
|
+
*/
|
|
354
|
+
export interface TestExecutionResult {
|
|
355
|
+
/** Overall success */
|
|
356
|
+
success: boolean;
|
|
357
|
+
/** Test results */
|
|
358
|
+
tests: TestResult[];
|
|
359
|
+
/** Duration in ms */
|
|
360
|
+
duration: number;
|
|
361
|
+
/** Coverage data if collected */
|
|
362
|
+
coverage?: CoverageData;
|
|
363
|
+
/** Console output */
|
|
364
|
+
output: string;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* Individual test result
|
|
368
|
+
*/
|
|
369
|
+
export interface TestResult {
|
|
370
|
+
name: string;
|
|
371
|
+
suite: string;
|
|
372
|
+
status: 'passed' | 'failed' | 'skipped' | 'pending';
|
|
373
|
+
duration: number;
|
|
374
|
+
error?: {
|
|
375
|
+
message: string;
|
|
376
|
+
stack?: string;
|
|
377
|
+
};
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Coverage data
|
|
381
|
+
*/
|
|
382
|
+
export interface CoverageData {
|
|
383
|
+
lines: {
|
|
384
|
+
total: number;
|
|
385
|
+
covered: number;
|
|
386
|
+
percentage: number;
|
|
387
|
+
};
|
|
388
|
+
branches: {
|
|
389
|
+
total: number;
|
|
390
|
+
covered: number;
|
|
391
|
+
percentage: number;
|
|
392
|
+
};
|
|
393
|
+
functions: {
|
|
394
|
+
total: number;
|
|
395
|
+
covered: number;
|
|
396
|
+
percentage: number;
|
|
397
|
+
};
|
|
398
|
+
statements: {
|
|
399
|
+
total: number;
|
|
400
|
+
covered: number;
|
|
401
|
+
percentage: number;
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
/**
|
|
405
|
+
* Framework-specific configuration
|
|
406
|
+
*/
|
|
407
|
+
export interface FrameworkConfig {
|
|
408
|
+
/** Config file name (e.g., 'playwright.config.ts') */
|
|
409
|
+
configFileName: string;
|
|
410
|
+
/** Default test directory */
|
|
411
|
+
defaultTestDir: string;
|
|
412
|
+
/** Default config template */
|
|
413
|
+
configTemplate: string;
|
|
414
|
+
/** Required dependencies */
|
|
415
|
+
dependencies: {
|
|
416
|
+
name: string;
|
|
417
|
+
version: string;
|
|
418
|
+
dev?: boolean;
|
|
419
|
+
}[];
|
|
420
|
+
}
|
|
421
|
+
/**
|
|
422
|
+
* Plugin registration entry
|
|
423
|
+
*/
|
|
424
|
+
export interface PluginRegistration {
|
|
425
|
+
/** Plugin instance */
|
|
426
|
+
plugin: Plugin;
|
|
427
|
+
/** Current state */
|
|
428
|
+
state: PluginState;
|
|
429
|
+
/** Plugin context */
|
|
430
|
+
context?: PluginContext;
|
|
431
|
+
/** Load timestamp */
|
|
432
|
+
loadedAt?: Date;
|
|
433
|
+
/** Activation timestamp */
|
|
434
|
+
activatedAt?: Date;
|
|
435
|
+
/** Last error */
|
|
436
|
+
lastError?: Error;
|
|
437
|
+
/** Dependencies resolved */
|
|
438
|
+
dependenciesResolved: boolean;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Plugin discovery result
|
|
442
|
+
*/
|
|
443
|
+
export interface PluginDiscoveryResult {
|
|
444
|
+
/** Discovered plugins */
|
|
445
|
+
plugins: PluginMetadata[];
|
|
446
|
+
/** Discovery errors */
|
|
447
|
+
errors: {
|
|
448
|
+
path: string;
|
|
449
|
+
error: string;
|
|
450
|
+
}[];
|
|
451
|
+
/** Discovery duration */
|
|
452
|
+
duration: number;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Plugin manager configuration
|
|
456
|
+
*/
|
|
457
|
+
export interface PluginManagerConfig {
|
|
458
|
+
/** Directories to search for plugins */
|
|
459
|
+
pluginDirs: string[];
|
|
460
|
+
/** Enable hot reload in development */
|
|
461
|
+
hotReload: boolean;
|
|
462
|
+
/** Plugin load timeout in ms */
|
|
463
|
+
loadTimeout: number;
|
|
464
|
+
/** Plugin activation timeout in ms */
|
|
465
|
+
activationTimeout: number;
|
|
466
|
+
/** Enable plugin sandboxing */
|
|
467
|
+
sandboxing: boolean;
|
|
468
|
+
/** Auto-activate plugins on load */
|
|
469
|
+
autoActivate: boolean;
|
|
470
|
+
/** Plugin config overrides */
|
|
471
|
+
pluginConfigs: Record<string, Record<string, unknown>>;
|
|
472
|
+
}
|
|
473
|
+
/**
|
|
474
|
+
* Plugin manager events
|
|
475
|
+
*/
|
|
476
|
+
export interface PluginManagerEvents {
|
|
477
|
+
'plugin:discovered': {
|
|
478
|
+
metadata: PluginMetadata;
|
|
479
|
+
};
|
|
480
|
+
'plugin:loading': {
|
|
481
|
+
pluginId: string;
|
|
482
|
+
};
|
|
483
|
+
'plugin:loaded': {
|
|
484
|
+
pluginId: string;
|
|
485
|
+
};
|
|
486
|
+
'plugin:activating': {
|
|
487
|
+
pluginId: string;
|
|
488
|
+
};
|
|
489
|
+
'plugin:activated': {
|
|
490
|
+
pluginId: string;
|
|
491
|
+
};
|
|
492
|
+
'plugin:deactivating': {
|
|
493
|
+
pluginId: string;
|
|
494
|
+
};
|
|
495
|
+
'plugin:deactivated': {
|
|
496
|
+
pluginId: string;
|
|
497
|
+
};
|
|
498
|
+
'plugin:unloaded': {
|
|
499
|
+
pluginId: string;
|
|
500
|
+
};
|
|
501
|
+
'plugin:error': {
|
|
502
|
+
pluginId: string;
|
|
503
|
+
error: Error;
|
|
504
|
+
};
|
|
505
|
+
'plugin:configChanged': {
|
|
506
|
+
pluginId: string;
|
|
507
|
+
changes: Record<string, unknown>;
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Factory function type for creating plugins
|
|
512
|
+
*/
|
|
513
|
+
export type PluginFactory = () => Plugin;
|
|
514
|
+
/**
|
|
515
|
+
* Plugin module export structure
|
|
516
|
+
* Supports multiple export patterns for flexibility
|
|
517
|
+
*/
|
|
518
|
+
export interface PluginModule {
|
|
519
|
+
/** Default export can be plugin or factory */
|
|
520
|
+
default?: Plugin | PluginFactory;
|
|
521
|
+
/** Named createPlugin factory function */
|
|
522
|
+
createPlugin?: PluginFactory;
|
|
523
|
+
/** Named plugin export */
|
|
524
|
+
plugin?: Plugin;
|
|
525
|
+
/** Optional named export for metadata */
|
|
526
|
+
metadata?: PluginMetadata;
|
|
527
|
+
}
|
|
528
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/plugins/types.ts"],"names":[],"mappings":"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"}
|