@maravilla-labs/functions 0.9.0 → 0.10.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.
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/mcp/build.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAIZ,MAAM,YAAY,CAAC;AAEpB;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAiFzF;AAmFD;;8DAE8D;AAC9D,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC,CAQf"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/mcp/build.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,eAAe,EACf,WAAW,EAKZ,MAAM,YAAY,CAAC;AAyCpB;;;;;;;GAOG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAuFzF;AA2FD;;8DAE8D;AAC9D,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,GAAG,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC,CAQf"}
package/dist/mcp/build.js CHANGED
@@ -4,6 +4,37 @@ import { pathToFileURL } from 'node:url';
4
4
  import * as esbuild from 'esbuild';
5
5
  import { discoverMcpSources } from './discover.js';
6
6
  import { generateMcpEntry } from './generator.js';
7
+ /** Sub-directory under the build output where single-file widgets are copied,
8
+ * served by the runtime as the `ui://` resource body. Deploy-relative; resolved
9
+ * by the same `FileResolver` that loads `mcp.js`. */
10
+ const UI_ASSET_DIR = 'mcp-ui';
11
+ /**
12
+ * Copy each template's built single-file `htmlPath` into the deploy output as
13
+ * `mcp-ui/<name>.html` and record the deploy-relative `htmlAsset` in the manifest.
14
+ * The widget must be self-contained (JS/CSS inlined) — we copy bytes verbatim.
15
+ */
16
+ async function materializeUiTemplates(raw, projectDir, outDir) {
17
+ if (raw.length === 0)
18
+ return [];
19
+ await fs.mkdir(join(outDir, UI_ASSET_DIR), { recursive: true });
20
+ return Promise.all(raw.map(async (t) => {
21
+ if (!t.htmlPath) {
22
+ throw new Error(`MCP uiTemplate "${t.name}" is missing required "htmlPath".`);
23
+ }
24
+ const src = resolve(projectDir, t.htmlPath);
25
+ const htmlAsset = `${UI_ASSET_DIR}/${t.name}.html`;
26
+ try {
27
+ const html = await fs.readFile(src, 'utf-8');
28
+ await fs.writeFile(join(outDir, htmlAsset), html);
29
+ }
30
+ catch (err) {
31
+ throw new Error(`MCP uiTemplate "${t.name}": failed to read htmlPath "${t.htmlPath}" ` +
32
+ `(resolved ${src}). Build the single-file widget first. ` +
33
+ `Cause: ${err.message}`);
34
+ }
35
+ return { name: t.name, htmlAsset, csp: t.csp };
36
+ }));
37
+ }
7
38
  /**
8
39
  * Build the MCP bundle and emit `mcp.js` + `mcp.json` into the output
9
40
  * directory. Returns the manifest (or null if no `mcp/` sources present).
@@ -56,8 +87,12 @@ export async function buildMcp(options = {}) {
56
87
  format: 'esm',
57
88
  outfile: esmIntrospectPath,
58
89
  });
59
- const { server, tools, uiTemplates, serverPublic } = await introspect(esmIntrospectPath);
90
+ const { server, tools, uiTemplates: rawUiTemplates, serverPublic } = await introspect(esmIntrospectPath);
60
91
  await fs.rm(tempDir, { recursive: true, force: true });
92
+ // Copy each template's self-contained widget into the deploy output as
93
+ // mcp-ui/<name>.html and record its deploy-relative path; the runtime reads
94
+ // these at bootstrap (same FileResolver as mcp.js).
95
+ const uiTemplates = await materializeUiTemplates(rawUiTemplates, resolvedProject, resolvedOut);
61
96
  const manifest = {
62
97
  version: 1,
63
98
  bundle: 'mcp.js',
@@ -103,7 +138,7 @@ async function introspect(bundlePath) {
103
138
  };
104
139
  const serverPublic = serverSpec.public === true;
105
140
  const uiTemplates = Array.isArray(serverSpec.uiTemplates)
106
- ? serverSpec.uiTemplates.map((t) => ({ name: t.name, route: t.route, csp: t.csp }))
141
+ ? serverSpec.uiTemplates.map((t) => ({ name: t.name, htmlPath: t.htmlPath, csp: t.csp }))
107
142
  : [];
108
143
  const tools = list.tools.map((entry) => {
109
144
  const spec = entry.spec || {};
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/mcp/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../../src/mcp/build.ts"],"names":[],"mappings":"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"}
@@ -26,14 +26,25 @@ export interface McpToolDescriptor {
26
26
  /** Name of the exported member in the MCP bundle. */
27
27
  export: string;
28
28
  }
29
- /** A UI template (iframe mini-app) declared via `defineMcpServer`. */
29
+ /** Content-Security-Policy for a UI template resource (emitted at `_meta.ui.csp`). */
30
+ export interface McpUiResourceCsp {
31
+ connectDomains?: string[];
32
+ resourceDomains?: string[];
33
+ frameDomains?: string[];
34
+ baseUriDomains?: string[];
35
+ }
36
+ /** A UI template (single-file mini-app) declared via `defineMcpServer`. The
37
+ * build reads the tenant's `htmlPath`, copies it into the deploy output, and
38
+ * records the relative `htmlAsset` here; the runtime serves its bytes inline as
39
+ * the `ui://` resource. */
30
40
  export interface UiTemplateDescriptor {
31
41
  /** Template name referenced by `ToolUiRef.template`. */
32
42
  name: string;
33
- /** Tenant app route that renders the mini-app (e.g. `/_mcp/ui/order-card`). */
34
- route: string;
35
- /** Optional Content-Security-Policy applied when framing the template. */
36
- csp?: string;
43
+ /** Deploy-relative path to the built single-file widget (e.g.
44
+ * `mcp-ui/order-card.html`), read by the runtime at bootstrap. */
45
+ htmlAsset: string;
46
+ /** Optional resource CSP, emitted verbatim at the resource's `_meta.ui.csp`. */
47
+ csp?: McpUiResourceCsp;
37
48
  }
38
49
  /** Static server identity advertised by the MCP `initialize` handshake. */
39
50
  export interface McpServerInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;8EAG8E;AAE9E,yEAAyE;AACzE,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC;oFACgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/mcp/types.ts"],"names":[],"mappings":"AAAA;;;8EAG8E;AAE9E,yEAAyE;AACzE,MAAM,WAAW,SAAS;IACxB,iEAAiE;IACjE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,EAAE,EAAE,MAAM,CAAC;IACX,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;4BAG4B;AAC5B,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC5B,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,oFAAoF;AACpF,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,EAAE,oBAAoB,EAAE,CAAC;IACpC;oFACgF;IAChF,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maravilla-labs/functions",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "Maravilla Edge Functions bundler and development tools",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",