Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.ts
5258 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { MCP } from './modelContextProtocol.js';
7
8
type CallToolResult = MCP.CallToolResult;
9
type ContentBlock = MCP.ContentBlock;
10
type Implementation = MCP.Implementation;
11
type RequestId = MCP.RequestId;
12
type Tool = MCP.Tool;
13
14
export namespace McpApps {
15
export type AppRequest =
16
| MCP.CallToolRequest
17
| MCP.ReadResourceRequest
18
| MCP.PingRequest
19
| (McpUiOpenLinkRequest & MCP.JSONRPCRequest)
20
| (McpUiUpdateModelContextRequest & MCP.JSONRPCRequest)
21
| (McpUiMessageRequest & MCP.JSONRPCRequest)
22
| (McpUiRequestDisplayModeRequest & MCP.JSONRPCRequest)
23
| (McpApps.McpUiInitializeRequest & MCP.JSONRPCRequest);
24
25
export type AppNotification =
26
| McpUiInitializedNotification
27
| McpUiSizeChangedNotification
28
| MCP.LoggingMessageNotification
29
| CustomSandboxWheelNotification;
30
31
export type AppMessage = AppRequest | AppNotification;
32
33
export type HostResult =
34
| MCP.CallToolResult
35
| MCP.ReadResourceResult
36
| MCP.EmptyResult
37
| McpApps.McpUiInitializeResult
38
| McpUiMessageResult
39
| McpUiOpenLinkResult
40
| McpUiRequestDisplayModeResult;
41
42
export type HostNotification =
43
| McpUiHostContextChangedNotification
44
| McpUiResourceTeardownRequest
45
| McpUiToolInputNotification
46
| McpUiToolInputPartialNotification
47
| McpUiToolResultNotification
48
| McpUiToolCancelledNotification
49
| McpUiSizeChangedNotification;
50
51
export type HostMessage = HostResult | HostNotification;
52
53
54
/** Custom notification used for bubbling up sandbox wheel events. */
55
export interface CustomSandboxWheelNotification {
56
method: 'ui/notifications/sandbox-wheel';
57
params: {
58
deltaMode: number;
59
deltaX: number;
60
deltaY: number;
61
deltaZ: number;
62
};
63
}
64
}
65
66
/* eslint-disable local/code-no-unexternalized-strings */
67
68
69
/**
70
* Schema updated from the Model Context Protocol Apps repository at
71
* https://github.com/modelcontextprotocol/ext-apps/blob/main/src/spec.types.ts
72
*
73
* ⚠️ Do not edit within `namespace` manually except to update schema versions ⚠️
74
*/
75
export namespace McpApps {
76
/**
77
* Current protocol version supported by this SDK.
78
*
79
* The SDK automatically handles version negotiation during initialization.
80
* Apps and hosts don't need to manage protocol versions manually.
81
*/
82
export const LATEST_PROTOCOL_VERSION = "2026-01-26";
83
84
/**
85
* @description Color theme preference for the host environment.
86
*/
87
export type McpUiTheme = "light" | "dark";
88
89
/**
90
* @description Display mode for UI presentation.
91
*/
92
export type McpUiDisplayMode = "inline" | "fullscreen" | "pip";
93
94
/**
95
* @description CSS variable keys available to MCP apps for theming.
96
*/
97
export type McpUiStyleVariableKey =
98
// Background colors
99
| "--color-background-primary"
100
| "--color-background-secondary"
101
| "--color-background-tertiary"
102
| "--color-background-inverse"
103
| "--color-background-ghost"
104
| "--color-background-info"
105
| "--color-background-danger"
106
| "--color-background-success"
107
| "--color-background-warning"
108
| "--color-background-disabled"
109
// Text colors
110
| "--color-text-primary"
111
| "--color-text-secondary"
112
| "--color-text-tertiary"
113
| "--color-text-inverse"
114
| "--color-text-ghost"
115
| "--color-text-info"
116
| "--color-text-danger"
117
| "--color-text-success"
118
| "--color-text-warning"
119
| "--color-text-disabled"
120
| "--color-text-ghost"
121
// Border colors
122
| "--color-border-primary"
123
| "--color-border-secondary"
124
| "--color-border-tertiary"
125
| "--color-border-inverse"
126
| "--color-border-ghost"
127
| "--color-border-info"
128
| "--color-border-danger"
129
| "--color-border-success"
130
| "--color-border-warning"
131
| "--color-border-disabled"
132
// Ring colors
133
| "--color-ring-primary"
134
| "--color-ring-secondary"
135
| "--color-ring-inverse"
136
| "--color-ring-info"
137
| "--color-ring-danger"
138
| "--color-ring-success"
139
| "--color-ring-warning"
140
// Typography - Family
141
| "--font-sans"
142
| "--font-mono"
143
// Typography - Weight
144
| "--font-weight-normal"
145
| "--font-weight-medium"
146
| "--font-weight-semibold"
147
| "--font-weight-bold"
148
// Typography - Text Size
149
| "--font-text-xs-size"
150
| "--font-text-sm-size"
151
| "--font-text-md-size"
152
| "--font-text-lg-size"
153
// Typography - Heading Size
154
| "--font-heading-xs-size"
155
| "--font-heading-sm-size"
156
| "--font-heading-md-size"
157
| "--font-heading-lg-size"
158
| "--font-heading-xl-size"
159
| "--font-heading-2xl-size"
160
| "--font-heading-3xl-size"
161
// Typography - Text Line Height
162
| "--font-text-xs-line-height"
163
| "--font-text-sm-line-height"
164
| "--font-text-md-line-height"
165
| "--font-text-lg-line-height"
166
// Typography - Heading Line Height
167
| "--font-heading-xs-line-height"
168
| "--font-heading-sm-line-height"
169
| "--font-heading-md-line-height"
170
| "--font-heading-lg-line-height"
171
| "--font-heading-xl-line-height"
172
| "--font-heading-2xl-line-height"
173
| "--font-heading-3xl-line-height"
174
// Border radius
175
| "--border-radius-xs"
176
| "--border-radius-sm"
177
| "--border-radius-md"
178
| "--border-radius-lg"
179
| "--border-radius-xl"
180
| "--border-radius-full"
181
// Border width
182
| "--border-width-regular"
183
// Shadows
184
| "--shadow-hairline"
185
| "--shadow-sm"
186
| "--shadow-md"
187
| "--shadow-lg";
188
189
/**
190
* @description Style variables for theming MCP apps.
191
*
192
* Individual style keys are optional - hosts may provide any subset of these values.
193
* Values are strings containing CSS values (colors, sizes, font stacks, etc.).
194
*
195
* Note: This type uses `Record<K, string | undefined>` rather than `Partial<Record<K, string>>`
196
* for compatibility with Zod schema generation. Both are functionally equivalent for validation.
197
*/
198
export type McpUiStyles = Record<McpUiStyleVariableKey, string | undefined>;
199
200
/**
201
* @description Request to open an external URL in the host's default browser.
202
* @see {@link app.App.sendOpenLink} for the method that sends this request
203
*/
204
export interface McpUiOpenLinkRequest {
205
method: "ui/open-link";
206
params: {
207
/** @description URL to open in the host's browser */
208
url: string;
209
};
210
}
211
212
/**
213
* @description Result from opening a URL.
214
* @see {@link McpUiOpenLinkRequest}
215
*/
216
export interface McpUiOpenLinkResult {
217
/** @description True if the host failed to open the URL (e.g., due to security policy). */
218
isError?: boolean;
219
/**
220
* Index signature required for MCP SDK `Protocol` class compatibility.
221
* Note: The schema intentionally omits this to enforce strict validation.
222
*/
223
[key: string]: unknown;
224
}
225
226
/**
227
* @description Request to send a message to the host's chat interface.
228
* @see {@link app.App.sendMessage} for the method that sends this request
229
*/
230
export interface McpUiMessageRequest {
231
method: "ui/message";
232
params: {
233
/** @description Message role, currently only "user" is supported. */
234
role: "user";
235
/** @description Message content blocks (text, image, etc.). */
236
content: ContentBlock[];
237
};
238
}
239
240
/**
241
* @description Result from sending a message.
242
* @see {@link McpUiMessageRequest}
243
*/
244
export interface McpUiMessageResult {
245
/** @description True if the host rejected or failed to deliver the message. */
246
isError?: boolean;
247
/**
248
* Index signature required for MCP SDK `Protocol` class compatibility.
249
* Note: The schema intentionally omits this to enforce strict validation.
250
*/
251
[key: string]: unknown;
252
}
253
254
/**
255
* @description Notification that the sandbox proxy iframe is ready to receive content.
256
* @internal
257
* @see https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx#sandbox-proxy
258
*/
259
export interface McpUiSandboxProxyReadyNotification {
260
method: "ui/notifications/sandbox-proxy-ready";
261
params: {};
262
}
263
264
/**
265
* @description Notification containing HTML resource for the sandbox proxy to load.
266
* @internal
267
* @see https://github.com/modelcontextprotocol/ext-apps/blob/main/specification/draft/apps.mdx#sandbox-proxy
268
*/
269
export interface McpUiSandboxResourceReadyNotification {
270
method: "ui/notifications/sandbox-resource-ready";
271
params: {
272
/** @description HTML content to load into the inner iframe. */
273
html: string;
274
/** @description Optional override for the inner iframe's sandbox attribute. */
275
sandbox?: string;
276
/** @description CSP configuration from resource metadata. */
277
csp?: McpUiResourceCsp;
278
/** @description Sandbox permissions from resource metadata. */
279
permissions?: McpUiResourcePermissions;
280
};
281
}
282
283
/**
284
* @description Notification of UI size changes (bidirectional: Guest <-> Host).
285
* @see {@link app.App.sendSizeChanged} for the method to send this from Guest UI
286
*/
287
export interface McpUiSizeChangedNotification {
288
method: "ui/notifications/size-changed";
289
params: {
290
/** @description New width in pixels. */
291
width?: number;
292
/** @description New height in pixels. */
293
height?: number;
294
};
295
}
296
297
/**
298
* @description Notification containing complete tool arguments (Host -> Guest UI).
299
*/
300
export interface McpUiToolInputNotification {
301
method: "ui/notifications/tool-input";
302
params: {
303
/** @description Complete tool call arguments as key-value pairs. */
304
arguments?: Record<string, unknown>;
305
};
306
}
307
308
/**
309
* @description Notification containing partial/streaming tool arguments (Host -> Guest UI).
310
*/
311
export interface McpUiToolInputPartialNotification {
312
method: "ui/notifications/tool-input-partial";
313
params: {
314
/** @description Partial tool call arguments (incomplete, may change). */
315
arguments?: Record<string, unknown>;
316
};
317
}
318
319
/**
320
* @description Notification containing tool execution result (Host -> Guest UI).
321
*/
322
export interface McpUiToolResultNotification {
323
method: "ui/notifications/tool-result";
324
/** @description Standard MCP tool execution result. */
325
params: CallToolResult;
326
}
327
328
/**
329
* @description Notification that tool execution was cancelled (Host -> Guest UI).
330
* Host MUST send this if tool execution was cancelled for any reason (user action,
331
* sampling error, classifier intervention, etc.).
332
*/
333
export interface McpUiToolCancelledNotification {
334
method: "ui/notifications/tool-cancelled";
335
params: {
336
/** @description Optional reason for the cancellation (e.g., "user action", "timeout"). */
337
reason?: string;
338
};
339
}
340
341
/**
342
* @description CSS blocks that can be injected by apps.
343
*/
344
export interface McpUiHostCss {
345
/** @description CSS for font loading (@font-face rules or @import statements). Apps must apply using applyHostFonts(). */
346
fonts?: string;
347
}
348
349
/**
350
* @description Style configuration for theming MCP apps.
351
*/
352
export interface McpUiHostStyles {
353
/** @description CSS variables for theming the app. */
354
variables?: McpUiStyles;
355
/** @description CSS blocks that apps can inject. */
356
css?: McpUiHostCss;
357
}
358
359
/**
360
* @description Rich context about the host environment provided to Guest UIs.
361
*/
362
export interface McpUiHostContext {
363
/** @description Allow additional properties for forward compatibility. */
364
[key: string]: unknown;
365
/** @description Metadata of the tool call that instantiated this App. */
366
toolInfo?: {
367
/** @description JSON-RPC id of the tools/call request. */
368
id?: RequestId;
369
/** @description Tool definition including name, inputSchema, etc. */
370
tool: Tool;
371
};
372
/** @description Current color theme preference. */
373
theme?: McpUiTheme;
374
/** @description Style configuration for theming the app. */
375
styles?: McpUiHostStyles;
376
/** @description How the UI is currently displayed. */
377
displayMode?: McpUiDisplayMode;
378
/** @description Display modes the host supports. */
379
availableDisplayModes?: string[];
380
/**
381
* @description Container dimensions. Represents the dimensions of the iframe or other
382
* container holding the app. Specify either width or maxWidth, and either height or maxHeight.
383
*/
384
containerDimensions?: (
385
| {
386
/** @description Fixed container height in pixels. */
387
height: number;
388
}
389
| {
390
/** @description Maximum container height in pixels. */
391
maxHeight?: number | undefined;
392
}
393
) &
394
(
395
| {
396
/** @description Fixed container width in pixels. */
397
width: number;
398
}
399
| {
400
/** @description Maximum container width in pixels. */
401
maxWidth?: number | undefined;
402
}
403
);
404
/** @description User's language and region preference in BCP 47 format. */
405
locale?: string;
406
/** @description User's timezone in IANA format. */
407
timeZone?: string;
408
/** @description Host application identifier. */
409
userAgent?: string;
410
/** @description Platform type for responsive design decisions. */
411
platform?: "web" | "desktop" | "mobile";
412
/** @description Device input capabilities. */
413
deviceCapabilities?: {
414
/** @description Whether the device supports touch input. */
415
touch?: boolean;
416
/** @description Whether the device supports hover interactions. */
417
hover?: boolean;
418
};
419
/** @description Mobile safe area boundaries in pixels. */
420
safeAreaInsets?: {
421
/** @description Top safe area inset in pixels. */
422
top: number;
423
/** @description Right safe area inset in pixels. */
424
right: number;
425
/** @description Bottom safe area inset in pixels. */
426
bottom: number;
427
/** @description Left safe area inset in pixels. */
428
left: number;
429
};
430
}
431
432
/**
433
* @description Notification that host context has changed (Host -> Guest UI).
434
* @see {@link McpUiHostContext} for the full context structure
435
*/
436
export interface McpUiHostContextChangedNotification {
437
method: "ui/notifications/host-context-changed";
438
/** @description Partial context update containing only changed fields. */
439
params: McpUiHostContext;
440
}
441
442
/**
443
* @description Request to update the agent's context without requiring a follow-up action (Guest UI -> Host).
444
*
445
* Unlike `notifications/message` which is for debugging/logging, this request is intended
446
* to update the Host's model context. Each request overwrites the previous context sent by the Guest UI.
447
* Unlike messages, context updates do not trigger follow-ups.
448
*
449
* The host will typically defer sending the context to the model until the next user message
450
* (including `ui/message`), and will only send the last update received.
451
*
452
* @see {@link app.App.updateModelContext} for the method that sends this request
453
*/
454
export interface McpUiUpdateModelContextRequest {
455
method: "ui/update-model-context";
456
params: {
457
/** @description Context content blocks (text, image, etc.). */
458
content?: ContentBlock[];
459
/** @description Structured content for machine-readable context data. */
460
structuredContent?: Record<string, unknown>;
461
};
462
}
463
464
/**
465
* @description Request for graceful shutdown of the Guest UI (Host -> Guest UI).
466
* @see {@link app-bridge.AppBridge.teardownResource} for the host method that sends this
467
*/
468
export interface McpUiResourceTeardownRequest {
469
method: "ui/resource-teardown";
470
params: {};
471
}
472
473
/**
474
* @description Result from graceful shutdown request.
475
* @see {@link McpUiResourceTeardownRequest}
476
*/
477
export interface McpUiResourceTeardownResult {
478
/**
479
* Index signature required for MCP SDK `Protocol` class compatibility.
480
*/
481
[key: string]: unknown;
482
}
483
484
export interface McpUiSupportedContentBlockModalities {
485
/** @description Host supports text content blocks. */
486
text?: {};
487
/** @description Host supports image content blocks. */
488
image?: {};
489
/** @description Host supports audio content blocks. */
490
audio?: {};
491
/** @description Host supports resource content blocks. */
492
resource?: {};
493
/** @description Host supports resource link content blocks. */
494
resourceLink?: {};
495
/** @description Host supports structured content. */
496
structuredContent?: {};
497
}
498
499
/**
500
* @description Capabilities supported by the host application.
501
* @see {@link McpUiInitializeResult} for the initialization result that includes these capabilities
502
*/
503
export interface McpUiHostCapabilities {
504
/** @description Experimental features (structure TBD). */
505
experimental?: {};
506
/** @description Host supports opening external URLs. */
507
openLinks?: {};
508
/** @description Host can proxy tool calls to the MCP server. */
509
serverTools?: {
510
/** @description Host supports tools/list_changed notifications. */
511
listChanged?: boolean;
512
};
513
/** @description Host can proxy resource reads to the MCP server. */
514
serverResources?: {
515
/** @description Host supports resources/list_changed notifications. */
516
listChanged?: boolean;
517
};
518
/** @description Host accepts log messages. */
519
logging?: {};
520
/** @description Sandbox configuration applied by the host. */
521
sandbox?: {
522
/** @description Permissions granted by the host (camera, microphone, geolocation). */
523
permissions?: McpUiResourcePermissions;
524
/** @description CSP domains approved by the host. */
525
csp?: McpUiResourceCsp;
526
};
527
/** @description Host accepts context updates (ui/update-model-context) to be included in the model's context for future turns. */
528
updateModelContext?: McpUiSupportedContentBlockModalities;
529
/** @description Host supports receiving content messages (ui/message) from the View. */
530
message?: McpUiSupportedContentBlockModalities;
531
}
532
533
/**
534
* @description Capabilities provided by the View (App).
535
* @see {@link McpUiInitializeRequest} for the initialization request that includes these capabilities
536
*/
537
export interface McpUiAppCapabilities {
538
/** @description Experimental features (structure TBD). */
539
experimental?: {};
540
/** @description App exposes MCP-style tools that the host can call. */
541
tools?: {
542
/** @description App supports tools/list_changed notifications. */
543
listChanged?: boolean;
544
};
545
/**
546
* @description Display modes the app supports. See Display Modes section of the spec for details.
547
* @example ["inline", "fullscreen"]
548
*/
549
availableDisplayModes?: McpUiDisplayMode[];
550
}
551
552
/**
553
* @description Initialization request sent from Guest UI to Host.
554
* @see {@link app.App.connect} for the method that sends this request
555
*/
556
export interface McpUiInitializeRequest {
557
method: "ui/initialize";
558
params: {
559
/** @description App identification (name and version). */
560
appInfo: Implementation;
561
/** @description Features and capabilities this app provides. */
562
appCapabilities: McpUiAppCapabilities;
563
/** @description Protocol version this app supports. */
564
protocolVersion: string;
565
};
566
}
567
568
/**
569
* @description Initialization result returned from Host to Guest UI.
570
* @see {@link McpUiInitializeRequest}
571
*/
572
export interface McpUiInitializeResult {
573
/** @description Negotiated protocol version string (e.g., "2025-11-21"). */
574
protocolVersion: string;
575
/** @description Host application identification and version. */
576
hostInfo: Implementation;
577
/** @description Features and capabilities provided by the host. */
578
hostCapabilities: McpUiHostCapabilities;
579
/** @description Rich context about the host environment. */
580
hostContext: McpUiHostContext;
581
/**
582
* Index signature required for MCP SDK `Protocol` class compatibility.
583
* Note: The schema intentionally omits this to enforce strict validation.
584
*/
585
[key: string]: unknown;
586
}
587
588
/**
589
* @description Notification that Guest UI has completed initialization (Guest UI -> Host).
590
* @see {@link app.App.connect} for the method that sends this notification
591
*/
592
export interface McpUiInitializedNotification {
593
method: "ui/notifications/initialized";
594
params?: {};
595
}
596
597
/**
598
* @description Content Security Policy configuration for UI resources.
599
*/
600
export interface McpUiResourceCsp {
601
/** @description Origins for network requests (fetch/XHR/WebSocket). */
602
connectDomains?: string[];
603
/** @description Origins for static resources (scripts, images, styles, fonts). */
604
resourceDomains?: string[];
605
/** @description Origins for nested iframes (frame-src directive). */
606
frameDomains?: string[];
607
/** @description Allowed base URIs for the document (base-uri directive). */
608
baseUriDomains?: string[];
609
}
610
611
/**
612
* @description Sandbox permissions requested by the UI resource.
613
* Hosts MAY honor these by setting appropriate iframe `allow` attributes.
614
* Apps SHOULD NOT assume permissions are granted; use JS feature detection as fallback.
615
*/
616
export interface McpUiResourcePermissions {
617
/** @description Request camera access (Permission Policy `camera` feature). */
618
camera?: {};
619
/** @description Request microphone access (Permission Policy `microphone` feature). */
620
microphone?: {};
621
/** @description Request geolocation access (Permission Policy `geolocation` feature). */
622
geolocation?: {};
623
/** @description Request clipboard write access (Permission Policy `clipboard-write` feature). */
624
clipboardWrite?: {};
625
}
626
627
/**
628
* @description UI Resource metadata for security and rendering configuration.
629
*/
630
export interface McpUiResourceMeta {
631
/** @description Content Security Policy configuration. */
632
csp?: McpUiResourceCsp;
633
/** @description Sandbox permissions requested by the UI. */
634
permissions?: McpUiResourcePermissions;
635
/** @description Dedicated origin for widget sandbox. */
636
domain?: string;
637
/** @description Visual boundary preference - true if UI prefers a visible border. */
638
prefersBorder?: boolean;
639
}
640
641
/**
642
* @description Request to change the display mode of the UI.
643
* The host will respond with the actual display mode that was set,
644
* which may differ from the requested mode if not supported.
645
* @see {@link app.App.requestDisplayMode} for the method that sends this request
646
*/
647
export interface McpUiRequestDisplayModeRequest {
648
method: "ui/request-display-mode";
649
params: {
650
/** @description The display mode being requested. */
651
mode: McpUiDisplayMode;
652
};
653
}
654
655
/**
656
* @description Result from requesting a display mode change.
657
* @see {@link McpUiRequestDisplayModeRequest}
658
*/
659
export interface McpUiRequestDisplayModeResult {
660
/** @description The display mode that was actually set. May differ from requested if not supported. */
661
mode: McpUiDisplayMode;
662
/**
663
* Index signature required for MCP SDK `Protocol` class compatibility.
664
* Note: The schema intentionally omits this to enforce strict validation.
665
*/
666
[key: string]: unknown;
667
}
668
669
/**
670
* @description Tool visibility scope - who can access the tool.
671
*/
672
export type McpUiToolVisibility = "model" | "app";
673
674
/**
675
* @description UI-related metadata for tools.
676
*/
677
export interface McpUiToolMeta {
678
/**
679
* URI of the UI resource to display for this tool, if any.
680
* This is converted to `_meta["ui/resourceUri"]`.
681
*
682
* @example "ui://weather/widget.html"
683
*/
684
resourceUri?: string;
685
/**
686
* @description Who can access this tool. Default: ["model", "app"]
687
* - "model": Tool visible to and callable by the agent
688
* - "app": Tool callable by the app from this server only
689
*/
690
visibility?: McpUiToolVisibility[];
691
}
692
693
/**
694
* Method string constants for MCP Apps protocol messages.
695
*
696
* These constants provide a type-safe way to check message methods without
697
* accessing internal Zod schema properties. External libraries should use
698
* these constants instead of accessing `schema.shape.method._def.values[0]`.
699
*
700
* @example
701
* ```typescript
702
* import { SANDBOX_PROXY_READY_METHOD } from '@modelcontextprotocol/ext-apps';
703
*
704
* if (event.data.method === SANDBOX_PROXY_READY_METHOD) {
705
* // Handle sandbox proxy ready notification
706
* }
707
* ```
708
*/
709
export const OPEN_LINK_METHOD: McpUiOpenLinkRequest["method"] = "ui/open-link";
710
export const MESSAGE_METHOD: McpUiMessageRequest["method"] = "ui/message";
711
export const SANDBOX_PROXY_READY_METHOD: McpUiSandboxProxyReadyNotification["method"] =
712
"ui/notifications/sandbox-proxy-ready";
713
export const SANDBOX_RESOURCE_READY_METHOD: McpUiSandboxResourceReadyNotification["method"] =
714
"ui/notifications/sandbox-resource-ready";
715
export const SIZE_CHANGED_METHOD: McpUiSizeChangedNotification["method"] =
716
"ui/notifications/size-changed";
717
export const TOOL_INPUT_METHOD: McpUiToolInputNotification["method"] =
718
"ui/notifications/tool-input";
719
export const TOOL_INPUT_PARTIAL_METHOD: McpUiToolInputPartialNotification["method"] =
720
"ui/notifications/tool-input-partial";
721
export const TOOL_RESULT_METHOD: McpUiToolResultNotification["method"] =
722
"ui/notifications/tool-result";
723
export const TOOL_CANCELLED_METHOD: McpUiToolCancelledNotification["method"] =
724
"ui/notifications/tool-cancelled";
725
export const HOST_CONTEXT_CHANGED_METHOD: McpUiHostContextChangedNotification["method"] =
726
"ui/notifications/host-context-changed";
727
export const RESOURCE_TEARDOWN_METHOD: McpUiResourceTeardownRequest["method"] =
728
"ui/resource-teardown";
729
export const INITIALIZE_METHOD: McpUiInitializeRequest["method"] =
730
"ui/initialize";
731
export const INITIALIZED_METHOD: McpUiInitializedNotification["method"] =
732
"ui/notifications/initialized";
733
export const REQUEST_DISPLAY_MODE_METHOD: McpUiRequestDisplayModeRequest["method"] =
734
"ui/request-display-mode";
735
export const UPDATE_MODEL_CONTEXT_METHOD: McpUiUpdateModelContextRequest["method"] =
736
"ui/update-model-context";
737
}
738
739