agentic-qe 1.7.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (152) hide show
  1. package/.claude/skills/sherlock-review/SKILL.md +786 -0
  2. package/CHANGELOG.md +625 -0
  3. package/README.md +42 -55
  4. package/dist/agents/BaseAgent.d.ts +10 -10
  5. package/dist/agents/BaseAgent.d.ts.map +1 -1
  6. package/dist/agents/BaseAgent.js +96 -78
  7. package/dist/agents/BaseAgent.js.map +1 -1
  8. package/dist/agents/CoverageAnalyzerAgent.js +2 -2
  9. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  10. package/dist/agents/LearningAgent.d.ts +2 -2
  11. package/dist/agents/LearningAgent.d.ts.map +1 -1
  12. package/dist/agents/LearningAgent.js +4 -4
  13. package/dist/agents/LearningAgent.js.map +1 -1
  14. package/dist/agents/TestExecutorAgent.d.ts +41 -2
  15. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  16. package/dist/agents/TestExecutorAgent.js +314 -64
  17. package/dist/agents/TestExecutorAgent.js.map +1 -1
  18. package/dist/agents/examples/batchAnalyze.d.ts +252 -0
  19. package/dist/agents/examples/batchAnalyze.d.ts.map +1 -0
  20. package/dist/agents/examples/batchAnalyze.js +259 -0
  21. package/dist/agents/examples/batchAnalyze.js.map +1 -0
  22. package/dist/agents/examples/batchGenerate.d.ts +153 -0
  23. package/dist/agents/examples/batchGenerate.d.ts.map +1 -0
  24. package/dist/agents/examples/batchGenerate.js +166 -0
  25. package/dist/agents/examples/batchGenerate.js.map +1 -0
  26. package/dist/agents/generateWithPII.d.ts +128 -0
  27. package/dist/agents/generateWithPII.d.ts.map +1 -0
  28. package/dist/agents/generateWithPII.js +175 -0
  29. package/dist/agents/generateWithPII.js.map +1 -0
  30. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts +1 -6
  31. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  32. package/dist/agents/lifecycle/AgentLifecycleManager.js +0 -7
  33. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  34. package/dist/cli/commands/init.d.ts +6 -3
  35. package/dist/cli/commands/init.d.ts.map +1 -1
  36. package/dist/cli/commands/init.js +51 -46
  37. package/dist/cli/commands/init.js.map +1 -1
  38. package/dist/cli/commands/learn/index.d.ts +4 -0
  39. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  40. package/dist/cli/commands/learn/index.js +57 -0
  41. package/dist/cli/commands/learn/index.js.map +1 -1
  42. package/dist/cli/index.js +14 -0
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/core/memory/AdapterConfig.d.ts +108 -0
  45. package/dist/core/memory/AdapterConfig.d.ts.map +1 -0
  46. package/dist/core/memory/AdapterConfig.js +189 -0
  47. package/dist/core/memory/AdapterConfig.js.map +1 -0
  48. package/dist/core/memory/AdapterFactory.d.ts +72 -0
  49. package/dist/core/memory/AdapterFactory.d.ts.map +1 -0
  50. package/dist/core/memory/AdapterFactory.js +152 -0
  51. package/dist/core/memory/AdapterFactory.js.map +1 -0
  52. package/dist/core/memory/AgentDBManager.d.ts +28 -5
  53. package/dist/core/memory/AgentDBManager.d.ts.map +1 -1
  54. package/dist/core/memory/AgentDBManager.js +99 -73
  55. package/dist/core/memory/AgentDBManager.js.map +1 -1
  56. package/dist/core/memory/PatternCache.d.ts +105 -0
  57. package/dist/core/memory/PatternCache.d.ts.map +1 -0
  58. package/dist/core/memory/PatternCache.js +183 -0
  59. package/dist/core/memory/PatternCache.js.map +1 -0
  60. package/dist/core/memory/RealAgentDBAdapter.d.ts +14 -0
  61. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
  62. package/dist/core/memory/RealAgentDBAdapter.js +153 -16
  63. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
  64. package/dist/core/memory/ReasoningBankAdapter.d.ts +4 -0
  65. package/dist/core/memory/ReasoningBankAdapter.d.ts.map +1 -1
  66. package/dist/core/memory/ReasoningBankAdapter.js +20 -0
  67. package/dist/core/memory/ReasoningBankAdapter.js.map +1 -1
  68. package/dist/core/memory/SwarmMemoryManager.d.ts +8 -0
  69. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  70. package/dist/core/memory/SwarmMemoryManager.js +33 -0
  71. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  72. package/dist/core/memory/index.d.ts +6 -0
  73. package/dist/core/memory/index.d.ts.map +1 -1
  74. package/dist/core/memory/index.js +12 -1
  75. package/dist/core/memory/index.js.map +1 -1
  76. package/dist/core/neural/NeuralTrainer.d.ts +2 -6
  77. package/dist/core/neural/NeuralTrainer.d.ts.map +1 -1
  78. package/dist/core/neural/NeuralTrainer.js +7 -25
  79. package/dist/core/neural/NeuralTrainer.js.map +1 -1
  80. package/dist/learning/ImprovementLoop.js +2 -2
  81. package/dist/learning/ImprovementLoop.js.map +1 -1
  82. package/dist/learning/LearningEngine.d.ts +11 -7
  83. package/dist/learning/LearningEngine.d.ts.map +1 -1
  84. package/dist/learning/LearningEngine.js +156 -72
  85. package/dist/learning/LearningEngine.js.map +1 -1
  86. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts +83 -0
  87. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.d.ts.map +1 -0
  88. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js +130 -0
  89. package/dist/mcp/handlers/filtered/coverage-analyzer-filtered.js.map +1 -0
  90. package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts +58 -0
  91. package/dist/mcp/handlers/filtered/flaky-detector-filtered.d.ts.map +1 -0
  92. package/dist/mcp/handlers/filtered/flaky-detector-filtered.js +84 -0
  93. package/dist/mcp/handlers/filtered/flaky-detector-filtered.js.map +1 -0
  94. package/dist/mcp/handlers/filtered/index.d.ts +47 -0
  95. package/dist/mcp/handlers/filtered/index.d.ts.map +1 -0
  96. package/dist/mcp/handlers/filtered/index.js +63 -0
  97. package/dist/mcp/handlers/filtered/index.js.map +1 -0
  98. package/dist/mcp/handlers/filtered/performance-tester-filtered.d.ts +57 -0
  99. package/dist/mcp/handlers/filtered/performance-tester-filtered.d.ts.map +1 -0
  100. package/dist/mcp/handlers/filtered/performance-tester-filtered.js +83 -0
  101. package/dist/mcp/handlers/filtered/performance-tester-filtered.js.map +1 -0
  102. package/dist/mcp/handlers/filtered/quality-assessor-filtered.d.ts +57 -0
  103. package/dist/mcp/handlers/filtered/quality-assessor-filtered.d.ts.map +1 -0
  104. package/dist/mcp/handlers/filtered/quality-assessor-filtered.js +93 -0
  105. package/dist/mcp/handlers/filtered/quality-assessor-filtered.js.map +1 -0
  106. package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts +54 -0
  107. package/dist/mcp/handlers/filtered/security-scanner-filtered.d.ts.map +1 -0
  108. package/dist/mcp/handlers/filtered/security-scanner-filtered.js +73 -0
  109. package/dist/mcp/handlers/filtered/security-scanner-filtered.js.map +1 -0
  110. package/dist/mcp/handlers/filtered/test-executor-filtered.d.ts +61 -0
  111. package/dist/mcp/handlers/filtered/test-executor-filtered.d.ts.map +1 -0
  112. package/dist/mcp/handlers/filtered/test-executor-filtered.js +117 -0
  113. package/dist/mcp/handlers/filtered/test-executor-filtered.js.map +1 -0
  114. package/dist/mcp/handlers/phase2/Phase2Tools.js +2 -2
  115. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  116. package/dist/scripts/backup-helper.d.ts +64 -0
  117. package/dist/scripts/backup-helper.d.ts.map +1 -0
  118. package/dist/scripts/backup-helper.js +251 -0
  119. package/dist/scripts/backup-helper.js.map +1 -0
  120. package/dist/scripts/migrate-with-backup.d.ts +15 -0
  121. package/dist/scripts/migrate-with-backup.d.ts.map +1 -0
  122. package/dist/scripts/migrate-with-backup.js +194 -0
  123. package/dist/scripts/migrate-with-backup.js.map +1 -0
  124. package/dist/security/pii-tokenization.d.ts +216 -0
  125. package/dist/security/pii-tokenization.d.ts.map +1 -0
  126. package/dist/security/pii-tokenization.js +325 -0
  127. package/dist/security/pii-tokenization.js.map +1 -0
  128. package/dist/utils/EmbeddingGenerator.d.ts +35 -0
  129. package/dist/utils/EmbeddingGenerator.d.ts.map +1 -0
  130. package/dist/utils/EmbeddingGenerator.js +72 -0
  131. package/dist/utils/EmbeddingGenerator.js.map +1 -0
  132. package/dist/utils/batch-operations.d.ts +215 -0
  133. package/dist/utils/batch-operations.d.ts.map +1 -0
  134. package/dist/utils/batch-operations.js +266 -0
  135. package/dist/utils/batch-operations.js.map +1 -0
  136. package/dist/utils/filtering.d.ts +180 -0
  137. package/dist/utils/filtering.d.ts.map +1 -0
  138. package/dist/utils/filtering.js +288 -0
  139. package/dist/utils/filtering.js.map +1 -0
  140. package/dist/utils/prompt-cache-examples.d.ts +111 -0
  141. package/dist/utils/prompt-cache-examples.d.ts.map +1 -0
  142. package/dist/utils/prompt-cache-examples.js +416 -0
  143. package/dist/utils/prompt-cache-examples.js.map +1 -0
  144. package/dist/utils/prompt-cache.d.ts +305 -0
  145. package/dist/utils/prompt-cache.d.ts.map +1 -0
  146. package/dist/utils/prompt-cache.js +448 -0
  147. package/dist/utils/prompt-cache.js.map +1 -0
  148. package/package.json +7 -16
  149. package/dist/mcp/tools/deprecated.d.ts +0 -1390
  150. package/dist/mcp/tools/deprecated.d.ts.map +0 -1
  151. package/dist/mcp/tools/deprecated.js +0 -859
  152. package/dist/mcp/tools/deprecated.js.map +0 -1
