Add AppBridge.sendHostContextChange + reexport RESOURCE_URI_META_KEY (#87)
* Export RESOURCE_URI_META_KEY from app-bridge * add sendHostContextChange * nit
This commit is contained in:
parent
43214f922c
commit
3aa93db3c3
2 changed files with 17 additions and 6 deletions
|
|
@ -60,6 +60,7 @@ import {
|
||||||
McpUiSizeChangedNotificationSchema,
|
McpUiSizeChangedNotificationSchema,
|
||||||
} from "./types";
|
} from "./types";
|
||||||
export * from "./types";
|
export * from "./types";
|
||||||
|
export { RESOURCE_URI_META_KEY } from "./app";
|
||||||
export { PostMessageTransport } from "./message-transport";
|
export { PostMessageTransport } from "./message-transport";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -153,8 +154,8 @@ type RequestHandlerExtra = Parameters<
|
||||||
*/
|
*/
|
||||||
export class AppBridge extends Protocol<Request, Notification, Result> {
|
export class AppBridge extends Protocol<Request, Notification, Result> {
|
||||||
private _appCapabilities?: McpUiAppCapabilities;
|
private _appCapabilities?: McpUiAppCapabilities;
|
||||||
|
private _hostContext: McpUiHostContext = {};
|
||||||
private _appInfo?: Implementation;
|
private _appInfo?: Implementation;
|
||||||
private _hostContext: McpUiHostContext;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new AppBridge instance.
|
* Create a new AppBridge instance.
|
||||||
|
|
@ -625,13 +626,23 @@ export class AppBridge extends Protocol<Request, Notification, Result> {
|
||||||
}
|
}
|
||||||
if (hasChanges) {
|
if (hasChanges) {
|
||||||
this._hostContext = hostContext;
|
this._hostContext = hostContext;
|
||||||
this.notification((<McpUiHostContextChangedNotification>{
|
this.sendHostContextChange(changes);
|
||||||
method: "ui/notifications/host-context-changed",
|
|
||||||
params: changes,
|
|
||||||
}) as Notification); // Cast needed because McpUiHostContext is a params type that doesn't allow arbitrary keys.
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Send a host context change notification to the app.
|
||||||
|
* Only sends the fields that have changed (partial update).
|
||||||
|
*/
|
||||||
|
sendHostContextChange(
|
||||||
|
params: McpUiHostContextChangedNotification["params"],
|
||||||
|
): Promise<void> | void {
|
||||||
|
return this.notification((<McpUiHostContextChangedNotification>{
|
||||||
|
method: "ui/notifications/host-context-changed",
|
||||||
|
params,
|
||||||
|
}) as Notification);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Send complete tool arguments to the Guest UI.
|
* Send complete tool arguments to the Guest UI.
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ import {
|
||||||
} from "./types";
|
} from "./types";
|
||||||
import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
import { Transport } from "@modelcontextprotocol/sdk/shared/transport.js";
|
||||||
|
|
||||||
export { PostMessageTransport } from "./message-transport.js";
|
export { PostMessageTransport } from "./message-transport";
|
||||||
export * from "./types";
|
export * from "./types";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue