@ggui-ai/protocol 0.14.0 → 0.15.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/envelope-adapters.d.ts +1 -14
- package/dist/envelope-adapters.d.ts.map +1 -1
- package/dist/envelope-adapters.js +17 -1
- package/dist/envelopes/render-refusal.d.ts +49 -0
- package/dist/envelopes/render-refusal.d.ts.map +1 -0
- package/dist/envelopes/render-refusal.js +12 -0
- package/dist/gadgets/resolve-app-gadgets.d.ts +1 -1
- package/dist/gadgets/stdlib-gadgets.d.ts +2 -2
- package/dist/gadgets/stdlib-gadgets.js +1 -1
- package/dist/index.d.ts +67 -63
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/integrations/mcp-apps.d.ts +2 -2
- package/dist/schemas/blueprint.d.ts +2 -2
- package/dist/schemas/data-contract.d.ts +10 -30
- package/dist/schemas/data-contract.d.ts.map +1 -1
- package/dist/schemas/data-contract.js +4 -27
- package/dist/schemas/interface-context.d.ts +44 -0
- package/dist/schemas/interface-context.d.ts.map +1 -0
- package/dist/schemas/interface-context.js +22 -0
- package/dist/schemas/invoke.d.ts +3 -3
- package/dist/schemas/invoke.js +1 -1
- package/dist/schemas/mcp.d.ts +203 -94
- package/dist/schemas/mcp.d.ts.map +1 -1
- package/dist/schemas/mcp.js +110 -32
- package/dist/schemas/public-env-key.d.ts +26 -0
- package/dist/schemas/public-env-key.d.ts.map +1 -0
- package/dist/schemas/public-env-key.js +25 -0
- package/dist/schemas/render-input-envelope.d.ts +2 -2
- package/dist/schemas/runtime-telemetry-limits.d.ts +11 -0
- package/dist/schemas/runtime-telemetry-limits.d.ts.map +1 -0
- package/dist/schemas/runtime-telemetry-limits.js +10 -0
- package/dist/transport/websocket.d.ts +5 -5
- package/dist/types/auth.d.ts +1 -1
- package/dist/types/contract-inference.d.ts +1 -1
- package/dist/types/events.d.ts +1 -1
- package/dist/types/ggui-session-event.d.ts +2 -2
- package/dist/types/host-context.d.ts +3 -3
- package/dist/types/interface-context.d.ts +1 -1
- package/dist/types/invoke.d.ts +1 -1
- package/dist/types/lifecycle.d.ts +1 -1
- package/dist/types/live-channel.d.ts +2 -2
- package/dist/types/mcp.d.ts +20 -63
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/mcp.js +7 -0
- package/dist/types/refusal-codes.d.ts +23 -2
- package/dist/types/refusal-codes.d.ts.map +1 -1
- package/dist/types/refusal-codes.js +26 -9
- package/dist/types/render.d.ts +9 -8
- package/dist/types/render.d.ts.map +1 -1
- package/dist/types/ui-generator.d.ts +1 -1
- package/dist/validation/ajv-runtime.d.ts +2 -2
- package/dist/validation/contract-validator.d.ts +6 -6
- package/dist/validation/cross-references.d.ts +2 -2
- package/dist/validation/hygiene-rules.d.ts +1 -1
- package/dist/validation/name-invariants.d.ts +2 -2
- package/dist/validation/reserved-channels.d.ts +1 -1
- package/dist/validation/schema-compat-invariants.d.ts +2 -2
- package/dist/validation/schema-meta-validation.d.ts +1 -1
- package/dist/version.d.ts +132 -10
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +132 -10
- package/dist/wire.d.ts +45 -0
- package/dist/wire.d.ts.map +1 -0
- package/dist/wire.js +44 -0
- package/package.json +7 -1
package/dist/schemas/mcp.d.ts
CHANGED
|
@@ -24,42 +24,6 @@
|
|
|
24
24
|
* its handler imports {@link renderInputShape}.
|
|
25
25
|
*/
|
|
26
26
|
import { z } from 'zod';
|
|
27
|
-
export declare const viewportSchema: z.ZodObject<{
|
|
28
|
-
width: z.ZodNumber;
|
|
29
|
-
height: z.ZodNumber;
|
|
30
|
-
}, z.core.$strip>;
|
|
31
|
-
export declare const interfaceContextSchema: z.ZodObject<{
|
|
32
|
-
viewport: z.ZodObject<{
|
|
33
|
-
width: z.ZodNumber;
|
|
34
|
-
height: z.ZodNumber;
|
|
35
|
-
}, z.core.$strip>;
|
|
36
|
-
platform: z.ZodEnum<{
|
|
37
|
-
web: "web";
|
|
38
|
-
mobile: "mobile";
|
|
39
|
-
desktop: "desktop";
|
|
40
|
-
}>;
|
|
41
|
-
deviceType: z.ZodEnum<{
|
|
42
|
-
desktop: "desktop";
|
|
43
|
-
phone: "phone";
|
|
44
|
-
tablet: "tablet";
|
|
45
|
-
}>;
|
|
46
|
-
orientation: z.ZodEnum<{
|
|
47
|
-
portrait: "portrait";
|
|
48
|
-
landscape: "landscape";
|
|
49
|
-
}>;
|
|
50
|
-
devicePixelRatio: z.ZodOptional<z.ZodNumber>;
|
|
51
|
-
touchPrimary: z.ZodOptional<z.ZodBoolean>;
|
|
52
|
-
shellType: z.ZodOptional<z.ZodEnum<{
|
|
53
|
-
chat: "chat";
|
|
54
|
-
fullscreen: "fullscreen";
|
|
55
|
-
spatial: "spatial";
|
|
56
|
-
}>>;
|
|
57
|
-
colorScheme: z.ZodOptional<z.ZodEnum<{
|
|
58
|
-
light: "light";
|
|
59
|
-
dark: "dark";
|
|
60
|
-
}>>;
|
|
61
|
-
reducedMotion: z.ZodOptional<z.ZodBoolean>;
|
|
62
|
-
}, z.core.$loose>;
|
|
63
27
|
/**
|
|
64
28
|
* `ggui_consume` input. The long-poll bound is SPEC §7.3: integer
|
|
65
29
|
* seconds in `[0, 25]` — the cap dodges infrastructure kill windows
|
|
@@ -165,7 +129,7 @@ export declare const discoverInputSchema: z.ZodObject<{}, z.core.$strip>;
|
|
|
165
129
|
*/
|
|
166
130
|
export declare const handshakeInputSchema: z.ZodObject<{
|
|
167
131
|
intent: z.ZodString;
|
|
168
|
-
blueprintDraft: z.ZodType<import("
|
|
132
|
+
blueprintDraft: z.ZodType<import("../index.js").BlueprintDraft, unknown, z.core.$ZodTypeInternals<import("../index.js").BlueprintDraft, unknown>>;
|
|
169
133
|
forceCreate: z.ZodOptional<z.ZodBoolean>;
|
|
170
134
|
}, z.core.$strict>;
|
|
171
135
|
/**
|
|
@@ -206,7 +170,7 @@ export declare const handshakeOutputSchema: z.ZodObject<{
|
|
|
206
170
|
update: "update";
|
|
207
171
|
declined: "declined";
|
|
208
172
|
}>;
|
|
209
|
-
suggestion: z.ZodType<import("
|
|
173
|
+
suggestion: z.ZodType<import("../index.js").HandshakeSuggestion, unknown, z.core.$ZodTypeInternals<import("../index.js").HandshakeSuggestion, unknown>>;
|
|
210
174
|
reason: z.ZodOptional<z.ZodString>;
|
|
211
175
|
nextStep: z.ZodOptional<z.ZodObject<{
|
|
212
176
|
tool: z.ZodLiteral<"ggui_render">;
|
|
@@ -298,8 +262,8 @@ export declare const renderInputShape: {
|
|
|
298
262
|
* different variance resolves a distinct cached component.
|
|
299
263
|
*/
|
|
300
264
|
readonly override: z.ZodOptional<z.ZodObject<{
|
|
301
|
-
contract: z.ZodOptional<z.ZodType<import("
|
|
302
|
-
variance: z.ZodOptional<z.ZodType<import("
|
|
265
|
+
contract: z.ZodOptional<z.ZodType<import("../index.js").DataContract, unknown, z.core.$ZodTypeInternals<import("../index.js").DataContract, unknown>>>;
|
|
266
|
+
variance: z.ZodOptional<z.ZodType<import("../index.js").BlueprintVariance, unknown, z.core.$ZodTypeInternals<import("../index.js").BlueprintVariance, unknown>>>;
|
|
303
267
|
}, z.core.$strict>>;
|
|
304
268
|
};
|
|
305
269
|
export declare const renderInputSchema: z.ZodObject<{
|
|
@@ -310,8 +274,8 @@ export declare const renderInputSchema: z.ZodObject<{
|
|
|
310
274
|
model: z.ZodOptional<z.ZodString>;
|
|
311
275
|
}, z.core.$strict>>;
|
|
312
276
|
override: z.ZodOptional<z.ZodObject<{
|
|
313
|
-
contract: z.ZodOptional<z.ZodType<import("
|
|
314
|
-
variance: z.ZodOptional<z.ZodType<import("
|
|
277
|
+
contract: z.ZodOptional<z.ZodType<import("../index.js").DataContract, unknown, z.core.$ZodTypeInternals<import("../index.js").DataContract, unknown>>>;
|
|
278
|
+
variance: z.ZodOptional<z.ZodType<import("../index.js").BlueprintVariance, unknown, z.core.$ZodTypeInternals<import("../index.js").BlueprintVariance, unknown>>>;
|
|
315
279
|
}, z.core.$strict>>;
|
|
316
280
|
}, z.core.$strip>;
|
|
317
281
|
/**
|
|
@@ -417,19 +381,17 @@ export declare const renderOutcomeSchema: z.ZodEnum<{
|
|
|
417
381
|
}>;
|
|
418
382
|
/** Canonical inferred type for {@link renderOutcomeSchema}. */
|
|
419
383
|
export type RenderOutcome = z.infer<typeof renderOutcomeSchema>;
|
|
420
|
-
/**
|
|
421
|
-
* In-result PRE-GENERATION REFUSAL marker (SPEC §7.1's refused arm,
|
|
422
|
-
* ggui#786). Present iff `outcome: 'refused'`.
|
|
423
|
-
*
|
|
424
|
-
* `code` draws from the closed render-gate subset of
|
|
425
|
-
* `PRE_GENERATION_REFUSAL_CODES` — a code that is not registered fails
|
|
426
|
-
* this enum at the transport, loudly. It is a bug, never a wire state.
|
|
427
|
-
*
|
|
428
|
-
* An agent MUST NOT auto-retry an `after-fix` refusal whose registry
|
|
429
|
-
* row names a `fixBy` other than `caller`: the fix belongs to the app's
|
|
430
|
-
* owner, the tenant, or the operator, and retrying does not perform it.
|
|
431
|
-
*/
|
|
432
384
|
export declare const renderRefusalSchema: z.ZodObject<{
|
|
385
|
+
handshake: z.ZodLiteral<"intact">;
|
|
386
|
+
balanceCentsAtCheck: z.ZodOptional<z.ZodNumber>;
|
|
387
|
+
message: z.ZodString;
|
|
388
|
+
fix: z.ZodString;
|
|
389
|
+
retry: z.ZodEnum<{
|
|
390
|
+
never: "never";
|
|
391
|
+
"after-fix": "after-fix";
|
|
392
|
+
"next-period": "next-period";
|
|
393
|
+
later: "later";
|
|
394
|
+
}>;
|
|
433
395
|
code: z.ZodEnum<{
|
|
434
396
|
unsupported_provider: "unsupported_provider";
|
|
435
397
|
insufficient_credit: "insufficient_credit";
|
|
@@ -446,6 +408,20 @@ export declare const renderRefusalSchema: z.ZodObject<{
|
|
|
446
408
|
app_deprovisioned: "app_deprovisioned";
|
|
447
409
|
billing_path_missing: "billing_path_missing";
|
|
448
410
|
}>;
|
|
411
|
+
}, z.core.$strip>;
|
|
412
|
+
/** The refusal marker, derived from {@link renderRefusalSchema}. */
|
|
413
|
+
export type PreGenerationRefusal = z.infer<typeof renderRefusalSchema>;
|
|
414
|
+
/**
|
|
415
|
+
* A refusal typed on the per-app MCP endpoint's authorization
|
|
416
|
+
* (ggui#825) — the registry projection WITHOUT the render-only fields:
|
|
417
|
+
* no `handshake` (nothing was handed), no `balanceCentsAtCheck`. Strict:
|
|
418
|
+
* a render-only field here is a bug, never a wire state. `code` draws
|
|
419
|
+
* from {@link MCP_ENDPOINT_REFUSAL_CODES} — today exactly
|
|
420
|
+
* `app_deprovisioned`, the one refusal with a tenant-side fix and
|
|
421
|
+
* therefore the one that MUST be legible where a deleted app and a bad
|
|
422
|
+
* credential would otherwise look alike.
|
|
423
|
+
*/
|
|
424
|
+
export declare const transportRefusalSchema: z.ZodObject<{
|
|
449
425
|
message: z.ZodString;
|
|
450
426
|
fix: z.ZodString;
|
|
451
427
|
retry: z.ZodEnum<{
|
|
@@ -454,11 +430,47 @@ export declare const renderRefusalSchema: z.ZodObject<{
|
|
|
454
430
|
"next-period": "next-period";
|
|
455
431
|
later: "later";
|
|
456
432
|
}>;
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
|
|
433
|
+
code: z.ZodEnum<{
|
|
434
|
+
app_deprovisioned: "app_deprovisioned";
|
|
435
|
+
}>;
|
|
436
|
+
}, z.core.$strict>;
|
|
437
|
+
/** A refusal on the per-app MCP endpoint, derived from {@link transportRefusalSchema}. */
|
|
438
|
+
export type TransportRefusal = z.infer<typeof transportRefusalSchema>;
|
|
439
|
+
/**
|
|
440
|
+
* The JSON-RPC error object a per-app MCP endpoint answers with when it
|
|
441
|
+
* refuses a request for a typed reason (ggui#825, codes ruled in
|
|
442
|
+
* ggui#836): HTTP 403, `code` `-32003` (`APP_NOT_FOUND` — the endpoint
|
|
443
|
+
* no longer serves this app, the same reading ggui's embed host gives a
|
|
444
|
+
* proxy 403) and `message` `App not found`, plus `data.refusal`, which
|
|
445
|
+
* makes it legible. `data` is strict: it carries the refusal and nothing
|
|
446
|
+
* else. An authorization failure that is not a registry state answers
|
|
447
|
+
* HTTP 403 with `-32001` (`UNAUTHORIZED`) and NO `data` — the three
|
|
448
|
+
* untyped arms stay indistinguishable among themselves by contract:
|
|
449
|
+
* naming any of them would say which is true. A first-party server
|
|
450
|
+
* never chooses `-32000`: it is the SDK client's `ConnectionClosed`, so
|
|
451
|
+
* a bare 403 and a dropped socket would share a number.
|
|
452
|
+
*/
|
|
453
|
+
export declare const transportRefusalErrorSchema: z.ZodObject<{
|
|
454
|
+
code: z.ZodLiteral<-32003>;
|
|
455
|
+
message: z.ZodLiteral<"App not found">;
|
|
456
|
+
data: z.ZodObject<{
|
|
457
|
+
refusal: z.ZodObject<{
|
|
458
|
+
message: z.ZodString;
|
|
459
|
+
fix: z.ZodString;
|
|
460
|
+
retry: z.ZodEnum<{
|
|
461
|
+
never: "never";
|
|
462
|
+
"after-fix": "after-fix";
|
|
463
|
+
"next-period": "next-period";
|
|
464
|
+
later: "later";
|
|
465
|
+
}>;
|
|
466
|
+
code: z.ZodEnum<{
|
|
467
|
+
app_deprovisioned: "app_deprovisioned";
|
|
468
|
+
}>;
|
|
469
|
+
}, z.core.$strict>;
|
|
470
|
+
}, z.core.$strict>;
|
|
471
|
+
}, z.core.$strict>;
|
|
472
|
+
/** The typed-refusal JSON-RPC error object, derived from {@link transportRefusalErrorSchema}. */
|
|
473
|
+
export type TransportRefusalError = z.infer<typeof transportRefusalErrorSchema>;
|
|
462
474
|
/**
|
|
463
475
|
* The COMPLETE structuredContent of a refused tool result — the whole
|
|
464
476
|
* payload, not a slice of it. Strict on purpose: a refusal commits
|
|
@@ -481,6 +493,16 @@ export type PreGenerationRefusal = z.infer<typeof renderRefusalSchema>;
|
|
|
481
493
|
export declare const refusedOutputSchema: z.ZodObject<{
|
|
482
494
|
outcome: z.ZodLiteral<"refused">;
|
|
483
495
|
refusal: z.ZodObject<{
|
|
496
|
+
handshake: z.ZodLiteral<"intact">;
|
|
497
|
+
balanceCentsAtCheck: z.ZodOptional<z.ZodNumber>;
|
|
498
|
+
message: z.ZodString;
|
|
499
|
+
fix: z.ZodString;
|
|
500
|
+
retry: z.ZodEnum<{
|
|
501
|
+
never: "never";
|
|
502
|
+
"after-fix": "after-fix";
|
|
503
|
+
"next-period": "next-period";
|
|
504
|
+
later: "later";
|
|
505
|
+
}>;
|
|
484
506
|
code: z.ZodEnum<{
|
|
485
507
|
unsupported_provider: "unsupported_provider";
|
|
486
508
|
insufficient_credit: "insufficient_credit";
|
|
@@ -497,16 +519,6 @@ export declare const refusedOutputSchema: z.ZodObject<{
|
|
|
497
519
|
app_deprovisioned: "app_deprovisioned";
|
|
498
520
|
billing_path_missing: "billing_path_missing";
|
|
499
521
|
}>;
|
|
500
|
-
message: z.ZodString;
|
|
501
|
-
fix: z.ZodString;
|
|
502
|
-
retry: z.ZodEnum<{
|
|
503
|
-
never: "never";
|
|
504
|
-
"after-fix": "after-fix";
|
|
505
|
-
"next-period": "next-period";
|
|
506
|
-
later: "later";
|
|
507
|
-
}>;
|
|
508
|
-
handshake: z.ZodLiteral<"intact">;
|
|
509
|
-
balanceCentsAtCheck: z.ZodOptional<z.ZodNumber>;
|
|
510
522
|
}, z.core.$strip>;
|
|
511
523
|
}, z.core.$strict>;
|
|
512
524
|
/**
|
|
@@ -647,6 +659,16 @@ export declare const renderOutputSchema: z.ZodObject<{
|
|
|
647
659
|
message: z.ZodString;
|
|
648
660
|
}, z.core.$strip>>;
|
|
649
661
|
refusal: z.ZodOptional<z.ZodObject<{
|
|
662
|
+
handshake: z.ZodLiteral<"intact">;
|
|
663
|
+
balanceCentsAtCheck: z.ZodOptional<z.ZodNumber>;
|
|
664
|
+
message: z.ZodString;
|
|
665
|
+
fix: z.ZodString;
|
|
666
|
+
retry: z.ZodEnum<{
|
|
667
|
+
never: "never";
|
|
668
|
+
"after-fix": "after-fix";
|
|
669
|
+
"next-period": "next-period";
|
|
670
|
+
later: "later";
|
|
671
|
+
}>;
|
|
650
672
|
code: z.ZodEnum<{
|
|
651
673
|
unsupported_provider: "unsupported_provider";
|
|
652
674
|
insufficient_credit: "insufficient_credit";
|
|
@@ -663,16 +685,6 @@ export declare const renderOutputSchema: z.ZodObject<{
|
|
|
663
685
|
app_deprovisioned: "app_deprovisioned";
|
|
664
686
|
billing_path_missing: "billing_path_missing";
|
|
665
687
|
}>;
|
|
666
|
-
message: z.ZodString;
|
|
667
|
-
fix: z.ZodString;
|
|
668
|
-
retry: z.ZodEnum<{
|
|
669
|
-
never: "never";
|
|
670
|
-
"after-fix": "after-fix";
|
|
671
|
-
"next-period": "next-period";
|
|
672
|
-
later: "later";
|
|
673
|
-
}>;
|
|
674
|
-
handshake: z.ZodLiteral<"intact">;
|
|
675
|
-
balanceCentsAtCheck: z.ZodOptional<z.ZodNumber>;
|
|
676
688
|
}, z.core.$strip>>;
|
|
677
689
|
nextStep: z.ZodOptional<z.ZodObject<{
|
|
678
690
|
tool: z.ZodLiteral<"ggui_consume">;
|
|
@@ -948,11 +960,6 @@ export declare const runtimePullOutputSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
948
960
|
reason: z.ZodLiteral<"REPLAY_HORIZON_PASSED">;
|
|
949
961
|
currentSequence: z.ZodNumber;
|
|
950
962
|
}, z.core.$strip>]>;
|
|
951
|
-
/**
|
|
952
|
-
* Per-batch event cap on `ggui_runtime_telemetry` — a bounded
|
|
953
|
-
* fire-and-forget diagnostic channel, never a data plane.
|
|
954
|
-
*/
|
|
955
|
-
export declare const RUNTIME_TELEMETRY_MAX_EVENTS = 40;
|
|
956
963
|
/**
|
|
957
964
|
* `ggui_runtime_telemetry` input — the iframe runtime's transport
|
|
958
965
|
* self-report (`_meta.ui.visibility: ['app']`, view-callable only).
|
|
@@ -1019,8 +1026,8 @@ export declare function isRefusedRenderOutput(output: RenderOutputValue): output
|
|
|
1019
1026
|
};
|
|
1020
1027
|
/** Display modes an MCP Apps host can render a view in (ext-apps vocabulary). */
|
|
1021
1028
|
export declare const mcpUiDisplayModeSchema: z.ZodEnum<{
|
|
1022
|
-
fullscreen: "fullscreen";
|
|
1023
1029
|
inline: "inline";
|
|
1030
|
+
fullscreen: "fullscreen";
|
|
1024
1031
|
pip: "pip";
|
|
1025
1032
|
}>;
|
|
1026
1033
|
/**
|
|
@@ -1030,13 +1037,13 @@ export declare const mcpUiDisplayModeSchema: z.ZodEnum<{
|
|
|
1030
1037
|
*/
|
|
1031
1038
|
export declare const hostContextProjectionSchema: z.ZodObject<{
|
|
1032
1039
|
availableDisplayModes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1033
|
-
fullscreen: "fullscreen";
|
|
1034
1040
|
inline: "inline";
|
|
1041
|
+
fullscreen: "fullscreen";
|
|
1035
1042
|
pip: "pip";
|
|
1036
1043
|
}>>>;
|
|
1037
1044
|
currentDisplayMode: z.ZodOptional<z.ZodEnum<{
|
|
1038
|
-
fullscreen: "fullscreen";
|
|
1039
1045
|
inline: "inline";
|
|
1046
|
+
fullscreen: "fullscreen";
|
|
1040
1047
|
pip: "pip";
|
|
1041
1048
|
}>>;
|
|
1042
1049
|
containerDimensions: z.ZodOptional<z.ZodObject<{
|
|
@@ -1047,8 +1054,8 @@ export declare const hostContextProjectionSchema: z.ZodObject<{
|
|
|
1047
1054
|
}, z.core.$strip>>;
|
|
1048
1055
|
platform: z.ZodOptional<z.ZodEnum<{
|
|
1049
1056
|
web: "web";
|
|
1050
|
-
mobile: "mobile";
|
|
1051
1057
|
desktop: "desktop";
|
|
1058
|
+
mobile: "mobile";
|
|
1052
1059
|
}>>;
|
|
1053
1060
|
deviceCapabilities: z.ZodOptional<z.ZodObject<{
|
|
1054
1061
|
touch: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1061,13 +1068,13 @@ export declare const hostContextProjectionSchema: z.ZodObject<{
|
|
|
1061
1068
|
export declare const clientObservationsSchema: z.ZodObject<{
|
|
1062
1069
|
hostContext: z.ZodOptional<z.ZodObject<{
|
|
1063
1070
|
availableDisplayModes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1064
|
-
fullscreen: "fullscreen";
|
|
1065
1071
|
inline: "inline";
|
|
1072
|
+
fullscreen: "fullscreen";
|
|
1066
1073
|
pip: "pip";
|
|
1067
1074
|
}>>>;
|
|
1068
1075
|
currentDisplayMode: z.ZodOptional<z.ZodEnum<{
|
|
1069
|
-
fullscreen: "fullscreen";
|
|
1070
1076
|
inline: "inline";
|
|
1077
|
+
fullscreen: "fullscreen";
|
|
1071
1078
|
pip: "pip";
|
|
1072
1079
|
}>>;
|
|
1073
1080
|
containerDimensions: z.ZodOptional<z.ZodObject<{
|
|
@@ -1078,8 +1085,8 @@ export declare const clientObservationsSchema: z.ZodObject<{
|
|
|
1078
1085
|
}, z.core.$strip>>;
|
|
1079
1086
|
platform: z.ZodOptional<z.ZodEnum<{
|
|
1080
1087
|
web: "web";
|
|
1081
|
-
mobile: "mobile";
|
|
1082
1088
|
desktop: "desktop";
|
|
1089
|
+
mobile: "mobile";
|
|
1083
1090
|
}>>;
|
|
1084
1091
|
deviceCapabilities: z.ZodOptional<z.ZodObject<{
|
|
1085
1092
|
touch: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -1100,6 +1107,106 @@ export declare const gguiSessionSummaryWireSchema: z.ZodObject<{
|
|
|
1100
1107
|
wsToken: z.ZodOptional<z.ZodString>;
|
|
1101
1108
|
wsTokenExpiresAt: z.ZodOptional<z.ZodString>;
|
|
1102
1109
|
}, z.core.$strip>;
|
|
1110
|
+
/**
|
|
1111
|
+
* The two states a GguiSession is in on the wire — the pair the consume
|
|
1112
|
+
* loop exits on (`expired`). Owned here (ggui#817 part C2); the type is
|
|
1113
|
+
* derived, never a second list.
|
|
1114
|
+
*/
|
|
1115
|
+
export declare const gguiSessionStatusSchema: z.ZodEnum<{
|
|
1116
|
+
active: "active";
|
|
1117
|
+
expired: "expired";
|
|
1118
|
+
}>;
|
|
1119
|
+
/**
|
|
1120
|
+
* One drained row of `ggui_consume` — a user action that reached the
|
|
1121
|
+
* pipe (ggui#817 part C2). Closed on the wire: an unknown key is
|
|
1122
|
+
* stripped at the transport, a missing key refuses the row at the seam
|
|
1123
|
+
* (`parsePendingEnvelope`), so a malformed pipe entry never ships to an
|
|
1124
|
+
* agent typed as a good one.
|
|
1125
|
+
*/
|
|
1126
|
+
export declare const consumeEventEntrySchema: z.ZodObject<{
|
|
1127
|
+
type: z.ZodLiteral<"action">;
|
|
1128
|
+
sessionId: z.ZodString;
|
|
1129
|
+
intent: z.ZodString;
|
|
1130
|
+
actionData: z.ZodNullable<z.ZodType<import("../index.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../index.js").JsonValue, unknown>>>;
|
|
1131
|
+
uiContext: z.ZodType<import("../index.js").JsonObject, unknown, z.core.$ZodTypeInternals<import("../index.js").JsonObject, unknown>>;
|
|
1132
|
+
actionId: z.ZodString;
|
|
1133
|
+
firedAt: z.ZodString;
|
|
1134
|
+
}, z.core.$strip>;
|
|
1135
|
+
/**
|
|
1136
|
+
* `ggui_consume`'s output — the drained rows, the session's state, and the
|
|
1137
|
+
* client's observations when the host sent any (ggui#817 part C2). The
|
|
1138
|
+
* handler registers `.shape`; `tools/list` therefore advertises the entry
|
|
1139
|
+
* vocabulary and the status enum instead of a free-form record and a free
|
|
1140
|
+
* string.
|
|
1141
|
+
*/
|
|
1142
|
+
export declare const gguiConsumeOutputSchema: z.ZodObject<{
|
|
1143
|
+
events: z.ZodArray<z.ZodObject<{
|
|
1144
|
+
type: z.ZodLiteral<"action">;
|
|
1145
|
+
sessionId: z.ZodString;
|
|
1146
|
+
intent: z.ZodString;
|
|
1147
|
+
actionData: z.ZodNullable<z.ZodType<import("../index.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../index.js").JsonValue, unknown>>>;
|
|
1148
|
+
uiContext: z.ZodType<import("../index.js").JsonObject, unknown, z.core.$ZodTypeInternals<import("../index.js").JsonObject, unknown>>;
|
|
1149
|
+
actionId: z.ZodString;
|
|
1150
|
+
firedAt: z.ZodString;
|
|
1151
|
+
}, z.core.$strip>>;
|
|
1152
|
+
status: z.ZodEnum<{
|
|
1153
|
+
active: "active";
|
|
1154
|
+
expired: "expired";
|
|
1155
|
+
}>;
|
|
1156
|
+
client: z.ZodOptional<z.ZodObject<{
|
|
1157
|
+
hostContext: z.ZodOptional<z.ZodObject<{
|
|
1158
|
+
availableDisplayModes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
|
|
1159
|
+
inline: "inline";
|
|
1160
|
+
fullscreen: "fullscreen";
|
|
1161
|
+
pip: "pip";
|
|
1162
|
+
}>>>;
|
|
1163
|
+
currentDisplayMode: z.ZodOptional<z.ZodEnum<{
|
|
1164
|
+
inline: "inline";
|
|
1165
|
+
fullscreen: "fullscreen";
|
|
1166
|
+
pip: "pip";
|
|
1167
|
+
}>>;
|
|
1168
|
+
containerDimensions: z.ZodOptional<z.ZodObject<{
|
|
1169
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1170
|
+
maxWidth: z.ZodOptional<z.ZodNumber>;
|
|
1171
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1172
|
+
maxHeight: z.ZodOptional<z.ZodNumber>;
|
|
1173
|
+
}, z.core.$strip>>;
|
|
1174
|
+
platform: z.ZodOptional<z.ZodEnum<{
|
|
1175
|
+
web: "web";
|
|
1176
|
+
desktop: "desktop";
|
|
1177
|
+
mobile: "mobile";
|
|
1178
|
+
}>>;
|
|
1179
|
+
deviceCapabilities: z.ZodOptional<z.ZodObject<{
|
|
1180
|
+
touch: z.ZodOptional<z.ZodBoolean>;
|
|
1181
|
+
hover: z.ZodOptional<z.ZodBoolean>;
|
|
1182
|
+
}, z.core.$strip>>;
|
|
1183
|
+
locale: z.ZodOptional<z.ZodString>;
|
|
1184
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
1185
|
+
}, z.core.$strip>>;
|
|
1186
|
+
}, z.core.$strip>>;
|
|
1187
|
+
}, z.core.$strip>;
|
|
1188
|
+
/** `ggui_list_sessions`' output — the closed summary rows (ggui#817 part C2). */
|
|
1189
|
+
export declare const gguiListSessionsOutputSchema: z.ZodObject<{
|
|
1190
|
+
sessions: z.ZodArray<z.ZodObject<{
|
|
1191
|
+
sessionId: z.ZodString;
|
|
1192
|
+
hostName: z.ZodOptional<z.ZodString>;
|
|
1193
|
+
hostSessionId: z.ZodOptional<z.ZodString>;
|
|
1194
|
+
createdAt: z.ZodString;
|
|
1195
|
+
lastActivityAt: z.ZodString;
|
|
1196
|
+
status: z.ZodString;
|
|
1197
|
+
wsToken: z.ZodOptional<z.ZodString>;
|
|
1198
|
+
wsTokenExpiresAt: z.ZodOptional<z.ZodString>;
|
|
1199
|
+
}, z.core.$strip>>;
|
|
1200
|
+
}, z.core.$strip>;
|
|
1201
|
+
/**
|
|
1202
|
+
* `ggui_emit`'s output (ggui#817 part C2): `accepted` at the boundary, and
|
|
1203
|
+
* `seq` when the server keeps a stream buffer — seq-aware implementations
|
|
1204
|
+
* stamp and return it so replay cursors can be built from the ack.
|
|
1205
|
+
*/
|
|
1206
|
+
export declare const gguiEmitOutputSchema: z.ZodObject<{
|
|
1207
|
+
accepted: z.ZodBoolean;
|
|
1208
|
+
seq: z.ZodOptional<z.ZodNumber>;
|
|
1209
|
+
}, z.core.$strip>;
|
|
1103
1210
|
/**
|
|
1104
1211
|
* `ggui_get_session`'s wire: the store row's six base fields plus the mount
|
|
1105
1212
|
* variant — for EVERY session. An MCP-Apps mount is locator-only on the
|
|
@@ -1107,6 +1214,8 @@ export declare const gguiSessionSummaryWireSchema: z.ZodObject<{
|
|
|
1107
1214
|
* projection reads them from the row and the wire never fails on that
|
|
1108
1215
|
* variant. The locator itself is not on this wire (MCP-Apps resources have
|
|
1109
1216
|
* their own paths).
|
|
1217
|
+
* `contextSnapshot` rides when a component (`render`) mount's row has one —
|
|
1218
|
+
* never on an mcpApps mount.
|
|
1110
1219
|
*/
|
|
1111
1220
|
export declare const gguiGetSessionOutputSchema: z.ZodObject<{
|
|
1112
1221
|
variant: z.ZodEnum<{
|
|
@@ -1119,7 +1228,7 @@ export declare const gguiGetSessionOutputSchema: z.ZodObject<{
|
|
|
1119
1228
|
createdAt: z.ZodNumber;
|
|
1120
1229
|
lastActivityAt: z.ZodNumber;
|
|
1121
1230
|
expiresAt: z.ZodNumber;
|
|
1122
|
-
contextSnapshot: z.ZodOptional<z.ZodType<import("
|
|
1231
|
+
contextSnapshot: z.ZodOptional<z.ZodType<import("../index.js").JsonObject, unknown, z.core.$ZodTypeInternals<import("../index.js").JsonObject, unknown>>>;
|
|
1123
1232
|
}, z.core.$strip>;
|
|
1124
1233
|
/** The three sequential gates of `ggui_protocol_validate_blueprint`. */
|
|
1125
1234
|
export declare const blueprintValidationTierSchema: z.ZodEnum<{
|
|
@@ -1171,7 +1280,7 @@ export declare const blueprintEntryWireSchema: z.ZodObject<{
|
|
|
1171
1280
|
id: z.ZodString;
|
|
1172
1281
|
name: z.ZodString;
|
|
1173
1282
|
description: z.ZodOptional<z.ZodString>;
|
|
1174
|
-
source: z.ZodType<import("
|
|
1283
|
+
source: z.ZodType<import("../index.js").BlueprintSource, unknown, z.core.$ZodTypeInternals<import("../index.js").BlueprintSource, unknown>>;
|
|
1175
1284
|
updatedAt: z.ZodString;
|
|
1176
1285
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1177
1286
|
}, z.core.$strip>;
|
|
@@ -1180,7 +1289,7 @@ export declare const gguiListFeaturedBlueprintsOutputSchema: z.ZodObject<{
|
|
|
1180
1289
|
id: z.ZodString;
|
|
1181
1290
|
name: z.ZodString;
|
|
1182
1291
|
description: z.ZodOptional<z.ZodString>;
|
|
1183
|
-
source: z.ZodType<import("
|
|
1292
|
+
source: z.ZodType<import("../index.js").BlueprintSource, unknown, z.core.$ZodTypeInternals<import("../index.js").BlueprintSource, unknown>>;
|
|
1184
1293
|
updatedAt: z.ZodString;
|
|
1185
1294
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1186
1295
|
}, z.core.$strip>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/schemas/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/schemas/mcp.ts"],"names":[],"mappings":"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"}
|