MCPcopy
hub / github.com/alpic-ai/skybridge / registerViewResources

Method registerViewResources

packages/core/src/server/server.ts:969–1051  ·  view source on GitHub ↗
(
    toolName: string,
    view: ViewConfig,
    toolMeta: InternalToolMeta,
  )

Source from the content-addressed store, hash-verified

967 }
968
969 private registerViewResources(
970 toolName: string,
971 view: ViewConfig,
972 toolMeta: InternalToolMeta,
973 ): void {
974 // Append a content-derived version param so hosts (e.g. ChatGPT) bust
975 // their cache when the bundle changes, but keep the URI stable across
976 // `tools/list` calls when the bundle hasn't changed.
977 const versionParam = this.computeViewVersionParam(view.component);
978
979 const viewResource: ViewResourceConfig = {
980 hostType: "mcp-app",
981 uri: `ui://views/ext-apps/${view.component}.html${versionParam}`,
982 mimeType: "text/html;profile=mcp-app",
983 buildContentMeta: (
984 { resourceDomains, connectDomains, domain, baseUriDomains },
985 overrides,
986 ) => {
987 const defaults: McpAppsResourceMeta = {
988 ui: {
989 csp: {
990 resourceDomains,
991 connectDomains,
992 baseUriDomains,
993 },
994 domain,
995 },
996 };
997
998 const fromView: McpAppsResourceMeta = {
999 ui: {
1000 ...(view.description && { description: view.description }),
1001 ...(view.prefersBorder !== undefined && {
1002 prefersBorder: view.prefersBorder,
1003 }),
1004 ...(view.domain && { domain: view.domain }),
1005 csp: {
1006 ...(view.csp?.resourceDomains && {
1007 resourceDomains: view.csp.resourceDomains,
1008 }),
1009 ...(view.csp?.connectDomains && {
1010 connectDomains: view.csp.connectDomains,
1011 }),
1012 ...(view.csp?.frameDomains && {
1013 frameDomains: view.csp.frameDomains,
1014 }),
1015 ...(view.csp?.baseUriDomains && {
1016 baseUriDomains: view.csp.baseUriDomains,
1017 }),
1018 },
1019 },
1020 };
1021
1022 const ui = mergeWithUnion(mergeWithUnion(defaults, fromView), {
1023 ui: overrides,
1024 });
1025
1026 const base: ResourceMeta = {

Callers 1

registerToolMethod · 0.95

Calls 3

registerViewResourceMethod · 0.95
mergeWithUnionFunction · 0.85

Tested by

no test coverage detected