1- import { RESOURCE_MIME_TYPE , RESOURCE_URI_META_KEY , type McpUiSandboxProxyReadyNotification , AppBridge , PostMessageTransport } from "@modelcontextprotocol/ext-apps/app-bridge" ;
1+ import { RESOURCE_MIME_TYPE , getToolUiResourceUri , type McpUiSandboxProxyReadyNotification , AppBridge , PostMessageTransport } from "@modelcontextprotocol/ext-apps/app-bridge" ;
22import { Client } from "@modelcontextprotocol/sdk/client/index.js" ;
33import { StreamableHTTPClientTransport } from "@modelcontextprotocol/sdk/client/streamableHttp.js" ;
44import type { CallToolResult , Tool } from "@modelcontextprotocol/sdk/types.js" ;
@@ -77,7 +77,7 @@ export function callTool(
7777
7878 const toolCallInfo : ToolCallInfo = { serverInfo, tool, input, resultPromise } ;
7979
80- const uiResourceUri = getUiResourceUri ( tool ) ;
80+ const uiResourceUri = getToolUiResourceUri ( tool ) ;
8181 if ( uiResourceUri ) {
8282 toolCallInfo . appResourcePromise = getUiResource ( serverInfo , uiResourceUri ) ;
8383 }
@@ -86,16 +86,6 @@ export function callTool(
8686}
8787
8888
89- function getUiResourceUri ( tool : Tool ) : string | undefined {
90- const uri = tool . _meta ?. [ RESOURCE_URI_META_KEY ] ;
91- if ( typeof uri === "string" && uri . startsWith ( "ui://" ) ) {
92- return uri ;
93- } else if ( uri !== undefined ) {
94- throw new Error ( `Invalid UI resource URI: ${ JSON . stringify ( uri ) } ` ) ;
95- }
96- }
97-
98-
9989async function getUiResource ( serverInfo : ServerInfo , uri : string ) : Promise < UiResourceData > {
10090 log . info ( "Reading UI resource:" , uri ) ;
10191 const resource = await serverInfo . client . readResource ( { uri } ) ;
0 commit comments