@pcircle/claude-code-buddy-mcp 2.3.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 (709) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +599 -0
  3. package/README.zh-TW.md +577 -0
  4. package/dist/__benchmarks__/performance-fixes.bench.d.ts +8 -0
  5. package/dist/__benchmarks__/performance-fixes.bench.d.ts.map +1 -0
  6. package/dist/__benchmarks__/performance-fixes.bench.js +213 -0
  7. package/dist/__benchmarks__/performance-fixes.bench.js.map +1 -0
  8. package/dist/agents/DevelopmentButler.d.ts +80 -0
  9. package/dist/agents/DevelopmentButler.d.ts.map +1 -0
  10. package/dist/agents/DevelopmentButler.js +328 -0
  11. package/dist/agents/DevelopmentButler.js.map +1 -0
  12. package/dist/agents/E2EHealingAgent.d.ts +30 -0
  13. package/dist/agents/E2EHealingAgent.d.ts.map +1 -0
  14. package/dist/agents/E2EHealingAgent.js +162 -0
  15. package/dist/agents/E2EHealingAgent.js.map +1 -0
  16. package/dist/agents/TestWriterAgent.d.ts +26 -0
  17. package/dist/agents/TestWriterAgent.d.ts.map +1 -0
  18. package/dist/agents/TestWriterAgent.js +139 -0
  19. package/dist/agents/TestWriterAgent.js.map +1 -0
  20. package/dist/agents/base/AgentExecutor.d.ts +7 -0
  21. package/dist/agents/base/AgentExecutor.d.ts.map +1 -0
  22. package/dist/agents/base/AgentExecutor.js +13 -0
  23. package/dist/agents/base/AgentExecutor.js.map +1 -0
  24. package/dist/agents/base/index.d.ts +2 -0
  25. package/dist/agents/base/index.d.ts.map +1 -0
  26. package/dist/agents/base/index.js +2 -0
  27. package/dist/agents/base/index.js.map +1 -0
  28. package/dist/agents/e2e-healing/analyzers/EvidenceCollector.d.ts +24 -0
  29. package/dist/agents/e2e-healing/analyzers/EvidenceCollector.d.ts.map +1 -0
  30. package/dist/agents/e2e-healing/analyzers/EvidenceCollector.js +55 -0
  31. package/dist/agents/e2e-healing/analyzers/EvidenceCollector.js.map +1 -0
  32. package/dist/agents/e2e-healing/analyzers/FailureAnalyzer.d.ts +22 -0
  33. package/dist/agents/e2e-healing/analyzers/FailureAnalyzer.d.ts.map +1 -0
  34. package/dist/agents/e2e-healing/analyzers/FailureAnalyzer.js +36 -0
  35. package/dist/agents/e2e-healing/analyzers/FailureAnalyzer.js.map +1 -0
  36. package/dist/agents/e2e-healing/config.d.ts +4 -0
  37. package/dist/agents/e2e-healing/config.d.ts.map +1 -0
  38. package/dist/agents/e2e-healing/config.js +28 -0
  39. package/dist/agents/e2e-healing/config.js.map +1 -0
  40. package/dist/agents/e2e-healing/generators/FixGenerator.d.ts +21 -0
  41. package/dist/agents/e2e-healing/generators/FixGenerator.d.ts.map +1 -0
  42. package/dist/agents/e2e-healing/generators/FixGenerator.js +33 -0
  43. package/dist/agents/e2e-healing/generators/FixGenerator.js.map +1 -0
  44. package/dist/agents/e2e-healing/orchestrator/TestOrchestrator.d.ts +29 -0
  45. package/dist/agents/e2e-healing/orchestrator/TestOrchestrator.d.ts.map +1 -0
  46. package/dist/agents/e2e-healing/orchestrator/TestOrchestrator.js +70 -0
  47. package/dist/agents/e2e-healing/orchestrator/TestOrchestrator.js.map +1 -0
  48. package/dist/agents/e2e-healing/policy/GraduatedAutonomyPolicy.d.ts +30 -0
  49. package/dist/agents/e2e-healing/policy/GraduatedAutonomyPolicy.d.ts.map +1 -0
  50. package/dist/agents/e2e-healing/policy/GraduatedAutonomyPolicy.js +115 -0
  51. package/dist/agents/e2e-healing/policy/GraduatedAutonomyPolicy.js.map +1 -0
  52. package/dist/agents/e2e-healing/runners/PlaywrightRunner.d.ts +19 -0
  53. package/dist/agents/e2e-healing/runners/PlaywrightRunner.d.ts.map +1 -0
  54. package/dist/agents/e2e-healing/runners/PlaywrightRunner.js +79 -0
  55. package/dist/agents/e2e-healing/runners/PlaywrightRunner.js.map +1 -0
  56. package/dist/agents/e2e-healing/safety/CircuitBreaker.d.ts +26 -0
  57. package/dist/agents/e2e-healing/safety/CircuitBreaker.d.ts.map +1 -0
  58. package/dist/agents/e2e-healing/safety/CircuitBreaker.js +75 -0
  59. package/dist/agents/e2e-healing/safety/CircuitBreaker.js.map +1 -0
  60. package/dist/agents/e2e-healing/safety/RollbackManager.d.ts +31 -0
  61. package/dist/agents/e2e-healing/safety/RollbackManager.d.ts.map +1 -0
  62. package/dist/agents/e2e-healing/safety/RollbackManager.js +130 -0
  63. package/dist/agents/e2e-healing/safety/RollbackManager.js.map +1 -0
  64. package/dist/agents/e2e-healing/safety/SafetyGate.d.ts +21 -0
  65. package/dist/agents/e2e-healing/safety/SafetyGate.d.ts.map +1 -0
  66. package/dist/agents/e2e-healing/safety/SafetyGate.js +62 -0
  67. package/dist/agents/e2e-healing/safety/SafetyGate.js.map +1 -0
  68. package/dist/agents/e2e-healing/safety/ScopeLimiter.d.ts +14 -0
  69. package/dist/agents/e2e-healing/safety/ScopeLimiter.d.ts.map +1 -0
  70. package/dist/agents/e2e-healing/safety/ScopeLimiter.js +36 -0
  71. package/dist/agents/e2e-healing/safety/ScopeLimiter.js.map +1 -0
  72. package/dist/agents/e2e-healing/sdk/AgentSDKAdapter.d.ts +29 -0
  73. package/dist/agents/e2e-healing/sdk/AgentSDKAdapter.d.ts.map +1 -0
  74. package/dist/agents/e2e-healing/sdk/AgentSDKAdapter.js +86 -0
  75. package/dist/agents/e2e-healing/sdk/AgentSDKAdapter.js.map +1 -0
  76. package/dist/agents/e2e-healing/types.d.ts +46 -0
  77. package/dist/agents/e2e-healing/types.d.ts.map +1 -0
  78. package/dist/agents/e2e-healing/types.js +2 -0
  79. package/dist/agents/e2e-healing/types.js.map +1 -0
  80. package/dist/agents/knowledge/KnowledgeGraph.d.ts +26 -0
  81. package/dist/agents/knowledge/KnowledgeGraph.d.ts.map +1 -0
  82. package/dist/agents/knowledge/KnowledgeGraph.js +106 -0
  83. package/dist/agents/knowledge/KnowledgeGraph.js.map +1 -0
  84. package/dist/agents/knowledge/KnowledgeGraphSQLite.d.ts +42 -0
  85. package/dist/agents/knowledge/KnowledgeGraphSQLite.d.ts.map +1 -0
  86. package/dist/agents/knowledge/KnowledgeGraphSQLite.js +349 -0
  87. package/dist/agents/knowledge/KnowledgeGraphSQLite.js.map +1 -0
  88. package/dist/agents/knowledge/index.d.ts +94 -0
  89. package/dist/agents/knowledge/index.d.ts.map +1 -0
  90. package/dist/agents/knowledge/index.js +296 -0
  91. package/dist/agents/knowledge/index.js.map +1 -0
  92. package/dist/agents/knowledge/storage/KnowledgeGraphStore.d.ts +25 -0
  93. package/dist/agents/knowledge/storage/KnowledgeGraphStore.d.ts.map +1 -0
  94. package/dist/agents/knowledge/storage/KnowledgeGraphStore.js +342 -0
  95. package/dist/agents/knowledge/storage/KnowledgeGraphStore.js.map +1 -0
  96. package/dist/agents/knowledge/types.d.ts +21 -0
  97. package/dist/agents/knowledge/types.d.ts.map +1 -0
  98. package/dist/agents/knowledge/types.js +2 -0
  99. package/dist/agents/knowledge/types.js.map +1 -0
  100. package/dist/agents/templates/ci-templates.d.ts +8 -0
  101. package/dist/agents/templates/ci-templates.d.ts.map +1 -0
  102. package/dist/agents/templates/ci-templates.js +119 -0
  103. package/dist/agents/templates/ci-templates.js.map +1 -0
  104. package/dist/agents/templates/test-templates.d.ts +18 -0
  105. package/dist/agents/templates/test-templates.d.ts.map +1 -0
  106. package/dist/agents/templates/test-templates.js +22 -0
  107. package/dist/agents/templates/test-templates.js.map +1 -0
  108. package/dist/config/index.d.ts +51 -0
  109. package/dist/config/index.d.ts.map +1 -0
  110. package/dist/config/index.js +96 -0
  111. package/dist/config/index.js.map +1 -0
  112. package/dist/config/models.d.ts +47 -0
  113. package/dist/config/models.d.ts.map +1 -0
  114. package/dist/config/models.js +57 -0
  115. package/dist/config/models.js.map +1 -0
  116. package/dist/config/simple-config.d.ts +32 -0
  117. package/dist/config/simple-config.d.ts.map +1 -0
  118. package/dist/config/simple-config.js +225 -0
  119. package/dist/config/simple-config.js.map +1 -0
  120. package/dist/core/AgentRegistry.d.ts +32 -0
  121. package/dist/core/AgentRegistry.d.ts.map +1 -0
  122. package/dist/core/AgentRegistry.js +281 -0
  123. package/dist/core/AgentRegistry.js.map +1 -0
  124. package/dist/core/BackgroundExecutor.d.ts +56 -0
  125. package/dist/core/BackgroundExecutor.d.ts.map +1 -0
  126. package/dist/core/BackgroundExecutor.js +492 -0
  127. package/dist/core/BackgroundExecutor.js.map +1 -0
  128. package/dist/core/BackgroundExecutorConstants.d.ts +8 -0
  129. package/dist/core/BackgroundExecutorConstants.d.ts.map +1 -0
  130. package/dist/core/BackgroundExecutorConstants.js +8 -0
  131. package/dist/core/BackgroundExecutorConstants.js.map +1 -0
  132. package/dist/core/CheckpointDetector.d.ts +25 -0
  133. package/dist/core/CheckpointDetector.d.ts.map +1 -0
  134. package/dist/core/CheckpointDetector.js +67 -0
  135. package/dist/core/CheckpointDetector.js.map +1 -0
  136. package/dist/core/ExecutionMonitor.d.ts +29 -0
  137. package/dist/core/ExecutionMonitor.d.ts.map +1 -0
  138. package/dist/core/ExecutionMonitor.js +124 -0
  139. package/dist/core/ExecutionMonitor.js.map +1 -0
  140. package/dist/core/ExecutionQueue.d.ts +21 -0
  141. package/dist/core/ExecutionQueue.d.ts.map +1 -0
  142. package/dist/core/ExecutionQueue.js +104 -0
  143. package/dist/core/ExecutionQueue.js.map +1 -0
  144. package/dist/core/HealthCheck.d.ts +39 -0
  145. package/dist/core/HealthCheck.d.ts.map +1 -0
  146. package/dist/core/HealthCheck.js +219 -0
  147. package/dist/core/HealthCheck.js.map +1 -0
  148. package/dist/core/HookIntegration.d.ts +45 -0
  149. package/dist/core/HookIntegration.d.ts.map +1 -0
  150. package/dist/core/HookIntegration.js +241 -0
  151. package/dist/core/HookIntegration.js.map +1 -0
  152. package/dist/core/MCPToolInterface.d.ts +120 -0
  153. package/dist/core/MCPToolInterface.d.ts.map +1 -0
  154. package/dist/core/MCPToolInterface.js +376 -0
  155. package/dist/core/MCPToolInterface.js.map +1 -0
  156. package/dist/core/PromptEnhancer.d.ts +13 -0
  157. package/dist/core/PromptEnhancer.d.ts.map +1 -0
  158. package/dist/core/PromptEnhancer.js +112 -0
  159. package/dist/core/PromptEnhancer.js.map +1 -0
  160. package/dist/core/ResourceMonitor.d.ts +32 -0
  161. package/dist/core/ResourceMonitor.d.ts.map +1 -0
  162. package/dist/core/ResourceMonitor.js +181 -0
  163. package/dist/core/ResourceMonitor.js.map +1 -0
  164. package/dist/core/ResultHandler.d.ts +9 -0
  165. package/dist/core/ResultHandler.d.ts.map +1 -0
  166. package/dist/core/ResultHandler.js +60 -0
  167. package/dist/core/ResultHandler.js.map +1 -0
  168. package/dist/core/ServiceLocator.d.ts +10 -0
  169. package/dist/core/ServiceLocator.d.ts.map +1 -0
  170. package/dist/core/ServiceLocator.js +29 -0
  171. package/dist/core/ServiceLocator.js.map +1 -0
  172. package/dist/core/SessionContextMonitor.d.ts +41 -0
  173. package/dist/core/SessionContextMonitor.d.ts.map +1 -0
  174. package/dist/core/SessionContextMonitor.js +156 -0
  175. package/dist/core/SessionContextMonitor.js.map +1 -0
  176. package/dist/core/SessionTokenTracker.d.ts +43 -0
  177. package/dist/core/SessionTokenTracker.d.ts.map +1 -0
  178. package/dist/core/SessionTokenTracker.js +76 -0
  179. package/dist/core/SessionTokenTracker.js.map +1 -0
  180. package/dist/core/TaskScheduler.d.ts +19 -0
  181. package/dist/core/TaskScheduler.d.ts.map +1 -0
  182. package/dist/core/TaskScheduler.js +59 -0
  183. package/dist/core/TaskScheduler.js.map +1 -0
  184. package/dist/core/WorkflowGuidanceEngine.d.ts +35 -0
  185. package/dist/core/WorkflowGuidanceEngine.d.ts.map +1 -0
  186. package/dist/core/WorkflowGuidanceEngine.js +104 -0
  187. package/dist/core/WorkflowGuidanceEngine.js.map +1 -0
  188. package/dist/core/types.d.ts +66 -0
  189. package/dist/core/types.d.ts.map +1 -0
  190. package/dist/core/types.js +11 -0
  191. package/dist/core/types.js.map +1 -0
  192. package/dist/db/ConnectionPool.d.ts +47 -0
  193. package/dist/db/ConnectionPool.d.ts.map +1 -0
  194. package/dist/db/ConnectionPool.js +432 -0
  195. package/dist/db/ConnectionPool.js.map +1 -0
  196. package/dist/db/QueryCache.d.ts +46 -0
  197. package/dist/db/QueryCache.d.ts.map +1 -0
  198. package/dist/db/QueryCache.js +229 -0
  199. package/dist/db/QueryCache.js.map +1 -0
  200. package/dist/errors/index.d.ts +62 -0
  201. package/dist/errors/index.d.ts.map +1 -0
  202. package/dist/errors/index.js +124 -0
  203. package/dist/errors/index.js.map +1 -0
  204. package/dist/evolution/ABTestManager.d.ts +21 -0
  205. package/dist/evolution/ABTestManager.d.ts.map +1 -0
  206. package/dist/evolution/ABTestManager.js +183 -0
  207. package/dist/evolution/ABTestManager.js.map +1 -0
  208. package/dist/evolution/AdaptationEngine.d.ts +60 -0
  209. package/dist/evolution/AdaptationEngine.d.ts.map +1 -0
  210. package/dist/evolution/AdaptationEngine.js +313 -0
  211. package/dist/evolution/AdaptationEngine.js.map +1 -0
  212. package/dist/evolution/AgentEvolutionConfig.d.ts +32 -0
  213. package/dist/evolution/AgentEvolutionConfig.d.ts.map +1 -0
  214. package/dist/evolution/AgentEvolutionConfig.js +329 -0
  215. package/dist/evolution/AgentEvolutionConfig.js.map +1 -0
  216. package/dist/evolution/ContextMatcher.d.ts +24 -0
  217. package/dist/evolution/ContextMatcher.d.ts.map +1 -0
  218. package/dist/evolution/ContextMatcher.js +85 -0
  219. package/dist/evolution/ContextMatcher.js.map +1 -0
  220. package/dist/evolution/EvolutionBootstrap.d.ts +69 -0
  221. package/dist/evolution/EvolutionBootstrap.d.ts.map +1 -0
  222. package/dist/evolution/EvolutionBootstrap.js +332 -0
  223. package/dist/evolution/EvolutionBootstrap.js.map +1 -0
  224. package/dist/evolution/EvolutionMonitor.d.ts +111 -0
  225. package/dist/evolution/EvolutionMonitor.d.ts.map +1 -0
  226. package/dist/evolution/EvolutionMonitor.js +540 -0
  227. package/dist/evolution/EvolutionMonitor.js.map +1 -0
  228. package/dist/evolution/FeedbackCollector.d.ts +26 -0
  229. package/dist/evolution/FeedbackCollector.d.ts.map +1 -0
  230. package/dist/evolution/FeedbackCollector.js +93 -0
  231. package/dist/evolution/FeedbackCollector.js.map +1 -0
  232. package/dist/evolution/KnowledgeTransferManager.d.ts +16 -0
  233. package/dist/evolution/KnowledgeTransferManager.d.ts.map +1 -0
  234. package/dist/evolution/KnowledgeTransferManager.js +34 -0
  235. package/dist/evolution/KnowledgeTransferManager.js.map +1 -0
  236. package/dist/evolution/LearningManager.d.ts +79 -0
  237. package/dist/evolution/LearningManager.d.ts.map +1 -0
  238. package/dist/evolution/LearningManager.js +582 -0
  239. package/dist/evolution/LearningManager.js.map +1 -0
  240. package/dist/evolution/LearningManagerConstants.d.ts +55 -0
  241. package/dist/evolution/LearningManagerConstants.d.ts.map +1 -0
  242. package/dist/evolution/LearningManagerConstants.js +55 -0
  243. package/dist/evolution/LearningManagerConstants.js.map +1 -0
  244. package/dist/evolution/MultiObjectiveOptimizer.d.ts +9 -0
  245. package/dist/evolution/MultiObjectiveOptimizer.d.ts.map +1 -0
  246. package/dist/evolution/MultiObjectiveOptimizer.js +92 -0
  247. package/dist/evolution/MultiObjectiveOptimizer.js.map +1 -0
  248. package/dist/evolution/PatternExplainer.d.ts +14 -0
  249. package/dist/evolution/PatternExplainer.d.ts.map +1 -0
  250. package/dist/evolution/PatternExplainer.js +113 -0
  251. package/dist/evolution/PatternExplainer.js.map +1 -0
  252. package/dist/evolution/PerformanceTracker.d.ts +43 -0
  253. package/dist/evolution/PerformanceTracker.d.ts.map +1 -0
  254. package/dist/evolution/PerformanceTracker.js +453 -0
  255. package/dist/evolution/PerformanceTracker.js.map +1 -0
  256. package/dist/evolution/PerformanceTrackerConstants.d.ts +5 -0
  257. package/dist/evolution/PerformanceTrackerConstants.d.ts.map +1 -0
  258. package/dist/evolution/PerformanceTrackerConstants.js +5 -0
  259. package/dist/evolution/PerformanceTrackerConstants.js.map +1 -0
  260. package/dist/evolution/StatisticalAnalyzer.d.ts +20 -0
  261. package/dist/evolution/StatisticalAnalyzer.d.ts.map +1 -0
  262. package/dist/evolution/StatisticalAnalyzer.js +154 -0
  263. package/dist/evolution/StatisticalAnalyzer.js.map +1 -0
  264. package/dist/evolution/TransferabilityChecker.d.ts +11 -0
  265. package/dist/evolution/TransferabilityChecker.d.ts.map +1 -0
  266. package/dist/evolution/TransferabilityChecker.js +78 -0
  267. package/dist/evolution/TransferabilityChecker.js.map +1 -0
  268. package/dist/evolution/index.d.ts +11 -0
  269. package/dist/evolution/index.d.ts.map +1 -0
  270. package/dist/evolution/index.js +9 -0
  271. package/dist/evolution/index.js.map +1 -0
  272. package/dist/evolution/instrumentation/SpanTracker.d.ts +64 -0
  273. package/dist/evolution/instrumentation/SpanTracker.d.ts.map +1 -0
  274. package/dist/evolution/instrumentation/SpanTracker.js +229 -0
  275. package/dist/evolution/instrumentation/SpanTracker.js.map +1 -0
  276. package/dist/evolution/instrumentation/withEvolutionTracking.d.ts +19 -0
  277. package/dist/evolution/instrumentation/withEvolutionTracking.d.ts.map +1 -0
  278. package/dist/evolution/instrumentation/withEvolutionTracking.js +256 -0
  279. package/dist/evolution/instrumentation/withEvolutionTracking.js.map +1 -0
  280. package/dist/evolution/integration-test-scenarios.d.ts +56 -0
  281. package/dist/evolution/integration-test-scenarios.d.ts.map +1 -0
  282. package/dist/evolution/integration-test-scenarios.js +131 -0
  283. package/dist/evolution/integration-test-scenarios.js.map +1 -0
  284. package/dist/evolution/links/LinkManager.d.ts +17 -0
  285. package/dist/evolution/links/LinkManager.d.ts.map +1 -0
  286. package/dist/evolution/links/LinkManager.js +41 -0
  287. package/dist/evolution/links/LinkManager.js.map +1 -0
  288. package/dist/evolution/storage/EvolutionStore.d.ts +87 -0
  289. package/dist/evolution/storage/EvolutionStore.d.ts.map +1 -0
  290. package/dist/evolution/storage/EvolutionStore.js +2 -0
  291. package/dist/evolution/storage/EvolutionStore.js.map +1 -0
  292. package/dist/evolution/storage/IEvolutionStore.d.ts +87 -0
  293. package/dist/evolution/storage/IEvolutionStore.d.ts.map +1 -0
  294. package/dist/evolution/storage/IEvolutionStore.js +2 -0
  295. package/dist/evolution/storage/IEvolutionStore.js.map +1 -0
  296. package/dist/evolution/storage/SQLiteStore.d.ts +115 -0
  297. package/dist/evolution/storage/SQLiteStore.d.ts.map +1 -0
  298. package/dist/evolution/storage/SQLiteStore.enhanced.d.ts +35 -0
  299. package/dist/evolution/storage/SQLiteStore.enhanced.d.ts.map +1 -0
  300. package/dist/evolution/storage/SQLiteStore.enhanced.js +514 -0
  301. package/dist/evolution/storage/SQLiteStore.enhanced.js.map +1 -0
  302. package/dist/evolution/storage/SQLiteStore.js +915 -0
  303. package/dist/evolution/storage/SQLiteStore.js.map +1 -0
  304. package/dist/evolution/storage/deprecated/SQLiteStore.basic.d.ts +109 -0
  305. package/dist/evolution/storage/deprecated/SQLiteStore.basic.d.ts.map +1 -0
  306. package/dist/evolution/storage/deprecated/SQLiteStore.basic.js +1033 -0
  307. package/dist/evolution/storage/deprecated/SQLiteStore.basic.js.map +1 -0
  308. package/dist/evolution/storage/index.d.ts +6 -0
  309. package/dist/evolution/storage/index.d.ts.map +1 -0
  310. package/dist/evolution/storage/index.js +3 -0
  311. package/dist/evolution/storage/index.js.map +1 -0
  312. package/dist/evolution/storage/migrations/MigrationManager.d.ts +17 -0
  313. package/dist/evolution/storage/migrations/MigrationManager.d.ts.map +1 -0
  314. package/dist/evolution/storage/migrations/MigrationManager.js +242 -0
  315. package/dist/evolution/storage/migrations/MigrationManager.js.map +1 -0
  316. package/dist/evolution/storage/repositories/AdaptationRepository.d.ts +17 -0
  317. package/dist/evolution/storage/repositories/AdaptationRepository.d.ts.map +1 -0
  318. package/dist/evolution/storage/repositories/AdaptationRepository.js +82 -0
  319. package/dist/evolution/storage/repositories/AdaptationRepository.js.map +1 -0
  320. package/dist/evolution/storage/repositories/CostRecordsRepository.d.ts +43 -0
  321. package/dist/evolution/storage/repositories/CostRecordsRepository.d.ts.map +1 -0
  322. package/dist/evolution/storage/repositories/CostRecordsRepository.js +157 -0
  323. package/dist/evolution/storage/repositories/CostRecordsRepository.js.map +1 -0
  324. package/dist/evolution/storage/repositories/ExecutionRepository.d.ts +12 -0
  325. package/dist/evolution/storage/repositories/ExecutionRepository.d.ts.map +1 -0
  326. package/dist/evolution/storage/repositories/ExecutionRepository.js +87 -0
  327. package/dist/evolution/storage/repositories/ExecutionRepository.js.map +1 -0
  328. package/dist/evolution/storage/repositories/PatternRepository.d.ts +12 -0
  329. package/dist/evolution/storage/repositories/PatternRepository.d.ts.map +1 -0
  330. package/dist/evolution/storage/repositories/PatternRepository.js +150 -0
  331. package/dist/evolution/storage/repositories/PatternRepository.js.map +1 -0
  332. package/dist/evolution/storage/repositories/PerformanceMetricsRepository.d.ts +39 -0
  333. package/dist/evolution/storage/repositories/PerformanceMetricsRepository.d.ts.map +1 -0
  334. package/dist/evolution/storage/repositories/PerformanceMetricsRepository.js +130 -0
  335. package/dist/evolution/storage/repositories/PerformanceMetricsRepository.js.map +1 -0
  336. package/dist/evolution/storage/repositories/RewardRepository.d.ts +17 -0
  337. package/dist/evolution/storage/repositories/RewardRepository.d.ts.map +1 -0
  338. package/dist/evolution/storage/repositories/RewardRepository.js +82 -0
  339. package/dist/evolution/storage/repositories/RewardRepository.js.map +1 -0
  340. package/dist/evolution/storage/repositories/SpanRepository.d.ts +14 -0
  341. package/dist/evolution/storage/repositories/SpanRepository.d.ts.map +1 -0
  342. package/dist/evolution/storage/repositories/SpanRepository.js +191 -0
  343. package/dist/evolution/storage/repositories/SpanRepository.js.map +1 -0
  344. package/dist/evolution/storage/repositories/StatsRepository.d.ts +16 -0
  345. package/dist/evolution/storage/repositories/StatsRepository.d.ts.map +1 -0
  346. package/dist/evolution/storage/repositories/StatsRepository.js +271 -0
  347. package/dist/evolution/storage/repositories/StatsRepository.js.map +1 -0
  348. package/dist/evolution/storage/repositories/TaskRepository.d.ts +16 -0
  349. package/dist/evolution/storage/repositories/TaskRepository.d.ts.map +1 -0
  350. package/dist/evolution/storage/repositories/TaskRepository.js +93 -0
  351. package/dist/evolution/storage/repositories/TaskRepository.js.map +1 -0
  352. package/dist/evolution/storage/schema.d.ts +81 -0
  353. package/dist/evolution/storage/schema.d.ts.map +1 -0
  354. package/dist/evolution/storage/schema.js +241 -0
  355. package/dist/evolution/storage/schema.js.map +1 -0
  356. package/dist/evolution/storage/types.d.ts +402 -0
  357. package/dist/evolution/storage/types.d.ts.map +1 -0
  358. package/dist/evolution/storage/types.js +2 -0
  359. package/dist/evolution/storage/types.js.map +1 -0
  360. package/dist/evolution/storage/validation.d.ts +12 -0
  361. package/dist/evolution/storage/validation.d.ts.map +1 -0
  362. package/dist/evolution/storage/validation.js +88 -0
  363. package/dist/evolution/storage/validation.js.map +1 -0
  364. package/dist/evolution/types.d.ts +214 -0
  365. package/dist/evolution/types.d.ts.map +1 -0
  366. package/dist/evolution/types.js +2 -0
  367. package/dist/evolution/types.js.map +1 -0
  368. package/dist/index.d.ts +11 -0
  369. package/dist/index.d.ts.map +1 -0
  370. package/dist/index.js +32 -0
  371. package/dist/index.js.map +1 -0
  372. package/dist/knowledge-graph/index.d.ts +27 -0
  373. package/dist/knowledge-graph/index.d.ts.map +1 -0
  374. package/dist/knowledge-graph/index.js +353 -0
  375. package/dist/knowledge-graph/index.js.map +1 -0
  376. package/dist/knowledge-graph/types.d.ts +37 -0
  377. package/dist/knowledge-graph/types.d.ts.map +1 -0
  378. package/dist/knowledge-graph/types.js +2 -0
  379. package/dist/knowledge-graph/types.js.map +1 -0
  380. package/dist/management/UninstallManager.d.ts +23 -0
  381. package/dist/management/UninstallManager.d.ts.map +1 -0
  382. package/dist/management/UninstallManager.js +186 -0
  383. package/dist/management/UninstallManager.js.map +1 -0
  384. package/dist/management/index.d.ts +3 -0
  385. package/dist/management/index.d.ts.map +1 -0
  386. package/dist/management/index.js +2 -0
  387. package/dist/management/index.js.map +1 -0
  388. package/dist/mcp/BuddyCommands.d.ts +13 -0
  389. package/dist/mcp/BuddyCommands.d.ts.map +1 -0
  390. package/dist/mcp/BuddyCommands.js +110 -0
  391. package/dist/mcp/BuddyCommands.js.map +1 -0
  392. package/dist/mcp/ClaudeMdReloader.d.ts +37 -0
  393. package/dist/mcp/ClaudeMdReloader.d.ts.map +1 -0
  394. package/dist/mcp/ClaudeMdReloader.js +92 -0
  395. package/dist/mcp/ClaudeMdReloader.js.map +1 -0
  396. package/dist/mcp/HumanInLoopUI.d.ts +23 -0
  397. package/dist/mcp/HumanInLoopUI.d.ts.map +1 -0
  398. package/dist/mcp/HumanInLoopUI.js +92 -0
  399. package/dist/mcp/HumanInLoopUI.js.map +1 -0
  400. package/dist/mcp/ServerInitializer.d.ts +47 -0
  401. package/dist/mcp/ServerInitializer.d.ts.map +1 -0
  402. package/dist/mcp/ServerInitializer.js +89 -0
  403. package/dist/mcp/ServerInitializer.js.map +1 -0
  404. package/dist/mcp/SessionBootstrapper.d.ts +11 -0
  405. package/dist/mcp/SessionBootstrapper.d.ts.map +1 -0
  406. package/dist/mcp/SessionBootstrapper.js +67 -0
  407. package/dist/mcp/SessionBootstrapper.js.map +1 -0
  408. package/dist/mcp/ToolDefinitions.d.ts +42 -0
  409. package/dist/mcp/ToolDefinitions.d.ts.map +1 -0
  410. package/dist/mcp/ToolDefinitions.js +234 -0
  411. package/dist/mcp/ToolDefinitions.js.map +1 -0
  412. package/dist/mcp/ToolRouter.d.ts +22 -0
  413. package/dist/mcp/ToolRouter.d.ts.map +1 -0
  414. package/dist/mcp/ToolRouter.js +102 -0
  415. package/dist/mcp/ToolRouter.js.map +1 -0
  416. package/dist/mcp/handlers/BuddyHandlers.d.ts +14 -0
  417. package/dist/mcp/handlers/BuddyHandlers.d.ts.map +1 -0
  418. package/dist/mcp/handlers/BuddyHandlers.js +152 -0
  419. package/dist/mcp/handlers/BuddyHandlers.js.map +1 -0
  420. package/dist/mcp/handlers/ResourceHandlers.d.ts +3 -0
  421. package/dist/mcp/handlers/ResourceHandlers.d.ts.map +1 -0
  422. package/dist/mcp/handlers/ResourceHandlers.js +86 -0
  423. package/dist/mcp/handlers/ResourceHandlers.js.map +1 -0
  424. package/dist/mcp/handlers/ToolHandlers.d.ts +52 -0
  425. package/dist/mcp/handlers/ToolHandlers.d.ts.map +1 -0
  426. package/dist/mcp/handlers/ToolHandlers.js +914 -0
  427. package/dist/mcp/handlers/ToolHandlers.js.map +1 -0
  428. package/dist/mcp/handlers/index.d.ts +4 -0
  429. package/dist/mcp/handlers/index.d.ts.map +1 -0
  430. package/dist/mcp/handlers/index.js +4 -0
  431. package/dist/mcp/handlers/index.js.map +1 -0
  432. package/dist/mcp/index.d.ts +5 -0
  433. package/dist/mcp/index.d.ts.map +1 -0
  434. package/dist/mcp/index.js +3 -0
  435. package/dist/mcp/index.js.map +1 -0
  436. package/dist/mcp/schemas/OutputSchemas.d.ts +368 -0
  437. package/dist/mcp/schemas/OutputSchemas.d.ts.map +1 -0
  438. package/dist/mcp/schemas/OutputSchemas.js +191 -0
  439. package/dist/mcp/schemas/OutputSchemas.js.map +1 -0
  440. package/dist/mcp/server.d.ts +17 -0
  441. package/dist/mcp/server.d.ts.map +1 -0
  442. package/dist/mcp/server.js +184 -0
  443. package/dist/mcp/server.js.map +1 -0
  444. package/dist/mcp/tools/add-observations.d.ts +48 -0
  445. package/dist/mcp/tools/add-observations.d.ts.map +1 -0
  446. package/dist/mcp/tools/add-observations.js +64 -0
  447. package/dist/mcp/tools/add-observations.js.map +1 -0
  448. package/dist/mcp/tools/buddy-do.d.ts +14 -0
  449. package/dist/mcp/tools/buddy-do.d.ts.map +1 -0
  450. package/dist/mcp/tools/buddy-do.js +77 -0
  451. package/dist/mcp/tools/buddy-do.js.map +1 -0
  452. package/dist/mcp/tools/buddy-help.d.ts +13 -0
  453. package/dist/mcp/tools/buddy-help.d.ts.map +1 -0
  454. package/dist/mcp/tools/buddy-help.js +52 -0
  455. package/dist/mcp/tools/buddy-help.js.map +1 -0
  456. package/dist/mcp/tools/buddy-remember.d.ts +15 -0
  457. package/dist/mcp/tools/buddy-remember.d.ts.map +1 -0
  458. package/dist/mcp/tools/buddy-remember.js +77 -0
  459. package/dist/mcp/tools/buddy-remember.js.map +1 -0
  460. package/dist/mcp/tools/create-entities.d.ts +57 -0
  461. package/dist/mcp/tools/create-entities.d.ts.map +1 -0
  462. package/dist/mcp/tools/create-entities.js +64 -0
  463. package/dist/mcp/tools/create-entities.js.map +1 -0
  464. package/dist/mcp/tools/create-relations.d.ts +60 -0
  465. package/dist/mcp/tools/create-relations.d.ts.map +1 -0
  466. package/dist/mcp/tools/create-relations.js +84 -0
  467. package/dist/mcp/tools/create-relations.js.map +1 -0
  468. package/dist/mcp/tools/health-check.d.ts +10 -0
  469. package/dist/mcp/tools/health-check.d.ts.map +1 -0
  470. package/dist/mcp/tools/health-check.js +37 -0
  471. package/dist/mcp/tools/health-check.js.map +1 -0
  472. package/dist/mcp/tools/recall-memory.d.ts +31 -0
  473. package/dist/mcp/tools/recall-memory.d.ts.map +1 -0
  474. package/dist/mcp/tools/recall-memory.js +31 -0
  475. package/dist/mcp/tools/recall-memory.js.map +1 -0
  476. package/dist/mcp/validation.d.ts +88 -0
  477. package/dist/mcp/validation.d.ts.map +1 -0
  478. package/dist/mcp/validation.js +119 -0
  479. package/dist/mcp/validation.js.map +1 -0
  480. package/dist/memory/ProjectAutoTracker.d.ts +36 -0
  481. package/dist/memory/ProjectAutoTracker.d.ts.map +1 -0
  482. package/dist/memory/ProjectAutoTracker.js +200 -0
  483. package/dist/memory/ProjectAutoTracker.js.map +1 -0
  484. package/dist/memory/ProjectMemoryCleanup.d.ts +17 -0
  485. package/dist/memory/ProjectMemoryCleanup.d.ts.map +1 -0
  486. package/dist/memory/ProjectMemoryCleanup.js +57 -0
  487. package/dist/memory/ProjectMemoryCleanup.js.map +1 -0
  488. package/dist/memory/ProjectMemoryManager.d.ts +15 -0
  489. package/dist/memory/ProjectMemoryManager.d.ts.map +1 -0
  490. package/dist/memory/ProjectMemoryManager.js +36 -0
  491. package/dist/memory/ProjectMemoryManager.js.map +1 -0
  492. package/dist/orchestrator/AgentRouter.d.ts +20 -0
  493. package/dist/orchestrator/AgentRouter.d.ts.map +1 -0
  494. package/dist/orchestrator/AgentRouter.js +274 -0
  495. package/dist/orchestrator/AgentRouter.js.map +1 -0
  496. package/dist/orchestrator/CostTracker.d.ts +25 -0
  497. package/dist/orchestrator/CostTracker.d.ts.map +1 -0
  498. package/dist/orchestrator/CostTracker.js +199 -0
  499. package/dist/orchestrator/CostTracker.js.map +1 -0
  500. package/dist/orchestrator/GlobalResourcePool.d.ts +59 -0
  501. package/dist/orchestrator/GlobalResourcePool.d.ts.map +1 -0
  502. package/dist/orchestrator/GlobalResourcePool.js +224 -0
  503. package/dist/orchestrator/GlobalResourcePool.js.map +1 -0
  504. package/dist/orchestrator/GlobalResourcePoolConstants.d.ts +22 -0
  505. package/dist/orchestrator/GlobalResourcePoolConstants.d.ts.map +1 -0
  506. package/dist/orchestrator/GlobalResourcePoolConstants.js +22 -0
  507. package/dist/orchestrator/GlobalResourcePoolConstants.js.map +1 -0
  508. package/dist/orchestrator/TaskAnalyzer.d.ts +15 -0
  509. package/dist/orchestrator/TaskAnalyzer.d.ts.map +1 -0
  510. package/dist/orchestrator/TaskAnalyzer.js +234 -0
  511. package/dist/orchestrator/TaskAnalyzer.js.map +1 -0
  512. package/dist/orchestrator/TaskAnalyzerConstants.d.ts +16 -0
  513. package/dist/orchestrator/TaskAnalyzerConstants.d.ts.map +1 -0
  514. package/dist/orchestrator/TaskAnalyzerConstants.js +16 -0
  515. package/dist/orchestrator/TaskAnalyzerConstants.js.map +1 -0
  516. package/dist/orchestrator/example.d.ts +2 -0
  517. package/dist/orchestrator/example.d.ts.map +1 -0
  518. package/dist/orchestrator/example.js +118 -0
  519. package/dist/orchestrator/example.js.map +1 -0
  520. package/dist/orchestrator/index.d.ts +82 -0
  521. package/dist/orchestrator/index.d.ts.map +1 -0
  522. package/dist/orchestrator/index.js +364 -0
  523. package/dist/orchestrator/index.js.map +1 -0
  524. package/dist/orchestrator/router.d.ts +48 -0
  525. package/dist/orchestrator/router.d.ts.map +1 -0
  526. package/dist/orchestrator/router.js +126 -0
  527. package/dist/orchestrator/router.js.map +1 -0
  528. package/dist/orchestrator/types.d.ts +60 -0
  529. package/dist/orchestrator/types.d.ts.map +1 -0
  530. package/dist/orchestrator/types.js +2 -0
  531. package/dist/orchestrator/types.js.map +1 -0
  532. package/dist/planning/PlanningEngine.d.ts +52 -0
  533. package/dist/planning/PlanningEngine.d.ts.map +1 -0
  534. package/dist/planning/PlanningEngine.js +271 -0
  535. package/dist/planning/PlanningEngine.js.map +1 -0
  536. package/dist/planning/TaskDecomposer.d.ts +32 -0
  537. package/dist/planning/TaskDecomposer.d.ts.map +1 -0
  538. package/dist/planning/TaskDecomposer.js +152 -0
  539. package/dist/planning/TaskDecomposer.js.map +1 -0
  540. package/dist/prompts/templates/PromptTemplates.d.ts +11 -0
  541. package/dist/prompts/templates/PromptTemplates.d.ts.map +1 -0
  542. package/dist/prompts/templates/PromptTemplates.js +942 -0
  543. package/dist/prompts/templates/PromptTemplates.js.map +1 -0
  544. package/dist/prompts/templates/index.d.ts +2 -0
  545. package/dist/prompts/templates/index.d.ts.map +1 -0
  546. package/dist/prompts/templates/index.js +2 -0
  547. package/dist/prompts/templates/index.js.map +1 -0
  548. package/dist/skills/SkillManager.d.ts +33 -0
  549. package/dist/skills/SkillManager.d.ts.map +1 -0
  550. package/dist/skills/SkillManager.js +153 -0
  551. package/dist/skills/SkillManager.js.map +1 -0
  552. package/dist/skills/index.d.ts +3 -0
  553. package/dist/skills/index.d.ts.map +1 -0
  554. package/dist/skills/index.js +2 -0
  555. package/dist/skills/index.js.map +1 -0
  556. package/dist/telemetry/TelemetryCollector.d.ts +19 -0
  557. package/dist/telemetry/TelemetryCollector.d.ts.map +1 -0
  558. package/dist/telemetry/TelemetryCollector.js +62 -0
  559. package/dist/telemetry/TelemetryCollector.js.map +1 -0
  560. package/dist/telemetry/TelemetryStore.d.ts +20 -0
  561. package/dist/telemetry/TelemetryStore.d.ts.map +1 -0
  562. package/dist/telemetry/TelemetryStore.js +126 -0
  563. package/dist/telemetry/TelemetryStore.js.map +1 -0
  564. package/dist/telemetry/index.d.ts +8 -0
  565. package/dist/telemetry/index.d.ts.map +1 -0
  566. package/dist/telemetry/index.js +33 -0
  567. package/dist/telemetry/index.js.map +1 -0
  568. package/dist/telemetry/sanitization.d.ts +6 -0
  569. package/dist/telemetry/sanitization.d.ts.map +1 -0
  570. package/dist/telemetry/sanitization.js +180 -0
  571. package/dist/telemetry/sanitization.js.map +1 -0
  572. package/dist/telemetry/types.d.ts +73 -0
  573. package/dist/telemetry/types.d.ts.map +1 -0
  574. package/dist/telemetry/types.js +16 -0
  575. package/dist/telemetry/types.js.map +1 -0
  576. package/dist/templates/git-education-templates.d.ts +26 -0
  577. package/dist/templates/git-education-templates.d.ts.map +1 -0
  578. package/dist/templates/git-education-templates.js +455 -0
  579. package/dist/templates/git-education-templates.js.map +1 -0
  580. package/dist/types/AgentClassification.d.ts +6 -0
  581. package/dist/types/AgentClassification.d.ts.map +1 -0
  582. package/dist/types/AgentClassification.js +7 -0
  583. package/dist/types/AgentClassification.js.map +1 -0
  584. package/dist/types/Checkpoint.d.ts +12 -0
  585. package/dist/types/Checkpoint.d.ts.map +1 -0
  586. package/dist/types/Checkpoint.js +13 -0
  587. package/dist/types/Checkpoint.js.map +1 -0
  588. package/dist/types/toonify.d.ts +91 -0
  589. package/dist/types/toonify.d.ts.map +1 -0
  590. package/dist/types/toonify.js +18 -0
  591. package/dist/types/toonify.js.map +1 -0
  592. package/dist/ui/AsciiProgressBar.d.ts +29 -0
  593. package/dist/ui/AsciiProgressBar.d.ts.map +1 -0
  594. package/dist/ui/AsciiProgressBar.js +131 -0
  595. package/dist/ui/AsciiProgressBar.js.map +1 -0
  596. package/dist/ui/AttributionManager.d.ts +19 -0
  597. package/dist/ui/AttributionManager.d.ts.map +1 -0
  598. package/dist/ui/AttributionManager.js +107 -0
  599. package/dist/ui/AttributionManager.js.map +1 -0
  600. package/dist/ui/Dashboard.d.ts +24 -0
  601. package/dist/ui/Dashboard.d.ts.map +1 -0
  602. package/dist/ui/Dashboard.js +135 -0
  603. package/dist/ui/Dashboard.js.map +1 -0
  604. package/dist/ui/LoadingIndicator.d.ts +53 -0
  605. package/dist/ui/LoadingIndicator.d.ts.map +1 -0
  606. package/dist/ui/LoadingIndicator.js +174 -0
  607. package/dist/ui/LoadingIndicator.js.map +1 -0
  608. package/dist/ui/MetricsStore.d.ts +15 -0
  609. package/dist/ui/MetricsStore.d.ts.map +1 -0
  610. package/dist/ui/MetricsStore.js +111 -0
  611. package/dist/ui/MetricsStore.js.map +1 -0
  612. package/dist/ui/ProgressRenderer.d.ts +24 -0
  613. package/dist/ui/ProgressRenderer.d.ts.map +1 -0
  614. package/dist/ui/ProgressRenderer.js +121 -0
  615. package/dist/ui/ProgressRenderer.js.map +1 -0
  616. package/dist/ui/ResponseFormatter.d.ts +42 -0
  617. package/dist/ui/ResponseFormatter.d.ts.map +1 -0
  618. package/dist/ui/ResponseFormatter.js +243 -0
  619. package/dist/ui/ResponseFormatter.js.map +1 -0
  620. package/dist/ui/UIEventBus.d.ts +38 -0
  621. package/dist/ui/UIEventBus.d.ts.map +1 -0
  622. package/dist/ui/UIEventBus.js +173 -0
  623. package/dist/ui/UIEventBus.js.map +1 -0
  624. package/dist/ui/index.d.ts +8 -0
  625. package/dist/ui/index.d.ts.map +1 -0
  626. package/dist/ui/index.js +6 -0
  627. package/dist/ui/index.js.map +1 -0
  628. package/dist/ui/theme.d.ts +292 -0
  629. package/dist/ui/theme.d.ts.map +1 -0
  630. package/dist/ui/theme.js +153 -0
  631. package/dist/ui/theme.js.map +1 -0
  632. package/dist/ui/types.d.ts +146 -0
  633. package/dist/ui/types.d.ts.map +1 -0
  634. package/dist/ui/types.js +16 -0
  635. package/dist/ui/types.js.map +1 -0
  636. package/dist/utils/ILogger.d.ts +7 -0
  637. package/dist/utils/ILogger.d.ts.map +1 -0
  638. package/dist/utils/ILogger.js +2 -0
  639. package/dist/utils/ILogger.js.map +1 -0
  640. package/dist/utils/MinHeap.d.ts +15 -0
  641. package/dist/utils/MinHeap.d.ts.map +1 -0
  642. package/dist/utils/MinHeap.js +69 -0
  643. package/dist/utils/MinHeap.js.map +1 -0
  644. package/dist/utils/RateLimiter.d.ts +28 -0
  645. package/dist/utils/RateLimiter.d.ts.map +1 -0
  646. package/dist/utils/RateLimiter.js +115 -0
  647. package/dist/utils/RateLimiter.js.map +1 -0
  648. package/dist/utils/SecureKeyStore.d.ts +10 -0
  649. package/dist/utils/SecureKeyStore.d.ts.map +1 -0
  650. package/dist/utils/SecureKeyStore.js +32 -0
  651. package/dist/utils/SecureKeyStore.js.map +1 -0
  652. package/dist/utils/SystemResources.d.ts +40 -0
  653. package/dist/utils/SystemResources.d.ts.map +1 -0
  654. package/dist/utils/SystemResources.js +221 -0
  655. package/dist/utils/SystemResources.js.map +1 -0
  656. package/dist/utils/cost-tracker.d.ts +34 -0
  657. package/dist/utils/cost-tracker.d.ts.map +1 -0
  658. package/dist/utils/cost-tracker.js +92 -0
  659. package/dist/utils/cost-tracker.js.map +1 -0
  660. package/dist/utils/errorHandler.d.ts +28 -0
  661. package/dist/utils/errorHandler.d.ts.map +1 -0
  662. package/dist/utils/errorHandler.js +206 -0
  663. package/dist/utils/errorHandler.js.map +1 -0
  664. package/dist/utils/json.d.ts +13 -0
  665. package/dist/utils/json.d.ts.map +1 -0
  666. package/dist/utils/json.js +85 -0
  667. package/dist/utils/json.js.map +1 -0
  668. package/dist/utils/logger.d.ts +16 -0
  669. package/dist/utils/logger.d.ts.map +1 -0
  670. package/dist/utils/logger.js +57 -0
  671. package/dist/utils/logger.js.map +1 -0
  672. package/dist/utils/lru-cache.d.ts +40 -0
  673. package/dist/utils/lru-cache.d.ts.map +1 -0
  674. package/dist/utils/lru-cache.js +209 -0
  675. package/dist/utils/lru-cache.js.map +1 -0
  676. package/dist/utils/memory.d.ts +20 -0
  677. package/dist/utils/memory.d.ts.map +1 -0
  678. package/dist/utils/memory.js +53 -0
  679. package/dist/utils/memory.js.map +1 -0
  680. package/dist/utils/money.d.ts +10 -0
  681. package/dist/utils/money.d.ts.map +1 -0
  682. package/dist/utils/money.js +25 -0
  683. package/dist/utils/money.js.map +1 -0
  684. package/dist/utils/pathValidation.d.ts +2 -0
  685. package/dist/utils/pathValidation.d.ts.map +1 -0
  686. package/dist/utils/pathValidation.js +62 -0
  687. package/dist/utils/pathValidation.js.map +1 -0
  688. package/dist/utils/paths.d.ts +4 -0
  689. package/dist/utils/paths.d.ts.map +1 -0
  690. package/dist/utils/paths.js +28 -0
  691. package/dist/utils/paths.js.map +1 -0
  692. package/dist/utils/requestId.d.ts +4 -0
  693. package/dist/utils/requestId.d.ts.map +1 -0
  694. package/dist/utils/requestId.js +17 -0
  695. package/dist/utils/requestId.js.map +1 -0
  696. package/dist/utils/retry.d.ts +20 -0
  697. package/dist/utils/retry.d.ts.map +1 -0
  698. package/dist/utils/retry.js +226 -0
  699. package/dist/utils/retry.js.map +1 -0
  700. package/dist/utils/toonify-adapter.d.ts +77 -0
  701. package/dist/utils/toonify-adapter.d.ts.map +1 -0
  702. package/dist/utils/toonify-adapter.js +283 -0
  703. package/dist/utils/toonify-adapter.js.map +1 -0
  704. package/dist/utils/validation.d.ts +7 -0
  705. package/dist/utils/validation.d.ts.map +1 -0
  706. package/dist/utils/validation.js +62 -0
  707. package/dist/utils/validation.js.map +1 -0
  708. package/package.json +116 -0
  709. package/plugin.json +21 -0