package/README.md CHANGED
@@ -9,11 +9,11 @@
9
9
  <img alt="NPM Downloads" src="https://img.shields.io/npm/dw/agentic-qe">
10
10
 
11
11
 
12
- **Version 1.7.0** (Hardening Release) | [Changelog](CHANGELOG.md) | [Issues](https://github.com/proffesor-for-testing/agentic-qe/issues) | [Discussions](https://github.com/proffesor-for-testing/agentic-qe/discussions)
12
+ **Version 1.8.1** (Safety & Test Quality) | [Changelog](CHANGELOG.md) | [Issues](https://github.com/proffesor-for-testing/agentic-qe/issues) | [Discussions](https://github.com/proffesor-for-testing/agentic-qe/discussions)
13
13
 
14
- > Enterprise-grade test automation with AI learning, comprehensive skills library (37 QE skills), and intelligent model routing.
14
+ > Enterprise-grade test automation with AI learning, comprehensive skills library (38 QE skills), and intelligent model routing.
15
15
 
16
- 🧠 **Q-Learning System** | 📚 **37 World-Class QE Skills** | 🎯 **Advanced Flaky Detection** | 💰 **Multi-Model Router** | 🔧 **32 Domain-Specific Tools**
16
+ 🧠 **Q-Learning System** | 📚 **38 World-Class QE Skills** | 🎯 **Advanced Flaky Detection** | 💰 **Multi-Model Router** | 🔧 **32 Domain-Specific Tools**
17
17
 
18
18
  </div>
19
19
 
@@ -60,7 +60,7 @@ claude "Use qe-flaky-test-hunter to analyze the last 100 test runs and identify
60
60
  - ✅ ML Flaky Detection (100% accuracy)
61
61
  - ✅ 18 Specialized agent definitions (including qe-code-complexity)
62
62
  - ✅ 8 TDD subagent definitions (RED/GREEN/REFACTOR phases)
63
- - ✅ 37 World-class QE skills library
63
+ - ✅ 38 World-class QE skills library
64
64
  - ✅ 8 AQE slash commands
65
65
  - ✅ Configuration directory
66
66
 
@@ -96,7 +96,7 @@ claude "Use qe-flaky-test-hunter to analyze the last 100 test runs and identify
96
96
  - **Performance Testing**: k6, JMeter, Gatling integration
97
97
  - **Real-Time Streaming**: Live progress updates for all operations
98
98
 
99
- ### 🎓 37 QE Skills Library (v1.3.0)
99
+ ### 🎓 38 QE Skills Library (v1.3.0)
100
100
  **95%+ coverage of modern QE practices**
101
101
 
102
102
  <details>
@@ -114,8 +114,8 @@ claude "Use qe-flaky-test-hunter to analyze the last 100 test runs and identify
114
114
  - **Specialized Testing (9)**: accessibility-testing, mobile-testing, database-testing, contract-testing, chaos-engineering-resilience, compatibility-testing, localization-testing, compliance-testing, visual-testing-advanced
115
115
  - **Testing Infrastructure (2)**: test-environment-management, test-reporting-analytics
116
116
 
117
- **Phase 3: Advanced Quality Engineering Skills (3 skills)**
118
- - **Strategic Testing Methodologies (3)**: six-thinking-hats, brutal-honesty-review, cicd-pipeline-qe-orchestrator
117
+ **Phase 3: Advanced Quality Engineering Skills (4 skills)**
118
+ - **Strategic Testing Methodologies (4)**: six-thinking-hats, brutal-honesty-review, sherlock-review, cicd-pipeline-qe-orchestrator
119
119
 
120
120
  </details>
121
121
 
@@ -539,56 +539,43 @@ The test generator automatically delegates to subagents for a complete RED-GREEN
539
539
 
540
540
  ---
541
541
 
542
- ## 📝 What's New in v1.7.0
543
-
544
- 🚀 **Priority 1: Hardening Release** (2025-11-14)
545
-
546
- - **Quality Improvements** - All critical ship-blockers eliminated
547
- - ✅ TODO Elimination: 80% reduction (40+ → 8, remaining in whitelisted template generators)
548
- - ✅ Async I/O: 100% conversion (0 blocking operations, excluding Logger.ts)
549
- - ✅ Race Conditions: 91% reduction (109 → 10 setTimeout instances)
550
- - ✅ Event-driven BaseAgent architecture with proper cleanup
551
- - **AgentDB Learn CLI** - Fully implemented with real database integration
552
- - 7 commands (status, train, stats, export, import, optimize, clear)
553
- - Real-time learning statistics and pattern management
554
- - Proper service initialization (no stub code)
555
- - **Pre-commit Quality Gates** - Prevents regression
556
- - Automatic TODO detection and blocking
557
- - Whitelisted template generators for flexibility
558
- - **Comprehensive Validation** - Production-ready verification
559
- - 51/51 core BaseAgent tests passing
560
- - 28 user-perspective validation scenarios
561
- - Fresh installation verified with all features working
562
- - **Build Quality** - Zero errors, production-grade
563
- - 0 TypeScript errors (was 17)
564
- - All 19 agents + 37 skills + 8 commands functional
565
-
566
- **Upgrade from v1.6.x**: Fully backward-compatible. Run `npm install agentic-qe@1.7.0` and `aqe init`.
542
+ ## 📝 What's New in v1.8.1
567
543
 
568
- ---
544
+ 🛡️ **Safety & Test Quality Patch Release** (2025-11-18)
545
+
546
+ This patch release addresses critical runtime guards, error handling, and test isolation issues identified in brutal-honesty code reviews.
547
+
548
+ ### Key Improvements
549
+ - **P0 - Simulation Mode Runtime Guards** - Prevents accidental test simulation in production
550
+ - ✅ Requires `AQE_ALLOW_SIMULATION=true` environment variable
551
+ - ✅ Explicit error if simulation mode is used without env flag
552
+ - ✅ Clear warnings when using simulated execution
553
+
554
+ - **P2 - Explicit Error Handling** - Database query failures now fail loudly with actionable diagnostics
555
+ - ✅ Replaced silent fallbacks with explicit validation
556
+ - ✅ Detailed error messages for faster debugging
557
+ - ✅ Schema mismatch detection
558
+
559
+ - **P1 - Test Isolation** - UUID-based database paths prevent race conditions
560
+ - ✅ Replaced `Date.now()` with `randomUUID()` for collision-free paths
561
+ - ✅ OS temp directory usage for proper cleanup
562
+ - ✅ Parallel test execution without conflicts
563
+
564
+ ### Files Changed
565
+ - **Source**: `TestExecutorAgent.ts` (+13 lines), `RealAgentDBAdapter.ts` (+17 lines)
566
+ - **Tests**: 2 integration test files (+10 lines for UUID imports)
567
+ - **Documentation**: Complete release notes, code review, and changelog updates
568
+
569
+ ### Impact
570
+ ✅ **Build Status**: Passing (0 errors)
571
+ ✅ **Runtime Safety**: Improved (guards added)
572
+ ✅ **Error Handling**: Improved (explicit errors)
573
+ ✅ **Test Isolation**: Improved (UUID-based)
574
+ ❌ **Breaking Changes**: None
575
+
576
+ **Upgrade from v1.8.0**: Fully backward-compatible. Run `npm install agentic-qe@1.8.1` and `aqe init`.
569
577
 
570
- ### Previous: v1.5.0
571
-
572
- 🎯 **Phase 3: Domain-Specific Tool Refactoring** (2025-11-08)
573
-
574
- - **32 Domain-Specific MCP Tools** organized by QE function for better discoverability
575
- - 6 QE domains: Coverage, Flaky Detection, Performance, Visual, Security, Test Generation
576
- - Improved type safety with strict TypeScript (no `any` types)
577
- - Enhanced tool organization based on domain intent
578
- - **Migration Support**: Comprehensive migration guide with backward compatibility
579
- - Deprecated tools remain available until v3.0.0 (Feb 2026)
580
- - Clear deprecation warnings with migration paths
581
- - Zero breaking changes in v1.5.0
582
- - **Tool Catalog**: Complete documentation of all 32 domain-specific tools
583
- - Function signatures and parameter documentation
584
- - Usage examples for each tool
585
- - Domain-specific best practices
586
- - **Agent Integration**: Updated 7 agent code execution examples with real imports
587
- - Direct tool imports instead of generic MCP calls
588
- - Type-safe parameter handling
589
- - Better error messages
590
-
591
- **Upgrade Path**: See [Migration Guide](docs/migration/phase3-tools.md) for step-by-step instructions.
578
+ **Previous Releases**: See [docs/releases/](docs/releases/) for detailed release notes.
592
579
 
593
580
  [📖 View Full Changelog](CHANGELOG.md) | [🐛 Report Issues](https://github.com/proffesor-for-testing/agentic-qe/issues)
594
581
 
@@ -50,12 +50,14 @@ export declare abstract class BaseAgent extends EventEmitter {
50
50
  lastActivity: Date;
51
51
  };
52
52
  private taskStartTime?;
53
+ private initializationMutex?;
53
54
  protected readonly lifecycleManager: AgentLifecycleManager;
54
55
  protected readonly coordinator: AgentCoordinator;
55
56
  protected readonly memoryService: AgentMemoryService;
56
57
  constructor(config: BaseAgentConfig);
57
58
  /**
58
59
  * Initialize the agent - must be called after construction
60
+ * Thread-safe: Multiple concurrent calls will wait for the first to complete
59
61
  */
60
62
  initialize(): Promise<void>;
61
63
  /**
@@ -130,16 +132,16 @@ export declare abstract class BaseAgent extends EventEmitter {
130
132
  /**
131
133
  * Get learned patterns from Q-learning
132
134
  */
133
- getLearnedPatterns(): import("../learning/types").LearnedPattern[];
135
+ getLearnedPatterns(): Promise<import("../learning/types").LearnedPattern[]>;
134
136
  /**
135
137
  * Get learning engine status
136
138
  */
137
- getLearningStatus(): {
139
+ getLearningStatus(): Promise<{
138
140
  enabled: boolean;
139
141
  totalExperiences: number;
140
142
  explorationRate: number;
141
143
  patterns: number;
142
- } | null;
144
+ } | null>;
143
145
  /**
144
146
  * Initialize AgentDB integration for distributed coordination
145
147
  * Replaces custom QUIC and Neural code with production-ready AgentDB
@@ -162,6 +164,11 @@ export declare abstract class BaseAgent extends EventEmitter {
162
164
  * Check if AgentDB integration is available
163
165
  */
164
166
  hasAgentDB(): boolean;
167
+ /**
168
+ * Check if AgentDB is using a real adapter (vs mock)
169
+ * @returns true if using real AgentDB, false if mock
170
+ */
171
+ private isRealAgentDB;
165
172
  /**
166
173
  * Start the agent (idempotent - safe to call multiple times)
167
174
  */
@@ -253,13 +260,6 @@ export declare abstract class BaseAgent extends EventEmitter {
253
260
  private generateAgentId;
254
261
  private generateEventId;
255
262
  private generateMessageId;
256
- /**
257
- * Simple hash-based embedding generation
258
- * In production, replace with actual embedding model (e.g., OpenAI, Cohere, local BERT)
259
- * @param text Text to embed
260
- * @returns 384-dimensional embedding vector
261
- */
262
- private simpleHashEmbedding;
263
263
  }
264
264
  export interface AgentFactory {
265
265
  createAgent(type: AgentType, config: BaseAgentConfig): Promise<BaseAgent>;
@@ -1 +1 @@
1
- {"version":3,"file":"BaseAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseAgent.d.ts","sourceRoot":"","sources":["../../src/agents/BaseAgent.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.BaseAgentFactory = exports.BaseAgent = void 0;
9
9
  const events_1 = require("events");
10
10
  const SecureRandom_js_1 = require("../utils/SecureRandom.js");
11
+ const EmbeddingGenerator_js_1 = require("../utils/EmbeddingGenerator.js");
11
12
  const types_1 = require("../types");
12
13
  const hooks_1 = require("../core/hooks");
13
14
  const MemoryStoreAdapter_1 = require("../adapters/MemoryStoreAdapter");
@@ -44,7 +45,8 @@ class BaseAgent extends events_1.EventEmitter {
44
45
  }
45
46
  else if (config.agentDBPath || config.enableQUICSync) {
46
47
  this.agentDBConfig = {
47
- dbPath: config.agentDBPath || '.agentdb/reasoningbank.db',
48
+ // Updated default path to use .agentic-qe directory for consolidation
49
+ dbPath: config.agentDBPath || '.agentic-qe/agentdb.db',
48
50
  enableQUICSync: config.enableQUICSync || false,
49
51
  syncPort: config.syncPort || 4433,
50
52
  syncPeers: config.syncPeers || [],
@@ -82,19 +84,31 @@ class BaseAgent extends events_1.EventEmitter {
82
84
  // ============================================================================
83
85
  /**
84
86
  * Initialize the agent - must be called after construction
87
+ * Thread-safe: Multiple concurrent calls will wait for the first to complete
85
88
  */
86
89
  async initialize() {
90
+ // Thread-safety: If initialization is in progress, wait for it
91
+ if (this.initializationMutex) {
92
+ console.info(`[${this.agentId.id}] Initialization already in progress, waiting for completion`);
93
+ await this.initializationMutex;
94
+ return;
95
+ }
96
+ // Guard: Skip if already initialized (ACTIVE or IDLE)
97
+ const currentStatus = this.lifecycleManager.getStatus();
98
+ if (currentStatus === types_1.AgentStatus.ACTIVE || currentStatus === types_1.AgentStatus.IDLE) {
99
+ console.warn(`[${this.agentId.id}] Agent already initialized (status: ${currentStatus}), skipping`);
100
+ return;
101
+ }
102
+ // Create initialization mutex - lock acquired
103
+ let resolveMutex;
104
+ this.initializationMutex = new Promise((resolve) => {
105
+ resolveMutex = resolve;
106
+ });
87
107
  try {
88
- // Guard: Skip if already initialized (ACTIVE or IDLE)
89
- const currentStatus = this.lifecycleManager.getStatus();
90
- if (currentStatus === types_1.AgentStatus.ACTIVE || currentStatus === types_1.AgentStatus.IDLE) {
91
- console.warn(`[${this.agentId.id}] Agent already initialized (status: ${currentStatus}), skipping`);
92
- return;
93
- }
94
108
  // Guard: Reset from ERROR state before initializing
95
109
  if (currentStatus === types_1.AgentStatus.ERROR) {
96
110
  console.info(`[${this.agentId.id}] Resetting agent from ERROR state before initialization`);
97
- this.lifecycleManager.setStatus(types_1.AgentStatus.INITIALIZING);
111
+ this.lifecycleManager.reset(false);
98
112
  }
99
113
  // Delegate lifecycle initialization to lifecycleManager
100
114
  await this.lifecycleManager.initialize({
@@ -142,6 +156,11 @@ class BaseAgent extends events_1.EventEmitter {
142
156
  this.coordinator.emitEvent('agent.error', { agentId: this.agentId, error });
143
157
  throw error;
144
158
  }
159
+ finally {
160
+ // Release mutex lock - allow future initializations
161
+ resolveMutex();
162
+ this.initializationMutex = undefined;
163
+ }
145
164
  }
146
165
  /**
147
166
  * Execute a task assignment with integrated verification hooks
@@ -192,35 +211,38 @@ class BaseAgent extends events_1.EventEmitter {
192
211
  */
193
212
  async terminate() {
194
213
  try {
195
- this.lifecycleManager.setStatus(types_1.AgentStatus.TERMINATING);
196
- // Execute pre-termination hooks
197
- await this.executeHook('pre-termination');
198
- // Flush learning data before termination
199
- if (this.learningEngine && this.learningEngine.isEnabled()) {
200
- // LearningEngine persists data via SwarmMemoryManager (which uses AgentDB)
201
- // No explicit flush needed - memoryStore handles persistence automatically
202
- console.info(`[${this.agentId.id}] Learning data persisted via memoryStore (SwarmMemoryManager -> AgentDB)`);
203
- }
204
- // Close AgentDB if enabled
205
- if (this.agentDB) {
206
- await this.agentDB.close();
207
- this.agentDB = undefined;
208
- }
209
- // Save current state
210
- await this.saveState();
211
- // Clean up agent-specific resources
212
- await this.cleanup();
213
- // Remove all event handlers from EventBus using coordinator
214
- this.coordinator.clearAllHandlers();
215
- // Execute post-termination hooks
216
- await this.executeHook('post-termination');
217
- this.lifecycleManager.setStatus(types_1.AgentStatus.TERMINATED);
218
- this.emitEvent('agent.terminated', { agentId: this.agentId });
219
- // Remove all listeners from this agent (EventEmitter)
220
- this.removeAllListeners();
214
+ // Use lifecycle manager's terminate method instead of manual status setting
215
+ await this.lifecycleManager.terminate({
216
+ onPreTermination: async () => {
217
+ await this.executeHook('pre-termination');
218
+ // Flush learning data before termination
219
+ if (this.learningEngine && this.learningEngine.isEnabled()) {
220
+ // LearningEngine persists data via SwarmMemoryManager (which uses AgentDB)
221
+ // No explicit flush needed - memoryStore handles persistence automatically
222
+ console.info(`[${this.agentId.id}] Learning data persisted via memoryStore (SwarmMemoryManager -> AgentDB)`);
223
+ }
224
+ // Close AgentDB if enabled
225
+ if (this.agentDB) {
226
+ await this.agentDB.close();
227
+ this.agentDB = undefined;
228
+ }
229
+ // Save current state
230
+ await this.saveState();
231
+ // Clean up agent-specific resources
232
+ await this.cleanup();
233
+ // Remove all event handlers from EventBus using coordinator
234
+ this.coordinator.clearAllHandlers();
235
+ },
236
+ onPostTermination: async () => {
237
+ await this.executeHook('post-termination');
238
+ this.emitEvent('agent.terminated', { agentId: this.agentId });
239
+ // Remove all listeners from this agent (EventEmitter)
240
+ this.removeAllListeners();
241
+ }
242
+ });
221
243
  }
222
244
  catch (error) {
223
- this.lifecycleManager.setStatus(types_1.AgentStatus.ERROR);
245
+ this.lifecycleManager.transitionTo(types_1.AgentStatus.ERROR, `Termination failed: ${error}`);
224
246
  throw error;
225
247
  }
226
248
  }
@@ -359,16 +381,18 @@ class BaseAgent extends events_1.EventEmitter {
359
381
  /**
360
382
  * Get learned patterns from Q-learning
361
383
  */
362
- getLearnedPatterns() {
363
- return this.learningEngine?.getPatterns() || [];
384
+ async getLearnedPatterns() {
385
+ if (!this.learningEngine)
386
+ return [];
387
+ return await this.learningEngine.getPatterns();
364
388
  }
365
389
  /**
366
390
  * Get learning engine status
367
391
  */
368
- getLearningStatus() {
392
+ async getLearningStatus() {
369
393
  if (!this.learningEngine)
370
394
  return null;
371
- const patterns = this.learningEngine.getPatterns();
395
+ const patterns = await this.learningEngine.getPatterns();
372
396
  return {
373
397
  enabled: this.learningEngine.isEnabled(),
374
398
  totalExperiences: this.learningEngine.getTotalExperiences(),
@@ -430,6 +454,18 @@ class BaseAgent extends events_1.EventEmitter {
430
454
  hasAgentDB() {
431
455
  return this.agentDB !== undefined;
432
456
  }
457
+ /**
458
+ * Check if AgentDB is using a real adapter (vs mock)
459
+ * @returns true if using real AgentDB, false if mock
460
+ */
461
+ isRealAgentDB() {
462
+ if (!this.agentDB)
463
+ return false;
464
+ // Check adapter type or test mode flags
465
+ const isTestMode = process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID !== undefined;
466
+ const useMock = process.env.AQE_USE_MOCK_AGENTDB === 'true';
467
+ return !isTestMode && !useMock;
468
+ }
433
469
  /**
434
470
  * Start the agent (idempotent - safe to call multiple times)
435
471
  */
@@ -574,9 +610,9 @@ class BaseAgent extends events_1.EventEmitter {
574
610
  description: data.assignment.task.description || '',
575
611
  requirements: data.assignment.task.requirements || {}
576
612
  });
577
- // Generate embedding (simplified - replace with actual model in production)
578
- const queryEmbedding = this.simpleHashEmbedding(taskQuery);
579
- // ACTUALLY retrieve relevant context from AgentDB with HNSW indexing
613
+ // Generate embedding using consolidated utility
614
+ const queryEmbedding = (0, EmbeddingGenerator_js_1.generateEmbedding)(taskQuery);
615
+ // Retrieve relevant context from AgentDB
580
616
  const retrievalResult = await this.agentDB.retrieve(queryEmbedding, {
581
617
  domain: `agent:${this.agentId.type}:tasks`,
582
618
  k: 5,
@@ -586,6 +622,8 @@ class BaseAgent extends events_1.EventEmitter {
586
622
  metric: 'cosine'
587
623
  });
588
624
  const searchTime = Date.now() - searchStart;
625
+ const isReal = this.isRealAgentDB();
626
+ const adapterType = isReal ? 'real AgentDB' : 'mock adapter';
589
627
  // Enrich context with retrieved patterns
590
628
  if (retrievalResult.memories.length > 0) {
591
629
  const enrichedContext = {
@@ -605,17 +643,17 @@ class BaseAgent extends events_1.EventEmitter {
605
643
  })
606
644
  };
607
645
  data.context = enrichedContext;
608
- console.info(`[${this.agentId.id}] ACTUALLY loaded ${retrievalResult.memories.length} patterns from AgentDB ` +
609
- `(${searchTime}ms, HNSW indexing, ${retrievalResult.metadata.cacheHit ? 'cache hit' : 'cache miss'})`);
646
+ console.info(`[${this.agentId.id}] Loaded ${retrievalResult.memories.length} patterns from ${adapterType} ` +
647
+ `(${searchTime}ms, ${retrievalResult.metadata.cacheHit ? 'cache hit' : 'cache miss'})`);
610
648
  // Log top similar task
611
- if (retrievalResult.memories.length > 0) {
649
+ if (retrievalResult.memories.length > 0 && isReal) {
612
650
  const topMatch = retrievalResult.memories[0];
613
651
  console.info(`[${this.agentId.id}] 🎯 Top match: similarity=${topMatch.similarity.toFixed(3)}, ` +
614
652
  `confidence=${topMatch.confidence.toFixed(3)}`);
615
653
  }
616
654
  }
617
655
  else {
618
- console.info(`[${this.agentId.id}] No relevant patterns found in AgentDB (${searchTime}ms)`);
656
+ console.info(`[${this.agentId.id}] No relevant patterns found in ${adapterType} (${searchTime}ms)`);
619
657
  }
620
658
  }
621
659
  catch (agentDBError) {
@@ -675,9 +713,9 @@ class BaseAgent extends events_1.EventEmitter {
675
713
  context: data.assignment.task.context || {},
676
714
  timestamp: Date.now()
677
715
  };
678
- // Generate real embedding (simplified - replace with actual model in production)
679
- const embedding = this.simpleHashEmbedding(JSON.stringify(patternData));
680
- // ACTUALLY store pattern in AgentDB (not fake!)
716
+ // Generate embedding using consolidated utility
717
+ const embedding = (0, EmbeddingGenerator_js_1.generateEmbedding)(JSON.stringify(patternData));
718
+ // Store pattern in AgentDB
681
719
  const pattern = {
682
720
  id: `${this.agentId.id}-task-${data.assignment.id}`,
683
721
  type: 'experience',
@@ -698,7 +736,9 @@ class BaseAgent extends events_1.EventEmitter {
698
736
  };
699
737
  const patternId = await this.agentDB.store(pattern);
700
738
  const storeTime = Date.now() - startTime;
701
- console.info(`[${this.agentId.id}] ACTUALLY stored pattern in AgentDB: ${patternId} (${storeTime}ms)`);
739
+ const isReal = this.isRealAgentDB();
740
+ const adapterType = isReal ? 'AgentDB' : 'mock adapter';
741
+ console.info(`[${this.agentId.id}] Stored pattern in ${adapterType}: ${patternId} (${storeTime}ms)`);
702
742
  // ACTUAL Neural training integration if learning is enabled
703
743
  if (this.agentDBConfig?.enableLearning) {
704
744
  try {
@@ -816,8 +856,8 @@ class BaseAgent extends events_1.EventEmitter {
816
856
  timestamp: Date.now()
817
857
  };
818
858
  // Generate embedding for error pattern
819
- const embedding = this.simpleHashEmbedding(JSON.stringify(errorPattern));
820
- // ACTUALLY store error pattern in AgentDB for future prevention
859
+ const embedding = (0, EmbeddingGenerator_js_1.generateEmbedding)(JSON.stringify(errorPattern));
860
+ // Store error pattern in AgentDB for failure analysis
821
861
  const pattern = {
822
862
  id: `${this.agentId.id}-error-${data.assignment.id}`,
823
863
  type: 'error',
@@ -836,7 +876,9 @@ class BaseAgent extends events_1.EventEmitter {
836
876
  };
837
877
  const errorPatternId = await this.agentDB.store(pattern);
838
878
  const storeTime = Date.now() - storeStart;
839
- console.info(`[${this.agentId.id}] ACTUALLY stored error pattern in AgentDB: ${errorPatternId} ` +
879
+ const isReal = this.isRealAgentDB();
880
+ const adapterType = isReal ? 'AgentDB' : 'mock adapter';
881
+ console.info(`[${this.agentId.id}] Stored error pattern in ${adapterType}: ${errorPatternId} ` +
840
882
  `(${storeTime}ms, for failure analysis)`);
841
883
  }
842
884
  catch (agentDBError) {
@@ -905,7 +947,7 @@ class BaseAgent extends events_1.EventEmitter {
905
947
  setupLifecycleHooks() {
906
948
  // Setup default lifecycle behavior
907
949
  this.on('error', (error) => {
908
- this.lifecycleManager.setStatus(types_1.AgentStatus.ERROR);
950
+ this.lifecycleManager.transitionTo(types_1.AgentStatus.ERROR, `Error event: ${error}`);
909
951
  this.emitEvent('agent.error', { agentId: this.agentId, error });
910
952
  });
911
953
  }
@@ -986,30 +1028,6 @@ class BaseAgent extends events_1.EventEmitter {
986
1028
  generateMessageId() {
987
1029
  return `msg-${Date.now()}-${SecureRandom_js_1.SecureRandom.generateId(5)}`;
988
1030
  }
989
- /**
990
- * Simple hash-based embedding generation
991
- * In production, replace with actual embedding model (e.g., OpenAI, Cohere, local BERT)
992
- * @param text Text to embed
993
- * @returns 384-dimensional embedding vector
994
- */
995
- simpleHashEmbedding(text) {
996
- const dimensions = 384; // Common embedding dimension
997
- const embedding = new Array(dimensions).fill(0);
998
- // Simple hash-based embedding (for demonstration only)
999
- for (let i = 0; i < text.length; i++) {
1000
- const charCode = text.charCodeAt(i);
1001
- const index = (charCode * (i + 1)) % dimensions;
1002
- embedding[index] += Math.sin(charCode * 0.1) * 0.1;
1003
- }
1004
- // Normalize to unit vector
1005
- const magnitude = Math.sqrt(embedding.reduce((sum, val) => sum + val * val, 0));
1006
- if (magnitude > 0) {
1007
- for (let i = 0; i < dimensions; i++) {
1008
- embedding[i] /= magnitude;
1009
- }
1010
- }
1011
- return embedding;
1012
- }
1013
1031
  }
1014
1032
  exports.BaseAgent = BaseAgent;
1015
1033
  class BaseAgentFactory {