hawkeye-mcp-server 2.0.4 → 2.0.6

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 CHANGED
@@ -5,6 +5,66 @@ 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.6] - 2025-11-23
9
+
10
+ ### 🎉 Fixed - Background Stream Processing
11
+
12
+ This release fixes the critical streaming issue where the `/v1/inference/session` API response was not being consumed, causing "stream has been aborted" errors.
13
+
14
+ ### Added
15
+
16
+ - **Worker Thread Stream Consumer**: New background worker that consumes streaming responses
17
+ - Created `src/workers/stream-consumer.ts` - Dedicated worker thread for stream consumption
18
+ - Created `src/services/investigation-tracker.ts` - In-memory state tracker for ongoing investigations
19
+ - Worker processes SSE stream data and updates tracker in real-time
20
+
21
+ - **Live Progress Tracking**: Investigations now tracked in-memory with real-time updates
22
+ - `investigationTracker` stores progress updates, status, and completion messages
23
+ - Progress updates available immediately when polling with `hawkeye_get_investigation_status`
24
+ - Tracks: starting → in_progress → completed/failed states
25
+
26
+ ### Changed
27
+
28
+ - **`create-manual-investigation` now spawns worker thread**:
29
+ - Creates session via `/v1/inference/new_session`
30
+ - Spawns background worker to consume `/v1/inference/session` stream
31
+ - Returns immediately with session_uuid
32
+ - Worker handles all streaming data asynchronously
33
+
34
+ - **`get-investigation-status` enhanced**:
35
+ - First checks in-memory tracker for live progress
36
+ - Falls back to API query if not tracked
37
+ - Returns progress percentage based on progress update count
38
+ - Shows current step from latest progress message
39
+
40
+ ### Technical Details
41
+
42
+ - **Root Cause**: `/v1/inference/session` returns a **stream** of `ProcessPromptResponse` objects
43
+ - **Previous Behavior**: Stream was opened but never consumed, causing connection errors
44
+ - **New Behavior**: Worker thread consumes entire stream in background, updating shared state
45
+ - **Architecture**:
46
+ - Main thread: Returns immediately to MCP client
47
+ - Worker thread: Consumes stream, sends messages back to main thread
48
+ - Shared state: `investigationTracker` Map stores live progress
49
+ - Polling: LLM polls every 10-15 seconds to get latest state
50
+
51
+ ### Fixed
52
+
53
+ - ✅ "stream has been aborted" errors when creating manual investigations
54
+ - ✅ Blocking behavior while waiting for stream to complete
55
+ - ✅ No feedback during investigation progress
56
+ - ✅ MCP protocol limitation (no streaming to client) now handled elegantly
57
+
58
+ ## [2.0.5] - 2025-11-23
59
+
60
+ ### Fixed
61
+
62
+ - **Removed remaining `wait_for_completion` references from guidance service documentation**
63
+ - Removed references at line 253 in connection sync best practices
64
+ - Removed references at line 530 in onboarding workflow instructions
65
+ - These were documentation strings that suggested using the removed parameter
66
+ - Ensures LLMs no longer see any mentions of `wait_for_completion` in help/guidance
67
+
8
68
  ## [2.0.2] - 2025-11-23
9
69
 
10
70
  ### 🚨 BREAKING CHANGE: Removed wait_for_completion
