MCPcopy Create free account
hub / github.com/MoonshotAI/kimi-code / onMessage

Method onMessage

packages/server/src/ws/connection.ts:196–268  ·  view source on GitHub ↗
(data: RawData)

Source from the content-addressed store, hash-verified

194 }
195
196 private onMessage(data: RawData): void {
197 if (this.closed) return;
198 let parsed: unknown;
199 try {
200 parsed = JSON.parse(rawDataToString(data));
201 } catch {
202 this.logger.warn('non-json ws frame; ignoring');
203 return;
204 }
205 const type = frameType(parsed);
206 if (type === undefined) {
207 this.logger.warn('invalid control message type');
208 return;
209 }
210 const operation = getClientControlOperation(type);
211 if (operation === undefined) {
212 this.logger.warn({ type }, 'unknown control message type');
213 return;
214 }
215 const result = operation.messageSchema.safeParse(parsed);
216 if (!result.success) {
217 this.logger.warn({ issues: result.error.issues.length }, 'invalid control message');
218 return;
219 }
220 const msg = result.data as ClientControlMessage;
221 switch (msg.type) {
222 case 'client_hello':
223 void this.onClientHello(msg).catch((err: unknown) => {
224 this.logger.warn({ err: String(err) }, 'client_hello handler failed');
225 });
226 break;
227 case 'pong':
228 this.onPong();
229 break;
230 case 'subscribe':
231 void this.onSubscribe(msg).catch((err: unknown) => {
232 this.logger.warn({ err: String(err) }, 'subscribe handler failed');
233 });
234 break;
235 case 'unsubscribe':
236 this.onUnsubscribe(msg);
237 break;
238 case 'abort':
239 this.onAbort(msg);
240 break;
241 case 'watch_fs_add':
242 this.onWatchFsAdd(msg);
243 break;
244 case 'watch_fs_remove':
245 this.onWatchFsRemove(msg);
246 break;
247 case 'terminal_attach':
248 this.onTerminalAttach(msg);
249 break;
250 case 'terminal_detach':
251 this.onTerminalDetach(msg);
252 break;
253 case 'terminal_input':

Callers 1

constructorMethod · 0.95

Calls 15

onClientHelloMethod · 0.95
onPongMethod · 0.95
onSubscribeMethod · 0.95
onUnsubscribeMethod · 0.95
onAbortMethod · 0.95
onWatchFsAddMethod · 0.95
onWatchFsRemoveMethod · 0.95
onTerminalAttachMethod · 0.95
onTerminalDetachMethod · 0.95
onTerminalInputMethod · 0.95
onTerminalResizeMethod · 0.95
onTerminalCloseMethod · 0.95

Tested by

no test coverage detected