agentic-qe 2.1.2 → 2.2.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 (190) hide show
  1. package/.claude/skills/agentic-quality-engineering/SKILL.md +4 -4
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +14 -11
  3. package/.claude/skills/skills-manifest.json +2 -2
  4. package/CHANGELOG.md +138 -0
  5. package/README.md +92 -214
  6. package/dist/agents/BaseAgent.d.ts +5 -1
  7. package/dist/agents/BaseAgent.d.ts.map +1 -1
  8. package/dist/agents/BaseAgent.js +32 -17
  9. package/dist/agents/BaseAgent.js.map +1 -1
  10. package/dist/agents/index.d.ts.map +1 -1
  11. package/dist/agents/index.js +5 -1
  12. package/dist/agents/index.js.map +1 -1
  13. package/dist/cli/commands/improve/index.d.ts +8 -1
  14. package/dist/cli/commands/improve/index.d.ts.map +1 -1
  15. package/dist/cli/commands/improve/index.js +18 -16
  16. package/dist/cli/commands/improve/index.js.map +1 -1
  17. package/dist/cli/commands/learn/index.d.ts +10 -2
  18. package/dist/cli/commands/learn/index.d.ts.map +1 -1
  19. package/dist/cli/commands/learn/index.js +99 -63
  20. package/dist/cli/commands/learn/index.js.map +1 -1
  21. package/dist/cli/commands/patterns/index.d.ts +8 -1
  22. package/dist/cli/commands/patterns/index.d.ts.map +1 -1
  23. package/dist/cli/commands/patterns/index.js +79 -45
  24. package/dist/cli/commands/patterns/index.js.map +1 -1
  25. package/dist/cli/commands/routing/index.d.ts +5 -0
  26. package/dist/cli/commands/routing/index.d.ts.map +1 -1
  27. package/dist/cli/commands/routing/index.js +11 -10
  28. package/dist/cli/commands/routing/index.js.map +1 -1
  29. package/dist/cli/init/agents.d.ts +1 -1
  30. package/dist/cli/init/agents.js +2 -2
  31. package/dist/cli/init/database-init.d.ts +7 -0
  32. package/dist/cli/init/database-init.d.ts.map +1 -1
  33. package/dist/cli/init/database-init.js +29 -48
  34. package/dist/cli/init/database-init.js.map +1 -1
  35. package/dist/core/di/AgentDependencies.d.ts +127 -0
  36. package/dist/core/di/AgentDependencies.d.ts.map +1 -0
  37. package/dist/core/di/AgentDependencies.js +251 -0
  38. package/dist/core/di/AgentDependencies.js.map +1 -0
  39. package/dist/core/di/DIContainer.d.ts +149 -0
  40. package/dist/core/di/DIContainer.d.ts.map +1 -0
  41. package/dist/core/di/DIContainer.js +333 -0
  42. package/dist/core/di/DIContainer.js.map +1 -0
  43. package/dist/core/di/index.d.ts +11 -0
  44. package/dist/core/di/index.d.ts.map +1 -0
  45. package/dist/core/di/index.js +22 -0
  46. package/dist/core/di/index.js.map +1 -0
  47. package/dist/core/index.d.ts +1 -0
  48. package/dist/core/index.d.ts.map +1 -1
  49. package/dist/core/index.js +11 -1
  50. package/dist/core/index.js.map +1 -1
  51. package/dist/core/memory/HNSWVectorMemory.d.ts +261 -0
  52. package/dist/core/memory/HNSWVectorMemory.d.ts.map +1 -0
  53. package/dist/core/memory/HNSWVectorMemory.js +647 -0
  54. package/dist/core/memory/HNSWVectorMemory.js.map +1 -0
  55. package/dist/core/memory/SwarmMemoryManager.d.ts +7 -0
  56. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  57. package/dist/core/memory/SwarmMemoryManager.js +9 -0
  58. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  59. package/dist/core/memory/index.d.ts +2 -0
  60. package/dist/core/memory/index.d.ts.map +1 -1
  61. package/dist/core/memory/index.js +11 -1
  62. package/dist/core/memory/index.js.map +1 -1
  63. package/dist/learning/ExperienceSharingProtocol.d.ts +243 -0
  64. package/dist/learning/ExperienceSharingProtocol.d.ts.map +1 -0
  65. package/dist/learning/ExperienceSharingProtocol.js +538 -0
  66. package/dist/learning/ExperienceSharingProtocol.js.map +1 -0
  67. package/dist/learning/ExplainableLearning.d.ts +191 -0
  68. package/dist/learning/ExplainableLearning.d.ts.map +1 -0
  69. package/dist/learning/ExplainableLearning.js +441 -0
  70. package/dist/learning/ExplainableLearning.js.map +1 -0
  71. package/dist/learning/GossipPatternSharingProtocol.d.ts +228 -0
  72. package/dist/learning/GossipPatternSharingProtocol.d.ts.map +1 -0
  73. package/dist/learning/GossipPatternSharingProtocol.js +590 -0
  74. package/dist/learning/GossipPatternSharingProtocol.js.map +1 -0
  75. package/dist/learning/LearningEngine.d.ts +104 -4
  76. package/dist/learning/LearningEngine.d.ts.map +1 -1
  77. package/dist/learning/LearningEngine.js +350 -16
  78. package/dist/learning/LearningEngine.js.map +1 -1
  79. package/dist/learning/PerformanceOptimizer.d.ts +268 -0
  80. package/dist/learning/PerformanceOptimizer.d.ts.map +1 -0
  81. package/dist/learning/PerformanceOptimizer.js +552 -0
  82. package/dist/learning/PerformanceOptimizer.js.map +1 -0
  83. package/dist/learning/PrivacyManager.d.ts +197 -0
  84. package/dist/learning/PrivacyManager.d.ts.map +1 -0
  85. package/dist/learning/PrivacyManager.js +551 -0
  86. package/dist/learning/PrivacyManager.js.map +1 -0
  87. package/dist/learning/QLearning.d.ts +38 -125
  88. package/dist/learning/QLearning.d.ts.map +1 -1
  89. package/dist/learning/QLearning.js +46 -267
  90. package/dist/learning/QLearning.js.map +1 -1
  91. package/dist/learning/QLearningLegacy.d.ts +154 -0
  92. package/dist/learning/QLearningLegacy.d.ts.map +1 -0
  93. package/dist/learning/QLearningLegacy.js +337 -0
  94. package/dist/learning/QLearningLegacy.js.map +1 -0
  95. package/dist/learning/TransferLearningManager.d.ts +212 -0
  96. package/dist/learning/TransferLearningManager.d.ts.map +1 -0
  97. package/dist/learning/TransferLearningManager.js +497 -0
  98. package/dist/learning/TransferLearningManager.js.map +1 -0
  99. package/dist/learning/algorithms/AbstractRLLearner.d.ts +162 -0
  100. package/dist/learning/algorithms/AbstractRLLearner.d.ts.map +1 -0
  101. package/dist/learning/algorithms/AbstractRLLearner.js +300 -0
  102. package/dist/learning/algorithms/AbstractRLLearner.js.map +1 -0
  103. package/dist/learning/algorithms/ActorCriticLearner.d.ts +201 -0
  104. package/dist/learning/algorithms/ActorCriticLearner.d.ts.map +1 -0
  105. package/dist/learning/algorithms/ActorCriticLearner.js +447 -0
  106. package/dist/learning/algorithms/ActorCriticLearner.js.map +1 -0
  107. package/dist/learning/algorithms/MAMLMetaLearner.d.ts +218 -0
  108. package/dist/learning/algorithms/MAMLMetaLearner.d.ts.map +1 -0
  109. package/dist/learning/algorithms/MAMLMetaLearner.js +532 -0
  110. package/dist/learning/algorithms/MAMLMetaLearner.js.map +1 -0
  111. package/dist/learning/algorithms/PPOLearner.d.ts +207 -0
  112. package/dist/learning/algorithms/PPOLearner.d.ts.map +1 -0
  113. package/dist/learning/algorithms/PPOLearner.js +490 -0
  114. package/dist/learning/algorithms/PPOLearner.js.map +1 -0
  115. package/dist/learning/algorithms/QLearning.d.ts +68 -0
  116. package/dist/learning/algorithms/QLearning.d.ts.map +1 -0
  117. package/dist/learning/algorithms/QLearning.js +116 -0
  118. package/dist/learning/algorithms/QLearning.js.map +1 -0
  119. package/dist/learning/algorithms/SARSALearner.d.ts +107 -0
  120. package/dist/learning/algorithms/SARSALearner.d.ts.map +1 -0
  121. package/dist/learning/algorithms/SARSALearner.js +252 -0
  122. package/dist/learning/algorithms/SARSALearner.js.map +1 -0
  123. package/dist/learning/algorithms/index.d.ts +32 -0
  124. package/dist/learning/algorithms/index.d.ts.map +1 -0
  125. package/dist/learning/algorithms/index.js +50 -0
  126. package/dist/learning/algorithms/index.js.map +1 -0
  127. package/dist/learning/index.d.ts +11 -0
  128. package/dist/learning/index.d.ts.map +1 -1
  129. package/dist/learning/index.js +31 -1
  130. package/dist/learning/index.js.map +1 -1
  131. package/dist/learning/types.d.ts +2 -0
  132. package/dist/learning/types.d.ts.map +1 -1
  133. package/dist/mcp/server-instructions.d.ts +1 -1
  134. package/dist/mcp/server-instructions.js +1 -1
  135. package/dist/memory/DistributedPatternLibrary.d.ts +159 -0
  136. package/dist/memory/DistributedPatternLibrary.d.ts.map +1 -0
  137. package/dist/memory/DistributedPatternLibrary.js +370 -0
  138. package/dist/memory/DistributedPatternLibrary.js.map +1 -0
  139. package/dist/memory/PatternQualityScorer.d.ts +169 -0
  140. package/dist/memory/PatternQualityScorer.d.ts.map +1 -0
  141. package/dist/memory/PatternQualityScorer.js +327 -0
  142. package/dist/memory/PatternQualityScorer.js.map +1 -0
  143. package/dist/memory/PatternReplicationService.d.ts +187 -0
  144. package/dist/memory/PatternReplicationService.d.ts.map +1 -0
  145. package/dist/memory/PatternReplicationService.js +392 -0
  146. package/dist/memory/PatternReplicationService.js.map +1 -0
  147. package/dist/providers/ClaudeProvider.d.ts +98 -0
  148. package/dist/providers/ClaudeProvider.d.ts.map +1 -0
  149. package/dist/providers/ClaudeProvider.js +418 -0
  150. package/dist/providers/ClaudeProvider.js.map +1 -0
  151. package/dist/providers/HybridRouter.d.ts +217 -0
  152. package/dist/providers/HybridRouter.d.ts.map +1 -0
  153. package/dist/providers/HybridRouter.js +679 -0
  154. package/dist/providers/HybridRouter.js.map +1 -0
  155. package/dist/providers/ILLMProvider.d.ts +287 -0
  156. package/dist/providers/ILLMProvider.d.ts.map +1 -0
  157. package/dist/providers/ILLMProvider.js +33 -0
  158. package/dist/providers/ILLMProvider.js.map +1 -0
  159. package/dist/providers/LLMProviderFactory.d.ts +154 -0
  160. package/dist/providers/LLMProviderFactory.d.ts.map +1 -0
  161. package/dist/providers/LLMProviderFactory.js +426 -0
  162. package/dist/providers/LLMProviderFactory.js.map +1 -0
  163. package/dist/providers/RuvllmProvider.d.ts +107 -0
  164. package/dist/providers/RuvllmProvider.d.ts.map +1 -0
  165. package/dist/providers/RuvllmProvider.js +417 -0
  166. package/dist/providers/RuvllmProvider.js.map +1 -0
  167. package/dist/providers/index.d.ts +32 -0
  168. package/dist/providers/index.d.ts.map +1 -0
  169. package/dist/providers/index.js +75 -0
  170. package/dist/providers/index.js.map +1 -0
  171. package/dist/telemetry/LearningTelemetry.d.ts +190 -0
  172. package/dist/telemetry/LearningTelemetry.d.ts.map +1 -0
  173. package/dist/telemetry/LearningTelemetry.js +403 -0
  174. package/dist/telemetry/LearningTelemetry.js.map +1 -0
  175. package/dist/telemetry/index.d.ts +1 -0
  176. package/dist/telemetry/index.d.ts.map +1 -1
  177. package/dist/telemetry/index.js +20 -2
  178. package/dist/telemetry/index.js.map +1 -1
  179. package/dist/telemetry/instrumentation/agent.d.ts +1 -1
  180. package/dist/telemetry/instrumentation/agent.js +1 -1
  181. package/dist/telemetry/instrumentation/index.d.ts +1 -1
  182. package/dist/telemetry/instrumentation/index.js +1 -1
  183. package/dist/utils/math.d.ts +11 -0
  184. package/dist/utils/math.d.ts.map +1 -0
  185. package/dist/utils/math.js +16 -0
  186. package/dist/utils/math.js.map +1 -0
  187. package/docs/reference/agents.md +1 -1
  188. package/docs/reference/skills.md +3 -3
  189. package/docs/reference/usage.md +4 -4
  190. package/package.json +1 -1
