agentic-qe 2.5.6 → 2.5.8

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 (210) hide show
  1. package/.claude/agents/n8n/n8n-base-agent.md +376 -0
  2. package/.claude/agents/n8n/n8n-bdd-scenario-tester.md +613 -0
  3. package/.claude/agents/n8n/n8n-chaos-tester.md +654 -0
  4. package/.claude/agents/n8n/n8n-ci-orchestrator.md +850 -0
  5. package/.claude/agents/n8n/n8n-compliance-validator.md +685 -0
  6. package/.claude/agents/n8n/n8n-expression-validator.md +560 -0
  7. package/.claude/agents/n8n/n8n-integration-test.md +602 -0
  8. package/.claude/agents/n8n/n8n-monitoring-validator.md +589 -0
  9. package/.claude/agents/n8n/n8n-node-validator.md +455 -0
  10. package/.claude/agents/n8n/n8n-performance-tester.md +630 -0
  11. package/.claude/agents/n8n/n8n-security-auditor.md +786 -0
  12. package/.claude/agents/n8n/n8n-trigger-test.md +500 -0
  13. package/.claude/agents/n8n/n8n-unit-tester.md +633 -0
  14. package/.claude/agents/n8n/n8n-version-comparator.md +567 -0
  15. package/.claude/agents/n8n/n8n-workflow-executor.md +392 -0
  16. package/.claude/skills/n8n-expression-testing/SKILL.md +434 -0
  17. package/.claude/skills/n8n-integration-testing-patterns/SKILL.md +540 -0
  18. package/.claude/skills/n8n-security-testing/SKILL.md +599 -0
  19. package/.claude/skills/n8n-trigger-testing-strategies/SKILL.md +541 -0
  20. package/.claude/skills/n8n-workflow-testing-fundamentals/SKILL.md +447 -0
  21. package/CHANGELOG.md +127 -0
  22. package/README.md +7 -4
  23. package/dist/agents/BaseAgent.d.ts +142 -0
  24. package/dist/agents/BaseAgent.d.ts.map +1 -1
  25. package/dist/agents/BaseAgent.js +372 -2
  26. package/dist/agents/BaseAgent.js.map +1 -1
  27. package/dist/agents/TestGeneratorAgent.d.ts +5 -0
  28. package/dist/agents/TestGeneratorAgent.d.ts.map +1 -1
  29. package/dist/agents/TestGeneratorAgent.js +38 -0
  30. package/dist/agents/TestGeneratorAgent.js.map +1 -1
  31. package/dist/agents/index.d.ts +1 -1
  32. package/dist/agents/index.d.ts.map +1 -1
  33. package/dist/agents/index.js.map +1 -1
  34. package/dist/agents/n8n/N8nAPIClient.d.ts +121 -0
  35. package/dist/agents/n8n/N8nAPIClient.d.ts.map +1 -0
  36. package/dist/agents/n8n/N8nAPIClient.js +367 -0
  37. package/dist/agents/n8n/N8nAPIClient.js.map +1 -0
  38. package/dist/agents/n8n/N8nAuditPersistence.d.ts +120 -0
  39. package/dist/agents/n8n/N8nAuditPersistence.d.ts.map +1 -0
  40. package/dist/agents/n8n/N8nAuditPersistence.js +473 -0
  41. package/dist/agents/n8n/N8nAuditPersistence.js.map +1 -0
  42. package/dist/agents/n8n/N8nBDDScenarioTesterAgent.d.ts +159 -0
  43. package/dist/agents/n8n/N8nBDDScenarioTesterAgent.d.ts.map +1 -0
  44. package/dist/agents/n8n/N8nBDDScenarioTesterAgent.js +697 -0
  45. package/dist/agents/n8n/N8nBDDScenarioTesterAgent.js.map +1 -0
  46. package/dist/agents/n8n/N8nBaseAgent.d.ts +126 -0
  47. package/dist/agents/n8n/N8nBaseAgent.d.ts.map +1 -0
  48. package/dist/agents/n8n/N8nBaseAgent.js +446 -0
  49. package/dist/agents/n8n/N8nBaseAgent.js.map +1 -0
  50. package/dist/agents/n8n/N8nCIOrchestratorAgent.d.ts +164 -0
  51. package/dist/agents/n8n/N8nCIOrchestratorAgent.d.ts.map +1 -0
  52. package/dist/agents/n8n/N8nCIOrchestratorAgent.js +610 -0
  53. package/dist/agents/n8n/N8nCIOrchestratorAgent.js.map +1 -0
  54. package/dist/agents/n8n/N8nChaosTesterAgent.d.ts +205 -0
  55. package/dist/agents/n8n/N8nChaosTesterAgent.d.ts.map +1 -0
  56. package/dist/agents/n8n/N8nChaosTesterAgent.js +729 -0
  57. package/dist/agents/n8n/N8nChaosTesterAgent.js.map +1 -0
  58. package/dist/agents/n8n/N8nComplianceValidatorAgent.d.ts +228 -0
  59. package/dist/agents/n8n/N8nComplianceValidatorAgent.d.ts.map +1 -0
  60. package/dist/agents/n8n/N8nComplianceValidatorAgent.js +986 -0
  61. package/dist/agents/n8n/N8nComplianceValidatorAgent.js.map +1 -0
  62. package/dist/agents/n8n/N8nContractTesterAgent.d.ts +213 -0
  63. package/dist/agents/n8n/N8nContractTesterAgent.d.ts.map +1 -0
  64. package/dist/agents/n8n/N8nContractTesterAgent.js +989 -0
  65. package/dist/agents/n8n/N8nContractTesterAgent.js.map +1 -0
  66. package/dist/agents/n8n/N8nExpressionValidatorAgent.d.ts +99 -0
  67. package/dist/agents/n8n/N8nExpressionValidatorAgent.d.ts.map +1 -0
  68. package/dist/agents/n8n/N8nExpressionValidatorAgent.js +632 -0
  69. package/dist/agents/n8n/N8nExpressionValidatorAgent.js.map +1 -0
  70. package/dist/agents/n8n/N8nFailureModeTesterAgent.d.ts +238 -0
  71. package/dist/agents/n8n/N8nFailureModeTesterAgent.d.ts.map +1 -0
  72. package/dist/agents/n8n/N8nFailureModeTesterAgent.js +956 -0
  73. package/dist/agents/n8n/N8nFailureModeTesterAgent.js.map +1 -0
  74. package/dist/agents/n8n/N8nIdempotencyTesterAgent.d.ts +242 -0
  75. package/dist/agents/n8n/N8nIdempotencyTesterAgent.d.ts.map +1 -0
  76. package/dist/agents/n8n/N8nIdempotencyTesterAgent.js +992 -0
  77. package/dist/agents/n8n/N8nIdempotencyTesterAgent.js.map +1 -0
  78. package/dist/agents/n8n/N8nIntegrationTestAgent.d.ts +104 -0
  79. package/dist/agents/n8n/N8nIntegrationTestAgent.d.ts.map +1 -0
  80. package/dist/agents/n8n/N8nIntegrationTestAgent.js +653 -0
  81. package/dist/agents/n8n/N8nIntegrationTestAgent.js.map +1 -0
  82. package/dist/agents/n8n/N8nMonitoringValidatorAgent.d.ts +210 -0
  83. package/dist/agents/n8n/N8nMonitoringValidatorAgent.d.ts.map +1 -0
  84. package/dist/agents/n8n/N8nMonitoringValidatorAgent.js +669 -0
  85. package/dist/agents/n8n/N8nMonitoringValidatorAgent.js.map +1 -0
  86. package/dist/agents/n8n/N8nNodeValidatorAgent.d.ts +142 -0
  87. package/dist/agents/n8n/N8nNodeValidatorAgent.d.ts.map +1 -0
  88. package/dist/agents/n8n/N8nNodeValidatorAgent.js +1090 -0
  89. package/dist/agents/n8n/N8nNodeValidatorAgent.js.map +1 -0
  90. package/dist/agents/n8n/N8nPerformanceTesterAgent.d.ts +198 -0
  91. package/dist/agents/n8n/N8nPerformanceTesterAgent.d.ts.map +1 -0
  92. package/dist/agents/n8n/N8nPerformanceTesterAgent.js +653 -0
  93. package/dist/agents/n8n/N8nPerformanceTesterAgent.js.map +1 -0
  94. package/dist/agents/n8n/N8nReplayabilityTesterAgent.d.ts +245 -0
  95. package/dist/agents/n8n/N8nReplayabilityTesterAgent.d.ts.map +1 -0
  96. package/dist/agents/n8n/N8nReplayabilityTesterAgent.js +952 -0
  97. package/dist/agents/n8n/N8nReplayabilityTesterAgent.js.map +1 -0
  98. package/dist/agents/n8n/N8nSecretsHygieneAuditorAgent.d.ts +325 -0
  99. package/dist/agents/n8n/N8nSecretsHygieneAuditorAgent.d.ts.map +1 -0
  100. package/dist/agents/n8n/N8nSecretsHygieneAuditorAgent.js +1187 -0
  101. package/dist/agents/n8n/N8nSecretsHygieneAuditorAgent.js.map +1 -0
  102. package/dist/agents/n8n/N8nSecurityAuditorAgent.d.ts +91 -0
  103. package/dist/agents/n8n/N8nSecurityAuditorAgent.d.ts.map +1 -0
  104. package/dist/agents/n8n/N8nSecurityAuditorAgent.js +825 -0
  105. package/dist/agents/n8n/N8nSecurityAuditorAgent.js.map +1 -0
  106. package/dist/agents/n8n/N8nTestHarness.d.ts +131 -0
  107. package/dist/agents/n8n/N8nTestHarness.d.ts.map +1 -0
  108. package/dist/agents/n8n/N8nTestHarness.js +456 -0
  109. package/dist/agents/n8n/N8nTestHarness.js.map +1 -0
  110. package/dist/agents/n8n/N8nTriggerTestAgent.d.ts +119 -0
  111. package/dist/agents/n8n/N8nTriggerTestAgent.d.ts.map +1 -0
  112. package/dist/agents/n8n/N8nTriggerTestAgent.js +652 -0
  113. package/dist/agents/n8n/N8nTriggerTestAgent.js.map +1 -0
  114. package/dist/agents/n8n/N8nUnitTesterAgent.d.ts +130 -0
  115. package/dist/agents/n8n/N8nUnitTesterAgent.d.ts.map +1 -0
  116. package/dist/agents/n8n/N8nUnitTesterAgent.js +522 -0
  117. package/dist/agents/n8n/N8nUnitTesterAgent.js.map +1 -0
  118. package/dist/agents/n8n/N8nVersionComparatorAgent.d.ts +201 -0
  119. package/dist/agents/n8n/N8nVersionComparatorAgent.d.ts.map +1 -0
  120. package/dist/agents/n8n/N8nVersionComparatorAgent.js +645 -0
  121. package/dist/agents/n8n/N8nVersionComparatorAgent.js.map +1 -0
  122. package/dist/agents/n8n/N8nWorkflowExecutorAgent.d.ts +120 -0
  123. package/dist/agents/n8n/N8nWorkflowExecutorAgent.d.ts.map +1 -0
  124. package/dist/agents/n8n/N8nWorkflowExecutorAgent.js +347 -0
  125. package/dist/agents/n8n/N8nWorkflowExecutorAgent.js.map +1 -0
  126. package/dist/agents/n8n/index.d.ts +119 -0
  127. package/dist/agents/n8n/index.d.ts.map +1 -0
  128. package/dist/agents/n8n/index.js +298 -0
  129. package/dist/agents/n8n/index.js.map +1 -0
  130. package/dist/agents/n8n/types.d.ts +486 -0
  131. package/dist/agents/n8n/types.d.ts.map +1 -0
  132. package/dist/agents/n8n/types.js +8 -0
  133. package/dist/agents/n8n/types.js.map +1 -0
  134. package/dist/cli/init/agents.d.ts.map +1 -1
  135. package/dist/cli/init/agents.js +29 -0
  136. package/dist/cli/init/agents.js.map +1 -1
  137. package/dist/cli/init/skills.d.ts.map +1 -1
  138. package/dist/cli/init/skills.js +7 -1
  139. package/dist/cli/init/skills.js.map +1 -1
  140. package/dist/core/memory/HNSWVectorMemory.js +1 -1
  141. package/dist/core/memory/RuVectorPatternStore.d.ts +90 -0
  142. package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -1
  143. package/dist/core/memory/RuVectorPatternStore.js +209 -0
  144. package/dist/core/memory/RuVectorPatternStore.js.map +1 -1
  145. package/dist/learning/FederatedManager.d.ts +232 -0
  146. package/dist/learning/FederatedManager.d.ts.map +1 -0
  147. package/dist/learning/FederatedManager.js +489 -0
  148. package/dist/learning/FederatedManager.js.map +1 -0
  149. package/dist/learning/HNSWPatternAdapter.d.ts +117 -0
  150. package/dist/learning/HNSWPatternAdapter.d.ts.map +1 -0
  151. package/dist/learning/HNSWPatternAdapter.js +262 -0
  152. package/dist/learning/HNSWPatternAdapter.js.map +1 -0
  153. package/dist/learning/LearningEngine.d.ts +27 -0
  154. package/dist/learning/LearningEngine.d.ts.map +1 -1
  155. package/dist/learning/LearningEngine.js +75 -1
  156. package/dist/learning/LearningEngine.js.map +1 -1
  157. package/dist/learning/PatternCurator.d.ts +217 -0
  158. package/dist/learning/PatternCurator.d.ts.map +1 -0
  159. package/dist/learning/PatternCurator.js +393 -0
  160. package/dist/learning/PatternCurator.js.map +1 -0
  161. package/dist/learning/index.d.ts +6 -0
  162. package/dist/learning/index.d.ts.map +1 -1
  163. package/dist/learning/index.js +16 -1
  164. package/dist/learning/index.js.map +1 -1
  165. package/dist/learning/types.d.ts +4 -0
  166. package/dist/learning/types.d.ts.map +1 -1
  167. package/dist/mcp/server-instructions.d.ts +1 -1
  168. package/dist/mcp/server-instructions.js +1 -1
  169. package/dist/memory/HNSWPatternStore.d.ts +176 -0
  170. package/dist/memory/HNSWPatternStore.d.ts.map +1 -0
  171. package/dist/memory/HNSWPatternStore.js +392 -0
  172. package/dist/memory/HNSWPatternStore.js.map +1 -0
  173. package/dist/memory/index.d.ts +8 -0
  174. package/dist/memory/index.d.ts.map +1 -0
  175. package/dist/memory/index.js +13 -0
  176. package/dist/memory/index.js.map +1 -0
  177. package/dist/providers/HybridRouter.d.ts +85 -4
  178. package/dist/providers/HybridRouter.d.ts.map +1 -1
  179. package/dist/providers/HybridRouter.js +332 -10
  180. package/dist/providers/HybridRouter.js.map +1 -1
  181. package/dist/providers/LLMBaselineTracker.d.ts +120 -0
  182. package/dist/providers/LLMBaselineTracker.d.ts.map +1 -0
  183. package/dist/providers/LLMBaselineTracker.js +305 -0
  184. package/dist/providers/LLMBaselineTracker.js.map +1 -0
  185. package/dist/providers/OpenRouterProvider.d.ts +26 -0
  186. package/dist/providers/OpenRouterProvider.d.ts.map +1 -1
  187. package/dist/providers/OpenRouterProvider.js +75 -6
  188. package/dist/providers/OpenRouterProvider.js.map +1 -1
  189. package/dist/providers/RuVectorClient.d.ts +259 -0
  190. package/dist/providers/RuVectorClient.d.ts.map +1 -0
  191. package/dist/providers/RuVectorClient.js +416 -0
  192. package/dist/providers/RuVectorClient.js.map +1 -0
  193. package/dist/providers/RuvllmPatternCurator.d.ts +116 -0
  194. package/dist/providers/RuvllmPatternCurator.d.ts.map +1 -0
  195. package/dist/providers/RuvllmPatternCurator.js +323 -0
  196. package/dist/providers/RuvllmPatternCurator.js.map +1 -0
  197. package/dist/providers/RuvllmProvider.d.ts +233 -1
  198. package/dist/providers/RuvllmProvider.d.ts.map +1 -1
  199. package/dist/providers/RuvllmProvider.js +781 -11
  200. package/dist/providers/RuvllmProvider.js.map +1 -1
  201. package/dist/providers/index.d.ts +5 -1
  202. package/dist/providers/index.d.ts.map +1 -1
  203. package/dist/providers/index.js +12 -2
  204. package/dist/providers/index.js.map +1 -1
  205. package/dist/utils/ruvllm-loader.d.ts +98 -1
  206. package/dist/utils/ruvllm-loader.d.ts.map +1 -1
  207. package/dist/utils/ruvllm-loader.js.map +1 -1
  208. package/docs/reference/agents.md +91 -2
  209. package/docs/reference/skills.md +97 -2
  210. package/package.json +2 -2
