Files
vscode_plugin/src/chat/WebviewMessageRouter.ts
T
2026-04-09 15:42:42 +03:00

29 lines
819 B
TypeScript

import { ChatController } from "./ChatController";
import { WebviewMessage } from "./models";
export class WebviewMessageRouter {
constructor(private readonly controller: ChatController) {}
async handle(message: WebviewMessage): Promise<void> {
switch (message.type) {
case "ready":
await this.controller.handleReady();
break;
case "send":
await this.controller.sendMessage(String(message.text || ""));
break;
case "clear":
await this.controller.startNewSession();
break;
case "menu":
await this.controller.handleMenu(String(message.action || ""));
break;
case "set-process-version":
this.controller.setProcessVersion(String(message.value || "v2"));
break;
default:
break;
}
}
}