MCPcopy Create free account
hub / github.com/Noumena-Network/code / handleMessage

Method handleMessage

src/remote/RemoteSessionManager.ts:146–184  ·  view source on GitHub ↗

* Handle messages from WebSocket

(
    message:
      | SDKMessage
      | SDKControlRequest
      | SDKControlResponse
      | SDKControlCancelRequest,
  )

Source from the content-addressed store, hash-verified

144 * Handle messages from WebSocket
145 */
146 private handleMessage(
147 message:
148 | SDKMessage
149 | SDKControlRequest
150 | SDKControlResponse
151 | SDKControlCancelRequest,
152 ): void {
153 // Handle control requests (permission prompts from CCR)
154 if (message.type === 'control_request') {
155 this.handleControlRequest(message)
156 return
157 }
158
159 // Handle control cancel requests (server cancelling a pending permission prompt)
160 if (message.type === 'control_cancel_request') {
161 const { request_id } = message
162 const pendingRequest = this.pendingPermissionRequests.get(request_id)
163 logForDebugging(
164 `[RemoteSessionManager] Permission request cancelled: ${request_id}`,
165 )
166 this.pendingPermissionRequests.delete(request_id)
167 this.callbacks.onPermissionCancelled?.(
168 request_id,
169 pendingRequest?.tool_use_id,
170 )
171 return
172 }
173
174 // Handle control responses (acknowledgments)
175 if (message.type === 'control_response') {
176 logForDebugging('[RemoteSessionManager] Received control response')
177 return
178 }
179
180 // Forward SDK messages to callback (type guard ensures proper narrowing)
181 if (isSDKMessage(message)) {
182 this.callbacks.onMessage(message)
183 }
184 }
185
186 /**
187 * Handle control requests from CCR (e.g., permission requests)

Callers 1

connectMethod · 0.95

Calls 6

handleControlRequestMethod · 0.95
deleteMethod · 0.80
onMessageMethod · 0.80
isSDKMessageFunction · 0.70
logForDebuggingFunction · 0.50
getMethod · 0.45

Tested by

no test coverage detected