@@ -0,0 +1,323 @@
1
+ "use strict";
2
+ /**
3
+ * RuvllmPatternCurator - Integration layer between PatternCurator and RuvllmProvider
4
+ *
5
+ * Phase 0 M0.6: Wires manual pattern curation to RuvLLM's learning system
6
+ *
7
+ * This adapter:
8
+ * - Implements IPatternSource using HNSWPatternAdapter
9
+ * - Implements ILearningTrigger using RuvllmProvider
10
+ * - Enables manual curation to improve RuvLLM routing decisions
11
+ * - Provides 20% better routing through curated patterns
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.RuvllmPatternCurator = void 0;
15
+ exports.createRuvllmPatternCurator = createRuvllmPatternCurator;
16
+ const events_1 = require("events");
17
+ const PatternCurator_1 = require("../learning/PatternCurator");
18
+ const HNSWPatternAdapter_1 = require("../learning/HNSWPatternAdapter");
19
+ const Logger_1 = require("../utils/Logger");
20
+ const crypto_1 = require("crypto");
21
+ /**
22
+ * Adapter that implements IPatternSource using HNSW or RuvLLM memory
23
+ */
24
+ class RuvllmPatternSource {
25
+ constructor(ruvllm, hnswAdapter, useEmbeddings = true) {
26
+ this.logger = Logger_1.Logger.getInstance();
27
+ this.ruvllm = ruvllm;
28
+ this.hnswAdapter = hnswAdapter;
29
+ this.useEmbeddings = useEmbeddings;
30
+ }
31
+ async findSimilar(query, k, options) {
32
+ const minConf = options?.minConfidence ?? 0;
33
+ // Try HNSW similarity search first
34
+ if (this.hnswAdapter && this.useEmbeddings) {
35
+ try {
36
+ const results = await this.hnswAdapter.searchSimilar(query, k);
37
+ return results
38
+ .filter(r => r.pattern.confidence >= minConf)
39
+ .map(r => this.convertToStoredPattern(r.pattern));
40
+ }
41
+ catch (error) {
42
+ this.logger.warn('HNSW search failed, falling back to memory search:', error);
43
+ }
44
+ }
45
+ // Fallback: Use RuvLLM memory search
46
+ try {
47
+ const memoryResults = this.ruvllm.searchMemory(query, k);
48
+ return memoryResults
49
+ .filter((m) => (m.confidence ?? 0.5) >= minConf)
50
+ .map((m) => this.convertMemoryToPattern(m));
51
+ }
52
+ catch (error) {
53
+ this.logger.warn('RuvLLM memory search failed:', error);
54
+ return [];
55
+ }
56
+ }
57
+ async findByConfidenceRange(minConfidence, maxConfidence, limit) {
58
+ // Use HNSW adapter if available
59
+ if (this.hnswAdapter && this.useEmbeddings) {
60
+ try {
61
+ // Get all patterns and filter by confidence
62
+ const allResults = await this.hnswAdapter.searchSimilar('', limit * 10);
63
+ return allResults
64
+ .filter(r => r.pattern.confidence >= minConfidence && r.pattern.confidence <= maxConfidence)
65
+ .slice(0, limit)
66
+ .map(r => this.convertToStoredPattern(r.pattern));
67
+ }
68
+ catch (error) {
69
+ this.logger.warn('HNSW confidence range search failed:', error);
70
+ }
71
+ }
72
+ // Return empty - RuvLLM doesn't have direct confidence range query
73
+ return [];
74
+ }
75
+ async remove(id) {
76
+ if (this.hnswAdapter) {
77
+ try {
78
+ await this.hnswAdapter.deletePattern(id);
79
+ }
80
+ catch (error) {
81
+ this.logger.warn('Failed to remove pattern from HNSW:', error);
82
+ }
83
+ }
84
+ // Note: RuvLLM memory doesn't support direct removal
85
+ }
86
+ async update(id, updates) {
87
+ // For HNSW, we need to re-store the pattern with updated values
88
+ if (this.hnswAdapter && updates.content) {
89
+ try {
90
+ await this.hnswAdapter.storePattern({
91
+ id,
92
+ pattern: updates.content,
93
+ confidence: updates.confidence ?? 0.5,
94
+ usageCount: updates.usageCount ?? 0,
95
+ successRate: 0.5,
96
+ contexts: [updates.category ?? 'test-generation'],
97
+ averageReward: 0,
98
+ createdAt: updates.createdAt ? new Date(updates.createdAt) : new Date(),
99
+ lastUsedAt: updates.lastUsedAt ? new Date(updates.lastUsedAt) : new Date(),
100
+ });
101
+ }
102
+ catch (error) {
103
+ this.logger.warn('Failed to update pattern in HNSW:', error);
104
+ }
105
+ }
106
+ }
107
+ async getStats() {
108
+ if (this.hnswAdapter) {
109
+ try {
110
+ const stats = await this.hnswAdapter.getStats();
111
+ return {
112
+ total: stats.patternCount,
113
+ avgConfidence: 0.7, // Approximate
114
+ avgQuality: 0.7, // Approximate
115
+ };
116
+ }
117
+ catch (error) {
118
+ this.logger.warn('Failed to get HNSW stats:', error);
119
+ }
120
+ }
121
+ return { total: 0, avgConfidence: 0, avgQuality: 0 };
122
+ }
123
+ convertToStoredPattern(pattern) {
124
+ return {
125
+ id: pattern.id,
126
+ embedding: pattern.embedding || [],
127
+ content: pattern.pattern,
128
+ category: pattern.contexts?.[0] || 'test-generation',
129
+ confidence: pattern.confidence ?? 0.5,
130
+ quality: pattern.successRate ?? 0.5,
131
+ usageCount: pattern.usageCount ?? 0,
132
+ createdAt: pattern.createdAt?.getTime() ?? Date.now(),
133
+ lastUsedAt: pattern.lastUsedAt?.getTime() ?? Date.now(),
134
+ metadata: {},
135
+ };
136
+ }
137
+ convertMemoryToPattern(memory) {
138
+ return {
139
+ id: memory.id || (0, crypto_1.randomUUID)(),
140
+ embedding: memory.embedding || [],
141
+ content: memory.text || memory.content || '',
142
+ category: memory.category || 'test-generation',
143
+ confidence: memory.confidence ?? 0.5,
144
+ quality: memory.quality ?? 0.5,
145
+ usageCount: memory.usageCount ?? 0,
146
+ createdAt: memory.createdAt ?? Date.now(),
147
+ lastUsedAt: memory.lastUsedAt ?? Date.now(),
148
+ metadata: memory.metadata || {},
149
+ };
150
+ }
151
+ }
152
+ /**
153
+ * Adapter that implements ILearningTrigger using RuvllmProvider
154
+ */
155
+ class RuvllmLearningTrigger {
156
+ constructor(ruvllm) {
157
+ this.feedbackCount = 0;
158
+ this.logger = Logger_1.Logger.getInstance();
159
+ this.ruvllm = ruvllm;
160
+ }
161
+ async feedback(data) {
162
+ try {
163
+ // Send feedback to RuvLLM for learning
164
+ await this.ruvllm.provideFeedback({
165
+ requestId: data.requestId,
166
+ correction: data.correction,
167
+ rating: data.rating,
168
+ reasoning: data.reasoning,
169
+ });
170
+ this.feedbackCount++;
171
+ this.logger.debug('Sent feedback to RuvLLM', { requestId: data.requestId });
172
+ }
173
+ catch (error) {
174
+ this.logger.warn('Failed to send feedback to RuvLLM:', error);
175
+ }
176
+ }
177
+ async forceLearn() {
178
+ try {
179
+ // Trigger RuvLLM learning consolidation
180
+ const result = await this.ruvllm.forceLearn();
181
+ this.logger.info('Forced RuvLLM learning consolidation', result);
182
+ const consolidated = this.feedbackCount;
183
+ this.feedbackCount = 0;
184
+ return {
185
+ patternsConsolidated: result.patternsConsolidated ?? consolidated,
186
+ newWeightVersion: result.newWeightVersion ?? 1,
187
+ };
188
+ }
189
+ catch (error) {
190
+ this.logger.warn('Failed to force RuvLLM learning:', error);
191
+ return { patternsConsolidated: 0, newWeightVersion: 0 };
192
+ }
193
+ }
194
+ async getRoutingStats() {
195
+ try {
196
+ const metrics = await this.ruvllm.getMetrics();
197
+ return {
198
+ totalDecisions: metrics.requestCount ?? 0,
199
+ avgConfidence: metrics.averageConfidence ?? 0.7,
200
+ };
201
+ }
202
+ catch (error) {
203
+ this.logger.warn('Failed to get routing stats:', error);
204
+ return { totalDecisions: 0, avgConfidence: 0 };
205
+ }
206
+ }
207
+ }
208
+ /**
209
+ * RuvllmPatternCurator - Unified pattern curation with RuvLLM integration
210
+ */
211
+ class RuvllmPatternCurator extends events_1.EventEmitter {
212
+ constructor(config) {
213
+ super();
214
+ this.logger = Logger_1.Logger.getInstance();
215
+ this.ruvllm = config.ruvllmProvider;
216
+ // Create adapters
217
+ this.patternSource = new RuvllmPatternSource(config.ruvllmProvider, config.hnswAdapter, config.useEmbeddings ?? true);
218
+ this.learningTrigger = new RuvllmLearningTrigger(config.ruvllmProvider);
219
+ // Create curator with real implementations
220
+ this.curator = (0, PatternCurator_1.createPatternCurator)(config.curatorConfig, this.patternSource, this.learningTrigger);
221
+ // Forward curator events
222
+ this.curator.on('sessionStarted', (data) => this.emit('sessionStarted', data));
223
+ this.curator.on('sessionEnded', (data) => this.emit('sessionEnded', data));
224
+ this.curator.on('patternReviewed', (data) => this.emit('patternReviewed', data));
225
+ this.curator.on('autoCurateComplete', (data) => this.emit('autoCurateComplete', data));
226
+ this.curator.on('learningForced', (data) => this.emit('learningForced', data));
227
+ this.curator.on('patternsFound', (data) => this.emit('patternsFound', data));
228
+ this.logger.info('RuvllmPatternCurator initialized', {
229
+ useEmbeddings: config.useEmbeddings ?? true,
230
+ hasHNSW: !!config.hnswAdapter,
231
+ });
232
+ }
233
+ /**
234
+ * Start a curation session
235
+ */
236
+ startSession(reviewerId) {
237
+ return this.curator.startSession(reviewerId);
238
+ }
239
+ /**
240
+ * End current curation session
241
+ */
242
+ endSession() {
243
+ return this.curator.endSession();
244
+ }
245
+ /**
246
+ * Find low-confidence patterns for review
247
+ */
248
+ async findLowConfidencePatterns(limit) {
249
+ return this.curator.findLowConfidencePatterns(limit);
250
+ }
251
+ /**
252
+ * Review a pattern manually
253
+ */
254
+ async reviewPattern(pattern, curation) {
255
+ return this.curator.reviewPattern(pattern, curation);
256
+ }
257
+ /**
258
+ * Auto-curate patterns based on confidence thresholds
259
+ */
260
+ async autoCurate() {
261
+ return this.curator.autoCurate();
262
+ }
263
+ /**
264
+ * Force learning consolidation
265
+ */
266
+ async forceLearning() {
267
+ return this.curator.forceLearning();
268
+ }
269
+ /**
270
+ * Get pattern analytics
271
+ */
272
+ async getAnalytics() {
273
+ return this.curator.getAnalytics();
274
+ }
275
+ /**
276
+ * Get routing improvement stats
277
+ */
278
+ async getRoutingImprovement() {
279
+ return this.curator.getRoutingImprovement();
280
+ }
281
+ /**
282
+ * Get curation history
283
+ */
284
+ getCurationHistory() {
285
+ return this.curator.getCurationHistory();
286
+ }
287
+ /**
288
+ * Get current session
289
+ */
290
+ getCurrentSession() {
291
+ return this.curator.getCurrentSession();
292
+ }
293
+ /**
294
+ * Get pending feedback count
295
+ */
296
+ getPendingFeedbackCount() {
297
+ return this.curator.getPendingFeedbackCount();
298
+ }
299
+ /**
300
+ * Interactive curation generator
301
+ */
302
+ async *interactiveCuration(limit) {
303
+ yield* this.curator.interactiveCuration(limit);
304
+ }
305
+ }
306
+ exports.RuvllmPatternCurator = RuvllmPatternCurator;
307
+ /**
308
+ * Create a RuvllmPatternCurator with default configuration
309
+ */
310
+ function createRuvllmPatternCurator(ruvllmProvider, options) {
311
+ // Create HNSW adapter if embeddings enabled
312
+ let hnswAdapter;
313
+ if (options?.useEmbeddings !== false) {
314
+ hnswAdapter = (0, HNSWPatternAdapter_1.createHNSWPatternAdapter)(options?.hnswConfig);
315
+ }
316
+ return new RuvllmPatternCurator({
317
+ ruvllmProvider,
318
+ curatorConfig: options?.curatorConfig,
319
+ hnswAdapter,
320
+ useEmbeddings: options?.useEmbeddings ?? true,
321
+ });
322
+ }
323
+ //# sourceMappingURL=RuvllmPatternCurator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuvllmPatternCurator.js","sourceRoot":"","sources":["../../src/providers/RuvllmPatternCurator.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,26 @@
14
14
  * @version 2.0.0
