@@ -13,6 +13,7 @@ import {
1313 ListResourceTemplatesRequestSchema ,
1414 ListResourceTemplatesResultSchema ,
1515 Notification ,
16+ PingRequest ,
1617 PingRequestSchema ,
1718 PromptListChangedNotificationSchema ,
1819 ResourceListChangedNotificationSchema ,
@@ -34,12 +35,16 @@ import {
3435 LATEST_PROTOCOL_VERSION ,
3536 McpUiAppCapabilities ,
3637 McpUiHostCapabilities ,
38+ McpUiInitializedNotification ,
3739 McpUiInitializedNotificationSchema ,
3840 McpUiInitializeRequest ,
3941 McpUiInitializeRequestSchema ,
4042 McpUiInitializeResult ,
4143 McpUiResourceTeardownRequest ,
4244 McpUiResourceTeardownResultSchema ,
45+ McpUiSandboxProxyReadyNotification ,
46+ McpUiSandboxProxyReadyNotificationSchema ,
47+ McpUiSizeChangeNotificationSchema ,
4348} from "./types" ;
4449export * from "./types" ;
4550export { PostMessageTransport } from "./message-transport" ;
@@ -48,9 +53,11 @@ type HostOptions = ProtocolOptions;
4853
4954export const SUPPORTED_PROTOCOL_VERSIONS = [ LATEST_PROTOCOL_VERSION ] ;
5055
51- export class AppBridge extends Protocol < Request , Notification , Result > {
52- oninitialized ?: ( ) => void ;
56+ type RequestExtra = Parameters <
57+ Parameters < AppBridge [ "setRequestHandler" ] > [ 1 ]
58+ > [ 1 ] ;
5359
60+ export class AppBridge extends Protocol < Request , Notification , Result > {
5461 private _appCapabilities ?: McpUiAppCapabilities ;
5562
5663 constructor (
@@ -64,16 +71,37 @@ export class AppBridge extends Protocol<Request, Notification, Result> {
6471 this . setRequestHandler ( McpUiInitializeRequestSchema , ( request ) =>
6572 this . _oninitialize ( request ) ,
6673 ) ;
67- this . setNotificationHandler ( McpUiInitializedNotificationSchema , ( ) =>
68- this . oninitialized ?.( ) ,
69- ) ;
7074
71- this . setRequestHandler ( PingRequestSchema , ( request ) => {
72- console . log ( "Received ping:" , request . params ) ;
75+ this . setRequestHandler ( PingRequestSchema , ( request , extra ) => {
76+ this . onping ?. ( request . params , extra ) ;
7377 return { } ;
7478 } ) ;
7579 }
7680
81+ onping ?: ( params : PingRequest [ "params" ] , extra : RequestExtra ) => void ;
82+
83+ set onsizechange (
84+ callback : ( params : McpUiSizeChangeNotification [ "params" ] ) => void ,
85+ ) {
86+ this . setNotificationHandler ( McpUiSizeChangeNotificationSchema , ( n ) =>
87+ callback ( n . params ) ,
88+ ) ;
89+ }
90+ set onsandboxready (
91+ callback : ( params : McpUiSandboxProxyReadyNotification [ "params" ] ) => void ,
92+ ) {
93+ this . setNotificationHandler ( McpUiSandboxProxyReadyNotificationSchema , ( n ) =>
94+ callback ( n . params ) ,
95+ ) ;
96+ }
97+ set oninitialized (
98+ callback : ( params : McpUiInitializedNotification [ "params" ] ) => void ,
99+ ) {
100+ this . setNotificationHandler ( McpUiInitializedNotificationSchema , ( n ) =>
101+ callback ( n . params ) ,
102+ ) ;
103+ }
104+
77105 assertCapabilityForMethod ( method : Request [ "method" ] ) : void {
78106 // TODO
79107 }
0 commit comments