@@ -0,0 +1,915 @@
1
+ import { v4 as uuid } from 'uuid';
2
+ import { logger } from '../../utils/logger.js';
3
+ import { SimpleDatabaseFactory } from '../../config/simple-config.js';
4
+ import { MigrationManager } from './migrations/MigrationManager';
5
+ import { safeJsonParse } from '../../utils/json.js';
6
+ import { TaskRepository } from './repositories/TaskRepository';
7
+ import { ExecutionRepository } from './repositories/ExecutionRepository';
8
+ import { SpanRepository } from './repositories/SpanRepository';
9
+ import { PatternRepository } from './repositories/PatternRepository';
10
+ import { AdaptationRepository } from './repositories/AdaptationRepository';
11
+ import { RewardRepository } from './repositories/RewardRepository';
12
+ import { StatsRepository } from './repositories/StatsRepository';
13
+ import { validateDatabasePath } from '../../utils/pathValidation.js';
14
+ export class SQLiteStore {
15
+ db;
16
+ migrationManager;
17
+ taskRepository;
18
+ executionRepository;
19
+ spanRepository;
20
+ patternRepository;
21
+ adaptationRepository;
22
+ rewardRepository;
23
+ statsRepository;
24
+ options;
25
+ constructor(options = {}) {
26
+ const rawDbPath = options.dbPath || ':memory:';
27
+ const validatedDbPath = validateDatabasePath(rawDbPath, 'data/evolution');
28
+ this.options = {
29
+ dbPath: validatedDbPath,
30
+ verbose: options.verbose || false,
31
+ enableWAL: options.enableWAL !== false,
32
+ };
33
+ this.db = this.options.dbPath === ':memory:'
34
+ ? SimpleDatabaseFactory.createTestDatabase()
35
+ : SimpleDatabaseFactory.getInstance(this.options.dbPath);
36
+ this.migrationManager = new MigrationManager(this.db);
37
+ this.taskRepository = new TaskRepository(this.db);
38
+ this.executionRepository = new ExecutionRepository(this.db);
39
+ this.spanRepository = new SpanRepository(this.db);
40
+ this.patternRepository = new PatternRepository(this.db);
41
+ this.adaptationRepository = new AdaptationRepository(this.db);
42
+ this.rewardRepository = new RewardRepository(this.db);
43
+ this.statsRepository = new StatsRepository(this.db);
44
+ }
45
+ escapeLikePattern(pattern) {
46
+ return pattern
47
+ .replace(/\\/g, '\\\\')
48
+ .replace(/%/g, '\\%')
49
+ .replace(/_/g, '\\_')
50
+ .replace(/'/g, "''")
51
+ .replace(/"/g, '""');
52
+ }
53
+ async initialize() {
54
+ await this.migrationManager.initialize();
55
+ this.createTables();
56
+ this.createIndexes();
57
+ await this.migrationManager.migrate();
58
+ }
59
+ async close() {
60
+ this.db.close();
61
+ }
62
+ createTables() {
63
+ this.db.exec(`
64
+ CREATE TABLE IF NOT EXISTS tasks (
65
+ id TEXT PRIMARY KEY,
66
+ input TEXT NOT NULL,
67
+ task_type TEXT,
68
+ origin TEXT,
69
+ status TEXT NOT NULL CHECK(status IN ('pending', 'running', 'completed', 'failed')),
70
+ created_at DATETIME NOT NULL,
71
+ started_at DATETIME,
72
+ completed_at DATETIME,
73
+ metadata TEXT
74
+ );
75
+ `);
76
+ this.db.exec(`
77
+ CREATE TABLE IF NOT EXISTS executions (
78
+ id TEXT PRIMARY KEY,
79
+ task_id TEXT NOT NULL,
80
+ attempt_number INTEGER NOT NULL,
81
+ agent_id TEXT,
82
+ agent_type TEXT,
83
+ status TEXT NOT NULL CHECK(status IN ('running', 'completed', 'failed')),
84
+ started_at DATETIME NOT NULL,
85
+ completed_at DATETIME,
86
+ result TEXT,
87
+ error TEXT,
88
+ metadata TEXT,
89
+ FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE
90
+ );
91
+ `);
92
+ this.db.exec(`
93
+ CREATE TABLE IF NOT EXISTS spans (
94
+ span_id TEXT PRIMARY KEY,
95
+ trace_id TEXT NOT NULL,
96
+ parent_span_id TEXT,
97
+ task_id TEXT NOT NULL,
98
+ execution_id TEXT NOT NULL,
99
+ name TEXT NOT NULL,
100
+ kind TEXT NOT NULL,
101
+ start_time INTEGER NOT NULL,
102
+ end_time INTEGER,
103
+ duration_ms INTEGER,
104
+ status_code TEXT NOT NULL,
105
+ status_message TEXT,
106
+ attributes TEXT NOT NULL,
107
+ resource TEXT NOT NULL,
108
+ links TEXT,
109
+ tags TEXT,
110
+ events TEXT,
111
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
112
+ FOREIGN KEY (task_id) REFERENCES tasks(id) ON DELETE CASCADE,
113
+ FOREIGN KEY (execution_id) REFERENCES executions(id) ON DELETE CASCADE
114
+ );
115
+ `);
116
+ this.db.exec(`
117
+ CREATE TABLE IF NOT EXISTS patterns (
118
+ id TEXT PRIMARY KEY,
119
+ type TEXT NOT NULL CHECK(type IN ('success', 'anti_pattern', 'optimization')),
120
+ confidence REAL NOT NULL CHECK(confidence >= 0 AND confidence <= 1),
121
+ occurrences INTEGER NOT NULL DEFAULT 1,
122
+ pattern_data TEXT NOT NULL,
123
+ source_span_ids TEXT,
124
+ applies_to_agent_type TEXT,
125
+ applies_to_task_type TEXT,
126
+ applies_to_skill TEXT,
127
+ first_observed DATETIME NOT NULL,
128
+ last_observed DATETIME NOT NULL,
129
+ is_active INTEGER NOT NULL DEFAULT 1,
130
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
131
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
132
+ );
133
+ `);
134
+ this.db.exec(`
135
+ CREATE TABLE IF NOT EXISTS adaptations (
136
+ id TEXT PRIMARY KEY,
137
+ pattern_id TEXT NOT NULL,
138
+ type TEXT NOT NULL CHECK(type IN ('config', 'prompt', 'strategy', 'resource', 'skill')),
139
+ before_config TEXT NOT NULL,
140
+ after_config TEXT NOT NULL,
141
+ applied_to_agent_id TEXT,
142
+ applied_to_task_type TEXT,
143
+ applied_to_skill TEXT,
144
+ applied_at DATETIME NOT NULL,
145
+ success_count INTEGER NOT NULL DEFAULT 0,
146
+ failure_count INTEGER NOT NULL DEFAULT 0,
147
+ avg_improvement REAL NOT NULL DEFAULT 0,
148
+ is_active INTEGER NOT NULL DEFAULT 1,
149
+ deactivated_at DATETIME,
150
+ deactivation_reason TEXT,
151
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
152
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
153
+ FOREIGN KEY (pattern_id) REFERENCES patterns(id) ON DELETE CASCADE
154
+ );
155
+ `);
156
+ this.db.exec(`
157
+ CREATE TABLE IF NOT EXISTS rewards (
158
+ id TEXT PRIMARY KEY,
159
+ operation_span_id TEXT NOT NULL,
160
+ value REAL NOT NULL,
161
+ dimensions TEXT,
162
+ feedback TEXT,
163
+ feedback_type TEXT,
164
+ provided_by TEXT,
165
+ provided_at DATETIME NOT NULL,
166
+ metadata TEXT,
167
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
168
+ FOREIGN KEY (operation_span_id) REFERENCES spans(span_id) ON DELETE CASCADE
169
+ );
170
+ `);
171
+ this.db.exec(`
172
+ CREATE TABLE IF NOT EXISTS evolution_stats (
173
+ id TEXT PRIMARY KEY,
174
+ agent_id TEXT,
175
+ skill_name TEXT,
176
+ period_start DATETIME NOT NULL,
177
+ period_end DATETIME NOT NULL,
178
+ period_type TEXT NOT NULL CHECK(period_type IN ('hourly', 'daily', 'weekly', 'monthly')),
179
+ total_executions INTEGER NOT NULL,
180
+ successful_executions INTEGER NOT NULL,
181
+ failed_executions INTEGER NOT NULL,
182
+ success_rate REAL NOT NULL,
183
+ avg_duration_ms REAL NOT NULL,
184
+ avg_cost REAL NOT NULL,
185
+ avg_quality_score REAL NOT NULL,
186
+ patterns_discovered INTEGER NOT NULL DEFAULT 0,
187
+ adaptations_applied INTEGER NOT NULL DEFAULT 0,
188
+ improvement_rate REAL NOT NULL DEFAULT 0,
189
+ skills_used TEXT,
190
+ most_successful_skill TEXT,
191
+ avg_skill_satisfaction REAL,
192
+ created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
193
+ updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
194
+ );
195
+ `);
196
+ }
197
+ createIndexes() {
198
+ this.db.exec(`
199
+ CREATE INDEX IF NOT EXISTS idx_tasks_status ON tasks(status);
200
+ CREATE INDEX IF NOT EXISTS idx_tasks_task_type ON tasks(task_type);
201
+ CREATE INDEX IF NOT EXISTS idx_tasks_created_at ON tasks(created_at);
202
+ `);
203
+ this.db.exec(`
204
+ CREATE INDEX IF NOT EXISTS idx_executions_task_id ON executions(task_id);
205
+ CREATE INDEX IF NOT EXISTS idx_executions_agent_id ON executions(agent_id);
206
+ CREATE INDEX IF NOT EXISTS idx_executions_status ON executions(status);
207
+ `);
208
+ this.db.exec(`
209
+ CREATE INDEX IF NOT EXISTS idx_spans_trace_id ON spans(trace_id);
210
+ CREATE INDEX IF NOT EXISTS idx_spans_task_id ON spans(task_id);
211
+ CREATE INDEX IF NOT EXISTS idx_spans_execution_id ON spans(execution_id);
212
+ CREATE INDEX IF NOT EXISTS idx_spans_parent_span_id ON spans(parent_span_id);
213
+ CREATE INDEX IF NOT EXISTS idx_spans_start_time ON spans(start_time);
214
+ CREATE INDEX IF NOT EXISTS idx_spans_status_code ON spans(status_code);
215
+ `);
216
+ this.db.exec(`
217
+ CREATE INDEX IF NOT EXISTS idx_patterns_type ON patterns(type);
218
+ CREATE INDEX IF NOT EXISTS idx_patterns_confidence ON patterns(confidence);
219
+ CREATE INDEX IF NOT EXISTS idx_patterns_agent_type ON patterns(applies_to_agent_type);
220
+ CREATE INDEX IF NOT EXISTS idx_patterns_task_type ON patterns(applies_to_task_type);
221
+ CREATE INDEX IF NOT EXISTS idx_patterns_skill ON patterns(applies_to_skill);
222
+ CREATE INDEX IF NOT EXISTS idx_patterns_is_active ON patterns(is_active);
223
+ `);
224
+ this.db.exec(`
225
+ CREATE INDEX IF NOT EXISTS idx_adaptations_pattern_id ON adaptations(pattern_id);
226
+ CREATE INDEX IF NOT EXISTS idx_adaptations_agent_id ON adaptations(applied_to_agent_id);
227
+ CREATE INDEX IF NOT EXISTS idx_adaptations_skill ON adaptations(applied_to_skill);
228
+ CREATE INDEX IF NOT EXISTS idx_adaptations_is_active ON adaptations(is_active);
229
+ `);
230
+ this.db.exec(`
231
+ CREATE INDEX IF NOT EXISTS idx_rewards_operation_span_id ON rewards(operation_span_id);
232
+ CREATE INDEX IF NOT EXISTS idx_rewards_provided_at ON rewards(provided_at);
233
+ `);
234
+ this.db.exec(`
235
+ CREATE INDEX IF NOT EXISTS idx_stats_agent_id ON evolution_stats(agent_id);
236
+ CREATE INDEX IF NOT EXISTS idx_stats_skill_name ON evolution_stats(skill_name);
237
+ CREATE INDEX IF NOT EXISTS idx_stats_period ON evolution_stats(period_start, period_end);
238
+ CREATE INDEX IF NOT EXISTS idx_stats_period_type ON evolution_stats(period_type);
239
+ `);
240
+ }
241
+ async createTask(input, metadata) {
242
+ return this.taskRepository.createTask(input, metadata);
243
+ }
244
+ async getTask(taskId) {
245
+ return this.taskRepository.getTask(taskId);
246
+ }
247
+ async updateTask(taskId, updates) {
248
+ return this.taskRepository.updateTask(taskId, updates);
249
+ }
250
+ async listTasks(filters) {
251
+ return this.taskRepository.listTasks(filters);
252
+ }
253
+ async createExecution(taskId, metadata) {
254
+ return this.executionRepository.createExecution(taskId, metadata);
255
+ }
256
+ async getExecution(executionId) {
257
+ return this.executionRepository.getExecution(executionId);
258
+ }
259
+ async updateExecution(executionId, updates) {
260
+ return this.executionRepository.updateExecution(executionId, updates);
261
+ }
262
+ async listExecutions(taskId) {
263
+ return this.executionRepository.listExecutions(taskId);
264
+ }
265
+ async recordSpan(span) {
266
+ return this.spanRepository.recordSpan(span);
267
+ }
268
+ async recordSpanBatch(spans) {
269
+ return this.spanRepository.recordSpanBatch(spans);
270
+ }
271
+ async querySpans(query) {
272
+ return this.spanRepository.querySpans(query);
273
+ }
274
+ async getSpan(spanId) {
275
+ return this.spanRepository.getSpan(spanId);
276
+ }
277
+ async getSpansByTrace(traceId) {
278
+ return this.spanRepository.getSpansByTrace(traceId);
279
+ }
280
+ async getChildSpans(parentSpanId) {
281
+ return this.spanRepository.getChildSpans(parentSpanId);
282
+ }
283
+ async queryLinkedSpans(spanId) {
284
+ const stmt = this.db.prepare(`
285
+ SELECT * FROM spans
286
+ WHERE links IS NOT NULL
287
+ AND json_valid(links)
288
+ AND EXISTS (
289
+ SELECT 1 FROM json_each(links)
290
+ WHERE json_extract(value, '$.span_id') = ?
291
+ )
292
+ `);
293
+ const rows = stmt.all(spanId);
294
+ const spans = new Array(rows.length);
295
+ for (let i = 0; i < rows.length; i++) {
296
+ spans[i] = this.rowToSpan(rows[i]);
297
+ }
298
+ return spans;
299
+ }
300
+ async queryByTags(tags, mode = 'any') {
301
+ if (mode === 'any') {
302
+ const conditions = tags.map(() => 'tags LIKE ? ESCAPE \'\\\'').join(' OR ');
303
+ const params = tags.map((tag) => '%"' + this.escapeLikePattern(tag) + '"%');
304
+ const stmt = this.db.prepare(`
305
+ SELECT * FROM spans WHERE tags IS NOT NULL AND (${conditions})
306
+ `);
307
+ const rows = stmt.all(...params);
308
+ const spans = new Array(rows.length);
309
+ for (let i = 0; i < rows.length; i++) {
310
+ spans[i] = this.rowToSpan(rows[i]);
311
+ }
312
+ return spans;
313
+ }
314
+ else {
315
+ const conditions = tags.map(() => 'tags LIKE ? ESCAPE \'\\\'').join(' AND ');
316
+ const params = tags.map((tag) => '%"' + this.escapeLikePattern(tag) + '"%');
317
+ const stmt = this.db.prepare(`
318
+ SELECT * FROM spans WHERE tags IS NOT NULL AND ${conditions}
319
+ `);
320
+ const rows = stmt.all(...params);
321
+ const spans = new Array(rows.length);
322
+ for (let i = 0; i < rows.length; i++) {
323
+ spans[i] = this.rowToSpan(rows[i]);
324
+ }
325
+ return spans;
326
+ }
327
+ }
328
+ async recordReward(reward) {
329
+ return this.rewardRepository.recordReward(reward);
330
+ }
331
+ async getRewardsForSpan(spanId) {
332
+ return this.rewardRepository.getRewardsForSpan(spanId);
333
+ }
334
+ async queryRewardsByOperationSpan(operationSpanId) {
335
+ return this.rewardRepository.queryRewardsByOperationSpan(operationSpanId);
336
+ }
337
+ async queryRewards(filters) {
338
+ return this.rewardRepository.queryRewards(filters);
339
+ }
340
+ async storePattern(pattern) {
341
+ return this.patternRepository.recordPattern(pattern);
342
+ }
343
+ async getPattern(patternId) {
344
+ return this.patternRepository.getPattern(patternId);
345
+ }
346
+ async queryPatterns(query) {
347
+ return this.patternRepository.queryPatterns(query);
348
+ }
349
+ async storeContextualPattern(pattern) {
350
+ const stmt = this.db.prepare(`
351
+ INSERT INTO patterns (
352
+ id, type, confidence, occurrences, pattern_data, source_span_ids,
353
+ applies_to_agent_type, applies_to_task_type, applies_to_skill,
354
+ first_observed, last_observed, is_active,
355
+ complexity, config_keys, context_metadata
356
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
357
+ `);
358
+ stmt.run(pattern.id, pattern.type, pattern.confidence, pattern.observations, JSON.stringify({ description: pattern.description }), null, pattern.context.agent_type || null, pattern.context.task_type || null, null, pattern.last_seen, pattern.last_seen, 1, pattern.context.complexity || null, pattern.context.config_keys ? JSON.stringify(pattern.context.config_keys) : null, pattern.context.metadata ? JSON.stringify(pattern.context.metadata) : null);
359
+ }
360
+ async queryPatternsByContext(context) {
361
+ let sql = 'SELECT * FROM patterns WHERE 1=1';
362
+ const params = [];
363
+ if (context.agent_type) {
364
+ sql += ' AND applies_to_agent_type = ?';
365
+ params.push(context.agent_type);
366
+ }
367
+ if (context.task_type) {
368
+ sql += ' AND applies_to_task_type = ?';
369
+ params.push(context.task_type);
370
+ }
371
+ if (context.complexity) {
372
+ sql += ' AND complexity = ?';
373
+ params.push(context.complexity);
374
+ }
375
+ if (context.config_keys && context.config_keys.length > 0) {
376
+ sql += ' AND config_keys IS NOT NULL';
377
+ }
378
+ const stmt = this.db.prepare(sql);
379
+ const rows = stmt.all(...params);
380
+ return rows.map((row) => this.rowToContextualPattern(row));
381
+ }
382
+ rowToContextualPattern(row) {
383
+ const pattern_data = safeJsonParse(row.pattern_data, {});
384
+ const config_keys = safeJsonParse(row.config_keys, undefined);
385
+ const metadata = safeJsonParse(row.context_metadata, undefined);
386
+ let success_rate = 0;
387
+ try {
388
+ const adaptationStats = this.db.prepare(`
389
+ SELECT
390
+ COUNT(*) as total,
391
+ SUM(CASE WHEN outcome_status = 'success' THEN 1 ELSE 0 END) as successes
392
+ FROM adaptations
393
+ WHERE pattern_id = ?
394
+ `).get(row.id);
395
+ if (adaptationStats && adaptationStats.total > 0) {
396
+ success_rate = adaptationStats.successes / adaptationStats.total;
397
+ }
398
+ }
399
+ catch (error) {
400
+ logger.warn('Failed to calculate success_rate for pattern', {
401
+ patternId: row.id,
402
+ error: error instanceof Error ? error.message : String(error),
403
+ });
404
+ success_rate = 0;
405
+ }
406
+ let avg_execution_time = 0;
407
+ try {
408
+ const spanStats = this.db.prepare(`
409
+ SELECT AVG(duration_ms) as avg_duration
410
+ FROM spans
411
+ WHERE json_extract(attributes, '$.pattern.id') = ?
412
+ `).get(row.id);
413
+ if (spanStats && spanStats.avg_duration !== null) {
414
+ avg_execution_time = spanStats.avg_duration;
415
+ }
416
+ }
417
+ catch (error) {
418
+ logger.warn('Failed to calculate avg_execution_time for pattern', {
419
+ patternId: row.id,
420
+ error: error instanceof Error ? error.message : String(error),
421
+ });
422
+ avg_execution_time = 0;
423
+ }
424
+ return {
425
+ id: row.id,
426
+ type: row.type,
427
+ description: pattern_data.description || '',
428
+ confidence: row.confidence,
429
+ observations: row.occurrences,
430
+ success_rate,
431
+ avg_execution_time,
432
+ last_seen: row.last_observed,
433
+ context: {
434
+ agent_type: row.applies_to_agent_type ?? undefined,
435
+ task_type: row.applies_to_task_type ?? undefined,
436
+ complexity: row.complexity ? (row.complexity === 1 ? 'low' : row.complexity === 2 ? 'medium' : 'high') : undefined,
437
+ config_keys: config_keys,
438
+ metadata: metadata,
439
+ },
440
+ };
441
+ }
442
+ async updatePattern(patternId, updates) {
443
+ return this.patternRepository.updatePattern(patternId, updates);
444
+ }
445
+ async deactivatePattern(patternId, reason) {
446
+ const stmt = this.db.prepare(`
447
+ UPDATE patterns SET is_active = 0, updated_at = CURRENT_TIMESTAMP WHERE id = ?
448
+ `);
449
+ stmt.run(patternId);
450
+ }
451
+ async getActivePatternsFor(filters) {
452
+ let sql = 'SELECT * FROM patterns WHERE is_active = 1';
453
+ const params = [];
454
+ if (filters.agentType) {
455
+ sql += ' AND (applies_to_agent_type = ? OR applies_to_agent_type IS NULL)';
456
+ params.push(filters.agentType);
457
+ }
458
+ if (filters.taskType) {
459
+ sql += ' AND (applies_to_task_type = ? OR applies_to_task_type IS NULL)';
460
+ params.push(filters.taskType);
461
+ }
462
+ if (filters.skillName) {
463
+ sql += ' AND (applies_to_skill = ? OR applies_to_skill IS NULL)';
464
+ params.push(filters.skillName);
465
+ }
466
+ sql += ' ORDER BY confidence DESC';
467
+ const stmt = this.db.prepare(sql);
468
+ const rows = stmt.all(...params);
469
+ const patterns = new Array(rows.length);
470
+ for (let i = 0; i < rows.length; i++) {
471
+ patterns[i] = this.rowToPattern(rows[i]);
472
+ }
473
+ return patterns;
474
+ }
475
+ async storeAdaptation(adaptation) {
476
+ return this.adaptationRepository.recordAdaptation(adaptation);
477
+ }
478
+ async getAdaptation(adaptationId) {
479
+ return this.adaptationRepository.getAdaptation(adaptationId);
480
+ }
481
+ async queryAdaptations(filters) {
482
+ return this.adaptationRepository.queryAdaptations(filters);
483
+ }
484
+ async updateAdaptationOutcome(adaptationId, outcome) {
485
+ const adaptation = await this.getAdaptation(adaptationId);
486
+ if (!adaptation)
487
+ return;
488
+ const newSuccessCount = outcome.success
489
+ ? adaptation.success_count + 1
490
+ : adaptation.success_count;
491
+ const newFailureCount = !outcome.success
492
+ ? adaptation.failure_count + 1
493
+ : adaptation.failure_count;
494
+ let newAvgImprovement = adaptation.avg_improvement;
495
+ if (outcome.improvement !== undefined) {
496
+ const totalCount = newSuccessCount + newFailureCount;
497
+ newAvgImprovement =
498
+ (adaptation.avg_improvement * (totalCount - 1) + outcome.improvement) /
499
+ totalCount;
500
+ }
501
+ const stmt = this.db.prepare(`
502
+ UPDATE adaptations
503
+ SET success_count = ?, failure_count = ?, avg_improvement = ?, updated_at = CURRENT_TIMESTAMP
504
+ WHERE id = ?
505
+ `);
506
+ stmt.run(newSuccessCount, newFailureCount, newAvgImprovement, adaptationId);
507
+ }
508
+ async deactivateAdaptation(adaptationId, reason) {
509
+ const stmt = this.db.prepare(`
510
+ UPDATE adaptations
511
+ SET is_active = 0, deactivated_at = CURRENT_TIMESTAMP, deactivation_reason = ?, updated_at = CURRENT_TIMESTAMP
512
+ WHERE id = ?
513
+ `);
514
+ stmt.run(reason || null, adaptationId);
515
+ }
516
+ async getStats(agentId, timeRange) {
517
+ return this.statsRepository.getStats(agentId, timeRange);
518
+ }
519
+ async getAllStats(timeRange) {
520
+ const stmt = this.db.prepare(`
521
+ SELECT * FROM evolution_stats
522
+ WHERE period_start >= ? AND period_end <= ?
523
+ ORDER BY period_start DESC
524
+ `);
525
+ const rows = stmt.all(timeRange.start.toISOString(), timeRange.end.toISOString());
526
+ const stats = new Array(rows.length);
527
+ for (let i = 0; i < rows.length; i++) {
528
+ stats[i] = this.rowToEvolutionStats(rows[i]);
529
+ }
530
+ return stats;
531
+ }
532
+ async computePeriodStats(periodType, periodStart, periodEnd) {
533
+ const startTime = periodStart.getTime();
534
+ const endTime = periodEnd.getTime();
535
+ const stmt = this.db.prepare(`
536
+ SELECT
537
+ json_extract(resource, '$.agent.id') as agent_id,
538
+ COUNT(*) as total_executions,
539
+ SUM(CASE WHEN status_code = 'OK' THEN 1 ELSE 0 END) as successful_executions,
540
+ SUM(CASE WHEN status_code = 'ERROR' THEN 1 ELSE 0 END) as failed_executions,
541
+ AVG(duration_ms) as avg_duration_ms,
542
+ AVG(COALESCE(json_extract(attributes, '$.cost'), 0)) as avg_cost,
543
+ AVG(COALESCE(json_extract(attributes, '$.quality_score'), 0)) as avg_quality_score
544
+ FROM spans
545
+ WHERE start_time >= ? AND start_time <= ?
546
+ GROUP BY agent_id
547
+ `);
548
+ const rows = stmt.all(startTime, endTime);
549
+ const patternCount = this.db.prepare(`
550
+ SELECT COUNT(*) as count FROM patterns
551
+ WHERE first_observed >= ? AND first_observed <= ?
552
+ `).get(periodStart.toISOString(), periodEnd.toISOString());
553
+ const adaptationCount = this.db.prepare(`
554
+ SELECT COUNT(*) as count FROM adaptations
555
+ WHERE applied_at >= ? AND applied_at <= ?
556
+ `).get(periodStart.toISOString(), periodEnd.toISOString());
557
+ const skillUsageStmt = this.db.prepare(`
558
+ SELECT
559
+ json_extract(attributes, '$.skill.name') as skill_name,
560
+ COUNT(*) as uses,
561
+ SUM(CASE WHEN status_code = 'OK' THEN 1 ELSE 0 END) as successes
562
+ FROM spans
563
+ WHERE start_time >= ? AND start_time <= ?
564
+ AND json_extract(attributes, '$.skill.name') IS NOT NULL
565
+ GROUP BY skill_name
566
+ ORDER BY uses DESC
567
+ `);
568
+ const skillRows = skillUsageStmt.all(startTime, endTime);
569
+ const skillsUsed = {};
570
+ let mostSuccessfulSkill;
571
+ let maxSuccessRate = 0;
572
+ for (const skill of skillRows) {
573
+ skillsUsed[skill.skill_name] = skill.uses;
574
+ const rate = skill.uses > 0 ? skill.successes / skill.uses : 0;
575
+ if (rate > maxSuccessRate) {
576
+ maxSuccessRate = rate;
577
+ mostSuccessfulSkill = skill.skill_name;
578
+ }
579
+ }
580
+ const stats = [];
581
+ const now = new Date();
582
+ for (const row of rows) {
583
+ const total = row.total_executions || 0;
584
+ const successful = row.successful_executions || 0;
585
+ const successRate = total > 0 ? successful / total : 0;
586
+ stats.push({
587
+ id: uuid(),
588
+ agent_id: row.agent_id ?? undefined,
589
+ period_start: periodStart,
590
+ period_end: periodEnd,
591
+ period_type: periodType,
592
+ total_executions: total,
593
+ successful_executions: successful,
594
+ failed_executions: row.failed_executions || 0,
595
+ success_rate: successRate,
596
+ avg_duration_ms: row.avg_duration_ms || 0,
597
+ avg_cost: row.avg_cost || 0,
598
+ avg_quality_score: row.avg_quality_score || 0,
599
+ patterns_discovered: patternCount.count,
600
+ adaptations_applied: adaptationCount.count,
601
+ improvement_rate: 0,
602
+ skills_used: Object.keys(skillsUsed).length > 0 ? Object.keys(skillsUsed) : undefined,
603
+ most_successful_skill: mostSuccessfulSkill,
604
+ avg_skill_satisfaction: undefined,
605
+ created_at: now,
606
+ updated_at: now,
607
+ });
608
+ }
609
+ if (stats.length === 0) {
610
+ stats.push({
611
+ id: uuid(),
612
+ period_start: periodStart,
613
+ period_end: periodEnd,
614
+ period_type: periodType,
615
+ total_executions: 0,
616
+ successful_executions: 0,
617
+ failed_executions: 0,
618
+ success_rate: 0,
619
+ avg_duration_ms: 0,
620
+ avg_cost: 0,
621
+ avg_quality_score: 0,
622
+ patterns_discovered: patternCount.count,
623
+ adaptations_applied: adaptationCount.count,
624
+ improvement_rate: 0,
625
+ skills_used: Object.keys(skillsUsed).length > 0 ? Object.keys(skillsUsed) : undefined,
626
+ most_successful_skill: mostSuccessfulSkill,
627
+ created_at: now,
628
+ updated_at: now,
629
+ });
630
+ }
631
+ return stats;
632
+ }
633
+ async getSkillPerformance(skillName, timeRange) {
634
+ return this.statsRepository.getSkillPerformance(skillName, timeRange);
635
+ }
636
+ async getAllSkillsPerformance(timeRange) {
637
+ const stmt = this.db.prepare(`
638
+ SELECT
639
+ json_extract(attributes, '$.skill.name') as skill_name,
640
+ COUNT(*) as total_uses,
641
+ SUM(CASE WHEN status_code = 'OK' THEN 1 ELSE 0 END) as successful_uses,
642
+ SUM(CASE WHEN status_code = 'ERROR' THEN 1 ELSE 0 END) as failed_uses,
643
+ AVG(duration_ms) as avg_duration_ms
644
+ FROM spans
645
+ WHERE json_valid(attributes)
646
+ AND json_extract(attributes, '$.skill.name') IS NOT NULL
647
+ AND start_time >= ? AND start_time <= ?
648
+ GROUP BY skill_name
649
+ ORDER BY total_uses DESC
650
+ `);
651
+ const rows = stmt.all(timeRange.start.getTime(), timeRange.end.getTime());
652
+ const skills = new Array(rows.length);
653
+ for (let i = 0; i < rows.length; i++) {
654
+ const row = rows[i];
655
+ const total = row.total_uses || 0;
656
+ const successful = row.successful_uses || 0;
657
+ skills[i] = {
658
+ skill_name: row.skill_name,
659
+ total_uses: total,
660
+ successful_uses: successful,
661
+ failed_uses: row.failed_uses || 0,
662
+ success_rate: total > 0 ? successful / total : 0,
663
+ avg_duration_ms: row.avg_duration_ms || 0,
664
+ avg_user_satisfaction: 0,
665
+ trend_7d: 'stable',
666
+ trend_30d: 'stable',
667
+ period_start: timeRange.start,
668
+ period_end: timeRange.end,
669
+ };
670
+ }
671
+ return skills;
672
+ }
673
+ async getSkillRecommendations(filters) {
674
+ return this.statsRepository.getSkillRecommendations(filters);
675
+ }
676
+ async recordSkillFeedback(spanId, feedback) {
677
+ const reward = {
678
+ id: uuid(),
679
+ operation_span_id: spanId,
680
+ value: feedback.satisfaction / 5,
681
+ dimensions: {
682
+ user_satisfaction: feedback.satisfaction,
683
+ },
684
+ feedback: feedback.comment,
685
+ feedback_type: 'user',
686
+ provided_at: new Date(),
687
+ };
688
+ await this.recordReward(reward);
689
+ }
690
+ async getDatabaseStats() {
691
+ const tasksCount = this.db
692
+ .prepare('SELECT COUNT(*) as count FROM tasks')
693
+ .get();
694
+ const executionsCount = this.db
695
+ .prepare('SELECT COUNT(*) as count FROM executions')
696
+ .get();
697
+ const spansCount = this.db
698
+ .prepare('SELECT COUNT(*) as count FROM spans')
699
+ .get();
700
+ const patternsCount = this.db
701
+ .prepare('SELECT COUNT(*) as count FROM patterns')
702
+ .get();
703
+ const adaptationsCount = this.db
704
+ .prepare('SELECT COUNT(*) as count FROM adaptations')
705
+ .get();
706
+ return {
707
+ total_tasks: tasksCount.count,
708
+ total_executions: executionsCount.count,
709
+ total_spans: spansCount.count,
710
+ total_patterns: patternsCount.count,
711
+ total_adaptations: adaptationsCount.count,
712
+ };
713
+ }
714
+ async optimize() {
715
+ this.db.pragma('optimize');
716
+ this.db.exec('VACUUM');
717
+ }
718
+ async exportData(filters) {
719
+ const { startDate, endDate, format } = filters;
720
+ const dateConditions = [];
721
+ const dateParams = [];
722
+ if (startDate) {
723
+ dateConditions.push('start_time >= ?');
724
+ dateParams.push(startDate.getTime());
725
+ }
726
+ if (endDate) {
727
+ dateConditions.push('start_time <= ?');
728
+ dateParams.push(endDate.getTime());
729
+ }
730
+ const whereClause = dateConditions.length > 0
731
+ ? `WHERE ${dateConditions.join(' AND ')}`
732
+ : '';
733
+ const spansStmt = this.db.prepare(`SELECT * FROM spans ${whereClause} ORDER BY start_time DESC`);
734
+ const spanRows = spansStmt.all(...dateParams);
735
+ const spans = spanRows.map(row => this.rowToSpan(row));
736
+ const patternDateParams = [];
737
+ const patternConditions = [];
738
+ if (startDate) {
739
+ patternConditions.push('first_observed >= ?');
740
+ patternDateParams.push(startDate.toISOString());
741
+ }
742
+ if (endDate) {
743
+ patternConditions.push('first_observed <= ?');
744
+ patternDateParams.push(endDate.toISOString());
745
+ }
746
+ const patternWhere = patternConditions.length > 0
747
+ ? `WHERE ${patternConditions.join(' AND ')}`
748
+ : '';
749
+ const patternsStmt = this.db.prepare(`SELECT * FROM patterns ${patternWhere} ORDER BY last_observed DESC`);
750
+ const patternRows = patternsStmt.all(...patternDateParams);
751
+ const patterns = patternRows.map(row => this.rowToPattern(row));
752
+ const adaptationDateParams = [];
753
+ const adaptationConditions = [];
754
+ if (startDate) {
755
+ adaptationConditions.push('applied_at >= ?');
756
+ adaptationDateParams.push(startDate.toISOString());
757
+ }
758
+ if (endDate) {
759
+ adaptationConditions.push('applied_at <= ?');
760
+ adaptationDateParams.push(endDate.toISOString());
761
+ }
762
+ const adaptationWhere = adaptationConditions.length > 0
763
+ ? `WHERE ${adaptationConditions.join(' AND ')}`
764
+ : '';
765
+ const adaptationsStmt = this.db.prepare(`SELECT * FROM adaptations ${adaptationWhere} ORDER BY applied_at DESC`);
766
+ const adaptationRows = adaptationsStmt.all(...adaptationDateParams);
767
+ const exportData = {
768
+ exportedAt: new Date().toISOString(),
769
+ filters: {
770
+ startDate: startDate?.toISOString(),
771
+ endDate: endDate?.toISOString(),
772
+ },
773
+ summary: {
774
+ totalSpans: spans.length,
775
+ totalPatterns: patterns.length,
776
+ totalAdaptations: adaptationRows.length,
777
+ },
778
+ spans,
779
+ patterns,
780
+ adaptations: adaptationRows.map(row => ({
781
+ id: row.id,
782
+ pattern_id: row.pattern_id,
783
+ type: row.type,
784
+ before_config: safeJsonParse(row.before_config, {}),
785
+ after_config: safeJsonParse(row.after_config, {}),
786
+ applied_to_agent_id: row.applied_to_agent_id,
787
+ applied_to_task_type: row.applied_to_task_type,
788
+ applied_to_skill: row.applied_to_skill,
789
+ applied_at: row.applied_at,
790
+ success_count: row.success_count,
791
+ failure_count: row.failure_count,
792
+ avg_improvement: row.avg_improvement,
793
+ is_active: row.is_active === 1,
794
+ })),
795
+ };
796
+ if (format === 'json') {
797
+ return JSON.stringify(exportData, null, 2);
798
+ }
799
+ const csvLines = [];
800
+ csvLines.push('# SPANS');
801
+ csvLines.push('span_id,trace_id,name,status_code,duration_ms,start_time');
802
+ for (const span of spans) {
803
+ csvLines.push([
804
+ span.span_id,
805
+ span.trace_id,
806
+ `"${span.name.replace(/"/g, '""')}"`,
807
+ span.status.code,
808
+ span.duration_ms ?? '',
809
+ new Date(span.start_time).toISOString(),
810
+ ].join(','));
811
+ }
812
+ csvLines.push('');
813
+ csvLines.push('# PATTERNS');
814
+ csvLines.push('id,type,confidence,occurrences,is_active,first_observed,last_observed');
815
+ for (const pattern of patterns) {
816
+ csvLines.push([
817
+ pattern.id,
818
+ pattern.type,
819
+ pattern.confidence,
820
+ pattern.occurrences,
821
+ pattern.is_active ? 1 : 0,
822
+ pattern.first_observed.toISOString(),
823
+ pattern.last_observed.toISOString(),
824
+ ].join(','));
825
+ }
826
+ csvLines.push('');
827
+ csvLines.push('# ADAPTATIONS');
828
+ csvLines.push('id,pattern_id,type,success_count,failure_count,avg_improvement,is_active,applied_at');
829
+ for (const row of adaptationRows) {
830
+ csvLines.push([
831
+ row.id,
832
+ row.pattern_id,
833
+ row.type,
834
+ row.success_count,
835
+ row.failure_count,
836
+ row.avg_improvement,
837
+ row.is_active,
838
+ row.applied_at,
839
+ ].join(','));
840
+ }
841
+ return csvLines.join('\n');
842
+ }
843
+ rowToSpan(row) {
844
+ return {
845
+ trace_id: row.trace_id,
846
+ span_id: row.span_id,
847
+ parent_span_id: row.parent_span_id ?? undefined,
848
+ task_id: row.task_id,
849
+ execution_id: row.execution_id,
850
+ name: row.name,
851
+ kind: row.kind,
852
+ start_time: row.start_time,
853
+ end_time: row.end_time ?? undefined,
854
+ duration_ms: row.duration_ms ?? undefined,
855
+ status: {
856
+ code: row.status_code,
857
+ message: row.status_message ?? undefined,
858
+ },
859
+ attributes: safeJsonParse(row.attributes, {}),
860
+ resource: safeJsonParse(row.resource, { 'task.id': '', 'execution.id': '', 'execution.attempt': 0 }),
861
+ links: safeJsonParse(row.links, undefined),
862
+ tags: safeJsonParse(row.tags, undefined),
863
+ events: safeJsonParse(row.events, undefined),
864
+ };
865
+ }
866
+ rowToPattern(row) {
867
+ return {
868
+ id: row.id,
869
+ type: row.type,
870
+ confidence: row.confidence,
871
+ occurrences: row.occurrences,
872
+ pattern_data: safeJsonParse(row.pattern_data, {
873
+ conditions: {},
874
+ recommendations: {},
875
+ expected_improvement: {},
876
+ evidence: { sample_size: 0 },
877
+ }),
878
+ source_span_ids: safeJsonParse(row.source_span_ids, []),
879
+ applies_to_agent_type: row.applies_to_agent_type ?? undefined,
880
+ applies_to_task_type: row.applies_to_task_type ?? undefined,
881
+ applies_to_skill: row.applies_to_skill ?? undefined,
882
+ first_observed: new Date(row.first_observed),
883
+ last_observed: new Date(row.last_observed),
884
+ is_active: row.is_active === 1,
885
+ created_at: new Date(row.created_at),
886
+ updated_at: new Date(row.updated_at),
887
+ };
888
+ }
889
+ rowToEvolutionStats(row) {
890
+ return {
891
+ id: row.id,
892
+ agent_id: row.agent_id ?? undefined,
893
+ skill_name: row.skill_name ?? undefined,
894
+ period_start: new Date(row.period_start),
895
+ period_end: new Date(row.period_end),
896
+ period_type: row.period_type,
897
+ total_executions: row.total_executions,
898
+ successful_executions: row.successful_executions,
899
+ failed_executions: row.failed_executions,
900
+ success_rate: row.success_rate,
901
+ avg_duration_ms: row.avg_duration_ms,
902
+ avg_cost: row.avg_cost,
903
+ avg_quality_score: row.avg_quality_score,
904
+ patterns_discovered: row.patterns_discovered,
905
+ adaptations_applied: row.adaptations_applied,
906
+ improvement_rate: row.improvement_rate,
907
+ skills_used: safeJsonParse(row.skills_used, undefined),
908
+ most_successful_skill: row.most_successful_skill ?? undefined,
909
+ avg_skill_satisfaction: row.avg_skill_satisfaction ?? undefined,
910
+ created_at: new Date(row.created_at),
911
+ updated_at: new Date(row.updated_at),
912
+ };
913
+ }
914
+ }
915
+ //# sourceMappingURL=SQLiteStore.js.map