15
15
  */
16
16
  import { ILLMProvider, LLMProviderConfig, LLMCompletionOptions, LLMCompletionResponse, LLMStreamEvent, LLMEmbeddingOptions, LLMEmbeddingResponse, LLMTokenCountOptions, LLMHealthStatus, LLMProviderMetadata } from './ILLMProvider';
17
+ /**
18
+ * Session information for multi-turn conversations
19
+ */
20
+ export interface SessionInfo {
21
+ id: string;
22
+ createdAt: number;
23
+ lastUsedAt: number;
24
+ messageCount: number;
25
+ context: string[];
26
+ }
27
+ /**
28
+ * Session metrics for monitoring
29
+ */
30
+ export interface SessionMetrics {
31
+ totalSessions: number;
32
+ activeSessions: number;
33
+ avgMessagesPerSession: number;
34
+ avgLatencyReduction: number;
35
+ cacheHitRate: number;
36
+ }
17
37
  /**
18
38
  * TRM (Test-time Reasoning & Metacognition) configuration
19
39
  */
@@ -66,6 +86,12 @@ export interface RuvllmProviderConfig extends LLMProviderConfig {
66
86
  convergenceThreshold?: number;
67
87
  /** SONA configuration */
68
88
  sonaConfig?: SONAConfig;
89
+ /** Enable SessionManager for multi-turn conversations (default: true) */
90
+ enableSessions?: boolean;
91
+ /** Session timeout in milliseconds (default: 30 minutes) */
92
+ sessionTimeout?: number;
93
+ /** Maximum concurrent sessions (default: 100) */
94
+ maxSessions?: number;
69
95
  }
