agentic-qe 1.9.3 → 1.9.4
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.
- package/CHANGELOG.md +54 -0
- package/README.md +30 -5
- package/config/.env.otel.example +25 -0
- package/config/OTEL-QUICK-REFERENCE.md +137 -0
- package/config/README-OTEL.md +222 -0
- package/config/alerting-rules.yml +518 -0
- package/config/docker-compose.otel.yml +187 -0
- package/config/grafana/dashboards/agentic-qe-overview.json +286 -0
- package/config/grafana/provisioning/dashboards/dashboards.yml +19 -0
- package/config/grafana/provisioning/datasources/datasources.yml +53 -0
- package/config/otel-collector-config.yaml.example +145 -0
- package/config/prometheus.yml.example +106 -0
- package/dist/alerting/AlertManager.d.ts +120 -0
- package/dist/alerting/AlertManager.d.ts.map +1 -0
- package/dist/alerting/AlertManager.js +345 -0
- package/dist/alerting/AlertManager.js.map +1 -0
- package/dist/alerting/FeedbackRouter.d.ts +98 -0
- package/dist/alerting/FeedbackRouter.d.ts.map +1 -0
- package/dist/alerting/FeedbackRouter.js +331 -0
- package/dist/alerting/FeedbackRouter.js.map +1 -0
- package/dist/alerting/StrategyApplicator.d.ts +120 -0
- package/dist/alerting/StrategyApplicator.d.ts.map +1 -0
- package/dist/alerting/StrategyApplicator.js +299 -0
- package/dist/alerting/StrategyApplicator.js.map +1 -0
- package/dist/alerting/index.d.ts +68 -0
- package/dist/alerting/index.d.ts.map +1 -0
- package/dist/alerting/index.js +112 -0
- package/dist/alerting/index.js.map +1 -0
- package/dist/alerting/types.d.ts +118 -0
- package/dist/alerting/types.d.ts.map +1 -0
- package/dist/alerting/types.js +11 -0
- package/dist/alerting/types.js.map +1 -0
- package/dist/cli/init/claude-config.d.ts.map +1 -1
- package/dist/cli/init/claude-config.js +12 -7
- package/dist/cli/init/claude-config.js.map +1 -1
- package/dist/core/memory/IPatternStore.d.ts +209 -0
- package/dist/core/memory/IPatternStore.d.ts.map +1 -0
- package/dist/core/memory/IPatternStore.js +15 -0
- package/dist/core/memory/IPatternStore.js.map +1 -0
- package/dist/core/memory/MigrationTools.d.ts +192 -0
- package/dist/core/memory/MigrationTools.d.ts.map +1 -0
- package/dist/core/memory/MigrationTools.js +615 -0
- package/dist/core/memory/MigrationTools.js.map +1 -0
- package/dist/core/memory/NeuralEnhancement.d.ts +154 -0
- package/dist/core/memory/NeuralEnhancement.d.ts.map +1 -0
- package/dist/core/memory/NeuralEnhancement.js +598 -0
- package/dist/core/memory/NeuralEnhancement.js.map +1 -0
- package/dist/core/memory/PatternStoreFactory.d.ts +143 -0
- package/dist/core/memory/PatternStoreFactory.d.ts.map +1 -0
- package/dist/core/memory/PatternStoreFactory.js +370 -0
- package/dist/core/memory/PatternStoreFactory.js.map +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts +1 -0
- package/dist/core/memory/RealAgentDBAdapter.d.ts.map +1 -1
- package/dist/core/memory/RealAgentDBAdapter.js +28 -20
- package/dist/core/memory/RealAgentDBAdapter.js.map +1 -1
- package/dist/core/memory/RuVectorPatternStore.d.ts +198 -0
- package/dist/core/memory/RuVectorPatternStore.d.ts.map +1 -0
- package/dist/core/memory/RuVectorPatternStore.js +605 -0
- package/dist/core/memory/RuVectorPatternStore.js.map +1 -0
- package/dist/core/memory/SelfHealingMonitor.d.ts +186 -0
- package/dist/core/memory/SelfHealingMonitor.d.ts.map +1 -0
- package/dist/core/memory/SelfHealingMonitor.js +451 -0
- package/dist/core/memory/SelfHealingMonitor.js.map +1 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts +62 -0
- package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
- package/dist/core/memory/SwarmMemoryManager.js +97 -0
- package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
- package/dist/core/memory/index.d.ts +11 -0
- package/dist/core/memory/index.d.ts.map +1 -1
- package/dist/core/memory/index.js +36 -1
- package/dist/core/memory/index.js.map +1 -1
- package/dist/reasoning/RuVectorReasoningAdapter.d.ts +232 -0
- package/dist/reasoning/RuVectorReasoningAdapter.d.ts.map +1 -0
- package/dist/reasoning/RuVectorReasoningAdapter.js +585 -0
- package/dist/reasoning/RuVectorReasoningAdapter.js.map +1 -0
- package/dist/reasoning/index.d.ts +2 -0
- package/dist/reasoning/index.d.ts.map +1 -1
- package/dist/reasoning/index.js +6 -1
- package/dist/reasoning/index.js.map +1 -1
- package/dist/reporting/ResultAggregator.d.ts +107 -0
- package/dist/reporting/ResultAggregator.d.ts.map +1 -0
- package/dist/reporting/ResultAggregator.js +435 -0
- package/dist/reporting/ResultAggregator.js.map +1 -0
- package/dist/reporting/index.d.ts +48 -0
- package/dist/reporting/index.d.ts.map +1 -0
- package/dist/reporting/index.js +154 -0
- package/dist/reporting/index.js.map +1 -0
- package/dist/reporting/reporters/ControlLoopReporter.d.ts +128 -0
- package/dist/reporting/reporters/ControlLoopReporter.d.ts.map +1 -0
- package/dist/reporting/reporters/ControlLoopReporter.js +417 -0
- package/dist/reporting/reporters/ControlLoopReporter.js.map +1 -0
- package/dist/reporting/reporters/HumanReadableReporter.d.ts +140 -0
- package/dist/reporting/reporters/HumanReadableReporter.d.ts.map +1 -0
- package/dist/reporting/reporters/HumanReadableReporter.js +524 -0
- package/dist/reporting/reporters/HumanReadableReporter.js.map +1 -0
- package/dist/reporting/reporters/JSONReporter.d.ts +193 -0
- package/dist/reporting/reporters/JSONReporter.d.ts.map +1 -0
- package/dist/reporting/reporters/JSONReporter.js +324 -0
- package/dist/reporting/reporters/JSONReporter.js.map +1 -0
- package/dist/reporting/reporters/index.d.ts +14 -0
- package/dist/reporting/reporters/index.d.ts.map +1 -0
- package/dist/reporting/reporters/index.js +19 -0
- package/dist/reporting/reporters/index.js.map +1 -0
- package/dist/reporting/types.d.ts +427 -0
- package/dist/reporting/types.d.ts.map +1 -0
- package/dist/reporting/types.js +12 -0
- package/dist/reporting/types.js.map +1 -0
- package/package.json +9 -1
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* StrategyApplicator - Applies Feedback Strategies to Agents
|
|
4
|
+
*
|
|
5
|
+
* Takes feedback events and applies the recommended strategies
|
|
6
|
+
* by updating agent memory, triggering retraining, or executing commands.
|
|
7
|
+
*
|
|
8
|
+
* @module alerting/StrategyApplicator
|
|
9
|
+
* @version 1.0.0
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.StrategyApplicator = void 0;
|
|
13
|
+
const events_1 = require("events");
|
|
14
|
+
/**
|
|
15
|
+
* StrategyApplicator applies feedback strategies to agents and systems.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const applicator = new StrategyApplicator(memoryStore, agentBus);
|
|
20
|
+
* const result = await applicator.apply(feedbackEvent, strategy);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
class StrategyApplicator extends events_1.EventEmitter {
|
|
24
|
+
constructor(memory, agents) {
|
|
25
|
+
super();
|
|
26
|
+
this.applicationHistory = [];
|
|
27
|
+
this.successfulStrategies = new Map();
|
|
28
|
+
this.failedStrategies = new Map();
|
|
29
|
+
this.memory = memory;
|
|
30
|
+
this.agents = agents;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Apply a feedback event's strategy
|
|
34
|
+
*/
|
|
35
|
+
async apply(feedback, strategy) {
|
|
36
|
+
const startTime = Date.now();
|
|
37
|
+
const results = [];
|
|
38
|
+
// Get strategy actions
|
|
39
|
+
const actions = strategy?.actions || this.getDefaultActions(feedback);
|
|
40
|
+
// Execute each action
|
|
41
|
+
for (const action of actions) {
|
|
42
|
+
const result = await this.executeAction(action, feedback);
|
|
43
|
+
results.push(result);
|
|
44
|
+
}
|
|
45
|
+
const successful = results.filter(r => r.success).length;
|
|
46
|
+
const failed = results.filter(r => !r.success).length;
|
|
47
|
+
const applicationResult = {
|
|
48
|
+
feedbackId: feedback.id,
|
|
49
|
+
strategyId: strategy?.id || 'default',
|
|
50
|
+
success: failed === 0,
|
|
51
|
+
actionsExecuted: successful,
|
|
52
|
+
actionsFailed: failed,
|
|
53
|
+
results,
|
|
54
|
+
duration: Date.now() - startTime,
|
|
55
|
+
timestamp: new Date()
|
|
56
|
+
};
|
|
57
|
+
this.applicationHistory.push(applicationResult);
|
|
58
|
+
this.updateStats(strategy?.id || 'default', applicationResult.success);
|
|
59
|
+
this.emit('strategy:applied', applicationResult);
|
|
60
|
+
return applicationResult;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Execute a single strategy action
|
|
64
|
+
*/
|
|
65
|
+
async executeAction(action, feedback) {
|
|
66
|
+
try {
|
|
67
|
+
switch (action.type) {
|
|
68
|
+
case 'config_change':
|
|
69
|
+
return await this.executeConfigChange(action, feedback);
|
|
70
|
+
case 'agent_retrain':
|
|
71
|
+
return await this.executeAgentRetrain(action, feedback);
|
|
72
|
+
case 'threshold_adjust':
|
|
73
|
+
return await this.executeThresholdAdjust(action, feedback);
|
|
74
|
+
case 'notify':
|
|
75
|
+
return await this.executeNotify(action, feedback);
|
|
76
|
+
case 'execute_command':
|
|
77
|
+
return await this.executeCommand(action, feedback);
|
|
78
|
+
default:
|
|
79
|
+
return {
|
|
80
|
+
action,
|
|
81
|
+
success: false,
|
|
82
|
+
error: `Unknown action type: ${action.type}`
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
return {
|
|
88
|
+
action,
|
|
89
|
+
success: false,
|
|
90
|
+
error: error instanceof Error ? error.message : String(error)
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Execute config change action
|
|
96
|
+
*/
|
|
97
|
+
async executeConfigChange(action, feedback) {
|
|
98
|
+
if (!this.memory) {
|
|
99
|
+
return { action, success: false, error: 'Memory interface not configured' };
|
|
100
|
+
}
|
|
101
|
+
const namespace = `aqe/config/${action.target}`;
|
|
102
|
+
const key = `strategy_${feedback.id}`;
|
|
103
|
+
await this.memory.store(namespace, key, {
|
|
104
|
+
parameters: action.parameters,
|
|
105
|
+
appliedAt: new Date().toISOString(),
|
|
106
|
+
feedbackId: feedback.id,
|
|
107
|
+
alertId: feedback.alertId
|
|
108
|
+
});
|
|
109
|
+
this.emit('action:config_change', { action, feedback, target: action.target });
|
|
110
|
+
return {
|
|
111
|
+
action,
|
|
112
|
+
success: true,
|
|
113
|
+
output: { namespace, key, parameters: action.parameters }
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Execute agent retrain action
|
|
118
|
+
*/
|
|
119
|
+
async executeAgentRetrain(action, feedback) {
|
|
120
|
+
if (!this.memory) {
|
|
121
|
+
return { action, success: false, error: 'Memory interface not configured' };
|
|
122
|
+
}
|
|
123
|
+
const namespace = `aqe/learning/${action.target}`;
|
|
124
|
+
// Store retrain signal
|
|
125
|
+
await this.memory.store(namespace, 'retrain_signal', {
|
|
126
|
+
triggered: true,
|
|
127
|
+
reason: feedback.type,
|
|
128
|
+
feedbackId: feedback.id,
|
|
129
|
+
parameters: action.parameters,
|
|
130
|
+
timestamp: new Date().toISOString()
|
|
131
|
+
});
|
|
132
|
+
// Store experience for learning
|
|
133
|
+
await this.memory.store(namespace, `experience_${feedback.id}`, {
|
|
134
|
+
alertType: feedback.metadata.alertName,
|
|
135
|
+
strategy: feedback.strategy,
|
|
136
|
+
suggestions: feedback.suggestions,
|
|
137
|
+
confidence: feedback.confidence
|
|
138
|
+
});
|
|
139
|
+
this.emit('action:retrain', { action, feedback, target: action.target });
|
|
140
|
+
return {
|
|
141
|
+
action,
|
|
142
|
+
success: true,
|
|
143
|
+
output: { namespace, retrainTriggered: true }
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Execute threshold adjustment action
|
|
148
|
+
*/
|
|
149
|
+
async executeThresholdAdjust(action, feedback) {
|
|
150
|
+
if (!this.memory) {
|
|
151
|
+
return { action, success: false, error: 'Memory interface not configured' };
|
|
152
|
+
}
|
|
153
|
+
const namespace = 'aqe/thresholds';
|
|
154
|
+
const currentThresholds = await this.memory.retrieve(namespace, action.target) || {};
|
|
155
|
+
const newThresholds = {
|
|
156
|
+
...currentThresholds,
|
|
157
|
+
...action.parameters,
|
|
158
|
+
updatedAt: new Date().toISOString(),
|
|
159
|
+
updatedBy: `feedback_${feedback.id}`
|
|
160
|
+
};
|
|
161
|
+
await this.memory.store(namespace, action.target, newThresholds);
|
|
162
|
+
this.emit('action:threshold_adjust', { action, feedback, newThresholds });
|
|
163
|
+
return {
|
|
164
|
+
action,
|
|
165
|
+
success: true,
|
|
166
|
+
output: { target: action.target, thresholds: newThresholds }
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Execute notify action
|
|
171
|
+
*/
|
|
172
|
+
async executeNotify(action, feedback) {
|
|
173
|
+
const targetAgent = action.target;
|
|
174
|
+
// If we have an agent interface, use it
|
|
175
|
+
if (this.agents) {
|
|
176
|
+
await this.agents.notify(targetAgent, {
|
|
177
|
+
type: 'feedback_action',
|
|
178
|
+
data: {
|
|
179
|
+
feedbackId: feedback.id,
|
|
180
|
+
alertId: feedback.alertId,
|
|
181
|
+
action: action.parameters.action,
|
|
182
|
+
parameters: action.parameters,
|
|
183
|
+
severity: feedback.severity,
|
|
184
|
+
suggestions: feedback.suggestions
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
// Also store in memory for agents to pick up
|
|
189
|
+
if (this.memory) {
|
|
190
|
+
await this.memory.store(`aqe/notifications/${targetAgent}`, feedback.id, {
|
|
191
|
+
type: 'feedback_action',
|
|
192
|
+
action: action.parameters,
|
|
193
|
+
timestamp: new Date().toISOString(),
|
|
194
|
+
read: false
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
this.emit('action:notify', { action, feedback, target: targetAgent });
|
|
198
|
+
return {
|
|
199
|
+
action,
|
|
200
|
+
success: true,
|
|
201
|
+
output: { notified: targetAgent, action: action.parameters }
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Execute command action
|
|
206
|
+
*/
|
|
207
|
+
async executeCommand(action, feedback) {
|
|
208
|
+
// For safety, we don't execute arbitrary commands
|
|
209
|
+
// Instead, we emit an event for a controlled executor
|
|
210
|
+
this.emit('action:execute_command', {
|
|
211
|
+
action,
|
|
212
|
+
feedback,
|
|
213
|
+
command: action.target,
|
|
214
|
+
parameters: action.parameters
|
|
215
|
+
});
|
|
216
|
+
return {
|
|
217
|
+
action,
|
|
218
|
+
success: true,
|
|
219
|
+
output: { commandQueued: action.target, parameters: action.parameters }
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Get default actions for feedback type
|
|
224
|
+
*/
|
|
225
|
+
getDefaultActions(feedback) {
|
|
226
|
+
const actionsByType = {
|
|
227
|
+
'adjust_strategy': [
|
|
228
|
+
{ type: 'notify', target: feedback.targetAgent || 'qe-coordinator', parameters: { action: 'adjust' } },
|
|
229
|
+
{ type: 'config_change', target: 'strategy', parameters: { suggestions: feedback.suggestions } }
|
|
230
|
+
],
|
|
231
|
+
'retrain_model': [
|
|
232
|
+
{ type: 'agent_retrain', target: feedback.targetAgent || 'default', parameters: {} },
|
|
233
|
+
{ type: 'notify', target: feedback.targetAgent || 'qe-coordinator', parameters: { action: 'retrain' } }
|
|
234
|
+
],
|
|
235
|
+
'auto_remediate': [
|
|
236
|
+
{ type: 'notify', target: feedback.targetAgent || 'qe-coordinator', parameters: { action: 'remediate' } },
|
|
237
|
+
{ type: 'config_change', target: 'remediation', parameters: { suggestions: feedback.suggestions } }
|
|
238
|
+
],
|
|
239
|
+
'escalate': [
|
|
240
|
+
{ type: 'notify', target: 'human-operator', parameters: { action: 'review', severity: feedback.severity } }
|
|
241
|
+
]
|
|
242
|
+
};
|
|
243
|
+
return actionsByType[feedback.type] || actionsByType['adjust_strategy'];
|
|
244
|
+
}
|
|
245
|
+
/**
|
|
246
|
+
* Update success/failure statistics
|
|
247
|
+
*/
|
|
248
|
+
updateStats(strategyId, success) {
|
|
249
|
+
if (success) {
|
|
250
|
+
const count = this.successfulStrategies.get(strategyId) || 0;
|
|
251
|
+
this.successfulStrategies.set(strategyId, count + 1);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
const count = this.failedStrategies.get(strategyId) || 0;
|
|
255
|
+
this.failedStrategies.set(strategyId, count + 1);
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Get strategy effectiveness statistics
|
|
260
|
+
*/
|
|
261
|
+
getStrategyStats() {
|
|
262
|
+
const stats = new Map();
|
|
263
|
+
const allStrategies = new Set([
|
|
264
|
+
...Array.from(this.successfulStrategies.keys()),
|
|
265
|
+
...Array.from(this.failedStrategies.keys())
|
|
266
|
+
]);
|
|
267
|
+
for (const strategyId of Array.from(allStrategies)) {
|
|
268
|
+
const success = this.successfulStrategies.get(strategyId) || 0;
|
|
269
|
+
const failed = this.failedStrategies.get(strategyId) || 0;
|
|
270
|
+
const total = success + failed;
|
|
271
|
+
stats.set(strategyId, {
|
|
272
|
+
success,
|
|
273
|
+
failed,
|
|
274
|
+
rate: total > 0 ? success / total : 0
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
return stats;
|
|
278
|
+
}
|
|
279
|
+
/**
|
|
280
|
+
* Get application history
|
|
281
|
+
*/
|
|
282
|
+
getApplicationHistory(limit = 100) {
|
|
283
|
+
return this.applicationHistory.slice(-limit);
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Set memory interface
|
|
287
|
+
*/
|
|
288
|
+
setMemoryInterface(memory) {
|
|
289
|
+
this.memory = memory;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Set agent interface
|
|
293
|
+
*/
|
|
294
|
+
setAgentInterface(agents) {
|
|
295
|
+
this.agents = agents;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
exports.StrategyApplicator = StrategyApplicator;
|
|
299
|
+
//# sourceMappingURL=StrategyApplicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StrategyApplicator.js","sourceRoot":"","sources":["../../src/alerting/StrategyApplicator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alerting System - Main Entry Point
|
|
3
|
+
*
|
|
4
|
+
* Exports all alerting components for the autonomous feedback loop.
|
|
5
|
+
*
|
|
6
|
+
* @module alerting
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export * from './types';
|
|
10
|
+
export { AlertManager } from './AlertManager';
|
|
11
|
+
export { FeedbackRouter, type FeedbackRouterConfig } from './FeedbackRouter';
|
|
12
|
+
export { StrategyApplicator, type ApplicationResult, type ActionResult, type MemoryInterface, type AgentInterface } from './StrategyApplicator';
|
|
13
|
+
import { AlertManager } from './AlertManager';
|
|
14
|
+
import { FeedbackRouter } from './FeedbackRouter';
|
|
15
|
+
import { StrategyApplicator, MemoryInterface, AgentInterface } from './StrategyApplicator';
|
|
16
|
+
import { AlertingConfig, Strategy } from './types';
|
|
17
|
+
/**
|
|
18
|
+
* Complete alerting system with connected components
|
|
19
|
+
*/
|
|
20
|
+
export declare class AlertingSystem {
|
|
21
|
+
readonly alertManager: AlertManager;
|
|
22
|
+
readonly feedbackRouter: FeedbackRouter;
|
|
23
|
+
readonly strategyApplicator: StrategyApplicator;
|
|
24
|
+
constructor(config?: Partial<AlertingConfig>, memory?: MemoryInterface, agents?: AgentInterface);
|
|
25
|
+
/**
|
|
26
|
+
* Wire components together for autonomous operation
|
|
27
|
+
*/
|
|
28
|
+
private wireComponents;
|
|
29
|
+
/**
|
|
30
|
+
* Load alerting rules from configuration
|
|
31
|
+
*/
|
|
32
|
+
loadRules(config: {
|
|
33
|
+
groups: Array<{
|
|
34
|
+
name: string;
|
|
35
|
+
rules: unknown[];
|
|
36
|
+
}>;
|
|
37
|
+
}): void;
|
|
38
|
+
/**
|
|
39
|
+
* Register custom strategy
|
|
40
|
+
*/
|
|
41
|
+
registerStrategy(strategy: Strategy): void;
|
|
42
|
+
/**
|
|
43
|
+
* Start autonomous monitoring
|
|
44
|
+
*/
|
|
45
|
+
start(metricsProvider: () => Array<{
|
|
46
|
+
name: string;
|
|
47
|
+
value: number;
|
|
48
|
+
labels: Record<string, string>;
|
|
49
|
+
timestamp: Date;
|
|
50
|
+
}>): void;
|
|
51
|
+
/**
|
|
52
|
+
* Stop autonomous monitoring
|
|
53
|
+
*/
|
|
54
|
+
stop(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Get system statistics
|
|
57
|
+
*/
|
|
58
|
+
getStats(): {
|
|
59
|
+
alerts: ReturnType<AlertManager['getStats']>;
|
|
60
|
+
strategies: ReturnType<StrategyApplicator['getStrategyStats']>;
|
|
61
|
+
feedbackCount: number;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Cleanup resources
|
|
65
|
+
*/
|
|
66
|
+
destroy(): void;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/alerting/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EACL,kBAAkB,EAClB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAwB,QAAQ,EAAE,MAAM,SAAS,CAAC;AAEzE;;GAEG;AACH,qBAAa,cAAc;IACzB,SAAgB,YAAY,EAAE,YAAY,CAAC;IAC3C,SAAgB,cAAc,EAAE,cAAc,CAAC;IAC/C,SAAgB,kBAAkB,EAAE,kBAAkB,CAAC;gBAGrD,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,EAChC,MAAM,CAAC,EAAE,eAAe,EACxB,MAAM,CAAC,EAAE,cAAc;IASzB;;OAEG;IACH,OAAO,CAAC,cAAc;IA4BtB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE,GAAG,IAAI;IAI9E;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI1C;;OAEG;IACH,KAAK,CAAC,eAAe,EAAE,MAAM,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,SAAS,EAAE,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI;IAI3H;;OAEG;IACH,IAAI,IAAI,IAAI;IAIZ;;OAEG;IACH,QAAQ,IAAI;QACV,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC;QAC7C,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC/D,aAAa,EAAE,MAAM,CAAC;KACvB;IAQD;;OAEG;IACH,OAAO,IAAI,IAAI;CAIhB"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Alerting System - Main Entry Point
|
|
4
|
+
*
|
|
5
|
+
* Exports all alerting components for the autonomous feedback loop.
|
|
6
|
+
*
|
|
7
|
+
* @module alerting
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(o, k2, desc);
|
|
17
|
+
}) : (function(o, m, k, k2) {
|
|
18
|
+
if (k2 === undefined) k2 = k;
|
|
19
|
+
o[k2] = m[k];
|
|
20
|
+
}));
|
|
21
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
22
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.AlertingSystem = exports.StrategyApplicator = exports.FeedbackRouter = exports.AlertManager = void 0;
|
|
26
|
+
__exportStar(require("./types"), exports);
|
|
27
|
+
var AlertManager_1 = require("./AlertManager");
|
|
28
|
+
Object.defineProperty(exports, "AlertManager", { enumerable: true, get: function () { return AlertManager_1.AlertManager; } });
|
|
29
|
+
var FeedbackRouter_1 = require("./FeedbackRouter");
|
|
30
|
+
Object.defineProperty(exports, "FeedbackRouter", { enumerable: true, get: function () { return FeedbackRouter_1.FeedbackRouter; } });
|
|
31
|
+
var StrategyApplicator_1 = require("./StrategyApplicator");
|
|
32
|
+
Object.defineProperty(exports, "StrategyApplicator", { enumerable: true, get: function () { return StrategyApplicator_1.StrategyApplicator; } });
|
|
33
|
+
const AlertManager_2 = require("./AlertManager");
|
|
34
|
+
const FeedbackRouter_2 = require("./FeedbackRouter");
|
|
35
|
+
const StrategyApplicator_2 = require("./StrategyApplicator");
|
|
36
|
+
/**
|
|
37
|
+
* Complete alerting system with connected components
|
|
38
|
+
*/
|
|
39
|
+
class AlertingSystem {
|
|
40
|
+
constructor(config, memory, agents) {
|
|
41
|
+
this.alertManager = new AlertManager_2.AlertManager(config);
|
|
42
|
+
this.feedbackRouter = new FeedbackRouter_2.FeedbackRouter();
|
|
43
|
+
this.strategyApplicator = new StrategyApplicator_2.StrategyApplicator(memory, agents);
|
|
44
|
+
this.wireComponents();
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Wire components together for autonomous operation
|
|
48
|
+
*/
|
|
49
|
+
wireComponents() {
|
|
50
|
+
// Alert fires -> generate feedback
|
|
51
|
+
this.alertManager.on('alert:feedback', (data) => {
|
|
52
|
+
const feedback = this.feedbackRouter.route(data.alert);
|
|
53
|
+
if (feedback) {
|
|
54
|
+
// Find strategy and apply
|
|
55
|
+
const strategies = this.feedbackRouter.getStrategies();
|
|
56
|
+
const strategy = strategies.find(s => s.id === feedback.strategy);
|
|
57
|
+
this.strategyApplicator.apply(feedback, strategy);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// Alert resolves -> cancel escalation
|
|
61
|
+
this.alertManager.on('alert:resolved', (alert) => {
|
|
62
|
+
this.feedbackRouter.cancelEscalation(alert.id);
|
|
63
|
+
});
|
|
64
|
+
// Forward events
|
|
65
|
+
this.strategyApplicator.on('strategy:applied', (result) => {
|
|
66
|
+
this.alertManager.emit('feedback:applied', result);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Load alerting rules from configuration
|
|
71
|
+
*/
|
|
72
|
+
loadRules(config) {
|
|
73
|
+
this.alertManager.loadRulesFromConfig(config);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Register custom strategy
|
|
77
|
+
*/
|
|
78
|
+
registerStrategy(strategy) {
|
|
79
|
+
this.feedbackRouter.registerStrategy(strategy);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Start autonomous monitoring
|
|
83
|
+
*/
|
|
84
|
+
start(metricsProvider) {
|
|
85
|
+
this.alertManager.startEvaluation(metricsProvider);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Stop autonomous monitoring
|
|
89
|
+
*/
|
|
90
|
+
stop() {
|
|
91
|
+
this.alertManager.stopEvaluation();
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Get system statistics
|
|
95
|
+
*/
|
|
96
|
+
getStats() {
|
|
97
|
+
return {
|
|
98
|
+
alerts: this.alertManager.getStats(),
|
|
99
|
+
strategies: this.strategyApplicator.getStrategyStats(),
|
|
100
|
+
feedbackCount: this.feedbackRouter.getFeedbackHistory().length
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Cleanup resources
|
|
105
|
+
*/
|
|
106
|
+
destroy() {
|
|
107
|
+
this.alertManager.destroy();
|
|
108
|
+
this.feedbackRouter.destroy();
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.AlertingSystem = AlertingSystem;
|
|
112
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/alerting/index.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAA6E;AAApE,gHAAA,cAAc,OAAA;AACvB,2DAM8B;AAL5B,wHAAA,kBAAkB,OAAA;AAOpB,iDAA8C;AAC9C,qDAAkD;AAClD,6DAA2F;AAG3F;;GAEG;AACH,MAAa,cAAc;IAKzB,YACE,MAAgC,EAChC,MAAwB,EACxB,MAAuB;QAEvB,IAAI,CAAC,YAAY,GAAG,IAAI,2BAAY,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;QAC3C,IAAI,CAAC,kBAAkB,GAAG,IAAI,uCAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEjE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,mCAAmC;QACnC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,IAKvC,EAAE,EAAE;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvD,IAAI,QAAQ,EAAE,CAAC;gBACb,0BAA0B;gBAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAY,EAAE,EAAE;YACtD,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,iBAAiB;QACjB,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE;YACxD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA6D;QACrE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,QAAkB;QACjC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAA8G;QAClH,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACH,IAAI;QACF,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,QAAQ;QAKN,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YACpC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,gBAAgB,EAAE;YACtD,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAAE,CAAC,MAAM;SAC/D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACF;AAlGD,wCAkGC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Alerting System Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for the autonomous alerting and feedback loop system.
|
|
5
|
+
*
|
|
6
|
+
* @module alerting/types
|
|
7
|
+
* @version 1.0.0
|
|
8
|
+
*/
|
|
9
|
+
export type AlertSeverity = 'info' | 'warning' | 'error' | 'critical';
|
|
10
|
+
export type AlertStatus = 'pending' | 'firing' | 'resolved';
|
|
11
|
+
export type FeedbackActionType = 'adjust_strategy' | 'retrain_model' | 'auto_remediate' | 'escalate';
|
|
12
|
+
/**
|
|
13
|
+
* Alert rule definition (matches Prometheus alerting rules)
|
|
14
|
+
*/
|
|
15
|
+
export interface AlertRule {
|
|
16
|
+
name: string;
|
|
17
|
+
expr: string;
|
|
18
|
+
forDuration: string;
|
|
19
|
+
labels: AlertLabels;
|
|
20
|
+
annotations: AlertAnnotations;
|
|
21
|
+
}
|
|
22
|
+
export interface AlertLabels {
|
|
23
|
+
severity: AlertSeverity;
|
|
24
|
+
component: string;
|
|
25
|
+
alert_type: string;
|
|
26
|
+
feedback_action: FeedbackActionType;
|
|
27
|
+
agent_scope?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface AlertAnnotations {
|
|
30
|
+
summary: string;
|
|
31
|
+
description: string;
|
|
32
|
+
feedback_strategy?: string;
|
|
33
|
+
feedback_focus?: string;
|
|
34
|
+
feedback_action?: string;
|
|
35
|
+
runbook_url?: string;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Fired alert instance
|
|
39
|
+
*/
|
|
40
|
+
export interface Alert {
|
|
41
|
+
id: string;
|
|
42
|
+
name: string;
|
|
43
|
+
status: AlertStatus;
|
|
44
|
+
severity: AlertSeverity;
|
|
45
|
+
labels: Record<string, string>;
|
|
46
|
+
annotations: Record<string, string>;
|
|
47
|
+
value: number;
|
|
48
|
+
firedAt: Date;
|
|
49
|
+
resolvedAt?: Date;
|
|
50
|
+
fingerprint: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Metric value for evaluation
|
|
54
|
+
*/
|
|
55
|
+
export interface MetricValue {
|
|
56
|
+
name: string;
|
|
57
|
+
value: number;
|
|
58
|
+
labels: Record<string, string>;
|
|
59
|
+
timestamp: Date;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Alert evaluation result
|
|
63
|
+
*/
|
|
64
|
+
export interface AlertEvaluation {
|
|
65
|
+
rule: AlertRule;
|
|
66
|
+
metric: MetricValue;
|
|
67
|
+
threshold: number;
|
|
68
|
+
actual: number;
|
|
69
|
+
isFiring: boolean;
|
|
70
|
+
message: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Feedback event generated from alert
|
|
74
|
+
*/
|
|
75
|
+
export interface FeedbackEvent {
|
|
76
|
+
id: string;
|
|
77
|
+
alertId: string;
|
|
78
|
+
type: FeedbackActionType;
|
|
79
|
+
severity: AlertSeverity;
|
|
80
|
+
targetAgent?: string;
|
|
81
|
+
strategy: string;
|
|
82
|
+
suggestions: string[];
|
|
83
|
+
confidence: number;
|
|
84
|
+
timestamp: Date;
|
|
85
|
+
metadata: Record<string, unknown>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Strategy to apply based on feedback
|
|
89
|
+
*/
|
|
90
|
+
export interface Strategy {
|
|
91
|
+
id: string;
|
|
92
|
+
name: string;
|
|
93
|
+
description: string;
|
|
94
|
+
actions: StrategyAction[];
|
|
95
|
+
priority: number;
|
|
96
|
+
applicableAlerts: string[];
|
|
97
|
+
}
|
|
98
|
+
export interface StrategyAction {
|
|
99
|
+
type: 'config_change' | 'agent_retrain' | 'threshold_adjust' | 'notify' | 'execute_command';
|
|
100
|
+
target: string;
|
|
101
|
+
parameters: Record<string, unknown>;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Configuration for the alerting system
|
|
105
|
+
*/
|
|
106
|
+
export interface AlertingConfig {
|
|
107
|
+
/** Evaluation interval in milliseconds */
|
|
108
|
+
evaluationInterval: number;
|
|
109
|
+
/** Alert cooldown period in milliseconds */
|
|
110
|
+
cooldownPeriod: number;
|
|
111
|
+
/** Maximum alerts before suppression */
|
|
112
|
+
maxAlertsPerHour: number;
|
|
113
|
+
/** Enable feedback loop */
|
|
114
|
+
enableFeedbackLoop: boolean;
|
|
115
|
+
/** Feedback action delay in milliseconds */
|
|
116
|
+
feedbackDelay: number;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/alerting/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Alerting System Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for the autonomous alerting and feedback loop system.
|
|
6
|
+
*
|
|
7
|
+
* @module alerting/types
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/alerting/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-config.d.ts","sourceRoot":"","sources":["../../../src/cli/init/claude-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"claude-config.d.ts","sourceRoot":"","sources":["../../../src/cli/init/claude-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,YAAY,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsErF;AAwHD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA6CpD"}
|