agentic-qe 2.3.4 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +1 -1
  3. package/dist/agents/ApiContractValidatorAgent.d.ts +5 -0
  4. package/dist/agents/ApiContractValidatorAgent.d.ts.map +1 -1
  5. package/dist/agents/ApiContractValidatorAgent.js +41 -0
  6. package/dist/agents/ApiContractValidatorAgent.js.map +1 -1
  7. package/dist/agents/BaseAgent.d.ts +56 -49
  8. package/dist/agents/BaseAgent.d.ts.map +1 -1
  9. package/dist/agents/BaseAgent.js +208 -604
  10. package/dist/agents/BaseAgent.js.map +1 -1
  11. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +5 -0
  12. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
  13. package/dist/agents/CodeComplexityAnalyzerAgent.js +47 -0
  14. package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
  15. package/dist/agents/CoverageAnalyzerAgent.d.ts +26 -0
  16. package/dist/agents/CoverageAnalyzerAgent.d.ts.map +1 -1
  17. package/dist/agents/CoverageAnalyzerAgent.js +149 -1
  18. package/dist/agents/CoverageAnalyzerAgent.js.map +1 -1
  19. package/dist/agents/DeploymentReadinessAgent.d.ts +5 -0
  20. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  21. package/dist/agents/DeploymentReadinessAgent.js +41 -0
  22. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  23. package/dist/agents/FlakyTestHunterAgent.d.ts +7 -2
  24. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  25. package/dist/agents/FlakyTestHunterAgent.js +48 -104
  26. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  27. package/dist/agents/FleetCommanderAgent.d.ts +5 -0
  28. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  29. package/dist/agents/FleetCommanderAgent.js +51 -0
  30. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  31. package/dist/agents/PerformanceTesterAgent.d.ts +5 -0
  32. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  33. package/dist/agents/PerformanceTesterAgent.js +44 -0
  34. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  35. package/dist/agents/ProductionIntelligenceAgent.d.ts +5 -0
  36. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
  37. package/dist/agents/ProductionIntelligenceAgent.js +46 -0
  38. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  39. package/dist/agents/QXPartnerAgent.js +52 -0
  40. package/dist/agents/QXPartnerAgent.js.map +1 -1
  41. package/dist/agents/QualityAnalyzerAgent.d.ts +5 -0
  42. package/dist/agents/QualityAnalyzerAgent.d.ts.map +1 -1
  43. package/dist/agents/QualityAnalyzerAgent.js +45 -0
  44. package/dist/agents/QualityAnalyzerAgent.js.map +1 -1
  45. package/dist/agents/QualityGateAgent.d.ts +40 -0
  46. package/dist/agents/QualityGateAgent.d.ts.map +1 -1
  47. package/dist/agents/QualityGateAgent.js +227 -1
  48. package/dist/agents/QualityGateAgent.js.map +1 -1
  49. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +5 -0
  50. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
  51. package/dist/agents/RegressionRiskAnalyzerAgent.js +46 -0
  52. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  53. package/dist/agents/RequirementsValidatorAgent.d.ts +5 -0
  54. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  55. package/dist/agents/RequirementsValidatorAgent.js +42 -0
  56. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  57. package/dist/agents/SecurityScannerAgent.d.ts +5 -0
  58. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  59. package/dist/agents/SecurityScannerAgent.js +39 -0
  60. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  61. package/dist/agents/TestDataArchitectAgent.d.ts +5 -0
  62. package/dist/agents/TestDataArchitectAgent.d.ts.map +1 -1
  63. package/dist/agents/TestDataArchitectAgent.js +46 -0
  64. package/dist/agents/TestDataArchitectAgent.js.map +1 -1
  65. package/dist/agents/TestExecutorAgent.d.ts +6 -1
  66. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  67. package/dist/agents/TestExecutorAgent.js +52 -46
  68. package/dist/agents/TestExecutorAgent.js.map +1 -1
  69. package/dist/agents/TestGeneratorAgent.d.ts +5 -0
  70. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  71. package/dist/agents/TestGeneratorAgent.js +51 -35
  72. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  73. package/dist/agents/adapters/CoordinatorAdapter.d.ts +47 -0
  74. package/dist/agents/adapters/CoordinatorAdapter.d.ts.map +1 -0
  75. package/dist/agents/adapters/CoordinatorAdapter.js +266 -0
  76. package/dist/agents/adapters/CoordinatorAdapter.js.map +1 -0
  77. package/dist/agents/adapters/LearningEngineAdapter.d.ts +45 -0
  78. package/dist/agents/adapters/LearningEngineAdapter.d.ts.map +1 -0
  79. package/dist/agents/adapters/LearningEngineAdapter.js +279 -0
  80. package/dist/agents/adapters/LearningEngineAdapter.js.map +1 -0
  81. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts +45 -0
  82. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts.map +1 -0
  83. package/dist/agents/adapters/LifecycleManagerAdapter.js +128 -0
  84. package/dist/agents/adapters/LifecycleManagerAdapter.js.map +1 -0
  85. package/dist/agents/adapters/MemoryServiceAdapter.d.ts +96 -0
  86. package/dist/agents/adapters/MemoryServiceAdapter.d.ts.map +1 -0
  87. package/dist/agents/adapters/MemoryServiceAdapter.js +266 -0
  88. package/dist/agents/adapters/MemoryServiceAdapter.js.map +1 -0
  89. package/dist/agents/adapters/index.d.ts +14 -0
  90. package/dist/agents/adapters/index.d.ts.map +1 -0
  91. package/dist/agents/adapters/index.js +25 -0
  92. package/dist/agents/adapters/index.js.map +1 -0
  93. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  94. package/dist/agents/lifecycle/AgentLifecycleManager.js +17 -8
  95. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  96. package/dist/cli/index.js +68 -0
  97. package/dist/cli/index.js.map +1 -1
  98. package/dist/core/cache/BinaryCacheBuilder.d.ts +84 -0
  99. package/dist/core/cache/BinaryCacheBuilder.d.ts.map +1 -0
  100. package/dist/core/cache/BinaryCacheBuilder.js +225 -0
  101. package/dist/core/cache/BinaryCacheBuilder.js.map +1 -0
  102. package/dist/core/cache/BinaryCacheManager.d.ts +142 -0
  103. package/dist/core/cache/BinaryCacheManager.d.ts.map +1 -0
  104. package/dist/core/cache/BinaryCacheManager.js +354 -0
  105. package/dist/core/cache/BinaryCacheManager.js.map +1 -0
  106. package/dist/core/cache/BinaryCacheReader.d.ts +129 -0
  107. package/dist/core/cache/BinaryCacheReader.d.ts.map +1 -0
  108. package/dist/core/cache/BinaryCacheReader.js +243 -0
  109. package/dist/core/cache/BinaryCacheReader.js.map +1 -0
  110. package/dist/core/cache/BinaryMetadataCache.d.ts +533 -0
  111. package/dist/core/cache/BinaryMetadataCache.d.ts.map +1 -0
  112. package/dist/core/cache/BinaryMetadataCache.js +142 -0
  113. package/dist/core/cache/BinaryMetadataCache.js.map +1 -0
  114. package/dist/core/cache/CacheInvalidator.d.ts +103 -0
  115. package/dist/core/cache/CacheInvalidator.d.ts.map +1 -0
  116. package/dist/core/cache/CacheInvalidator.js +152 -0
  117. package/dist/core/cache/CacheInvalidator.js.map +1 -0
  118. package/dist/core/cache/CacheValidator.d.ts +69 -0
  119. package/dist/core/cache/CacheValidator.d.ts.map +1 -0
  120. package/dist/core/cache/CacheValidator.js +189 -0
  121. package/dist/core/cache/CacheValidator.js.map +1 -0
  122. package/dist/core/cache/MessagePackSerializer.d.ts +163 -0
  123. package/dist/core/cache/MessagePackSerializer.d.ts.map +1 -0
  124. package/dist/core/cache/MessagePackSerializer.js +274 -0
  125. package/dist/core/cache/MessagePackSerializer.js.map +1 -0
  126. package/dist/core/cache/index.d.ts +58 -0
  127. package/dist/core/cache/index.d.ts.map +1 -0
  128. package/dist/core/cache/index.js +102 -0
  129. package/dist/core/cache/index.js.map +1 -0
  130. package/dist/core/index.d.ts +2 -0
  131. package/dist/core/index.d.ts.map +1 -1
  132. package/dist/core/index.js +18 -0
  133. package/dist/core/index.js.map +1 -1
  134. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  135. package/dist/core/memory/PatternStoreFactory.d.ts +28 -0
  136. package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -1
  137. package/dist/core/memory/PatternStoreFactory.js +68 -3
  138. package/dist/core/memory/PatternStoreFactory.js.map +1 -1
  139. package/dist/core/platform/FileOperations.d.ts +124 -0
  140. package/dist/core/platform/FileOperations.d.ts.map +1 -0
  141. package/dist/core/platform/FileOperations.js +371 -0
  142. package/dist/core/platform/FileOperations.js.map +1 -0
  143. package/dist/core/platform/PlatformDetector.d.ts +53 -0
  144. package/dist/core/platform/PlatformDetector.d.ts.map +1 -0
  145. package/dist/core/platform/PlatformDetector.js +251 -0
  146. package/dist/core/platform/PlatformDetector.js.map +1 -0
  147. package/dist/core/platform/index.d.ts +12 -0
  148. package/dist/core/platform/index.d.ts.map +1 -0
  149. package/dist/core/platform/index.js +28 -0
  150. package/dist/core/platform/index.js.map +1 -0
  151. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts +74 -0
  152. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts.map +1 -0
  153. package/dist/core/strategies/AcceleratedLearningStrategy.js +200 -0
  154. package/dist/core/strategies/AcceleratedLearningStrategy.js.map +1 -0
  155. package/dist/core/strategies/AgentCoordinationStrategy.d.ts +157 -0
  156. package/dist/core/strategies/AgentCoordinationStrategy.d.ts.map +1 -0
  157. package/dist/core/strategies/AgentCoordinationStrategy.js +12 -0
  158. package/dist/core/strategies/AgentCoordinationStrategy.js.map +1 -0
  159. package/dist/core/strategies/AgentLearningStrategy.d.ts +200 -0
  160. package/dist/core/strategies/AgentLearningStrategy.d.ts.map +1 -0
  161. package/dist/core/strategies/AgentLearningStrategy.js +13 -0
  162. package/dist/core/strategies/AgentLearningStrategy.js.map +1 -0
  163. package/dist/core/strategies/AgentLifecycleStrategy.d.ts +116 -0
  164. package/dist/core/strategies/AgentLifecycleStrategy.d.ts.map +1 -0
  165. package/dist/core/strategies/AgentLifecycleStrategy.js +12 -0
  166. package/dist/core/strategies/AgentLifecycleStrategy.js.map +1 -0
  167. package/dist/core/strategies/AgentMemoryStrategy.d.ts +154 -0
  168. package/dist/core/strategies/AgentMemoryStrategy.d.ts.map +1 -0
  169. package/dist/core/strategies/AgentMemoryStrategy.js +13 -0
  170. package/dist/core/strategies/AgentMemoryStrategy.js.map +1 -0
  171. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts +105 -0
  172. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts.map +1 -0
  173. package/dist/core/strategies/DefaultCoordinationStrategy.js +332 -0
  174. package/dist/core/strategies/DefaultCoordinationStrategy.js.map +1 -0
  175. package/dist/core/strategies/DefaultLearningStrategy.d.ts +120 -0
  176. package/dist/core/strategies/DefaultLearningStrategy.d.ts.map +1 -0
  177. package/dist/core/strategies/DefaultLearningStrategy.js +365 -0
  178. package/dist/core/strategies/DefaultLearningStrategy.js.map +1 -0
  179. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts +129 -0
  180. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts.map +1 -0
  181. package/dist/core/strategies/DefaultLifecycleStrategy.js +297 -0
  182. package/dist/core/strategies/DefaultLifecycleStrategy.js.map +1 -0
  183. package/dist/core/strategies/DefaultMemoryStrategy.d.ts +91 -0
  184. package/dist/core/strategies/DefaultMemoryStrategy.d.ts.map +1 -0
  185. package/dist/core/strategies/DefaultMemoryStrategy.js +257 -0
  186. package/dist/core/strategies/DefaultMemoryStrategy.js.map +1 -0
  187. package/dist/core/strategies/DistributedMemoryStrategy.d.ts +85 -0
  188. package/dist/core/strategies/DistributedMemoryStrategy.d.ts.map +1 -0
  189. package/dist/core/strategies/DistributedMemoryStrategy.js +126 -0
  190. package/dist/core/strategies/DistributedMemoryStrategy.js.map +1 -0
  191. package/dist/core/strategies/index.d.ts +95 -0
  192. package/dist/core/strategies/index.d.ts.map +1 -0
  193. package/dist/core/strategies/index.js +65 -0
  194. package/dist/core/strategies/index.js.map +1 -0
  195. package/dist/learning/PerformanceOptimizer.js +2 -2
  196. package/dist/learning/PerformanceOptimizer.js.map +1 -1
  197. package/dist/learning/capture/ExperienceExtractor.d.ts +219 -0
  198. package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -0
  199. package/dist/learning/capture/ExperienceExtractor.js +536 -0
  200. package/dist/learning/capture/ExperienceExtractor.js.map +1 -0
  201. package/dist/learning/capture/ExperienceStore.d.ts +196 -0
  202. package/dist/learning/capture/ExperienceStore.d.ts.map +1 -0
  203. package/dist/learning/capture/ExperienceStore.js +453 -0
  204. package/dist/learning/capture/ExperienceStore.js.map +1 -0
  205. package/dist/learning/scheduler/SleepScheduler.d.ts +2 -0
  206. package/dist/learning/scheduler/SleepScheduler.d.ts.map +1 -1
  207. package/dist/learning/scheduler/SleepScheduler.js +2 -0
  208. package/dist/learning/scheduler/SleepScheduler.js.map +1 -1
  209. package/dist/learning/synthesis/ClusteringEngine.d.ts +122 -0
  210. package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -0
  211. package/dist/learning/synthesis/ClusteringEngine.js +356 -0
  212. package/dist/learning/synthesis/ClusteringEngine.js.map +1 -0
  213. package/dist/learning/transfer/TransferRegistry.d.ts +245 -0
  214. package/dist/learning/transfer/TransferRegistry.d.ts.map +1 -0
  215. package/dist/learning/transfer/TransferRegistry.js +410 -0
  216. package/dist/learning/transfer/TransferRegistry.js.map +1 -0
  217. package/dist/mcp/handlers/base-handler.d.ts +28 -1
  218. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  219. package/dist/mcp/handlers/base-handler.js +41 -0
  220. package/dist/mcp/handlers/base-handler.js.map +1 -1
  221. package/dist/mcp/handlers/task-orchestrate.d.ts +11 -0
  222. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  223. package/dist/mcp/handlers/task-orchestrate.js +297 -4
  224. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  225. package/dist/mcp/server-instructions.d.ts +1 -1
  226. package/dist/mcp/server-instructions.js +1 -1
  227. package/dist/mcp/services/AgentRegistry.d.ts +6 -1
  228. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  229. package/dist/mcp/services/AgentRegistry.js +34 -3
  230. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  231. package/dist/output/AIActionSuggester.d.ts +98 -0
  232. package/dist/output/AIActionSuggester.d.ts.map +1 -0
  233. package/dist/output/AIActionSuggester.js +499 -0
  234. package/dist/output/AIActionSuggester.js.map +1 -0
  235. package/dist/output/CLIOutputHelper.d.ts +169 -0
  236. package/dist/output/CLIOutputHelper.d.ts.map +1 -0
  237. package/dist/output/CLIOutputHelper.js +320 -0
  238. package/dist/output/CLIOutputHelper.js.map +1 -0
  239. package/dist/output/OutputFormatter.d.ts +764 -0
  240. package/dist/output/OutputFormatter.d.ts.map +1 -0
  241. package/dist/output/OutputFormatter.js +125 -0
  242. package/dist/output/OutputFormatter.js.map +1 -0
  243. package/dist/output/OutputFormatterImpl.d.ts +131 -0
  244. package/dist/output/OutputFormatterImpl.d.ts.map +1 -0
  245. package/dist/output/OutputFormatterImpl.js +556 -0
  246. package/dist/output/OutputFormatterImpl.js.map +1 -0
  247. package/dist/output/examples.d.ts +38 -0
  248. package/dist/output/examples.d.ts.map +1 -0
  249. package/dist/output/examples.js +503 -0
  250. package/dist/output/examples.js.map +1 -0
  251. package/dist/output/index.d.ts +16 -0
  252. package/dist/output/index.d.ts.map +1 -0
  253. package/dist/output/index.js +58 -0
  254. package/dist/output/index.js.map +1 -0
  255. package/package.json +4 -1
