agentic-qe 2.3.5 → 2.5.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 (326) hide show
  1. package/.claude/agents/qe-a11y-ally.md +751 -0
  2. package/.claude/agents/qx-partner.md +120 -4
  3. package/.claude/skills/testability-scoring/SKILL.md +107 -6
  4. package/CHANGELOG.md +133 -0
  5. package/README.md +7 -6
  6. package/dist/agents/AccessibilityAllyAgent.d.ts +168 -0
  7. package/dist/agents/AccessibilityAllyAgent.d.ts.map +1 -0
  8. package/dist/agents/AccessibilityAllyAgent.js +462 -0
  9. package/dist/agents/AccessibilityAllyAgent.js.map +1 -0
  10. package/dist/agents/BaseAgent.d.ts +56 -49
  11. package/dist/agents/BaseAgent.d.ts.map +1 -1
  12. package/dist/agents/BaseAgent.js +208 -604
  13. package/dist/agents/BaseAgent.js.map +1 -1
  14. package/dist/agents/FlakyTestHunterAgent.d.ts +2 -2
  15. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  16. package/dist/agents/FlakyTestHunterAgent.js +8 -104
  17. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  18. package/dist/agents/SONAIntegration.d.ts +109 -0
  19. package/dist/agents/SONAIntegration.d.ts.map +1 -0
  20. package/dist/agents/SONAIntegration.js +167 -0
  21. package/dist/agents/SONAIntegration.js.map +1 -0
  22. package/dist/agents/TestExecutorAgent.d.ts +1 -1
  23. package/dist/agents/TestExecutorAgent.d.ts.map +1 -1
  24. package/dist/agents/TestExecutorAgent.js +4 -46
  25. package/dist/agents/TestExecutorAgent.js.map +1 -1
  26. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  27. package/dist/agents/TestGeneratorAgent.js +15 -35
  28. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  29. package/dist/agents/adapters/CoordinatorAdapter.d.ts +47 -0
  30. package/dist/agents/adapters/CoordinatorAdapter.d.ts.map +1 -0
  31. package/dist/agents/adapters/CoordinatorAdapter.js +266 -0
  32. package/dist/agents/adapters/CoordinatorAdapter.js.map +1 -0
  33. package/dist/agents/adapters/LearningEngineAdapter.d.ts +45 -0
  34. package/dist/agents/adapters/LearningEngineAdapter.d.ts.map +1 -0
  35. package/dist/agents/adapters/LearningEngineAdapter.js +279 -0
  36. package/dist/agents/adapters/LearningEngineAdapter.js.map +1 -0
  37. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts +45 -0
  38. package/dist/agents/adapters/LifecycleManagerAdapter.d.ts.map +1 -0
  39. package/dist/agents/adapters/LifecycleManagerAdapter.js +128 -0
  40. package/dist/agents/adapters/LifecycleManagerAdapter.js.map +1 -0
  41. package/dist/agents/adapters/MemoryServiceAdapter.d.ts +96 -0
  42. package/dist/agents/adapters/MemoryServiceAdapter.d.ts.map +1 -0
  43. package/dist/agents/adapters/MemoryServiceAdapter.js +266 -0
  44. package/dist/agents/adapters/MemoryServiceAdapter.js.map +1 -0
  45. package/dist/agents/adapters/index.d.ts +14 -0
  46. package/dist/agents/adapters/index.d.ts.map +1 -0
  47. package/dist/agents/adapters/index.js +25 -0
  48. package/dist/agents/adapters/index.js.map +1 -0
  49. package/dist/agents/index.d.ts +3 -0
  50. package/dist/agents/index.d.ts.map +1 -1
  51. package/dist/agents/index.js +93 -2
  52. package/dist/agents/index.js.map +1 -1
  53. package/dist/agents/lifecycle/AgentLifecycleManager.d.ts.map +1 -1
  54. package/dist/agents/lifecycle/AgentLifecycleManager.js +12 -6
  55. package/dist/agents/lifecycle/AgentLifecycleManager.js.map +1 -1
  56. package/dist/cli/init/agents.js +1 -1
  57. package/dist/cli/init/claude-config.js +2 -2
  58. package/dist/cli/init/database-init.js +1 -1
  59. package/dist/core/cache/BinaryCacheBuilder.d.ts +84 -0
  60. package/dist/core/cache/BinaryCacheBuilder.d.ts.map +1 -0
  61. package/dist/core/cache/BinaryCacheBuilder.js +225 -0
  62. package/dist/core/cache/BinaryCacheBuilder.js.map +1 -0
  63. package/dist/core/cache/BinaryCacheImpl.d.ts +161 -0
  64. package/dist/core/cache/BinaryCacheImpl.d.ts.map +1 -0
  65. package/dist/core/cache/BinaryCacheImpl.js +685 -0
  66. package/dist/core/cache/BinaryCacheImpl.js.map +1 -0
  67. package/dist/core/cache/BinaryCacheManager.d.ts +142 -0
  68. package/dist/core/cache/BinaryCacheManager.d.ts.map +1 -0
  69. package/dist/core/cache/BinaryCacheManager.js +354 -0
  70. package/dist/core/cache/BinaryCacheManager.js.map +1 -0
  71. package/dist/core/cache/BinaryCacheReader.d.ts +129 -0
  72. package/dist/core/cache/BinaryCacheReader.d.ts.map +1 -0
  73. package/dist/core/cache/BinaryCacheReader.js +243 -0
  74. package/dist/core/cache/BinaryCacheReader.js.map +1 -0
  75. package/dist/core/cache/BinaryMetadataCache.d.ts +777 -0
  76. package/dist/core/cache/BinaryMetadataCache.d.ts.map +1 -0
  77. package/dist/core/cache/BinaryMetadataCache.js +204 -0
  78. package/dist/core/cache/BinaryMetadataCache.js.map +1 -0
  79. package/dist/core/cache/CacheInvalidator.d.ts +103 -0
  80. package/dist/core/cache/CacheInvalidator.d.ts.map +1 -0
  81. package/dist/core/cache/CacheInvalidator.js +152 -0
  82. package/dist/core/cache/CacheInvalidator.js.map +1 -0
  83. package/dist/core/cache/CacheValidator.d.ts +69 -0
  84. package/dist/core/cache/CacheValidator.d.ts.map +1 -0
  85. package/dist/core/cache/CacheValidator.js +189 -0
  86. package/dist/core/cache/CacheValidator.js.map +1 -0
  87. package/dist/core/cache/MessagePackSerializer.d.ts +163 -0
  88. package/dist/core/cache/MessagePackSerializer.d.ts.map +1 -0
  89. package/dist/core/cache/MessagePackSerializer.js +274 -0
  90. package/dist/core/cache/MessagePackSerializer.js.map +1 -0
  91. package/dist/core/cache/index.d.ts +59 -0
  92. package/dist/core/cache/index.d.ts.map +1 -0
  93. package/dist/core/cache/index.js +111 -0
  94. package/dist/core/cache/index.js.map +1 -0
  95. package/dist/core/index.d.ts +2 -0
  96. package/dist/core/index.d.ts.map +1 -1
  97. package/dist/core/index.js +18 -0
  98. package/dist/core/index.js.map +1 -1
  99. package/dist/core/memory/AgentDBService.d.ts +30 -4
  100. package/dist/core/memory/AgentDBService.d.ts.map +1 -1
  101. package/dist/core/memory/AgentDBService.js +122 -12
  102. package/dist/core/memory/AgentDBService.js.map +1 -1
  103. package/dist/core/memory/CachedHNSWVectorMemory.d.ts +153 -0
  104. package/dist/core/memory/CachedHNSWVectorMemory.d.ts.map +1 -0
  105. package/dist/core/memory/CachedHNSWVectorMemory.js +329 -0
  106. package/dist/core/memory/CachedHNSWVectorMemory.js.map +1 -0
  107. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  108. package/dist/core/memory/PatternStoreFactory.d.ts +28 -0
  109. package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -1
  110. package/dist/core/memory/PatternStoreFactory.js +68 -3
  111. package/dist/core/memory/PatternStoreFactory.js.map +1 -1
  112. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  113. package/dist/core/memory/RuVectorPatternStore.js +8 -2
  114. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  115. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts +50 -0
  116. package/dist/core/memory/UnifiedMemoryCoordinator.d.ts.map +1 -1
  117. package/dist/core/memory/UnifiedMemoryCoordinator.js +206 -0
  118. package/dist/core/memory/UnifiedMemoryCoordinator.js.map +1 -1
  119. package/dist/core/memory/index.d.ts +2 -0
  120. package/dist/core/memory/index.d.ts.map +1 -1
  121. package/dist/core/memory/index.js +8 -1
  122. package/dist/core/memory/index.js.map +1 -1
  123. package/dist/core/optimization/RecursiveOptimizer.d.ts +233 -0
  124. package/dist/core/optimization/RecursiveOptimizer.d.ts.map +1 -0
  125. package/dist/core/optimization/RecursiveOptimizer.js +509 -0
  126. package/dist/core/optimization/RecursiveOptimizer.js.map +1 -0
  127. package/dist/core/platform/FileOperations.d.ts +124 -0
  128. package/dist/core/platform/FileOperations.d.ts.map +1 -0
  129. package/dist/core/platform/FileOperations.js +371 -0
  130. package/dist/core/platform/FileOperations.js.map +1 -0
  131. package/dist/core/platform/PlatformDetector.d.ts +53 -0
  132. package/dist/core/platform/PlatformDetector.d.ts.map +1 -0
  133. package/dist/core/platform/PlatformDetector.js +251 -0
  134. package/dist/core/platform/PlatformDetector.js.map +1 -0
  135. package/dist/core/platform/index.d.ts +12 -0
  136. package/dist/core/platform/index.d.ts.map +1 -0
  137. package/dist/core/platform/index.js +28 -0
  138. package/dist/core/platform/index.js.map +1 -0
  139. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts +74 -0
  140. package/dist/core/strategies/AcceleratedLearningStrategy.d.ts.map +1 -0
  141. package/dist/core/strategies/AcceleratedLearningStrategy.js +200 -0
  142. package/dist/core/strategies/AcceleratedLearningStrategy.js.map +1 -0
  143. package/dist/core/strategies/AgentCoordinationStrategy.d.ts +157 -0
  144. package/dist/core/strategies/AgentCoordinationStrategy.d.ts.map +1 -0
  145. package/dist/core/strategies/AgentCoordinationStrategy.js +12 -0
  146. package/dist/core/strategies/AgentCoordinationStrategy.js.map +1 -0
  147. package/dist/core/strategies/AgentLearningStrategy.d.ts +200 -0
  148. package/dist/core/strategies/AgentLearningStrategy.d.ts.map +1 -0
  149. package/dist/core/strategies/AgentLearningStrategy.js +13 -0
  150. package/dist/core/strategies/AgentLearningStrategy.js.map +1 -0
  151. package/dist/core/strategies/AgentLifecycleStrategy.d.ts +116 -0
  152. package/dist/core/strategies/AgentLifecycleStrategy.d.ts.map +1 -0
  153. package/dist/core/strategies/AgentLifecycleStrategy.js +12 -0
  154. package/dist/core/strategies/AgentLifecycleStrategy.js.map +1 -0
  155. package/dist/core/strategies/AgentMemoryStrategy.d.ts +154 -0
  156. package/dist/core/strategies/AgentMemoryStrategy.d.ts.map +1 -0
  157. package/dist/core/strategies/AgentMemoryStrategy.js +13 -0
  158. package/dist/core/strategies/AgentMemoryStrategy.js.map +1 -0
  159. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts +105 -0
  160. package/dist/core/strategies/DefaultCoordinationStrategy.d.ts.map +1 -0
  161. package/dist/core/strategies/DefaultCoordinationStrategy.js +332 -0
  162. package/dist/core/strategies/DefaultCoordinationStrategy.js.map +1 -0
  163. package/dist/core/strategies/DefaultLearningStrategy.d.ts +120 -0
  164. package/dist/core/strategies/DefaultLearningStrategy.d.ts.map +1 -0
  165. package/dist/core/strategies/DefaultLearningStrategy.js +365 -0
  166. package/dist/core/strategies/DefaultLearningStrategy.js.map +1 -0
  167. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts +129 -0
  168. package/dist/core/strategies/DefaultLifecycleStrategy.d.ts.map +1 -0
  169. package/dist/core/strategies/DefaultLifecycleStrategy.js +297 -0
  170. package/dist/core/strategies/DefaultLifecycleStrategy.js.map +1 -0
  171. package/dist/core/strategies/DefaultMemoryStrategy.d.ts +91 -0
  172. package/dist/core/strategies/DefaultMemoryStrategy.d.ts.map +1 -0
  173. package/dist/core/strategies/DefaultMemoryStrategy.js +257 -0
  174. package/dist/core/strategies/DefaultMemoryStrategy.js.map +1 -0
  175. package/dist/core/strategies/DistributedMemoryStrategy.d.ts +85 -0
  176. package/dist/core/strategies/DistributedMemoryStrategy.d.ts.map +1 -0
  177. package/dist/core/strategies/DistributedMemoryStrategy.js +126 -0
  178. package/dist/core/strategies/DistributedMemoryStrategy.js.map +1 -0
  179. package/dist/core/strategies/SONALearningStrategy.d.ts +115 -0
  180. package/dist/core/strategies/SONALearningStrategy.d.ts.map +1 -0
  181. package/dist/core/strategies/SONALearningStrategy.js +656 -0
  182. package/dist/core/strategies/SONALearningStrategy.js.map +1 -0
  183. package/dist/core/strategies/TRMLearningStrategy.d.ts +162 -0
  184. package/dist/core/strategies/TRMLearningStrategy.d.ts.map +1 -0
  185. package/dist/core/strategies/TRMLearningStrategy.js +670 -0
  186. package/dist/core/strategies/TRMLearningStrategy.js.map +1 -0
  187. package/dist/core/strategies/index.d.ts +104 -0
  188. package/dist/core/strategies/index.d.ts.map +1 -0
  189. package/dist/core/strategies/index.js +68 -0
  190. package/dist/core/strategies/index.js.map +1 -0
  191. package/dist/learning/PerformanceOptimizer.js +2 -2
  192. package/dist/learning/PerformanceOptimizer.js.map +1 -1
  193. package/dist/learning/SONAFeedbackLoop.d.ts +168 -0
  194. package/dist/learning/SONAFeedbackLoop.d.ts.map +1 -0
  195. package/dist/learning/SONAFeedbackLoop.js +344 -0
  196. package/dist/learning/SONAFeedbackLoop.js.map +1 -0
  197. package/dist/learning/baselines/BaselineCollector.d.ts +1 -1
  198. package/dist/learning/baselines/BaselineCollector.js +1 -1
  199. package/dist/learning/baselines/StandardTaskSuite.d.ts +1 -1
  200. package/dist/learning/baselines/StandardTaskSuite.js +1 -1
  201. package/dist/learning/index.d.ts +2 -0
  202. package/dist/learning/index.d.ts.map +1 -1
  203. package/dist/learning/index.js +6 -1
  204. package/dist/learning/index.js.map +1 -1
  205. package/dist/mcp/handlers/base-handler.d.ts +28 -1
  206. package/dist/mcp/handlers/base-handler.d.ts.map +1 -1
  207. package/dist/mcp/handlers/base-handler.js +41 -0
  208. package/dist/mcp/handlers/base-handler.js.map +1 -1
  209. package/dist/mcp/server-instructions.d.ts +1 -1
  210. package/dist/mcp/server-instructions.js +1 -1
  211. package/dist/mcp/server.d.ts.map +1 -1
  212. package/dist/mcp/server.js +23 -16
  213. package/dist/mcp/server.js.map +1 -1
  214. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  215. package/dist/mcp/services/AgentRegistry.js +6 -1
  216. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  217. package/dist/mcp/tools/qe/accessibility/accname-computation.d.ts +114 -0
  218. package/dist/mcp/tools/qe/accessibility/accname-computation.d.ts.map +1 -0
  219. package/dist/mcp/tools/qe/accessibility/accname-computation.js +566 -0
  220. package/dist/mcp/tools/qe/accessibility/accname-computation.js.map +1 -0
  221. package/dist/mcp/tools/qe/accessibility/apg-patterns.d.ts +103 -0
  222. package/dist/mcp/tools/qe/accessibility/apg-patterns.d.ts.map +1 -0
  223. package/dist/mcp/tools/qe/accessibility/apg-patterns.js +1028 -0
  224. package/dist/mcp/tools/qe/accessibility/apg-patterns.js.map +1 -0
  225. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.d.ts +48 -0
  226. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.d.ts.map +1 -0
  227. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.js +565 -0
  228. package/dist/mcp/tools/qe/accessibility/en-301-549-mapping.js.map +1 -0
  229. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.d.ts +117 -0
  230. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.d.ts.map +1 -0
  231. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.js +571 -0
  232. package/dist/mcp/tools/qe/accessibility/eu-accessibility-act.js.map +1 -0
  233. package/dist/mcp/tools/qe/accessibility/html-report-generator.d.ts +23 -0
  234. package/dist/mcp/tools/qe/accessibility/html-report-generator.d.ts.map +1 -0
  235. package/dist/mcp/tools/qe/accessibility/html-report-generator.js +1152 -0
  236. package/dist/mcp/tools/qe/accessibility/html-report-generator.js.map +1 -0
  237. package/dist/mcp/tools/qe/accessibility/index.d.ts +22 -0
  238. package/dist/mcp/tools/qe/accessibility/index.d.ts.map +1 -0
  239. package/dist/mcp/tools/qe/accessibility/index.js +38 -0
  240. package/dist/mcp/tools/qe/accessibility/index.js.map +1 -0
  241. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.d.ts +18 -0
  242. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.d.ts.map +1 -0
  243. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.js +549 -0
  244. package/dist/mcp/tools/qe/accessibility/markdown-report-generator.js.map +1 -0
  245. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.d.ts +139 -0
  246. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.d.ts.map +1 -0
  247. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.js +1300 -0
  248. package/dist/mcp/tools/qe/accessibility/remediation-code-generator.js.map +1 -0
  249. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.d.ts +138 -0
  250. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.d.ts.map +1 -0
  251. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.js +1326 -0
  252. package/dist/mcp/tools/qe/accessibility/scan-comprehensive.js.map +1 -0
  253. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.d.ts +50 -0
  254. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.d.ts.map +1 -0
  255. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.js +469 -0
  256. package/dist/mcp/tools/qe/accessibility/video-vision-analyzer.js.map +1 -0
  257. package/dist/mcp/tools/qe/accessibility/webvtt-generator.d.ts +193 -0
  258. package/dist/mcp/tools/qe/accessibility/webvtt-generator.d.ts.map +1 -0
  259. package/dist/mcp/tools/qe/accessibility/webvtt-generator.js +511 -0
  260. package/dist/mcp/tools/qe/accessibility/webvtt-generator.js.map +1 -0
  261. package/dist/mcp/tools.d.ts +1 -0
  262. package/dist/mcp/tools.d.ts.map +1 -1
  263. package/dist/mcp/tools.js +61 -0
  264. package/dist/mcp/tools.js.map +1 -1
  265. package/dist/output/AIActionSuggester.d.ts +98 -0
  266. package/dist/output/AIActionSuggester.d.ts.map +1 -0
  267. package/dist/output/AIActionSuggester.js +499 -0
  268. package/dist/output/AIActionSuggester.js.map +1 -0
  269. package/dist/output/CLIOutputHelper.d.ts +169 -0
  270. package/dist/output/CLIOutputHelper.d.ts.map +1 -0
  271. package/dist/output/CLIOutputHelper.js +320 -0
  272. package/dist/output/CLIOutputHelper.js.map +1 -0
  273. package/dist/output/OutputFormatter.d.ts +764 -0
  274. package/dist/output/OutputFormatter.d.ts.map +1 -0
  275. package/dist/output/OutputFormatter.js +125 -0
  276. package/dist/output/OutputFormatter.js.map +1 -0
  277. package/dist/output/OutputFormatterImpl.d.ts +131 -0
  278. package/dist/output/OutputFormatterImpl.d.ts.map +1 -0
  279. package/dist/output/OutputFormatterImpl.js +556 -0
  280. package/dist/output/OutputFormatterImpl.js.map +1 -0
  281. package/dist/output/examples.d.ts +38 -0
  282. package/dist/output/examples.d.ts.map +1 -0
  283. package/dist/output/examples.js +503 -0
  284. package/dist/output/examples.js.map +1 -0
  285. package/dist/output/index.d.ts +16 -0
  286. package/dist/output/index.d.ts.map +1 -0
  287. package/dist/output/index.js +58 -0
  288. package/dist/output/index.js.map +1 -0
  289. package/dist/providers/HybridRouter.d.ts +34 -3
  290. package/dist/providers/HybridRouter.d.ts.map +1 -1
  291. package/dist/providers/HybridRouter.js +69 -4
  292. package/dist/providers/HybridRouter.js.map +1 -1
  293. package/dist/providers/LLMProviderFactory.d.ts +68 -1
  294. package/dist/providers/LLMProviderFactory.d.ts.map +1 -1
  295. package/dist/providers/LLMProviderFactory.js +173 -6
  296. package/dist/providers/LLMProviderFactory.js.map +1 -1
  297. package/dist/providers/OpenRouterProvider.d.ts +150 -0
  298. package/dist/providers/OpenRouterProvider.d.ts.map +1 -0
  299. package/dist/providers/OpenRouterProvider.js +545 -0
  300. package/dist/providers/OpenRouterProvider.js.map +1 -0
  301. package/dist/providers/RuvllmProvider.d.ts +130 -16
  302. package/dist/providers/RuvllmProvider.d.ts.map +1 -1
  303. package/dist/providers/RuvllmProvider.js +399 -83
  304. package/dist/providers/RuvllmProvider.js.map +1 -1
  305. package/dist/providers/index.d.ts +33 -4
  306. package/dist/providers/index.d.ts.map +1 -1
  307. package/dist/providers/index.js +72 -21
  308. package/dist/providers/index.js.map +1 -1
  309. package/dist/telemetry/instrumentation/agent.d.ts +1 -1
  310. package/dist/telemetry/instrumentation/agent.js +1 -1
  311. package/dist/telemetry/instrumentation/index.d.ts +1 -1
  312. package/dist/telemetry/instrumentation/index.js +1 -1
  313. package/dist/types/index.d.ts +2 -1
  314. package/dist/types/index.d.ts.map +1 -1
  315. package/dist/types/index.js +2 -0
  316. package/dist/types/index.js.map +1 -1
  317. package/dist/types/ruvllm.d.ts +97 -0
  318. package/dist/types/ruvllm.d.ts.map +1 -0
  319. package/dist/types/ruvllm.js +46 -0
  320. package/dist/types/ruvllm.js.map +1 -0
  321. package/dist/utils/ruvllm-loader.d.ts +94 -0
  322. package/dist/utils/ruvllm-loader.d.ts.map +1 -0
  323. package/dist/utils/ruvllm-loader.js +87 -0
  324. package/dist/utils/ruvllm-loader.js.map +1 -0
  325. package/docs/reference/agents.md +36 -1
  326. package/package.json +7 -2
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ /**
3
+ * Cache Validator - Integrity and Version Validation
4
+ *
5
+ * Validates binary cache integrity using:
6
+ * - SHA-256 checksum verification
7
+ * - Semantic version compatibility checks
8
+ * - Pattern entry validation
9
+ *
10
+ * @module core/cache/CacheValidator
11
+ * @version 1.0.0
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.BinaryCacheValidator = void 0;
15
+ exports.createCacheValidator = createCacheValidator;
16
+ const MessagePackSerializer_1 = require("./MessagePackSerializer");
17
+ /**
18
+ * Implementation of CacheValidator interface
19
+ *
20
+ * Provides multi-level validation:
21
+ * 1. Checksum validation (SHA-256)
22
+ * 2. Version compatibility (semantic versioning)
23
+ * 3. Pattern entry validation (required fields)
24
+ */
25
+ class BinaryCacheValidator {
26
+ constructor() {
27
+ this.serializer = new MessagePackSerializer_1.MessagePackSerializer();
28
+ }
29
+ /**
30
+ * Validate cache integrity
31
+ *
32
+ * Performs comprehensive validation:
33
+ * - Checksum matches expected value
34
+ * - Version is compatible with current code
35
+ * - Buffer structure is valid
36
+ *
37
+ * @param buffer - Binary cache buffer
38
+ * @param expectedChecksum - Expected SHA-256 checksum
39
+ * @returns Validation result with detailed diagnostics
40
+ */
41
+ async validate(buffer, expectedChecksum) {
42
+ try {
43
+ // 1. Compute actual checksum
44
+ const computedChecksum = await this.serializer.computeChecksum(buffer);
45
+ const checksumValid = computedChecksum === expectedChecksum;
46
+ if (!checksumValid) {
47
+ return {
48
+ valid: false,
49
+ checksumValid: false,
50
+ versionCompatible: false,
51
+ error: `Checksum mismatch: expected ${expectedChecksum}, got ${computedChecksum}`,
52
+ computedChecksum,
53
+ };
54
+ }
55
+ // 2. Decode cache to check structure
56
+ const cache = this.serializer.decode(buffer);
57
+ // 3. Decode version
58
+ const cacheVersion = this.serializer.decodeVersion(cache.version);
59
+ // 4. Check version compatibility (assuming current version is 1.0.0)
60
+ const currentVersion = { major: 1, minor: 0, patch: 0 };
61
+ const versionCompatible = this.isVersionCompatible(cacheVersion, currentVersion);
62
+ if (!versionCompatible) {
63
+ return {
64
+ valid: false,
65
+ checksumValid: true,
66
+ versionCompatible: false,
67
+ error: `Version incompatible: cache version ${cacheVersion.major}.${cacheVersion.minor}.${cacheVersion.patch}, code version ${currentVersion.major}.${currentVersion.minor}.${currentVersion.patch}`,
68
+ computedChecksum,
69
+ cacheVersion,
70
+ };
71
+ }
72
+ // 5. Validate pattern entries
73
+ for (const pattern of cache.patterns) {
74
+ if (!this.isValidPatternEntry(pattern)) {
75
+ return {
76
+ valid: false,
77
+ checksumValid: true,
78
+ versionCompatible: true,
79
+ error: `Invalid pattern entry: ${pattern.id}`,
80
+ computedChecksum,
81
+ cacheVersion,
82
+ };
83
+ }
84
+ }
85
+ // All validations passed
86
+ return {
87
+ valid: true,
88
+ checksumValid: true,
89
+ versionCompatible: true,
90
+ computedChecksum,
91
+ cacheVersion,
92
+ };
93
+ }
94
+ catch (error) {
95
+ return {
96
+ valid: false,
97
+ checksumValid: false,
98
+ versionCompatible: false,
99
+ error: `Validation failed: ${error instanceof Error ? error.message : 'Unknown error'}`,
100
+ };
101
+ }
102
+ }
103
+ /**
104
+ * Check version compatibility
105
+ *
106
+ * Rules:
107
+ * - Major version mismatch: INCOMPATIBLE (breaking changes)
108
+ * - Minor version mismatch: COMPATIBLE (backward compatible)
109
+ * - Patch version mismatch: COMPATIBLE (bug fixes)
110
+ *
111
+ * @param cacheVersion - Version from cache header
112
+ * @param codeVersion - Current code version
113
+ * @returns True if compatible
114
+ */
115
+ isVersionCompatible(cacheVersion, codeVersion) {
116
+ // Major version must match exactly
117
+ if (cacheVersion.major !== codeVersion.major) {
118
+ return false;
119
+ }
120
+ // Cache minor version can be less than or equal to code version
121
+ // (newer code can read older cache)
122
+ if (cacheVersion.minor > codeVersion.minor) {
123
+ return false;
124
+ }
125
+ // Patch version is always compatible within same major.minor
126
+ return true;
127
+ }
128
+ /**
129
+ * Validate pattern entry
130
+ *
131
+ * Checks for:
132
+ * - Required fields present
133
+ * - Valid embedding dimensions
134
+ * - Valid metadata values
135
+ *
136
+ * @param entry - Pattern entry to validate
137
+ * @returns True if valid
138
+ */
139
+ isValidPatternEntry(entry) {
140
+ // Check required fields
141
+ if (!entry.id || typeof entry.id !== 'string') {
142
+ return false;
143
+ }
144
+ if (!entry.type || typeof entry.type !== 'string') {
145
+ return false;
146
+ }
147
+ if (!entry.domain || typeof entry.domain !== 'string') {
148
+ return false;
149
+ }
150
+ if (!entry.framework || typeof entry.framework !== 'string') {
151
+ return false;
152
+ }
153
+ if (!entry.content || typeof entry.content !== 'string') {
154
+ return false;
155
+ }
156
+ // Validate embedding
157
+ if (!(entry.embedding instanceof Float32Array)) {
158
+ return false;
159
+ }
160
+ if (entry.embedding.length === 0) {
161
+ return false;
162
+ }
163
+ // Validate metadata
164
+ if (!entry.metadata) {
165
+ return false;
166
+ }
167
+ if (typeof entry.metadata.coverage !== 'number' || entry.metadata.coverage < 0 || entry.metadata.coverage > 1) {
168
+ return false;
169
+ }
170
+ if (typeof entry.metadata.flakinessScore !== 'number' || entry.metadata.flakinessScore < 0 || entry.metadata.flakinessScore > 1) {
171
+ return false;
172
+ }
173
+ const validVerdicts = ['success', 'failure', 'flaky', 'unknown'];
174
+ if (!validVerdicts.includes(entry.metadata.verdict)) {
175
+ return false;
176
+ }
177
+ return true;
178
+ }
179
+ }
180
+ exports.BinaryCacheValidator = BinaryCacheValidator;
181
+ /**
182
+ * Create a new BinaryCacheValidator instance
183
+ *
184
+ * @returns BinaryCacheValidator instance
185
+ */
186
+ function createCacheValidator() {
187
+ return new BinaryCacheValidator();
188
+ }
189
+ //# sourceMappingURL=CacheValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CacheValidator.js","sourceRoot":"","sources":["../../../src/core/cache/CacheValidator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AA2MH,oDAEC;AArMD,mEAAgE;AAEhE;;;;;;;GAOG;AACH,MAAa,oBAAoB;IAG/B;QACE,IAAI,CAAC,UAAU,GAAG,IAAI,6CAAqB,EAAE,CAAC;IAChD,CAAC;IAED;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAkB,EAAE,gBAAwB;QACzD,IAAI,CAAC;YACH,6BAA6B;YAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACvE,MAAM,aAAa,GAAG,gBAAgB,KAAK,gBAAgB,CAAC;YAE5D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,aAAa,EAAE,KAAK;oBACpB,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,+BAA+B,gBAAgB,SAAS,gBAAgB,EAAE;oBACjF,gBAAgB;iBACjB,CAAC;YACJ,CAAC;YAED,qCAAqC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE7C,oBAAoB;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAElE,qEAAqE;YACrE,MAAM,cAAc,GAAiB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;YACtE,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YAEjF,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACvB,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,aAAa,EAAE,IAAI;oBACnB,iBAAiB,EAAE,KAAK;oBACxB,KAAK,EAAE,uCAAuC,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,kBAAkB,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,KAAK,EAAE;oBACpM,gBAAgB;oBAChB,YAAY;iBACb,CAAC;YACJ,CAAC;YAED,8BAA8B;YAC9B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACrC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvC,OAAO;wBACL,KAAK,EAAE,KAAK;wBACZ,aAAa,EAAE,IAAI;wBACnB,iBAAiB,EAAE,IAAI;wBACvB,KAAK,EAAE,0BAA0B,OAAO,CAAC,EAAE,EAAE;wBAC7C,gBAAgB;wBAChB,YAAY;qBACb,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,yBAAyB;YACzB,OAAO;gBACL,KAAK,EAAE,IAAI;gBACX,aAAa,EAAE,IAAI;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB;gBAChB,YAAY;aACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,aAAa,EAAE,KAAK;gBACpB,iBAAiB,EAAE,KAAK;gBACxB,KAAK,EAAE,sBAAsB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE;aACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,mBAAmB,CAAC,YAA0B,EAAE,WAAyB;QACvE,mCAAmC;QACnC,IAAI,YAAY,CAAC,KAAK,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC;YAC7C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,gEAAgE;QAChE,oCAAoC;QACpC,IAAI,YAAY,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YAC3C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;OAUG;IACH,mBAAmB,CAAC,KAAmB;QACrC,wBAAwB;QACxB,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,OAAO,KAAK,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,YAAY,YAAY,CAAC,EAAE,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YAC9G,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,OAAO,KAAK,CAAC,QAAQ,CAAC,cAAc,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAChI,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,aAAa,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACpD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAlLD,oDAkLC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,OAAO,IAAI,oBAAoB,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,163 @@
1
+ /**
2
+ * MessagePack Serializer - Binary Serialization for Pattern Metadata
3
+ *
4
+ * High-performance binary serialization using MessagePack format.
5
+ * Provides encoding/decoding, checksum computation, and version management.
6
+ *
7
+ * Features:
8
+ * - Fast binary serialization (2-3x faster than JSON)
9
+ * - Compact format (smaller than JSON)
10
+ * - SHA-256 checksum validation
11
+ * - Semantic version encoding/decoding
12
+ * - Float32Array support for embeddings
13
+ *
14
+ * Performance:
15
+ * - Encoding: ~40-50ms for 1000 patterns
16
+ * - Decoding: ~60-70ms for 1000 patterns
17
+ * - Checksum: ~1-2ms for 4MB cache
18
+ *
19
+ * @module core/cache/MessagePackSerializer
20
+ * @version 1.0.0
21
+ */
22
+ import { BinaryCache, CacheSerializer, CacheVersion } from './BinaryMetadataCache';
23
+ /**
24
+ * MessagePack implementation of CacheSerializer
25
+ *
26
+ * Uses MessagePack for fast binary serialization with custom handling
27
+ * for Float32Array embeddings and Map-based indexes.
28
+ */
29
+ export declare class MessagePackSerializer implements CacheSerializer {
30
+ /**
31
+ * Encode cache data to binary buffer
32
+ *
33
+ * Converts BinaryCache to MessagePack format with:
34
+ * - Float32Array embeddings converted to regular arrays
35
+ * - Map indexes converted to plain objects
36
+ * - Metadata fields preserved
37
+ *
38
+ * @param cache - Cache data to serialize
39
+ * @returns Binary buffer (Uint8Array)
40
+ * @throws {SerializationError} If encoding fails
41
+ */
42
+ encode(cache: BinaryCache): Uint8Array;
43
+ /**
44
+ * Decode binary buffer to cache data
45
+ *
46
+ * Parses MessagePack format and reconstructs:
47
+ * - Float32Array embeddings from regular arrays
48
+ * - Map-based indexes from plain objects
49
+ * - All metadata fields
50
+ *
51
+ * @param buffer - Binary buffer from disk read
52
+ * @returns Decoded cache data
53
+ * @throws {DeserializationError} If decoding fails
54
+ */
55
+ decode(buffer: Uint8Array): BinaryCache;
56
+ /**
57
+ * Compute SHA-256 checksum of cache data
58
+ *
59
+ * Excludes the checksum field itself from computation to avoid
60
+ * circular dependency.
61
+ *
62
+ * @param buffer - Binary buffer to checksum
63
+ * @returns SHA-256 hash as hex string
64
+ */
65
+ computeChecksum(buffer: Uint8Array): Promise<string>;
66
+ /**
67
+ * Encode cache version to uint32
68
+ *
69
+ * Format: (major << 16) | (minor << 8) | patch
70
+ * Example: v1.2.3 → 0x00010203 (66051)
71
+ *
72
+ * @param version - Semantic version
73
+ * @returns Encoded version as uint32
74
+ */
75
+ encodeVersion(version: CacheVersion): number;
76
+ /**
77
+ * Decode uint32 to cache version
78
+ *
79
+ * @param encoded - Encoded version uint32
80
+ * @returns Semantic version
81
+ */
82
+ decodeVersion(encoded: number): CacheVersion;
83
+ /**
84
+ * Convert BinaryCache to MessagePack-serializable format
85
+ *
86
+ * Transforms:
87
+ * - Float32Array → number[]
88
+ * - Map<K, V> → Record<K, V>
89
+ *
90
+ * @private
91
+ */
92
+ private cacheToSerializable;
93
+ /**
94
+ * Convert PatternEntry to MessagePack-serializable format
95
+ *
96
+ * @private
97
+ */
98
+ private patternToSerializable;
99
+ /**
100
+ * Convert CacheIndexData to MessagePack-serializable format
101
+ *
102
+ * @private
103
+ */
104
+ private indexesToSerializable;
105
+ /**
106
+ * Convert MessagePack data to BinaryCache format
107
+ *
108
+ * @private
109
+ */
110
+ private serializableToCache;
111
+ /**
112
+ * Convert serializable data to PatternEntry
113
+ *
114
+ * @private
115
+ */
116
+ private serializableToPattern;
117
+ /**
118
+ * Convert serializable data to CacheIndexData
119
+ *
120
+ * @private
121
+ */
122
+ private serializableToIndexes;
123
+ /**
124
+ * Convert Map to plain object
125
+ *
126
+ * @private
127
+ */
128
+ private mapToObject;
129
+ /**
130
+ * Convert plain object to Map
131
+ *
132
+ * @private
133
+ */
134
+ private objectToMap;
135
+ }
136
+ /**
137
+ * Create a new MessagePackSerializer instance
138
+ *
139
+ * @returns MessagePackSerializer instance
140
+ */
141
+ export declare function createMessagePackSerializer(): MessagePackSerializer;
142
+ /**
143
+ * Serialize cache data to binary buffer (convenience function)
144
+ *
145
+ * @param cache - Cache data to serialize
146
+ * @returns Binary buffer
147
+ */
148
+ export declare function serializeCache(cache: BinaryCache): Uint8Array;
149
+ /**
150
+ * Deserialize binary buffer to cache data (convenience function)
151
+ *
152
+ * @param buffer - Binary buffer to deserialize
153
+ * @returns Cache data
154
+ */
155
+ export declare function deserializeCache(buffer: Uint8Array): BinaryCache;
156
+ /**
157
+ * Compute cache checksum (convenience function)
158
+ *
159
+ * @param buffer - Binary buffer to checksum
160
+ * @returns SHA-256 hash as hex string
161
+ */
162
+ export declare function computeCacheChecksum(buffer: Uint8Array): Promise<string>;
163
+ //# sourceMappingURL=MessagePackSerializer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagePackSerializer.d.ts","sourceRoot":"","sources":["../../../src/core/cache/MessagePackSerializer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAIH,OAAO,EACL,WAAW,EACX,eAAe,EACf,YAAY,EAMb,MAAM,uBAAuB,CAAC;AAE/B;;;;;GAKG;AACH,qBAAa,qBAAsB,YAAW,eAAe;IAC3D;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU;IAiBtC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW;IAevC;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1D;;;;;;;;OAQG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM;IAI5C;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY;IAQ5C;;;;;;;;OAQG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;OAIG;IACH,OAAO,CAAC,WAAW;CAOpB;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,qBAAqB,CAEnE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,UAAU,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,CAGhE;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAG9E"}
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ /**
3
+ * MessagePack Serializer - Binary Serialization for Pattern Metadata
4
+ *
5
+ * High-performance binary serialization using MessagePack format.
6
+ * Provides encoding/decoding, checksum computation, and version management.
7
+ *
8
+ * Features:
9
+ * - Fast binary serialization (2-3x faster than JSON)
10
+ * - Compact format (smaller than JSON)
11
+ * - SHA-256 checksum validation
12
+ * - Semantic version encoding/decoding
13
+ * - Float32Array support for embeddings
14
+ *
15
+ * Performance:
16
+ * - Encoding: ~40-50ms for 1000 patterns
17
+ * - Decoding: ~60-70ms for 1000 patterns
18
+ * - Checksum: ~1-2ms for 4MB cache
19
+ *
20
+ * @module core/cache/MessagePackSerializer
21
+ * @version 1.0.0
22
+ */
23
+ Object.defineProperty(exports, "__esModule", { value: true });
24
+ exports.MessagePackSerializer = void 0;
25
+ exports.createMessagePackSerializer = createMessagePackSerializer;
26
+ exports.serializeCache = serializeCache;
27
+ exports.deserializeCache = deserializeCache;
28
+ exports.computeCacheChecksum = computeCacheChecksum;
29
+ const msgpack_1 = require("@msgpack/msgpack");
30
+ const crypto_1 = require("crypto");
31
+ const BinaryMetadataCache_1 = require("./BinaryMetadataCache");
32
+ /**
33
+ * MessagePack implementation of CacheSerializer
34
+ *
35
+ * Uses MessagePack for fast binary serialization with custom handling
36
+ * for Float32Array embeddings and Map-based indexes.
37
+ */
38
+ class MessagePackSerializer {
39
+ /**
40
+ * Encode cache data to binary buffer
41
+ *
42
+ * Converts BinaryCache to MessagePack format with:
43
+ * - Float32Array embeddings converted to regular arrays
44
+ * - Map indexes converted to plain objects
45
+ * - Metadata fields preserved
46
+ *
47
+ * @param cache - Cache data to serialize
48
+ * @returns Binary buffer (Uint8Array)
49
+ * @throws {SerializationError} If encoding fails
50
+ */
51
+ encode(cache) {
52
+ try {
53
+ // Convert cache to MessagePack-compatible format
54
+ const serializable = this.cacheToSerializable(cache);
55
+ // Encode to MessagePack
56
+ const buffer = (0, msgpack_1.encode)(serializable);
57
+ return new Uint8Array(buffer);
58
+ }
59
+ catch (error) {
60
+ throw new BinaryMetadataCache_1.SerializationError(`MessagePack encoding failed: ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
61
+ }
62
+ }
63
+ /**
64
+ * Decode binary buffer to cache data
65
+ *
66
+ * Parses MessagePack format and reconstructs:
67
+ * - Float32Array embeddings from regular arrays
68
+ * - Map-based indexes from plain objects
69
+ * - All metadata fields
70
+ *
71
+ * @param buffer - Binary buffer from disk read
72
+ * @returns Decoded cache data
73
+ * @throws {DeserializationError} If decoding fails
74
+ */
75
+ decode(buffer) {
76
+ try {
77
+ // Decode from MessagePack
78
+ const decoded = (0, msgpack_1.decode)(buffer);
79
+ // Convert to BinaryCache format
80
+ return this.serializableToCache(decoded);
81
+ }
82
+ catch (error) {
83
+ throw new BinaryMetadataCache_1.DeserializationError(`MessagePack decoding failed: ${error instanceof Error ? error.message : 'Unknown error'}`, error instanceof Error ? error : undefined);
84
+ }
85
+ }
86
+ /**
87
+ * Compute SHA-256 checksum of cache data
88
+ *
89
+ * Excludes the checksum field itself from computation to avoid
90
+ * circular dependency.
91
+ *
92
+ * @param buffer - Binary buffer to checksum
93
+ * @returns SHA-256 hash as hex string
94
+ */
95
+ async computeChecksum(buffer) {
96
+ try {
97
+ const hash = (0, crypto_1.createHash)('sha256');
98
+ hash.update(buffer);
99
+ return hash.digest('hex');
100
+ }
101
+ catch (error) {
102
+ throw new Error(`Checksum computation failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
103
+ }
104
+ }
105
+ /**
106
+ * Encode cache version to uint32
107
+ *
108
+ * Format: (major << 16) | (minor << 8) | patch
109
+ * Example: v1.2.3 → 0x00010203 (66051)
110
+ *
111
+ * @param version - Semantic version
112
+ * @returns Encoded version as uint32
113
+ */
114
+ encodeVersion(version) {
115
+ return (version.major << 16) | (version.minor << 8) | version.patch;
116
+ }
117
+ /**
118
+ * Decode uint32 to cache version
119
+ *
120
+ * @param encoded - Encoded version uint32
121
+ * @returns Semantic version
122
+ */
123
+ decodeVersion(encoded) {
124
+ return {
125
+ major: (encoded >> 16) & 0xff,
126
+ minor: (encoded >> 8) & 0xff,
127
+ patch: encoded & 0xff,
128
+ };
129
+ }
130
+ /**
131
+ * Convert BinaryCache to MessagePack-serializable format
132
+ *
133
+ * Transforms:
134
+ * - Float32Array → number[]
135
+ * - Map<K, V> → Record<K, V>
136
+ *
137
+ * @private
138
+ */
139
+ cacheToSerializable(cache) {
140
+ return {
141
+ version: cache.version,
142
+ timestamp: cache.timestamp,
143
+ checksum: cache.checksum,
144
+ patterns: cache.patterns.map((p) => this.patternToSerializable(p)),
145
+ agentConfigs: cache.agentConfigs,
146
+ indexes: this.indexesToSerializable(cache.indexes),
147
+ };
148
+ }
149
+ /**
150
+ * Convert PatternEntry to MessagePack-serializable format
151
+ *
152
+ * @private
153
+ */
154
+ patternToSerializable(pattern) {
155
+ return {
156
+ ...pattern,
157
+ embedding: Array.from(pattern.embedding), // Float32Array → number[]
158
+ };
159
+ }
160
+ /**
161
+ * Convert CacheIndexData to MessagePack-serializable format
162
+ *
163
+ * @private
164
+ */
165
+ indexesToSerializable(indexes) {
166
+ return {
167
+ domainIndex: this.mapToObject(indexes.domainIndex),
168
+ typeIndex: this.mapToObject(indexes.typeIndex),
169
+ frameworkIndex: this.mapToObject(indexes.frameworkIndex),
170
+ };
171
+ }
172
+ /**
173
+ * Convert MessagePack data to BinaryCache format
174
+ *
175
+ * @private
176
+ */
177
+ serializableToCache(data) {
178
+ return {
179
+ version: data.version,
180
+ timestamp: data.timestamp,
181
+ checksum: data.checksum,
182
+ patterns: data.patterns.map((p) => this.serializableToPattern(p)),
183
+ agentConfigs: data.agentConfigs,
184
+ indexes: this.serializableToIndexes(data.indexes),
185
+ };
186
+ }
187
+ /**
188
+ * Convert serializable data to PatternEntry
189
+ *
190
+ * @private
191
+ */
192
+ serializableToPattern(data) {
193
+ return {
194
+ ...data,
195
+ embedding: new Float32Array(data.embedding), // number[] → Float32Array
196
+ };
197
+ }
198
+ /**
199
+ * Convert serializable data to CacheIndexData
200
+ *
201
+ * @private
202
+ */
203
+ serializableToIndexes(data) {
204
+ return {
205
+ domainIndex: this.objectToMap(data.domainIndex),
206
+ typeIndex: this.objectToMap(data.typeIndex),
207
+ frameworkIndex: this.objectToMap(data.frameworkIndex),
208
+ };
209
+ }
210
+ /**
211
+ * Convert Map to plain object
212
+ *
213
+ * @private
214
+ */
215
+ mapToObject(map) {
216
+ const obj = {};
217
+ for (const [key, value] of map.entries()) {
218
+ obj[key] = value;
219
+ }
220
+ return obj;
221
+ }
222
+ /**
223
+ * Convert plain object to Map
224
+ *
225
+ * @private
226
+ */
227
+ objectToMap(obj) {
228
+ const map = new Map();
229
+ for (const [key, value] of Object.entries(obj)) {
230
+ map.set(key, value);
231
+ }
232
+ return map;
233
+ }
234
+ }
235
+ exports.MessagePackSerializer = MessagePackSerializer;
236
+ /**
237
+ * Create a new MessagePackSerializer instance
238
+ *
239
+ * @returns MessagePackSerializer instance
240
+ */
241
+ function createMessagePackSerializer() {
242
+ return new MessagePackSerializer();
243
+ }
244
+ /**
245
+ * Serialize cache data to binary buffer (convenience function)
246
+ *
247
+ * @param cache - Cache data to serialize
248
+ * @returns Binary buffer
249
+ */
250
+ function serializeCache(cache) {
251
+ const serializer = createMessagePackSerializer();
252
+ return serializer.encode(cache);
253
+ }
254
+ /**
255
+ * Deserialize binary buffer to cache data (convenience function)
256
+ *
257
+ * @param buffer - Binary buffer to deserialize
258
+ * @returns Cache data
259
+ */
260
+ function deserializeCache(buffer) {
261
+ const serializer = createMessagePackSerializer();
262
+ return serializer.decode(buffer);
263
+ }
264
+ /**
265
+ * Compute cache checksum (convenience function)
266
+ *
267
+ * @param buffer - Binary buffer to checksum
268
+ * @returns SHA-256 hash as hex string
269
+ */
270
+ async function computeCacheChecksum(buffer) {
271
+ const serializer = createMessagePackSerializer();
272
+ return serializer.computeChecksum(buffer);
273
+ }
274
+ //# sourceMappingURL=MessagePackSerializer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessagePackSerializer.js","sourceRoot":"","sources":["../../../src/core/cache/MessagePackSerializer.ts"],"names":[],"mappings":"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"}