agentic-qe 2.7.0 → 2.7.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/CHANGELOG.md +132 -0
  2. package/README.md +2 -2
  3. package/dist/adapters/MemoryStoreAdapter.d.ts +14 -14
  4. package/dist/adapters/MemoryStoreAdapter.d.ts.map +1 -1
  5. package/dist/adapters/MemoryStoreAdapter.js.map +1 -1
  6. package/dist/agents/AccessibilityAllyAgent.d.ts.map +1 -1
  7. package/dist/agents/AccessibilityAllyAgent.js +23 -10
  8. package/dist/agents/AccessibilityAllyAgent.js.map +1 -1
  9. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts +1 -0
  10. package/dist/agents/CodeComplexityAnalyzerAgent.d.ts.map +1 -1
  11. package/dist/agents/CodeComplexityAnalyzerAgent.js +12 -6
  12. package/dist/agents/CodeComplexityAnalyzerAgent.js.map +1 -1
  13. package/dist/agents/CodeIntelligenceAgent.d.ts.map +1 -1
  14. package/dist/agents/CodeIntelligenceAgent.js +7 -5
  15. package/dist/agents/CodeIntelligenceAgent.js.map +1 -1
  16. package/dist/agents/DeploymentReadinessAgent.d.ts +7 -1
  17. package/dist/agents/DeploymentReadinessAgent.d.ts.map +1 -1
  18. package/dist/agents/DeploymentReadinessAgent.js +7 -5
  19. package/dist/agents/DeploymentReadinessAgent.js.map +1 -1
  20. package/dist/agents/FlakyTestHunterAgent.d.ts +1 -1
  21. package/dist/agents/FlakyTestHunterAgent.d.ts.map +1 -1
  22. package/dist/agents/FlakyTestHunterAgent.js +8 -7
  23. package/dist/agents/FlakyTestHunterAgent.js.map +1 -1
  24. package/dist/agents/FleetCommanderAgent.d.ts +3 -0
  25. package/dist/agents/FleetCommanderAgent.d.ts.map +1 -1
  26. package/dist/agents/FleetCommanderAgent.js +13 -12
  27. package/dist/agents/FleetCommanderAgent.js.map +1 -1
  28. package/dist/agents/PerformanceTesterAgent.d.ts +2 -0
  29. package/dist/agents/PerformanceTesterAgent.d.ts.map +1 -1
  30. package/dist/agents/PerformanceTesterAgent.js +4 -3
  31. package/dist/agents/PerformanceTesterAgent.js.map +1 -1
  32. package/dist/agents/ProductionIntelligenceAgent.d.ts +1 -1
  33. package/dist/agents/ProductionIntelligenceAgent.d.ts.map +1 -1
  34. package/dist/agents/ProductionIntelligenceAgent.js.map +1 -1
  35. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts +1 -1
  36. package/dist/agents/RegressionRiskAnalyzerAgent.d.ts.map +1 -1
  37. package/dist/agents/RegressionRiskAnalyzerAgent.js.map +1 -1
  38. package/dist/agents/RequirementsValidatorAgent.d.ts +5 -1
  39. package/dist/agents/RequirementsValidatorAgent.d.ts.map +1 -1
  40. package/dist/agents/RequirementsValidatorAgent.js +7 -6
  41. package/dist/agents/RequirementsValidatorAgent.js.map +1 -1
  42. package/dist/agents/SecurityScannerAgent.d.ts +4 -1
  43. package/dist/agents/SecurityScannerAgent.d.ts.map +1 -1
  44. package/dist/agents/SecurityScannerAgent.js +11 -10
  45. package/dist/agents/SecurityScannerAgent.js.map +1 -1
  46. package/dist/agents/TestExecutorAgent.js +2 -2
  47. package/dist/agents/TestExecutorAgent.js.map +1 -1
  48. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  49. package/dist/agents/TestGeneratorAgent.js +1 -0
  50. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  51. package/dist/agents/n8n/N8nAuditPersistence.d.ts.map +1 -1
  52. package/dist/agents/n8n/N8nAuditPersistence.js +2 -1
  53. package/dist/agents/n8n/N8nAuditPersistence.js.map +1 -1
  54. package/dist/agents/n8n/N8nCIOrchestratorAgent.d.ts.map +1 -1
  55. package/dist/agents/n8n/N8nCIOrchestratorAgent.js +2 -1
  56. package/dist/agents/n8n/N8nCIOrchestratorAgent.js.map +1 -1
  57. package/dist/agents/n8n/N8nChaosTesterAgent.d.ts.map +1 -1
  58. package/dist/agents/n8n/N8nChaosTesterAgent.js +2 -1
  59. package/dist/agents/n8n/N8nChaosTesterAgent.js.map +1 -1
  60. package/dist/agents/n8n/N8nReplayabilityTesterAgent.d.ts.map +1 -1
  61. package/dist/agents/n8n/N8nReplayabilityTesterAgent.js +2 -1
  62. package/dist/agents/n8n/N8nReplayabilityTesterAgent.js.map +1 -1
  63. package/dist/agents/n8n/N8nTestHarness.d.ts.map +1 -1
  64. package/dist/agents/n8n/N8nTestHarness.js +7 -3
  65. package/dist/agents/n8n/N8nTestHarness.js.map +1 -1
  66. package/dist/cli/commands/agent/assign.d.ts.map +1 -1
  67. package/dist/cli/commands/agent/assign.js +4 -3
  68. package/dist/cli/commands/agent/assign.js.map +1 -1
  69. package/dist/cli/commands/constitution.d.ts.map +1 -1
  70. package/dist/cli/commands/constitution.js +4 -3
  71. package/dist/cli/commands/constitution.js.map +1 -1
  72. package/dist/cli/commands/generate.d.ts.map +1 -1
  73. package/dist/cli/commands/generate.js +6 -2
  74. package/dist/cli/commands/generate.js.map +1 -1
  75. package/dist/cli/commands/knowledge-graph.d.ts.map +1 -1
  76. package/dist/cli/commands/knowledge-graph.js +4 -2
  77. package/dist/cli/commands/knowledge-graph.js.map +1 -1
  78. package/dist/cli/commands/migrate/index.d.ts +14 -0
  79. package/dist/cli/commands/migrate/index.d.ts.map +1 -0
  80. package/dist/cli/commands/migrate/index.js +283 -0
  81. package/dist/cli/commands/migrate/index.js.map +1 -0
  82. package/dist/cli/commands/patterns/extract.d.ts.map +1 -1
  83. package/dist/cli/commands/patterns/extract.js +3 -2
  84. package/dist/cli/commands/patterns/extract.js.map +1 -1
  85. package/dist/cli/formatters/KGOutputFormatter.d.ts.map +1 -1
  86. package/dist/cli/formatters/KGOutputFormatter.js +15 -6
  87. package/dist/cli/formatters/KGOutputFormatter.js.map +1 -1
  88. package/dist/cli/index-working.js +15 -17
  89. package/dist/cli/index-working.js.map +1 -1
  90. package/dist/cli/index.js +3 -0
  91. package/dist/cli/index.js.map +1 -1
  92. package/dist/cli/init/database-init.d.ts.map +1 -1
  93. package/dist/cli/init/database-init.js +105 -0
  94. package/dist/cli/init/database-init.js.map +1 -1
  95. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts +9 -3
  96. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.d.ts.map +1 -1
  97. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js +41 -3
  98. package/dist/code-intelligence/orchestrator/CodeIntelligenceOrchestrator.js.map +1 -1
  99. package/dist/code-intelligence/service/CodeIntelligenceService.js +1 -1
  100. package/dist/code-intelligence/service/CodeIntelligenceService.js.map +1 -1
  101. package/dist/core/Task.d.ts +33 -9
  102. package/dist/core/Task.d.ts.map +1 -1
  103. package/dist/core/Task.js.map +1 -1
  104. package/dist/core/cache/BinaryMetadataCache.d.ts.map +1 -1
  105. package/dist/core/cache/BinaryMetadataCache.js +2 -1
  106. package/dist/core/cache/BinaryMetadataCache.js.map +1 -1
  107. package/dist/core/hooks/checkers/ConfigurationChecker.js.map +1 -1
  108. package/dist/core/memory/AgentDBIntegration.d.ts +88 -0
  109. package/dist/core/memory/AgentDBIntegration.d.ts.map +1 -1
  110. package/dist/core/memory/AgentDBIntegration.js +189 -3
  111. package/dist/core/memory/AgentDBIntegration.js.map +1 -1
  112. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  113. package/dist/core/memory/MigrationTools.d.ts +2 -2
  114. package/dist/core/memory/MigrationTools.d.ts.map +1 -1
  115. package/dist/core/memory/MigrationTools.js +21 -17
  116. package/dist/core/memory/MigrationTools.js.map +1 -1
  117. package/dist/core/memory/NeuralEnhancement.d.ts.map +1 -1
  118. package/dist/core/memory/NeuralEnhancement.js +11 -8
  119. package/dist/core/memory/NeuralEnhancement.js.map +1 -1
  120. package/dist/core/memory/RealAgentDBAdapter.d.ts +6 -2
  121. package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
  122. package/dist/core/memory/RealAgentDBAdapter.js +63 -47
  123. package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
  124. package/dist/core/memory/TieredCompression.d.ts +1 -0
  125. package/dist/core/memory/TieredCompression.d.ts.map +1 -1
  126. package/dist/core/memory/TieredCompression.js +4 -2
  127. package/dist/core/memory/TieredCompression.js.map +1 -1
  128. package/dist/core/memory/dao/BlackboardDAO.d.ts.map +1 -1
  129. package/dist/core/memory/dao/BlackboardDAO.js +2 -1
  130. package/dist/core/memory/dao/BlackboardDAO.js.map +1 -1
  131. package/dist/core/metrics/InferenceCostTracker.d.ts.map +1 -1
  132. package/dist/core/metrics/InferenceCostTracker.js +2 -1
  133. package/dist/core/metrics/InferenceCostTracker.js.map +1 -1
  134. package/dist/core/orchestration/WorkflowOrchestrator.d.ts.map +1 -1
  135. package/dist/core/orchestration/WorkflowOrchestrator.js +2 -1
  136. package/dist/core/orchestration/WorkflowOrchestrator.js.map +1 -1
  137. package/dist/core/recovery/RetryStrategy.d.ts +2 -1
  138. package/dist/core/recovery/RetryStrategy.d.ts.map +1 -1
  139. package/dist/core/recovery/RetryStrategy.js +5 -2
  140. package/dist/core/recovery/RetryStrategy.js.map +1 -1
  141. package/dist/core/strategies/DefaultCoordinationStrategy.js +1 -1
  142. package/dist/core/strategies/DefaultCoordinationStrategy.js.map +1 -1
  143. package/dist/core/strategies/DefaultLearningStrategy.d.ts.map +1 -1
  144. package/dist/core/strategies/DefaultLearningStrategy.js +2 -1
  145. package/dist/core/strategies/DefaultLearningStrategy.js.map +1 -1
  146. package/dist/learning/ExperienceReplayBuffer.d.ts.map +1 -1
  147. package/dist/learning/ExperienceReplayBuffer.js +3 -2
  148. package/dist/learning/ExperienceReplayBuffer.js.map +1 -1
  149. package/dist/learning/ExperienceSharingProtocol.d.ts.map +1 -1
  150. package/dist/learning/ExperienceSharingProtocol.js +2 -1
  151. package/dist/learning/ExperienceSharingProtocol.js.map +1 -1
  152. package/dist/learning/FederatedManager.d.ts.map +1 -1
  153. package/dist/learning/FederatedManager.js +6 -5
  154. package/dist/learning/FederatedManager.js.map +1 -1
  155. package/dist/learning/QLearning.d.ts +9 -1
  156. package/dist/learning/QLearning.d.ts.map +1 -1
  157. package/dist/learning/QLearning.js +50 -1
  158. package/dist/learning/QLearning.js.map +1 -1
  159. package/dist/learning/QLearningLegacy.d.ts.map +1 -1
  160. package/dist/learning/QLearningLegacy.js +4 -5
  161. package/dist/learning/QLearningLegacy.js.map +1 -1
  162. package/dist/learning/algorithms/AbstractRLLearner.d.ts.map +1 -1
  163. package/dist/learning/algorithms/AbstractRLLearner.js +4 -5
  164. package/dist/learning/algorithms/AbstractRLLearner.js.map +1 -1
  165. package/dist/learning/algorithms/ActorCriticLearner.d.ts.map +1 -1
  166. package/dist/learning/algorithms/ActorCriticLearner.js +4 -4
  167. package/dist/learning/algorithms/ActorCriticLearner.js.map +1 -1
  168. package/dist/learning/algorithms/MAMLMetaLearner.d.ts.map +1 -1
  169. package/dist/learning/algorithms/MAMLMetaLearner.js +2 -1
  170. package/dist/learning/algorithms/MAMLMetaLearner.js.map +1 -1
  171. package/dist/learning/algorithms/PPOLearner.d.ts.map +1 -1
  172. package/dist/learning/algorithms/PPOLearner.js +3 -2
  173. package/dist/learning/algorithms/PPOLearner.js.map +1 -1
  174. package/dist/learning/baselines/BaselineCollector.d.ts.map +1 -1
  175. package/dist/learning/baselines/BaselineCollector.js +5 -4
  176. package/dist/learning/baselines/BaselineCollector.js.map +1 -1
  177. package/dist/learning/baselines/StandardTaskSuite.d.ts.map +1 -1
  178. package/dist/learning/baselines/StandardTaskSuite.js +2 -1
  179. package/dist/learning/baselines/StandardTaskSuite.js.map +1 -1
  180. package/dist/learning/capture/ExperienceExtractor.d.ts.map +1 -1
  181. package/dist/learning/capture/ExperienceExtractor.js +8 -7
  182. package/dist/learning/capture/ExperienceExtractor.js.map +1 -1
  183. package/dist/learning/metrics/LearningMetrics.d.ts +37 -0
  184. package/dist/learning/metrics/LearningMetrics.d.ts.map +1 -1
  185. package/dist/learning/metrics/LearningMetrics.js +73 -0
  186. package/dist/learning/metrics/LearningMetrics.js.map +1 -1
  187. package/dist/learning/synthesis/ClusteringEngine.d.ts.map +1 -1
  188. package/dist/learning/synthesis/ClusteringEngine.js +3 -2
  189. package/dist/learning/synthesis/ClusteringEngine.js.map +1 -1
  190. package/dist/learning/transfer/TransferValidator.d.ts.map +1 -1
  191. package/dist/learning/transfer/TransferValidator.js +2 -1
  192. package/dist/learning/transfer/TransferValidator.js.map +1 -1
  193. package/dist/mcp/handlers/fleet-init.d.ts +10 -0
  194. package/dist/mcp/handlers/fleet-init.d.ts.map +1 -1
  195. package/dist/mcp/handlers/fleet-init.js +61 -0
  196. package/dist/mcp/handlers/fleet-init.js.map +1 -1
  197. package/dist/mcp/handlers/learning/learning-store-pattern.d.ts +13 -0
  198. package/dist/mcp/handlers/learning/learning-store-pattern.d.ts.map +1 -1
  199. package/dist/mcp/handlers/learning/learning-store-pattern.js +40 -1
  200. package/dist/mcp/handlers/learning/learning-store-pattern.js.map +1 -1
  201. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts +89 -0
  202. package/dist/mcp/handlers/phase3/Phase3DomainTools.d.ts.map +1 -1
  203. package/dist/mcp/handlers/phase3/Phase3DomainTools.js +110 -1
  204. package/dist/mcp/handlers/phase3/Phase3DomainTools.js.map +1 -1
  205. package/dist/mcp/handlers/task-orchestrate.d.ts +27 -1
  206. package/dist/mcp/handlers/task-orchestrate.d.ts.map +1 -1
  207. package/dist/mcp/handlers/task-orchestrate.js +188 -8
  208. package/dist/mcp/handlers/task-orchestrate.js.map +1 -1
  209. package/dist/mcp/handlers/test/test-execute-parallel.js +1 -1
  210. package/dist/mcp/handlers/test/test-execute-parallel.js.map +1 -1
  211. package/dist/mcp/server-instructions.d.ts +1 -1
  212. package/dist/mcp/server-instructions.js +1 -1
  213. package/dist/mcp/server.d.ts +6 -0
  214. package/dist/mcp/server.d.ts.map +1 -1
  215. package/dist/mcp/server.js +92 -2
  216. package/dist/mcp/server.js.map +1 -1
  217. package/dist/mcp/services/AgentRegistry.d.ts +13 -0
  218. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  219. package/dist/mcp/services/AgentRegistry.js +66 -0
  220. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  221. package/dist/mcp/services/HookExecutor.js.map +1 -1
  222. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.d.ts.map +1 -1
  223. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js +3 -2
  224. package/dist/mcp/tools/qe/flaky-detection/stabilize-auto.js.map +1 -1
  225. package/dist/mcp/tools/qe/fleet/index.d.ts.map +1 -1
  226. package/dist/mcp/tools/qe/fleet/index.js +20 -19
  227. package/dist/mcp/tools/qe/fleet/index.js.map +1 -1
  228. package/dist/mcp/tools/qe/performance/generate-report.d.ts.map +1 -1
  229. package/dist/mcp/tools/qe/performance/generate-report.js +2 -1
  230. package/dist/mcp/tools/qe/performance/generate-report.js.map +1 -1
  231. package/dist/mcp/tools/qe/performance/monitor-realtime.d.ts.map +1 -1
  232. package/dist/mcp/tools/qe/performance/monitor-realtime.js +8 -7
  233. package/dist/mcp/tools/qe/performance/monitor-realtime.js.map +1 -1
  234. package/dist/mcp/tools/qe/performance/run-benchmark.d.ts.map +1 -1
  235. package/dist/mcp/tools/qe/performance/run-benchmark.js +2 -2
  236. package/dist/mcp/tools/qe/performance/run-benchmark.js.map +1 -1
  237. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.d.ts.map +1 -1
  238. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js +2 -1
  239. package/dist/mcp/tools/qe/quality-gates/assess-deployment-risk.js.map +1 -1
  240. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts +55 -0
  241. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.d.ts.map +1 -1
  242. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js +235 -1
  243. package/dist/mcp/tools/qe/quality-gates/evaluate-quality-gate.js.map +1 -1
  244. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.d.ts.map +1 -1
  245. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js +2 -1
  246. package/dist/mcp/tools/qe/quality-gates/generate-quality-report.js.map +1 -1
  247. package/dist/mcp/tools/qe/quality-gates/index.d.ts +5 -2
  248. package/dist/mcp/tools/qe/quality-gates/index.d.ts.map +1 -1
  249. package/dist/mcp/tools/qe/quality-gates/index.js +10 -1
  250. package/dist/mcp/tools/qe/quality-gates/index.js.map +1 -1
  251. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.d.ts.map +1 -1
  252. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js +2 -1
  253. package/dist/mcp/tools/qe/quality-gates/validate-quality-metrics.js.map +1 -1
  254. package/dist/mcp/tools/qe/regression/analyze-risk.d.ts.map +1 -1
  255. package/dist/mcp/tools/qe/regression/analyze-risk.js +2 -1
  256. package/dist/mcp/tools/qe/regression/analyze-risk.js.map +1 -1
  257. package/dist/mcp/tools/qe/regression/select-tests.d.ts.map +1 -1
  258. package/dist/mcp/tools/qe/regression/select-tests.js +3 -2
  259. package/dist/mcp/tools/qe/regression/select-tests.js.map +1 -1
  260. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.d.ts.map +1 -1
  261. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js +2 -1
  262. package/dist/mcp/tools/qe/requirements/generate-bdd-scenarios.js.map +1 -1
  263. package/dist/mcp/tools/qe/requirements/index.d.ts.map +1 -1
  264. package/dist/mcp/tools/qe/requirements/index.js +2 -1
  265. package/dist/mcp/tools/qe/requirements/index.js.map +1 -1
  266. package/dist/mcp/tools/qe/requirements/validate-requirements.d.ts.map +1 -1
  267. package/dist/mcp/tools/qe/requirements/validate-requirements.js +2 -1
  268. package/dist/mcp/tools/qe/requirements/validate-requirements.js.map +1 -1
  269. package/dist/mcp/tools/qe/security/detect-vulnerabilities.d.ts.map +1 -1
  270. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js +20 -19
  271. package/dist/mcp/tools/qe/security/detect-vulnerabilities.js.map +1 -1
  272. package/dist/mcp/tools/qe/security/validate-compliance.d.ts.map +1 -1
  273. package/dist/mcp/tools/qe/security/validate-compliance.js +4 -4
  274. package/dist/mcp/tools/qe/security/validate-compliance.js.map +1 -1
  275. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts +0 -38
  276. package/dist/mcp/tools/qe/test-data/generate-test-data.d.ts.map +1 -1
  277. package/dist/mcp/tools/qe/test-data/generate-test-data.js +2 -1
  278. package/dist/mcp/tools/qe/test-data/generate-test-data.js.map +1 -1
  279. package/dist/mcp/tools/qe/test-data/index.d.ts.map +1 -1
  280. package/dist/mcp/tools/qe/test-data/index.js +2 -1
  281. package/dist/mcp/tools/qe/test-data/index.js.map +1 -1
  282. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.d.ts.map +1 -1
  283. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js +2 -1
  284. package/dist/mcp/tools/qe/test-data/mask-sensitive-data.js.map +1 -1
  285. package/dist/mcp/tools.d.ts +1 -0
  286. package/dist/mcp/tools.d.ts.map +1 -1
  287. package/dist/mcp/tools.js +156 -1
  288. package/dist/mcp/tools.js.map +1 -1
  289. package/dist/memory/PatternReplicationService.d.ts.map +1 -1
  290. package/dist/memory/PatternReplicationService.js +4 -2
  291. package/dist/memory/PatternReplicationService.js.map +1 -1
  292. package/dist/output/OutputFormatterImpl.d.ts.map +1 -1
  293. package/dist/output/OutputFormatterImpl.js +2 -1
  294. package/dist/output/OutputFormatterImpl.js.map +1 -1
  295. package/dist/persistence/migrations/all-migrations.d.ts +18 -0
  296. package/dist/persistence/migrations/all-migrations.d.ts.map +1 -0
  297. package/dist/persistence/migrations/all-migrations.js +624 -0
  298. package/dist/persistence/migrations/all-migrations.js.map +1 -0
  299. package/dist/persistence/migrations/index.d.ts +110 -0
  300. package/dist/persistence/migrations/index.d.ts.map +1 -0
  301. package/dist/persistence/migrations/index.js +303 -0
  302. package/dist/persistence/migrations/index.js.map +1 -0
  303. package/dist/planning/GOAPPlanner.d.ts +128 -0
  304. package/dist/planning/GOAPPlanner.d.ts.map +1 -0
  305. package/dist/planning/GOAPPlanner.js +630 -0
  306. package/dist/planning/GOAPPlanner.js.map +1 -0
  307. package/dist/planning/WorldStateBuilder.d.ts +150 -0
  308. package/dist/planning/WorldStateBuilder.d.ts.map +1 -0
  309. package/dist/planning/WorldStateBuilder.js +267 -0
  310. package/dist/planning/WorldStateBuilder.js.map +1 -0
  311. package/dist/planning/actions/fleet-actions.d.ts +78 -0
  312. package/dist/planning/actions/fleet-actions.d.ts.map +1 -0
  313. package/dist/planning/actions/fleet-actions.js +329 -0
  314. package/dist/planning/actions/fleet-actions.js.map +1 -0
  315. package/dist/planning/actions/index.d.ts +61 -0
  316. package/dist/planning/actions/index.d.ts.map +1 -0
  317. package/dist/planning/actions/index.js +159 -0
  318. package/dist/planning/actions/index.js.map +1 -0
  319. package/dist/planning/actions/orchestration-actions.d.ts +61 -0
  320. package/dist/planning/actions/orchestration-actions.d.ts.map +1 -0
  321. package/dist/planning/actions/orchestration-actions.js +395 -0
  322. package/dist/planning/actions/orchestration-actions.js.map +1 -0
  323. package/dist/planning/actions/quality-gate-actions.d.ts +160 -0
  324. package/dist/planning/actions/quality-gate-actions.d.ts.map +1 -0
  325. package/dist/planning/actions/quality-gate-actions.js +639 -0
  326. package/dist/planning/actions/quality-gate-actions.js.map +1 -0
  327. package/dist/planning/actions/test-strategy-actions.d.ts +70 -0
  328. package/dist/planning/actions/test-strategy-actions.d.ts.map +1 -0
  329. package/dist/planning/actions/test-strategy-actions.js +278 -0
  330. package/dist/planning/actions/test-strategy-actions.js.map +1 -0
  331. package/dist/planning/execution/PlanExecutor.d.ts +124 -0
  332. package/dist/planning/execution/PlanExecutor.d.ts.map +1 -0
  333. package/dist/planning/execution/PlanExecutor.js +405 -0
  334. package/dist/planning/execution/PlanExecutor.js.map +1 -0
  335. package/dist/planning/execution/index.d.ts +12 -0
  336. package/dist/planning/execution/index.d.ts.map +1 -0
  337. package/dist/planning/execution/index.js +18 -0
  338. package/dist/planning/execution/index.js.map +1 -0
  339. package/dist/planning/goals/TaskWorkflowGoals.d.ts +67 -0
  340. package/dist/planning/goals/TaskWorkflowGoals.d.ts.map +1 -0
  341. package/dist/planning/goals/TaskWorkflowGoals.js +208 -0
  342. package/dist/planning/goals/TaskWorkflowGoals.js.map +1 -0
  343. package/dist/planning/goals/index.d.ts +10 -0
  344. package/dist/planning/goals/index.d.ts.map +1 -0
  345. package/dist/planning/goals/index.js +19 -0
  346. package/dist/planning/goals/index.js.map +1 -0
  347. package/dist/planning/index.d.ts +34 -0
  348. package/dist/planning/index.d.ts.map +1 -0
  349. package/dist/planning/index.js +176 -0
  350. package/dist/planning/index.js.map +1 -0
  351. package/dist/planning/integration/GOAPQualityGateIntegration.d.ts +229 -0
  352. package/dist/planning/integration/GOAPQualityGateIntegration.d.ts.map +1 -0
  353. package/dist/planning/integration/GOAPQualityGateIntegration.js +582 -0
  354. package/dist/planning/integration/GOAPQualityGateIntegration.js.map +1 -0
  355. package/dist/planning/integration/GOAPTaskOrchestration.d.ts +165 -0
  356. package/dist/planning/integration/GOAPTaskOrchestration.d.ts.map +1 -0
  357. package/dist/planning/integration/GOAPTaskOrchestration.js +490 -0
  358. package/dist/planning/integration/GOAPTaskOrchestration.js.map +1 -0
  359. package/dist/planning/integration/index.d.ts +14 -0
  360. package/dist/planning/integration/index.d.ts.map +1 -0
  361. package/dist/planning/integration/index.js +23 -0
  362. package/dist/planning/integration/index.js.map +1 -0
  363. package/dist/planning/types.d.ts +264 -0
  364. package/dist/planning/types.d.ts.map +1 -0
  365. package/dist/planning/types.js +63 -0
  366. package/dist/planning/types.js.map +1 -0
  367. package/dist/providers/HybridRouterComplexityIntegration.d.ts.map +1 -1
  368. package/dist/providers/HybridRouterComplexityIntegration.js +2 -1
  369. package/dist/providers/HybridRouterComplexityIntegration.js.map +1 -1
  370. package/dist/providers/RuVectorPostgresAdapter.d.ts.map +1 -1
  371. package/dist/providers/RuVectorPostgresAdapter.js +2 -1
  372. package/dist/providers/RuVectorPostgresAdapter.js.map +1 -1
  373. package/dist/reasoning/PatternMemoryIntegration.d.ts.map +1 -1
  374. package/dist/reasoning/PatternMemoryIntegration.js +12 -3
  375. package/dist/reasoning/PatternMemoryIntegration.js.map +1 -1
  376. package/dist/reporting/reporters/JSONReporter.d.ts +67 -9
  377. package/dist/reporting/reporters/JSONReporter.d.ts.map +1 -1
  378. package/dist/reporting/reporters/JSONReporter.js +4 -3
  379. package/dist/reporting/reporters/JSONReporter.js.map +1 -1
  380. package/dist/types/index.d.ts +26 -26
  381. package/dist/types/index.d.ts.map +1 -1
  382. package/dist/types/memory-interfaces.d.ts +25 -14
  383. package/dist/types/memory-interfaces.d.ts.map +1 -1
  384. package/dist/utils/Database.d.ts.map +1 -1
  385. package/dist/utils/Database.js +81 -2
  386. package/dist/utils/Database.js.map +1 -1
  387. package/dist/utils/ErrorUtils.d.ts +43 -0
  388. package/dist/utils/ErrorUtils.d.ts.map +1 -0
  389. package/dist/utils/ErrorUtils.js +78 -0
  390. package/dist/utils/ErrorUtils.js.map +1 -0
  391. package/dist/utils/SecurityScanner.d.ts +1 -0
  392. package/dist/utils/SecurityScanner.d.ts.map +1 -1
  393. package/dist/utils/SecurityScanner.js.map +1 -1
  394. package/dist/visualization/api/RestEndpoints.d.ts.map +1 -1
  395. package/dist/visualization/api/RestEndpoints.js +2 -1
  396. package/dist/visualization/api/RestEndpoints.js.map +1 -1
  397. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -1
  398. package/dist/visualization/api/WebSocketServer.js +2 -1
  399. package/dist/visualization/api/WebSocketServer.js.map +1 -1
  400. package/dist/visualization/core/DataTransformer.d.ts.map +1 -1
  401. package/dist/visualization/core/DataTransformer.js +5 -3
  402. package/dist/visualization/core/DataTransformer.js.map +1 -1
  403. package/package.json +6 -3
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Database Migration System
3
+ *
4
+ * Manages schema migrations for the Agentic QE database.
5
+ * Migrations are versioned and tracked to ensure consistency
6
+ * across all installations.
7
+ *
8
+ * @module persistence/migrations
9
+ */
10
+ import Database from 'better-sqlite3';
11
+ export interface Migration {
12
+ version: number;
13
+ name: string;
14
+ description: string;
15
+ up: (db: Database.Database) => void;
16
+ down?: (db: Database.Database) => void;
17
+ }
18
+ export interface MigrationResult {
19
+ version: number;
20
+ name: string;
21
+ success: boolean;
22
+ error?: string;
23
+ duration: number;
24
+ }
25
+ export interface MigrationStatus {
26
+ currentVersion: number;
27
+ latestVersion: number;
28
+ pendingMigrations: number;
29
+ appliedMigrations: Array<{
30
+ version: number;
31
+ name: string;
32
+ applied_at: string;
33
+ }>;
34
+ }
35
+ /**
36
+ * Migration Runner
37
+ *
38
+ * Handles running database migrations in order with version tracking.
39
+ */
40
+ export declare class MigrationRunner {
41
+ private db;
42
+ private migrations;
43
+ constructor(db: Database.Database);
44
+ /**
45
+ * Ensure the migrations tracking table exists
46
+ */
47
+ private ensureMigrationTable;
48
+ /**
49
+ * Register a migration
50
+ */
51
+ register(migration: Migration): void;
52
+ /**
53
+ * Register multiple migrations
54
+ */
55
+ registerAll(migrations: Migration[]): void;
56
+ /**
57
+ * Get current schema version
58
+ */
59
+ getCurrentVersion(): number;
60
+ /**
61
+ * Get latest available migration version
62
+ */
63
+ getLatestVersion(): number;
64
+ /**
65
+ * Get pending migrations
66
+ */
67
+ getPendingMigrations(): Migration[];
68
+ /**
69
+ * Get migration status
70
+ */
71
+ getStatus(): MigrationStatus;
72
+ /**
73
+ * Run all pending migrations
74
+ */
75
+ runAll(): MigrationResult[];
76
+ /**
77
+ * Run a single migration
78
+ */
79
+ runOne(migration: Migration): MigrationResult;
80
+ /**
81
+ * Rollback the last migration
82
+ */
83
+ rollbackLast(): MigrationResult | null;
84
+ /**
85
+ * Check if a specific table exists
86
+ */
87
+ tableExists(tableName: string): boolean;
88
+ /**
89
+ * Check if a column exists in a table
90
+ */
91
+ columnExists(tableName: string, columnName: string): boolean;
92
+ /**
93
+ * Safe add column - only adds if it doesn't exist
94
+ */
95
+ safeAddColumn(tableName: string, columnName: string, columnDef: string): void;
96
+ /**
97
+ * Safe create table - creates if doesn't exist
98
+ */
99
+ safeCreateTable(sql: string): void;
100
+ }
101
+ /**
102
+ * Get default database path
103
+ */
104
+ export declare function getDefaultDbPath(): string;
105
+ /**
106
+ * Run migrations on a database
107
+ */
108
+ export declare function runMigrations(dbPath?: string, verbose?: boolean): Promise<MigrationResult[]>;
109
+ export { MigrationRunner as default };
110
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/persistence/migrations/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAItC,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;IACpC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,KAAK,CAAC;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,UAAU,CAAmB;gBAEzB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAKjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAc5B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAKpC;;OAEG;IACH,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI;IAI1C;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAQ3B;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAK1B;;OAEG;IACH,oBAAoB,IAAI,SAAS,EAAE;IAKnC;;OAEG;IACH,SAAS,IAAI,eAAe;IAiB5B;;OAEG;IACH,MAAM,IAAI,eAAe,EAAE;IAgB3B;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,SAAS,GAAG,eAAe;IAmD7C;;OAEG;IACH,YAAY,IAAI,eAAe,GAAG,IAAI;IAyCtC;;OAEG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAOvC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO;IAS5D;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAM7E;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGnC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,MAAM,GAAE,MAA2B,EACnC,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,eAAe,EAAE,CAAC,CAiC5B;AAED,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,CAAC"}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ /**
3
+ * Database Migration System
4
+ *
5
+ * Manages schema migrations for the Agentic QE database.
6
+ * Migrations are versioned and tracked to ensure consistency
7
+ * across all installations.
8
+ *
9
+ * @module persistence/migrations
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ var __importDefault = (this && this.__importDefault) || function (mod) {
45
+ return (mod && mod.__esModule) ? mod : { "default": mod };
46
+ };
47
+ Object.defineProperty(exports, "__esModule", { value: true });
48
+ exports.default = exports.MigrationRunner = void 0;
49
+ exports.getDefaultDbPath = getDefaultDbPath;
50
+ exports.runMigrations = runMigrations;
51
+ const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
52
+ const path = __importStar(require("path"));
53
+ /**
54
+ * Migration Runner
55
+ *
56
+ * Handles running database migrations in order with version tracking.
57
+ */
58
+ class MigrationRunner {
59
+ constructor(db) {
60
+ this.migrations = [];
61
+ this.db = db;
62
+ this.ensureMigrationTable();
63
+ }
64
+ /**
65
+ * Ensure the migrations tracking table exists
66
+ */
67
+ ensureMigrationTable() {
68
+ this.db.exec(`
69
+ CREATE TABLE IF NOT EXISTS schema_migrations (
70
+ version INTEGER PRIMARY KEY,
71
+ name TEXT NOT NULL,
72
+ description TEXT,
73
+ applied_at TEXT NOT NULL,
74
+ checksum TEXT
75
+ );
76
+
77
+ CREATE INDEX IF NOT EXISTS idx_migrations_version ON schema_migrations(version);
78
+ `);
79
+ }
80
+ /**
81
+ * Register a migration
82
+ */
83
+ register(migration) {
84
+ this.migrations.push(migration);
85
+ this.migrations.sort((a, b) => a.version - b.version);
86
+ }
87
+ /**
88
+ * Register multiple migrations
89
+ */
90
+ registerAll(migrations) {
91
+ migrations.forEach(m => this.register(m));
92
+ }
93
+ /**
94
+ * Get current schema version
95
+ */
96
+ getCurrentVersion() {
97
+ const row = this.db.prepare('SELECT MAX(version) as version FROM schema_migrations').get();
98
+ return row?.version ?? 0;
99
+ }
100
+ /**
101
+ * Get latest available migration version
102
+ */
103
+ getLatestVersion() {
104
+ if (this.migrations.length === 0)
105
+ return 0;
106
+ return Math.max(...this.migrations.map(m => m.version));
107
+ }
108
+ /**
109
+ * Get pending migrations
110
+ */
111
+ getPendingMigrations() {
112
+ const currentVersion = this.getCurrentVersion();
113
+ return this.migrations.filter(m => m.version > currentVersion);
114
+ }
115
+ /**
116
+ * Get migration status
117
+ */
118
+ getStatus() {
119
+ const currentVersion = this.getCurrentVersion();
120
+ const latestVersion = this.getLatestVersion();
121
+ const pending = this.getPendingMigrations();
122
+ const applied = this.db.prepare('SELECT version, name, applied_at FROM schema_migrations ORDER BY version').all();
123
+ return {
124
+ currentVersion,
125
+ latestVersion,
126
+ pendingMigrations: pending.length,
127
+ appliedMigrations: applied
128
+ };
129
+ }
130
+ /**
131
+ * Run all pending migrations
132
+ */
133
+ runAll() {
134
+ const results = [];
135
+ const pending = this.getPendingMigrations();
136
+ for (const migration of pending) {
137
+ const result = this.runOne(migration);
138
+ results.push(result);
139
+ if (!result.success) {
140
+ break; // Stop on first failure
141
+ }
142
+ }
143
+ return results;
144
+ }
145
+ /**
146
+ * Run a single migration
147
+ */
148
+ runOne(migration) {
149
+ const startTime = Date.now();
150
+ try {
151
+ // Check if already applied
152
+ const existing = this.db.prepare('SELECT version FROM schema_migrations WHERE version = ?').get(migration.version);
153
+ if (existing) {
154
+ return {
155
+ version: migration.version,
156
+ name: migration.name,
157
+ success: true,
158
+ duration: 0
159
+ };
160
+ }
161
+ // Run migration in transaction
162
+ this.db.transaction(() => {
163
+ migration.up(this.db);
164
+ // Record migration
165
+ this.db.prepare(`
166
+ INSERT INTO schema_migrations (version, name, description, applied_at)
167
+ VALUES (?, ?, ?, ?)
168
+ `).run(migration.version, migration.name, migration.description, new Date().toISOString());
169
+ })();
170
+ return {
171
+ version: migration.version,
172
+ name: migration.name,
173
+ success: true,
174
+ duration: Date.now() - startTime
175
+ };
176
+ }
177
+ catch (error) {
178
+ return {
179
+ version: migration.version,
180
+ name: migration.name,
181
+ success: false,
182
+ error: error instanceof Error ? error.message : String(error),
183
+ duration: Date.now() - startTime
184
+ };
185
+ }
186
+ }
187
+ /**
188
+ * Rollback the last migration
189
+ */
190
+ rollbackLast() {
191
+ const currentVersion = this.getCurrentVersion();
192
+ if (currentVersion === 0)
193
+ return null;
194
+ const migration = this.migrations.find(m => m.version === currentVersion);
195
+ if (!migration || !migration.down) {
196
+ return {
197
+ version: currentVersion,
198
+ name: migration?.name ?? 'unknown',
199
+ success: false,
200
+ error: 'Migration does not support rollback',
201
+ duration: 0
202
+ };
203
+ }
204
+ const startTime = Date.now();
205
+ try {
206
+ this.db.transaction(() => {
207
+ migration.down(this.db);
208
+ this.db.prepare('DELETE FROM schema_migrations WHERE version = ?')
209
+ .run(currentVersion);
210
+ })();
211
+ return {
212
+ version: currentVersion,
213
+ name: migration.name,
214
+ success: true,
215
+ duration: Date.now() - startTime
216
+ };
217
+ }
218
+ catch (error) {
219
+ return {
220
+ version: currentVersion,
221
+ name: migration.name,
222
+ success: false,
223
+ error: error instanceof Error ? error.message : String(error),
224
+ duration: Date.now() - startTime
225
+ };
226
+ }
227
+ }
228
+ /**
229
+ * Check if a specific table exists
230
+ */
231
+ tableExists(tableName) {
232
+ const row = this.db.prepare("SELECT name FROM sqlite_master WHERE type='table' AND name=?").get(tableName);
233
+ return !!row;
234
+ }
235
+ /**
236
+ * Check if a column exists in a table
237
+ */
238
+ columnExists(tableName, columnName) {
239
+ try {
240
+ const columns = this.db.prepare(`PRAGMA table_info(${tableName})`).all();
241
+ return columns.some(c => c.name === columnName);
242
+ }
243
+ catch {
244
+ return false;
245
+ }
246
+ }
247
+ /**
248
+ * Safe add column - only adds if it doesn't exist
249
+ */
250
+ safeAddColumn(tableName, columnName, columnDef) {
251
+ if (!this.columnExists(tableName, columnName)) {
252
+ this.db.exec(`ALTER TABLE ${tableName} ADD COLUMN ${columnName} ${columnDef}`);
253
+ }
254
+ }
255
+ /**
256
+ * Safe create table - creates if doesn't exist
257
+ */
258
+ safeCreateTable(sql) {
259
+ this.db.exec(sql);
260
+ }
261
+ }
262
+ exports.MigrationRunner = MigrationRunner;
263
+ exports.default = MigrationRunner;
264
+ /**
265
+ * Get default database path
266
+ */
267
+ function getDefaultDbPath() {
268
+ return path.join(process.cwd(), '.agentic-qe', 'memory.db');
269
+ }
270
+ /**
271
+ * Run migrations on a database
272
+ */
273
+ async function runMigrations(dbPath = getDefaultDbPath(), verbose = false) {
274
+ const db = new better_sqlite3_1.default(dbPath);
275
+ try {
276
+ const runner = new MigrationRunner(db);
277
+ // Register all migrations
278
+ const { allMigrations } = await Promise.resolve().then(() => __importStar(require('./all-migrations')));
279
+ runner.registerAll(allMigrations);
280
+ if (verbose) {
281
+ const status = runner.getStatus();
282
+ console.log(`Current version: ${status.currentVersion}`);
283
+ console.log(`Latest version: ${status.latestVersion}`);
284
+ console.log(`Pending migrations: ${status.pendingMigrations}`);
285
+ }
286
+ const results = runner.runAll();
287
+ if (verbose) {
288
+ for (const result of results) {
289
+ if (result.success) {
290
+ console.log(`✓ Migration ${result.version}: ${result.name} (${result.duration}ms)`);
291
+ }
292
+ else {
293
+ console.log(`✗ Migration ${result.version}: ${result.name} - ${result.error}`);
294
+ }
295
+ }
296
+ }
297
+ return results;
298
+ }
299
+ finally {
300
+ db.close();
301
+ }
302
+ }
303
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/persistence/migrations/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /**
2
+ * GOAP Planner - A* Search Algorithm for Goal-Oriented Action Planning
3
+ *
4
+ * Implements optimal plan finding using A* search with:
5
+ * - Precondition checking
6
+ * - Effect application
7
+ * - Heuristic calculation
8
+ * - Plan reconstruction
9
+ *
10
+ * @module planning/GOAPPlanner
11
+ * @version 1.0.0
12
+ */
13
+ import Database from 'better-sqlite3';
14
+ import { WorldState, StateConditions, GOAPAction, GOAPPlan, PlanConstraints } from './types';
15
+ /**
16
+ * GOAP Planner using A* search algorithm
17
+ */
18
+ export declare class GOAPPlanner {
19
+ private actionLibrary;
20
+ private db;
21
+ private logger;
22
+ private actionsLoaded;
23
+ constructor(db: Database.Database);
24
+ /**
25
+ * Load action library from database (merges with programmatic actions)
26
+ */
27
+ loadActionsFromDatabase(): Promise<void>;
28
+ /**
29
+ * Add actions programmatically (for testing or bootstrap)
30
+ */
31
+ addActions(actions: GOAPAction[]): void;
32
+ /**
33
+ * Clear action library
34
+ */
35
+ clearActions(): void;
36
+ /**
37
+ * Get current action library
38
+ */
39
+ getActionLibrary(): GOAPAction[];
40
+ /**
41
+ * Ensure GOAP schema exists (creates missing tables)
42
+ */
43
+ ensureSchema(): void;
44
+ /**
45
+ * Seed actions to database (upsert - won't duplicate)
46
+ * Call this with allActions to persist the action library
47
+ */
48
+ seedActions(actions: GOAPAction[]): number;
49
+ /**
50
+ * Get action count from database
51
+ */
52
+ getActionCountFromDatabase(): number;
53
+ /**
54
+ * A* search to find optimal plan from current to goal state
55
+ */
56
+ findPlan(currentState: WorldState, goalConditions: StateConditions, constraints?: PlanConstraints): Promise<GOAPPlan | null>;
57
+ /**
58
+ * Calculate heuristic distance to goal (admissible)
59
+ */
60
+ private calculateHeuristic;
61
+ /**
62
+ * Check if goal conditions are met
63
+ */
64
+ goalMet(state: WorldState, goal: StateConditions): boolean;
65
+ /**
66
+ * Check if all conditions are satisfied
67
+ */
68
+ conditionsMet(state: WorldState, conditions: StateConditions): boolean;
69
+ /**
70
+ * Check a single condition
71
+ */
72
+ private checkCondition;
73
+ /**
74
+ * Check if action preconditions are met
75
+ */
76
+ preconditionsMet(state: WorldState, preconditions: StateConditions): boolean;
77
+ /**
78
+ * Get actions whose preconditions are satisfied
79
+ */
80
+ private getApplicableActions;
81
+ /**
82
+ * Calculate effective action cost
83
+ */
84
+ private getActionCost;
85
+ /**
86
+ * Apply action effects to state
87
+ */
88
+ applyAction(state: WorldState, action: GOAPAction): WorldState;
89
+ /**
90
+ * Apply a single effect to state
91
+ */
92
+ private applyEffect;
93
+ /**
94
+ * Get value from nested state using dot notation
95
+ */
96
+ getStateValue(state: WorldState, key: string): any;
97
+ /**
98
+ * Set value in nested state using dot notation
99
+ */
100
+ private setStateValue;
101
+ /**
102
+ * Create hash of state for deduplication
103
+ */
104
+ private stateHash;
105
+ /**
106
+ * Deep clone world state
107
+ */
108
+ private cloneState;
109
+ /**
110
+ * Reconstruct plan from goal node
111
+ */
112
+ private reconstructPlan;
113
+ /**
114
+ * Persist plan to database
115
+ */
116
+ persistPlan(plan: GOAPPlan, initialState: WorldState, goalId?: string): Promise<void>;
117
+ /**
118
+ * Update action success rate based on execution outcome
119
+ */
120
+ updateActionSuccessRate(actionId: string, success: boolean): Promise<void>;
121
+ /**
122
+ * Find alternative plans (for presenting options)
123
+ */
124
+ findAlternativePlans(currentState: WorldState, goalConditions: StateConditions, constraints?: PlanConstraints, maxAlternatives?: number): Promise<GOAPPlan[]>;
125
+ }
126
+ export declare function getSharedGOAPPlanner(db: Database.Database): GOAPPlanner;
127
+ export declare function resetSharedGOAPPlanner(): void;
128
+ //# sourceMappingURL=GOAPPlanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GOAPPlanner.d.ts","sourceRoot":"","sources":["../../src/planning/GOAPPlanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAEtC,OAAO,EACL,UAAU,EACV,eAAe,EAIf,UAAU,EACV,QAAQ,EACR,eAAe,EAIhB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,EAAE,CAAoB;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAS;gBAElB,EAAE,EAAE,QAAQ,CAAC,QAAQ;IAKjC;;OAEG;IACG,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC;IAmC9C;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,IAAI;IAIvC;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,gBAAgB,IAAI,UAAU,EAAE;IAIhC;;OAEG;IACH,YAAY,IAAI,IAAI;IA+BpB;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM;IA6C1C;;OAEG;IACH,0BAA0B,IAAI,MAAM;IAKpC;;OAEG;IACG,QAAQ,CACZ,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,eAAe,EAC/B,WAAW,CAAC,EAAE,eAAe,GAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;IA2G3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4D1B;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,eAAe,GAAG,OAAO;IAI1D;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,GAAG,OAAO;IAStE;;OAEG;IACH,OAAO,CAAC,cAAc;IAiDtB;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,GAAG,OAAO;IAI5E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU;IAU9D;;OAEG;IACH,OAAO,CAAC,WAAW;IAsDnB;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG;IAclD;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,SAAS;IAsBjB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,eAAe;IAuBvB;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuB3F;;OAEG;IACG,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BhF;;OAEG;IACG,oBAAoB,CACxB,YAAY,EAAE,UAAU,EACxB,cAAc,EAAE,eAAe,EAC/B,WAAW,CAAC,EAAE,eAAe,EAC7B,eAAe,SAAI,GAClB,OAAO,CAAC,QAAQ,EAAE,CAAC;CAuBvB;AAOD,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAKvE;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}