88 type CreateMessageRequest ,
99 type CreateMessageResult ,
1010 type CreateMessageResultWithTools ,
11+ type ElicitRequest ,
12+ type ElicitResult ,
1113 type Implementation ,
1214 type ListResourcesRequest ,
1315 type ListResourcesResult ,
@@ -21,7 +23,11 @@ import {
2123 type ToolListChangedNotification ,
2224 type Transport ,
2325} from "@modelcontextprotocol/client" ;
24- import { ElicitRequestParamsSchema , ElicitResultSchema , EmptyResultSchema } from "@modelcontextprotocol/core" ;
26+ import {
27+ ElicitRequestParamsSchema ,
28+ ElicitResultSchema ,
29+ EmptyResultSchema ,
30+ } from "@modelcontextprotocol/core" ;
2531export { RESOURCE_MIME_TYPE , RESOURCE_URI_META_KEY } from "./constants.js" ;
2632import { EventDispatcher , MethodRegistry } from "./events.js" ;
2733import {
@@ -34,7 +40,7 @@ export type {
3440 LegacyNotificationHandler ,
3541 LegacyNotificationHandlerSetter ,
3642 LegacyRequestHandler ,
37- LegacyBaseContext ,
43+ LegacyRequestHandlerExtra ,
3844 LegacyRequestHandlerSetter ,
3945} from "./legacy-handlers.js" ;
4046export { EventDispatcher } from "./events.js" ;
@@ -198,10 +204,10 @@ export type AppToolCallback<
198204> = In extends StandardSchemaV1
199205 ? (
200206 args : StandardSchemaV1 . InferOutput < In > ,
201- extra : BaseContext ,
207+ extra : RequestHandlerExtra ,
202208 ) => AppToolResult < Out > | Promise < AppToolResult < Out > >
203209 : (
204- extra : BaseContext ,
210+ extra : RequestHandlerExtra ,
205211 ) => AppToolResult < Out > | Promise < AppToolResult < Out > > ;
206212
207213/**
@@ -224,7 +230,7 @@ export type RegisteredAppTool = {
224230 /** @internal */
225231 handler : (
226232 args : unknown ,
227- extra : BaseContext ,
233+ extra : RequestHandlerExtra ,
228234 ) => Promise < CallToolResult > ;
229235} ;
230236
@@ -1072,7 +1078,7 @@ export class App extends Protocol<BaseContext> {
10721078 */
10731079 private _onteardown ?: (
10741080 params : McpUiResourceTeardownRequest [ "params" ] ,
1075- extra : BaseContext ,
1081+ extra : RequestHandlerExtra ,
10761082 ) => McpUiResourceTeardownResult | Promise < McpUiResourceTeardownResult > ;
10771083 get onteardown ( ) {
10781084 return this . _onteardown ;
@@ -1081,7 +1087,7 @@ export class App extends Protocol<BaseContext> {
10811087 callback :
10821088 | ( (
10831089 params : McpUiResourceTeardownRequest [ "params" ] ,
1084- extra : BaseContext ,
1090+ extra : RequestHandlerExtra ,
10851091 ) => McpUiResourceTeardownResult | Promise < McpUiResourceTeardownResult > )
10861092 | undefined ,
10871093 ) {
@@ -1110,7 +1116,7 @@ export class App extends Protocol<BaseContext> {
11101116 */
11111117 private _onelicitation ?: (
11121118 params : ElicitRequest [ "params" ] ,
1113- extra : BaseContext ,
1119+ extra : RequestHandlerExtra ,
11141120 ) => ElicitResult | Promise < ElicitResult > ;
11151121 get onelicitation ( ) {
11161122 return this . _onelicitation ;
@@ -1119,7 +1125,7 @@ export class App extends Protocol<BaseContext> {
11191125 callback :
11201126 | ( (
11211127 params : ElicitRequest [ "params" ] ,
1122- extra : BaseContext ,
1128+ extra : RequestHandlerExtra ,
11231129 ) => ElicitResult | Promise < ElicitResult > )
11241130 | undefined ,
11251131 ) {
@@ -1132,15 +1138,19 @@ export class App extends Protocol<BaseContext> {
11321138 if ( callback && ! this . _appCapabilities . elicitation && ! this . transport ) {
11331139 this . _appCapabilities . elicitation = { } ;
11341140 }
1135- this . replaceRequestHandler ( "elicitation/create" , { params : ElicitRequestParamsSchema , result : ElicitResultSchema } , ( params , extra ) => {
1136- if ( ! this . _onelicitation ) {
1137- throw new Error ( "No onelicitation handler set" ) ;
1138- }
1139- if ( params . mode !== undefined && params . mode !== "form" ) {
1140- throw new Error ( "MCP Apps only support form-mode elicitations" ) ;
1141- }
1142- return this . _onelicitation ( params , extra ) ;
1143- } ) ;
1141+ this . replaceRequestHandler (
1142+ "elicitation/create" ,
1143+ { params : ElicitRequestParamsSchema , result : ElicitResultSchema } ,
1144+ ( params , extra ) => {
1145+ if ( ! this . _onelicitation ) {
1146+ throw new Error ( "No onelicitation handler set" ) ;
1147+ }
1148+ if ( params . mode !== undefined && params . mode !== "form" ) {
1149+ throw new Error ( "MCP Apps only support form-mode elicitations" ) ;
1150+ }
1151+ return this . _onelicitation ( params , extra ) ;
1152+ } ,
1153+ ) ;
11441154 }
11451155
11461156 /**
@@ -1173,7 +1183,7 @@ export class App extends Protocol<BaseContext> {
11731183 */
11741184 private _oncalltool ?: (
11751185 params : CallToolRequest [ "params" ] ,
1176- extra : BaseContext ,
1186+ extra : RequestHandlerExtra ,
11771187 ) => Promise < CallToolResult > ;
11781188 get oncalltool ( ) {
11791189 return this . _oncalltool ;
@@ -1182,7 +1192,7 @@ export class App extends Protocol<BaseContext> {
11821192 callback :
11831193 | ( (
11841194 params : CallToolRequest [ "params" ] ,
1185- extra : BaseContext ,
1195+ extra : RequestHandlerExtra ,
11861196 ) => Promise < CallToolResult > )
11871197 | undefined ,
11881198 ) {
@@ -1240,7 +1250,7 @@ export class App extends Protocol<BaseContext> {
12401250 */
12411251 private _onlisttools ?: (
12421252 params : ListToolsRequest [ "params" ] ,
1243- extra : BaseContext ,
1253+ extra : RequestHandlerExtra ,
12441254 ) => Promise < ListToolsResult > ;
12451255 get onlisttools ( ) {
12461256 return this . _onlisttools ;
@@ -1249,7 +1259,7 @@ export class App extends Protocol<BaseContext> {
12491259 callback :
12501260 | ( (
12511261 params : ListToolsRequest [ "params" ] ,
1252- extra : BaseContext ,
1262+ extra : RequestHandlerExtra ,
12531263 ) => Promise < ListToolsResult > )
12541264 | undefined ,
12551265 ) {
@@ -1297,7 +1307,9 @@ export class App extends Protocol<BaseContext> {
12971307 return ;
12981308 case "elicitation/create" :
12991309 if ( ! this . _appCapabilities . elicitation ) {
1300- throw new Error ( `App does not support elicitation capability (required for ${ method } )` ) ;
1310+ throw new Error (
1311+ `App does not support elicitation capability (required for ${ method } )` ,
1312+ ) ;
13011313 }
13021314 return ;
13031315 default :
0 commit comments