Skip to content

Commit 773943c

Browse files
authored
feat: export method names as consts (#192)
* feat: export method names as consts * rename * fix * format
1 parent c475dc3 commit 773943c

2 files changed

Lines changed: 57 additions & 0 deletions

File tree

src/spec.types.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -562,3 +562,46 @@ export interface McpUiToolMeta {
562562
*/
563563
visibility?: McpUiToolVisibility[];
564564
}
565+
566+
/**
567+
* Method string constants for MCP Apps protocol messages.
568+
*
569+
* These constants provide a type-safe way to check message methods without
570+
* accessing internal Zod schema properties. External libraries should use
571+
* these constants instead of accessing `schema.shape.method._def.values[0]`.
572+
*
573+
* @example
574+
* ```typescript
575+
* import { SANDBOX_PROXY_READY_METHOD } from '@modelcontextprotocol/ext-apps';
576+
*
577+
* if (event.data.method === SANDBOX_PROXY_READY_METHOD) {
578+
* // Handle sandbox proxy ready notification
579+
* }
580+
* ```
581+
*/
582+
export const OPEN_LINK_METHOD: McpUiOpenLinkRequest["method"] = "ui/open-link";
583+
export const MESSAGE_METHOD: McpUiMessageRequest["method"] = "ui/message";
584+
export const SANDBOX_PROXY_READY_METHOD: McpUiSandboxProxyReadyNotification["method"] =
585+
"ui/notifications/sandbox-proxy-ready";
586+
export const SANDBOX_RESOURCE_READY_METHOD: McpUiSandboxResourceReadyNotification["method"] =
587+
"ui/notifications/sandbox-resource-ready";
588+
export const SIZE_CHANGED_METHOD: McpUiSizeChangedNotification["method"] =
589+
"ui/notifications/size-changed";
590+
export const TOOL_INPUT_METHOD: McpUiToolInputNotification["method"] =
591+
"ui/notifications/tool-input";
592+
export const TOOL_INPUT_PARTIAL_METHOD: McpUiToolInputPartialNotification["method"] =
593+
"ui/notifications/tool-input-partial";
594+
export const TOOL_RESULT_METHOD: McpUiToolResultNotification["method"] =
595+
"ui/notifications/tool-result";
596+
export const TOOL_CANCELLED_METHOD: McpUiToolCancelledNotification["method"] =
597+
"ui/notifications/tool-cancelled";
598+
export const HOST_CONTEXT_CHANGED_METHOD: McpUiHostContextChangedNotification["method"] =
599+
"ui/notifications/host-context-changed";
600+
export const RESOURCE_TEARDOWN_METHOD: McpUiResourceTeardownRequest["method"] =
601+
"ui/resource-teardown";
602+
export const INITIALIZE_METHOD: McpUiInitializeRequest["method"] =
603+
"ui/initialize";
604+
export const INITIALIZED_METHOD: McpUiInitializedNotification["method"] =
605+
"ui/notifications/initialized";
606+
export const REQUEST_DISPLAY_MODE_METHOD: McpUiRequestDisplayModeRequest["method"] =
607+
"ui/request-display-mode";

src/types.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@
1212
// Re-export all types from spec.types.ts
1313
export {
1414
LATEST_PROTOCOL_VERSION,
15+
OPEN_LINK_METHOD,
16+
MESSAGE_METHOD,
17+
SANDBOX_PROXY_READY_METHOD,
18+
SANDBOX_RESOURCE_READY_METHOD,
19+
SIZE_CHANGED_METHOD,
20+
TOOL_INPUT_METHOD,
21+
TOOL_INPUT_PARTIAL_METHOD,
22+
TOOL_RESULT_METHOD,
23+
TOOL_CANCELLED_METHOD,
24+
HOST_CONTEXT_CHANGED_METHOD,
25+
RESOURCE_TEARDOWN_METHOD,
26+
INITIALIZE_METHOD,
27+
INITIALIZED_METHOD,
28+
REQUEST_DISPLAY_MODE_METHOD,
1529
type McpUiTheme,
1630
type McpUiDisplayMode,
1731
type McpUiStyleVariableKey,

0 commit comments

Comments
 (0)