feat(mcp): add progress bar, throttling, and input validation for MCP tool progress (#19772)

This commit is contained in:
Jasmeet Bhatia
2026-02-24 09:13:51 -08:00
committed by GitHub
parent 4efdbe9089
commit c0b76af442
16 changed files with 647 additions and 46 deletions
+5
View File
@@ -13,6 +13,7 @@ import type {
TokenStorageInitializationEvent,
KeychainAvailabilityEvent,
} from '../telemetry/types.js';
import { debugLogger } from './debugLogger.js';
/**
* Defines the severity level for user-facing feedback.
@@ -353,6 +354,10 @@ export class CoreEventEmitter extends EventEmitter<CoreEvents> {
* Notifies subscribers that progress has been made on an MCP tool call.
*/
emitMcpProgress(payload: McpProgressPayload): void {
if (!Number.isFinite(payload.progress) || payload.progress < 0) {
debugLogger.log(`Invalid progress value: ${payload.progress}`);
return;
}
this.emit(CoreEvent.McpProgress, payload);
}