@@ -0,0 +1,533 @@
1
+ /**
2
+ * Binary Metadata Cache - TypeScript Interface Definitions
3
+ *
4
+ * High-performance binary caching system for pattern metadata using FlatBuffers.
5
+ * Achieves 10x faster test discovery (500ms → 50ms) by reducing pattern load
6
+ * time from 32ms (SQLite baseline) to <5ms (binary cache target).
7
+ *
8
+ * Architecture:
9
+ * - Format: FlatBuffers (zero-copy deserialization)
10
+ * - Versioning: Semantic versioning (major.minor.patch)
11
+ * - Validation: SHA-256 checksum
12
+ * - Fallback: Graceful degradation to SQLite on corruption
13
+ * - Invalidation: Event-based + TTL-based expiration
14
+ *
15
+ * Performance Targets:
16
+ * - Pattern load time: <5ms (1000 patterns)
17
+ * - Embedding access: <0.15ms (768-dim Float32Array)
18
+ * - Cache hit rate: >95%
19
+ * - Test discovery: <50ms (end-to-end)
20
+ *
21
+ * @module core/cache/BinaryMetadataCache
22
+ * @version 1.0.0
23
+ */
24
+ import type { TestPattern } from '../memory/IPatternStore';
25
+ /**
26
+ * Binary cache format version
27
+ */
28
+ export interface CacheVersion {
29
+ /** Major version (breaking schema changes) */
30
+ major: number;
31
+ /** Minor version (backward-compatible additions) */
32
+ minor: number;
33
+ /** Patch version (non-breaking optimizations) */
34
+ patch: number;
35
+ }
36
+ /**
37
+ * Root binary cache container
38
+ *
39
+ * Represents the entire cached state of pattern metadata, agent configurations,
40
+ * and pre-built search indexes. Serialized to disk using FlatBuffers for
41
+ * zero-copy access and fast deserialization.
42
+ */
43
+ export interface BinaryCache {
44
+ /** Cache format version (encoded as uint32: major << 16 | minor << 8 | patch) */
45
+ version: number;
46
+ /** Cache generation timestamp (Unix milliseconds) */
47
+ timestamp: number;
48
+ /** SHA-256 checksum for integrity validation (hex string) */
49
+ checksum: string;
50
+ /** Pattern metadata entries */
51
+ patterns: PatternEntry[];
52
+ /** Agent configuration cache */
53
+ agentConfigs: AgentConfigEntry[];
54
+ /** Pre-built search indexes for fast lookup */
55
+ indexes: CacheIndexData;
56
+ }
57
+ /**
58
+ * Pattern metadata entry in binary cache
59
+ *
60
+ * Optimized layout for fast deserialization:
61
+ * - Embedding stored as Float32Array (zero-copy access)
62
+ * - Strings interned for memory efficiency
63
+ * - Metadata stored inline for cache locality
64
+ */
65
+ export interface PatternEntry {
66
+ /** Pattern unique ID */
67
+ id: string;
68
+ /** Pattern type (e.g., "unit-test", "integration-test") */
69
+ type: string;
70
+ /** Domain/category (e.g., "api", "ui") */
71
+ domain: string;
72
+ /** Test framework (e.g., "jest", "vitest") */
73
+ framework: string;
74
+ /** Vector embedding (768-dim, zero-copy access) */
75
+ embedding: Float32Array;
76
+ /** Pattern content/template */
77
+ content: string;
78
+ /** Extended metadata */
79
+ metadata: PatternMetadata;
80
+ }
81
+ /**
82
+ * Pattern metadata (inline in PatternEntry)
83
+ */
84
+ export interface PatternMetadata {
85
+ /** Code coverage score (0.0-1.0) */
86
+ coverage: number;
87
+ /** Flakiness probability (0.0-1.0) */
88
+ flakinessScore: number;
89
+ /** Test verdict */
90
+ verdict: 'success' | 'failure' | 'flaky' | 'unknown';
91
+ /** Creation timestamp (Unix milliseconds) */
92
+ createdAt: number;
93
+ /** Last usage timestamp (Unix milliseconds) */
94
+ lastUsed: number;
95
+ /** Usage counter */
96
+ usageCount: number;
97
+ /** Success counter */
98
+ successCount: number;
99
+ }
100
+ /**
101
+ * Agent configuration entry in cache
102
+ */
103
+ export interface AgentConfigEntry {
104
+ /** Agent unique ID */
105
+ agentId: string;
106
+ /** Agent type (e.g., "test-generator", "coverage-analyzer") */
107
+ type: string;
108
+ /** JSON-serialized configuration */
109
+ configJson: string;
110
+ /** Configuration version */
111
+ version: string;
112
+ /** Last update timestamp (Unix milliseconds) */
113
+ updatedAt: number;
114
+ }
115
+ /**
116
+ * Pre-built search indexes for O(1) lookup
117
+ *
118
+ * Indexes are computed at cache generation time to avoid runtime overhead.
119
+ * Supports filtering by domain, type, and framework.
120
+ */
121
+ export interface CacheIndexData {
122
+ /** Domain → pattern IDs mapping */
123
+ domainIndex: Map<string, string[]>;
124
+ /** Type → pattern IDs mapping */
125
+ typeIndex: Map<string, string[]>;
126
+ /** Framework → pattern IDs mapping */
127
+ frameworkIndex: Map<string, string[]>;
128
+ }
129
+ /**
130
+ * Cache serializer interface
131
+ *
132
+ * Handles encoding/decoding of cache data to/from binary format using FlatBuffers.
133
+ * Supports atomic writes and checksum computation.
134
+ */
135
+ export interface CacheSerializer {
136
+ /**
137
+ * Encode cache data to binary buffer
138
+ *
139
+ * @param cache - Cache data to serialize
140
+ * @returns Binary buffer (Uint8Array) ready for disk write
141
+ * @throws {SerializationError} If encoding fails
142
+ */
143
+ encode(cache: BinaryCache): Uint8Array;
144
+ /**
145
+ * Decode binary buffer to cache data
146
+ *
147
+ * @param buffer - Binary buffer from disk read
148
+ * @returns Decoded cache data with zero-copy embeddings
149
+ * @throws {DeserializationError} If decoding fails
150
+ */
151
+ decode(buffer: Uint8Array): BinaryCache;
152
+ /**
153
+ * Compute SHA-256 checksum of cache data
154
+ *
155
+ * @param buffer - Binary buffer to checksum
156
+ * @returns SHA-256 hash as hex string
157
+ */
158
+ computeChecksum(buffer: Uint8Array): Promise<string>;
159
+ /**
160
+ * Encode cache version to uint32
161
+ *
162
+ * Format: (major << 16) | (minor << 8) | patch
163
+ * Example: v1.2.3 → 0x00010203 (66051)
164
+ *
165
+ * @param version - Semantic version
166
+ * @returns Encoded version as uint32
167
+ */
168
+ encodeVersion(version: CacheVersion): number;
169
+ /**
170
+ * Decode uint32 to cache version
171
+ *
172
+ * @param encoded - Encoded version uint32
173
+ * @returns Semantic version
174
+ */
175
+ decodeVersion(encoded: number): CacheVersion;
176
+ }
177
+ /**
178
+ * Cache validator interface
179
+ *
180
+ * Validates cache integrity and version compatibility.
181
+ * Ensures data consistency and prevents use of corrupted caches.
182
+ */
183
+ export interface CacheValidator {
184
+ /**
185
+ * Validate cache integrity
186
+ *
187
+ * Performs checksum validation and version compatibility check.
188
+ *
189
+ * @param buffer - Binary cache buffer
190
+ * @param expectedChecksum - Expected SHA-256 checksum
191
+ * @returns Validation result with error details
192
+ */
193
+ validate(buffer: Uint8Array, expectedChecksum: string): Promise<ValidationResult>;
194
+ /**
195
+ * Check version compatibility
196
+ *
197
+ * @param cacheVersion - Version from cache header
198
+ * @param codeVersion - Current code version
199
+ * @returns Compatibility result
200
+ */
201
+ isVersionCompatible(cacheVersion: CacheVersion, codeVersion: CacheVersion): boolean;
202
+ /**
203
+ * Validate pattern entry
204
+ *
205
+ * Checks for required fields and data integrity.
206
+ *
207
+ * @param entry - Pattern entry to validate
208
+ * @returns True if valid, false otherwise
209
+ */
210
+ isValidPatternEntry(entry: PatternEntry): boolean;
211
+ }
212
+ /**
213
+ * Validation result
214
+ */
215
+ export interface ValidationResult {
216
+ /** Overall validation success */
217
+ valid: boolean;
218
+ /** Checksum validation passed */
219
+ checksumValid: boolean;
220
+ /** Version compatibility check passed */
221
+ versionCompatible: boolean;
222
+ /** Error message (if validation failed) */
223
+ error?: string;
224
+ /** Computed checksum (for debugging) */
225
+ computedChecksum?: string;
226
+ /** Cache version (for debugging) */
227
+ cacheVersion?: CacheVersion;
228
+ }
229
+ /**
230
+ * Cache invalidation event
231
+ */
232
+ export interface CacheInvalidation {
233
+ /** Invalidation trigger type */
234
+ trigger: 'pattern_stored' | 'pattern_deleted' | 'config_updated' | 'schema_migration' | 'manual' | 'ttl_expired';
235
+ /** Event timestamp (Unix milliseconds) */
236
+ timestamp: number;
237
+ /** Whether immediate cache rebuild is required */
238
+ requiresRebuild: boolean;
239
+ /** Additional metadata */
240
+ metadata?: Record<string, any>;
241
+ }
242
+ /**
243
+ * Cache invalidator interface
244
+ *
245
+ * Manages cache lifecycle and invalidation logic.
246
+ * Supports event-based and TTL-based invalidation.
247
+ */
248
+ export interface CacheInvalidator {
249
+ /**
250
+ * Mark cache as stale
251
+ *
252
+ * @param event - Invalidation event
253
+ */
254
+ markStale(event: CacheInvalidation): void;
255
+ /**
256
+ * Check if cache is valid
257
+ *
258
+ * @param cacheTimestamp - Cache generation timestamp
259
+ * @returns True if cache is valid and not stale
260
+ */
261
+ isCacheValid(cacheTimestamp: number): boolean;
262
+ /**
263
+ * Check if cache is fresh (within TTL)
264
+ *
265
+ * @param cacheTimestamp - Cache generation timestamp
266
+ * @param ttl - Time-to-live in milliseconds
267
+ * @returns True if cache age < TTL
268
+ */
269
+ isCacheFresh(cacheTimestamp: number, ttl: number): boolean;
270
+ /**
271
+ * Check if background rebuild should be triggered
272
+ *
273
+ * Typically triggers when cache age exceeds 80% of TTL.
274
+ *
275
+ * @param cacheTimestamp - Cache generation timestamp
276
+ * @param ttl - Time-to-live in milliseconds
277
+ * @returns True if background rebuild recommended
278
+ */
279
+ shouldBackgroundRebuild(cacheTimestamp: number, ttl: number): boolean;
280
+ /**
281
+ * Schedule cache rebuild
282
+ *
283
+ * @param background - Whether to rebuild in background
284
+ */
285
+ scheduleCacheRebuild(background: boolean): void;
286
+ }
287
+ /**
288
+ * Cache configuration
289
+ */
290
+ export interface BinaryCacheConfig {
291
+ /** Enable binary cache (feature flag) */
292
+ enabled: boolean;
293
+ /** Cache file path (default: .aqe/cache/patterns.bin) */
294
+ cachePath: string;
295
+ /** Maximum cache age in milliseconds (default: 3600000 = 1 hour) */
296
+ maxAge: number;
297
+ /** Cache validation check interval (default: 300000 = 5 min) */
298
+ checkInterval: number;
299
+ /** Enable background cache rebuild (default: true) */
300
+ backgroundRebuild: boolean;
301
+ /** Graceful fallback to SQLite on errors (default: true) */
302
+ fallbackToSQLite: boolean;
303
+ /** Current cache format version */
304
+ version: CacheVersion;
305
+ /** Enable performance metrics collection (default: true) */
306
+ enableMetrics: boolean;
307
+ }
308
+ /**
309
+ * Cache metrics for monitoring
310
+ */
311
+ export interface CacheMetrics {
312
+ /** Total cache hits */
313
+ cacheHits: number;
314
+ /** Total cache misses */
315
+ cacheMisses: number;
316
+ /** Cache hit rate (0.0-1.0) */
317
+ cacheHitRate: number;
318
+ /** Average cache load time (milliseconds) */
319
+ avgCacheLoadTime: number;
320
+ /** Average SQLite fallback time (milliseconds) */
321
+ avgSQLiteFallbackTime: number;
322
+ /** Cache corruption count */
323
+ cacheCorruptionCount: number;
324
+ /** Cache rebuild count */
325
+ cacheRebuildCount: number;
326
+ /** Last cache generation timestamp */
327
+ lastCacheGenerationTime: number;
328
+ /** Cache file size (bytes) */
329
+ cacheFileSize: number;
330
+ /** Number of patterns in cache */
331
+ patternCount: number;
332
+ }
333
+ /**
334
+ * Binary cache reader interface (zero-copy access)
335
+ *
336
+ * Provides read-only access to cached pattern metadata with minimal overhead.
337
+ * Uses memory-mapped files and FlatBuffers for zero-copy deserialization.
338
+ */
339
+ export interface BinaryCacheReader {
340
+ /**
341
+ * Initialize cache reader
342
+ *
343
+ * Loads cache file, validates checksum, and prepares for zero-copy access.
344
+ *
345
+ * @param cachePath - Path to binary cache file
346
+ * @param config - Cache configuration
347
+ * @returns Initialization success status
348
+ * @throws {CacheLoadError} If cache loading fails
349
+ */
350
+ initialize(cachePath: string, config: BinaryCacheConfig): Promise<boolean>;
351
+ /**
352
+ * Get pattern by ID (zero-copy)
353
+ *
354
+ * @param id - Pattern unique ID
355
+ * @returns Pattern entry or null if not found
356
+ */
357
+ getPattern(id: string): PatternEntry | null;
358
+ /**
359
+ * Get patterns by domain (O(1) lookup)
360
+ *
361
+ * @param domain - Domain filter
362
+ * @returns Array of pattern entries
363
+ */
364
+ getPatternsByDomain(domain: string): PatternEntry[];
365
+ /**
366
+ * Get patterns by type (O(1) lookup)
367
+ *
368
+ * @param type - Type filter
369
+ * @returns Array of pattern entries
370
+ */
371
+ getPatternsByType(type: string): PatternEntry[];
372
+ /**
373
+ * Get patterns by framework (O(1) lookup)
374
+ *
375
+ * @param framework - Framework filter
376
+ * @returns Array of pattern entries
377
+ */
378
+ getPatternsByFramework(framework: string): PatternEntry[];
379
+ /**
380
+ * Get all patterns (zero-copy)
381
+ *
382
+ * @returns Array of all pattern entries
383
+ */
384
+ getAllPatterns(): PatternEntry[];
385
+ /**
386
+ * Get agent configuration by ID
387
+ *
388
+ * @param agentId - Agent unique ID
389
+ * @returns Agent config entry or null if not found
390
+ */
391
+ getAgentConfig(agentId: string): AgentConfigEntry | null;
392
+ /**
393
+ * Get cache metadata
394
+ *
395
+ * @returns Cache version, timestamp, and statistics
396
+ */
397
+ getCacheMetadata(): {
398
+ version: CacheVersion;
399
+ timestamp: number;
400
+ patternCount: number;
401
+ agentConfigCount: number;
402
+ fileSize: number;
403
+ };
404
+ /**
405
+ * Check if cache is valid and fresh
406
+ *
407
+ * @returns True if cache is usable
408
+ */
409
+ isValid(): boolean;
410
+ /**
411
+ * Close cache reader and release resources
412
+ */
413
+ close(): void;
414
+ }
415
+ /**
416
+ * Binary cache builder interface
417
+ *
418
+ * Builds binary cache from SQLite data source.
419
+ * Handles serialization, index generation, and atomic writes.
420
+ */
421
+ export interface BinaryCacheBuilder {
422
+ /**
423
+ * Build cache from SQLite patterns
424
+ *
425
+ * @param patterns - Array of test patterns from SQLite
426
+ * @param agentConfigs - Array of agent configurations
427
+ * @param outputPath - Cache file output path
428
+ * @returns Build success status and metrics
429
+ */
430
+ buildCache(patterns: TestPattern[], agentConfigs: AgentConfigEntry[], outputPath: string): Promise<CacheBuildResult>;
431
+ /**
432
+ * Build cache indexes
433
+ *
434
+ * Pre-computes domain, type, and framework indexes for O(1) lookup.
435
+ *
436
+ * @param patterns - Array of pattern entries
437
+ * @returns Index data structure
438
+ */
439
+ buildIndexes(patterns: PatternEntry[]): CacheIndexData;
440
+ /**
441
+ * Write cache to disk atomically
442
+ *
443
+ * Uses atomic write pattern (write to temp, validate, rename) to prevent
444
+ * partial writes and corruption.
445
+ *
446
+ * @param buffer - Binary cache buffer
447
+ * @param outputPath - Target file path
448
+ * @returns Write success status
449
+ */
450
+ writeAtomic(buffer: Uint8Array, outputPath: string): Promise<boolean>;
451
+ }
452
+ /**
453
+ * Cache build result
454
+ */
455
+ export interface CacheBuildResult {
456
+ /** Build success status */
457
+ success: boolean;
458
+ /** Build duration (milliseconds) */
459
+ duration: number;
460
+ /** Number of patterns cached */
461
+ patternCount: number;
462
+ /** Number of agent configs cached */
463
+ agentConfigCount: number;
464
+ /** Cache file size (bytes) */
465
+ cacheFileSize: number;
466
+ /** Cache version */
467
+ version: CacheVersion;
468
+ /** SHA-256 checksum */
469
+ checksum: string;
470
+ /** Error message (if build failed) */
471
+ error?: string;
472
+ }
473
+ /**
474
+ * Cache load error types
475
+ */
476
+ export type CacheLoadErrorType = 'file_not_found' | 'permission_denied' | 'checksum_mismatch' | 'version_incompatible' | 'corrupted_data' | 'io_error';
477
+ /**
478
+ * Cache load error
479
+ */
480
+ export declare class CacheLoadError extends Error {
481
+ type: CacheLoadErrorType;
482
+ metadata?: Record<string, any> | undefined;
483
+ constructor(type: CacheLoadErrorType, message: string, metadata?: Record<string, any> | undefined);
484
+ }
485
+ /**
486
+ * Serialization error
487
+ */
488
+ export declare class SerializationError extends Error {
489
+ cause?: Error | undefined;
490
+ constructor(message: string, cause?: Error | undefined);
491
+ }
492
+ /**
493
+ * Deserialization error
494
+ */
495
+ export declare class DeserializationError extends Error {
496
+ cause?: Error | undefined;
497
+ constructor(message: string, cause?: Error | undefined);
498
+ }
499
+ /**
500
+ * Default cache configuration
501
+ */
502
+ export declare const DEFAULT_CACHE_CONFIG: BinaryCacheConfig;
503
+ /**
504
+ * Cache file magic number (0x41514543 = "AQEC" = Agentic QE Cache)
505
+ */
506
+ export declare const CACHE_MAGIC_NUMBER = 1095845187;
507
+ /**
508
+ * Cache file header size (bytes)
509
+ */
510
+ export declare const CACHE_HEADER_SIZE = 64;
511
+ /**
512
+ * Current cache format version
513
+ */
514
+ export declare const CACHE_VERSION: CacheVersion;
515
+ /**
516
+ * Helper: Convert TestPattern to PatternEntry
517
+ *
518
+ * Maps from IPatternStore.TestPattern to cache-optimized PatternEntry format.
519
+ *
520
+ * @param pattern - Test pattern from SQLite
521
+ * @returns Pattern entry for cache
522
+ */
523
+ export declare function testPatternToEntry(pattern: TestPattern): PatternEntry;
524
+ /**
525
+ * Helper: Convert PatternEntry to TestPattern
526
+ *
527
+ * Maps from cache-optimized PatternEntry to IPatternStore.TestPattern format.
528
+ *
529
+ * @param entry - Pattern entry from cache
530
+ * @returns Test pattern for application use
531
+ */
532
+ export declare function entryToTestPattern(entry: PatternEntry): TestPattern;
533
+ //# sourceMappingURL=BinaryMetadataCache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryMetadataCache.d.ts","sourceRoot":"","sources":["../../../src/core/cache/BinaryMetadataCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ /**
3
+ * Binary Metadata Cache - TypeScript Interface Definitions
4
+ *
5
+ * High-performance binary caching system for pattern metadata using FlatBuffers.
6
+ * Achieves 10x faster test discovery (500ms → 50ms) by reducing pattern load
7
+ * time from 32ms (SQLite baseline) to <5ms (binary cache target).
8
+ *
9
+ * Architecture:
10
+ * - Format: FlatBuffers (zero-copy deserialization)
11
+ * - Versioning: Semantic versioning (major.minor.patch)
12
+ * - Validation: SHA-256 checksum
13
+ * - Fallback: Graceful degradation to SQLite on corruption
14
+ * - Invalidation: Event-based + TTL-based expiration
15
+ *
16
+ * Performance Targets:
17
+ * - Pattern load time: <5ms (1000 patterns)
18
+ * - Embedding access: <0.15ms (768-dim Float32Array)
19
+ * - Cache hit rate: >95%
20
+ * - Test discovery: <50ms (end-to-end)
21
+ *
22
+ * @module core/cache/BinaryMetadataCache
23
+ * @version 1.0.0
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.CACHE_VERSION = exports.CACHE_HEADER_SIZE = exports.CACHE_MAGIC_NUMBER = exports.DEFAULT_CACHE_CONFIG = exports.DeserializationError = exports.SerializationError = exports.CacheLoadError = void 0;
27
+ exports.testPatternToEntry = testPatternToEntry;
28
+ exports.entryToTestPattern = entryToTestPattern;
29
+ /**
30
+ * Cache load error
31
+ */
32
+ class CacheLoadError extends Error {
33
+ constructor(type, message, metadata) {
34
+ super(message);
35
+ this.type = type;
36
+ this.metadata = metadata;
37
+ this.name = 'CacheLoadError';
38
+ }
39
+ }
40
+ exports.CacheLoadError = CacheLoadError;
41
+ /**
42
+ * Serialization error
43
+ */
44
+ class SerializationError extends Error {
45
+ constructor(message, cause) {
46
+ super(message);
47
+ this.cause = cause;
48
+ this.name = 'SerializationError';
49
+ }
50
+ }
51
+ exports.SerializationError = SerializationError;
52
+ /**
53
+ * Deserialization error
54
+ */
55
+ class DeserializationError extends Error {
56
+ constructor(message, cause) {
57
+ super(message);
58
+ this.cause = cause;
59
+ this.name = 'DeserializationError';
60
+ }
61
+ }
62
+ exports.DeserializationError = DeserializationError;
63
+ /**
64
+ * Default cache configuration
65
+ */
66
+ exports.DEFAULT_CACHE_CONFIG = {
67
+ enabled: true,
68
+ cachePath: '.aqe/cache/patterns.bin',
69
+ maxAge: 3600000, // 1 hour
70
+ checkInterval: 300000, // 5 minutes
71
+ backgroundRebuild: true,
72
+ fallbackToSQLite: true,
73
+ version: { major: 1, minor: 0, patch: 0 },
74
+ enableMetrics: true,
75
+ };
76
+ /**
77
+ * Cache file magic number (0x41514543 = "AQEC" = Agentic QE Cache)
78
+ */
79
+ exports.CACHE_MAGIC_NUMBER = 0x41514543;
80
+ /**
81
+ * Cache file header size (bytes)
82
+ */
83
+ exports.CACHE_HEADER_SIZE = 64;
84
+ /**
85
+ * Current cache format version
86
+ */
87
+ exports.CACHE_VERSION = { major: 1, minor: 0, patch: 0 };
88
+ /**
89
+ * Helper: Convert TestPattern to PatternEntry
90
+ *
91
+ * Maps from IPatternStore.TestPattern to cache-optimized PatternEntry format.
92
+ *
93
+ * @param pattern - Test pattern from SQLite
94
+ * @returns Pattern entry for cache
95
+ */
96
+ function testPatternToEntry(pattern) {
97
+ return {
98
+ id: pattern.id,
99
+ type: pattern.type,
100
+ domain: pattern.domain,
101
+ framework: pattern.framework || 'unknown',
102
+ embedding: new Float32Array(pattern.embedding),
103
+ content: pattern.content,
104
+ metadata: {
105
+ coverage: pattern.coverage || 0,
106
+ flakinessScore: pattern.flakinessScore || 0,
107
+ verdict: pattern.verdict || 'unknown',
108
+ createdAt: pattern.createdAt || Date.now(),
109
+ lastUsed: pattern.lastUsed || Date.now(),
110
+ usageCount: pattern.usageCount || 0,
111
+ successCount: pattern.metadata?.successCount || 0,
112
+ },
113
+ };
114
+ }
115
+ /**
116
+ * Helper: Convert PatternEntry to TestPattern
117
+ *
118
+ * Maps from cache-optimized PatternEntry to IPatternStore.TestPattern format.
119
+ *
120
+ * @param entry - Pattern entry from cache
121
+ * @returns Test pattern for application use
122
+ */
123
+ function entryToTestPattern(entry) {
124
+ return {
125
+ id: entry.id,
126
+ type: entry.type,
127
+ domain: entry.domain,
128
+ framework: entry.framework,
129
+ embedding: Array.from(entry.embedding),
130
+ content: entry.content,
131
+ coverage: entry.metadata.coverage,
132
+ flakinessScore: entry.metadata.flakinessScore,
133
+ verdict: entry.metadata.verdict === 'unknown' ? undefined : entry.metadata.verdict,
134
+ createdAt: entry.metadata.createdAt,
135
+ lastUsed: entry.metadata.lastUsed,
136
+ usageCount: entry.metadata.usageCount,
137
+ metadata: {
138
+ successCount: entry.metadata.successCount,
139
+ },
140
+ };
141
+ }
142
+ //# sourceMappingURL=BinaryMetadataCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BinaryMetadataCache.js","sourceRoot":"","sources":["../../../src/core/cache/BinaryMetadataCache.ts"],"names":[],"mappings":"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"}