@mcp-use/client 2.0.0-beta.8 → 2.0.0

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.
Files changed (91) hide show
  1. package/README.md +18 -19
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/auth/browser.d.ts +62 -6
  4. package/dist/auth/browser.d.ts.map +1 -1
  5. package/dist/auth/callback.d.ts.map +1 -1
  6. package/dist/auth/flow.d.ts.map +1 -1
  7. package/dist/auth/node.d.ts +115 -5
  8. package/dist/auth/node.d.ts.map +1 -1
  9. package/dist/auth/session-store.d.ts +7 -1
  10. package/dist/auth/session-store.d.ts.map +1 -1
  11. package/dist/auth/storage.d.ts +12 -3
  12. package/dist/auth/storage.d.ts.map +1 -1
  13. package/dist/code-mode/executor-e2b.d.ts.map +1 -1
  14. package/dist/core/base.d.ts +4 -8
  15. package/dist/core/base.d.ts.map +1 -1
  16. package/dist/core/browser.d.ts +14 -2
  17. package/dist/core/browser.d.ts.map +1 -1
  18. package/dist/core/config.d.ts +82 -20
  19. package/dist/core/config.d.ts.map +1 -1
  20. package/dist/core/node.d.ts +7 -10
  21. package/dist/core/node.d.ts.map +1 -1
  22. package/dist/core/session.d.ts +102 -25
  23. package/dist/core/session.d.ts.map +1 -1
  24. package/dist/index-browser.d.ts +1 -0
  25. package/dist/index-browser.d.ts.map +1 -1
  26. package/dist/index-browser.js +568 -163
  27. package/dist/index-browser.js.map +1 -1
  28. package/dist/index.d.ts +2 -2
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +407 -92
  31. package/dist/index.js.map +1 -1
  32. package/dist/react/McpClientProvider.d.ts +22 -10
  33. package/dist/react/McpClientProvider.d.ts.map +1 -1
  34. package/dist/react/index.d.ts +5 -2
  35. package/dist/react/index.d.ts.map +1 -1
  36. package/dist/react/index.js +1104 -368
  37. package/dist/react/index.js.map +1 -1
  38. package/dist/react/rpc-logger.d.ts +5 -0
  39. package/dist/react/rpc-logger.d.ts.map +1 -1
  40. package/dist/react/storage.d.ts +57 -10
  41. package/dist/react/storage.d.ts.map +1 -1
  42. package/dist/react/token-expiry.d.ts +9 -0
  43. package/dist/react/token-expiry.d.ts.map +1 -0
  44. package/dist/react/types.d.ts +134 -22
  45. package/dist/react/types.d.ts.map +1 -1
  46. package/dist/react/useMcp-helpers.d.ts.map +1 -1
  47. package/dist/react/useMcp-operations.d.ts +24 -6
  48. package/dist/react/useMcp-operations.d.ts.map +1 -1
  49. package/dist/react/useMcp.d.ts.map +1 -1
  50. package/dist/react/useMcpServerQueues.d.ts +36 -9
  51. package/dist/react/useMcpServerQueues.d.ts.map +1 -1
  52. package/dist/react/view/ViewRenderer.d.ts +12 -4
  53. package/dist/react/view/ViewRenderer.d.ts.map +1 -1
  54. package/dist/react/view/ext-apps-bridge.d.ts +1 -1
  55. package/dist/react/view/ext-apps-bridge.d.ts.map +1 -1
  56. package/dist/react/view/inject-openai-file-apis.d.ts.map +1 -1
  57. package/dist/react/view/parse-custom-props.d.ts +8 -0
  58. package/dist/react/view/parse-custom-props.d.ts.map +1 -1
  59. package/dist/react/view/resolve-view-resource.d.ts +10 -0
  60. package/dist/react/view/resolve-view-resource.d.ts.map +1 -1
  61. package/dist/react/view/sandbox-blob-url.d.ts +2 -0
  62. package/dist/react/view/sandbox-blob-url.d.ts.map +1 -1
  63. package/dist/react/view/types.d.ts +111 -4
  64. package/dist/react/view/types.d.ts.map +1 -1
  65. package/dist/react/view/view-detection.d.ts +18 -0
  66. package/dist/react/view/view-detection.d.ts.map +1 -1
  67. package/dist/react/view/view-host-policy.d.ts +61 -0
  68. package/dist/react/view/view-host-policy.d.ts.map +1 -0
  69. package/dist/sandbox.d.ts +2 -0
  70. package/dist/sandbox.d.ts.map +1 -0
  71. package/dist/sandbox.js +283 -0
  72. package/dist/sandbox.js.map +1 -0
  73. package/dist/telemetry/events.d.ts.map +1 -1
  74. package/dist/telemetry/tel-fetch.d.ts.map +1 -1
  75. package/dist/telemetry/telemetry.d.ts +5 -1
  76. package/dist/telemetry/telemetry.d.ts.map +1 -1
  77. package/dist/transport/base.d.ts +169 -34
  78. package/dist/transport/base.d.ts.map +1 -1
  79. package/dist/transport/connection-manager.d.ts +5 -1
  80. package/dist/transport/connection-manager.d.ts.map +1 -1
  81. package/dist/transport/http.d.ts +51 -2
  82. package/dist/transport/http.d.ts.map +1 -1
  83. package/dist/transport/stdio.d.ts +29 -1
  84. package/dist/transport/stdio.d.ts.map +1 -1
  85. package/dist/utils/elicitation.d.ts +4 -2
  86. package/dist/utils/elicitation.d.ts.map +1 -1
  87. package/dist/utils/logging.d.ts +1 -0
  88. package/dist/utils/logging.d.ts.map +1 -1
  89. package/dist/utils/version.d.ts +6 -0
  90. package/dist/utils/version.d.ts.map +1 -1
  91. package/package.json +9 -3
