resolve-solo 0.7.0 → 1.1.0
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/dist/cli-progress/index.d.ts +9 -0
- package/dist/cli-progress/index.d.ts.map +1 -0
- package/dist/cli-progress/index.js +9 -0
- package/dist/cli-progress/index.js.map +1 -0
- package/dist/cli-progress/progress-bar.d.ts +12 -0
- package/dist/cli-progress/progress-bar.d.ts.map +1 -0
- package/dist/cli-progress/progress-bar.js +29 -0
- package/dist/cli-progress/progress-bar.js.map +1 -0
- package/dist/cli-progress/spinner.d.ts +21 -0
- package/dist/cli-progress/spinner.d.ts.map +1 -0
- package/dist/cli-progress/spinner.js +35 -0
- package/dist/cli-progress/spinner.js.map +1 -0
- package/dist/cli-progress/task-renderer.d.ts +57 -0
- package/dist/cli-progress/task-renderer.d.ts.map +1 -0
- package/dist/cli-progress/task-renderer.js +177 -0
- package/dist/cli-progress/task-renderer.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +135 -24
- package/dist/cli.js.map +1 -1
- package/dist/constants.d.ts +1 -1
- package/dist/constants.js +1 -1
- package/dist/data-sources/alerts-generator.d.ts +12 -0
- package/dist/data-sources/alerts-generator.d.ts.map +1 -0
- package/dist/data-sources/alerts-generator.js +168 -0
- package/dist/data-sources/alerts-generator.js.map +1 -0
- package/dist/data-sources/index.d.ts +10 -0
- package/dist/data-sources/index.d.ts.map +1 -0
- package/dist/data-sources/index.js +10 -0
- package/dist/data-sources/index.js.map +1 -0
- package/dist/data-sources/metrics-generator.d.ts +12 -0
- package/dist/data-sources/metrics-generator.d.ts.map +1 -0
- package/dist/data-sources/metrics-generator.js +169 -0
- package/dist/data-sources/metrics-generator.js.map +1 -0
- package/dist/data-sources/pipeline-generator.d.ts +12 -0
- package/dist/data-sources/pipeline-generator.d.ts.map +1 -0
- package/dist/data-sources/pipeline-generator.js +157 -0
- package/dist/data-sources/pipeline-generator.js.map +1 -0
- package/dist/data-sources/sla-generator.d.ts +12 -0
- package/dist/data-sources/sla-generator.d.ts.map +1 -0
- package/dist/data-sources/sla-generator.js +84 -0
- package/dist/data-sources/sla-generator.js.map +1 -0
- package/dist/demo-generator.d.ts +6 -2
- package/dist/demo-generator.d.ts.map +1 -1
- package/dist/demo-generator.js +40 -30
- package/dist/demo-generator.js.map +1 -1
- package/dist/demo-schema.d.ts +49 -0
- package/dist/demo-schema.d.ts.map +1 -1
- package/dist/findings/aggregator.d.ts +26 -0
- package/dist/findings/aggregator.d.ts.map +1 -0
- package/dist/findings/aggregator.js +149 -0
- package/dist/findings/aggregator.js.map +1 -0
- package/dist/findings/formatter.d.ts +50 -0
- package/dist/findings/formatter.d.ts.map +1 -0
- package/dist/findings/formatter.js +393 -0
- package/dist/findings/formatter.js.map +1 -0
- package/dist/findings/index.d.ts +4 -0
- package/dist/findings/index.d.ts.map +1 -0
- package/dist/findings/index.js +7 -0
- package/dist/findings/index.js.map +1 -0
- package/dist/findings/prioritizer.d.ts +15 -0
- package/dist/findings/prioritizer.d.ts.map +1 -0
- package/dist/findings/prioritizer.js +107 -0
- package/dist/findings/prioritizer.js.map +1 -0
- package/dist/handlers.d.ts +38 -0
- package/dist/handlers.d.ts.map +1 -1
- package/dist/handlers.js +135 -1
- package/dist/handlers.js.map +1 -1
- package/dist/investigation-engine/example.d.ts +9 -0
- package/dist/investigation-engine/example.d.ts.map +1 -0
- package/dist/investigation-engine/example.js +88 -0
- package/dist/investigation-engine/example.js.map +1 -0
- package/dist/investigation-engine/index.d.ts +9 -0
- package/dist/investigation-engine/index.d.ts.map +1 -0
- package/dist/investigation-engine/index.js +9 -0
- package/dist/investigation-engine/index.js.map +1 -0
- package/dist/investigation-engine/task-definitions.d.ts +10 -0
- package/dist/investigation-engine/task-definitions.d.ts.map +1 -0
- package/dist/investigation-engine/task-definitions.js +86 -0
- package/dist/investigation-engine/task-definitions.js.map +1 -0
- package/dist/investigation-engine/task-executor.d.ts +58 -0
- package/dist/investigation-engine/task-executor.d.ts.map +1 -0
- package/dist/investigation-engine/task-executor.js +211 -0
- package/dist/investigation-engine/task-executor.js.map +1 -0
- package/dist/investigation-engine/task-progress.d.ts +51 -0
- package/dist/investigation-engine/task-progress.d.ts.map +1 -0
- package/dist/investigation-engine/task-progress.js +107 -0
- package/dist/investigation-engine/task-progress.js.map +1 -0
- package/dist/investigation-engine/task-types.d.ts +44 -0
- package/dist/investigation-engine/task-types.d.ts.map +1 -0
- package/dist/investigation-engine/task-types.js +2 -0
- package/dist/investigation-engine/task-types.js.map +1 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +22 -2
- package/dist/mcp/tools.js.map +1 -1
- package/dist/parser.d.ts.map +1 -1
- package/dist/parser.js +10 -0
- package/dist/parser.js.map +1 -1
- package/dist/repl.d.ts.map +1 -1
- package/dist/repl.js +143 -19
- package/dist/repl.js.map +1 -1
- package/dist/seeded-random.d.ts +15 -0
- package/dist/seeded-random.d.ts.map +1 -0
- package/dist/seeded-random.js +32 -0
- package/dist/seeded-random.js.map +1 -0
- package/dist/storage.d.ts +9 -5
- package/dist/storage.d.ts.map +1 -1
- package/dist/storage.js +75 -8
- package/dist/storage.js.map +1 -1
- package/dist/tool-config.d.ts +36 -0
- package/dist/tool-config.d.ts.map +1 -0
- package/dist/tool-config.js +83 -0
- package/dist/tool-config.js.map +1 -0
- package/dist/tool-discovery.d.ts +27 -0
- package/dist/tool-discovery.d.ts.map +1 -0
- package/dist/tool-discovery.js +150 -0
- package/dist/tool-discovery.js.map +1 -0
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Finding } from '../investigation-engine/task-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Assign priority to a finding based on priority rules:
|
|
4
|
+
* P0: SLA breach, error rate >10%, complete outage
|
|
5
|
+
* P1: Error rate >5%, failed deploy, latency >2x baseline
|
|
6
|
+
* P2: Warning alerts, latency degradation, high resource usage
|
|
7
|
+
* P3: Informational, minor anomalies
|
|
8
|
+
*/
|
|
9
|
+
export declare function assignPriority(finding: Finding): Finding;
|
|
10
|
+
/**
|
|
11
|
+
* Sort findings by priority (P0 first, P3 last)
|
|
12
|
+
* Within the same priority, sort by service name alphabetically
|
|
13
|
+
*/
|
|
14
|
+
export declare function sortByPriority(findings: Finding[]): Finding[];
|
|
15
|
+
//# sourceMappingURL=prioritizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prioritizer.d.ts","sourceRoot":"","sources":["../../src/findings/prioritizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,uCAAuC,CAAC;AAEjF;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAMxD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAgB7D"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Assign priority to a finding based on priority rules:
|
|
3
|
+
* P0: SLA breach, error rate >10%, complete outage
|
|
4
|
+
* P1: Error rate >5%, failed deploy, latency >2x baseline
|
|
5
|
+
* P2: Warning alerts, latency degradation, high resource usage
|
|
6
|
+
* P3: Informational, minor anomalies
|
|
7
|
+
*/
|
|
8
|
+
export function assignPriority(finding) {
|
|
9
|
+
const priority = getPriority(finding);
|
|
10
|
+
return {
|
|
11
|
+
...finding,
|
|
12
|
+
priority,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Sort findings by priority (P0 first, P3 last)
|
|
17
|
+
* Within the same priority, sort by service name alphabetically
|
|
18
|
+
*/
|
|
19
|
+
export function sortByPriority(findings) {
|
|
20
|
+
const priorityOrder = {
|
|
21
|
+
P0: 0,
|
|
22
|
+
P1: 1,
|
|
23
|
+
P2: 2,
|
|
24
|
+
P3: 3,
|
|
25
|
+
};
|
|
26
|
+
return [...findings].sort((a, b) => {
|
|
27
|
+
const priorityDiff = priorityOrder[a.priority] - priorityOrder[b.priority];
|
|
28
|
+
if (priorityDiff !== 0) {
|
|
29
|
+
return priorityDiff;
|
|
30
|
+
}
|
|
31
|
+
// Same priority, sort by service name
|
|
32
|
+
return a.service.localeCompare(b.service);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Determine priority based on finding attributes
|
|
37
|
+
*/
|
|
38
|
+
function getPriority(finding) {
|
|
39
|
+
const title = finding.title.toLowerCase();
|
|
40
|
+
const description = finding.description.toLowerCase();
|
|
41
|
+
const category = finding.category;
|
|
42
|
+
// P0 - Critical (immediate action required)
|
|
43
|
+
if (category === 'sla' && (title.includes('breach') || description.includes('breach'))) {
|
|
44
|
+
return 'P0';
|
|
45
|
+
}
|
|
46
|
+
if (category === 'errors') {
|
|
47
|
+
if (containsPercentageGreaterThan(title, 10) || containsPercentageGreaterThan(description, 10)) {
|
|
48
|
+
return 'P0';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (title.includes('outage') || title.includes('down') || title.includes('complete failure')) {
|
|
52
|
+
return 'P0';
|
|
53
|
+
}
|
|
54
|
+
if (description.includes('complete outage') || description.includes('total failure')) {
|
|
55
|
+
return 'P0';
|
|
56
|
+
}
|
|
57
|
+
// P1 - High (address within hours)
|
|
58
|
+
if (category === 'errors') {
|
|
59
|
+
if (containsPercentageGreaterThan(title, 5) || containsPercentageGreaterThan(description, 5)) {
|
|
60
|
+
return 'P1';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (category === 'deploy' && (title.includes('failed') || description.includes('failed'))) {
|
|
64
|
+
return 'P1';
|
|
65
|
+
}
|
|
66
|
+
if (category === 'latency') {
|
|
67
|
+
if (title.includes('2x') || description.includes('2x') ||
|
|
68
|
+
title.includes('doubled') || description.includes('doubled')) {
|
|
69
|
+
return 'P1';
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (title.includes('critical') || description.includes('critical')) {
|
|
73
|
+
return 'P1';
|
|
74
|
+
}
|
|
75
|
+
// P2 - Medium (address within days)
|
|
76
|
+
if (category === 'latency' || category === 'saturation') {
|
|
77
|
+
return 'P2';
|
|
78
|
+
}
|
|
79
|
+
if (title.includes('warning') || description.includes('warning')) {
|
|
80
|
+
return 'P2';
|
|
81
|
+
}
|
|
82
|
+
if (title.includes('degraded') || description.includes('degraded')) {
|
|
83
|
+
return 'P2';
|
|
84
|
+
}
|
|
85
|
+
if (title.includes('elevated') || description.includes('elevated')) {
|
|
86
|
+
return 'P2';
|
|
87
|
+
}
|
|
88
|
+
// P3 - Low (informational)
|
|
89
|
+
return 'P3';
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if text contains a percentage greater than the threshold
|
|
93
|
+
* Handles formats like "15%", "error rate at 12%", ">10%", etc.
|
|
94
|
+
*/
|
|
95
|
+
function containsPercentageGreaterThan(text, threshold) {
|
|
96
|
+
// Match patterns like "15%", ">10%", "at 12%"
|
|
97
|
+
const percentageRegex = /(?:>|at\s+)?(\d+(?:\.\d+)?)\s*%/g;
|
|
98
|
+
let match;
|
|
99
|
+
while ((match = percentageRegex.exec(text)) !== null) {
|
|
100
|
+
const value = parseFloat(match[1]);
|
|
101
|
+
if (value > threshold) {
|
|
102
|
+
return true;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=prioritizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prioritizer.js","sourceRoot":"","sources":["../../src/findings/prioritizer.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers.d.ts
CHANGED
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Handlers contain business logic only and return structured results.
|
|
5
5
|
* Each mode is responsible for formatting and displaying results appropriately.
|
|
6
6
|
*/
|
|
7
|
+
import { type ExecutiveSummary } from './findings/formatter.js';
|
|
8
|
+
import type { InvestigationTask, TaskProgressEvent } from './investigation-engine/task-types.js';
|
|
7
9
|
/**
|
|
8
10
|
* Execution context for handlers
|
|
9
11
|
*/
|
|
@@ -76,4 +78,40 @@ export declare function executeUninstall(options: {
|
|
|
76
78
|
* Handle doctor command - M10
|
|
77
79
|
*/
|
|
78
80
|
export declare function handleDoctor(context: HandlerContext): Promise<HandlerResult>;
|
|
81
|
+
/**
|
|
82
|
+
* Multi-agent investigation result
|
|
83
|
+
*/
|
|
84
|
+
export interface MultiAgentInvestigationResult {
|
|
85
|
+
query: string;
|
|
86
|
+
sessionId: string;
|
|
87
|
+
tasks: InvestigationTask[];
|
|
88
|
+
summary: ExecutiveSummary;
|
|
89
|
+
formattedOutput: {
|
|
90
|
+
cli: string;
|
|
91
|
+
markdown: string;
|
|
92
|
+
};
|
|
93
|
+
timing: {
|
|
94
|
+
startTime: number;
|
|
95
|
+
endTime: number;
|
|
96
|
+
totalDuration: number;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Options for multi-agent investigation
|
|
101
|
+
*/
|
|
102
|
+
export interface MultiAgentInvestigateOptions {
|
|
103
|
+
onProgress?: (event: TaskProgressEvent) => void;
|
|
104
|
+
parallel?: boolean;
|
|
105
|
+
simulatedDelay?: boolean;
|
|
106
|
+
maxConcurrency?: number;
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Handle multi-agent investigation command - M18
|
|
110
|
+
* Executes parallel investigation tasks and returns aggregated findings
|
|
111
|
+
*/
|
|
112
|
+
export declare function handleMultiAgentInvestigate(query: string, context: HandlerContext, options?: MultiAgentInvestigateOptions): Promise<HandlerResult>;
|
|
113
|
+
/**
|
|
114
|
+
* Handle tool discovery command - M13
|
|
115
|
+
*/
|
|
116
|
+
export declare function handleToolDiscovery(context: HandlerContext): Promise<HandlerResult>;
|
|
79
117
|
//# sourceMappingURL=handlers.d.ts.map
|
package/dist/handlers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
package/dist/handlers.js
CHANGED
|
@@ -4,7 +4,12 @@
|
|
|
4
4
|
* Handlers contain business logic only and return structured results.
|
|
5
5
|
* Each mode is responsible for formatting and displaying results appropriately.
|
|
6
6
|
*/
|
|
7
|
-
import { generateDemoData } from './demo-generator.js';
|
|
7
|
+
import { generateDemoData, generateEnhancedDemoData } from './demo-generator.js';
|
|
8
|
+
import { TaskExecutor } from './investigation-engine/task-executor.js';
|
|
9
|
+
import { getInvestigationTasks } from './investigation-engine/task-definitions.js';
|
|
10
|
+
import { aggregateFindings } from './findings/aggregator.js';
|
|
11
|
+
import { assignPriority } from './findings/prioritizer.js';
|
|
12
|
+
import { generateExecutiveSummary, formatSummaryForCLI, formatSummaryForMarkdown, } from './findings/formatter.js';
|
|
8
13
|
import { saveDemoData, loadDemoData, deleteDemoData, demoDataExists, } from './storage.js';
|
|
9
14
|
import { buildTimeline, deduplicateTimeline } from './timeline.js';
|
|
10
15
|
import { generateInvestigationPaths, findRecallMatches, detectMissingSignals, generateSuggestions, } from './investigation.js';
|
|
@@ -468,4 +473,133 @@ export async function handleDoctor(context) {
|
|
|
468
473
|
};
|
|
469
474
|
}
|
|
470
475
|
}
|
|
476
|
+
/**
|
|
477
|
+
* Handle multi-agent investigation command - M18
|
|
478
|
+
* Executes parallel investigation tasks and returns aggregated findings
|
|
479
|
+
*/
|
|
480
|
+
export async function handleMultiAgentInvestigate(query, context, options = {}) {
|
|
481
|
+
try {
|
|
482
|
+
const startTime = Date.now();
|
|
483
|
+
const sessionId = `multi-${Date.now()}`;
|
|
484
|
+
// Seed demo data if needed
|
|
485
|
+
if (!demoDataExists()) {
|
|
486
|
+
const dataset = generateDemoData();
|
|
487
|
+
saveDemoData(dataset);
|
|
488
|
+
}
|
|
489
|
+
// Generate enhanced demo data for metrics (use query hash as seed for determinism)
|
|
490
|
+
const queryHash = query.split('').reduce((acc, char) => acc + char.charCodeAt(0), 0);
|
|
491
|
+
const enhancedData = generateEnhancedDemoData(queryHash);
|
|
492
|
+
// Get investigation tasks
|
|
493
|
+
const tasks = getInvestigationTasks(query);
|
|
494
|
+
// Create task executor with options
|
|
495
|
+
const executor = new TaskExecutor({
|
|
496
|
+
parallel: options.parallel ?? true,
|
|
497
|
+
maxConcurrency: options.maxConcurrency ?? 5,
|
|
498
|
+
simulatedDelay: options.simulatedDelay ?? true,
|
|
499
|
+
onProgress: options.onProgress,
|
|
500
|
+
});
|
|
501
|
+
// Execute tasks
|
|
502
|
+
const completedTasks = await executor.execute(tasks);
|
|
503
|
+
// Apply priority assignment to all findings
|
|
504
|
+
for (const task of completedTasks) {
|
|
505
|
+
if (task.result?.findings) {
|
|
506
|
+
task.result.findings = task.result.findings.map(finding => assignPriority(finding));
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
// Aggregate findings
|
|
510
|
+
const aggregated = aggregateFindings(completedTasks);
|
|
511
|
+
// Generate metrics summary from enhanced demo data
|
|
512
|
+
const metricsData = {
|
|
513
|
+
sla: {
|
|
514
|
+
status: enhancedData.sla.some((s) => s.status === 'breached')
|
|
515
|
+
? 'breached'
|
|
516
|
+
: enhancedData.sla.some((s) => s.status === 'warning')
|
|
517
|
+
? 'warning'
|
|
518
|
+
: 'healthy',
|
|
519
|
+
current: enhancedData.sla.length > 0
|
|
520
|
+
? Math.min(...enhancedData.sla.map((s) => s.current))
|
|
521
|
+
: 99.5,
|
|
522
|
+
target: 99.5,
|
|
523
|
+
},
|
|
524
|
+
latency: {
|
|
525
|
+
status: enhancedData.metrics.some((m) => m.metric === 'latency_p99' && m.anomaly === 'spike')
|
|
526
|
+
? 'critical'
|
|
527
|
+
: 'healthy',
|
|
528
|
+
current: `${Math.round(enhancedData.metrics.find((m) => m.metric === 'latency_p99')?.value || 250)}ms`,
|
|
529
|
+
target: '500ms',
|
|
530
|
+
},
|
|
531
|
+
errorRate: {
|
|
532
|
+
status: enhancedData.metrics.some((m) => m.metric === 'error_rate' && m.anomaly === 'spike')
|
|
533
|
+
? 'critical'
|
|
534
|
+
: 'healthy',
|
|
535
|
+
current: `${(enhancedData.metrics.find((m) => m.metric === 'error_rate')?.value || 0.5).toFixed(1)}%`,
|
|
536
|
+
target: '1%',
|
|
537
|
+
},
|
|
538
|
+
traffic: {
|
|
539
|
+
status: enhancedData.metrics.some((m) => m.metric === 'throughput' && m.anomaly === 'spike')
|
|
540
|
+
? 'warning'
|
|
541
|
+
: 'healthy',
|
|
542
|
+
current: `${Math.round((enhancedData.metrics.find((m) => m.metric === 'throughput')?.value || 10000) / 1000)}K rps`,
|
|
543
|
+
capacity: '15K',
|
|
544
|
+
},
|
|
545
|
+
};
|
|
546
|
+
// Generate executive summary
|
|
547
|
+
const summary = generateExecutiveSummary(aggregated, metricsData);
|
|
548
|
+
// Format output for CLI and markdown
|
|
549
|
+
const formattedOutput = {
|
|
550
|
+
cli: formatSummaryForCLI(summary),
|
|
551
|
+
markdown: formatSummaryForMarkdown(summary),
|
|
552
|
+
};
|
|
553
|
+
const endTime = Date.now();
|
|
554
|
+
const result = {
|
|
555
|
+
query,
|
|
556
|
+
sessionId,
|
|
557
|
+
tasks: completedTasks,
|
|
558
|
+
summary,
|
|
559
|
+
formattedOutput,
|
|
560
|
+
timing: {
|
|
561
|
+
startTime,
|
|
562
|
+
endTime,
|
|
563
|
+
totalDuration: endTime - startTime,
|
|
564
|
+
},
|
|
565
|
+
};
|
|
566
|
+
return {
|
|
567
|
+
success: true,
|
|
568
|
+
message: 'Multi-agent investigation complete',
|
|
569
|
+
data: result,
|
|
570
|
+
};
|
|
571
|
+
}
|
|
572
|
+
catch (error) {
|
|
573
|
+
return {
|
|
574
|
+
success: false,
|
|
575
|
+
message: 'Multi-agent investigation failed',
|
|
576
|
+
error: error instanceof Error ? error.message : String(error),
|
|
577
|
+
};
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
/**
|
|
581
|
+
* Handle tool discovery command - M13
|
|
582
|
+
*/
|
|
583
|
+
export async function handleToolDiscovery(context) {
|
|
584
|
+
try {
|
|
585
|
+
const { discoverTools } = await import('./tool-discovery.js');
|
|
586
|
+
const { saveToolConfig } = await import('./tool-config.js');
|
|
587
|
+
// Run tool discovery
|
|
588
|
+
const result = discoverTools();
|
|
589
|
+
// Save results to config
|
|
590
|
+
saveToolConfig(result);
|
|
591
|
+
return {
|
|
592
|
+
success: true,
|
|
593
|
+
message: 'Tool discovery complete',
|
|
594
|
+
data: result,
|
|
595
|
+
};
|
|
596
|
+
}
|
|
597
|
+
catch (error) {
|
|
598
|
+
return {
|
|
599
|
+
success: false,
|
|
600
|
+
message: 'Tool discovery failed',
|
|
601
|
+
error: error instanceof Error ? error.message : String(error),
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
}
|
|
471
605
|
//# sourceMappingURL=handlers.js.map
|
package/dist/handlers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../src/handlers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example usage of the Investigation Engine
|
|
3
|
+
*
|
|
4
|
+
* This file demonstrates how to use the TaskExecutor and TaskProgressTracker
|
|
5
|
+
* to run parallel investigation tasks with progress tracking.
|
|
6
|
+
*/
|
|
7
|
+
declare function runExample(): Promise<void>;
|
|
8
|
+
export { runExample };
|
|
9
|
+
//# sourceMappingURL=example.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.d.ts","sourceRoot":"","sources":["../../src/investigation-engine/example.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,iBAAe,UAAU,kBAyFxB;AAOD,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Example usage of the Investigation Engine
|
|
3
|
+
*
|
|
4
|
+
* This file demonstrates how to use the TaskExecutor and TaskProgressTracker
|
|
5
|
+
* to run parallel investigation tasks with progress tracking.
|
|
6
|
+
*/
|
|
7
|
+
import { TaskExecutor, TaskProgressTracker, getInvestigationTasks } from './index.js';
|
|
8
|
+
async function runExample() {
|
|
9
|
+
console.log('=== Investigation Engine Example ===\n');
|
|
10
|
+
// 1. Get pre-defined investigation tasks for a query
|
|
11
|
+
const query = 'API is slow and returning errors';
|
|
12
|
+
const tasks = getInvestigationTasks(query);
|
|
13
|
+
console.log(`Generated ${tasks.length} investigation tasks for: "${query}"\n`);
|
|
14
|
+
tasks.forEach((task, i) => {
|
|
15
|
+
console.log(`${i + 1}. ${task.name} (${task.priority} priority)`);
|
|
16
|
+
console.log(` Source: ${task.source}`);
|
|
17
|
+
console.log(` ${task.description}\n`);
|
|
18
|
+
});
|
|
19
|
+
// 2. Create a progress tracker
|
|
20
|
+
const tracker = new TaskProgressTracker();
|
|
21
|
+
// Add all tasks to tracker
|
|
22
|
+
tasks.forEach(task => tracker.addTask(task));
|
|
23
|
+
// 3. Set up progress listener
|
|
24
|
+
tracker.onProgress((event) => {
|
|
25
|
+
const timestamp = new Date().toISOString().split('T')[1].split('.')[0];
|
|
26
|
+
switch (event.type) {
|
|
27
|
+
case 'start':
|
|
28
|
+
console.log(`[${timestamp}] ▶️ Started: ${event.taskName}`);
|
|
29
|
+
break;
|
|
30
|
+
case 'complete':
|
|
31
|
+
console.log(`[${timestamp}] ✅ Completed: ${event.taskName} (${event.duration}ms, ${event.findingsCount} findings)`);
|
|
32
|
+
break;
|
|
33
|
+
case 'error':
|
|
34
|
+
console.log(`[${timestamp}] ❌ Failed: ${event.taskName} - ${event.message}`);
|
|
35
|
+
break;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
// 4. Create executor and run tasks
|
|
39
|
+
const executor = new TaskExecutor({
|
|
40
|
+
parallel: true,
|
|
41
|
+
maxConcurrency: 3,
|
|
42
|
+
simulatedDelay: true,
|
|
43
|
+
onProgress: (event) => tracker.emit(event),
|
|
44
|
+
});
|
|
45
|
+
console.log('\n=== Executing Tasks (max 3 concurrent) ===\n');
|
|
46
|
+
const startTime = Date.now();
|
|
47
|
+
const results = await executor.execute(tasks);
|
|
48
|
+
const totalDuration = Date.now() - startTime;
|
|
49
|
+
// 5. Display summary
|
|
50
|
+
console.log('\n=== Execution Summary ===\n');
|
|
51
|
+
const summary = tracker.getSummary();
|
|
52
|
+
console.log(`Total tasks: ${summary.total}`);
|
|
53
|
+
console.log(`Completed: ${summary.completed}`);
|
|
54
|
+
console.log(`Failed: ${summary.failed}`);
|
|
55
|
+
console.log(`Total findings: ${summary.findings}`);
|
|
56
|
+
console.log(`Total duration: ${totalDuration}ms\n`);
|
|
57
|
+
// 6. Display findings
|
|
58
|
+
console.log('=== Findings by Priority ===\n');
|
|
59
|
+
const allFindings = results
|
|
60
|
+
.filter(task => task.result)
|
|
61
|
+
.flatMap(task => task.result.findings);
|
|
62
|
+
const byPriority = {
|
|
63
|
+
P0: allFindings.filter(f => f.priority === 'P0'),
|
|
64
|
+
P1: allFindings.filter(f => f.priority === 'P1'),
|
|
65
|
+
P2: allFindings.filter(f => f.priority === 'P2'),
|
|
66
|
+
P3: allFindings.filter(f => f.priority === 'P3'),
|
|
67
|
+
};
|
|
68
|
+
Object.entries(byPriority).forEach(([priority, findings]) => {
|
|
69
|
+
if (findings.length > 0) {
|
|
70
|
+
console.log(`${priority}: ${findings.length} findings`);
|
|
71
|
+
findings.slice(0, 2).forEach(f => {
|
|
72
|
+
console.log(` - ${f.title} (${f.service})`);
|
|
73
|
+
});
|
|
74
|
+
if (findings.length > 2) {
|
|
75
|
+
console.log(` ... and ${findings.length - 2} more\n`);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
console.log();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// Run the example if this file is executed directly
|
|
84
|
+
if (import.meta.url === `file://${process.argv[1]}`) {
|
|
85
|
+
runExample().catch(console.error);
|
|
86
|
+
}
|
|
87
|
+
export { runExample };
|
|
88
|
+
//# sourceMappingURL=example.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example.js","sourceRoot":"","sources":["../../src/investigation-engine/example.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Investigation Engine - Parallel task execution for multi-agent investigations
|
|
3
|
+
*/
|
|
4
|
+
export type { TaskSource, TaskStatus, FindingPriority, Finding, TaskResult, InvestigationTask, TaskProgressEvent, TaskEventCallback, } from './task-types.js';
|
|
5
|
+
export { TaskExecutor } from './task-executor.js';
|
|
6
|
+
export type { TaskExecutorOptions } from './task-executor.js';
|
|
7
|
+
export { TaskProgressTracker } from './task-progress.js';
|
|
8
|
+
export { getInvestigationTasks, createCustomTask } from './task-definitions.js';
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/investigation-engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,UAAU,EACV,UAAU,EACV,eAAe,EACf,OAAO,EACP,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Investigation Engine - Parallel task execution for multi-agent investigations
|
|
3
|
+
*/
|
|
4
|
+
// Export classes
|
|
5
|
+
export { TaskExecutor } from './task-executor.js';
|
|
6
|
+
export { TaskProgressTracker } from './task-progress.js';
|
|
7
|
+
// Export task definitions
|
|
8
|
+
export { getInvestigationTasks, createCustomTask } from './task-definitions.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/investigation-engine/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,iBAAiB;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,0BAA0B;AAC1B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { InvestigationTask } from './task-types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Generate pre-defined investigation tasks based on query
|
|
4
|
+
*/
|
|
5
|
+
export declare function getInvestigationTasks(query: string): InvestigationTask[];
|
|
6
|
+
/**
|
|
7
|
+
* Create a custom investigation task
|
|
8
|
+
*/
|
|
9
|
+
export declare function createCustomTask(name: string, description: string, source: InvestigationTask['source'], priority?: InvestigationTask['priority']): InvestigationTask;
|
|
10
|
+
//# sourceMappingURL=task-definitions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-definitions.d.ts","sourceRoot":"","sources":["../../src/investigation-engine/task-definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,EAAE,CA8ExE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EACnC,QAAQ,GAAE,iBAAiB,CAAC,UAAU,CAAY,GACjD,iBAAiB,CASnB"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generate pre-defined investigation tasks based on query
|
|
3
|
+
*/
|
|
4
|
+
export function getInvestigationTasks(query) {
|
|
5
|
+
const tasks = [];
|
|
6
|
+
// Always include high-priority tasks
|
|
7
|
+
tasks.push({
|
|
8
|
+
id: 'task-datadog-metrics',
|
|
9
|
+
name: 'Fetch Datadog Metrics',
|
|
10
|
+
description: 'Retrieve recent metrics from Datadog for error rates, latency, and throughput',
|
|
11
|
+
source: 'datadog',
|
|
12
|
+
priority: 'high',
|
|
13
|
+
status: 'pending',
|
|
14
|
+
});
|
|
15
|
+
tasks.push({
|
|
16
|
+
id: 'task-recent-deploys',
|
|
17
|
+
name: 'Check Recent Deployments',
|
|
18
|
+
description: 'Scan for recent deployments that may have introduced issues',
|
|
19
|
+
source: 'deployments',
|
|
20
|
+
priority: 'high',
|
|
21
|
+
status: 'pending',
|
|
22
|
+
});
|
|
23
|
+
tasks.push({
|
|
24
|
+
id: 'task-error-logs',
|
|
25
|
+
name: 'Scan Error Logs',
|
|
26
|
+
description: 'Search logs for error patterns and stack traces',
|
|
27
|
+
source: 'logs',
|
|
28
|
+
priority: 'high',
|
|
29
|
+
status: 'pending',
|
|
30
|
+
});
|
|
31
|
+
// Medium priority tasks
|
|
32
|
+
tasks.push({
|
|
33
|
+
id: 'task-sla-metrics',
|
|
34
|
+
name: 'Analyze SLA Metrics',
|
|
35
|
+
description: 'Check if any SLAs are being violated',
|
|
36
|
+
source: 'sla',
|
|
37
|
+
priority: 'medium',
|
|
38
|
+
status: 'pending',
|
|
39
|
+
});
|
|
40
|
+
tasks.push({
|
|
41
|
+
id: 'task-past-incidents',
|
|
42
|
+
name: 'Review Past Incidents',
|
|
43
|
+
description: 'Look for similar past incidents and their resolutions',
|
|
44
|
+
source: 'incidents',
|
|
45
|
+
priority: 'medium',
|
|
46
|
+
status: 'pending',
|
|
47
|
+
});
|
|
48
|
+
tasks.push({
|
|
49
|
+
id: 'task-alerts',
|
|
50
|
+
name: 'Check Active Alerts',
|
|
51
|
+
description: 'Retrieve currently firing alerts and their history',
|
|
52
|
+
source: 'alerts',
|
|
53
|
+
priority: 'medium',
|
|
54
|
+
status: 'pending',
|
|
55
|
+
});
|
|
56
|
+
// Low priority task - only include if query mentions traces or performance
|
|
57
|
+
const queryLower = query.toLowerCase();
|
|
58
|
+
if (queryLower.includes('trace') ||
|
|
59
|
+
queryLower.includes('performance') ||
|
|
60
|
+
queryLower.includes('slow') ||
|
|
61
|
+
queryLower.includes('latency')) {
|
|
62
|
+
tasks.push({
|
|
63
|
+
id: 'task-traces',
|
|
64
|
+
name: 'Analyze Distributed Traces',
|
|
65
|
+
description: 'Examine trace data for performance bottlenecks',
|
|
66
|
+
source: 'traces',
|
|
67
|
+
priority: 'low',
|
|
68
|
+
status: 'pending',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return tasks;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Create a custom investigation task
|
|
75
|
+
*/
|
|
76
|
+
export function createCustomTask(name, description, source, priority = 'medium') {
|
|
77
|
+
return {
|
|
78
|
+
id: `task-custom-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`,
|
|
79
|
+
name,
|
|
80
|
+
description,
|
|
81
|
+
source,
|
|
82
|
+
priority,
|
|
83
|
+
status: 'pending',
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=task-definitions.js.map
|