fix(acp): resolve agent mode disconnect and improve mode awareness (#26332)

This commit is contained in:
Sri Pasumarthi
2026-05-01 16:00:10 -07:00
committed by GitHub
parent 40b384de2c
commit 4e175527a2
12 changed files with 186 additions and 40 deletions
+25
View File
@@ -14,6 +14,7 @@ import type {
KeychainAvailabilityEvent,
} from '../telemetry/types.js';
import { debugLogger } from './debugLogger.js';
import type { ApprovalMode } from '../policy/types.js';
/**
* Defines the severity level for user-facing feedback.
@@ -52,6 +53,20 @@ export interface ModelChangedPayload {
model: string;
}
/**
* Payload for the 'approval-mode-changed' event.
*/
export interface ApprovalModeChangedPayload {
/**
* The session ID associated with the mode change.
*/
sessionId: string;
/**
* The new approval mode.
*/
mode: ApprovalMode;
}
/**
* Payload for the 'console-log' event.
*/
@@ -181,6 +196,7 @@ export interface QuotaChangedPayload {
export enum CoreEvent {
UserFeedback = 'user-feedback',
ModelChanged = 'model-changed',
ApprovalModeChanged = 'approval-mode-changed',
ConsoleLog = 'console-log',
Output = 'output',
MemoryChanged = 'memory-changed',
@@ -215,6 +231,7 @@ export interface EditorSelectedPayload {
export interface CoreEvents extends ExtensionEvents {
[CoreEvent.UserFeedback]: [UserFeedbackPayload];
[CoreEvent.ModelChanged]: [ModelChangedPayload];
[CoreEvent.ApprovalModeChanged]: [ApprovalModeChangedPayload];
[CoreEvent.ConsoleLog]: [ConsoleLogPayload];
[CoreEvent.Output]: [OutputPayload];
[CoreEvent.MemoryChanged]: [MemoryChangedPayload];
@@ -327,6 +344,14 @@ export class CoreEventEmitter extends EventEmitter<CoreEvents> {
this.emit(CoreEvent.ModelChanged, payload);
}
/**
* Notifies subscribers that the approval mode has changed.
*/
emitApprovalModeChanged(sessionId: string, mode: ApprovalMode): void {
const payload: ApprovalModeChangedPayload = { sessionId, mode };
this.emit(CoreEvent.ApprovalModeChanged, payload);
}
/**
* Notifies subscribers that settings have been modified.
*/