@@ -0,0 +1,283 @@
1
+ // src/react/view/sandbox-blob-url.ts
2
+ var SANDBOX_PROXY_HTML = `<!doctype html>
3
+ <html>
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <meta
7
+ http-equiv="Content-Security-Policy"
8
+ content="default-src 'self'; img-src * data: blob: 'unsafe-inline'; media-src * blob: data:; font-src * blob: data:; script-src * 'wasm-unsafe-eval' 'unsafe-inline' 'unsafe-eval' blob: data:; style-src * blob: data: 'unsafe-inline'; connect-src * data: blob: about:; frame-src * blob: data: http://localhost:* https://localhost:* http://127.0.0.1:* https://127.0.0.1:*;"
9
+ />
10
+ <title>MCP Apps Sandbox Proxy</title>
11
+ <style>
12
+ html, body { margin: 0; padding: 0; height: 100%; width: 100%; overflow: hidden; }
13
+ * { box-sizing: border-box; }
14
+ iframe { display: block; background-color: transparent; border: 0px none transparent; padding: 0px; width: 100%; height: 100%; }
15
+ </style>
16
+ </head>
17
+ <body>
18
+ <script>
19
+ function sanitizeDomain(domain) {
20
+ if (typeof domain !== "string") return "";
21
+ return domain.replace(/['"<>;]/g, "").trim();
22
+ }
23
+
24
+ function buildAllowAttribute(permissions) {
25
+ if (!permissions) return "";
26
+ const allowList = [];
27
+ if (permissions.camera) allowList.push("camera *");
28
+ if (permissions.microphone) allowList.push("microphone *");
29
+ if (permissions.geolocation) allowList.push("geolocation *");
30
+ if (permissions.clipboardWrite) allowList.push("clipboard-write *");
31
+ return allowList.join("; ");
32
+ }
33
+
34
+ function buildCSP(csp) {
35
+ if (!csp) {
36
+ return [
37
+ "default-src 'none'",
38
+ "script-src 'unsafe-inline'",
39
+ "style-src 'unsafe-inline'",
40
+ "img-src data:",
41
+ "font-src data:",
42
+ "media-src data:",
43
+ "connect-src 'none'",
44
+ "frame-src 'none'",
45
+ "object-src 'none'",
46
+ "base-uri 'none'",
47
+ ].join("; ");
48
+ }
49
+
50
+ const connectDomains = (csp.connectDomains || []).map(sanitizeDomain).filter(Boolean);
51
+ const resourceDomains = (csp.resourceDomains || []).map(sanitizeDomain).filter(Boolean);
52
+ const frameDomains = (csp.frameDomains || []).map(sanitizeDomain).filter(Boolean);
53
+ const baseUriDomains = (csp.baseUriDomains || []).map(sanitizeDomain).filter(Boolean);
54
+ const scriptDirectives = (csp.scriptDirectives || []).filter(function(d) { return typeof d === "string" && d.length > 0; });
55
+
56
+ const connectSrc = connectDomains.length > 0 ? connectDomains.join(" ") : "'none'";
57
+ const resourceSrc = resourceDomains.length > 0 ? ["data:", "blob:", ...resourceDomains].join(" ") : "data: blob:";
58
+ const frameSrc = frameDomains.length > 0 ? frameDomains.join(" ") : "'none'";
59
+ const baseUri = baseUriDomains.length > 0 ? baseUriDomains.join(" ") : "'none'";
60
+ const scriptSrcParts = ["'unsafe-inline'", resourceSrc];
61
+ if (scriptDirectives.length > 0) scriptSrcParts.push(scriptDirectives.join(" "));
62
+
63
+ return [
64
+ "default-src 'none'",
65
+ "script-src " + scriptSrcParts.join(" "),
66
+ "style-src 'unsafe-inline' " + resourceSrc,
67
+ "img-src " + resourceSrc,
68
+ "font-src " + resourceSrc,
69
+ "media-src " + resourceSrc,
70
+ "connect-src " + connectSrc,
71
+ "frame-src " + frameSrc,
72
+ "object-src 'none'",
73
+ "base-uri " + baseUri,
74
+ ].join("; ");
75
+ }
76
+
77
+ function buildViolationListenerScript() {
78
+ return \`<script>
79
+ document.addEventListener('securitypolicyviolation', function(e) {
80
+ var violation = {
81
+ type: 'mcp-apps:csp-violation',
82
+ directive: e.violatedDirective,
83
+ blockedUri: e.blockedURI,
84
+ sourceFile: e.sourceFile || null,
85
+ lineNumber: e.lineNumber || null,
86
+ columnNumber: e.columnNumber || null,
87
+ effectiveDirective: e.effectiveDirective,
88
+ originalPolicy: e.originalPolicy,
89
+ disposition: e.disposition,
90
+ timestamp: Date.now()
91
+ };
92
+ console.warn('[MCP Apps CSP Violation]', violation.directive, ':', violation.blockedUri);
93
+ window.parent.postMessage(violation, '*');
94
+ });
95
+
96
+ function serializeConsoleArgs(args) {
97
+ try {
98
+ return Array.from(args || []).map(function(arg) {
99
+ if (arg instanceof Error) {
100
+ return {
101
+ type: 'Error',
102
+ message: arg.message,
103
+ stack: arg.stack,
104
+ name: arg.name,
105
+ };
106
+ }
107
+ if (typeof arg === 'object' && arg !== null) {
108
+ try {
109
+ return JSON.parse(JSON.stringify(arg));
110
+ } catch (e) {
111
+ return String(arg);
112
+ }
113
+ }
114
+ return arg;
115
+ });
116
+ } catch (e) {
117
+ return [String(args)];
118
+ }
119
+ }
120
+
121
+ function sendConsoleToParent(level, args) {
122
+ try {
123
+ window.parent.postMessage({
124
+ type: 'iframe-console-log',
125
+ level: level,
126
+ args: serializeConsoleArgs(args),
127
+ timestamp: new Date().toISOString(),
128
+ url: window.location.href,
129
+ }, '*');
130
+ } catch (e) {}
131
+ }
132
+
133
+ var originalConsoleError = console.error.bind(console);
134
+ console.error = function() {
135
+ var args = Array.from(arguments);
136
+ originalConsoleError.apply(console, args);
137
+ sendConsoleToParent('error', args);
138
+ };
139
+
140
+ window.addEventListener('error', function(event) {
141
+ sendConsoleToParent('error', [{
142
+ message: event.message,
143
+ filename: event.filename,
144
+ lineno: event.lineno,
145
+ colno: event.colno,
146
+ error: event.error ? {
147
+ message: event.error.message,
148
+ stack: event.error.stack,
149
+ name: event.error.name,
150
+ } : null,
151
+ }]);
152
+ });
153
+
154
+ window.addEventListener('unhandledrejection', function(event) {
155
+ sendConsoleToParent('error', [{
156
+ message: 'Unhandled Promise Rejection',
157
+ reason: event.reason ? String(event.reason) : 'Unknown',
158
+ error: event.reason instanceof Error ? {
159
+ message: event.reason.message,
160
+ stack: event.reason.stack,
161
+ name: event.reason.name,
162
+ } : null,
163
+ }]);
164
+ });
165
+ </\` + \`script>\`;
166
+ }
167
+
168
+ function injectCSP(html, cspValue) {
169
+ const cspMeta = '<meta http-equiv="Content-Security-Policy" content="' + cspValue + '">';
170
+ const violationListener = buildViolationListenerScript();
171
+ const injection = cspMeta + violationListener;
172
+
173
+ if (html.includes("<head>")) {
174
+ return html.replace("<head>", "<head>" + injection);
175
+ } else if (html.includes("<HEAD>")) {
176
+ return html.replace("<HEAD>", "<HEAD>" + injection);
177
+ } else if (html.includes("<html>")) {
178
+ return html.replace("<html>", "<html><head>" + injection + "</head>");
179
+ } else if (html.includes("<HTML>")) {
180
+ return html.replace("<HTML>", "<HTML><head>" + injection + "</head>");
181
+ } else if (html.includes("<!DOCTYPE") || html.includes("<!doctype")) {
182
+ return html.replace(/(<!DOCTYPE[^>]*>|<!doctype[^>]*>)/i, "$1<head>" + injection + "</head>");
183
+ } else {
184
+ return injection + html;
185
+ }
186
+ }
187
+
188
+ // Query params from host (csp_mode, permissions, widget_csp). AppFrame only
189
+ // sends { html, csp } in sandbox-resource-ready; we carry the rest on the URL.
190
+ // Blob URLs cannot reliably carry search params, so the CDN shell injects
191
+ // window.__SANDBOX_SEARCH__ via buildSandboxProxyBlobHtml.
192
+ const query = new URLSearchParams(
193
+ typeof window.__SANDBOX_SEARCH__ === "string"
194
+ ? window.__SANDBOX_SEARCH__
195
+ : location.search
196
+ );
197
+ const queryCspMode = query.get("csp_mode") || "permissive";
198
+ let queryPermissions = null;
199
+ let queryWidgetCsp = null;
200
+ try {
201
+ const rawPerm = query.get("permissions");
202
+ if (rawPerm) queryPermissions = JSON.parse(rawPerm);
203
+ } catch (e) {}
204
+ try {
205
+ const rawCsp = query.get("widget_csp");
206
+ if (rawCsp) queryWidgetCsp = JSON.parse(rawCsp);
207
+ } catch (e) {}
208
+
209
+ const inner = document.createElement("iframe");
210
+ inner.style = "width:100%; height:100%; border:none;";
211
+ inner.setAttribute("sandbox", "allow-scripts allow-same-origin allow-forms");
212
+ document.body.appendChild(inner);
213
+
214
+ window.addEventListener("message", async (event) => {
215
+ if (event.source === window.parent) {
216
+ if (event.data && event.data.method === "ui/notifications/sandbox-resource-ready") {
217
+ const params = event.data.params || {};
218
+ const html = params.html;
219
+ const sandbox = params.sandbox;
220
+ // Prefer message csp when present; fall back to URL widget_csp
221
+ const csp = params.csp != null ? params.csp : queryWidgetCsp;
222
+ const permissions = params.permissions != null ? params.permissions : queryPermissions;
223
+ const permissive =
224
+ typeof params.permissive === "boolean"
225
+ ? params.permissive
226
+ : queryCspMode === "permissive";
227
+ if (typeof sandbox === "string") {
228
+ inner.setAttribute("sandbox", sandbox);
229
+ }
230
+ const allowAttribute = buildAllowAttribute(permissions);
231
+ if (allowAttribute) {
232
+ inner.setAttribute("allow", allowAttribute);
233
+ }
234
+ if (typeof html === "string") {
235
+ if (permissive) {
236
+ const permissiveCsp = [
237
+ "default-src * 'unsafe-inline' 'unsafe-eval' data: blob: filesystem: about:",
238
+ "script-src * 'unsafe-inline' 'unsafe-eval' data: blob:",
239
+ "style-src * 'unsafe-inline' data: blob:",
240
+ "img-src * data: blob: https: http:",
241
+ "media-src * data: blob: https: http:",
242
+ "font-src * data: blob: https: http:",
243
+ "connect-src * data: blob: https: http: ws: wss: about:",
244
+ "frame-src * data: blob: https: http: about:",
245
+ "object-src * data: blob:",
246
+ "base-uri *",
247
+ "form-action *",
248
+ ].join("; ");
249
+ const processedHtml = injectCSP(html, permissiveCsp);
250
+ inner.srcdoc = processedHtml;
251
+ } else {
252
+ const cspValue = buildCSP(csp);
253
+ const processedHtml = injectCSP(html, cspValue);
254
+ inner.srcdoc = processedHtml;
255
+ }
256
+ }
257
+ } else {
258
+ if (inner && inner.contentWindow) {
259
+ inner.contentWindow.postMessage(event.data, "*");
260
+ }
261
+ }
262
+ } else if (event.source === inner.contentWindow) {
263
+ window.parent.postMessage(event.data, "*");
264
+ }
265
+ });
266
+
267
+ window.parent.postMessage({
268
+ jsonrpc: "2.0",
269
+ method: "ui/notifications/sandbox-proxy-ready",
270
+ params: {},
271
+ }, "*");
272
+ </script>
273
+ </body>
274
+ </html>`;
275
+ function buildSandboxProxyBlobHtml(search) {
276
+ const escaped = JSON.stringify(search).replace(/</g, "\\u003c");
277
+ const inject = "<script>window.__SANDBOX_SEARCH__ = " + escaped + ";</script>";
278
+ return SANDBOX_PROXY_HTML.replace("<body>", "<body>" + inject);
279
+ }
280
+ export {
281
+ buildSandboxProxyBlobHtml
282
+ };
283
+ //# sourceMappingURL=sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/react/view/sandbox-blob-url.ts"],"sourcesContent":["/**\n * MCP Apps sandbox-proxy HTML for ViewRenderer blob URLs.\n *\n * Browser-only — no Node/Hono imports. The host iframe loads this document\n * from a blob: URL; it proxies postMessage to the inner widget srcdoc iframe.\n */\n\nimport type {\n McpUiResourceCsp,\n McpUiResourcePermissions,\n} from \"./ext-apps-bridge.js\";\nimport type { ViewCspMode } from \"./types.js\";\n\ntype ViewSandboxBlobUrlOptions = {\n cspMode: ViewCspMode;\n permissions?: McpUiResourcePermissions;\n widgetCsp?: McpUiResourceCsp;\n};\n\n/** Build a configured HTTP(S) sandbox proxy URL. */\nexport function buildViewSandboxUrl(\n sandboxDocumentUrl: URL,\n options: ViewSandboxBlobUrlOptions\n): URL {\n const url = new URL(sandboxDocumentUrl.href);\n applySandboxSearchParams(url, options);\n return url;\n}\n\nfunction applySandboxSearchParams(\n url: URL,\n options: ViewSandboxBlobUrlOptions\n): void {\n const { cspMode, permissions, widgetCsp } = options;\n url.searchParams.set(\n \"v\",\n JSON.stringify({ cspMode, permissions, widgetCsp })\n );\n url.searchParams.set(\"csp_mode\", cspMode);\n if (permissions && Object.keys(permissions).length > 0) {\n url.searchParams.set(\"permissions\", JSON.stringify(permissions));\n }\n if (widgetCsp && Object.keys(widgetCsp).length > 0) {\n url.searchParams.set(\"widget_csp\", JSON.stringify(widgetCsp));\n }\n}\n\n/** Build a blob: sandbox iframe URL (no backend sandbox-proxy route). */\nexport function buildViewSandboxBlobUrl(\n options: ViewSandboxBlobUrlOptions\n): URL {\n const searchUrl = new URL(\"https://sandbox.invalid/\");\n applySandboxSearchParams(searchUrl, options);\n const html = buildSandboxProxyBlobHtml(searchUrl.search);\n return new URL(URL.createObjectURL(new Blob([html], { type: \"text/html\" })));\n}\n\n/**\n * Raw sandbox-proxy document (query config via location.search or __SANDBOX_SEARCH__).\n *\n * Inner guest iframe keeps `allow-same-origin` for srcdoc widget rendering;\n * browsers may warn that allow-scripts + allow-same-origin can escape sandboxing.\n */\nconst SANDBOX_PROXY_HTML: string =\n '<!doctype html>\\n<html>\\n <head>\\n <meta charset=\"utf-8\" />\\n <meta\\n http-equiv=\"Content-Security-Policy\"\\n content=\"default-src \\'self\\'; img-src * data: blob: \\'unsafe-inline\\'; media-src * blob: data:; font-src * blob: data:; script-src * \\'wasm-unsafe-eval\\' \\'unsafe-inline\\' \\'unsafe-eval\\' blob: data:; style-src * blob: data: \\'unsafe-inline\\'; connect-src * data: blob: about:; frame-src * blob: data: http://localhost:* https://localhost:* http://127.0.0.1:* https://127.0.0.1:*;\"\\n />\\n <title>MCP Apps Sandbox Proxy</title>\\n <style>\\n html, body { margin: 0; padding: 0; height: 100%; width: 100%; overflow: hidden; }\\n * { box-sizing: border-box; }\\n iframe { display: block; background-color: transparent; border: 0px none transparent; padding: 0px; width: 100%; height: 100%; }\\n </style>\\n </head>\\n <body>\\n <script>\\n function sanitizeDomain(domain) {\\n if (typeof domain !== \"string\") return \"\";\\n return domain.replace(/[\\'\"<>;]/g, \"\").trim();\\n }\\n\\n function buildAllowAttribute(permissions) {\\n if (!permissions) return \"\";\\n const allowList = [];\\n if (permissions.camera) allowList.push(\"camera *\");\\n if (permissions.microphone) allowList.push(\"microphone *\");\\n if (permissions.geolocation) allowList.push(\"geolocation *\");\\n if (permissions.clipboardWrite) allowList.push(\"clipboard-write *\");\\n return allowList.join(\"; \");\\n }\\n\\n function buildCSP(csp) {\\n if (!csp) {\\n return [\\n \"default-src \\'none\\'\",\\n \"script-src \\'unsafe-inline\\'\",\\n \"style-src \\'unsafe-inline\\'\",\\n \"img-src data:\",\\n \"font-src data:\",\\n \"media-src data:\",\\n \"connect-src \\'none\\'\",\\n \"frame-src \\'none\\'\",\\n \"object-src \\'none\\'\",\\n \"base-uri \\'none\\'\",\\n ].join(\"; \");\\n }\\n\\n const connectDomains = (csp.connectDomains || []).map(sanitizeDomain).filter(Boolean);\\n const resourceDomains = (csp.resourceDomains || []).map(sanitizeDomain).filter(Boolean);\\n const frameDomains = (csp.frameDomains || []).map(sanitizeDomain).filter(Boolean);\\n const baseUriDomains = (csp.baseUriDomains || []).map(sanitizeDomain).filter(Boolean);\\n const scriptDirectives = (csp.scriptDirectives || []).filter(function(d) { return typeof d === \"string\" && d.length > 0; });\\n\\n const connectSrc = connectDomains.length > 0 ? connectDomains.join(\" \") : \"\\'none\\'\";\\n const resourceSrc = resourceDomains.length > 0 ? [\"data:\", \"blob:\", ...resourceDomains].join(\" \") : \"data: blob:\";\\n const frameSrc = frameDomains.length > 0 ? frameDomains.join(\" \") : \"\\'none\\'\";\\n const baseUri = baseUriDomains.length > 0 ? baseUriDomains.join(\" \") : \"\\'none\\'\";\\n const scriptSrcParts = [\"\\'unsafe-inline\\'\", resourceSrc];\\n if (scriptDirectives.length > 0) scriptSrcParts.push(scriptDirectives.join(\" \"));\\n\\n return [\\n \"default-src \\'none\\'\",\\n \"script-src \" + scriptSrcParts.join(\" \"),\\n \"style-src \\'unsafe-inline\\' \" + resourceSrc,\\n \"img-src \" + resourceSrc,\\n \"font-src \" + resourceSrc,\\n \"media-src \" + resourceSrc,\\n \"connect-src \" + connectSrc,\\n \"frame-src \" + frameSrc,\\n \"object-src \\'none\\'\",\\n \"base-uri \" + baseUri,\\n ].join(\"; \");\\n }\\n\\n function buildViolationListenerScript() {\\n return `<script>\\ndocument.addEventListener(\\'securitypolicyviolation\\', function(e) {\\n var violation = {\\n type: \\'mcp-apps:csp-violation\\',\\n directive: e.violatedDirective,\\n blockedUri: e.blockedURI,\\n sourceFile: e.sourceFile || null,\\n lineNumber: e.lineNumber || null,\\n columnNumber: e.columnNumber || null,\\n effectiveDirective: e.effectiveDirective,\\n originalPolicy: e.originalPolicy,\\n disposition: e.disposition,\\n timestamp: Date.now()\\n };\\n console.warn(\\'[MCP Apps CSP Violation]\\', violation.directive, \\':\\', violation.blockedUri);\\n window.parent.postMessage(violation, \\'*\\');\\n});\\n\\nfunction serializeConsoleArgs(args) {\\n try {\\n return Array.from(args || []).map(function(arg) {\\n if (arg instanceof Error) {\\n return {\\n type: \\'Error\\',\\n message: arg.message,\\n stack: arg.stack,\\n name: arg.name,\\n };\\n }\\n if (typeof arg === \\'object\\' && arg !== null) {\\n try {\\n return JSON.parse(JSON.stringify(arg));\\n } catch (e) {\\n return String(arg);\\n }\\n }\\n return arg;\\n });\\n } catch (e) {\\n return [String(args)];\\n }\\n}\\n\\nfunction sendConsoleToParent(level, args) {\\n try {\\n window.parent.postMessage({\\n type: \\'iframe-console-log\\',\\n level: level,\\n args: serializeConsoleArgs(args),\\n timestamp: new Date().toISOString(),\\n url: window.location.href,\\n }, \\'*\\');\\n } catch (e) {}\\n}\\n\\nvar originalConsoleError = console.error.bind(console);\\nconsole.error = function() {\\n var args = Array.from(arguments);\\n originalConsoleError.apply(console, args);\\n sendConsoleToParent(\\'error\\', args);\\n};\\n\\nwindow.addEventListener(\\'error\\', function(event) {\\n sendConsoleToParent(\\'error\\', [{\\n message: event.message,\\n filename: event.filename,\\n lineno: event.lineno,\\n colno: event.colno,\\n error: event.error ? {\\n message: event.error.message,\\n stack: event.error.stack,\\n name: event.error.name,\\n } : null,\\n }]);\\n});\\n\\nwindow.addEventListener(\\'unhandledrejection\\', function(event) {\\n sendConsoleToParent(\\'error\\', [{\\n message: \\'Unhandled Promise Rejection\\',\\n reason: event.reason ? String(event.reason) : \\'Unknown\\',\\n error: event.reason instanceof Error ? {\\n message: event.reason.message,\\n stack: event.reason.stack,\\n name: event.reason.name,\\n } : null,\\n }]);\\n});\\n</` + `script>`;\\n }\\n\\n function injectCSP(html, cspValue) {\\n const cspMeta = \\'<meta http-equiv=\"Content-Security-Policy\" content=\"\\' + cspValue + \\'\">\\';\\n const violationListener = buildViolationListenerScript();\\n const injection = cspMeta + violationListener;\\n\\n if (html.includes(\"<head>\")) {\\n return html.replace(\"<head>\", \"<head>\" + injection);\\n } else if (html.includes(\"<HEAD>\")) {\\n return html.replace(\"<HEAD>\", \"<HEAD>\" + injection);\\n } else if (html.includes(\"<html>\")) {\\n return html.replace(\"<html>\", \"<html><head>\" + injection + \"</head>\");\\n } else if (html.includes(\"<HTML>\")) {\\n return html.replace(\"<HTML>\", \"<HTML><head>\" + injection + \"</head>\");\\n } else if (html.includes(\"<!DOCTYPE\") || html.includes(\"<!doctype\")) {\\n return html.replace(/(<!DOCTYPE[^>]*>|<!doctype[^>]*>)/i, \"$1<head>\" + injection + \"</head>\");\\n } else {\\n return injection + html;\\n }\\n }\\n\\n // Query params from host (csp_mode, permissions, widget_csp). AppFrame only\\n // sends { html, csp } in sandbox-resource-ready; we carry the rest on the URL.\\n // Blob URLs cannot reliably carry search params, so the CDN shell injects\\n // window.__SANDBOX_SEARCH__ via buildSandboxProxyBlobHtml.\\n const query = new URLSearchParams(\\n typeof window.__SANDBOX_SEARCH__ === \"string\"\\n ? window.__SANDBOX_SEARCH__\\n : location.search\\n );\\n const queryCspMode = query.get(\"csp_mode\") || \"permissive\";\\n let queryPermissions = null;\\n let queryWidgetCsp = null;\\n try {\\n const rawPerm = query.get(\"permissions\");\\n if (rawPerm) queryPermissions = JSON.parse(rawPerm);\\n } catch (e) {}\\n try {\\n const rawCsp = query.get(\"widget_csp\");\\n if (rawCsp) queryWidgetCsp = JSON.parse(rawCsp);\\n } catch (e) {}\\n\\n const inner = document.createElement(\"iframe\");\\n inner.style = \"width:100%; height:100%; border:none;\";\\n inner.setAttribute(\"sandbox\", \"allow-scripts allow-same-origin allow-forms\");\\n document.body.appendChild(inner);\\n\\n window.addEventListener(\"message\", async (event) => {\\n if (event.source === window.parent) {\\n if (event.data && event.data.method === \"ui/notifications/sandbox-resource-ready\") {\\n const params = event.data.params || {};\\n const html = params.html;\\n const sandbox = params.sandbox;\\n // Prefer message csp when present; fall back to URL widget_csp\\n const csp = params.csp != null ? params.csp : queryWidgetCsp;\\n const permissions = params.permissions != null ? params.permissions : queryPermissions;\\n const permissive =\\n typeof params.permissive === \"boolean\"\\n ? params.permissive\\n : queryCspMode === \"permissive\";\\n if (typeof sandbox === \"string\") {\\n inner.setAttribute(\"sandbox\", sandbox);\\n }\\n const allowAttribute = buildAllowAttribute(permissions);\\n if (allowAttribute) {\\n inner.setAttribute(\"allow\", allowAttribute);\\n }\\n if (typeof html === \"string\") {\\n if (permissive) {\\n const permissiveCsp = [\\n \"default-src * \\'unsafe-inline\\' \\'unsafe-eval\\' data: blob: filesystem: about:\",\\n \"script-src * \\'unsafe-inline\\' \\'unsafe-eval\\' data: blob:\",\\n \"style-src * \\'unsafe-inline\\' data: blob:\",\\n \"img-src * data: blob: https: http:\",\\n \"media-src * data: blob: https: http:\",\\n \"font-src * data: blob: https: http:\",\\n \"connect-src * data: blob: https: http: ws: wss: about:\",\\n \"frame-src * data: blob: https: http: about:\",\\n \"object-src * data: blob:\",\\n \"base-uri *\",\\n \"form-action *\",\\n ].join(\"; \");\\n const processedHtml = injectCSP(html, permissiveCsp);\\n inner.srcdoc = processedHtml;\\n } else {\\n const cspValue = buildCSP(csp);\\n const processedHtml = injectCSP(html, cspValue);\\n inner.srcdoc = processedHtml;\\n }\\n }\\n } else {\\n if (inner && inner.contentWindow) {\\n inner.contentWindow.postMessage(event.data, \"*\");\\n }\\n }\\n } else if (event.source === inner.contentWindow) {\\n window.parent.postMessage(event.data, \"*\");\\n }\\n });\\n\\n window.parent.postMessage({\\n jsonrpc: \"2.0\",\\n method: \"ui/notifications/sandbox-proxy-ready\",\\n params: {},\\n }, \"*\");\\n </script>\\n </body>\\n</html>';\n\n/**\n * Build sandbox-proxy HTML for a Blob URL, injecting search params that Blob\n * URLs cannot carry reliably.\n *\n * JSON-escapes the search string (incl. `<` → `\\\\u003c`) so it cannot break\n * out of the inline script tag.\n */\nexport function buildSandboxProxyBlobHtml(search: string): string {\n const escaped = JSON.stringify(search).replace(/</g, \"\\\\u003c\");\n const inject =\n \"<script>window.__SANDBOX_SEARCH__ = \" + escaped + \";</script>\";\n return SANDBOX_PROXY_HTML.replace(\"<body>\", \"<body>\" + inject);\n}\n"],"mappings":";AA+DA,IAAM,qBACJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASK,SAAS,0BAA0B,QAAwB;AAChE,QAAM,UAAU,KAAK,UAAU,MAAM,EAAE,QAAQ,MAAM,SAAS;AAC9D,QAAM,SACJ,yCAAyC,UAAU;AACrD,SAAO,mBAAmB,QAAQ,UAAU,WAAW,MAAM;AAC/D;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/telemetry/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tel-fetch.d.ts","sourceRoot":"","sources":["../../src/telemetry/tel-fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAED,eAAO,MAAM,YAAY,6BAA6B,CAAC;AACvD,eAAO,MAAM,eAAe,oDACuB,CAAC;AAEpD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CAehB"}
1
+ {"version":3,"file":"tel-fetch.d.ts","sourceRoot":"","sources":["../../src/telemetry/tel-fetch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAM7E;AAED,eAAO,MAAM,YAAY,6BAA6B,CAAC;AACvD,eAAO,MAAM,eAAe,oDACuB,CAAC;AAwEpD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBhB"}
@@ -63,7 +63,11 @@ export declare class Telemetry {
63
63
  flush(): void;
64
64
  shutdown(): Promise<void>;
65
65
  }
66
- /** @alias */
66
+ /**
67
+ * Backward-compatible name for {@link Telemetry}.
68
+ *
69
+ * @alias
70
+ */
67
71
  export declare const Tel: typeof Telemetry;
68
72
  export declare function setTelemetrySource(source: string): void;
69
73
  export declare function setProductVersion(version: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../../src/telemetry/telemetry.ts"],"names":[],"mappings":"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"}