@batalabs/virlow-mcp-core 3.85.0 → 3.86.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.
@@ -36,8 +36,14 @@
36
36
  import type { EntityKind } from './memory-graph.js';
37
37
  /** The MCP Apps resource type. ChatGPT reads it too. */
38
38
  export declare const WIDGET_MIME_TYPE = "text/html;profile=mcp-app";
39
- export declare const SAVED_MEMORY_URI = "ui://widget/saved-memory.html";
40
- export declare const MEMORY_CONTEXT_URI = "ui://widget/memory-context.html";
39
+ /**
40
+ * Versioned, because a host treats the URI as the cache key for the page:
41
+ * ChatGPT keeps what it fetched for a URI, so changed HTML under the same URI
42
+ * may never be seen. Bump the version whenever the page changes.
43
+ * v2: the card performs the MCP Apps handshake even when window.openai exists.
44
+ */
45
+ export declare const SAVED_MEMORY_URI = "ui://widget/saved-memory-v2.html";
46
+ export declare const MEMORY_CONTEXT_URI = "ui://widget/memory-context-v2.html";
41
47
  /** Where "Open in Virlow" goes. The web app has no per-memory route, so it
42
48
  * opens the app itself. */
43
49
  export declare const VIRLOW_APP_URL = "https://app.virlow.com";
@@ -87,10 +93,20 @@ export declare const CONTEXT_CARD_FACTS = 5;
87
93
  type WidgetView = 'saved' | 'context';
88
94
  /** Which tools show which card. Tools not named here have no UI. */
89
95
  export declare const TOOL_WIDGETS: Partial<Record<string, WidgetView>>;
90
- /** The tool-side `_meta` linking a tool to its card: the MCP Apps key and
91
- * ChatGPT's alias for it. add_memory's card calls delete_memory (Undo), so
92
- * it is marked as allowed to call tools. */
96
+ /** The tool-side `_meta` linking a tool to its card: the MCP Apps key, the
97
+ * flat `ui/resourceUri` spelling older MCP Apps hosts read (the ext-apps
98
+ * SDK's registerAppTool writes both), and ChatGPT's alias. Visibility is
99
+ * stated rather than left to the default: the model calls these tools and
100
+ * the card may call tools too (add_memory's Undo calls delete_memory, and
101
+ * `openai/widgetAccessible` is ChatGPT's older spelling of that). */
93
102
  export declare function widgetToolMeta(tool: string): Record<string, unknown> | undefined;
103
+ /**
104
+ * The resource-side `_meta`. Empty CSP lists are the secure default (no
105
+ * network); they are stated rather than omitted so a reviewer reads the
106
+ * decision. `openai/widgetCSP` is ChatGPT's older spelling of the same
107
+ * thing; redirect_domains lets "Open in Virlow" go straight to the app.
108
+ */
109
+ export declare function resourceMeta(view: WidgetView): Record<string, unknown>;
94
110
  /** Everything the server needs to list and serve the two resources. */
