MCPcopy Create free account
hub / github.com/modelcontextprotocol/inspector / resolveRefsInMessage

Function resolveRefsInMessage

client/src/utils/schemaUtils.ts:322–353  ·  view source on GitHub ↗
(message: JSONRPCMessage)

Source from the content-addressed store, hash-verified

320 * @returns A new message with resolved $ref references, or the original message if no resolution is needed
321 */
322export function resolveRefsInMessage(message: JSONRPCMessage): JSONRPCMessage {
323 if (!isJSONRPCRequest(message) || !message.params?.requestedSchema) {
324 return message;
325 }
326
327 const requestedSchema = message.params.requestedSchema as JsonSchemaType;
328
329 if (!requestedSchema?.properties) {
330 return message;
331 }
332
333 const resolvedMessage = {
334 ...message,
335 params: {
336 ...message.params,
337 requestedSchema: {
338 ...requestedSchema,
339 properties: Object.fromEntries(
340 Object.entries(requestedSchema.properties).map(
341 ([key, propSchema]) => {
342 const resolved = resolveRef(propSchema, requestedSchema);
343 const normalized = normalizeUnionType(resolved);
344 return [key, normalized];
345 },
346 ),
347 ),
348 },
349 },
350 };
351
352 return resolvedMessage;
353}

Callers 1

connectFunction · 0.90

Calls 2

resolveRefFunction · 0.85
normalizeUnionTypeFunction · 0.85

Tested by

no test coverage detected