refactor(vscode-ide-companion): clean up code and improve type safety

- Remove commented out error handling code in acpMessageHandler
- Simplify session update handler by removing redundant comments
- Clean up chat types interface definitions
- Simplify null check in MessageRouter
- Improve type safety in SettingsMessageHandler with ApprovalModeValue type
This commit is contained in:
yiliang114
2025-12-09 00:15:44 +08:00
parent ef3d7b92d0
commit 828b760820
5 changed files with 6 additions and 87 deletions

View File

@@ -150,13 +150,7 @@ export class MessageRouter {
*/
setLoginHandler(handler: () => Promise<void>): void {
this.authHandler.setLoginHandler(handler);
// Also set login handler for SessionMessageHandler
if (
this.sessionHandler &&
typeof this.sessionHandler.setLoginHandler === 'function'
) {
this.sessionHandler.setLoginHandler(handler);
}
this.sessionHandler?.setLoginHandler?.(handler);
}
/**

View File

@@ -6,6 +6,7 @@
import * as vscode from 'vscode';
import { BaseMessageHandler } from './BaseMessageHandler.js';
import type { ApprovalModeValue } from '../../types/acpTypes.js';
/**
* Settings message handler
@@ -31,7 +32,7 @@ export class SettingsMessageHandler extends BaseMessageHandler {
case 'setApprovalMode':
await this.handleSetApprovalMode(
message.data as {
modeId?: 'plan' | 'default' | 'auto-edit' | 'yolo';
modeId?: ApprovalModeValue;
},
);
break;
@@ -83,23 +84,11 @@ export class SettingsMessageHandler extends BaseMessageHandler {
* Set approval mode via agent (ACP session/set_mode)
*/
private async handleSetApprovalMode(data?: {
modeId?: 'plan' | 'default' | 'auto-edit' | 'yolo';
modeId?: ApprovalModeValue;
}): Promise<void> {
try {
const modeId = (data?.modeId || 'default') as
| 'plan'
| 'default'
| 'auto-edit'
| 'yolo';
await this.agentManager.setApprovalModeFromUi(
modeId === 'plan'
? 'plan'
: modeId === 'auto-edit'
? 'auto'
: modeId === 'yolo'
? 'yolo'
: 'ask',
);
const modeId = data?.modeId || 'default';
await this.agentManager.setApprovalModeFromUi(modeId);
// No explicit response needed; WebView listens for modeChanged
} catch (error) {
console.error('[SettingsMessageHandler] Failed to set mode:', error);