70
96
  /**
71
97
  * TRM iteration tracking
@@ -91,6 +117,73 @@ export interface RuvllmCompletionOptions extends LLMCompletionOptions {
91
117
  /** TRM configuration for this request */
92
118
  trmConfig?: TRMConfig;
93
119
  }
120
+ /**
121
+ * Routing decision for model selection with observability
122
+ */
123
+ export interface RoutingDecision {
124
+ model: string;
125
+ confidence: number;
126
+ reasoning: string[];
127
+ alternatives: Array<{
128
+ model: string;
129
+ score: number;
130
+ }>;
131
+ memoryHits: number;
132
+ estimatedLatency: number;
133
+ timestamp: number;
134
+ }
135
+ /**
136
+ * Aggregated routing metrics
137
+ */
138
+ export interface RoutingMetrics {
139
+ totalDecisions: number;
140
+ modelDistribution: Record<string, number>;
141
+ averageConfidence: number;
142
+ averageLatency: number;
143
+ memoryHitRate: number;
144
+ }
145
+ /**
146
+ * Batch query request
147
+ */
148
+ export interface BatchQueryRequest {
149
+ /** Array of prompts to process in batch */
150
+ prompts: string[];
151
+ /** Batch processing configuration */
152
+ config?: {
153
+ /** Maximum tokens per request */
154
+ maxTokens?: number;
155
+ /** Temperature for generation */
156
+ temperature?: number;
157
+ /** Number of parallel requests (default: 4) */
158
+ parallelism?: number;
159
+ };
160
+ }
161
+ /**
162
+ * Batch query response
163
+ */
164
+ export interface BatchQueryResponse {
165
+ /** Individual results for each prompt */
166
+ results: Array<{
167
+ /** Generated text */
168
+ text: string;
169
+ /** Input tokens consumed */
170
+ tokens: number;
171
+ /** Output tokens generated */
172
+ outputTokens: number;
173
+ /** Request latency in ms */
174
+ latency: number;
175
+ /** Error if request failed */
176
+ error?: string;
177
+ }>;
178
+ /** Total time for entire batch (ms) */
179
+ totalLatency: number;
180
+ /** Average latency per request (ms) */
181
+ averageLatency: number;
182
+ /** Number of successful requests */
183
+ successCount: number;
184
+ /** Number of failed requests */
185
+ failureCount: number;
186
+ }
94
187
  /**
95
188
  * RuvllmProvider - Local LLM inference implementation with TRM and SONA
96
189
  *
@@ -116,19 +209,45 @@ export declare class RuvllmProvider implements ILLMProvider {
116
209
  private sonaCoordinator?;
117
210
  private reasoningBank?;
118
211
  private loraManager?;
212
+ private sessionManager?;
213
+ private sessions;
214
+ private sessionMetrics;
215
+ private routingHistory;
216
+ private readonly MAX_ROUTING_HISTORY;
119
217
  constructor(config?: RuvllmProviderConfig);
120
218
  /**
121
219
  * Initialize the ruvllm provider with TRM and SONA support
122
220
  */
