@transloadit/mcp-server 0.6.2 → 0.6.4

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":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAWnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAevB,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,qBAAqB,CAAA;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,2FAA2F;IAC3F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAID,iEAAiE;AACjE,eAAO,MAAM,wBAAwB;;;;EAAuC,CAAA;AAE5E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE5E,6FAA6F;AAC7F,eAAO,MAAM,oBAAoB,6BAA6B,CAAA;AAg7B9D,eAAO,MAAM,0BAA0B,GACrC,UAAS,2BAAgC,KACxC,SA4oBF,CAAA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAWnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAmBvB,MAAM,MAAM,2BAA2B,GAAG;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,qBAAqB,CAAA;IAC1C;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,2FAA2F;IAC3F,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAID,iEAAiE;AACjE,eAAO,MAAM,wBAAwB;;;;EAAuC,CAAA;AAE5E,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE5E,6FAA6F;AAC7F,eAAO,MAAM,oBAAoB,6BAA6B,CAAA;AAk7B9D,eAAO,MAAM,0BAA0B,GACrC,UAAS,2BAAgC,KACxC,SA4oBF,CAAA"}
package/dist/server.js CHANGED
@@ -6,7 +6,7 @@ import { buildBearerChallenge, extractBearerToken } from "./http-helpers.js";
6
6
  import { assertServerOptions } from "./options.js";
7
7
  import { mirrorSecuritySchemes } from "./tool-list.js";
8
8
  import { buildToolMeta, resolveSecuritySchemes, resolveToolAuthMode, toolMetadata, } from "./tool-metadata.js";
9
- import { registerAssemblyResultWidget, widgetContextMetaKey } from "./ui/assembly-result-widget.js";
9
+ import { describeAssemblySteps, registerAssemblyResultWidget, widgetContextMetaKey, } from "./ui/assembly-result-widget.js";
10
10
  import { buildUploadInstructions, uploadInstructionSchema } from "./upload-instructions.js";
11
11
  const defaultConsoleUrl = 'https://transloadit.com';
12
12
  /** Signature algorithms API2 accepts for Auth Key signatures. */
@@ -474,8 +474,9 @@ const buildWidgetContext = (options, assembly) => {
474
474
  const slug = isNonEmptyString(assembly.account_slug) ? assembly.account_slug : undefined;
475
475
  const assemblyId = isNonEmptyString(assembly.assembly_id) ? assembly.assembly_id : undefined;
476
476
  const templateId = isNonEmptyString(assembly.template_id) ? assembly.template_id : undefined;
477
+ const steps = describeAssemblySteps(assembly);
477
478
  if (!slug || !consoleUrl)
478
- return { authenticated: true };
479
+ return { authenticated: true, steps };
479
480
  const workspaceUrl = `${consoleUrl}/c/${encodeURIComponent(slug)}`;
480
481
  const newTemplateUrl = new URL(`${workspaceUrl}/templates/new`);
481
482
  // The Console seeds the editor from `fromAssembly` since transloadit/content#6207, which ships
@@ -494,6 +495,7 @@ const buildWidgetContext = (options, assembly) => {
494
495
  ? `${workspaceUrl}/assemblies/${encodeURIComponent(assemblyId)}`
495
496
  : undefined,
496
497
  new_template_url: newTemplateUrl.toString(),
498
+ steps,
497
499
  };
498
500
  };
499
501
  const isHttpImportStep = (value) => isRecord(value) && value.robot === '/http/import';
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { AssemblyStatus } from '@transloadit/node';
2
3
  /** MCP Apps resource that renders `transloadit_create_assembly` and `transloadit_wait_for_assembly` results. */
3
4
  export declare const assemblyResultWidgetUri = "ui://transloadit/assembly-result";
4
5
  /** Mime type the MCP Apps spec requires for UI resources. */
@@ -24,11 +25,22 @@ export declare const widgetAppInfo: {
24
25
  };
25
26
  /** Result `_meta` key that carries widget-only context (never read by the model). */
26
27
  export declare const widgetContextMetaKey = "transloadit/widget";
28
+ /** A Step of the Assembly's instructions, so the widget can say what produced each result. */
29
+ export type WidgetStep = {
30
+ /** The Robot, e.g. `/image/resize`, shown as the Step's label. */
31
+ robot: string;
32
+ };
27
33
  export type WidgetContext = {
28
34
  authenticated: boolean;
29
35
  assembly_console_url?: string;
30
36
  new_template_url?: string;
37
+ steps?: Record<string, WidgetStep>;
31
38
  };
39
+ /**
40
+ * The Robot of each Step, read from the instructions API2 echoes in `merged_params` (Template
41
+ * Steps included) or `params`. Missing or unreadable instructions just leave the labels out.
42
+ */
43
+ export declare const describeAssemblySteps: (assembly: Pick<AssemblyStatus, "merged_params" | "params">) => Record<string, WidgetStep> | undefined;
32
44
  /**
33
45
  * The widget document. Everything is inline (no external scripts) so it runs under the
34
46
  * restrictive default MCP Apps sandbox CSP; the host only needs to allow result origins.
@@ -1 +1 @@
1
- {"version":3,"file":"assembly-result-widget.d.ts","sourceRoot":"","sources":["../../src/ui/assembly-result-widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAIxE,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,qCAAqC,CAAA;AAEzE,6DAA6D;AAC7D,eAAO,MAAM,4BAA4B,8BAA8B,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UAIhC,CAAA;AASD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAS/D,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD,yDAAyD;AACzD,eAAO,MAAM,aAAa;;;CAAwE,CAAA;AAElG,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,OAAO,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AAoCD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAiWpC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,4BAA4B,GACvC,QAAQ,SAAS,EACjB,UAAS,2BAAgC,KACxC,IAiCF,CAAA"}
1
+ {"version":3,"file":"assembly-result-widget.d.ts","sourceRoot":"","sources":["../../src/ui/assembly-result-widget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,qCAAqC,CAAA;AAEzE,6DAA6D;AAC7D,eAAO,MAAM,4BAA4B,8BAA8B,CAAA;AAEvE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,UAIhC,CAAA;AASD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,MAAM,MAAM,KAAG,MAS/D,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,qBAAqB,eAAe,CAAA;AAEjD,yDAAyD;AACzD,eAAO,MAAM,aAAa;;;CAAwE,CAAA;AAElG,qFAAqF;AACrF,eAAO,MAAM,oBAAoB,uBAAuB,CAAA;AAExD,8FAA8F;AAC9F,MAAM,MAAM,UAAU,GAAG;IACvB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,aAAa,EAAE,OAAO,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CACnC,CAAA;AAKD;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,UAAU,IAAI,CAAC,cAAc,EAAE,eAAe,GAAG,QAAQ,CAAC,KACzD,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,SAgB/B,CAAA;AAgFD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QA8rBpC,CAAA;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,sFAAsF;IACtF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,4FAA4F;AAC5F,eAAO,MAAM,4BAA4B,GACvC,QAAQ,SAAS,EACjB,UAAS,2BAAgC,KACxC,IAiCF,CAAA"}
@@ -39,6 +39,32 @@ export const widgetProtocolVersion = '2026-01-26';
39
39
  export const widgetAppInfo = { name: 'transloadit-assembly-result', version: packageJson.version };
40
40
  /** Result `_meta` key that carries widget-only context (never read by the model). */
41
41
  export const widgetContextMetaKey = 'transloadit/widget';
