@ggui-ai/mcp-server 0.21.0 → 0.22.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.
|
@@ -282,6 +282,14 @@ export interface SelfContainedShellInputs {
|
|
|
282
282
|
* Providers.
|
|
283
283
|
*/
|
|
284
284
|
readonly contextSlots?: McpAppAiGguiRenderMeta["contextSlots"];
|
|
285
|
+
/**
|
|
286
|
+
* The active render's action contract, mirrored from
|
|
287
|
+
* {@link McpAppAiGguiRenderMeta.actionSpec} (ggui#1178). Symmetric
|
|
288
|
+
* forward so `/r/<shortCode>` and `resources/read` iframes see the same
|
|
289
|
+
* contract the tool-result slice carries. Absent ⇒ no action contract
|
|
290
|
+
* on the slice.
|
|
291
|
+
*/
|
|
292
|
+
readonly actionSpec?: McpAppAiGguiRenderMeta["actionSpec"];
|
|
285
293
|
/**
|
|
286
294
|
* Permissions-Policy directive list derived from the active render's
|
|
287
295
|
* `clientCapabilities.gadgets[*].permission`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-apps-outbound.d.ts","sourceRoot":"","sources":["../src/mcp-apps-outbound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEhB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAWL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAmBjF,OAAO,EAeL,KAAK,sBAAsB,EAE5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAG3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-apps-outbound.d.ts","sourceRoot":"","sources":["../src/mcp-apps-outbound.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAEhB,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAWL,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EACpB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAmBjF,OAAO,EAeL,KAAK,sBAAsB,EAE5B,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAG3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAwa1C,eAAO,MAAM,sBAAsB,QAG6B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,6BAA6B,EAAE,MAEtB,CAAC;AAwCvB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GACxC,MAAM,CAiBR;AAqID;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAKR;AAED,qEAAqE;AACrE,MAAM,WAAW,uBAAuB;IACtC,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,sBAAsB,GAC9B,MAAM,GACN,IAAI,GACJ,CAAC,CAAC,GAAG,EAAE,uBAAuB,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAElE;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,sBAAsB,GAAG,SAAS,EAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,MAAM,CAaR;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,SAAS,EACjB,SAAS,GAAE,MAA+B,EAC1C,aAAa,CAAC,EAAE,MAAM;AACtB;;;;;;;;;;;GAWG;AACH,UAAU,CAAC,EAAE,MAAM;AACnB;;;;;;;;;;;;;GAaG;AACH,gBAAgB,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE;AAClD;;;;;;GAMG;AACH,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC9C,GACA,MAAM,CA2GR;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAMpE;AAyCD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;;;;OAQG;IACH,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACjD;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC/D;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3D;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;;;;;;OAQG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACrD;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC/D;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IACjE;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACzD;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;;OAQG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,CAAC;IAC/D;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACjD;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3D;;;;;;;;;OASG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;CACpD;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAkI9E;AA4HD;;;;GAIG;AACH,MAAM,WAAW,iCAAiC;IAChD;yBACqB;IACrB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC;IACvC;;;;;;;OAOG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACpD,sEAAsE;IACtE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,0BAA0B,EAAE,SAAS,CAAC;IAClE;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;KACvB,KAAK,MAAM,GAAG,SAAS,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,gGAAgG;IAChG,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;IACzD;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,0BAA0B,EAAE,gBAAgB,CAAC;IAChF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,0BAA0B,EAAE,mBAAmB,CAAC;IACtF;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IACrD;;;;;;;;;;;;;;;OAeG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC;IAChC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CACrB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,KACV;QACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;IACvD;;;;OAIG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AA4DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,SAAS,EACjB,IAAI,EAAE,iCAAiC,GACtC,IAAI,CAwiCN;AAiGD;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,EACjB,IAAI,GAAE;IACJ,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IACjD;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,iCAAiC,CAAC;IAC3D;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5D;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,cAAc,GAAG,SAAS,CAAC;CACnD,GACL;IAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAyBvC"}
|
|
@@ -189,13 +189,43 @@ function showFailure(summary,detail,retry){
|
|
|
189
189
|
function postNotification(method,params){
|
|
190
190
|
try{window.parent.postMessage({jsonrpc:'2.0',method:method,params:params||{}},'*');}catch(e){}
|
|
191
191
|
}
|
|
192
|
-
function postRpc(method,params){
|
|
192
|
+
function postRpc(method,params,timeoutMs){
|
|
193
193
|
return new Promise(function(res,rej){
|
|
194
194
|
var id=rpcId++;pending[id]={res:res,rej:rej};
|
|
195
|
+
// Optional bound (#1302): a host that never answers must not leave a
|
|
196
|
+
// wait with no end. The late answer, if any, finds no pending entry.
|
|
197
|
+
if(timeoutMs){
|
|
198
|
+
setTimeout(function(){
|
|
199
|
+
if(!pending[id])return;
|
|
200
|
+
delete pending[id];
|
|
201
|
+
rej(new Error('no answer to '+method+' within '+(timeoutMs/1000)+'s'));
|
|
202
|
+
},timeoutMs);
|
|
203
|
+
}
|
|
195
204
|
try{window.parent.postMessage({jsonrpc:'2.0',id:id,method:method,params:params||{}},'*');}
|
|
196
205
|
catch(e){delete pending[id];rej(e);}
|
|
197
206
|
});
|
|
198
207
|
}
|
|
208
|
+
// The tool-result wait is BOUNDED (#1302), with the same bound and the same
|
|
209
|
+
// reason the hosted runtime uses (iframe-runtime POSTMESSAGE_BOOT_TIMEOUT_MS,
|
|
210
|
+
// MISSING_META_GGUI_BOOTSTRAP), so the two shells report one thing for a host
|
|
211
|
+
// that never delivers. It is armed after ui/initialize and again after a door
|
|
212
|
+
// miss, and disarmed by any tool result that carries an envelope or a locator.
|
|
213
|
+
var TOOL_RESULT_WAIT_MS=30000;
|
|
214
|
+
var READ_DOOR_WAIT_MS=30000;
|
|
215
|
+
var toolResultTimer=null;
|
|
216
|
+
function disarmToolResultWait(){
|
|
217
|
+
if(toolResultTimer!==null){clearTimeout(toolResultTimer);toolResultTimer=null;}
|
|
218
|
+
}
|
|
219
|
+
function armToolResultWait(cause){
|
|
220
|
+
disarmToolResultWait();
|
|
221
|
+
setOverlay('Waiting for tool result…');
|
|
222
|
+
toolResultTimer=setTimeout(function(){
|
|
223
|
+
toolResultTimer=null;
|
|
224
|
+
var msg='MISSING_META_GGUI_BOOTSTRAP: no tool result carrying a usable ai.ggui/render envelope arrived within '+(TOOL_RESULT_WAIT_MS/1000)+'s'+(cause?' (after '+cause+')':'')+'.';
|
|
225
|
+
showFailure('This view did not receive its content',msg,startInit);
|
|
226
|
+
postBootstrapFailed('MISSING_META_GGUI_BOOTSTRAP',msg);
|
|
227
|
+
},TOOL_RESULT_WAIT_MS);
|
|
228
|
+
}
|
|
199
229
|
function postBootstrapFailed(reason,message){
|
|
200
230
|
// Surface every shell-layer bootstrap-failure path as a typed
|
|
201
231
|
// RendererBootFailedMessage envelope so hosts pinning the C9
|
|
@@ -288,7 +318,7 @@ window.addEventListener('message',function(ev){
|
|
|
288
318
|
// Spec-compliant hosts: m.params IS the CallToolResult; _meta is
|
|
289
319
|
// at the top level.
|
|
290
320
|
var specMeta=readMetaFromCallToolResult(m.params);
|
|
291
|
-
if(specMeta){mountFromMeta(specMeta);return;}
|
|
321
|
+
if(specMeta){disarmToolResultWait();mountFromMeta(specMeta);return;}
|
|
292
322
|
// Read-plane door (ggui#537). A server running the read-plane-only
|
|
293
323
|
// posture publishes only the view's IDENTITY on the result -- the
|
|
294
324
|
// ui:// locator on structuredContent.resourceUri and the spec
|
|
@@ -301,7 +331,7 @@ window.addEventListener('message',function(ev){
|
|
|
301
331
|
// removed the /r/<shortCode> HTTP fallback with the bearer-by-
|
|
302
332
|
// obscurity model; this door is the spec-canonical replacement.
|
|
303
333
|
var locator=readLocatorFromCallToolResult(m.params);
|
|
304
|
-
if(locator){mountFromLocator(locator);return;}
|
|
334
|
+
if(locator){disarmToolResultWait();mountFromLocator(locator);return;}
|
|
305
335
|
}
|
|
306
336
|
});
|
|
307
337
|
function readLocatorFromCallToolResult(params){
|
|
@@ -332,11 +362,12 @@ async function mountFromLocator(uri){
|
|
|
332
362
|
if(mounted)return;
|
|
333
363
|
setOverlay('Resolving view…');
|
|
334
364
|
var res;
|
|
335
|
-
try{res=await postRpc('resources/read',{uri:uri});}
|
|
365
|
+
try{res=await postRpc('resources/read',{uri:uri},READ_DOOR_WAIT_MS);}
|
|
336
366
|
catch(e){
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
367
|
+
// A door miss (rejected, or no answer within the bound) is not a
|
|
368
|
+
// malformed bootstrap: fall through to the bounded tool-result wait, as
|
|
369
|
+
// the hosted runtime does, and keep the cause for the failure it may end in.
|
|
370
|
+
armToolResultWait('READ_DOOR_FAILED: the host could not read '+uri+' -- '+(e&&e.message||JSON.stringify(e)));
|
|
340
371
|
return;
|
|
341
372
|
}
|
|
342
373
|
var c=res&&res.contents&&res.contents[0];
|
|
@@ -355,7 +386,9 @@ async function mountFromLocator(uri){
|
|
|
355
386
|
function startInit(){
|
|
356
387
|
setOverlay('Initializing…');
|
|
357
388
|
var initTimer=setTimeout(function(){
|
|
358
|
-
|
|
389
|
+
var imsg='INIT_TIMEOUT: no response to ui/initialize within 3s.';
|
|
390
|
+
showFailure('This view did not hear back from its host',imsg,startInit);
|
|
391
|
+
postBootstrapFailed('UI_INITIALIZE_FAILED',imsg);
|
|
359
392
|
},3000);
|
|
360
393
|
postRpc('ui/initialize',{
|
|
361
394
|
appCapabilities:{},
|
|
@@ -368,10 +401,12 @@ function startInit(){
|
|
|
368
401
|
// the slice envelope in _meta — the spec-canonical delivery channel.
|
|
369
402
|
// The ui/initialize result itself carries no slice meta (the
|
|
370
403
|
// McpUiInitializeResult schema defines no such field).
|
|
371
|
-
|
|
404
|
+
armToolResultWait(null);
|
|
372
405
|
}).catch(function(e){
|
|
373
406
|
clearTimeout(initTimer);
|
|
374
|
-
|
|
407
|
+
var fmsg='ui/initialize failed: '+(e&&e.message||JSON.stringify(e));
|
|
408
|
+
showFailure('This view could not connect to its host',fmsg,startInit);
|
|
409
|
+
postBootstrapFailed('UI_INITIALIZE_FAILED',fmsg);
|
|
375
410
|
});
|
|
376
411
|
}
|
|
377
412
|
startInit();
|
|
@@ -959,6 +994,7 @@ export function buildSelfContainedShell(opts) {
|
|
|
959
994
|
...(opts.contextSlots !== undefined && opts.contextSlots.length > 0
|
|
960
995
|
? { contextSlots: opts.contextSlots }
|
|
961
996
|
: {}),
|
|
997
|
+
...(opts.actionSpec !== undefined ? { actionSpec: opts.actionSpec } : {}),
|
|
962
998
|
// Content-addressable contract-validator bundle. Iframe-runtime
|
|
963
999
|
// fetches `validatorsUrl` + dynamic-imports to resolve
|
|
964
1000
|
// validators. Omitted when the contract declares no
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ggui-ai/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.22.0",
|
|
4
4
|
"description": "Self-hosted MCP server for the ggui protocol. An HTTP/MCP binding layer over @ggui-ai/mcp-server-handlers and the reference adapters from @ggui-ai/mcp-server-core — run it via `ggui serve`.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ggui",
|
|
@@ -32,17 +32,17 @@
|
|
|
32
32
|
"resend": "^6.12.2",
|
|
33
33
|
"ws": "^8.20.1",
|
|
34
34
|
"zod": "^4.3.6",
|
|
35
|
-
"@ggui-ai/console": "0.
|
|
36
|
-
"@ggui-ai/
|
|
37
|
-
"@ggui-ai/mcp-server-core": "0.
|
|
38
|
-
"@ggui-ai/mcp-server-handlers": "0.
|
|
39
|
-
"@ggui-ai/
|
|
40
|
-
"@ggui-ai/negotiator": "0.
|
|
41
|
-
"@ggui-ai/preview-a2ui": "0.
|
|
42
|
-
"@ggui-ai/project-config": "0.
|
|
43
|
-
"@ggui-ai/protocol": "0.
|
|
44
|
-
"@ggui-ai/ui-gen": "0.
|
|
45
|
-
"@ggui-ai/ui-registry": "0.
|
|
35
|
+
"@ggui-ai/console": "0.22.0",
|
|
36
|
+
"@ggui-ai/iframe-runtime": "0.22.0",
|
|
37
|
+
"@ggui-ai/mcp-server-core": "0.22.0",
|
|
38
|
+
"@ggui-ai/mcp-server-handlers": "0.22.0",
|
|
39
|
+
"@ggui-ai/design": "0.22.0",
|
|
40
|
+
"@ggui-ai/negotiator": "0.22.0",
|
|
41
|
+
"@ggui-ai/preview-a2ui": "0.22.0",
|
|
42
|
+
"@ggui-ai/project-config": "0.22.0",
|
|
43
|
+
"@ggui-ai/protocol": "0.22.0",
|
|
44
|
+
"@ggui-ai/ui-gen": "0.22.0",
|
|
45
|
+
"@ggui-ai/ui-registry": "0.22.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/express": "^5.0.0",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"@types/ws": "^8.5.10",
|
|
52
52
|
"typescript": "^5.0.0",
|
|
53
53
|
"vitest": "^3.2.6",
|
|
54
|
-
"@ggui-ai/protocol-conformance": "0.
|
|
54
|
+
"@ggui-ai/protocol-conformance": "0.22.0"
|
|
55
55
|
},
|
|
56
56
|
"repository": {
|
|
57
57
|
"type": "git",
|