@@ -0,0 +1,190 @@
1
+ /**
2
+ * Learning Telemetry for Agentic QE Fleet
3
+ *
4
+ * OpenTelemetry integration for tracking learning metrics, algorithm performance,
5
+ * and agent improvement over time using reinforcement learning.
6
+ *
7
+ * Tracks:
8
+ * - Learning episodes and Q-value updates
9
+ * - Reward distribution and convergence
10
+ * - Pattern discovery and matching
11
+ * - Algorithm performance and switches
12
+ * - Experience sharing metrics
13
+ */
14
+ import { Meter, Counter, Histogram, UpDownCounter, ObservableGauge } from '@opentelemetry/api';
15
+ import { MetricRecordOptions } from './types';
16
+ import { RLAlgorithmType } from '../learning/LearningEngine';
17
+ /**
18
+ * Learning metrics registry
19
+ */
20
+ export interface LearningMetrics {
21
+ /** Total number of learning episodes recorded */
22
+ episodesTotal: Counter;
23
+ /** Total number of Q-value updates performed */
24
+ qValueUpdates: Counter;
25
+ /** Total sum of rewards received across all episodes */
26
+ rewardSum: Counter;
27
+ /** Number of algorithm switches performed */
28
+ algorithmSwitches: Counter;
29
+ /** Number of pattern cache hits */
30
+ patternHits: Counter;
31
+ /** Number of pattern cache misses */
32
+ patternMisses: Counter;
33
+ /** Distribution of episode durations in milliseconds */
34
+ episodeDuration: Histogram;
35
+ /** Distribution of reward values */
36
+ rewardDistribution: Histogram;
37
+ /** Distribution of Q-values */
38
+ qValueDistribution: Histogram;
39
+ /** Distribution of pattern confidence scores */
40
+ patternConfidence: Histogram;
41
+ /** Current learning rate */
42
+ learningRate: ObservableGauge;
43
+ /** Current exploration rate */
44
+ explorationRate: ObservableGauge;
45
+ /** Current convergence rate */
46
+ convergenceRate: ObservableGauge;
47
+ /** Size of Q-table (state-action pairs) */
48
+ qTableSize: ObservableGauge;
49
+ /** Number of experiences in replay buffer */
50
+ experienceBufferSize: ObservableGauge;
51
+ /** Pattern hit rate (cache efficiency) */
52
+ patternHitRate: ObservableGauge;
53
+ /** Number of experiences shared with peers */
54
+ experiencesShared: Counter;
55
+ /** Number of experiences received from peers */
56
+ experiencesReceived: Counter;
57
+ /** Number of active experience sharing connections */
58
+ activeSharingConnections: UpDownCounter;
59
+ }
60
+ declare const gaugeValues: {
61
+ learningRate: number;
62
+ explorationRate: number;
63
+ convergenceRate: number;
64
+ qTableSize: number;
65
+ experienceBufferSize: number;
66
+ patternHitRate: number;
67
+ };
68
+ /**
69
+ * Initialize learning metrics
70
+ *
71
+ * @param meter - OpenTelemetry Meter instance
72
+ * @returns Learning metrics registry
73
+ */
74
+ export declare function createLearningMetrics(meter?: Meter): LearningMetrics;
75
+ /**
76
+ * Get initialized learning metrics
77
+ *
78
+ * @returns Learning metrics registry
79
+ */
80
+ export declare function getLearningMetrics(): LearningMetrics;
81
+ /**
82
+ * Record a learning episode
83
+ *
84
+ * @param agentId - Agent identifier
85
+ * @param taskType - Type of task being learned
86
+ * @param reward - Reward received for this episode
87
+ * @param durationMs - Episode duration in milliseconds
88
+ * @param algorithm - RL algorithm used
89
+ * @param options - Additional recording options
90
+ */
91
+ export declare function recordLearningEpisode(agentId: string, taskType: string, reward: number, durationMs: number, algorithm?: RLAlgorithmType, options?: {
92
+ qValueUpdate?: boolean;
93
+ patternDiscovered?: boolean;
94
+ explorationRate?: number;
95
+ learningRate?: number;
96
+ }): void;
97
+ /**
98
+ * Record Q-value updates
99
+ *
100
+ * @param agentId - Agent identifier
101
+ * @param count - Number of Q-value updates
102
+ * @param qValue - The Q-value (optional, for distribution tracking)
103
+ * @param algorithm - RL algorithm used
104
+ */
105
+ export declare function recordQValueUpdate(agentId: string, count?: number, qValue?: number, algorithm?: RLAlgorithmType): void;
106
+ /**
107
+ * Record pattern matching activity
108
+ *
109
+ * @param agentId - Agent identifier
110
+ * @param hit - Whether the pattern was found in cache
111
+ * @param confidence - Pattern confidence score (if hit)
112
+ * @param patternType - Type of pattern
113
+ */
114
+ export declare function recordPatternMatch(agentId: string, hit: boolean, confidence?: number, patternType?: string): void;
115
+ /**
116
+ * Record algorithm switch
117
+ *
118
+ * @param agentId - Agent identifier
119
+ * @param fromAlgorithm - Previous algorithm
120
+ * @param toAlgorithm - New algorithm
121
+ */
122
+ export declare function recordAlgorithmSwitch(agentId: string, fromAlgorithm: RLAlgorithmType, toAlgorithm: RLAlgorithmType): void;
123
+ /**
124
+ * Record experience sharing activity
125
+ *
126
+ * @param agentId - Agent identifier
127
+ * @param direction - 'shared' or 'received'
128
+ * @param count - Number of experiences
129
+ * @param priority - Experience priority (0-1)
130
+ */
131
+ export declare function recordExperienceSharing(agentId: string, direction: 'shared' | 'received', count?: number, priority?: number): void;
132
+ /**
133
+ * Update sharing connection count
134
+ *
135
+ * @param agentId - Agent identifier
136
+ * @param delta - Change in connection count (+1 for connect, -1 for disconnect)
137
+ */
138
+ export declare function updateSharingConnections(agentId: string, delta: number): void;
139
+ /**
140
+ * Update gauge values (for observable metrics)
141
+ *
142
+ * @param gauge - Gauge name
143
+ * @param value - New value
144
+ */
145
+ export declare function updateGaugeValue(gauge: keyof typeof gaugeValues, value: number): void;
146
+ /**
147
+ * Update multiple gauge values at once
148
+ *
149
+ * @param values - Object with gauge values to update
150
+ */
151
+ export declare function updateGaugeValues(values: Partial<typeof gaugeValues>): void;
152
+ /**
153
+ * Create a traced learning operation span
154
+ *
155
+ * @param operationName - Name of the learning operation
156
+ * @param agentId - Agent identifier
157
+ * @param fn - Function to execute within the span
158
+ * @returns Result of the function
159
+ */
160
+ export declare function withLearningSpan<T>(operationName: string, agentId: string, fn: () => Promise<T>): Promise<T>;
161
+ /**
162
+ * Record learning session summary
163
+ * Call this periodically or at session end to capture overall metrics
164
+ *
165
+ * @param agentId - Agent identifier
166
+ * @param stats - Learning statistics
167
+ */
168
+ export declare function recordLearningSession(agentId: string, stats: {
169
+ algorithm: RLAlgorithmType;
170
+ totalEpisodes: number;
171
+ totalExperiences: number;
172
+ qTableSize: number;
173
+ explorationRate: number;
174
+ learningRate: number;
175
+ convergenceRate?: number;
176
+ avgReward?: number;
177
+ patternsDiscovered?: number;
178
+ }): void;
179
+ /**
180
+ * Get current pattern hit rate
181
+ *
182
+ * @returns Pattern hit rate (0-1)
183
+ */
184
+ export declare function getPatternHitRate(): number;
185
+ /**
186
+ * Reset pattern hit tracking (useful for testing or per-session metrics)
187
+ */
188
+ export declare function resetPatternHitTracking(): void;
189
+ export type { MetricRecordOptions };
190
+ //# sourceMappingURL=LearningTelemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningTelemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/LearningTelemetry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,403 @@
1
+ "use strict";
2
+ /**
3
+ * Learning Telemetry for Agentic QE Fleet
4
+ *
5
+ * OpenTelemetry integration for tracking learning metrics, algorithm performance,
6
+ * and agent improvement over time using reinforcement learning.
7
+ *
8
+ * Tracks:
9
+ * - Learning episodes and Q-value updates
10
+ * - Reward distribution and convergence
11
+ * - Pattern discovery and matching
12
+ * - Algorithm performance and switches
13
+ * - Experience sharing metrics
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.createLearningMetrics = createLearningMetrics;
17
+ exports.getLearningMetrics = getLearningMetrics;
18
+ exports.recordLearningEpisode = recordLearningEpisode;
19
+ exports.recordQValueUpdate = recordQValueUpdate;
20
+ exports.recordPatternMatch = recordPatternMatch;
21
+ exports.recordAlgorithmSwitch = recordAlgorithmSwitch;
22
+ exports.recordExperienceSharing = recordExperienceSharing;
23
+ exports.updateSharingConnections = updateSharingConnections;
24
+ exports.updateGaugeValue = updateGaugeValue;
25
+ exports.updateGaugeValues = updateGaugeValues;
26
+ exports.withLearningSpan = withLearningSpan;
27
+ exports.recordLearningSession = recordLearningSession;
28
+ exports.getPatternHitRate = getPatternHitRate;
29
+ exports.resetPatternHitTracking = resetPatternHitTracking;
30
+ const bootstrap_1 = require("./bootstrap");
31
+ // Singleton metrics instance
32
+ let learningMetrics = null;
33
+ // Storage for observable gauge values
34
+ const gaugeValues = {
35
+ learningRate: 0,
36
+ explorationRate: 0,
37
+ convergenceRate: 0,
38
+ qTableSize: 0,
39
+ experienceBufferSize: 0,
40
+ patternHitRate: 0,
41
+ };
42
+ // Pattern hit tracking
43
+ let totalPatternRequests = 0;
44
+ let totalPatternHits = 0;
45
+ /**
46
+ * Initialize learning metrics
47
+ *
48
+ * @param meter - OpenTelemetry Meter instance
49
+ * @returns Learning metrics registry
50
+ */
51
+ function createLearningMetrics(meter) {
52
+ if (learningMetrics) {
53
+ return learningMetrics;
54
+ }
55
+ const m = meter || (0, bootstrap_1.getMeter)();
56
+ learningMetrics = {
57
+ // Counters
58
+ episodesTotal: m.createCounter('aqe.learning.episodes_total', {
59
+ description: 'Total number of learning episodes recorded',
60
+ unit: 'episodes',
61
+ }),
62
+ qValueUpdates: m.createCounter('aqe.learning.qvalue_updates', {
63
+ description: 'Total number of Q-value updates performed',
64
+ unit: 'updates',
65
+ }),
66
+ rewardSum: m.createCounter('aqe.learning.reward_sum', {
67
+ description: 'Cumulative sum of rewards received across all episodes',
68
+ unit: 'reward',
69
+ }),
70
+ algorithmSwitches: m.createCounter('aqe.learning.algorithm_switches', {
71
+ description: 'Number of RL algorithm switches performed',
72
+ unit: 'switches',
73
+ }),
74
+ patternHits: m.createCounter('aqe.learning.pattern_hits', {
75
+ description: 'Number of successful pattern cache hits',
76
+ unit: 'hits',
77
+ }),
78
+ patternMisses: m.createCounter('aqe.learning.pattern_misses', {
79
+ description: 'Number of pattern cache misses',
80
+ unit: 'misses',
81
+ }),
82
+ experiencesShared: m.createCounter('aqe.learning.experiences_shared', {
83
+ description: 'Number of experiences shared with peer agents',
84
+ unit: 'experiences',
85
+ }),
86
+ experiencesReceived: m.createCounter('aqe.learning.experiences_received', {
87
+ description: 'Number of experiences received from peer agents',
88
+ unit: 'experiences',
89
+ }),
90
+ // Histograms
91
+ episodeDuration: m.createHistogram('aqe.learning.episode_duration', {
92
+ description: 'Distribution of learning episode durations',
93
+ unit: 'ms',
94
+ advice: {
95
+ explicitBucketBoundaries: [10, 50, 100, 250, 500, 1000, 2500, 5000, 10000],
96
+ },
97
+ }),
98
+ rewardDistribution: m.createHistogram('aqe.learning.reward_distribution', {
99
+ description: 'Distribution of reward values across episodes',
100
+ unit: 'reward',
101
+ advice: {
102
+ explicitBucketBoundaries: [-2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2],
103
+ },
104
+ }),
105
+ qValueDistribution: m.createHistogram('aqe.learning.qvalue_distribution', {
106
+ description: 'Distribution of Q-values in the Q-table',
107
+ unit: 'qvalue',
108
+ advice: {
109
+ explicitBucketBoundaries: [-5, -2, -1, 0, 1, 2, 5, 10, 20, 50],
110
+ },
111
+ }),
112
+ patternConfidence: m.createHistogram('aqe.learning.pattern_confidence', {
113
+ description: 'Distribution of pattern confidence scores',
114
+ unit: 'confidence',
115
+ advice: {
116
+ explicitBucketBoundaries: [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 0.95, 1.0],
117
+ },
118
+ }),
119
+ // Observable Gauges
120
+ learningRate: m.createObservableGauge('aqe.learning.learning_rate', {
121
+ description: 'Current learning rate (alpha)',
122
+ unit: 'rate',
123
+ }),
124
+ explorationRate: m.createObservableGauge('aqe.learning.exploration_rate', {
125
+ description: 'Current exploration rate (epsilon)',
126
+ unit: 'rate',
127
+ }),
128
+ convergenceRate: m.createObservableGauge('aqe.learning.convergence_rate', {
129
+ description: 'Learning convergence rate (improvement over time)',
130
+ unit: 'rate',
131
+ }),
132
+ qTableSize: m.createObservableGauge('aqe.learning.qtable_size', {
133
+ description: 'Number of state-action pairs in Q-table',
134
+ unit: 'pairs',
135
+ }),
136
+ experienceBufferSize: m.createObservableGauge('aqe.learning.experience_buffer_size', {
137
+ description: 'Number of experiences in replay buffer',
138
+ unit: 'experiences',
139
+ }),
140
+ patternHitRate: m.createObservableGauge('aqe.learning.pattern_hit_rate', {
141
+ description: 'Pattern cache hit rate (efficiency)',
142
+ unit: 'rate',
143
+ }),
144
+ activeSharingConnections: m.createUpDownCounter('aqe.learning.active_sharing_connections', {
145
+ description: 'Number of active experience sharing connections',
146
+ unit: 'connections',
147
+ }),
148
+ };
149
+ // Register observable callbacks
150
+ learningMetrics.learningRate.addCallback((observableResult) => {
151
+ observableResult.observe(gaugeValues.learningRate);
152
+ });
153
+ learningMetrics.explorationRate.addCallback((observableResult) => {
154
+ observableResult.observe(gaugeValues.explorationRate);
155
+ });
156
+ learningMetrics.convergenceRate.addCallback((observableResult) => {
157
+ observableResult.observe(gaugeValues.convergenceRate);
158
+ });
159
+ learningMetrics.qTableSize.addCallback((observableResult) => {
160
+ observableResult.observe(gaugeValues.qTableSize);
161
+ });
162
+ learningMetrics.experienceBufferSize.addCallback((observableResult) => {
163
+ observableResult.observe(gaugeValues.experienceBufferSize);
164
+ });
165
+ learningMetrics.patternHitRate.addCallback((observableResult) => {
166
+ observableResult.observe(gaugeValues.patternHitRate);
167
+ });
168
+ return learningMetrics;
169
+ }
170
+ /**
171
+ * Get initialized learning metrics
172
+ *
173
+ * @returns Learning metrics registry
174
+ */
175
+ function getLearningMetrics() {
176
+ if (!learningMetrics) {
177
+ return createLearningMetrics();
178
+ }
179
+ return learningMetrics;
180
+ }
181
+ /**
182
+ * Record a learning episode
183
+ *
184
+ * @param agentId - Agent identifier
185
+ * @param taskType - Type of task being learned
186
+ * @param reward - Reward received for this episode
187
+ * @param durationMs - Episode duration in milliseconds
188
+ * @param algorithm - RL algorithm used
189
+ * @param options - Additional recording options
190
+ */
191
+ function recordLearningEpisode(agentId, taskType, reward, durationMs, algorithm = 'q-learning', options) {
192
+ const metrics = getLearningMetrics();
193
+ const attributes = {
194
+ 'agent.id': agentId,
195
+ 'task.type': taskType,
196
+ 'learning.algorithm': algorithm,
197
+ };
198
+ // Record episode
199
+ metrics.episodesTotal.add(1, attributes);
200
+ // Record episode duration
201
+ metrics.episodeDuration.record(durationMs, attributes);
202
+ // Record reward
203
+ metrics.rewardSum.add(reward, attributes);
204
+ metrics.rewardDistribution.record(reward, attributes);
205
+ // Record Q-value update if occurred
206
+ if (options?.qValueUpdate) {
207
+ metrics.qValueUpdates.add(1, attributes);
208
+ }
209
+ // Update gauge values if provided
210
+ if (options?.explorationRate !== undefined) {
211
+ updateGaugeValue('explorationRate', options.explorationRate);
212
+ }
213
+ if (options?.learningRate !== undefined) {
214
+ updateGaugeValue('learningRate', options.learningRate);
215
+ }
216
+ }
217
+ /**
218
+ * Record Q-value updates
219
+ *
220
+ * @param agentId - Agent identifier
221
+ * @param count - Number of Q-value updates
222
+ * @param qValue - The Q-value (optional, for distribution tracking)
223
+ * @param algorithm - RL algorithm used
224
+ */
225
+ function recordQValueUpdate(agentId, count = 1, qValue, algorithm = 'q-learning') {
226
+ const metrics = getLearningMetrics();
227
+ const attributes = {
228
+ 'agent.id': agentId,
229
+ 'learning.algorithm': algorithm,
230
+ };
231
+ metrics.qValueUpdates.add(count, attributes);
232
+ // Record Q-value distribution if provided
233
+ if (qValue !== undefined) {
234
+ metrics.qValueDistribution.record(qValue, attributes);
235
+ }
236
+ }
237
+ /**
238
+ * Record pattern matching activity
239
+ *
240
+ * @param agentId - Agent identifier
241
+ * @param hit - Whether the pattern was found in cache
242
+ * @param confidence - Pattern confidence score (if hit)
243
+ * @param patternType - Type of pattern
244
+ */
245
+ function recordPatternMatch(agentId, hit, confidence, patternType) {
246
+ const metrics = getLearningMetrics();
247
+ const attributes = {
248
+ 'agent.id': agentId,
249
+ };
250
+ if (patternType) {
251
+ attributes['pattern.type'] = patternType;
252
+ }
253
+ // Track hit/miss
254
+ totalPatternRequests++;
255
+ if (hit) {
256
+ totalPatternHits++;
257
+ metrics.patternHits.add(1, attributes);
258
+ // Record confidence if provided
259
+ if (confidence !== undefined) {
260
+ metrics.patternConfidence.record(confidence, attributes);
261
+ }
262
+ }
263
+ else {
264
+ metrics.patternMisses.add(1, attributes);
265
+ }
266
+ // Update hit rate
267
+ updateGaugeValue('patternHitRate', totalPatternRequests > 0 ? totalPatternHits / totalPatternRequests : 0);
268
+ }
269
+ /**
270
+ * Record algorithm switch
271
+ *
272
+ * @param agentId - Agent identifier
273
+ * @param fromAlgorithm - Previous algorithm
274
+ * @param toAlgorithm - New algorithm
275
+ */
276
+ function recordAlgorithmSwitch(agentId, fromAlgorithm, toAlgorithm) {
277
+ const metrics = getLearningMetrics();
278
+ metrics.algorithmSwitches.add(1, {
279
+ 'agent.id': agentId,
280
+ 'learning.algorithm.from': fromAlgorithm,
281
+ 'learning.algorithm.to': toAlgorithm,
282
+ });
283
+ }
284
+ /**
285
+ * Record experience sharing activity
286
+ *
287
+ * @param agentId - Agent identifier
288
+ * @param direction - 'shared' or 'received'
289
+ * @param count - Number of experiences
290
+ * @param priority - Experience priority (0-1)
291
+ */
292
+ function recordExperienceSharing(agentId, direction, count = 1, priority) {
293
+ const metrics = getLearningMetrics();
294
+ const attributes = {
295
+ 'agent.id': agentId,
296
+ };
297
+ if (priority !== undefined) {
298
+ attributes['experience.priority'] = priority;
299
+ }
300
+ if (direction === 'shared') {
301
+ metrics.experiencesShared.add(count, attributes);
302
+ }
303
+ else {
304
+ metrics.experiencesReceived.add(count, attributes);
305
+ }
306
+ }
307
+ /**
308
+ * Update sharing connection count
309
+ *
310
+ * @param agentId - Agent identifier
311
+ * @param delta - Change in connection count (+1 for connect, -1 for disconnect)
312
+ */
313
+ function updateSharingConnections(agentId, delta) {
314
+ const metrics = getLearningMetrics();
315
+ metrics.activeSharingConnections.add(delta, {
316
+ 'agent.id': agentId,
317
+ });
318
+ }
319
+ /**
320
+ * Update gauge values (for observable metrics)
321
+ *
322
+ * @param gauge - Gauge name
323
+ * @param value - New value
324
+ */
325
+ function updateGaugeValue(gauge, value) {
326
+ gaugeValues[gauge] = value;
327
+ }
328
+ /**
329
+ * Update multiple gauge values at once
330
+ *
331
+ * @param values - Object with gauge values to update
332
+ */
333
+ function updateGaugeValues(values) {
334
+ Object.assign(gaugeValues, values);
335
+ }
336
+ /**
337
+ * Create a traced learning operation span
338
+ *
339
+ * @param operationName - Name of the learning operation
340
+ * @param agentId - Agent identifier
341
+ * @param fn - Function to execute within the span
342
+ * @returns Result of the function
343
+ */
344
+ async function withLearningSpan(operationName, agentId, fn) {
345
+ return (0, bootstrap_1.withSpan)(`aqe.learning.${operationName}`, async () => {
346
+ const tracer = (0, bootstrap_1.getTracer)();
347
+ const currentSpan = tracer.startActiveSpan(operationName, (span) => {
348
+ span.setAttribute('agent.id', agentId);
349
+ span.setAttribute('operation.type', 'learning');
350
+ return span;
351
+ });
352
+ try {
353
+ const result = await fn();
354
+ return result;
355
+ }
356
+ finally {
357
+ currentSpan?.end();
358
+ }
359
+ });
360
+ }
361
+ /**
362
+ * Record learning session summary
363
+ * Call this periodically or at session end to capture overall metrics
364
+ *
365
+ * @param agentId - Agent identifier
366
+ * @param stats - Learning statistics
367
+ */
368
+ function recordLearningSession(agentId, stats) {
369
+ // Update all gauge values
370
+ updateGaugeValues({
371
+ learningRate: stats.learningRate,
372
+ explorationRate: stats.explorationRate,
373
+ convergenceRate: stats.convergenceRate || 0,
374
+ qTableSize: stats.qTableSize,
375
+ experienceBufferSize: stats.totalExperiences,
376
+ });
377
+ // Record average reward if provided
378
+ if (stats.avgReward !== undefined) {
379
+ const metrics = getLearningMetrics();
380
+ metrics.rewardDistribution.record(stats.avgReward, {
381
+ 'agent.id': agentId,
382
+ 'learning.algorithm': stats.algorithm,
383
+ 'session.type': 'summary',
384
+ });
385
+ }
386
+ }
387
+ /**
388
+ * Get current pattern hit rate
389
+ *
390
+ * @returns Pattern hit rate (0-1)
391
+ */
392
+ function getPatternHitRate() {
393
+ return totalPatternRequests > 0 ? totalPatternHits / totalPatternRequests : 0;
394
+ }
395
+ /**
396
+ * Reset pattern hit tracking (useful for testing or per-session metrics)
397
+ */
398
+ function resetPatternHitTracking() {
399
+ totalPatternRequests = 0;
400
+ totalPatternHits = 0;
401
+ updateGaugeValue('patternHitRate', 0);
402
+ }
403
+ //# sourceMappingURL=LearningTelemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LearningTelemetry.js","sourceRoot":"","sources":["../../src/telemetry/LearningTelemetry.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  export { initTelemetry, shutdownTelemetry, getTracer, getMeter, isTelemetryInitialized, withSpan, recordSpanEvent, setSpanAttributes, defaultTelemetryConfig, } from './bootstrap';
7
7
  export { TelemetryConfig, TelemetryInitResult, TelemetryShutdownResult, AgentAttributes, TaskAttributes, QEAttributes, ModelAttributes, MetricRecordOptions, METRIC_NAMES, HISTOGRAM_BOUNDARIES, SPAN_NAMES, } from './types';
8
8
  export * from './metrics';
9
+ export { LearningMetrics, createLearningMetrics, getLearningMetrics, recordLearningEpisode, recordQValueUpdate, recordPatternMatch, recordAlgorithmSwitch, recordExperienceSharing, updateSharingConnections, updateGaugeValue, updateGaugeValues, withLearningSpan, recordLearningSession, getPatternHitRate, resetPatternHitTracking, } from './LearningTelemetry';
9
10
  /**
10
11
  * Quick start function for initializing telemetry with defaults
11
12
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,cAAc,WAAW,CAAC;AAE1B;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,kDAgB7D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,SAAS,EACT,QAAQ,EACR,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,UAAU,GACX,MAAM,SAAS,CAAC;AAGjB,cAAc,WAAW,CAAC;AAG1B,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAE7B;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,CAAC,EAAE,MAAM,kDAkB7D"}