123
221
  initialize(): Promise<void>;
124
222
  /**
125
- * Complete a prompt using ruvLLM with optional TRM refinement
223
+ * Complete a prompt using ruvLLM with optional TRM refinement and session support
126
224
  */
127
225
  complete(options: RuvllmCompletionOptions): Promise<LLMCompletionResponse>;
128
226
  /**
129
227
  * Complete with TRM (Test-time Reasoning & Metacognition)
130
228
  */
131
229
  completeTRM(options: RuvllmCompletionOptions): Promise<TRMCompletionResponse>;
230
+ /**
231
+ * Batch complete multiple requests in parallel using REAL ruvllm.batchQuery()
232
+ *
233
+ * M0.2: Uses RuvLLM's native batch API for 4x throughput improvement.
234
+ * Processes multiple prompts in a single optimized batch call.
235
+ * Falls back to chunked Promise.all when ruvllm not available.
236
+ *
237
+ * @param requests - Array of completion options to process
238
+ * @returns Array of completion responses in same order as requests
239
+ *
240
+ * @example
241
+ * ```typescript
242
+ * const requests = [
243
+ * { messages: [{ role: 'user', content: 'Generate test 1' }] },
244
+ * { messages: [{ role: 'user', content: 'Generate test 2' }] },
245
+ * { messages: [{ role: 'user', content: 'Generate test 3' }] }
246
+ * ];
247
+ * const responses = await provider.batchComplete(requests);
248
+ * ```
249
+ */
250
+ batchComplete(requests: LLMCompletionOptions[]): Promise<LLMCompletionResponse[]>;
132
251
  /**
133
252
  * Basic completion without TRM
134
253
  */
