hawkeye-mcp-server 2.0.1 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +46 -0
- package/build/tools/continue-investigation.js +15 -27
- package/build/tools/continue-investigation.js.map +1 -1
- package/build/tools/get-status.js +50 -0
- package/build/tools/get-status.js.map +1 -1
- package/build/tools/investigate-alert.js +15 -27
- package/build/tools/investigate-alert.js.map +1 -1
- package/build/tools/rerun-session.d.ts +0 -6
- package/build/tools/rerun-session.js +14 -59
- package/build/tools/rerun-session.js.map +1 -1
- package/build/types/mcp.d.ts +1 -7
- package/build/utils/validation.d.ts +0 -21
- package/build/utils/validation.js +1 -8
- package/build/utils/validation.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,52 @@ All notable changes to the Hawkeye MCP Server will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.2] - 2025-11-23
|
|
9
|
+
|
|
10
|
+
### 🚨 BREAKING CHANGE: Removed wait_for_completion
|
|
11
|
+
|
|
12
|
+
This is a **critical** fix that removes the problematic `wait_for_completion` parameter that was causing investigations to block unnecessarily.
|
|
13
|
+
|
|
14
|
+
### Removed
|
|
15
|
+
|
|
16
|
+
- **Removed `wait_for_completion` parameter** from ALL investigation tools:
|
|
17
|
+
- `hawkeye_create_manual_investigation` - NO MORE wait_for_completion
|
|
18
|
+
- `hawkeye_investigate_alert` - NO MORE wait_for_completion
|
|
19
|
+
- `hawkeye_continue_investigation` - NO MORE wait_for_completion
|
|
20
|
+
- `hawkeye_rerun_session` - NO MORE wait_for_completion
|
|
21
|
+
- **Removed `max_wait_seconds` parameter** from all investigation tools
|
|
22
|
+
|
|
23
|
+
### Changed
|
|
24
|
+
|
|
25
|
+
- **ALL investigations now return immediately** with clear polling instructions
|
|
26
|
+
- All investigation tools now return:
|
|
27
|
+
- `session_uuid` - For tracking the investigation
|
|
28
|
+
- `status: 'in_progress'` - Current status
|
|
29
|
+
- `estimated_completion_time` - How long to expect (e.g., "2-5 minutes")
|
|
30
|
+
- `next_steps` - Clear instructions on what to do next
|
|
31
|
+
- `polling_instructions` - Structured polling guidance with tool name and interval
|
|
32
|
+
- LLMs are now **instructed to poll every 10-15 seconds** using `hawkeye_get_investigation_status`
|
|
33
|
+
- Once status is `completed`, LLMs should call `hawkeye_get_rca` to retrieve results
|
|
34
|
+
|
|
35
|
+
### Fixed
|
|
36
|
+
|
|
37
|
+
- TypeScript interfaces in `src/types/mcp.ts` no longer define `wait_for_completion`
|
|
38
|
+
- Zod validation schemas in `src/utils/validation.ts` no longer include `wait_for_completion`
|
|
39
|
+
- Tool implementations no longer have conditional wait logic - always return immediately
|
|
40
|
+
- MCP tool schema generation will no longer show `wait_for_completion` as an option
|
|
41
|
+
|
|
42
|
+
### Enhanced
|
|
43
|
+
|
|
44
|
+
- **`hawkeye_get_investigation_status` now shows real-time progress**:
|
|
45
|
+
- Checks `prompt_cycle` messages for latest `CONTENT_TYPE_PROGRESS_STATUS` updates
|
|
46
|
+
- Humanizes technical progress messages with emojis and clear descriptions:
|
|
47
|
+
- `PromptGate` → "🔧 Preparing telemetry sources"
|
|
48
|
+
- `SelectTablesFirst` → "🔍 Classifying datasources"
|
|
49
|
+
- `SQLSplitExecute` → "🔎 Consulting telemetry"
|
|
50
|
+
- `SplitAnswer` → "🧠 Analyzing telemetry data"
|
|
51
|
+
- Falls back to `chain_of_thoughts` if no progress messages available
|
|
52
|
+
- Provides users with visibility into what Hawkeye is currently doing
|
|
53
|
+
|
|
8
54
|
## [2.0.0] - 2025-11-23
|
|
9
55
|
|
|
10
56
|
### 🎉 Major Feature: Real-Time Streaming Investigation Progress
|
|
@@ -21,35 +21,23 @@ export async function continueInvestigation(services, args) {
|
|
|
21
21
|
// Send the follow-up prompt
|
|
22
22
|
await services.sessionService.sendPrompt(input.session_uuid, projectUuid, input.follow_up_prompt);
|
|
23
23
|
logger.info('Follow-up prompt sent');
|
|
24
|
-
//
|
|
25
|
-
if (input.wait_for_completion) {
|
|
26
|
-
logger.info('Waiting for follow-up to complete', {
|
|
27
|
-
maxWaitSeconds: input.max_wait_seconds,
|
|
28
|
-
});
|
|
29
|
-
const maxAttempts = Math.ceil(input.max_wait_seconds / (config.pollIntervalMs / 1000));
|
|
30
|
-
try {
|
|
31
|
-
const completedSession = await services.sessionService.pollForCompletion(input.session_uuid, projectUuid, organizationUuid, maxAttempts, config.pollIntervalMs);
|
|
32
|
-
return {
|
|
33
|
-
session_uuid: input.session_uuid,
|
|
34
|
-
status: 'completed',
|
|
35
|
-
investigation_results: formatInvestigationResults(completedSession),
|
|
36
|
-
message: 'Follow-up investigation completed',
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
catch (error) {
|
|
40
|
-
// Timeout or error during polling
|
|
41
|
-
return {
|
|
42
|
-
session_uuid: input.session_uuid,
|
|
43
|
-
status: 'in_progress',
|
|
44
|
-
message: `Follow-up prompt sent, but investigation not yet complete. Use hawkeye_get_investigation_status with session_uuid: ${input.session_uuid} to check progress.`,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// Return immediately without waiting
|
|
24
|
+
// Always return immediately - never wait for completion
|
|
49
25
|
return {
|
|
50
26
|
session_uuid: input.session_uuid,
|
|
51
|
-
status: '
|
|
52
|
-
message: `Follow-up
|
|
27
|
+
status: 'in_progress',
|
|
28
|
+
message: `Follow-up question submitted. Processing typically takes 30-90 seconds.`,
|
|
29
|
+
next_steps: [
|
|
30
|
+
'Check progress using: hawkeye_get_investigation_status',
|
|
31
|
+
'Poll every 10-15 seconds until status is "completed"',
|
|
32
|
+
'Once complete, retrieve the full RCA using: hawkeye_get_rca',
|
|
33
|
+
],
|
|
34
|
+
estimated_completion_time: '30-90 seconds',
|
|
35
|
+
polling_instructions: {
|
|
36
|
+
tool: 'hawkeye_get_investigation_status',
|
|
37
|
+
session_uuid: input.session_uuid,
|
|
38
|
+
poll_interval_seconds: 10,
|
|
39
|
+
description: 'Call hawkeye_get_investigation_status every 10-15 seconds to check progress. When status shows "completed", use hawkeye_get_rca to view the updated analysis.',
|
|
40
|
+
},
|
|
53
41
|
};
|
|
54
42
|
}
|
|
55
43
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"continue-investigation.js","sourceRoot":"","sources":["../../src/tools/continue-investigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAsB,EACtB,IAAa;IAEb,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;QACtC,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM;KAC5C,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC;IACnG,MAAM,gBAAgB,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAExD,4BAA4B;IAC5B,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,CACtC,KAAK,CAAC,YAAY,EAClB,WAAW,EACX,KAAK,CAAC,gBAAgB,CACvB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAErC,
|
|
1
|
+
{"version":3,"file":"continue-investigation.js","sourceRoot":"","sources":["../../src/tools/continue-investigation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,gCAAgC,EAAE,MAAM,wBAAwB,CAAC;AAG1E,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,QAAsB,EACtB,IAAa;IAEb,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,gCAAgC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE3D,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE;QACtC,WAAW,EAAE,KAAK,CAAC,YAAY;QAC/B,YAAY,EAAE,KAAK,CAAC,gBAAgB,CAAC,MAAM;KAC5C,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,MAAM,QAAQ,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,IAAI,CAAC;IACnG,MAAM,gBAAgB,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAExD,4BAA4B;IAC5B,MAAM,QAAQ,CAAC,cAAc,CAAC,UAAU,CACtC,KAAK,CAAC,YAAY,EAClB,WAAW,EACX,KAAK,CAAC,gBAAgB,CACvB,CAAC;IAEF,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAErC,wDAAwD;IACxD,OAAO;QACL,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,yEAAyE;QAClF,UAAU,EAAE;YACV,wDAAwD;YACxD,sDAAsD;YACtD,6DAA6D;SAC9D;QACD,yBAAyB,EAAE,eAAe;QAC1C,oBAAoB,EAAE;YACpB,IAAI,EAAE,kCAAkC;YACxC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,qBAAqB,EAAE,EAAE;YACzB,WAAW,EAAE,+JAA+J;SAC7K;KACK,CAAC;AACX,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CAAC,OAA+B;IACjE,OAAO;QACL,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;QAClD,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE;QAC9B,qBAAqB,EAAE,2BAA2B,CAAC,OAAO,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAAC,OAA+B;IAClE,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;QACzB,WAAW,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QACvE,WAAW,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACtE,WAAW,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;IACpE,CAAC;IAED,IAAI,OAAO,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtE,WAAW,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;IAChF,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IACtF,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -91,12 +91,62 @@ function getCurrentStep(session) {
|
|
|
91
91
|
if (session.final_answer) {
|
|
92
92
|
return 'Investigation complete';
|
|
93
93
|
}
|
|
94
|
+
// Check for latest progress message from prompt_cycle
|
|
95
|
+
if (session.prompt_cycle && session.prompt_cycle.length > 0) {
|
|
96
|
+
const latestCycle = session.prompt_cycle[session.prompt_cycle.length - 1];
|
|
97
|
+
if (latestCycle.request?.messages) {
|
|
98
|
+
// Find the most recent progress status message
|
|
99
|
+
const progressMessages = latestCycle.request.messages
|
|
100
|
+
.filter(msg => msg.content?.content_type === 'CONTENT_TYPE_PROGRESS_STATUS')
|
|
101
|
+
.map(msg => msg.content.parts[0])
|
|
102
|
+
.filter(Boolean);
|
|
103
|
+
if (progressMessages.length > 0) {
|
|
104
|
+
const latestProgress = progressMessages[progressMessages.length - 1];
|
|
105
|
+
// Humanize the progress message
|
|
106
|
+
return humanizeProgressMessage(latestProgress);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Fall back to chain_of_thoughts
|
|
94
111
|
if (session.chain_of_thoughts && session.chain_of_thoughts.length > 0) {
|
|
95
112
|
const latestThought = session.chain_of_thoughts[session.chain_of_thoughts.length - 1];
|
|
96
113
|
return latestThought.description || 'Analyzing data...';
|
|
97
114
|
}
|
|
98
115
|
return 'Starting investigation...';
|
|
99
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Humanize technical progress messages into user-friendly text
|
|
119
|
+
*/
|
|
120
|
+
function humanizeProgressMessage(message) {
|
|
121
|
+
// Map technical component names to human-readable actions
|
|
122
|
+
const progressMap = {
|
|
123
|
+
'PromptGate': '🔧 Preparing telemetry sources',
|
|
124
|
+
'SystemCmd': '⚙️ Loading investigation context',
|
|
125
|
+
'ConfigGate': '📋 Configuring investigation',
|
|
126
|
+
'RouteQuestion': '🧭 Planning investigation approach',
|
|
127
|
+
'PlanQuestion': '📝 Creating investigation plan',
|
|
128
|
+
'SelectTablesFirst': '🔍 Classifying datasources',
|
|
129
|
+
'SelectTablesSecond': '📊 Refining datasource selection',
|
|
130
|
+
'PrepareTables': '📚 Understanding data sources',
|
|
131
|
+
'PrepareQuery': '⚡ Generating investigation queries',
|
|
132
|
+
'SQLSplitExecute': '🔎 Consulting telemetry',
|
|
133
|
+
'SplitAnswer': '🧠 Analyzing telemetry data',
|
|
134
|
+
'SplitAnswerCombine': '📝 Summarizing results',
|
|
135
|
+
};
|
|
136
|
+
// Extract component name from message (e.g., "PromptGate (Preparing Telemetry Sources)")
|
|
137
|
+
for (const [component, humanText] of Object.entries(progressMap)) {
|
|
138
|
+
if (message.includes(component)) {
|
|
139
|
+
// Extract additional context if available (text in parentheses)
|
|
140
|
+
const match = message.match(/\(([^)]+)\)/);
|
|
141
|
+
if (match && match[1]) {
|
|
142
|
+
return `${humanText} (${match[1]})`;
|
|
143
|
+
}
|
|
144
|
+
return humanText;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
// If no mapping found, return the original message cleaned up
|
|
148
|
+
return message.replace(/^[A-Za-z]+\s*/, '').trim() || 'Processing investigation...';
|
|
149
|
+
}
|
|
100
150
|
/**
|
|
101
151
|
* Format investigation results
|
|
102
152
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../src/tools/get-status.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../src/tools/get-status.ts"],"names":[],"mappings":"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"}
|
|
@@ -148,35 +148,23 @@ Please provide a root cause analysis for this alert, including:
|
|
|
148
148
|
// Send investigation prompt
|
|
149
149
|
await services.sessionService.sendPrompt(sessionUuid, projectUuid, investigationPrompt);
|
|
150
150
|
logger.info('Investigation prompt sent');
|
|
151
|
-
//
|
|
152
|
-
if (input.wait_for_completion) {
|
|
153
|
-
logger.info('Waiting for investigation to complete', {
|
|
154
|
-
maxWaitSeconds: input.max_wait_seconds,
|
|
155
|
-
});
|
|
156
|
-
const maxAttempts = Math.ceil(input.max_wait_seconds / (config.pollIntervalMs / 1000));
|
|
157
|
-
try {
|
|
158
|
-
const completedSession = await services.sessionService.pollForCompletion(sessionUuid, projectUuid, organizationUuid, maxAttempts, config.pollIntervalMs);
|
|
159
|
-
return {
|
|
160
|
-
status: 'completed',
|
|
161
|
-
session_uuid: sessionUuid,
|
|
162
|
-
investigation_results: formatInvestigationResults(completedSession),
|
|
163
|
-
message: `Investigation completed for alert ${input.alert_id}`,
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
catch (error) {
|
|
167
|
-
// Timeout or error during polling
|
|
168
|
-
return {
|
|
169
|
-
status: 'in_progress',
|
|
170
|
-
session_uuid: sessionUuid,
|
|
171
|
-
message: `Investigation started but not yet complete. Use hawkeye_get_investigation_status with session_uuid: ${sessionUuid} to check progress.`,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
// Return immediately without waiting
|
|
151
|
+
// Always return immediately - never wait for completion
|
|
176
152
|
return {
|
|
177
|
-
status: '
|
|
153
|
+
status: 'in_progress',
|
|
178
154
|
session_uuid: sessionUuid,
|
|
179
|
-
message: `
|
|
155
|
+
message: `Investigation started for alert ${input.alert_id}. Investigations typically take 30-90 seconds.`,
|
|
156
|
+
next_steps: [
|
|
157
|
+
'Check progress using: hawkeye_get_investigation_status',
|
|
158
|
+
'Poll every 10-15 seconds until status is "completed"',
|
|
159
|
+
'Once complete, retrieve the full RCA using: hawkeye_get_rca',
|
|
160
|
+
],
|
|
161
|
+
estimated_completion_time: '30-90 seconds',
|
|
162
|
+
polling_instructions: {
|
|
163
|
+
tool: 'hawkeye_get_investigation_status',
|
|
164
|
+
session_uuid: sessionUuid,
|
|
165
|
+
poll_interval_seconds: 10,
|
|
166
|
+
description: 'Call hawkeye_get_investigation_status every 10-15 seconds to check progress. When status shows "completed", use hawkeye_get_rca to view the full root cause analysis.',
|
|
167
|
+
},
|
|
180
168
|
};
|
|
181
169
|
}
|
|
182
170
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"investigate-alert.js","sourceRoot":"","sources":["../../src/tools/investigate-alert.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"investigate-alert.js","sourceRoot":"","sources":["../../src/tools/investigate-alert.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,18 +10,12 @@ import { z } from 'zod';
|
|
|
10
10
|
declare const RerunSessionInputSchema: z.ZodObject<{
|
|
11
11
|
session_uuid: z.ZodString;
|
|
12
12
|
project_uuid: z.ZodOptional<z.ZodString>;
|
|
13
|
-
wait_for_completion: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
14
|
-
max_wait_seconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
15
13
|
}, "strip", z.ZodTypeAny, {
|
|
16
14
|
session_uuid: string;
|
|
17
|
-
wait_for_completion: boolean;
|
|
18
|
-
max_wait_seconds: number;
|
|
19
15
|
project_uuid?: string | undefined;
|
|
20
16
|
}, {
|
|
21
17
|
session_uuid: string;
|
|
22
18
|
project_uuid?: string | undefined;
|
|
23
|
-
wait_for_completion?: boolean | undefined;
|
|
24
|
-
max_wait_seconds?: number | undefined;
|
|
25
19
|
}>;
|
|
26
20
|
export type RerunSessionInput = z.infer<typeof RerunSessionInputSchema>;
|
|
27
21
|
/**
|
|
@@ -10,8 +10,6 @@ import { z } from 'zod';
|
|
|
10
10
|
const RerunSessionInputSchema = z.object({
|
|
11
11
|
session_uuid: z.string().min(1).describe('UUID of the session to rerun'),
|
|
12
12
|
project_uuid: z.string().optional().describe('Optional: project UUID (will be inferred from session if not provided)'),
|
|
13
|
-
wait_for_completion: z.boolean().optional().default(false).describe('Whether to wait for the investigation to complete'),
|
|
14
|
-
max_wait_seconds: z.number().optional().default(300).describe('Maximum time to wait for completion (default: 300 seconds)'),
|
|
15
13
|
});
|
|
16
14
|
/**
|
|
17
15
|
* Re-run an investigation session
|
|
@@ -20,7 +18,6 @@ export async function rerunSession(services, args) {
|
|
|
20
18
|
const input = RerunSessionInputSchema.parse(args);
|
|
21
19
|
logger.info('Re-running session', {
|
|
22
20
|
session_uuid: input.session_uuid,
|
|
23
|
-
wait_for_completion: input.wait_for_completion,
|
|
24
21
|
});
|
|
25
22
|
try {
|
|
26
23
|
// Ensure authenticated
|
|
@@ -59,68 +56,26 @@ export async function rerunSession(services, args) {
|
|
|
59
56
|
// Start the rerun
|
|
60
57
|
const response = await services.httpClient.post('/v1/inference/session', payload);
|
|
61
58
|
logger.info('Session rerun initiated');
|
|
62
|
-
//
|
|
63
|
-
if (input.wait_for_completion) {
|
|
64
|
-
logger.info(`Waiting for session rerun to complete (max ${input.max_wait_seconds}s)`);
|
|
65
|
-
const startTime = Date.now();
|
|
66
|
-
const maxWaitMs = input.max_wait_seconds * 1000;
|
|
67
|
-
const pollIntervalMs = 5000; // Poll every 5 seconds
|
|
68
|
-
const config = await import('../config/config.js').then(m => m.getConfig());
|
|
69
|
-
while (true) {
|
|
70
|
-
// Check status by inspecting the session
|
|
71
|
-
const sessionInspect = await services.sessionService.inspectSession(input.session_uuid, projectUuid, config.defaultOrganizationUuid);
|
|
72
|
-
const elapsedMs = Date.now() - startTime;
|
|
73
|
-
const elapsedSeconds = Math.floor(elapsedMs / 1000);
|
|
74
|
-
// Check if session has final_answer (completed)
|
|
75
|
-
const isComplete = sessionInspect.final_answer !== undefined && sessionInspect.final_answer !== null;
|
|
76
|
-
logger.debug(`Session rerun status: ${isComplete ? 'completed' : 'in_progress'} (${elapsedSeconds}s elapsed)`);
|
|
77
|
-
// Check if completed
|
|
78
|
-
if (isComplete) {
|
|
79
|
-
logger.info(`Session rerun completed after ${elapsedSeconds}s`);
|
|
80
|
-
return {
|
|
81
|
-
success: true,
|
|
82
|
-
session_uuid: input.session_uuid,
|
|
83
|
-
status: 'completed',
|
|
84
|
-
time_elapsed_seconds: elapsedSeconds,
|
|
85
|
-
message: 'Investigation rerun completed successfully.',
|
|
86
|
-
next_steps: [
|
|
87
|
-
'Use hawkeye_get_rca to view the new root cause analysis',
|
|
88
|
-
'Compare with the original investigation results',
|
|
89
|
-
'If the instruction improved the investigation, add it to your project',
|
|
90
|
-
],
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
// Check if session has error state
|
|
94
|
-
if (sessionInspect.state === 'ERROR' || sessionInspect.state === 'FAILED') {
|
|
95
|
-
throw new Error(`Session rerun failed with state: ${sessionInspect.state}. ` +
|
|
96
|
-
`Check the session details for error information.`);
|
|
97
|
-
}
|
|
98
|
-
// Check timeout
|
|
99
|
-
if (elapsedMs >= maxWaitMs) {
|
|
100
|
-
logger.warn(`Session rerun timeout after ${elapsedSeconds}s`);
|
|
101
|
-
return {
|
|
102
|
-
success: true,
|
|
103
|
-
session_uuid: input.session_uuid,
|
|
104
|
-
status: 'in_progress',
|
|
105
|
-
time_elapsed_seconds: elapsedSeconds,
|
|
106
|
-
timeout: true,
|
|
107
|
-
message: `Investigation rerun is still in progress after ${elapsedSeconds}s. Check status with hawkeye_get_investigation_status.`,
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
// Wait before next poll
|
|
111
|
-
await new Promise(resolve => setTimeout(resolve, pollIntervalMs));
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Return immediately if not waiting
|
|
59
|
+
// Always return immediately - never wait for completion
|
|
115
60
|
return {
|
|
116
61
|
success: true,
|
|
117
62
|
session_uuid: input.session_uuid,
|
|
118
|
-
status: '
|
|
119
|
-
message: 'Session rerun initiated. The investigation is running in the background.',
|
|
63
|
+
status: 'in_progress',
|
|
64
|
+
message: 'Session rerun initiated. The investigation is running in the background. Reruns typically take 1-3 minutes.',
|
|
120
65
|
next_steps: [
|
|
121
|
-
'
|
|
66
|
+
'Check progress using: hawkeye_get_investigation_status',
|
|
67
|
+
'Poll every 10-15 seconds until status is "completed"',
|
|
122
68
|
'Once completed, use hawkeye_get_rca to view the new root cause analysis',
|
|
69
|
+
'Compare with the original investigation results',
|
|
70
|
+
'If the instruction improved the investigation, add it to your project',
|
|
123
71
|
],
|
|
72
|
+
estimated_completion_time: '1-3 minutes',
|
|
73
|
+
polling_instructions: {
|
|
74
|
+
tool: 'hawkeye_get_investigation_status',
|
|
75
|
+
session_uuid: input.session_uuid,
|
|
76
|
+
poll_interval_seconds: 10,
|
|
77
|
+
description: 'Call hawkeye_get_investigation_status every 10-15 seconds to check progress. When status shows "completed", use hawkeye_get_rca to view the updated analysis.',
|
|
78
|
+
},
|
|
124
79
|
};
|
|
125
80
|
}
|
|
126
81
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rerun-session.js","sourceRoot":"","sources":["../../src/tools/rerun-session.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACxE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;
|
|
1
|
+
{"version":3,"file":"rerun-session.js","sourceRoot":"","sources":["../../src/tools/rerun-session.ts"],"names":[],"mappings":"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"}
|
package/build/types/mcp.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ import { ChainOfThought } from './hawkeye.js';
|
|
|
6
6
|
export interface InvestigateAlertInput {
|
|
7
7
|
alert_id: string;
|
|
8
8
|
project_uuid?: string;
|
|
9
|
-
|
|
10
|
-
max_wait_seconds?: number;
|
|
9
|
+
stream_progress?: boolean;
|
|
11
10
|
}
|
|
12
11
|
export interface CreateInvestigationInput {
|
|
13
12
|
prompt: string;
|
|
@@ -15,9 +14,6 @@ export interface CreateInvestigationInput {
|
|
|
15
14
|
start_time?: string;
|
|
16
15
|
end_time?: string;
|
|
17
16
|
project_uuid?: string;
|
|
18
|
-
wait_for_completion?: boolean;
|
|
19
|
-
max_wait_seconds?: number;
|
|
20
|
-
stream_updates?: boolean;
|
|
21
17
|
}
|
|
22
18
|
export interface GetInvestigationStatusInput {
|
|
23
19
|
session_uuid: string;
|
|
@@ -28,8 +24,6 @@ export interface ContinueInvestigationInput {
|
|
|
28
24
|
session_uuid: string;
|
|
29
25
|
follow_up_prompt: string;
|
|
30
26
|
project_uuid?: string;
|
|
31
|
-
wait_for_completion?: boolean;
|
|
32
|
-
max_wait_seconds?: number;
|
|
33
27
|
}
|
|
34
28
|
export interface ListProjectsInput {
|
|
35
29
|
include_inactive?: boolean;
|
|
@@ -6,21 +6,15 @@ import { z } from 'zod';
|
|
|
6
6
|
export declare const InvestigateAlertInputSchema: z.ZodObject<{
|
|
7
7
|
alert_id: z.ZodString;
|
|
8
8
|
project_uuid: z.ZodOptional<z.ZodString>;
|
|
9
|
-
wait_for_completion: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
10
9
|
stream_progress: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
11
|
-
max_wait_seconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
12
10
|
}, "strip", z.ZodTypeAny, {
|
|
13
11
|
alert_id: string;
|
|
14
|
-
wait_for_completion: boolean;
|
|
15
12
|
stream_progress: boolean;
|
|
16
|
-
max_wait_seconds: number;
|
|
17
13
|
project_uuid?: string | undefined;
|
|
18
14
|
}, {
|
|
19
15
|
alert_id: string;
|
|
20
16
|
project_uuid?: string | undefined;
|
|
21
|
-
wait_for_completion?: boolean | undefined;
|
|
22
17
|
stream_progress?: boolean | undefined;
|
|
23
|
-
max_wait_seconds?: number | undefined;
|
|
24
18
|
}>;
|
|
25
19
|
export declare const CreateInvestigationInputSchema: z.ZodObject<{
|
|
26
20
|
prompt: z.ZodString;
|
|
@@ -28,14 +22,8 @@ export declare const CreateInvestigationInputSchema: z.ZodObject<{
|
|
|
28
22
|
start_time: z.ZodOptional<z.ZodString>;
|
|
29
23
|
end_time: z.ZodOptional<z.ZodString>;
|
|
30
24
|
project_uuid: z.ZodOptional<z.ZodString>;
|
|
31
|
-
wait_for_completion: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
32
|
-
max_wait_seconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
33
|
-
stream_updates: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
34
25
|
}, "strip", z.ZodTypeAny, {
|
|
35
|
-
wait_for_completion: boolean;
|
|
36
|
-
max_wait_seconds: number;
|
|
37
26
|
prompt: string;
|
|
38
|
-
stream_updates: boolean;
|
|
39
27
|
project_uuid?: string | undefined;
|
|
40
28
|
timeframe?: string | undefined;
|
|
41
29
|
start_time?: string | undefined;
|
|
@@ -43,12 +31,9 @@ export declare const CreateInvestigationInputSchema: z.ZodObject<{
|
|
|
43
31
|
}, {
|
|
44
32
|
prompt: string;
|
|
45
33
|
project_uuid?: string | undefined;
|
|
46
|
-
wait_for_completion?: boolean | undefined;
|
|
47
|
-
max_wait_seconds?: number | undefined;
|
|
48
34
|
timeframe?: string | undefined;
|
|
49
35
|
start_time?: string | undefined;
|
|
50
36
|
end_time?: string | undefined;
|
|
51
|
-
stream_updates?: boolean | undefined;
|
|
52
37
|
}>;
|
|
53
38
|
export declare const GetInvestigationStatusInputSchema: z.ZodObject<{
|
|
54
39
|
session_uuid: z.ZodString;
|
|
@@ -67,20 +52,14 @@ export declare const ContinueInvestigationInputSchema: z.ZodObject<{
|
|
|
67
52
|
session_uuid: z.ZodString;
|
|
68
53
|
follow_up_prompt: z.ZodString;
|
|
69
54
|
project_uuid: z.ZodOptional<z.ZodString>;
|
|
70
|
-
wait_for_completion: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
71
|
-
max_wait_seconds: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
72
55
|
}, "strip", z.ZodTypeAny, {
|
|
73
56
|
session_uuid: string;
|
|
74
|
-
wait_for_completion: boolean;
|
|
75
|
-
max_wait_seconds: number;
|
|
76
57
|
follow_up_prompt: string;
|
|
77
58
|
project_uuid?: string | undefined;
|
|
78
59
|
}, {
|
|
79
60
|
session_uuid: string;
|
|
80
61
|
follow_up_prompt: string;
|
|
81
62
|
project_uuid?: string | undefined;
|
|
82
|
-
wait_for_completion?: boolean | undefined;
|
|
83
|
-
max_wait_seconds?: number | undefined;
|
|
84
63
|
}>;
|
|
85
64
|
export declare const ListProjectsInputSchema: z.ZodObject<{
|
|
86
65
|
include_inactive: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
@@ -9,9 +9,7 @@ import { z } from 'zod';
|
|
|
9
9
|
export const InvestigateAlertInputSchema = z.object({
|
|
10
10
|
alert_id: z.string().min(1, 'Alert ID is required'),
|
|
11
11
|
project_uuid: z.string().uuid().optional(),
|
|
12
|
-
|
|
13
|
-
stream_progress: z.boolean().optional().default(true).describe('Stream real-time progress updates during investigation (default: true)'),
|
|
14
|
-
max_wait_seconds: z.number().int().positive().optional().default(300),
|
|
12
|
+
stream_progress: z.boolean().optional().default(false).describe('Enable streaming progress updates during investigation (experimental, default: false)'),
|
|
15
13
|
});
|
|
16
14
|
export const CreateInvestigationInputSchema = z.object({
|
|
17
15
|
prompt: z.string().min(1, 'Prompt is required'),
|
|
@@ -19,9 +17,6 @@ export const CreateInvestigationInputSchema = z.object({
|
|
|
19
17
|
start_time: z.string().datetime().optional(),
|
|
20
18
|
end_time: z.string().datetime().optional(),
|
|
21
19
|
project_uuid: z.string().uuid().optional(),
|
|
22
|
-
wait_for_completion: z.boolean().optional().default(false),
|
|
23
|
-
max_wait_seconds: z.number().int().positive().optional().default(300),
|
|
24
|
-
stream_updates: z.boolean().optional().default(false),
|
|
25
20
|
});
|
|
26
21
|
export const GetInvestigationStatusInputSchema = z.object({
|
|
27
22
|
session_uuid: z.string().uuid('Invalid session UUID'),
|
|
@@ -32,8 +27,6 @@ export const ContinueInvestigationInputSchema = z.object({
|
|
|
32
27
|
session_uuid: z.string().uuid('Invalid session UUID'),
|
|
33
28
|
follow_up_prompt: z.string().min(1, 'Follow-up prompt is required'),
|
|
34
29
|
project_uuid: z.string().uuid().optional(),
|
|
35
|
-
wait_for_completion: z.boolean().optional().default(false),
|
|
36
|
-
max_wait_seconds: z.number().int().positive().optional().default(300),
|
|
37
30
|
});
|
|
38
31
|
export const ListProjectsInputSchema = z.object({
|
|
39
32
|
include_inactive: z.boolean().optional().default(false),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+EAA+E;AAC/E,qBAAqB;AACrB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAC1C,
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|