@@ -195,7 +195,7 @@ Each connection type has specific configuration requirements (API keys, credenti
195
195
  - **ERROR**: Sync failed (check credentials/permissions)
196
196
 
197
197
  **Best Practice:**
198
- Use hawkeye_wait_for_connection_sync with wait_for_completion=true to automatically poll until the connection is synced.`,
198
+ Use hawkeye_wait_for_connection_sync to automatically poll until the connection is synced.`,
199
199
  related_tools: [
200
200
  'hawkeye_get_connection_info',
201
201
  'hawkeye_wait_for_connection_sync',
@@ -467,9 +467,8 @@ Use hawkeye_list_project_instructions to see existing instructions, and hawkeye_
467
467
  - Etc.
468
468
 
469
469
  **Phase 3: Wait for Sync (15-30 minutes)**
470
- 5. Use hawkeye_wait_for_connection_sync for each connection
471
- - Set wait_for_completion=true to auto-poll
472
- - Or check status with hawkeye_get_connection_info
470
+ 5. Use hawkeye_wait_for_connection_sync for each connection to auto-poll
471
+ - Or check status manually with hawkeye_get_connection_info
473
472
 
474
473
  **Phase 4: Add to Project (2 minutes)**
475
474
  6. Use hawkeye_add_connection_to_project to add all connections to your project
@@ -1 +1 @@
1
- {"version":3,"file":"guidance.service.js","sourceRoot":"","sources":["../../src/services/guidance.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guidance.service.js","sourceRoot":"","sources":["../../src/services/guidance.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Investigation Tracker Service
3
+ * Manages in-memory state for ongoing/completed investigations
4
+ * Used by worker threads to update progress that can be polled by get-investigation-status
5
+ */
6
+ export interface InvestigationState {
7
+ session_uuid: string;
8
+ project_uuid: string;
9
+ status: 'starting' | 'in_progress' | 'completed' | 'failed';
10
+ started_at: Date;
11
+ completed_at?: Date;
12
+ progress_updates: ProgressUpdate[];
13
+ completion_message?: string;
14
+ error?: string;
15
+ rca?: any;
16
+ }
17
+ export interface ProgressUpdate {
18
+ timestamp: Date;
19
+ message: string;
20
+ type: 'progress' | 'analysis' | 'completion';
21
+ }
22
+ /**
23
+ * Global in-memory store for investigation states
24
+ * Keyed by session_uuid
25
+ */
26
+ declare class InvestigationTracker {
27
+ private investigations;
28
+ /**
29
+ * Create a new investigation entry
30
+ */
31
+ create(session_uuid: string, project_uuid: string): void;
32
+ /**
33
+ * Update investigation status
34
+ */
35
+ updateStatus(session_uuid: string, status: InvestigationState['status']): void;
36
+ /**
37
+ * Add a progress update
38
+ */
39
+ addProgress(session_uuid: string, update: ProgressUpdate): void;
40
+ /**
41
+ * Set completion message
42
+ */
43
+ setCompletion(session_uuid: string, message: string): void;
44
+ /**
45
+ * Set error
46
+ */
47
+ setError(session_uuid: string, error: string): void;
48
+ /**
49
+ * Set RCA data
50
+ */
51
+ setRCA(session_uuid: string, rca: any): void;
52
+ /**
53
+ * Get investigation state
54
+ */
55
+ get(session_uuid: string): InvestigationState | undefined;
56
+ /**
57
+ * Check if investigation exists
58
+ */
59
+ has(session_uuid: string): boolean;
60
+ /**
61
+ * Remove investigation from tracker (cleanup)
62
+ */
63
+ remove(session_uuid: string): void;
64
+ /**
65
+ * Get all active investigations
66
+ */
67
+ getActive(): InvestigationState[];
68
+ /**
69
+ * Cleanup completed/failed investigations older than TTL
70
+ */
71
+ cleanup(ttlMs?: number): void;
72
+ }
73
+ export declare const investigationTracker: InvestigationTracker;
74
+ export {};
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Investigation Tracker Service
3
+ * Manages in-memory state for ongoing/completed investigations
4
+ * Used by worker threads to update progress that can be polled by get-investigation-status
5
+ */
6
+ /**
7
+ * Global in-memory store for investigation states
8
+ * Keyed by session_uuid
9
+ */
10
+ class InvestigationTracker {
11
+ investigations = new Map();
12
+ /**
13
+ * Create a new investigation entry
14
+ */
15
+ create(session_uuid, project_uuid) {
16
+ this.investigations.set(session_uuid, {
17
+ session_uuid,
18
+ project_uuid,
19
+ status: 'starting',
20
+ started_at: new Date(),
21
+ progress_updates: [],
22
+ });
23
+ }
24
+ /**
25
+ * Update investigation status
26
+ */
27
+ updateStatus(session_uuid, status) {
28
+ const state = this.investigations.get(session_uuid);
29
+ if (state) {
30
+ state.status = status;
31
+ if (status === 'completed' || status === 'failed') {
32
+ state.completed_at = new Date();
33
+ }
34
+ }
35
+ }
36
+ /**
37
+ * Add a progress update
38
+ */
39
+ addProgress(session_uuid, update) {
40
+ const state = this.investigations.get(session_uuid);
41
+ if (state) {
42
+ state.progress_updates.push(update);
43
+ // Update status if we got progress
44
+ if (state.status === 'starting') {
45
+ state.status = 'in_progress';
46
+ }
47
+ }
48
+ }
49
+ /**
50
+ * Set completion message
51
+ */
52
+ setCompletion(session_uuid, message) {
53
+ const state = this.investigations.get(session_uuid);
54
+ if (state) {
55
+ state.completion_message = message;
56
+ state.status = 'completed';
57
+ state.completed_at = new Date();
58
+ }
59
+ }
60
+ /**
61
+ * Set error
62
+ */
63
+ setError(session_uuid, error) {
64
+ const state = this.investigations.get(session_uuid);
65
+ if (state) {
66
+ state.error = error;
67
+ state.status = 'failed';
68
+ state.completed_at = new Date();
69
+ }
70
+ }
71
+ /**
72
+ * Set RCA data
73
+ */
74
+ setRCA(session_uuid, rca) {
75
+ const state = this.investigations.get(session_uuid);
76
+ if (state) {
77
+ state.rca = rca;
78
+ }
79
+ }
80
+ /**
81
+ * Get investigation state
82
+ */
83
+ get(session_uuid) {
84
+ return this.investigations.get(session_uuid);
85
+ }
86
+ /**
87
+ * Check if investigation exists
88
+ */
89
+ has(session_uuid) {
90
+ return this.investigations.has(session_uuid);
91
+ }
92
+ /**
93
+ * Remove investigation from tracker (cleanup)
94
+ */
95
+ remove(session_uuid) {
96
+ this.investigations.delete(session_uuid);
97
+ }
98
+ /**
99
+ * Get all active investigations
100
+ */
101
+ getActive() {
102
+ return Array.from(this.investigations.values()).filter((inv) => inv.status === 'starting' || inv.status === 'in_progress');
103
+ }
104
+ /**
105
+ * Cleanup completed/failed investigations older than TTL
106
+ */
107
+ cleanup(ttlMs = 3600000) {
108
+ const now = Date.now();
109
+ for (const [uuid, state] of this.investigations.entries()) {
110
+ if ((state.status === 'completed' || state.status === 'failed') &&
111
+ state.completed_at &&
112
+ now - state.completed_at.getTime() > ttlMs) {
113
+ this.investigations.delete(uuid);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ // Global singleton instance
119
+ export const investigationTracker = new InvestigationTracker();
120
+ //# sourceMappingURL=investigation-tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"investigation-tracker.js","sourceRoot":"","sources":["../../src/services/investigation-tracker.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,14 @@
3
3
  * Creates a new manual investigation from a user-provided prompt
4
4
  */
5
5
  import { z } from 'zod';
6
+ import { Worker } from 'worker_threads';
7
+ import { fileURLToPath } from 'url';
8
+ import { dirname, join } from 'path';
6
9
  import { logger } from '../utils/logger.js';
10
+ import { investigationTracker } from '../services/investigation-tracker.js';
11
+ import { getConfig } from '../config/config.js';
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = dirname(__filename);
7
14
  export const CreateManualInvestigationInputSchema = z.object({
8
15
  prompt: z.string().min(10, 'Prompt must be at least 10 characters').describe('Detailed investigation prompt including: specific services/resources, time frame, and symptoms/issues observed. Be as specific as possible for best results.'),
9
16
  project_uuid: z.string().optional().describe('Optional: project UUID. If not provided, will use default project'),
@@ -49,7 +56,7 @@ export async function createManualInvestigation(services, args) {
49
56
  // Ensure we're authenticated
50
57
  await services.authService.getAccessToken();
51
58
  try {
52
- logger.info('Creating manual investigation (non-blocking)...');
59
+ logger.info('Creating manual investigation with background stream consumer...');
53
60
  // Step 1: Create a new session (returns immediately)
54
61
  const requestId = `req_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
55
62
  const gendbSpecUuid = `gendb_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
@@ -70,37 +77,66 @@ export async function createManualInvestigation(services, args) {
70
77
  if (!sessionUuid) {
71
78
  throw new Error('Failed to create session - no session_uuid or uuid in response');
72
79
  }
73
- logger.info(`Session created: ${sessionUuid}, now submitting prompt...`);
74
- // Step 2: Submit prompt to the session (non-blocking)
80
+ logger.info(`Session created: ${sessionUuid}, spawning stream consumer worker...`);
81
+ // Step 2: Register investigation in tracker
82
+ investigationTracker.create(sessionUuid, projectUuid);
83
+ // Step 3: Get auth token for worker
84
+ const authToken = await services.authService.getAccessToken();
85
+ // Step 4: Spawn worker thread to consume the stream
75
86
  const promptRequestId = `req_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`;
76
- await services.httpClient.post('/v1/inference/session', {
77
- action: 'ACTION_NEXT',
78
- session_uuid: sessionUuid,
79
- project_uuid: projectUuid,
80
- messages: [
81
- {
82
- content: {
83
- content_type: 'CONTENT_TYPE_CHAT_PROMPT',
84
- parts: [input.prompt],
85
- },
86
- },
87
- ],
88
- request: {
89
- request_id: promptRequestId,
90
- },
91
- prompt_options: {
92
- disable_replay: false,
93
- source_focus_categories: [],
87
+ const workerPath = join(__dirname, '../workers/stream-consumer.js');
88
+ const config = getConfig();
89
+ const worker = new Worker(workerPath, {
90
+ workerData: {
91
+ baseUrl: config.baseUrl,
92
+ authToken,
93
+ sessionUuid,
94
+ projectUuid,
95
+ prompt: input.prompt,
96
+ requestId: promptRequestId,
94
97
  },
95
- }, {
96
- timeout: 5000, // Just needs to submit the prompt, not wait for completion
97
98
  });
98
- logger.info(`Prompt submitted to session: ${sessionUuid}`);
99
+ // Listen to worker messages and update tracker
100
+ worker.on('message', (msg) => {
101
+ if (msg.type === 'status') {
102
+ investigationTracker.updateStatus(sessionUuid, msg.status === 'streaming' ? 'in_progress' : 'starting');
103
+ }
104
+ else if (msg.type === 'progress') {
105
+ investigationTracker.addProgress(sessionUuid, {
106
+ timestamp: new Date(msg.update.timestamp),
107
+ message: msg.update.message,
108
+ type: msg.update.type,
109
+ });
110
+ }
111
+ else if (msg.type === 'completion') {
112
+ investigationTracker.setCompletion(sessionUuid, msg.message);
113
+ }
114
+ else if (msg.type === 'error') {
115
+ investigationTracker.setError(sessionUuid, msg.error);
116
+ logger.error(`Worker error for session ${sessionUuid}:`, msg.error);
117
+ }
118
+ else if (msg.type === 'completed') {
119
+ logger.info(`Stream consumer completed for session ${sessionUuid}`, {
120
+ messageCount: msg.messageCount,
121
+ endTurn: msg.endTurn,
122
+ });
123
+ }
124
+ });
125
+ worker.on('error', (error) => {
126
+ investigationTracker.setError(sessionUuid, error.message);
127
+ logger.error(`Worker thread error for session ${sessionUuid}:`, error);
128
+ });
129
+ worker.on('exit', (code) => {
130
+ if (code !== 0) {
131
+ logger.warn(`Worker thread exited with code ${code} for session ${sessionUuid}`);
132
+ }
133
+ });
134
+ logger.info(`Worker spawned for session: ${sessionUuid}`);
99
135
  // Always return immediately
100
136
  return {
101
137
  session_uuid: sessionUuid,
102
138
  status: 'in_progress',
103
- message: 'Investigation started in the background. Investigations typically take 2-5 minutes to complete.',
139
+ message: 'Investigation started in the background. Stream is being consumed by a worker thread. Investigations typically take 2-5 minutes to complete.',
104
140
  next_steps: [
105
141
  'Poll for progress using: hawkeye_get_investigation_status with this session_uuid',
106
142
  'Check every 10-15 seconds until status is "completed"',
@@ -1 +1 @@
1
- {"version":3,"file":"create-manual-investigation.js","sourceRoot":"","sources":["../../src/tools/create-manual-investigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-manual-investigation.js","sourceRoot":"","sources":["../../src/tools/create-manual-investigation.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  import { GetInvestigationStatusInputSchema } from '../utils/validation.js';
6
6
  import { getConfig } from '../config/config.js';
7
7
  import { logger } from '../utils/logger.js';
8
+ import { investigationTracker } from '../services/investigation-tracker.js';
8
9
  /**
9
10
  * Get investigation status
10
11
  */
@@ -12,6 +13,42 @@ export async function getInvestigationStatus(services, args) {
12
13
  const config = getConfig();
13
14
  const input = GetInvestigationStatusInputSchema.parse(args);
14
15
  logger.info('Getting investigation status', { sessionUuid: input.session_uuid });
16
+ // FIRST: Check if this investigation is being tracked in-memory (from worker thread)
17
+ const trackedState = investigationTracker.get(input.session_uuid);
18
+ if (trackedState) {
19
+ logger.info('Found tracked investigation state', {
20
+ session_uuid: input.session_uuid,
21
+ status: trackedState.status,
22
+ progress_updates: trackedState.progress_updates.length,
23
+ });
24
+ // Return status from tracked state
25
+ const progressPercentage = calculateTrackedProgress(trackedState);
26
+ const currentStep = getTrackedCurrentStep(trackedState);
27
+ // If completed and RCA available, include it
28
+ const investigationResults = trackedState.status === 'completed' && input.include_full_details && trackedState.rca
29
+ ? {
30
+ final_answer: trackedState.completion_message || '',
31
+ chain_of_thoughts: [],
32
+ sources: [],
33
+ follow_up_suggestions: [],
34
+ }
35
+ : undefined;
36
+ return {
37
+ session_uuid: input.session_uuid,
38
+ status: trackedState.status === 'starting' || trackedState.status === 'in_progress'
39
+ ? 'in_progress'
40
+ : trackedState.status === 'completed'
41
+ ? 'completed'
42
+ : 'failed',
43
+ progress_percentage: progressPercentage,
44
+ current_step: currentStep,
45
+ investigation_results: investigationResults,
46
+ created_at: trackedState.started_at.toISOString(),
47
+ updated_at: trackedState.completed_at?.toISOString() || new Date().toISOString(),
48
+ };
49
+ }
50
+ // FALLBACK: If not tracked, query the API (old behavior)
51
+ logger.info('Investigation not in tracker, querying API', { sessionUuid: input.session_uuid });
15
52
  // Get project UUID (use default if not provided)
16
53
  const projectUuid = input.project_uuid || (await services.projectService.getDefaultProject()).uuid;
17
54
  const organizationUuid = config.defaultOrganizationUuid;
@@ -37,6 +74,46 @@ export async function getInvestigationStatus(services, args) {
37
74
  updated_at: sessionDetails.last_update || sessionDetails.updated_at || '',
38
75
  };
39
76
  }
77
+ /**
78
+ * Calculate progress from tracked state
79
+ */
80
+ function calculateTrackedProgress(state) {
81
+ if (state.status === 'completed') {
82
+ return 100;
83
+ }
84
+ if (state.status === 'failed') {
85
+ return undefined;
86
+ }
87
+ // Estimate based on progress updates
88
+ const updateCount = state.progress_updates.length;
89
+ if (updateCount === 0) {
90
+ return 5; // Just started
91
+ }
92
+ // Typical investigation has 10-15 progress updates
93
+ const estimatedTotal = 12;
94
+ const progress = Math.min(Math.round((updateCount / estimatedTotal) * 100), 95);
95
+ return progress;
96
+ }
97
+ /**
98
+ * Get current step from tracked state
99
+ */
100
+ function getTrackedCurrentStep(state) {
101
+ if (state.status === 'completed') {
102
+ return 'Investigation complete';
103
+ }
104
+ if (state.status === 'failed') {
105
+ return `Failed: ${state.error}`;
106
+ }
107
+ if (state.status === 'starting') {
108
+ return 'Starting investigation...';
109
+ }
110
+ // Get the latest progress update
111
+ if (state.progress_updates.length > 0) {
112
+ const latest = state.progress_updates[state.progress_updates.length - 1];
113
+ return humanizeProgressMessage(latest.message);
114
+ }
115
+ return 'Processing...';
116
+ }
40
117
  /**
41
118
  * Determine investigation status from session details
42
119
  */
@@ -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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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Worker Thread: Stream Consumer
3
+ * Consumes the streaming response from /v1/inference/session
4
+ * Updates the investigation tracker as progress comes in
5
+ */
6
+ export {};
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Worker Thread: Stream Consumer
3
+ * Consumes the streaming response from /v1/inference/session
4
+ * Updates the investigation tracker as progress comes in
5
+ */
6
+ import { parentPort, workerData } from 'worker_threads';
7
+ import axios from 'axios';
8
+ const data = workerData;
9
+ async function consumeStream() {
10
+ try {
11
+ // Notify parent that we're starting
12
+ parentPort?.postMessage({ type: 'status', status: 'starting' });
13
+ const client = axios.create({
14
+ baseURL: data.baseUrl,
15
+ headers: {
16
+ Authorization: `Bearer ${data.authToken}`,
17
+ 'Content-Type': 'application/json',
18
+ },
19
+ });
20
+ const response = await client.post('/v1/inference/session', {
21
+ action: 'ACTION_NEXT',
22
+ session_uuid: data.sessionUuid,
23
+ project_uuid: data.projectUuid,
24
+ messages: [
25
+ {
26
+ content: {
27
+ content_type: 'CONTENT_TYPE_CHAT_PROMPT',
28
+ parts: [data.prompt],
29
+ },
30
+ },
31
+ ],
32
+ request: {
33
+ request_id: data.requestId,
34
+ },
35
+ prompt_options: {
36
+ disable_replay: false,
37
+ source_focus_categories: [],
38
+ },
39
+ }, {
40
+ responseType: 'stream',
41
+ timeout: 600000, // 10 minutes
42
+ });
43
+ parentPort?.postMessage({ type: 'status', status: 'streaming' });
44
+ let buffer = '';
45
+ let messageCount = 0;
46
+ let endTurn = false;
47
+ // Process stream chunks
48
+ response.data.on('data', (chunk) => {
49
+ const chunkStr = chunk.toString();
50
+ buffer += chunkStr;
51
+ // Split by newlines
52
+ const lines = buffer.split('\n');
53
+ buffer = lines.pop() || ''; // Keep incomplete line in buffer
54
+ for (let line of lines) {
55
+ if (!line.trim())
56
+ continue;
57
+ // Handle SSE format: "data: {...}"
58
+ if (line.startsWith('data: ')) {
59
+ line = line.substring(6);
60
+ }
61
+ try {
62
+ const message = JSON.parse(line);
63
+ messageCount++;
64
+ if (message.message?.content) {
65
+ const contentType = message.message.content.content_type;
66
+ const parts = message.message.content.parts || [];
67
+ // Send progress update to parent
68
+ if (contentType === 'CONTENT_TYPE_PROGRESS_STATUS' && parts.length > 0) {
69
+ parentPort?.postMessage({
70
+ type: 'progress',
71
+ update: {
72
+ timestamp: new Date().toISOString(),
73
+ message: parts[0],
74
+ type: 'progress',
75
+ },
76
+ });
77
+ }
78
+ else if (contentType === 'CONTENT_TYPE_INTERIM_ANALYSIS' && parts.length > 0) {
79
+ parentPort?.postMessage({
80
+ type: 'progress',
81
+ update: {
82
+ timestamp: new Date().toISOString(),
83
+ message: parts[0],
84
+ type: 'analysis',
85
+ },
86
+ });
87
+ }
88
+ else if (contentType === 'CONTENT_TYPE_CHAT_COMPLETION' && parts.length > 0) {
89
+ parentPort?.postMessage({
90
+ type: 'completion',
91
+ message: parts[0],
92
+ });
93
+ }
94
+ // Check for end turn
95
+ if (message.message.end_turn) {
96
+ endTurn = true;
97
+ }
98
+ }
99
+ // Check for errors
100
+ if (message.message?.status && message.message.status.code !== 0) {
101
+ parentPort?.postMessage({
102
+ type: 'error',
103
+ error: message.message.status.message || 'Unknown error',
104
+ hint: message.message.status.hint,
105
+ });
106
+ }
107
+ }
108
+ catch (e) {
109
+ // Skip invalid JSON
110
+ if (line.length > 0 && line !== '{}') {
111
+ console.error('[Worker] Skipping invalid JSON:', line.substring(0, 100));
112
+ }
113
+ }
114
+ }
115
+ });
116
+ response.data.on('end', () => {
117
+ parentPort?.postMessage({
118
+ type: 'completed',
119
+ messageCount,
120
+ endTurn,
121
+ });
122
+ });
123
+ response.data.on('error', (error) => {
124
+ parentPort?.postMessage({
125
+ type: 'error',
126
+ error: error.message,
127
+ });
128
+ });
129
+ }
130
+ catch (error) {
131
+ parentPort?.postMessage({
132
+ type: 'error',
133
+ error: error.message || String(error),
134
+ });
135
+ }
136
+ }
137
+ // Start consuming the stream
138
+ consumeStream().catch((error) => {
139
+ parentPort?.postMessage({
140
+ type: 'error',
141
+ error: error.message || String(error),
142
+ });
143
+ });
144
+ //# sourceMappingURL=stream-consumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-consumer.js","sourceRoot":"","sources":["../../src/workers/stream-consumer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hawkeye-mcp-server",
3
- "version": "2.0.4",
3
+ "version": "2.0.6",
4
4
  "description": "MCP Server for Hawkeye automated incident investigation and root cause analysis",
5
5
  "private": false,
6
6
  "type": "module",