95
111
  export declare const WIDGET_RESOURCES: Array<{
96
112
  name: string;
@@ -2,12 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WIDGET_PARTS = exports.WIDGET_RESOURCES = exports.TOOL_WIDGETS = exports.CONTEXT_CARD_FACTS = exports.KIND_COLORS = exports.VIRLOW_APP_URL = exports.MEMORY_CONTEXT_URI = exports.SAVED_MEMORY_URI = exports.WIDGET_MIME_TYPE = void 0;
4
4
  exports.widgetToolMeta = widgetToolMeta;
5
+ exports.resourceMeta = resourceMeta;
5
6
  exports.readWidget = readWidget;
6
7
  exports.widgetHtml = widgetHtml;
7
8
  /** The MCP Apps resource type. ChatGPT reads it too. */
8
9
  exports.WIDGET_MIME_TYPE = 'text/html;profile=mcp-app';
9
- exports.SAVED_MEMORY_URI = 'ui://widget/saved-memory.html';
10
- exports.MEMORY_CONTEXT_URI = 'ui://widget/memory-context.html';
10
+ /**
11
+ * Versioned, because a host treats the URI as the cache key for the page:
12
+ * ChatGPT keeps what it fetched for a URI, so changed HTML under the same URI
13
+ * may never be seen. Bump the version whenever the page changes.
14
+ * v2: the card performs the MCP Apps handshake even when window.openai exists.
15
+ */
16
+ exports.SAVED_MEMORY_URI = 'ui://widget/saved-memory-v2.html';
17
+ exports.MEMORY_CONTEXT_URI = 'ui://widget/memory-context-v2.html';
11
18
  /** Where "Open in Virlow" goes. The web app has no per-memory route, so it
12
19
  * opens the app itself. */
13
20
  exports.VIRLOW_APP_URL = 'https://app.virlow.com';
@@ -43,16 +50,20 @@ exports.TOOL_WIDGETS = {
43
50
  update_memory: 'saved',
44
51
  memory_context: 'context',
45
52
  };
46
- /** The tool-side `_meta` linking a tool to its card: the MCP Apps key and
47
- * ChatGPT's alias for it. add_memory's card calls delete_memory (Undo), so
48
- * it is marked as allowed to call tools. */
53
+ /** The tool-side `_meta` linking a tool to its card: the MCP Apps key, the
54
+ * flat `ui/resourceUri` spelling older MCP Apps hosts read (the ext-apps
55
+ * SDK's registerAppTool writes both), and ChatGPT's alias. Visibility is
56
+ * stated rather than left to the default: the model calls these tools and
57
+ * the card may call tools too (add_memory's Undo calls delete_memory, and
58
+ * `openai/widgetAccessible` is ChatGPT's older spelling of that). */
49
59
  function widgetToolMeta(tool) {
50
60
  const view = exports.TOOL_WIDGETS[tool];
51
61
  if (!view)
52
62
  return undefined;
53
63
  const uri = VIEW_URI[view];
54
64
  return {
55
- ui: { resourceUri: uri },
65
+ ui: { resourceUri: uri, visibility: ['model', 'app'] },
66
+ 'ui/resourceUri': uri,
56
67
  'openai/outputTemplate': uri,
57
68
  ...(tool === 'add_memory' && { 'openai/widgetAccessible': true }),
58
69
  };
@@ -167,15 +178,20 @@ button[disabled]{opacity:.6;cursor:default}
167
178
  `;
168
179
  /**
169
180
  * The card's script. Plain ES2017 in a string, because it ships inside the
170
- * HTML rather than through the package build. It speaks to whichever host it
171
- * finds:
181
+ * HTML rather than through the package build. It speaks to both bridges at
182
+ * once, never one instead of the other:
172
183
  *
173
- * - ChatGPT injects `window.openai`: toolOutput (the structuredContent),
174
- * widgetState / setWidgetState, callTool, openExternal, theme, and an
175
- * `openai:set_globals` event when any of them change.
176
- * - Other MCP Apps hosts speak JSON-RPC over postMessage: the card sends
177
- * ui/initialize, receives ui/notifications/tool-result, and calls
178
- * tools/call and ui/open-link.
184
+ * - The MCP Apps bridge, JSON-RPC over postMessage, whenever the page is in a
185
+ * frame: the card sends ui/initialize, then ui/notifications/initialized,
186
+ * receives ui/notifications/tool-result, reports its height with
187
+ * ui/notifications/size-changed, and calls tools/call and ui/open-link.
188
+ * Every MCP Apps host needs this, ChatGPT included: it delivers the tool
189
+ * result to an mcp-app frame only after the handshake.
190
+ * - ChatGPT's `window.openai`, when present, as an extension: toolOutput
191
+ * (the structuredContent, possibly before the handshake completes),
192
+ * widgetState / setWidgetState for the Undo state, theme, the
193
+ * `openai:set_globals` event, and callTool / openExternal as the fallback
194
+ * while the standard bridge is not up.
179
195
  */
180
196
  const SCRIPT = `
181
197
  (function () {
@@ -249,17 +265,19 @@ const SCRIPT = `
249
265
  return b;
250
266
  }
251
267
 
268
+ // The standard bridge first once it is up, window.openai while it is not
269
+ // (or in a ChatGPT that never answers ui/initialize).
252
270
  function openApp() {
271
+ if (bridge && bridge.ready) { bridge.request('ui/open-link', { url: APP_URL }).catch(function () {}); return; }
253
272
  var host = openai();
254
273
  if (host && typeof host.openExternal === 'function') { host.openExternal({ href: APP_URL }); return; }
255
- if (bridge) { bridge.request('ui/open-link', { url: APP_URL }).catch(function () {}); return; }
256
274
  window.open(APP_URL, '_blank', 'noopener');
257
275
  }
258
276
 
259
277
  function callTool(name, args) {
278
+ if (bridge && bridge.ready) return bridge.request('tools/call', { name: name, arguments: args });
260
279
  var host = openai();
261
280
  if (host && typeof host.callTool === 'function') return Promise.resolve(host.callTool(name, args));
262
- if (bridge) return bridge.request('tools/call', { name: name, arguments: args });
263
281
  return Promise.reject(new Error('This host cannot run tools from a card.'));
264
282
  }
265
283
 
@@ -370,7 +388,11 @@ const SCRIPT = `
370
388
  });
371
389
  },
372
390
  notify: function (method, params) { post({ jsonrpc: '2.0', method: method, params: params || {} }); },
391
+ // Set once the host answers ui/initialize. Nothing but that request
392
+ // goes to the host before then, as the MCP Apps lifecycle requires.
393
+ ready: false,
373
394
  resized: function () {
395
+ if (!bridge.ready) return;
374
396
  var h = Math.ceil(document.documentElement.getBoundingClientRect().height);
375
397
  if (h && h !== lastHeight) { lastHeight = h; bridge.notify('ui/notifications/size-changed', { height: h }); }
376
398
  }
@@ -390,8 +412,10 @@ const SCRIPT = `
390
412
  if (params.structuredContent) { state.data = params.structuredContent; render(); }
391
413
  } else if (m.method === 'ui/notifications/host-context-changed') {
392
414
  applyTheme(params.theme);
393
- } else if (m.method === 'ui/resource-teardown' && m.id != null) {
415
+ } else if ((m.method === 'ui/resource-teardown' || m.method === 'ping') && m.id != null) {
394
416
  post({ jsonrpc: '2.0', id: m.id, result: {} });
417
+ } else if (m.id != null) {
418
+ post({ jsonrpc: '2.0', id: m.id, error: { code: -32601, message: 'Method not found' } });
395
419
  }
396
420
  });
397
421
  bridge.request('ui/initialize', {
@@ -400,14 +424,28 @@ const SCRIPT = `
400
424
  protocolVersion: '2026-01-26'
401
425
  }).then(function (result) {
402
426
  if (result && result.hostContext) applyTheme(result.hostContext.theme);
427
+ bridge.ready = true;
403
428
  bridge.notify('ui/notifications/initialized');
429
+ // The host sizes the frame from these reports alone: without one an
430
+ // inline card can stay at zero height.
431
+ bridge.resized();
432
+ if (typeof ResizeObserver === 'function') {
433
+ new ResizeObserver(function () { bridge.resized(); }).observe(document.documentElement);
434
+ }
404
435
  }).catch(function () {});
