mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-22 11:04:42 -07:00
feat(core): add support for MCP progress updates (#19046)
This commit is contained in:
@@ -124,6 +124,18 @@ export interface ConsentRequestPayload {
|
||||
onConfirm: (confirmed: boolean) => void;
|
||||
}
|
||||
|
||||
/**
|
||||
* Payload for the 'mcp-progress' event.
|
||||
*/
|
||||
export interface McpProgressPayload {
|
||||
serverName: string;
|
||||
callId: string;
|
||||
progressToken: string | number;
|
||||
progress: number;
|
||||
total?: number;
|
||||
message?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Payload for the 'agents-discovered' event.
|
||||
*/
|
||||
@@ -167,6 +179,7 @@ export enum CoreEvent {
|
||||
AdminSettingsChanged = 'admin-settings-changed',
|
||||
RetryAttempt = 'retry-attempt',
|
||||
ConsentRequest = 'consent-request',
|
||||
McpProgress = 'mcp-progress',
|
||||
AgentsDiscovered = 'agents-discovered',
|
||||
RequestEditorSelection = 'request-editor-selection',
|
||||
EditorSelected = 'editor-selected',
|
||||
@@ -200,6 +213,7 @@ export interface CoreEvents extends ExtensionEvents {
|
||||
[CoreEvent.AdminSettingsChanged]: never[];
|
||||
[CoreEvent.RetryAttempt]: [RetryAttemptPayload];
|
||||
[CoreEvent.ConsentRequest]: [ConsentRequestPayload];
|
||||
[CoreEvent.McpProgress]: [McpProgressPayload];
|
||||
[CoreEvent.AgentsDiscovered]: [AgentsDiscoveredPayload];
|
||||
[CoreEvent.RequestEditorSelection]: never[];
|
||||
[CoreEvent.EditorSelected]: [EditorSelectedPayload];
|
||||
@@ -335,6 +349,13 @@ export class CoreEventEmitter extends EventEmitter<CoreEvents> {
|
||||
this._emitOrQueue(CoreEvent.ConsentRequest, payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies subscribers that progress has been made on an MCP tool call.
|
||||
*/
|
||||
emitMcpProgress(payload: McpProgressPayload): void {
|
||||
this.emit(CoreEvent.McpProgress, payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies subscribers that new unacknowledged agents have been discovered.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user