* Handle an incoming message from the extension host. * * Call this method whenever you receive a message from the extension. * The client will parse, validate, and process the message, updating * internal state and emitting appropriate events. * * @param message - The raw message (can b
(message: ExtensionMessage | string)
| 151 | * @param message - The raw message (can be ExtensionMessage or JSON string) |
| 152 | */ |
| 153 | handleMessage(message: ExtensionMessage | string): void { |
| 154 | let parsed: ExtensionMessage | undefined |
| 155 | |
| 156 | if (typeof message === "string") { |
| 157 | parsed = parseExtensionMessage(message) |
| 158 | |
| 159 | if (!parsed) { |
| 160 | if (this.debug) { |
| 161 | console.log("[ExtensionClient] Failed to parse message:", message) |
| 162 | } |
| 163 | |
| 164 | return |
| 165 | } |
| 166 | } else { |
| 167 | parsed = message |
| 168 | } |
| 169 | |
| 170 | this.processor.processMessage(parsed) |
| 171 | } |
| 172 | |
| 173 | /** |
| 174 | * Handle multiple messages at once. |