405
436
  }
406
437
 
438
+ // Both, not either. ChatGPT injects window.openai into an MCP Apps
439
+ // (text/html;profile=mcp-app) frame too, but as an extension: the tool
440
+ // result reaches the card over the bridge, and only after the card has
441
+ // sent ui/initialize. A card that saw window.openai and skipped the
442
+ // bridge never initialized, never received its data and never reported a
443
+ // height, so ChatGPT showed nothing at all.
407
444
  if (openai()) {
408
445
  window.addEventListener('openai:set_globals', fromOpenai);
409
446
  fromOpenai();
410
- } else if (window.parent && window.parent !== window) {
447
+ }
448
+ if (window.parent && window.parent !== window) {
411
449
  startBridge();
412
450
  }
413
451
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAY,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAe,KAAK,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA4B/D;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,KAAK,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iEAAiE;IACjE,MAAM,EAAE,cAAc,CAAC;IACvB;;;;;;OAMG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAC7D,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAgED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,CA2BnE;AAoTD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAgCvE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACvD,WAAW,CA06Cb;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACvD,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA+CzC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,EAAY,SAAS,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAe,KAAK,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAS1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AA6B/D;;;;;;;;GAQG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,KAAK,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,iEAAiE;IACjE,MAAM,EAAE,cAAc,CAAC;IACvB;;;;;;OAMG;IACH,oBAAoB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,kBAAkB,CAAC;IAC7D,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,SAAS,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAgED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,CA2BnE;AAoTD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,cAAc,CAgCvE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACvD,WAAW,CAi7Cb;AA2BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,kBAAkB,GAAG;IAAE,QAAQ,CAAC,EAAE,cAAc,CAAA;CAAE,GACvD,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,CA+CzC"}
package/dist/tools.js CHANGED
@@ -28,7 +28,7 @@ import { ENTITY_KINDS, entityKey, entityKinds, findEntity } from './memory-graph
28
28
  import { AttachmentsService } from './attachments.js';
