@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.
- package/dist/cjs/widgets.d.ts +21 -5
- package/dist/cjs/widgets.js +56 -18
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +9 -2
- package/dist/tools.js.map +1 -1
- package/dist/widgets.d.ts +21 -5
- package/dist/widgets.d.ts.map +1 -1
- package/dist/widgets.js +56 -19
- package/dist/widgets.js.map +1 -1
- package/package.json +3 -3
package/dist/cjs/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
|
-
|
|
40
|
-
|
|
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
|
|
91
|
-
*
|
|
92
|
-
*
|
|
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;
|
package/dist/cjs/widgets.js
CHANGED
|
@@ -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
|
-
|
|
10
|
-
|
|
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
|
|
47
|
-
*
|
|
48
|
-
*
|
|
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
|
|
171
|
-
*
|
|
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
|
-
* -
|
|
174
|
-
*
|
|
175
|
-
*
|
|
176
|
-
*
|
|
177
|
-
*
|
|
178
|
-
*
|
|
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
|
-
}
|
|
447
|
+
}
|
|
448
|
+
if (window.parent && window.parent !== window) {
|
|
411
449
|
startBridge();
|
|
412
450
|
}
|
|
413
451
|
})();
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -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;
|
|
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, {
|
|
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
|
-
|
|
40
|
-
|
|
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
|
|
91
|
-
*
|
|
92
|
-
*
|
|
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;
|
package/dist/widgets.d.ts.map
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
4
|
-
|
|
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
|
|
41
|
-
*
|
|
42
|
-
*
|
|
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
|
|
165
|
-
*
|
|
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
|
-
* -
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
*
|
|
172
|
-
*
|
|
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
|
-
}
|
|
440
|
+
}
|
|
441
|
+
if (window.parent && window.parent !== window) {
|
|
405
442
|
startBridge();
|
|
406
443
|
}
|
|
407
444
|
})();
|
package/dist/widgets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgets.js","sourceRoot":"","sources":["../src/widgets.ts"],"names":[],"mappings":"AAqCA,wDAAwD;AACxD,MAAM,CAAC,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG
|
|
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.
|
|
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-
|
|
64
|
-
"@batalabs/virlow-
|
|
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",
|