@@ -217,5 +336,118 @@ export declare class RuvllmProvider implements ILLMProvider {
217
336
  * Map finish reason to standard stop reason
218
337
  */
219
338
  private mapStopReason;
339
+ /**
340
+ * Get routing decision for observability (M0.4)
341
+ * Uses REAL ruvllm.route() for intelligent model selection
342
+ * Returns detailed routing decision with reasoning path and alternatives
343
+ *
344
+ * Note: The native ruvllm.route() returns {model, contextSize, temperature, topP, confidence}
345
+ * We adapt this to our extended RoutingDecision interface.
346
+ */
347
+ getRoutingDecision(input: string, memoryHits?: number): RoutingDecision;
348
+ /**
349
+ * Record routing decision for analysis (M0.4)
350
+ * Stores decision in history for metrics and observability
351
+ */
352
+ recordRoutingDecision(decision: RoutingDecision): void;
353
+ /**
354
+ * Get aggregated routing metrics
355
+ */
356
+ getRoutingMetrics(): RoutingMetrics;
357
+ /**
358
+ * Get recent routing decisions
359
+ */
360
+ getRoutingHistory(limit?: number): RoutingDecision[];
361
+ /**
362
+ * Create a new session
363
+ * Uses REAL SessionManager from @ruvector/ruvllm when available (M0.1)
364
+ */
365
+ createSession(): SessionInfo;
366
+ /**
367
+ * Get existing session or create new one
368
+ * Uses REAL SessionManager from @ruvector/ruvllm when available (M0.1)
369
+ */
370
+ private getOrCreateSession;
371
+ /**
372
+ * Get an existing session
373
+ * Uses REAL SessionManager from @ruvector/ruvllm when available (M0.1)
374
+ */
375
+ getSession(sessionId: string): SessionInfo | undefined;
376
+ /**
377
+ * End a session and clean up resources
378
+ * Uses REAL SessionManager from @ruvector/ruvllm when available (M0.1)
379
+ */
380
+ endSession(sessionId: string): boolean;
381
+ /**
382
+ * Chat within a session using REAL SessionManager (M0.1 - 50% faster)
383
+ * This method provides direct access to the optimized session chat
384
+ */
385
+ sessionChat(sessionId: string, input: string): Promise<string>;
386
+ /**
387
+ * Get session metrics for monitoring
388
+ */
389
+ getSessionMetrics(): SessionMetrics;
390
+ /**
391
+ * Enhance completion options with session context
392
+ */
393
+ private enhanceWithSessionContext;
394
+ /**
395
+ * Update session with new message exchange
396
+ */
397
+ private updateSession;
398
+ /**
399
+ * Evict oldest session to maintain max sessions limit
400
+ */
401
+ private evictOldestSession;
402
+ /**
403
+ * Start periodic session cleanup
404
+ */
405
+ private startSessionCleanup;
406
+ /**
407
+ * Search RuvLLM memory for similar patterns
408
+ * Phase 0 M0.6: Enables PatternCurator to find patterns for curation
409
+ *
410
+ * @param query Search query
411
+ * @param limit Maximum results to return
412
+ * @returns Array of memory results with text, confidence, and metadata
413
+ */
414
+ searchMemory(query: string, limit?: number): Array<{
415
+ id: string;
416
+ text: string;
417
+ confidence: number;
418
+ metadata?: Record<string, unknown>;
419
+ }>;
420
+ /**
421
+ * Provide feedback to RuvLLM for learning
422
+ * Phase 0 M0.6: Enables PatternCurator to send curation results to RuvLLM
423
+ *
424
+ * @param feedback Learning feedback data
425
+ */
426
+ provideFeedback(feedback: {
427
+ requestId: string;
428
+ correction: string;
429
+ rating: number;
430
+ reasoning: string;
431
+ }): Promise<void>;
432
+ /**
433
+ * Force RuvLLM learning consolidation
434
+ * Phase 0 M0.6: Triggers pattern consolidation after curation session
435
+ *
436
+ * @returns Consolidation results with patterns consolidated and new weight version
437
+ */
438
+ forceLearn(): Promise<{
439
+ patternsConsolidated: number;
440
+ newWeightVersion: number;
441
+ }>;
442
+ /**
443
+ * Get RuvLLM provider metrics
444
+ * Phase 0 M0.6: Provides metrics for routing improvement tracking
445
+ */
446
+ getMetrics(): Promise<{
447
+ requestCount: number;
448
+ averageLatency: number;
449
+ averageConfidence: number;
450
+ errorCount: number;
451
+ }>;
220
452
  }
221
453
  //# sourceMappingURL=RuvllmProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RuvllmProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RuvllmProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RuvllmProvider.d.ts","sourceRoot":"","sources":["../../src/providers/RuvllmProvider.ts"],"names":[],"mappings":"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"}