29
29
  import { requireLocalAbsolutePath } from './local-paths.js';
30
30
  import { toolConfig } from './tool-annotations.js';
31
- import { CONTEXT_CARD_FACTS, WIDGET_MIME_TYPE, WIDGET_RESOURCES, readWidget, } from './widgets.js';
31
+ import { CONTEXT_CARD_FACTS, WIDGET_MIME_TYPE, WIDGET_RESOURCES, resourceMeta, readWidget, } from './widgets.js';
32
32
  import { INLINE_MAX_BYTES, PATH_MAX_BYTES, checkSize, decodeBase64Strict, formatSize, renderAttachment, } from './attachment-format.js';
33
33
  // ---------- small result helpers ----------
34
34
  function textResult(text) {
@@ -588,7 +588,14 @@ export function buildServer(opts) {
588
588
  // memory tools because only they point at them. See widgets.ts for why
589
589
  // every deployment gets them, not only the hosted one.
590
590
  for (const widget of WIDGET_RESOURCES) {
591
- server.registerResource(widget.name, widget.uri, { title: widget.title, description: widget.description, mimeType: WIDGET_MIME_TYPE }, async () => readWidget(widget.view));
591
+ server.registerResource(widget.name, widget.uri, {
592
+ title: widget.title,
593
+ description: widget.description,
594
+ mimeType: WIDGET_MIME_TYPE,
595
+ // The same `_meta` as the read result, so a host can see the CSP
596
+ // and border hint from resources/list before it fetches the page.
597
+ _meta: resourceMeta(widget.view),
598
+ }, async () => readWidget(widget.view));
592
599
  }
593
600
  // ---------- memories ----------
594
601
  server.registerTool('add_memory', {
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/widgets.d.ts CHANGED
@@ -36,8 +36,14 @@
36
36
  import type { EntityKind } from './memory-graph.js';
37
37
  /** The MCP Apps resource type. ChatGPT reads it too. */
38
38
  export declare const WIDGET_MIME_TYPE = "text/html;profile=mcp-app";
39
- export declare const SAVED_MEMORY_URI = "ui://widget/saved-memory.html";
40
- export declare const MEMORY_CONTEXT_URI = "ui://widget/memory-context.html";
39
+ /**
40
+ * Versioned, because a host treats the URI as the cache key for the page:
41
+ * ChatGPT keeps what it fetched for a URI, so changed HTML under the same URI
42
+ * may never be seen. Bump the version whenever the page changes.
43
+ * v2: the card performs the MCP Apps handshake even when window.openai exists.
44
+ */
45
+ export declare const SAVED_MEMORY_URI = "ui://widget/saved-memory-v2.html";
46
+ export declare const MEMORY_CONTEXT_URI = "ui://widget/memory-context-v2.html";
41
47
  /** Where "Open in Virlow" goes. The web app has no per-memory route, so it
42
48
  * opens the app itself. */
43
49
  export declare const VIRLOW_APP_URL = "https://app.virlow.com";
@@ -87,10 +93,20 @@ export declare const CONTEXT_CARD_FACTS = 5;
87
93
  type WidgetView = 'saved' | 'context';
88
94
  /** Which tools show which card. Tools not named here have no UI. */
89
95
  export declare const TOOL_WIDGETS: Partial<Record<string, WidgetView>>;
90
- /** The tool-side `_meta` linking a tool to its card: the MCP Apps key and
91
- * ChatGPT's alias for it. add_memory's card calls delete_memory (Undo), so
92
- * it is marked as allowed to call tools. */
96
+ /** The tool-side `_meta` linking a tool to its card: the MCP Apps key, the
97
+ * flat `ui/resourceUri` spelling older MCP Apps hosts read (the ext-apps
98
+ * SDK's registerAppTool writes both), and ChatGPT's alias. Visibility is
99
+ * stated rather than left to the default: the model calls these tools and
100
+ * the card may call tools too (add_memory's Undo calls delete_memory, and
101
+ * `openai/widgetAccessible` is ChatGPT's older spelling of that). */
93
102
  export declare function widgetToolMeta(tool: string): Record<string, unknown> | undefined;
103
+ /**
104
+ * The resource-side `_meta`. Empty CSP lists are the secure default (no
105
+ * network); they are stated rather than omitted so a reviewer reads the
106
+ * decision. `openai/widgetCSP` is ChatGPT's older spelling of the same
107
+ * thing; redirect_domains lets "Open in Virlow" go straight to the app.
108
+ */
109
+ export declare function resourceMeta(view: WidgetView): Record<string, unknown>;
94
110
  /** Everything the server needs to list and serve the two resources. */
95
111
  export declare const WIDGET_RESOURCES: Array<{
96
112
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAE5D,eAAO,MAAM,gBAAgB,kCAAkC,CAAC;AAChE,eAAO,MAAM,kBAAkB,oCAAoC,CAAC;AAEpE;4BAC4B;AAC5B,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAc3E,CAAC;AAIF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB;+EAC2E;IAC3E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,yDAAyD;IACzD,QAAQ,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAIpC,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAOtC,oEAAoE;AACpE,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAI5D,CAAC;AAEF;;6CAE6C;AAC7C,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAShF;AA2BD,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;CAClB,CAeA,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU;;;;;;;EAK1C;AAgUD,mCAAmC;AACnC,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAQnD;AAED;oCACoC;AACpC,eAAO,MAAM,YAAY;;;CAA+B,CAAC"}
1
+ {"version":3,"file":"widgets.d.ts","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,8BAA8B,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,qCAAqC,CAAC;AACnE,eAAO,MAAM,kBAAkB,uCAAuC,CAAC;AAEvE;4BAC4B;AAC5B,eAAO,MAAM,cAAc,2BAA2B,CAAC;AAEvD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAc3E,CAAC;AAIF,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,yDAAyD;AACzD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB;+EAC2E;IAC3E,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,2CAA2C;AAC3C,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAC;IAChB,mDAAmD;IACnD,KAAK,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,yDAAyD;IACzD,QAAQ,EAAE,KAAK,CAAC,UAAU,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAIpC,KAAK,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;AAOtC,oEAAoE;AACpE,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAI5D,CAAC;AAEF;;;;;sEAKsE;AACtE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAUhF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBtE;AAED,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,UAAU,CAAC;CAClB,CAeA,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU;;;;;;;EAK1C;AA2VD,mCAAmC;AACnC,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAQnD;AAED;oCACoC;AACpC,eAAO,MAAM,YAAY;;;CAA+B,CAAC"}
package/dist/widgets.js CHANGED
@@ -1,7 +1,13 @@
1
1
  /** The MCP Apps resource type. ChatGPT reads it too. */
2
2
  export const WIDGET_MIME_TYPE = 'text/html;profile=mcp-app';
3
- export const SAVED_MEMORY_URI = 'ui://widget/saved-memory.html';
4
- export const MEMORY_CONTEXT_URI = 'ui://widget/memory-context.html';
3
+ /**
4
+ * Versioned, because a host treats the URI as the cache key for the page:
5
+ * ChatGPT keeps what it fetched for a URI, so changed HTML under the same URI
6
+ * may never be seen. Bump the version whenever the page changes.
7
+ * v2: the card performs the MCP Apps handshake even when window.openai exists.
8
+ */
9
+ export const SAVED_MEMORY_URI = 'ui://widget/saved-memory-v2.html';
10
+ export const MEMORY_CONTEXT_URI = 'ui://widget/memory-context-v2.html';
5
11
  /** Where "Open in Virlow" goes. The web app has no per-memory route, so it
6
12
  * opens the app itself. */
7
13
  export const VIRLOW_APP_URL = 'https://app.virlow.com';
@@ -37,16 +43,20 @@ export const TOOL_WIDGETS = {
37
43
  update_memory: 'saved',
38
44
  memory_context: 'context',
39
45
  };
40
- /** The tool-side `_meta` linking a tool to its card: the MCP Apps key and
41
- * ChatGPT's alias for it. add_memory's card calls delete_memory (Undo), so
42
- * it is marked as allowed to call tools. */
46
+ /** The tool-side `_meta` linking a tool to its card: the MCP Apps key, the
47
+ * flat `ui/resourceUri` spelling older MCP Apps hosts read (the ext-apps
48
+ * SDK's registerAppTool writes both), and ChatGPT's alias. Visibility is
49
+ * stated rather than left to the default: the model calls these tools and
50
+ * the card may call tools too (add_memory's Undo calls delete_memory, and
51
+ * `openai/widgetAccessible` is ChatGPT's older spelling of that). */
43
52
  export function widgetToolMeta(tool) {
44
53
  const view = TOOL_WIDGETS[tool];
45
54
  if (!view)
46
55
  return undefined;
47
56
  const uri = VIEW_URI[view];
48
57
  return {
49
- ui: { resourceUri: uri },
58
+ ui: { resourceUri: uri, visibility: ['model', 'app'] },
59
+ 'ui/resourceUri': uri,
50
60
  'openai/outputTemplate': uri,
51
61
  ...(tool === 'add_memory' && { 'openai/widgetAccessible': true }),
52
62
  };
@@ -57,7 +67,7 @@ export function widgetToolMeta(tool) {
57
67
  * decision. `openai/widgetCSP` is ChatGPT's older spelling of the same
58
68
  * thing; redirect_domains lets "Open in Virlow" go straight to the app.
59
69
  */
60
- function resourceMeta(view) {
70
+ export function resourceMeta(view) {
61
71
  return {
62
72
  ui: {
63
73
  prefersBorder: true,
@@ -161,15 +171,20 @@ button[disabled]{opacity:.6;cursor:default}
161
171
  `;
162
172
  /**
163
173
  * The card's script. Plain ES2017 in a string, because it ships inside the
164
- * HTML rather than through the package build. It speaks to whichever host it
165
- * finds:
174
+ * HTML rather than through the package build. It speaks to both bridges at
175
+ * once, never one instead of the other:
166
176
  *
167
- * - ChatGPT injects `window.openai`: toolOutput (the structuredContent),
168
- * widgetState / setWidgetState, callTool, openExternal, theme, and an
169
- * `openai:set_globals` event when any of them change.
170
- * - Other MCP Apps hosts speak JSON-RPC over postMessage: the card sends
171
- * ui/initialize, receives ui/notifications/tool-result, and calls
172
- * tools/call and ui/open-link.
177
+ * - The MCP Apps bridge, JSON-RPC over postMessage, whenever the page is in a
178
+ * frame: the card sends ui/initialize, then ui/notifications/initialized,
179
+ * receives ui/notifications/tool-result, reports its height with
180
+ * ui/notifications/size-changed, and calls tools/call and ui/open-link.
181
+ * Every MCP Apps host needs this, ChatGPT included: it delivers the tool
182
+ * result to an mcp-app frame only after the handshake.
183
+ * - ChatGPT's `window.openai`, when present, as an extension: toolOutput
184
+ * (the structuredContent, possibly before the handshake completes),
185
+ * widgetState / setWidgetState for the Undo state, theme, the
186
+ * `openai:set_globals` event, and callTool / openExternal as the fallback
187
+ * while the standard bridge is not up.
173
188
  */
174
189
  const SCRIPT = `
175
190
  (function () {
@@ -243,17 +258,19 @@ const SCRIPT = `
243
258
  return b;
244
259
  }
245
260
 
261
+ // The standard bridge first once it is up, window.openai while it is not
262
+ // (or in a ChatGPT that never answers ui/initialize).
246
263
  function openApp() {
264
+ if (bridge && bridge.ready) { bridge.request('ui/open-link', { url: APP_URL }).catch(function () {}); return; }
247
265
  var host = openai();
248
266
  if (host && typeof host.openExternal === 'function') { host.openExternal({ href: APP_URL }); return; }
249
- if (bridge) { bridge.request('ui/open-link', { url: APP_URL }).catch(function () {}); return; }
250
267
  window.open(APP_URL, '_blank', 'noopener');
251
268
  }
252
269
 
253
270
  function callTool(name, args) {
271
+ if (bridge && bridge.ready) return bridge.request('tools/call', { name: name, arguments: args });
254
272
  var host = openai();
255
273
  if (host && typeof host.callTool === 'function') return Promise.resolve(host.callTool(name, args));
256
- if (bridge) return bridge.request('tools/call', { name: name, arguments: args });
257
274
  return Promise.reject(new Error('This host cannot run tools from a card.'));
258
275
  }
259
276
 
@@ -364,7 +381,11 @@ const SCRIPT = `
364
381
  });
365
382
  },
366
383
  notify: function (method, params) { post({ jsonrpc: '2.0', method: method, params: params || {} }); },
384
+ // Set once the host answers ui/initialize. Nothing but that request
385
+ // goes to the host before then, as the MCP Apps lifecycle requires.
386
+ ready: false,
367
387
  resized: function () {
388
+ if (!bridge.ready) return;
368
389
  var h = Math.ceil(document.documentElement.getBoundingClientRect().height);
369
390
  if (h && h !== lastHeight) { lastHeight = h; bridge.notify('ui/notifications/size-changed', { height: h }); }
370
391
  }
@@ -384,8 +405,10 @@ const SCRIPT = `
384
405
  if (params.structuredContent) { state.data = params.structuredContent; render(); }
385
406
  } else if (m.method === 'ui/notifications/host-context-changed') {
386
407
  applyTheme(params.theme);
387
- } else if (m.method === 'ui/resource-teardown' && m.id != null) {
408
+ } else if ((m.method === 'ui/resource-teardown' || m.method === 'ping') && m.id != null) {
388
409
  post({ jsonrpc: '2.0', id: m.id, result: {} });
410
+ } else if (m.id != null) {
411
+ post({ jsonrpc: '2.0', id: m.id, error: { code: -32601, message: 'Method not found' } });
389
412
  }
390
413
  });
391
414
  bridge.request('ui/initialize', {
@@ -394,14 +417,28 @@ const SCRIPT = `
394
417
  protocolVersion: '2026-01-26'
395
418
  }).then(function (result) {
396
419
  if (result && result.hostContext) applyTheme(result.hostContext.theme);
420
+ bridge.ready = true;
397
421
  bridge.notify('ui/notifications/initialized');
422
+ // The host sizes the frame from these reports alone: without one an
423
+ // inline card can stay at zero height.
424
+ bridge.resized();
425
+ if (typeof ResizeObserver === 'function') {
426
+ new ResizeObserver(function () { bridge.resized(); }).observe(document.documentElement);
427
+ }
398
428
  }).catch(function () {});
399
429
  }
400
430
 
431
+ // Both, not either. ChatGPT injects window.openai into an MCP Apps
432
+ // (text/html;profile=mcp-app) frame too, but as an extension: the tool
433
+ // result reaches the card over the bridge, and only after the card has
434
+ // sent ui/initialize. A card that saw window.openai and skipped the
435
+ // bridge never initialized, never received its data and never reported a
436
+ // height, so ChatGPT showed nothing at all.
401
437
  if (openai()) {
402
438
  window.addEventListener('openai:set_globals', fromOpenai);
403
439
  fromOpenai();
404
- } else if (window.parent && window.parent !== window) {
440
+ }
441
+ if (window.parent && window.parent !== window) {
405
442
  startBridge();
406
443
  }
407
444
  })();
@@ -1 +1 @@
1
- {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"widgets.js","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@batalabs/virlow-mcp-core",
3
- "version": "3.85.0",
3
+ "version": "3.86.0",
4
4
  "type": "module",
5
5
  "description": "Virlow MCP connector core: encrypted note and memory access, folder exposure, and the memories opt-in. Shared by the local virlow-mcp CLI and the hosted connector.",
6
6
  "license": "UNLICENSED",
@@ -60,8 +60,8 @@
60
60
  "@modelcontextprotocol/sdk": "^1.12.0",
61
61
  "yaml": ">=2.8.3 <3",
62
62
  "zod": "^3.24.0",
63
- "@batalabs/virlow-crypto": "3.85.0",
64
- "@batalabs/virlow-memory": "3.85.0"
63
+ "@batalabs/virlow-memory": "3.86.0",
64
+ "@batalabs/virlow-crypto": "3.86.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/node": "^22.10.0",