@nitrostack/core 1.0.3 → 1.0.8
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/README.md +42 -83
- package/dist/core/app-mode.d.ts +54 -0
- package/dist/core/app-mode.d.ts.map +1 -0
- package/dist/core/app-mode.js +67 -0
- package/dist/core/app-mode.js.map +1 -0
- package/dist/core/builders.d.ts +2 -2
- package/dist/core/builders.d.ts.map +1 -1
- package/dist/core/builders.js +10 -5
- package/dist/core/builders.js.map +1 -1
- package/dist/core/component.d.ts +1 -0
- package/dist/core/component.d.ts.map +1 -1
- package/dist/core/component.js +16 -4
- package/dist/core/component.js.map +1 -1
- package/dist/core/decorators.d.ts +36 -7
- package/dist/core/decorators.d.ts.map +1 -1
- package/dist/core/decorators.js +29 -7
- package/dist/core/decorators.js.map +1 -1
- package/dist/core/index.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/logger.d.ts.map +1 -1
- package/dist/core/logger.js +2 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/resource.d.ts +9 -1
- package/dist/core/resource.d.ts.map +1 -1
- package/dist/core/resource.js +19 -0
- package/dist/core/resource.js.map +1 -1
- package/dist/core/server.d.ts +17 -2
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +195 -53
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool.d.ts +5 -0
- package/dist/core/tool.d.ts.map +1 -1
- package/dist/core/tool.js +51 -21
- package/dist/core/tool.js.map +1 -1
- package/dist/core/widget-bundle-paths.d.ts +5 -0
- package/dist/core/widget-bundle-paths.d.ts.map +1 -0
- package/dist/core/widget-bundle-paths.js +25 -0
- package/dist/core/widget-bundle-paths.js.map +1 -0
- package/dist/core/widget-html-mime.d.ts +7 -0
- package/dist/core/widget-html-mime.d.ts.map +1 -0
- package/dist/core/widget-html-mime.js +7 -0
- package/dist/core/widget-html-mime.js.map +1 -0
- package/dist/core/widget-mcp-meta.d.ts +18 -0
- package/dist/core/widget-mcp-meta.d.ts.map +1 -0
- package/dist/core/widget-mcp-meta.js +92 -0
- package/dist/core/widget-mcp-meta.js.map +1 -0
- package/dist/core/widget-mime.d.ts +29 -0
- package/dist/core/widget-mime.d.ts.map +1 -0
- package/dist/core/widget-mime.js +41 -0
- package/dist/core/widget-mime.js.map +1 -0
- package/dist/ui-next/index.d.ts +3 -0
- package/dist/ui-next/index.d.ts.map +1 -1
- package/dist/ui-next/index.js +4 -1
- package/dist/ui-next/index.js.map +1 -1
- package/package.json +4 -1
package/dist/core/tool.d.ts
CHANGED
|
@@ -77,6 +77,10 @@ export interface ToolOptions<TInput = unknown, TOutput = unknown> {
|
|
|
77
77
|
* - 'required': Tool MUST be invoked as a task
|
|
78
78
|
*/
|
|
79
79
|
taskSupport?: TaskSupportLevel;
|
|
80
|
+
/**
|
|
81
|
+
* Tool visibility (MCP Apps mode).
|
|
82
|
+
*/
|
|
83
|
+
visibility?: 'visible' | 'hidden';
|
|
80
84
|
}
|
|
81
85
|
export declare class Tool<TInput = unknown, TOutput = unknown> {
|
|
82
86
|
name: string;
|
|
@@ -86,6 +90,7 @@ export declare class Tool<TInput = unknown, TOutput = unknown> {
|
|
|
86
90
|
outputSchema?: ToolInputSchema;
|
|
87
91
|
annotations?: ToolAnnotations;
|
|
88
92
|
invocation?: ToolInvocation;
|
|
93
|
+
visibility?: 'visible' | 'hidden';
|
|
89
94
|
examples?: ToolExamples;
|
|
90
95
|
widget?: {
|
|
91
96
|
route: string;
|
package/dist/core/tool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAS,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAuB,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAClG,OAAO,EAAwB,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAiB,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAA4B,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAE/G,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"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"}
|
package/dist/core/tool.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { DIContainer } from './di/container.js';
|
|
2
|
+
import { isMcpAppMode, isOpenAiMode } from './app-mode.js';
|
|
3
|
+
import { mergeToolUiMeta } from './widget-mcp-meta.js';
|
|
2
4
|
export class Tool {
|
|
3
5
|
name;
|
|
4
6
|
title;
|
|
@@ -7,6 +9,7 @@ export class Tool {
|
|
|
7
9
|
outputSchema;
|
|
8
10
|
annotations;
|
|
9
11
|
invocation;
|
|
12
|
+
visibility;
|
|
10
13
|
examples;
|
|
11
14
|
widget;
|
|
12
15
|
outputTemplate;
|
|
@@ -39,6 +42,7 @@ export class Tool {
|
|
|
39
42
|
this.outputTemplate = options.outputTemplate;
|
|
40
43
|
this.isInitial = options.isInitial;
|
|
41
44
|
this.taskSupport = options.taskSupport ?? 'forbidden';
|
|
45
|
+
this.visibility = options.visibility || 'visible';
|
|
42
46
|
}
|
|
43
47
|
/**
|
|
44
48
|
* Execute the tool with full pipeline:
|
|
@@ -161,8 +165,9 @@ export class Tool {
|
|
|
161
165
|
target: 'jsonSchema7',
|
|
162
166
|
});
|
|
163
167
|
}
|
|
164
|
-
catch (
|
|
165
|
-
|
|
168
|
+
catch (_error) {
|
|
169
|
+
// Silently fall back to permissive schema — console output is
|
|
170
|
+
// disabled in MCP servers as it breaks the JSON-RPC stdio protocol.
|
|
166
171
|
return { type: 'object', properties: {}, additionalProperties: true };
|
|
167
172
|
}
|
|
168
173
|
}
|
|
@@ -243,24 +248,41 @@ export class Tool {
|
|
|
243
248
|
// 1. Check if we have an attached component (preferred)
|
|
244
249
|
if (this.component) {
|
|
245
250
|
const resourceUri = this.component.getResourceUri();
|
|
246
|
-
// Generic format
|
|
247
|
-
mcpTool._meta['ui/template'] = resourceUri;
|
|
248
|
-
// MCP Apps spec format (object)
|
|
249
|
-
mcpTool._meta['ui'] = { resourceUri };
|
|
250
|
-
// OpenAI Apps SDK format
|
|
251
|
-
mcpTool._meta['openai/outputTemplate'] = resourceUri;
|
|
252
|
-
// Add other component metadata
|
|
253
251
|
const componentMeta = this.component.getResourceMetadata();
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
252
|
+
// Always include generic format for internal NitroStack use
|
|
253
|
+
mcpTool._meta['ui/template'] = resourceUri;
|
|
254
|
+
if (isOpenAiMode()) {
|
|
255
|
+
// OpenAI mode: openai/* keys
|
|
256
|
+
mcpTool._meta['openai/outputTemplate'] = resourceUri;
|
|
257
|
+
// Also set top-level outputTemplate for backward compatibility with some legacy hosts
|
|
258
|
+
mcpTool.outputTemplate = resourceUri;
|
|
259
|
+
if (componentMeta) {
|
|
260
|
+
const widgetCsp = componentMeta['openai/widgetCSP'];
|
|
261
|
+
if (widgetCsp !== undefined) {
|
|
262
|
+
mcpTool._meta['openai/widgetCSP'] = widgetCsp;
|
|
263
|
+
}
|
|
264
|
+
const widgetDesc = componentMeta['openai/widgetDescription'];
|
|
265
|
+
if (widgetDesc !== undefined) {
|
|
266
|
+
mcpTool._meta['openai/widgetDescription'] = widgetDesc;
|
|
267
|
+
}
|
|
268
|
+
const widgetBorder = componentMeta['openai/widgetPrefersBorder'];
|
|
269
|
+
if (widgetBorder !== undefined) {
|
|
270
|
+
mcpTool._meta['openai/widgetPrefersBorder'] = widgetBorder;
|
|
271
|
+
}
|
|
272
|
+
const widgetDomain = componentMeta['openai/widgetDomain'];
|
|
273
|
+
if (widgetDomain !== undefined) {
|
|
274
|
+
mcpTool._meta['openai/widgetDomain'] = widgetDomain;
|
|
275
|
+
}
|
|
259
276
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
277
|
+
}
|
|
278
|
+
if (isMcpAppMode()) {
|
|
279
|
+
// MCP Apps spec: _meta.ui
|
|
280
|
+
const uiMeta = mergeToolUiMeta(resourceUri, componentMeta);
|
|
281
|
+
// Add visibility (MCP Apps mode)
|
|
282
|
+
if (this.visibility) {
|
|
283
|
+
uiMeta['visibility'] = this.visibility;
|
|
263
284
|
}
|
|
285
|
+
mcpTool._meta['ui'] = uiMeta;
|
|
264
286
|
}
|
|
265
287
|
}
|
|
266
288
|
// 2. Fallback to legacy widget/outputTemplate options
|
|
@@ -269,12 +291,20 @@ export class Tool {
|
|
|
269
291
|
const widgetRoute = this.widget?.route || this.outputTemplate;
|
|
270
292
|
if (widgetRoute) {
|
|
271
293
|
mcpTool._meta['ui/template'] = widgetRoute;
|
|
272
|
-
|
|
273
|
-
|
|
294
|
+
if (isMcpAppMode()) {
|
|
295
|
+
const uiMeta = { resourceUri: widgetRoute };
|
|
296
|
+
if (this.visibility) {
|
|
297
|
+
uiMeta['visibility'] = this.visibility;
|
|
298
|
+
}
|
|
299
|
+
mcpTool._meta['ui'] = uiMeta;
|
|
300
|
+
}
|
|
301
|
+
if (isOpenAiMode()) {
|
|
302
|
+
mcpTool._meta['openai/outputTemplate'] = widgetRoute;
|
|
303
|
+
}
|
|
274
304
|
}
|
|
275
305
|
}
|
|
276
|
-
// Add invocation status messages (OpenAI Apps SDK)
|
|
277
|
-
if (this.invocation) {
|
|
306
|
+
// Add invocation status messages (OpenAI Apps SDK — only if OpenAI mode is active)
|
|
307
|
+
if (this.invocation && isOpenAiMode()) {
|
|
278
308
|
if (this.invocation.invoking) {
|
|
279
309
|
mcpTool._meta['openai/toolInvocation/invoking'] = this.invocation.invoking;
|
|
280
310
|
}
|
package/dist/core/tool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool.js","sourceRoot":"","sources":["../../src/core/tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-bundle-paths.d.ts","sourceRoot":"","sources":["../../src/core/widget-bundle-paths.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,GAAE,MAAsB,GAAG,MAAM,EAAE,CAmBlG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
* Pre-built widget HTML paths (production). Kept in sync with NitroStackServer resource handler.
|
|
4
|
+
*/
|
|
5
|
+
export function widgetBundleHtmlCandidates(widgetId, cwd = process.cwd()) {
|
|
6
|
+
const bases = [
|
|
7
|
+
['src', 'widgets', 'out'],
|
|
8
|
+
['dist', 'widgets', 'out'],
|
|
9
|
+
['widgets', 'out'],
|
|
10
|
+
];
|
|
11
|
+
const relFiles = [`${widgetId}.html`];
|
|
12
|
+
if (widgetId.startsWith('next-')) {
|
|
13
|
+
const route = widgetId.slice('next-'.length);
|
|
14
|
+
relFiles.push(`${route}.html`, `${route}/index.html`);
|
|
15
|
+
}
|
|
16
|
+
const paths = [];
|
|
17
|
+
for (const baseSeg of bases) {
|
|
18
|
+
const base = path.join(cwd, ...baseSeg);
|
|
19
|
+
for (const rel of relFiles) {
|
|
20
|
+
paths.push(path.join(base, rel));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return paths;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=widget-bundle-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-bundle-paths.js","sourceRoot":"","sources":["../../src/core/widget-bundle-paths.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAgB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACtF,MAAM,KAAK,GAAG;QACZ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;QACzB,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QAC1B,CAAC,SAAS,EAAE,KAAK,CAAC;KACV,CAAC;IACX,MAAM,QAAQ,GAAa,CAAC,GAAG,QAAQ,OAAO,CAAC,CAAC;IAChD,IAAI,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,OAAO,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIME type for MCP Apps / ChatGPT widget HTML templates.
|
|
3
|
+
* Hosts enable the MCP Apps bridge (tool I/O, globals) only for this profile.
|
|
4
|
+
* @see https://developers.openai.com/apps-sdk/build/mcp-server/
|
|
5
|
+
*/
|
|
6
|
+
export declare const WIDGET_HTML_MIME_TYPE = "text/html;profile=mcp-app";
|
|
7
|
+
//# sourceMappingURL=widget-html-mime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-html-mime.d.ts","sourceRoot":"","sources":["../../src/core/widget-html-mime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIME type for MCP Apps / ChatGPT widget HTML templates.
|
|
3
|
+
* Hosts enable the MCP Apps bridge (tool I/O, globals) only for this profile.
|
|
4
|
+
* @see https://developers.openai.com/apps-sdk/build/mcp-server/
|
|
5
|
+
*/
|
|
6
|
+
export const WIDGET_HTML_MIME_TYPE = 'text/html;profile=mcp-app';
|
|
7
|
+
//# sourceMappingURL=widget-html-mime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-html-mime.js","sourceRoot":"","sources":["../../src/core/widget-html-mime.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { JsonValue } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Convert `openai/widgetCSP` snake_case object to MCP Apps `_meta.ui.csp` camelCase.
|
|
4
|
+
*/
|
|
5
|
+
export declare function widgetCspSnakeToUiCsp(openaiCsp: unknown): Record<string, JsonValue> | undefined;
|
|
6
|
+
/**
|
|
7
|
+
* `_meta.ui` block (no resourceUri) from widget resource metadata.
|
|
8
|
+
*/
|
|
9
|
+
export declare function buildUiMetaBlockFromWidgetResourceMeta(widgetMeta: Record<string, unknown> | undefined): Record<string, JsonValue> | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Full `_meta.ui` for tool descriptors: resourceUri plus optional csp / domain / prefersBorder.
|
|
12
|
+
*/
|
|
13
|
+
export declare function mergeToolUiMeta(resourceUri: string, widgetMeta: Record<string, unknown> | undefined): Record<string, JsonValue>;
|
|
14
|
+
/**
|
|
15
|
+
* `contents[]._meta` for resources/read (MCP Apps + OpenAI passthrough keys).
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildResourceReadContentsMeta(widgetMeta: Record<string, JsonValue> | undefined): Record<string, JsonValue> | undefined;
|
|
18
|
+
//# sourceMappingURL=widget-mcp-meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-mcp-meta.d.ts","sourceRoot":"","sources":["../../src/core/widget-mcp-meta.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAG5C;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAqB/F;AAED;;GAEG;AACH,wBAAgB,sCAAsC,CACpD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAiBvC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAC9C,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAO3B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,GAChD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,SAAS,CAiCvC"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { isMcpAppMode, isOpenAiMode } from './app-mode.js';
|
|
2
|
+
/**
|
|
3
|
+
* Convert `openai/widgetCSP` snake_case object to MCP Apps `_meta.ui.csp` camelCase.
|
|
4
|
+
*/
|
|
5
|
+
export function widgetCspSnakeToUiCsp(openaiCsp) {
|
|
6
|
+
if (openaiCsp === undefined ||
|
|
7
|
+
typeof openaiCsp !== 'object' ||
|
|
8
|
+
openaiCsp === null ||
|
|
9
|
+
Array.isArray(openaiCsp)) {
|
|
10
|
+
return undefined;
|
|
11
|
+
}
|
|
12
|
+
const c = openaiCsp;
|
|
13
|
+
const cspOut = {};
|
|
14
|
+
if (Array.isArray(c.connect_domains) && c.connect_domains.length > 0) {
|
|
15
|
+
cspOut.connectDomains = c.connect_domains;
|
|
16
|
+
}
|
|
17
|
+
if (Array.isArray(c.resource_domains) && c.resource_domains.length > 0) {
|
|
18
|
+
cspOut.resourceDomains = c.resource_domains;
|
|
19
|
+
}
|
|
20
|
+
if (Array.isArray(c.frame_domains) && c.frame_domains.length > 0) {
|
|
21
|
+
cspOut.frameDomains = c.frame_domains;
|
|
22
|
+
}
|
|
23
|
+
return Object.keys(cspOut).length > 0 ? cspOut : undefined;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `_meta.ui` block (no resourceUri) from widget resource metadata.
|
|
27
|
+
*/
|
|
28
|
+
export function buildUiMetaBlockFromWidgetResourceMeta(widgetMeta) {
|
|
29
|
+
if (!widgetMeta) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const ui = {};
|
|
33
|
+
const csp = widgetCspSnakeToUiCsp(widgetMeta['openai/widgetCSP']);
|
|
34
|
+
if (csp) {
|
|
35
|
+
ui.csp = csp;
|
|
36
|
+
}
|
|
37
|
+
if (widgetMeta['openai/widgetPrefersBorder'] === true) {
|
|
38
|
+
ui.prefersBorder = true;
|
|
39
|
+
}
|
|
40
|
+
const domain = widgetMeta['openai/widgetDomain'];
|
|
41
|
+
if (typeof domain === 'string' && domain.trim()) {
|
|
42
|
+
ui.domain = domain;
|
|
43
|
+
}
|
|
44
|
+
return Object.keys(ui).length > 0 ? ui : undefined;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Full `_meta.ui` for tool descriptors: resourceUri plus optional csp / domain / prefersBorder.
|
|
48
|
+
*/
|
|
49
|
+
export function mergeToolUiMeta(resourceUri, widgetMeta) {
|
|
50
|
+
const base = { resourceUri };
|
|
51
|
+
const extra = buildUiMetaBlockFromWidgetResourceMeta(widgetMeta);
|
|
52
|
+
if (extra) {
|
|
53
|
+
Object.assign(base, extra);
|
|
54
|
+
}
|
|
55
|
+
return base;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* `contents[]._meta` for resources/read (MCP Apps + OpenAI passthrough keys).
|
|
59
|
+
*/
|
|
60
|
+
export function buildResourceReadContentsMeta(widgetMeta) {
|
|
61
|
+
if (!widgetMeta) {
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
const wm = widgetMeta;
|
|
65
|
+
const out = {};
|
|
66
|
+
// In MCP Apps mode, only emit _meta.ui — skip openai/* passthrough keys.
|
|
67
|
+
// Also pass through any pre-built 'ui' block from getResourceMetadata() (mcp-app provider).
|
|
68
|
+
if (isMcpAppMode()) {
|
|
69
|
+
const uiBlock = buildUiMetaBlockFromWidgetResourceMeta(wm);
|
|
70
|
+
if (uiBlock) {
|
|
71
|
+
out.ui = uiBlock;
|
|
72
|
+
}
|
|
73
|
+
if (!out.ui && widgetMeta['ui'] !== undefined) {
|
|
74
|
+
out.ui = widgetMeta['ui'];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (isOpenAiMode()) {
|
|
78
|
+
// OpenAI mode: also include openai/* keys for backward compatibility
|
|
79
|
+
for (const key of [
|
|
80
|
+
'openai/widgetCSP',
|
|
81
|
+
'openai/widgetDescription',
|
|
82
|
+
'openai/widgetPrefersBorder',
|
|
83
|
+
'openai/widgetDomain',
|
|
84
|
+
]) {
|
|
85
|
+
if (widgetMeta[key] !== undefined) {
|
|
86
|
+
out[key] = widgetMeta[key];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=widget-mcp-meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-mcp-meta.js","sourceRoot":"","sources":["../../src/core/widget-mcp-meta.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIME type for interactive MCP / ChatGPT UI resources (SEP-1865).
|
|
3
|
+
* Hosts that load "MCP App" iframes reject plain `text/html`.
|
|
4
|
+
*/
|
|
5
|
+
export declare const MCP_APP_WIDGET_MIME_TYPE = "text/html;profile=mcp-app";
|
|
6
|
+
/**
|
|
7
|
+
* Legacy OpenAI Apps SDK / Skybridge HTML resources (when not using MCP App profile).
|
|
8
|
+
*/
|
|
9
|
+
export declare const OPENAI_SKYBRIDGE_WIDGET_MIME_TYPE = "text/html+skybridge";
|
|
10
|
+
/** Plain HTML — what many OpenAI / ChatGPT widget hosts expect in resources/list. */
|
|
11
|
+
export declare const OPENAI_PLAIN_HTML_WIDGET_MIME_TYPE = "text/html";
|
|
12
|
+
/** @alias Default NitroStack widget resource MIME (MCP App profile) */
|
|
13
|
+
export declare const WIDGET_MIME_TYPE = "text/html;profile=mcp-app";
|
|
14
|
+
/** @alias Same as {@link MCP_APP_WIDGET_MIME_TYPE} */
|
|
15
|
+
export declare const MCP_APPS_MIME_TYPE = "text/html;profile=mcp-app";
|
|
16
|
+
/** @alias Skybridge-only */
|
|
17
|
+
export declare const OPENAI_SKYBRIDGE_MIME_TYPE = "text/html+skybridge";
|
|
18
|
+
/**
|
|
19
|
+
* Widget HTML MIME for `resources/read` + tool metadata.
|
|
20
|
+
*
|
|
21
|
+
* - Default / `mcp-app` / unset: `text/html;profile=mcp-app` (MCP Apps, MCPJam Inspector)
|
|
22
|
+
* - `openai`: `text/html+skybridge` (ChatGPT / OpenAI Apps SDK pattern; see repo `todo-openai-apps-sdk-example`)
|
|
23
|
+
* - `legacy` / `plain` / `text/html`: plain `text/html` (hosts that reject skybridge)
|
|
24
|
+
* - `skybridge`: same as `openai`
|
|
25
|
+
*
|
|
26
|
+
* Override per component with {@link ComponentMetadata.widgetResourceMime}.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveWidgetResourceMimeType(explicit?: string): string;
|
|
29
|
+
//# sourceMappingURL=widget-mime.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-mime.d.ts","sourceRoot":"","sources":["../../src/core/widget-mime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,iCAAiC,wBAAwB,CAAC;AAEvE,qFAAqF;AACrF,eAAO,MAAM,kCAAkC,cAAc,CAAC;AAE9D,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,8BAA2B,CAAC;AAEzD,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,8BAA2B,CAAC;AAE3D,4BAA4B;AAC5B,eAAO,MAAM,0BAA0B,wBAAoC,CAAC;AAE5E;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAYvE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIME type for interactive MCP / ChatGPT UI resources (SEP-1865).
|
|
3
|
+
* Hosts that load "MCP App" iframes reject plain `text/html`.
|
|
4
|
+
*/
|
|
5
|
+
export const MCP_APP_WIDGET_MIME_TYPE = 'text/html;profile=mcp-app';
|
|
6
|
+
/**
|
|
7
|
+
* Legacy OpenAI Apps SDK / Skybridge HTML resources (when not using MCP App profile).
|
|
8
|
+
*/
|
|
9
|
+
export const OPENAI_SKYBRIDGE_WIDGET_MIME_TYPE = 'text/html+skybridge';
|
|
10
|
+
/** Plain HTML — what many OpenAI / ChatGPT widget hosts expect in resources/list. */
|
|
11
|
+
export const OPENAI_PLAIN_HTML_WIDGET_MIME_TYPE = 'text/html';
|
|
12
|
+
/** @alias Default NitroStack widget resource MIME (MCP App profile) */
|
|
13
|
+
export const WIDGET_MIME_TYPE = MCP_APP_WIDGET_MIME_TYPE;
|
|
14
|
+
/** @alias Same as {@link MCP_APP_WIDGET_MIME_TYPE} */
|
|
15
|
+
export const MCP_APPS_MIME_TYPE = MCP_APP_WIDGET_MIME_TYPE;
|
|
16
|
+
/** @alias Skybridge-only */
|
|
17
|
+
export const OPENAI_SKYBRIDGE_MIME_TYPE = OPENAI_SKYBRIDGE_WIDGET_MIME_TYPE;
|
|
18
|
+
/**
|
|
19
|
+
* Widget HTML MIME for `resources/read` + tool metadata.
|
|
20
|
+
*
|
|
21
|
+
* - Default / `mcp-app` / unset: `text/html;profile=mcp-app` (MCP Apps, MCPJam Inspector)
|
|
22
|
+
* - `openai`: `text/html+skybridge` (ChatGPT / OpenAI Apps SDK pattern; see repo `todo-openai-apps-sdk-example`)
|
|
23
|
+
* - `legacy` / `plain` / `text/html`: plain `text/html` (hosts that reject skybridge)
|
|
24
|
+
* - `skybridge`: same as `openai`
|
|
25
|
+
*
|
|
26
|
+
* Override per component with {@link ComponentMetadata.widgetResourceMime}.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveWidgetResourceMimeType(explicit) {
|
|
29
|
+
if (explicit) {
|
|
30
|
+
return explicit;
|
|
31
|
+
}
|
|
32
|
+
const v = process.env.NITRO_WIDGET_RESOURCE_MIME?.trim().toLowerCase();
|
|
33
|
+
if (v === 'openai' || v === 'skybridge' || v === 'html+skybridge') {
|
|
34
|
+
return OPENAI_SKYBRIDGE_WIDGET_MIME_TYPE;
|
|
35
|
+
}
|
|
36
|
+
if (v === 'legacy' || v === 'text/html' || v === 'plain') {
|
|
37
|
+
return OPENAI_PLAIN_HTML_WIDGET_MIME_TYPE;
|
|
38
|
+
}
|
|
39
|
+
return MCP_APP_WIDGET_MIME_TYPE;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=widget-mime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-mime.js","sourceRoot":"","sources":["../../src/core/widget-mime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,2BAA2B,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,qBAAqB,CAAC;AAEvE,qFAAqF;AACrF,MAAM,CAAC,MAAM,kCAAkC,GAAG,WAAW,CAAC;AAE9D,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;AAEzD,sDAAsD;AACtD,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC;AAE3D,4BAA4B;AAC5B,MAAM,CAAC,MAAM,0BAA0B,GAAG,iCAAiC,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B,CAAC,QAAiB;IAC7D,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACvE,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,gBAAgB,EAAE,CAAC;QAClE,OAAO,iCAAiC,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,WAAW,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;QACzD,OAAO,kCAAkC,CAAC;IAC5C,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC"}
|
package/dist/ui-next/index.d.ts
CHANGED
|
@@ -7,9 +7,12 @@ export interface CreateNextComponentOptions {
|
|
|
7
7
|
entryHtml?: string;
|
|
8
8
|
description?: string;
|
|
9
9
|
prefersBorder?: boolean;
|
|
10
|
+
/** OpenAI `openai/widgetDomain` (passed through as Component `subdomain`). */
|
|
11
|
+
subdomain?: string;
|
|
10
12
|
csp?: {
|
|
11
13
|
connectDomains?: string[];
|
|
12
14
|
resourceDomains?: string[];
|
|
15
|
+
frameDomains?: string[];
|
|
13
16
|
};
|
|
14
17
|
transformer?: (data: unknown, context: ExecutionContext) => unknown;
|
|
15
18
|
build?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui-next/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA8DpD,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui-next/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAmB,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AA8DpD,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE;QAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IACzF,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gBAAgB,KAAK,OAAO,CAAC;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,0BAA0B,GAAG,SAAS,CA0CnF;AAED,eAAO,MAAM,MAAM;;CAA8B,CAAC;AAMlD,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,0BAA0B,EAAE,WAAW,CAAC;IAC3F,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;AACtH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,sBAAsB,GAAG,SAAS,CAAC"}
|
package/dist/ui-next/index.js
CHANGED
|
@@ -67,7 +67,7 @@ function cleanupAppRoute(projectDir, routePath, removeAppDir) {
|
|
|
67
67
|
* Produces a single-file HTML bundle compatible with OpenAI Apps SDK widgets.
|
|
68
68
|
*/
|
|
69
69
|
export function createComponentFromNext(opts) {
|
|
70
|
-
const { id, name, projectDir, entryHtml = 'out/index.html', description, prefersBorder, csp, transformer, build = true, buildScript, } = opts;
|
|
70
|
+
const { id, name, projectDir, entryHtml = 'out/index.html', description, prefersBorder, subdomain, csp, transformer, build = true, buildScript, } = opts;
|
|
71
71
|
if (!fs.existsSync(projectDir)) {
|
|
72
72
|
throw new Error(`Next widget project not found: ${projectDir}`);
|
|
73
73
|
}
|
|
@@ -87,6 +87,7 @@ export function createComponentFromNext(opts) {
|
|
|
87
87
|
description,
|
|
88
88
|
html: inlined,
|
|
89
89
|
prefersBorder,
|
|
90
|
+
subdomain,
|
|
90
91
|
csp,
|
|
91
92
|
transformer,
|
|
92
93
|
});
|
|
@@ -118,6 +119,7 @@ export function createComponentFromNextRoute(arg1, arg2) {
|
|
|
118
119
|
css: '',
|
|
119
120
|
js: '',
|
|
120
121
|
prefersBorder: provided.prefersBorder,
|
|
122
|
+
subdomain: provided.subdomain,
|
|
121
123
|
csp: provided.csp,
|
|
122
124
|
transformer: provided.transformer,
|
|
123
125
|
// Store dev URL as metadata for inspector to use
|
|
@@ -176,6 +178,7 @@ export function createComponentFromNextRoute(arg1, arg2) {
|
|
|
176
178
|
description,
|
|
177
179
|
html: widgetHtml,
|
|
178
180
|
prefersBorder,
|
|
181
|
+
subdomain: provided.subdomain,
|
|
179
182
|
csp,
|
|
180
183
|
transformer,
|
|
181
184
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui-next/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui-next/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nitrostack/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "NitroStack Core - Build powerful MCP servers with TypeScript",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/core/index.js",
|
|
@@ -44,6 +44,9 @@
|
|
|
44
44
|
],
|
|
45
45
|
"author": "Nitrostack Inc <hello@nitrostack.ai>",
|
|
46
46
|
"license": "Apache-2.0",
|
|
47
|
+
"peerDependencies": {
|
|
48
|
+
"@modelcontextprotocol/ext-apps": ">=0.1.0"
|
|
49
|
+
},
|
|
47
50
|
"dependencies": {
|
|
48
51
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
49
52
|
"bcryptjs": "^2.4.3",
|