MCPcopy Index your code
hub / github.com/codeaashu/claude-code / handleServerControlRequest

Function handleServerControlRequest

src/bridge/bridgeMessaging.ts:243–391  ·  view source on GitHub ↗
(
  request: SDKControlRequest,
  handlers: ServerControlRequestHandlers,
)

Source from the content-addressed store, hash-verified

241 * collaborators as params so both cores can use it.
242 */
243export function handleServerControlRequest(
244 request: SDKControlRequest,
245 handlers: ServerControlRequestHandlers,
246): void {
247 const {
248 transport,
249 sessionId,
250 outboundOnly,
251 onInterrupt,
252 onSetModel,
253 onSetMaxThinkingTokens,
254 onSetPermissionMode,
255 } = handlers
256 if (!transport) {
257 logForDebugging(
258 '[bridge:repl] Cannot respond to control_request: transport not configured',
259 )
260 return
261 }
262
263 let response: SDKControlResponse
264
265 // Outbound-only: reply error for mutable requests so claude.ai doesn't show
266 // false success. initialize must still succeed (server kills the connection
267 // if it doesn't — see comment above).
268 if (outboundOnly && request.request.subtype !== 'initialize') {
269 response = {
270 type: 'control_response',
271 response: {
272 subtype: 'error',
273 request_id: request.request_id,
274 error: OUTBOUND_ONLY_ERROR,
275 },
276 }
277 const event = { ...response, session_id: sessionId }
278 void transport.write(event)
279 logForDebugging(
280 `[bridge:repl] Rejected ${request.request.subtype} (outbound-only) request_id=${request.request_id}`,
281 )
282 return
283 }
284
285 switch (request.request.subtype) {
286 case 'initialize':
287 // Respond with minimal capabilities — the REPL handles
288 // commands, models, and account info itself.
289 response = {
290 type: 'control_response',
291 response: {
292 subtype: 'success',
293 request_id: request.request_id,
294 response: {
295 commands: [],
296 output_style: 'normal',
297 available_output_styles: ['normal'],
298 models: [],
299 account: {},
300 pid: process.pid,

Callers 2

wireTransportCallbacksFunction · 0.85
onServerControlRequestFunction · 0.85

Calls 6

logForDebuggingFunction · 0.85
onSetPermissionModeFunction · 0.85
onSetModelFunction · 0.50
onSetMaxThinkingTokensFunction · 0.50
onInterruptFunction · 0.50
writeMethod · 0.45

Tested by

no test coverage detected