42
+ const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value);
43
+ /**
44
+ * The Robot of each Step, read from the instructions API2 echoes in `merged_params` (Template
45
+ * Steps included) or `params`. Missing or unreadable instructions just leave the labels out.
46
+ */
47
+ export const describeAssemblySteps = (assembly) => {
48
+ const source = assembly.merged_params || assembly.params;
49
+ if (!source)
50
+ return undefined;
51
+ let params;
52
+ try {
53
+ params = JSON.parse(source);
54
+ }
55
+ catch {
56
+ return undefined;
57
+ }
58
+ if (!isRecord(params) || !isRecord(params.steps))
59
+ return undefined;
60
+ const steps = {};
61
+ for (const [name, step] of Object.entries(params.steps)) {
62
+ if (!isRecord(step) || typeof step.robot !== 'string')
63
+ continue;
64
+ steps[name] = { robot: step.robot };
65
+ }
66
+ return Object.keys(steps).length > 0 ? steps : undefined;
67
+ };
42
68
  const widgetDescription = 'Shows each Assembly Step with image, video and audio previews, download links for every result file, and a Save as Template shortcut when the caller is signed in.';
43
69
  /** Resource `_meta` in both the MCP Apps form and the legacy ChatGPT aliases. */
44
70
  const buildAssemblyResultWidgetMeta = ({ resultDomains, redirectDomains, widgetDomain, }) => ({
@@ -60,6 +86,38 @@ const buildAssemblyResultWidgetMeta = ({ resultDomains, redirectDomains, widgetD
60
86
  },
61
87
  'openai/widgetPrefersBorder': true,
62
88
  });
89
+ /** Status labels for API2's `ok` codes (alphalib `assemblyStatusOkCodeSchema`). */
90
+ const statusLabels = {
91
+ ASSEMBLY_CANCELED: { label: 'Canceled', tone: 'neutral' },
92
+ ASSEMBLY_COMPLETED: { label: 'Completed', tone: 'ok' },
93
+ ASSEMBLY_EXECUTING: { label: 'Processing', tone: 'busy' },
94
+ ASSEMBLY_REPLAYING: { label: 'Replaying', tone: 'busy' },
95
+ ASSEMBLY_UPLOADING: { label: 'Waiting for uploads', tone: 'busy' },
96
+ REQUEST_ABORTED: { label: 'Aborted', tone: 'neutral' },
97
+ };
98
+ // Static, trusted markup (24px grid, stroked with currentColor) inserted by the widget script.
99
+ const icons = {
100
+ alert: '<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 7.5v5.5"/><path d="M12 16.5h.01"/></svg>',
101
+ audio: '<svg viewBox="0 0 24 24"><path d="M9 18V5l11-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="17" cy="16" r="3"/></svg>',
102
+ caret: '<svg viewBox="0 0 24 24"><path d="m9 6 6 6-6 6"/></svg>',
103
+ down: '<svg viewBox="0 0 24 24"><path d="m6 9 6 6 6-6"/></svg>',
104
+ download: '<svg viewBox="0 0 24 24"><path d="M12 4v11"/><path d="m7 10 5 5 5-5"/><path d="M5 20h14"/></svg>',
105
+ file: '<svg viewBox="0 0 24 24"><path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5"/></svg>',
106
+ image: '<svg viewBox="0 0 24 24"><rect x="3" y="3" width="18" height="18" rx="2"/><circle cx="9" cy="9" r="2"/><path d="m21 15-3.1-3.1a2 2 0 0 0-2.8 0L6 21"/></svg>',
107
+ info: '<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="9"/><path d="M12 11v5.5"/><path d="M12 7.5h.01"/></svg>',
108
+ play: '<svg viewBox="0 0 24 24"><path class="solid" d="M8.5 5.8v12.4a.8.8 0 0 0 1.2.7l9.9-6.2a.8.8 0 0 0 0-1.4L9.7 5.1a.8.8 0 0 0-1.2.7z"/></svg>',
109
+ };
110
+ /** Cards shown per step and in total before the rest folds into "Show N more files". */
111
+ const visibleFilesPerStep = 8;
112
+ const visibleFilesTotal = 12;
113
+ /** Steps with at most this many files share one grid instead of a row each. */
114
+ const sparseStepFiles = 2;
115
+ // The usual native UI stack, without a bare system-ui first: Linux resolves that through
116
+ // fontconfig to whatever font matched, which can be a CJK face with a mid-line "…".
117
+ const fontStack = '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", system-ui, sans-serif';
118
+ const monoStack = 'ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace';
119
+ const lightTokens = '--bg: #ffffff; --surface: #fafafa; --surface-2: #f5f5f5; --border: #e5e5e5; --border-strong: #d4d4d4; --fg: #171717; --muted: #737373; --subtle: #a3a3a3; --accent: #2563eb; --ok: #16a34a; --err: #dc2626; --err-soft: #fef2f2; --err-border: #fecaca; --warn: #ca8a04; --button-bg: #171717; --button-fg: #fafafa; --skeleton: #f0f0f0; --skeleton-hi: #e5e5e5; --overlay: rgb(23 23 23 / 0.6);';
120
+ const darkTokens = '--bg: #171717; --surface: #1f1f1f; --surface-2: #262626; --border: #2e2e2e; --border-strong: #404040; --fg: #f5f5f5; --muted: #a3a3a3; --subtle: #737373; --accent: #60a5fa; --ok: #4ade80; --err: #f87171; --err-soft: #2a1818; --err-border: #4c2323; --warn: #facc15; --button-bg: #f5f5f5; --button-fg: #171717; --skeleton: #262626; --skeleton-hi: #303030; --overlay: rgb(0 0 0 / 0.6);';
63
121
  /**
64
122
  * The widget document. Everything is inline (no external scripts) so it runs under the
65
123
  * restrictive default MCP Apps sandbox CSP; the host only needs to allow result origins.
@@ -71,59 +129,154 @@ export const assemblyResultWidgetHtml = `<!doctype html>
71
129
  <meta name="viewport" content="width=device-width, initial-scale=1">
72
130
  <title>Transloadit Assembly result</title>
73
131
  <style>
74
- :root {
75
- color-scheme: light dark;
76
- --fg: #1a1d21; --muted: #5f6672; --bg: #ffffff; --card: #f5f7fa; --border: #e1e5eb; --accent: #1b61a7; --ok: #1f8a4c; --err: #c0392b;
77
- }
78
- :root[data-theme="dark"] {
79
- --fg: #f1f3f5; --muted: #a2a8b3; --bg: #121417; --card: #1b1e23; --border: #2c313a; --accent: #7db8f2; --ok: #5ccf8a; --err: #f28b7d;
80
- }
132
+ :root { color-scheme: light; ${lightTokens} --font: ${fontStack}; --mono: ${monoStack}; }
133
+ :root[data-theme="dark"] { color-scheme: dark; ${darkTokens} }
81
134
  @media (prefers-color-scheme: dark) {
82
- :root:not([data-theme="light"]) {
83
- --fg: #f1f3f5; --muted: #a2a8b3; --bg: #121417; --card: #1b1e23; --border: #2c313a; --accent: #7db8f2; --ok: #5ccf8a; --err: #f28b7d;
84
- }
135
+ :root:not([data-theme="light"]) { color-scheme: dark; ${darkTokens} }
85
136
  }
86
137
  * { box-sizing: border-box; }
87
- body { margin: 0; padding: 12px; font: 14px/1.45 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; color: var(--fg); background: var(--bg); }
138
+ html { background: var(--bg); }
139
+ body { margin: 0; padding: 16px; font: 14px/1.5 var(--font); color: var(--fg); background: var(--bg); -webkit-font-smoothing: antialiased; }
140
+ #app { display: flex; flex-direction: column; gap: 16px; }
141
+ :root[data-capped] #app { max-height: var(--max-height); overflow-y: auto; }
88
142
  a { color: var(--accent); }
89
- header { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
90
- header h1 { font-size: 15px; margin: 0; }
91
- .badge { font-size: 12px; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--border); }
92
- .badge.ok { color: var(--ok); border-color: var(--ok); }
93
- .badge.err { color: var(--err); border-color: var(--err); }
94
- .actions { margin-left: auto; display: flex; gap: 8px; }
95
- .button { display: inline-block; padding: 6px 12px; border-radius: 6px; border: 1px solid var(--accent); background: var(--accent); color: #fff; text-decoration: none; font-size: 13px; cursor: pointer; }
96
- .button.secondary { background: transparent; color: var(--accent); }
97
- section.step { border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; margin-bottom: 10px; background: var(--card); }
98
- section.step h2 { font-size: 13px; margin: 0 0 8px; font-weight: 600; }
99
- section.step h2 code { font-weight: 600; }
100
- .files { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
101
- figure { margin: 0; border: 1px solid var(--border); border-radius: 6px; background: var(--bg); overflow: hidden; }
102
- figure .preview { display: flex; align-items: center; justify-content: center; min-height: 72px; max-height: 220px; background: #0000000d; }
103
- figure img, figure video { display: block; max-width: 100%; max-height: 220px; }
104
- figure audio { width: 100%; }
105
- figure .file { padding: 12px; font-size: 24px; color: var(--muted); }
106
- figcaption { padding: 6px 8px; font-size: 12px; }
107
- figcaption .name { display: block; font-weight: 600; word-break: break-all; }
108
- .muted { color: var(--muted); }
109
- .error { color: var(--err); }
110
- details { margin-top: 10px; font-size: 12px; }
111
- pre { white-space: pre-wrap; word-break: break-word; font-size: 11px; background: var(--card); padding: 8px; border-radius: 6px; }
143
+ p { margin: 0; }
144
+ code { font: 12px/1.4 var(--mono); background: var(--surface-2); border-radius: 4px; padding: 1px 4px; }
145
+ .url { overflow-wrap: anywhere; }
146
+ .icon { display: inline-flex; flex: none; }
147
+ .icon svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
148
+ .icon svg .solid { fill: currentColor; stroke: none; }
149
+ .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
150
+
151
+ header { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
152
+ .title-row { display: flex; align-items: center; gap: 12px; min-width: 0; min-height: 28px; }
153
+ h1 { flex: 1 1 auto; margin: 0; min-width: 0; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
154
+ .id { font: 500 12px/1 var(--mono); color: var(--muted); }
155
+ a.id { text-decoration: underline; text-decoration-color: var(--border-strong); text-underline-offset: 3px; }
156
+ a.id:hover { color: var(--fg); text-decoration-color: currentColor; }
157
+ .sub-row { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; font-size: 12px; }
158
+ .status { flex: none; display: inline-flex; align-items: center; gap: 6px; padding: 1px 8px; border-radius: 999px; background: var(--surface-2); font-size: 12px; font-weight: 500; }
159
+ .dot { width: 6px; height: 6px; border-radius: 50%; background: var(--subtle); flex: none; }
160
+ .tone-ok .dot { background: var(--ok); }
161
+ .tone-err { color: var(--err); background: var(--err-soft); }
162
+ .tone-err .dot { background: var(--err); }
163
+ .tone-busy .dot { background: var(--accent); animation: pulse 1.4s ease-in-out infinite; }
164
+ .button { flex: none; display: inline-flex; align-items: center; justify-content: center; height: 28px; padding: 0 10px; border-radius: 7px; border: 1px solid var(--button-bg); background: var(--button-bg); color: var(--button-fg); font-size: 12px; font-weight: 500; text-decoration: none; white-space: nowrap; cursor: pointer; }
165
+ .button:hover { opacity: 0.88; }
166
+
167
+ .step { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
168
+ .step-head { display: flex; align-items: baseline; gap: 8px; min-width: 0; font-size: 12px; color: var(--muted); }
169
+ .step-head h2, .fold h2 { margin: 0; flex: none; color: var(--fg); font: 600 12px/1.5 var(--mono); }
170
+ .robot { min-width: 0; font: 11px/1.5 var(--mono); color: var(--subtle); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
171
+ .step-head .count { margin-left: auto; flex: none; }
172
+ .group { display: flex; flex-direction: column; gap: 8px; }
173
+ .files { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 8px; }
174
+ .file { position: relative; margin: 0; min-width: 0; display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); overflow: hidden; }
175
+ .preview { position: relative; height: 120px; flex: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; background: var(--surface-2); color: var(--subtle); }
176
+ .preview img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; }
177
+ .preview video { display: block; width: 100%; height: 100%; object-fit: contain; }
178
+ .preview > .icon svg { width: 28px; height: 28px; stroke-width: 1.5; }
179
+ .preview .ext { font: 600 11px/1 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
180
+ .play { position: absolute; top: 50%; left: 50%; width: 40px; height: 40px; margin: -20px 0 0 -20px; display: flex; align-items: center; justify-content: center; padding: 0 0 0 2px; border: 0; border-radius: 50%; background: var(--overlay); color: #ffffff; cursor: pointer; }
181
+ .play .icon svg { width: 18px; height: 18px; }
182
+ .play:hover, .play:focus-visible { transform: scale(1.06); }
183
+ .note { font-size: 12px; color: var(--muted); }
184
+ .caption { display: flex; align-items: center; gap: 4px; padding: 6px 4px 6px 10px; min-width: 0; flex: 1; }
185
+ .caption-text { display: flex; flex-direction: column; min-width: 0; flex: 1; }
186
+ .name { display: flex; min-width: 0; font-size: 13px; font-weight: 500; }
187
+ .name .base { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
188
+ .name .ext { flex: none; }
189
+ .meta { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
190
+ .tag { font: 11px/1.5 var(--mono); color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
191
+ .step .tag, .fold .tag { display: none; }
192
+ .download { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 6px; color: var(--muted); }
193
+ .download:hover { background: var(--surface-2); color: var(--fg); }
194
+ .audio-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; grid-template-areas: "icon text dl" "player player player"; align-items: center; gap: 6px 10px; padding: 8px 4px 8px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); }
195
+ .audio-row > .icon { grid-area: icon; color: var(--muted); }
196
+ .audio-row > .caption-text { grid-area: text; }
197
+ .audio-row > .download { grid-area: dl; }
198
+ .audio-row > .player { grid-area: player; width: 100%; height: 36px; }
199
+ .audio-row > .note.player { height: auto; }
200
+ @media (min-width: 560px) {
201
+ .audio-row { grid-template-columns: auto minmax(0, 1fr) minmax(240px, 320px) auto; grid-template-areas: "icon text player dl"; }
202
+ }
203
+ @media (max-width: 400px) {
204
+ .files { grid-template-columns: minmax(0, 1fr); }
205
+ .file { flex-direction: row; align-items: stretch; }
206
+ .preview { width: 96px; height: 72px; }
207
+ .preview > .icon svg { width: 22px; height: 22px; }
208
+ .preview .note { font-size: 11px; text-align: center; }
209
+ .play { width: 32px; height: 32px; margin: -16px 0 0 -16px; }
210
+ .caption { padding-left: 12px; }
211
+ }
212
+ details.more > summary, details.fold > summary { display: flex; align-items: center; gap: 6px; padding: 2px 0; color: var(--muted); font-size: 12px; cursor: pointer; list-style: none; }
213
+ details > summary::-webkit-details-marker { display: none; }
214
+ details > summary:hover { color: var(--fg); }
215
+ details .caret svg { width: 14px; height: 14px; transition: transform 0.15s ease; }
216
+ details[open] > summary .caret svg { transform: rotate(90deg); }
217
+ details[open] > .group { margin-top: 8px; }
218
+
219
+ .callout { display: flex; gap: 10px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface); font-size: 13px; overflow-wrap: break-word; }
220
+ .callout > .icon { margin-top: 2px; color: var(--muted); }
221
+ .callout-body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
222
+ .callout .hint { color: var(--muted); }
223
+ .callout.err { background: var(--err-soft); border-color: var(--err-border); }
224
+ .callout.err > .icon { color: var(--err); }
225
+ .callout.warn > .icon { color: var(--warn); }
226
+ p.note { font-size: 13px; }
227
+
228
+ .more-below { display: none; }
229
+ :root[data-capped] .more-below { position: sticky; bottom: 0; flex: none; display: flex; align-items: flex-end; justify-content: center; gap: 4px; height: 48px; margin-top: -64px; padding-bottom: 4px; background: linear-gradient(to bottom, transparent, var(--bg) 75%); color: var(--muted); font-size: 12px; pointer-events: none; opacity: 0; transition: opacity 0.15s ease; }
230
+ :root[data-capped] .more-below.show { opacity: 1; }
231
+ .more-below .icon svg { width: 14px; height: 14px; }
232
+
233
+ .pending { display: flex; flex-direction: column; gap: 16px; }
234
+ .pending-label { display: flex; align-items: center; gap: 8px; height: 28px; color: var(--muted); font-size: 13px; }
235
+ .pending-label .dot { width: 8px; height: 8px; }
236
+ .running .pending-label .dot { background: var(--accent); animation: pulse 1.4s ease-in-out infinite; }
237
+ .sk { display: block; border-radius: 6px; background: var(--skeleton); }
238
+ .running .sk { background: linear-gradient(90deg, var(--skeleton) 25%, var(--skeleton-hi) 50%, var(--skeleton) 75%); background-size: 200% 100%; animation: shimmer 1.6s linear infinite; }
239
+ .sk-step { width: 35%; height: 12px; }
240
+ .sk-preview { height: 120px; border-radius: 0; }
241
+ .sk-lines { display: flex; flex-direction: column; gap: 6px; padding: 9px 10px 10px; flex: 1; }
242
+ .sk-line { height: 10px; width: 70%; }
243
+ .sk-line.short { width: 45%; }
244
+ @media (max-width: 400px) {
245
+ .sk-preview { width: 96px; height: 72px; flex: none; }
246
+ .pending .file:nth-child(2) { display: none; }
247
+ }
248
+ @keyframes pulse { 50% { opacity: 0.35; } }
249
+ @keyframes shimmer { from { background-position: 100% 0; } to { background-position: -100% 0; } }
250
+ @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }
112
251
  </style>
113
252
  </head>
114
253
  <body>
115
- <main id="app"><p class="muted">Waiting for the Assembly result…</p></main>
254
+ <main id="app"></main>
116
255
  <script>
117
256
  (() => {
118
257
  const app = document.getElementById('app')
258
+ const root = document.documentElement
119
259
  const appInfo = ${JSON.stringify(widgetAppInfo)}
120
260
  const protocolVersion = ${JSON.stringify(widgetProtocolVersion)}
121
261
  const contextKey = ${JSON.stringify(widgetContextMetaKey)}
262
+ const statusLabels = ${JSON.stringify(statusLabels)}
263
+ const icons = ${JSON.stringify(icons)}
264
+ const visibleFilesPerStep = ${visibleFilesPerStep}
265
+ const visibleFilesTotal = ${visibleFilesTotal}
266
+ const sparseStepFiles = ${sparseStepFiles}
267
+ const backtick = String.fromCharCode(96)
122
268
  const hostCapabilities = { openLinks: false }
123
269
  let hasResult = false
270
+ let lastSignature = null
271
+ // Rendered nodes by step and by file, reused while their data is unchanged so previews are
272
+ // never re-created (and re-downloaded) when a host repeats or updates the result.
273
+ const sectionCache = new Map()
274
+ const itemCache = new Map()
124
275
 
125
276
  const isRecord = (value) => typeof value === 'object' && value !== null && !Array.isArray(value)
126
277
  const text = (value) => (typeof value === 'string' ? value : '')
278
+ const positive = (value) => (typeof value === 'number' && Number.isFinite(value) && value > 0 ? value : 0)
279
+ const plural = (count, noun) => count + ' ' + noun + (count === 1 ? '' : 's')
127
280
 
128
281
  const safeUrl = (value) => {
129
282
  if (typeof value !== 'string') return null
@@ -138,7 +291,7 @@ export const assemblyResultWidgetHtml = `<!doctype html>
138
291
  const el = (tag, props, children) => {
139
292
  const node = document.createElement(tag)
140
293
  for (const [key, value] of Object.entries(props || {})) {
141
- if (value === undefined || value === null) continue
294
+ if (value === undefined || value === null || value === false) continue
142
295
  if (key === 'className') node.className = value
143
296
  else if (key === 'text') node.textContent = value
144
297
  else node.setAttribute(key, value)
@@ -149,8 +302,62 @@ export const assemblyResultWidgetHtml = `<!doctype html>
149
302
  return node
150
303
  }
151
304
 
152
- const showStatus = (message, className) => {
153
- app.replaceChildren(el('p', { className: className || 'muted', role: 'status', text: message }))
305
+ const icon = (name) => {
306
+ const span = el('span', { className: 'icon', 'aria-hidden': 'true' })
307
+ span.innerHTML = icons[name]
308
+ return span
309
+ }
310
+
311
+ // URLs may break after "/", "?", "&" or "=", never inside the words around them.
312
+ const urlText = (url) => {
313
+ const node = el('span', { className: 'url' })
314
+ for (const part of url.split(/(?<=[/?&=])/)) {
315
+ node.append(part, document.createElement('wbr'))
316
+ }
317
+ return node
318
+ }
319
+
320
+ const plainText = (value) => {
321
+ const nodes = []
322
+ let last = 0
323
+ for (const match of value.matchAll(/https?:\\/\\/[^\\s<>]+[^\\s<>.,;:!?)]/g)) {
324
+ nodes.push(value.slice(last, match.index), urlText(match[0]))
325
+ last = match.index + match[0].length
326
+ }
327
+ nodes.push(value.slice(last))
328
+ return nodes.filter((node) => node !== '')
329
+ }
330
+
331
+ // Tool hints quote commands and parameters in backticks; show those as code.
332
+ const richText = (value) => {
333
+ const parts = value.split(backtick)
334
+ if (parts.length % 2 === 0) return plainText(value)
335
+ return parts.flatMap((part, index) => (index % 2 === 1 ? [el('code', { text: part })] : plainText(part)))
336
+ }
337
+
338
+ const pending = (kind, message) => {
339
+ const skeletonCard = () =>
340
+ el('div', { className: 'file' }, [
341
+ el('span', { className: 'sk sk-preview' }),
342
+ el('div', { className: 'sk-lines' }, [el('span', { className: 'sk sk-line' }), el('span', { className: 'sk sk-line short' })]),
343
+ ])
344
+ app.replaceChildren(
345
+ el('div', { className: 'pending ' + kind, role: 'status' }, [
346
+ el('p', { className: 'pending-label' }, [el('span', { className: 'dot' }), message]),
347
+ el('span', { className: 'sk sk-step' }),
348
+ el('div', { className: 'files' }, [skeletonCard(), skeletonCard()]),
349
+ ]),
350
+ )
351
+ }
352
+
353
+ const callout = (kind, lines, role) =>
354
+ el('div', { className: 'callout ' + kind, role }, [
355
+ icon(kind === 'err' ? 'alert' : 'info'),
356
+ el('div', { className: 'callout-body' }, lines.filter(Boolean)),
357
+ ])
358
+
359
+ const showStatus = (message, kind) => {
360
+ app.replaceChildren(callout(kind || 'neutral', [el('p', { text: message })], 'status'))
154
361
  }
155
362
 
156
363
  // MCP Apps transport: JSON-RPC 2.0 over postMessage with the host (or its sandbox proxy).
@@ -159,12 +366,12 @@ export const assemblyResultWidgetHtml = `<!doctype html>
159
366
  window.parent.postMessage(message, '*')
160
367
  }
161
368
 
162
- const pending = new Map()
369
+ const pendingRequests = new Map()
163
370
  let nextId = 1
164
371
  const request = (method, params) =>
165
372
  new Promise((resolve, reject) => {
166
373
  const id = nextId++
167
- pending.set(id, { resolve, reject })
374
+ pendingRequests.set(id, { resolve, reject })
168
375
  post({ jsonrpc: '2.0', id, method, params })
169
376
  })
170
377
  const notify = (method, params) =>
@@ -172,10 +379,36 @@ export const assemblyResultWidgetHtml = `<!doctype html>
172
379
  const respond = (id, result) => post({ jsonrpc: '2.0', id, result })
173
380
  const respondError = (id, code, message) => post({ jsonrpc: '2.0', id, error: { code, message } })
174
381
 
382
+ // A capped card scrolls; the fade and count at its bottom say there is more below.
383
+ const moreBelowLabel = el('span')
384
+ const moreBelow = el('div', { className: 'more-below', 'aria-hidden': 'true' }, [moreBelowLabel, icon('down')])
385
+ let fileCount = 0
386
+ const updateMoreBelow = () => {
387
+ if (!('capped' in root.dataset) || app.scrollHeight - app.scrollTop - app.clientHeight <= 4) {
388
+ moreBelow.classList.remove('show')
389
+ return
390
+ }
391
+ // Everything not in view counts, including files inside folded steps.
392
+ const bottom = app.getBoundingClientRect().bottom
393
+ const inView = [...app.querySelectorAll('.file, .audio-row')].filter((node) => node.getBoundingClientRect().top <= bottom - 32).length
394
+ const below = fileCount - inView
395
+ moreBelowLabel.textContent = below > 0 ? plural(below, 'more file') + ' below' : 'More below'
396
+ moreBelow.classList.add('show')
397
+ }
398
+ app.addEventListener('scroll', () => requestAnimationFrame(updateMoreBelow), { passive: true })
399
+
400
+ // ChatGPT passes maxHeight directly, MCP Apps hosts inside containerDimensions.
175
401
  const applyHostContext = (context) => {
176
402
  if (!isRecord(context)) return
177
403
  if (context.theme === 'dark' || context.theme === 'light') {
178
- document.documentElement.dataset.theme = context.theme
404
+ root.dataset.theme = context.theme
405
+ }
406
+ const dimensions = isRecord(context.containerDimensions) ? context.containerDimensions : context
407
+ const maxHeight = positive(dimensions.maxHeight)
408
+ if (maxHeight > 0) {
409
+ root.style.setProperty('--max-height', Math.max(maxHeight - 32, 160) + 'px')
410
+ root.dataset.capped = ''
411
+ updateMoreBelow()
179
412
  }
180
413
  }
181
414
 
@@ -197,25 +430,22 @@ export const assemblyResultWidgetHtml = `<!doctype html>
197
430
 
198
431
  // Sandboxed frames often block popups and downloads, so every outgoing link goes through the
199
432
  // host when it offers ui/open-link (or ChatGPT's openExternal).
200
- const hostLink = (props, url) => {
201
- const anchor = el('a', { href: url, target: '_blank', rel: 'noopener noreferrer', ...props })
433
+ const hostLink = (props, url, children) => {
434
+ const anchor = el('a', { href: url, target: '_blank', rel: 'noopener noreferrer', ...props }, children)
202
435
  anchor.addEventListener('click', (event) => {
203
436
  if (openWithHost(url)) event.preventDefault()
204
437
  })
205
438
  return anchor
206
439
  }
207
440
 
208
- const linkButton = (label, url, secondary) =>
209
- hostLink({ className: secondary ? 'button secondary' : 'button', text: label }, url)
210
-
211
441
  // Result files can land on the public bucket a moment after the Assembly reports completion,
212
442
  // and a failed <img>/<video> never retries by itself.
213
443
  const previewRetryDelays = [1000, 3000, 6000]
214
- const retryPreview = (media, url) => {
444
+ const retryPreview = (media, url, fallback) => {
215
445
  let attempt = 0
216
446
  media.addEventListener('error', () => {
217
447
  if (attempt >= previewRetryDelays.length) {
218
- media.replaceWith(el('span', { className: 'muted', role: 'status', text: 'Preview not available yet' }))
448
+ media.replaceWith(...fallback())
219
449
  return
220
450
  }
221
451
  setTimeout(() => {
@@ -227,116 +457,280 @@ export const assemblyResultWidgetHtml = `<!doctype html>
227
457
  })
228
458
  return media
229
459
  }
460
+ const unavailable = (iconName) => () => [icon(iconName), el('span', { className: 'note', role: 'status', text: 'Preview unavailable' })]
230
461
 
462
+ const fileName = (file) => text(file.name) || text(file.basename) || 'file'
463
+ const fileUrl = (file) => safeUrl(file.ssl_url) || safeUrl(file.url)
464
+ const isAudio = (file) => Boolean(fileUrl(file)) && text(file.mime).startsWith('audio/')
465
+
466
+ // A still frame with one play button; the native controls only appear once someone plays it,
467
+ // so they never cover the frame.
468
+ const videoPreview = (file, url, size) => {
469
+ const name = fileName(file)
470
+ // The fragment makes browsers that skip preload (Safari) still paint the first frame.
471
+ const src = url + '#t=0.1'
472
+ const video = retryPreview(el('video', { src, preload: 'metadata', playsinline: '', 'aria-label': name, ...size }), src, unavailable('file'))
473
+ const play = el('button', { className: 'play', type: 'button', 'aria-label': 'Play ' + name }, [icon('play')])
474
+ play.addEventListener('click', () => {
475
+ video.controls = true
476
+ play.remove()
477
+ Promise.resolve(video.play()).catch(() => {})
478
+ })
479
+ return el('div', { className: 'preview' }, [video, play])
480
+ }
481
+
482
+ // The box has a fixed height and media declare their aspect ratio, so nothing moves while
483
+ // previews load; images are never scaled beyond their own size.
231
484
  const preview = (file) => {
232
- const url = safeUrl(file.ssl_url) || safeUrl(file.url)
485
+ const url = fileUrl(file)
233
486
  const mime = text(file.mime)
234
- const name = text(file.name) || text(file.basename) || 'file'
235
- const box = el('div', { className: 'preview' })
487
+ const width = positive(file.width)
488
+ const height = positive(file.height)
489
+ const size = width && height
490
+ ? { width: String(width), height: String(height), style: 'aspect-ratio: ' + width + ' / ' + height }
491
+ : {}
236
492
  if (url && mime.startsWith('image/')) {
237
- box.append(retryPreview(el('img', { src: url, alt: name, loading: 'lazy' }), url))
238
- } else if (url && mime.startsWith('video/')) {
239
- box.append(retryPreview(el('video', { src: url, controls: '', preload: 'metadata', playsinline: '' }), url))
240
- } else if (url && mime.startsWith('audio/')) {
241
- box.append(retryPreview(el('audio', { src: url, controls: '', preload: 'metadata' }), url))
242
- } else {
243
- box.append(el('span', { className: 'file', 'aria-hidden': 'true', text: '📄' }))
493
+ return el('div', { className: 'preview' }, [
494
+ retryPreview(el('img', { src: url, alt: fileName(file), loading: 'lazy', decoding: 'async', ...size }), url, unavailable('image')),
495
+ ])
244
496
  }
245
- return box
497
+ if (url && mime.startsWith('video/')) return videoPreview(file, url, size)
498
+ const ext = text(file.ext) || (mime.includes('/') ? mime.split('/')[1] : '')
499
+ return el('div', { className: 'preview' }, [icon('file'), ext ? el('span', { className: 'ext', text: ext.slice(0, 8) }) : null])
246
500
  }
247
501
 
248
- const fileCard = (file) => {
249
- const url = safeUrl(file.ssl_url) || safeUrl(file.url)
250
- const name = text(file.name) || text(file.basename) || 'file'
502
+ // Ellipsize the base name but keep the extension visible; the full name is in the tooltip.
503
+ const nameLabel = (name) => {
504
+ const dot = name.lastIndexOf('.')
505
+ const base = dot > 0 && name.length - dot <= 8 ? name.slice(0, dot) : name
506
+ const ext = base === name ? '' : name.slice(base.length)
507
+ return el('span', { className: 'name', title: name }, [el('span', { className: 'base', text: base }), ext ? el('span', { className: 'ext', text: ext }) : null])
508
+ }
509
+
510
+ // Every caption names its step; the tag only shows in the shared grid (see .step .tag), so a
511
+ // card can move between the two layouts without being rebuilt.
512
+ const captionText = (file, tag) => {
251
513
  const details = []
252
- if (typeof file.width === 'number' && typeof file.height === 'number') {
253
- details.push(file.width + '×' + file.height)
254
- }
514
+ const width = positive(file.width)
515
+ const height = positive(file.height)
516
+ if (width && height) details.push(width + '×' + height)
255
517
  if (text(file.size_human)) details.push(text(file.size_human))
256
- if (text(file.mime)) details.push(text(file.mime))
257
- const caption = el('figcaption', {}, [
258
- el('span', { className: 'name', text: name }),
259
- el('span', { className: 'muted', text: details.join(' · ') }),
260
- url ? el('div', {}, [hostLink({ download: '', text: 'Download ' + name }, url)]) : null,
518
+ const meta = details.join(' · ') || text(file.mime)
519
+ return el('span', { className: 'caption-text' }, [
520
+ nameLabel(fileName(file)),
521
+ el('span', { className: 'tag', text: tag }),
522
+ el('span', { className: 'meta', text: meta }),
261
523
  ])
262
- return el('figure', {}, [preview(isRecord(file) ? file : {}), caption])
263
524
  }
264
525
 
265
- // Each tool error as "message hint", so recovery advice is shown next to what failed.
266
- const payloadErrors = (payload) =>
267
- (Array.isArray(payload.errors) ? payload.errors : [])
268
- .map((error) => (isRecord(error) ? [text(error.message), text(error.hint)].filter(Boolean).join(' ') : ''))
269
- .filter(Boolean)
526
+ const downloadLink = (file) => {
527
+ const url = fileUrl(file)
528
+ if (!url) return null
529
+ return hostLink({ className: 'download', download: '', title: 'Download' }, url, [icon('download'), el('span', { className: 'sr', text: 'Download ' + fileName(file) })])
530
+ }
270
531
 
271
- const errorText = (result, payload) => {
272
- const fromPayload = payloadErrors(payload)
273
- if (fromPayload.length > 0) return fromPayload.join(' ')
274
- const content = Array.isArray(result.content) ? result.content : []
275
- return content
276
- .map((block) => (isRecord(block) && block.type === 'text' ? text(block.text) : ''))
277
- .filter(Boolean)
278
- .join(' ')
532
+ const buildItem = (file, tag) => {
533
+ if (isAudio(file)) {
534
+ const url = fileUrl(file)
535
+ return el('div', { className: 'audio-row' }, [
536
+ icon('audio'),
537
+ captionText(file, tag),
538
+ retryPreview(el('audio', { className: 'player', src: url, controls: '', preload: 'metadata', 'aria-label': fileName(file) }), url, () => [el('span', { className: 'note player', role: 'status', text: 'Preview unavailable' })]),
539
+ downloadLink(file),
540
+ ])
541
+ }
542
+ return el('figure', { className: 'file' }, [
543
+ preview(file),
544
+ el('figcaption', { className: 'caption' }, [captionText(file, tag), downloadLink(file)]),
545
+ ])
279
546
  }
280
547
 
281
- const render = (result) => {
282
- if (!isRecord(result)) return
283
- hasResult = true
284
- app.replaceChildren()
285
- const payload = isRecord(result.structuredContent) ? result.structuredContent : {}
286
- const meta = isRecord(result._meta) && isRecord(result._meta[contextKey]) ? result._meta[contextKey] : {}
287
- const assembly = isRecord(payload.assembly) ? payload.assembly : null
548
+ const item = (stepName, file, index) => {
549
+ const key = stepName + '\\n' + (text(file.id) || fileUrl(file) || String(index))
550
+ const signature = JSON.stringify(file)
551
+ const cached = itemCache.get(key)
552
+ if (cached && cached.signature === signature) return cached.node
553
+ const node = buildItem(file, stepName)
554
+ itemCache.set(key, { signature, node })
555
+ return node
556
+ }
288
557
 
289
- if (!assembly) {
290
- app.append(el('p', { className: 'error', role: 'alert', text: errorText(result, payload) || 'No Assembly result was returned.' }))
291
- return
558
+ // Cards in a grid, audio as full-width rows below them.
559
+ const group = (entries) => {
560
+ const cards = entries.filter((entry) => !isAudio(entry.file)).map((entry) => entry.node())
561
+ const rows = entries.filter((entry) => isAudio(entry.file)).map((entry) => entry.node())
562
+ return el('div', { className: 'group' }, [
563
+ cards.length > 0 ? el('div', { className: 'files' }, cards) : null,
564
+ ...rows,
565
+ ])
566
+ }
567
+
568
+ const stepEntries = (stepName, files, offset) =>
569
+ files.map((file, index) => ({ file, node: () => item(stepName, file, offset + index) }))
570
+
571
+ const stepLabel = (stepName, stepsMeta) => {
572
+ if (stepName === ':original') return ''
573
+ const step = isRecord(stepsMeta) && isRecord(stepsMeta[stepName]) ? stepsMeta[stepName] : {}
574
+ return text(step.robot)
575
+ }
576
+
577
+ // Folded previews are only created (and downloaded) once someone opens them.
578
+ const foldable = (summary, className, build) => {
579
+ const details = el('details', { className }, [el('summary', {}, summary)])
580
+ details.addEventListener('toggle', () => {
581
+ if (!details.open || details.childElementCount > 1) return
582
+ details.append(build())
583
+ })
584
+ return details
585
+ }
586
+
587
+ const buildSection = (stepName, files, visible, label) => {
588
+ const hidden = files.slice(visible)
589
+ if (visible === 0) {
590
+ return foldable(
591
+ [icon('caret'), el('h2', { text: stepName }), el('span', { text: '· ' + plural(files.length, 'file') }), label ? el('span', { className: 'robot', text: label }) : null],
592
+ 'fold step',
593
+ () => group(stepEntries(stepName, files, 0)),
594
+ )
595
+ }
596
+ const section = el('section', { className: 'step' }, [
597
+ el('div', { className: 'step-head' }, [
598
+ el('h2', { text: stepName }),
599
+ label ? el('span', { className: 'robot', title: label, text: label }) : null,
600
+ el('span', { className: 'count', text: plural(files.length, 'file') }),
601
+ ]),
602
+ group(stepEntries(stepName, files.slice(0, visible), 0)),
603
+ ])
604
+ if (hidden.length > 0) {
605
+ section.append(
606
+ foldable([icon('caret'), 'Show ' + hidden.length + ' more'], 'more', () => group(stepEntries(stepName, hidden, visible))),
607
+ )
292
608
  }
609
+ return section
610
+ }
611
+
612
+ const buildSteps = (steps, stepsMeta) => {
613
+ // Few files per step: one shared grid where each card names its step.
614
+ const total = steps.reduce((sum, [, files]) => sum + files.length, 0)
615
+ if (steps.length > 1 && total <= visibleFilesTotal && steps.every(([, files]) => files.length <= sparseStepFiles)) {
616
+ return [group(steps.flatMap(([stepName, files]) => stepEntries(stepName, files, 0)))]
617
+ }
618
+ let budget = visibleFilesTotal
619
+ return steps.map(([stepName, files]) => {
620
+ const visible = Math.min(files.length, visibleFilesPerStep, Math.max(budget, 0))
621
+ budget -= visible
622
+ const label = stepLabel(stepName, stepsMeta)
623
+ const signature = JSON.stringify([files, visible, label])
624
+ const cached = sectionCache.get(stepName)
625
+ if (cached && cached.signature === signature) return cached.node
626
+ const node = buildSection(stepName, files, visible, label)
627
+ sectionCache.set(stepName, { signature, node })
628
+ return node
629
+ })
630
+ }
631
+
632
+ // Each tool error as its message and its recovery hint.
633
+ const payloadErrors = (payload) =>
634
+ (Array.isArray(payload.errors) ? payload.errors : []).filter((error) => isRecord(error) && (text(error.message) || text(error.hint)))
635
+
636
+ const errorCallout = (error) =>
637
+ callout('err', [
638
+ text(error.message) ? el('p', {}, richText(text(error.message))) : null,
639
+ text(error.hint) ? el('p', { className: 'hint' }, richText(text(error.hint))) : null,
640
+ ], 'alert')
293
641
 
642
+ const contentText = (result) =>
643
+ (Array.isArray(result.content) ? result.content : [])
644
+ .map((block) => (isRecord(block) && block.type === 'text' ? text(block.text) : ''))
645
+ .filter(Boolean)
646
+ .join(' ')
647
+
648
+ // An Assembly without ok or error (created, but its status unreadable) has no known status.
649
+ const statusOf = (assembly) => {
650
+ const error = text(assembly.error)
651
+ if (error) return { label: 'Failed', tone: 'err', code: error }
294
652
  const ok = text(assembly.ok)
295
- const failed = Boolean(assembly.error)
296
- const status = failed ? text(assembly.error) : ok || 'ASSEMBLY_EXECUTING'
297
- const header = el('header', {}, [
298
- el('h1', { text: 'Assembly ' + (text(assembly.assembly_id) || '') }),
299
- el('span', { className: 'badge ' + (failed ? 'err' : ok === 'ASSEMBLY_COMPLETED' ? 'ok' : ''), text: status }),
300
- ])
301
- const actions = el('div', { className: 'actions' })
653
+ const known = statusLabels[ok]
654
+ if (known) return { label: known.label, tone: known.tone, code: ok }
655
+ return { label: 'Status unknown', tone: 'neutral', code: ok }
656
+ }
657
+
658
+ const buildHeader = (assembly, meta, status) => {
659
+ const id = text(assembly.assembly_id)
302
660
  const consoleUrl = safeUrl(meta.assembly_console_url)
303
- if (consoleUrl) actions.append(linkButton('Open in Console', consoleUrl, true))
661
+ // The Console is the only human-readable view of an Assembly; its API status URL is raw JSON.
662
+ const idNode = !id ? null : consoleUrl
663
+ ? hostLink({ className: 'id', title: 'Open in Console' }, consoleUrl, [id])
664
+ : el('span', { className: 'id', text: id })
304
665
  const templateUrl = safeUrl(meta.new_template_url)
305
- if (meta.authenticated === true && templateUrl) actions.append(linkButton('Save as Template', templateUrl, false))
306
- if (actions.childElementCount > 0) header.append(actions)
307
- app.append(header)
666
+ // Failed, unread and still-uploading Assemblies have no instructions worth saving yet.
667
+ const savable = status.tone !== 'err' && status.code !== '' && status.code !== 'ASSEMBLY_UPLOADING'
668
+ return el('header', {}, [
669
+ el('div', { className: 'title-row' }, [
670
+ el('h1', {}, ['Assembly ', idNode]),
671
+ meta.authenticated === true && templateUrl && savable
672
+ ? hostLink({ className: 'button', text: 'Save as Template' }, templateUrl)
673
+ : null,
674
+ ]),
675
+ el('div', { className: 'sub-row' }, [
676
+ el('span', { className: 'status tone-' + status.tone, title: status.code || null }, [el('span', { className: 'dot' }), status.label]),
677
+ ]),
678
+ ])
679
+ }
308
680
 
309
- if (failed && text(assembly.message)) {
310
- app.append(el('p', { className: 'error', role: 'alert', text: text(assembly.message) }))
311
- }
312
- // A tool error can come with a partial Assembly (created, but its status unreadable).
681
+ const buildResult = (result, payload, meta) => {
682
+ const assembly = isRecord(payload.assembly) ? payload.assembly : null
313
683
  const toolErrors = payloadErrors(payload)
314
- for (const message of toolErrors) {
315
- app.append(el('p', { className: 'error', role: 'alert', text: message }))
684
+ if (!assembly) {
685
+ if (toolErrors.length > 0) return toolErrors.map(errorCallout)
686
+ return [callout('err', [el('p', { text: contentText(result) || 'No Assembly result was returned.' })], 'alert')]
316
687
  }
317
688
 
689
+ const status = statusOf(assembly)
690
+ const nodes = [buildHeader(assembly, meta, status)]
691
+ if (status.tone === 'err') {
692
+ nodes.push(callout('err', [
693
+ el('p', {}, richText(text(assembly.message) || 'The Assembly failed.')),
694
+ el('p', { className: 'hint' }, [el('code', { text: status.code })]),
695
+ ], 'alert'))
696
+ }
697
+ for (const error of toolErrors) nodes.push(errorCallout(error))
698
+
318
699
  const results = isRecord(assembly.results) ? assembly.results : {}
319
- const uploads = Array.isArray(assembly.uploads) ? assembly.uploads : []
320
- const steps = Object.entries(results).filter(([, files]) => Array.isArray(files) && files.length > 0)
700
+ const uploads = Array.isArray(assembly.uploads) ? assembly.uploads.filter(isRecord) : []
701
+ const steps = Object.entries(results)
702
+ .map(([stepName, files]) => [stepName, Array.isArray(files) ? files.filter(isRecord) : []])
703
+ .filter(([, files]) => files.length > 0)
321
704
  if (uploads.length > 0) steps.unshift([':original', uploads])
705
+ fileCount = steps.reduce((sum, [, files]) => sum + files.length, 0)
706
+ nodes.push(...buildSteps(steps, meta.steps))
322
707
 
323
- if (steps.length === 0 && toolErrors.length === 0) {
324
- app.append(el('p', { className: 'muted', text: 'No result files yet.' }))
325
- }
326
- for (const [stepName, files] of steps) {
327
- const section = el('section', { className: 'step' }, [
328
- el('h2', {}, [el('code', { text: stepName }), el('span', { className: 'muted', text: ' · ' + files.length + (files.length === 1 ? ' file' : ' files') })]),
329
- el('div', { className: 'files' }, files.filter(isRecord).map(fileCard)),
330
- ])
331
- app.append(section)
708
+ // The busy note and any warnings read as one message.
709
+ const notes = []
710
+ if (status.tone === 'busy') notes.push('Result files appear when the Assembly completes.')
711
+ else if (steps.length === 0 && toolErrors.length === 0 && status.tone !== 'err') notes.push('No result files.')
712
+ const warnings = (Array.isArray(payload.warnings) ? payload.warnings : []).filter((warning) => isRecord(warning) && text(warning.message))
713
+ if (warnings.length > 0) {
714
+ nodes.push(callout('warn', [...notes.map((note) => el('p', { text: note })), ...warnings.map((warning) => el('p', {}, richText(text(warning.message))))]))
715
+ } else {
716
+ for (const note of notes) nodes.push(el('p', { className: 'note', text: note }))
332
717
  }
718
+ nodes.push(moreBelow)
719
+ return nodes
720
+ }
333
721
 
334
- const warnings = Array.isArray(payload.warnings) ? payload.warnings : []
335
- for (const warning of warnings) {
336
- if (isRecord(warning) && text(warning.message)) {
337
- app.append(el('p', { className: 'muted', text: warning.message }))
338
- }
339
- }
722
+ const render = (result) => {
723
+ if (!isRecord(result)) return
724
+ const payload = isRecord(result.structuredContent) ? result.structuredContent : {}
725
+ const meta = isRecord(result._meta) && isRecord(result._meta[contextKey]) ? result._meta[contextKey] : {}
726
+ // Hosts repeat results (re-mounts, reconnects, ChatGPT's toolOutput next to the MCP Apps
727
+ // notification); an identical one must not touch the DOM.
728
+ const signature = JSON.stringify([payload, meta, Object.keys(payload).length === 0 ? contentText(result) : ''])
729
+ if (signature === lastSignature) return
730
+ lastSignature = signature
731
+ hasResult = true
732
+ app.replaceChildren(...buildResult(result, payload, meta))
733
+ updateMoreBelow()
340
734
  }
341
735
 
342
736
  const handleHostRequest = (message) => {
@@ -349,7 +743,7 @@ export const assemblyResultWidgetHtml = `<!doctype html>
349
743
 
350
744
  const handleHostNotification = (message) => {
351
745
  if (message.method === 'ui/notifications/tool-input') {
352
- if (!hasResult) showStatus('Running the Assembly…')
746
+ if (!hasResult) pending('running', 'Running the Assembly…')
353
747
  } else if (message.method === 'ui/notifications/tool-result') {
354
748
  render(message.params)
355
749
  } else if (message.method === 'ui/notifications/tool-cancelled') {
@@ -368,18 +762,21 @@ export const assemblyResultWidgetHtml = `<!doctype html>
368
762
  else handleHostNotification(message)
369
763
  return
370
764
  }
371
- const entry = pending.get(message.id)
765
+ const entry = pendingRequests.get(message.id)
372
766
  if (!entry) return
373
- pending.delete(message.id)
767
+ pendingRequests.delete(message.id)
374
768
  if (message.error) entry.reject(message.error)
375
769
  else entry.resolve(message.result)
376
770
  })
377
771
 
378
- // ChatGPT also exposes the result through window.openai; render from there when present.
772
+ pending('waiting', 'Waiting for the Assembly result…')
773
+
774
+ // ChatGPT also exposes the result through window.openai and fires openai:set_globals for any
775
+ // change (theme, maxHeight, …); render() ignores the ones that leave the result as it was.
379
776
  const renderFromOpenAi = () => {
380
777
  const openai = window.openai
381
778
  if (!openai) return
382
- applyHostContext({ theme: openai.theme })
779
+ applyHostContext({ theme: openai.theme, maxHeight: openai.maxHeight })
383
780
  if (isRecord(openai.toolOutput)) {
384
781
  render({ structuredContent: openai.toolOutput, _meta: openai.toolResponseMetadata })
385
782
  }
@@ -387,6 +784,10 @@ export const assemblyResultWidgetHtml = `<!doctype html>
387
784
  window.addEventListener('openai:set_globals', renderFromOpenAi)
388
785
  renderFromOpenAi()
389
786
 
787
+ if (typeof ResizeObserver === 'function') {
788
+ new ResizeObserver(() => updateMoreBelow()).observe(app)
789
+ }
790
+
390
791
  if (window.parent !== window) {
391
792
  request('ui/initialize', {
392
793
  appCapabilities: {},
@@ -401,16 +802,22 @@ export const assemblyResultWidgetHtml = `<!doctype html>
401
802
  notify('ui/notifications/initialized')
402
803
  })
403
804
  .catch(() => {
404
- if (!hasResult) showStatus('This host could not start the Assembly result view.', 'error')
805
+ if (!hasResult) showStatus('This host could not start the Assembly result view.', 'err')
405
806
  })
406
807
 
808
+ // Report the body's own height, not documentElement.scrollHeight: the latter never drops
809
+ // below the frame's current height, so the frame could grow but never shrink.
810
+ let lastSize = ''
811
+ const reportSize = () => {
812
+ const width = root.scrollWidth
813
+ const height = Math.ceil(document.body.getBoundingClientRect().height)
814
+ const size = width + 'x' + height
815
+ if (size === lastSize) return
816
+ lastSize = size
817
+ notify('ui/notifications/size-changed', { width, height })
818
+ }
407
819
  if (typeof ResizeObserver === 'function') {
408
- new ResizeObserver(() => {
409
- notify('ui/notifications/size-changed', {
410
- width: document.documentElement.scrollWidth,
411
- height: document.documentElement.scrollHeight,
412
- })
413
- }).observe(document.body)
820
+ new ResizeObserver(reportSize).observe(document.body)
414
821
  }
415
822
  }
416
823
  })()
@@ -1 +1 @@
1
- {"version":3,"file":"assembly-result-widget.js","sourceRoot":"","sources":["../../src/ui/assembly-result-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"assembly-result-widget.js","sourceRoot":"","sources":["../../src/ui/assembly-result-widget.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@transloadit/mcp-server",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "Transloadit MCP server",
5
5
  "keywords": [
6
6
  "mcp",
@@ -57,6 +57,7 @@
57
57
  "build": "yarn lint:ts && chmod +x dist/cli.js",
58
58
  "test:unit": "yarn --cwd ../.. tsc:utils && yarn --cwd ../.. tsc:node && ../../node_modules/.bin/vitest run ./test/unit",
59
59
  "test:e2e": "yarn --cwd ../.. tsc:utils && yarn --cwd ../.. tsc:node && ../../node_modules/.bin/vitest run ./test/e2e",
60
+ "test:visual": "playwright test",
60
61
  "check": "yarn lint:ts && yarn test:unit",
61
62
  "prepack": "yarn build"
62
63
  },
@@ -69,6 +70,7 @@
69
70
  "zod": "^4.4.3"
70
71
  },
71
72
  "devDependencies": {
73
+ "@playwright/test": "1.64.0",
72
74
  "@types/express": "^5.0.6",
73
75
  "@types/node": "^25.8.0",
74
76
  "happy-dom": "^20.9.0",