@modelcontextprotocol/ext-apps 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/app-bridge.js +1 -1
- package/dist/src/app-with-deps.js +1 -1
- package/dist/src/app.js +1 -1
- package/dist/src/generated/schema.d.ts +1 -1
- package/dist/src/generated/schema.test.d.ts +1 -1
- package/dist/src/react/index.js +1 -1
- package/dist/src/react/react-with-deps.js +1 -1
- package/dist/src/server/index.js +1 -1
- package/package.json +1 -1
package/dist/src/app.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{Protocol as qQ}from"@modelcontextprotocol/sdk/shared/protocol.js";import{CallToolRequestSchema as UQ,CallToolResultSchema as RQ,EmptyResultSchema as HQ,ListResourcesResultSchema as MQ,ListToolsRequestSchema as vQ,PingRequestSchema as kQ,ReadResourceResultSchema as bQ}from"@modelcontextprotocol/sdk/types.js";import{JSONRPCMessageSchema as QQ}from"@modelcontextprotocol/sdk/types.js";var L="2026-01-26",d="ui/open-link",h="ui/download-file",m="ui/message",i="ui/notifications/sandbox-proxy-ready",c="ui/notifications/sandbox-resource-ready",p="ui/notifications/size-changed",r="ui/notifications/tool-input",W="ui/notifications/tool-input-partial",l="ui/notifications/tool-result",n="ui/notifications/tool-cancelled",a="ui/notifications/host-context-changed",o="ui/resource-teardown",s="ui/initialize",e="ui/notifications/initialized",t="ui/request-display-mode";class K{eventTarget;eventSource;messageListener;constructor(X=window.parent,Y){this.eventTarget=X;this.eventSource=Y;this.messageListener=(Z)=>{if(Y&&Z.source!==this.eventSource){console.debug("Ignoring message from unknown source",Z);return}let $=QQ.safeParse(Z.data);if($.success)console.debug("Parsed message",$.data),this.onmessage?.($.data);else if(Z.data?.jsonrpc!=="2.0")console.debug("Ignoring non-JSON-RPC message",$.error.message,Z);else console.error("Failed to parse message",$.error.message,Z),this.onerror?.(Error("Invalid JSON-RPC message received: "+$.error.message))}}async start(){window.addEventListener("message",this.messageListener)}async send(X,Y){if(X.method!==W)console.debug("Sending message",X);this.eventTarget.postMessage(X,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}import{z as Q}from"zod";import{ContentBlockSchema as M,CallToolResultSchema as XQ,EmbeddedResourceSchema as YQ,ImplementationSchema as v,RequestIdSchema as ZQ,ResourceLinkSchema as $Q,ToolSchema as DQ}from"@modelcontextprotocol/sdk/types.js";var k=Q.union([Q.literal("light"),Q.literal("dark")]).describe("Color theme preference for the host environment."),J=Q.union([Q.literal("inline"),Q.literal("fullscreen"),Q.literal("pip")]).describe("Display mode for UI presentation."),JQ=Q.union([Q.literal("--color-background-primary"),Q.literal("--color-background-secondary"),Q.literal("--color-background-tertiary"),Q.literal("--color-background-inverse"),Q.literal("--color-background-ghost"),Q.literal("--color-background-info"),Q.literal("--color-background-danger"),Q.literal("--color-background-success"),Q.literal("--color-background-warning"),Q.literal("--color-background-disabled"),Q.literal("--color-text-primary"),Q.literal("--color-text-secondary"),Q.literal("--color-text-tertiary"),Q.literal("--color-text-inverse"),Q.literal("--color-text-ghost"),Q.literal("--color-text-info"),Q.literal("--color-text-danger"),Q.literal("--color-text-success"),Q.literal("--color-text-warning"),Q.literal("--color-text-disabled"),Q.literal("--color-border-primary"),Q.literal("--color-border-secondary"),Q.literal("--color-border-tertiary"),Q.literal("--color-border-inverse"),Q.literal("--color-border-ghost"),Q.literal("--color-border-info"),Q.literal("--color-border-danger"),Q.literal("--color-border-success"),Q.literal("--color-border-warning"),Q.literal("--color-border-disabled"),Q.literal("--color-ring-primary"),Q.literal("--color-ring-secondary"),Q.literal("--color-ring-inverse"),Q.literal("--color-ring-info"),Q.literal("--color-ring-danger"),Q.literal("--color-ring-success"),Q.literal("--color-ring-warning"),Q.literal("--font-sans"),Q.literal("--font-mono"),Q.literal("--font-weight-normal"),Q.literal("--font-weight-medium"),Q.literal("--font-weight-semibold"),Q.literal("--font-weight-bold"),Q.literal("--font-text-xs-size"),Q.literal("--font-text-sm-size"),Q.literal("--font-text-md-size"),Q.literal("--font-text-lg-size"),Q.literal("--font-heading-xs-size"),Q.literal("--font-heading-sm-size"),Q.literal("--font-heading-md-size"),Q.literal("--font-heading-lg-size"),Q.literal("--font-heading-xl-size"),Q.literal("--font-heading-2xl-size"),Q.literal("--font-heading-3xl-size"),Q.literal("--font-text-xs-line-height"),Q.literal("--font-text-sm-line-height"),Q.literal("--font-text-md-line-height"),Q.literal("--font-text-lg-line-height"),Q.literal("--font-heading-xs-line-height"),Q.literal("--font-heading-sm-line-height"),Q.literal("--font-heading-md-line-height"),Q.literal("--font-heading-lg-line-height"),Q.literal("--font-heading-xl-line-height"),Q.literal("--font-heading-2xl-line-height"),Q.literal("--font-heading-3xl-line-height"),Q.literal("--border-radius-xs"),Q.literal("--border-radius-sm"),Q.literal("--border-radius-md"),Q.literal("--border-radius-lg"),Q.literal("--border-radius-xl"),Q.literal("--border-radius-full"),Q.literal("--border-width-regular"),Q.literal("--shadow-hairline"),Q.literal("--shadow-sm"),Q.literal("--shadow-md"),Q.literal("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),KQ=Q.record(JQ.describe(`Style variables for theming MCP apps.
|
|
1
|
+
import{Protocol as qQ}from"@modelcontextprotocol/sdk/shared/protocol.js";import{CallToolRequestSchema as UQ,CallToolResultSchema as RQ,EmptyResultSchema as HQ,ListResourcesResultSchema as MQ,ListToolsRequestSchema as vQ,PingRequestSchema as kQ,ReadResourceResultSchema as bQ}from"@modelcontextprotocol/sdk/types.js";import{JSONRPCMessageSchema as QQ}from"@modelcontextprotocol/sdk/types.js";var L="2026-01-26",d="ui/open-link",h="ui/download-file",m="ui/message",i="ui/notifications/sandbox-proxy-ready",c="ui/notifications/sandbox-resource-ready",p="ui/notifications/size-changed",r="ui/notifications/tool-input",W="ui/notifications/tool-input-partial",l="ui/notifications/tool-result",n="ui/notifications/tool-cancelled",a="ui/notifications/host-context-changed",o="ui/resource-teardown",s="ui/initialize",e="ui/notifications/initialized",t="ui/request-display-mode";class K{eventTarget;eventSource;messageListener;constructor(X=window.parent,Y){this.eventTarget=X;this.eventSource=Y;this.messageListener=(Z)=>{if(Y&&Z.source!==this.eventSource){console.debug("Ignoring message from unknown source",Z);return}let $=QQ.safeParse(Z.data);if($.success)console.debug("Parsed message",$.data),this.onmessage?.($.data);else if(Z.data?.jsonrpc!=="2.0")console.debug("Ignoring non-JSON-RPC message",$.error.message,Z);else console.error("Failed to parse message",$.error.message,Z),this.onerror?.(Error("Invalid JSON-RPC message received: "+$.error.message))}}async start(){window.addEventListener("message",this.messageListener)}async send(X,Y){if(X.method!==W)console.debug("Sending message",X);this.eventTarget.postMessage(X,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}import{z as Q}from"zod/v4";import{ContentBlockSchema as M,CallToolResultSchema as XQ,EmbeddedResourceSchema as YQ,ImplementationSchema as v,RequestIdSchema as ZQ,ResourceLinkSchema as $Q,ToolSchema as DQ}from"@modelcontextprotocol/sdk/types.js";var k=Q.union([Q.literal("light"),Q.literal("dark")]).describe("Color theme preference for the host environment."),J=Q.union([Q.literal("inline"),Q.literal("fullscreen"),Q.literal("pip")]).describe("Display mode for UI presentation."),JQ=Q.union([Q.literal("--color-background-primary"),Q.literal("--color-background-secondary"),Q.literal("--color-background-tertiary"),Q.literal("--color-background-inverse"),Q.literal("--color-background-ghost"),Q.literal("--color-background-info"),Q.literal("--color-background-danger"),Q.literal("--color-background-success"),Q.literal("--color-background-warning"),Q.literal("--color-background-disabled"),Q.literal("--color-text-primary"),Q.literal("--color-text-secondary"),Q.literal("--color-text-tertiary"),Q.literal("--color-text-inverse"),Q.literal("--color-text-ghost"),Q.literal("--color-text-info"),Q.literal("--color-text-danger"),Q.literal("--color-text-success"),Q.literal("--color-text-warning"),Q.literal("--color-text-disabled"),Q.literal("--color-border-primary"),Q.literal("--color-border-secondary"),Q.literal("--color-border-tertiary"),Q.literal("--color-border-inverse"),Q.literal("--color-border-ghost"),Q.literal("--color-border-info"),Q.literal("--color-border-danger"),Q.literal("--color-border-success"),Q.literal("--color-border-warning"),Q.literal("--color-border-disabled"),Q.literal("--color-ring-primary"),Q.literal("--color-ring-secondary"),Q.literal("--color-ring-inverse"),Q.literal("--color-ring-info"),Q.literal("--color-ring-danger"),Q.literal("--color-ring-success"),Q.literal("--color-ring-warning"),Q.literal("--font-sans"),Q.literal("--font-mono"),Q.literal("--font-weight-normal"),Q.literal("--font-weight-medium"),Q.literal("--font-weight-semibold"),Q.literal("--font-weight-bold"),Q.literal("--font-text-xs-size"),Q.literal("--font-text-sm-size"),Q.literal("--font-text-md-size"),Q.literal("--font-text-lg-size"),Q.literal("--font-heading-xs-size"),Q.literal("--font-heading-sm-size"),Q.literal("--font-heading-md-size"),Q.literal("--font-heading-lg-size"),Q.literal("--font-heading-xl-size"),Q.literal("--font-heading-2xl-size"),Q.literal("--font-heading-3xl-size"),Q.literal("--font-text-xs-line-height"),Q.literal("--font-text-sm-line-height"),Q.literal("--font-text-md-line-height"),Q.literal("--font-text-lg-line-height"),Q.literal("--font-heading-xs-line-height"),Q.literal("--font-heading-sm-line-height"),Q.literal("--font-heading-md-line-height"),Q.literal("--font-heading-lg-line-height"),Q.literal("--font-heading-xl-line-height"),Q.literal("--font-heading-2xl-line-height"),Q.literal("--font-heading-3xl-line-height"),Q.literal("--border-radius-xs"),Q.literal("--border-radius-sm"),Q.literal("--border-radius-md"),Q.literal("--border-radius-lg"),Q.literal("--border-radius-xl"),Q.literal("--border-radius-full"),Q.literal("--border-width-regular"),Q.literal("--shadow-hairline"),Q.literal("--shadow-sm"),Q.literal("--shadow-md"),Q.literal("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),KQ=Q.record(JQ.describe(`Style variables for theming MCP apps.
|
|
2
2
|
|
|
3
3
|
Individual style keys are optional - hosts may provide any subset of these values.
|
|
4
4
|
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
1
|
+
import { z } from "zod/v4";
|
|
2
2
|
import * as generated from "./schema.js";
|
|
3
3
|
export type McpUiThemeSchemaInferredType = z.infer<typeof generated.McpUiThemeSchema>;
|
|
4
4
|
export type McpUiDisplayModeSchemaInferredType = z.infer<typeof generated.McpUiDisplayModeSchema>;
|
package/dist/src/react/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{useEffect as fJ,useState as d}from"react";import{Protocol as AJ}from"@modelcontextprotocol/sdk/shared/protocol.js";import{CallToolRequestSchema as kJ,CallToolResultSchema as SJ,EmptyResultSchema as bJ,ListResourcesResultSchema as CJ,ListToolsRequestSchema as gJ,PingRequestSchema as xJ,ReadResourceResultSchema as yJ}from"@modelcontextprotocol/sdk/types.js";import{JSONRPCMessageSchema as LJ}from"@modelcontextprotocol/sdk/types.js";var U="2026-01-26",a="ui/open-link",o="ui/download-file",s="ui/message",t="ui/notifications/sandbox-proxy-ready",e="ui/notifications/sandbox-resource-ready",JJ="ui/notifications/size-changed",KJ="ui/notifications/tool-input",z="ui/notifications/tool-input-partial",QJ="ui/notifications/tool-result",XJ="ui/notifications/tool-cancelled",YJ="ui/notifications/host-context-changed",ZJ="ui/resource-teardown",$J="ui/initialize",GJ="ui/notifications/initialized",jJ="ui/request-display-mode";class j{eventTarget;eventSource;messageListener;constructor(K=window.parent,Q){this.eventTarget=K;this.eventSource=Q;this.messageListener=(X)=>{if(Q&&X.source!==this.eventSource){console.debug("Ignoring message from unknown source",X);return}let Y=LJ.safeParse(X.data);if(Y.success)console.debug("Parsed message",Y.data),this.onmessage?.(Y.data);else if(X.data?.jsonrpc!=="2.0")console.debug("Ignoring non-JSON-RPC message",Y.error.message,X);else console.error("Failed to parse message",Y.error.message,X),this.onerror?.(Error("Invalid JSON-RPC message received: "+Y.error.message))}}async start(){window.addEventListener("message",this.messageListener)}async send(K,Q){if(K.method!==z)console.debug("Sending message",K);this.eventTarget.postMessage(K,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}import{z as J}from"zod";import{ContentBlockSchema as u,CallToolResultSchema as WJ,EmbeddedResourceSchema as NJ,ImplementationSchema as h,RequestIdSchema as BJ,ResourceLinkSchema as VJ,ToolSchema as PJ}from"@modelcontextprotocol/sdk/types.js";var m=J.union([J.literal("light"),J.literal("dark")]).describe("Color theme preference for the host environment."),L=J.union([J.literal("inline"),J.literal("fullscreen"),J.literal("pip")]).describe("Display mode for UI presentation."),_J=J.union([J.literal("--color-background-primary"),J.literal("--color-background-secondary"),J.literal("--color-background-tertiary"),J.literal("--color-background-inverse"),J.literal("--color-background-ghost"),J.literal("--color-background-info"),J.literal("--color-background-danger"),J.literal("--color-background-success"),J.literal("--color-background-warning"),J.literal("--color-background-disabled"),J.literal("--color-text-primary"),J.literal("--color-text-secondary"),J.literal("--color-text-tertiary"),J.literal("--color-text-inverse"),J.literal("--color-text-ghost"),J.literal("--color-text-info"),J.literal("--color-text-danger"),J.literal("--color-text-success"),J.literal("--color-text-warning"),J.literal("--color-text-disabled"),J.literal("--color-border-primary"),J.literal("--color-border-secondary"),J.literal("--color-border-tertiary"),J.literal("--color-border-inverse"),J.literal("--color-border-ghost"),J.literal("--color-border-info"),J.literal("--color-border-danger"),J.literal("--color-border-success"),J.literal("--color-border-warning"),J.literal("--color-border-disabled"),J.literal("--color-ring-primary"),J.literal("--color-ring-secondary"),J.literal("--color-ring-inverse"),J.literal("--color-ring-info"),J.literal("--color-ring-danger"),J.literal("--color-ring-success"),J.literal("--color-ring-warning"),J.literal("--font-sans"),J.literal("--font-mono"),J.literal("--font-weight-normal"),J.literal("--font-weight-medium"),J.literal("--font-weight-semibold"),J.literal("--font-weight-bold"),J.literal("--font-text-xs-size"),J.literal("--font-text-sm-size"),J.literal("--font-text-md-size"),J.literal("--font-text-lg-size"),J.literal("--font-heading-xs-size"),J.literal("--font-heading-sm-size"),J.literal("--font-heading-md-size"),J.literal("--font-heading-lg-size"),J.literal("--font-heading-xl-size"),J.literal("--font-heading-2xl-size"),J.literal("--font-heading-3xl-size"),J.literal("--font-text-xs-line-height"),J.literal("--font-text-sm-line-height"),J.literal("--font-text-md-line-height"),J.literal("--font-text-lg-line-height"),J.literal("--font-heading-xs-line-height"),J.literal("--font-heading-sm-line-height"),J.literal("--font-heading-md-line-height"),J.literal("--font-heading-lg-line-height"),J.literal("--font-heading-xl-line-height"),J.literal("--font-heading-2xl-line-height"),J.literal("--font-heading-3xl-line-height"),J.literal("--border-radius-xs"),J.literal("--border-radius-sm"),J.literal("--border-radius-md"),J.literal("--border-radius-lg"),J.literal("--border-radius-xl"),J.literal("--border-radius-full"),J.literal("--border-width-regular"),J.literal("--shadow-hairline"),J.literal("--shadow-sm"),J.literal("--shadow-md"),J.literal("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),OJ=J.record(_J.describe(`Style variables for theming MCP apps.
|
|
1
|
+
import{useEffect as fJ,useState as d}from"react";import{Protocol as AJ}from"@modelcontextprotocol/sdk/shared/protocol.js";import{CallToolRequestSchema as kJ,CallToolResultSchema as SJ,EmptyResultSchema as bJ,ListResourcesResultSchema as CJ,ListToolsRequestSchema as gJ,PingRequestSchema as xJ,ReadResourceResultSchema as yJ}from"@modelcontextprotocol/sdk/types.js";import{JSONRPCMessageSchema as LJ}from"@modelcontextprotocol/sdk/types.js";var U="2026-01-26",a="ui/open-link",o="ui/download-file",s="ui/message",t="ui/notifications/sandbox-proxy-ready",e="ui/notifications/sandbox-resource-ready",JJ="ui/notifications/size-changed",KJ="ui/notifications/tool-input",z="ui/notifications/tool-input-partial",QJ="ui/notifications/tool-result",XJ="ui/notifications/tool-cancelled",YJ="ui/notifications/host-context-changed",ZJ="ui/resource-teardown",$J="ui/initialize",GJ="ui/notifications/initialized",jJ="ui/request-display-mode";class j{eventTarget;eventSource;messageListener;constructor(K=window.parent,Q){this.eventTarget=K;this.eventSource=Q;this.messageListener=(X)=>{if(Q&&X.source!==this.eventSource){console.debug("Ignoring message from unknown source",X);return}let Y=LJ.safeParse(X.data);if(Y.success)console.debug("Parsed message",Y.data),this.onmessage?.(Y.data);else if(X.data?.jsonrpc!=="2.0")console.debug("Ignoring non-JSON-RPC message",Y.error.message,X);else console.error("Failed to parse message",Y.error.message,X),this.onerror?.(Error("Invalid JSON-RPC message received: "+Y.error.message))}}async start(){window.addEventListener("message",this.messageListener)}async send(K,Q){if(K.method!==z)console.debug("Sending message",K);this.eventTarget.postMessage(K,"*")}async close(){window.removeEventListener("message",this.messageListener),this.onclose?.()}onclose;onerror;onmessage;sessionId;setProtocolVersion}import{z as J}from"zod/v4";import{ContentBlockSchema as u,CallToolResultSchema as WJ,EmbeddedResourceSchema as NJ,ImplementationSchema as h,RequestIdSchema as BJ,ResourceLinkSchema as VJ,ToolSchema as PJ}from"@modelcontextprotocol/sdk/types.js";var m=J.union([J.literal("light"),J.literal("dark")]).describe("Color theme preference for the host environment."),L=J.union([J.literal("inline"),J.literal("fullscreen"),J.literal("pip")]).describe("Display mode for UI presentation."),_J=J.union([J.literal("--color-background-primary"),J.literal("--color-background-secondary"),J.literal("--color-background-tertiary"),J.literal("--color-background-inverse"),J.literal("--color-background-ghost"),J.literal("--color-background-info"),J.literal("--color-background-danger"),J.literal("--color-background-success"),J.literal("--color-background-warning"),J.literal("--color-background-disabled"),J.literal("--color-text-primary"),J.literal("--color-text-secondary"),J.literal("--color-text-tertiary"),J.literal("--color-text-inverse"),J.literal("--color-text-ghost"),J.literal("--color-text-info"),J.literal("--color-text-danger"),J.literal("--color-text-success"),J.literal("--color-text-warning"),J.literal("--color-text-disabled"),J.literal("--color-border-primary"),J.literal("--color-border-secondary"),J.literal("--color-border-tertiary"),J.literal("--color-border-inverse"),J.literal("--color-border-ghost"),J.literal("--color-border-info"),J.literal("--color-border-danger"),J.literal("--color-border-success"),J.literal("--color-border-warning"),J.literal("--color-border-disabled"),J.literal("--color-ring-primary"),J.literal("--color-ring-secondary"),J.literal("--color-ring-inverse"),J.literal("--color-ring-info"),J.literal("--color-ring-danger"),J.literal("--color-ring-success"),J.literal("--color-ring-warning"),J.literal("--font-sans"),J.literal("--font-mono"),J.literal("--font-weight-normal"),J.literal("--font-weight-medium"),J.literal("--font-weight-semibold"),J.literal("--font-weight-bold"),J.literal("--font-text-xs-size"),J.literal("--font-text-sm-size"),J.literal("--font-text-md-size"),J.literal("--font-text-lg-size"),J.literal("--font-heading-xs-size"),J.literal("--font-heading-sm-size"),J.literal("--font-heading-md-size"),J.literal("--font-heading-lg-size"),J.literal("--font-heading-xl-size"),J.literal("--font-heading-2xl-size"),J.literal("--font-heading-3xl-size"),J.literal("--font-text-xs-line-height"),J.literal("--font-text-sm-line-height"),J.literal("--font-text-md-line-height"),J.literal("--font-text-lg-line-height"),J.literal("--font-heading-xs-line-height"),J.literal("--font-heading-sm-line-height"),J.literal("--font-heading-md-line-height"),J.literal("--font-heading-lg-line-height"),J.literal("--font-heading-xl-line-height"),J.literal("--font-heading-2xl-line-height"),J.literal("--font-heading-3xl-line-height"),J.literal("--border-radius-xs"),J.literal("--border-radius-sm"),J.literal("--border-radius-md"),J.literal("--border-radius-lg"),J.literal("--border-radius-xl"),J.literal("--border-radius-full"),J.literal("--border-width-regular"),J.literal("--shadow-hairline"),J.literal("--shadow-sm"),J.literal("--shadow-md"),J.literal("--shadow-lg")]).describe("CSS variable keys available to MCP apps for theming."),OJ=J.record(_J.describe(`Style variables for theming MCP apps.
|
|
2
2
|
|
|
3
3
|
Individual style keys are optional - hosts may provide any subset of these values.
|
|
4
4
|
Values are strings containing CSS values (colors, sizes, font stacks, etc.).
|