@ggui-ai/protocol 0.1.0-rc.3 → 0.2.0-alpha.2

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.
Files changed (90) hide show
  1. package/README.md +3 -3
  2. package/dist/bridge/invoke-agent.d.ts +8 -8
  3. package/dist/bridge/invoke-agent.d.ts.map +1 -1
  4. package/dist/bridge/invoke-agent.js +12 -12
  5. package/dist/envelopes/builders.d.ts +2 -4
  6. package/dist/envelopes/builders.d.ts.map +1 -1
  7. package/dist/envelopes/builders.js +2 -6
  8. package/dist/index.d.ts +2 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +4 -3
  11. package/dist/integrations/mcp-apps.d.ts +354 -711
  12. package/dist/integrations/mcp-apps.d.ts.map +1 -1
  13. package/dist/integrations/mcp-apps.js +266 -208
  14. package/dist/recommended-prompts.d.ts +1 -1
  15. package/dist/recommended-prompts.js +1 -1
  16. package/dist/schemas/data-contract.d.ts +4 -3
  17. package/dist/schemas/data-contract.d.ts.map +1 -1
  18. package/dist/schemas/data-contract.js +4 -3
  19. package/dist/schemas/invoke.d.ts +2 -2
  20. package/dist/schemas/invoke.js +2 -2
  21. package/dist/schemas/mcp.d.ts +60 -79
  22. package/dist/schemas/mcp.d.ts.map +1 -1
  23. package/dist/schemas/mcp.js +93 -116
  24. package/dist/schemas/sync-check.js +1 -1
  25. package/dist/stream/stream-parser.d.ts +4 -4
  26. package/dist/stream/stream-parser.d.ts.map +1 -1
  27. package/dist/stream/stream-parser.js +9 -9
  28. package/dist/transport/websocket.d.ts +14 -49
  29. package/dist/transport/websocket.d.ts.map +1 -1
  30. package/dist/types/app-config.d.ts +17 -32
  31. package/dist/types/app-config.d.ts.map +1 -1
  32. package/dist/types/canvas-lifecycle.d.ts +13 -13
  33. package/dist/types/canvas-lifecycle.d.ts.map +1 -1
  34. package/dist/types/canvas-lifecycle.js +3 -3
  35. package/dist/types/contract-inference.d.ts +4 -7
  36. package/dist/types/contract-inference.d.ts.map +1 -1
  37. package/dist/types/data-bindings.d.ts +1 -1
  38. package/dist/types/data-bindings.d.ts.map +1 -1
  39. package/dist/types/data-contract.d.ts +10 -10
  40. package/dist/types/data-contract.d.ts.map +1 -1
  41. package/dist/types/events.d.ts +14 -56
  42. package/dist/types/events.d.ts.map +1 -1
  43. package/dist/types/events.js +1 -8
  44. package/dist/types/feedback.d.ts +2 -4
  45. package/dist/types/feedback.d.ts.map +1 -1
  46. package/dist/types/handshake-suggestion.d.ts +1 -1
  47. package/dist/types/host-context.d.ts +5 -15
  48. package/dist/types/host-context.d.ts.map +1 -1
  49. package/dist/types/host-context.js +1 -1
  50. package/dist/types/live-channel.d.ts +128 -191
  51. package/dist/types/live-channel.d.ts.map +1 -1
  52. package/dist/types/llm-route.d.ts +233 -0
  53. package/dist/types/llm-route.d.ts.map +1 -0
  54. package/dist/types/llm-route.js +433 -0
  55. package/dist/types/llm.d.ts +34 -16
  56. package/dist/types/llm.d.ts.map +1 -1
  57. package/dist/types/llm.js +34 -38
  58. package/dist/types/mcp.d.ts +47 -137
  59. package/dist/types/mcp.d.ts.map +1 -1
  60. package/dist/types/mcp.js +2 -2
  61. package/dist/types/openrouter-models.d.ts +3 -2
  62. package/dist/types/openrouter-models.d.ts.map +1 -1
  63. package/dist/types/render-event.d.ts +119 -0
  64. package/dist/types/render-event.d.ts.map +1 -0
  65. package/dist/types/render-event.js +38 -0
  66. package/dist/types/session.d.ts +216 -342
  67. package/dist/types/session.d.ts.map +1 -1
  68. package/dist/types/ui-generator.d.ts +8 -9
  69. package/dist/types/ui-generator.d.ts.map +1 -1
  70. package/dist/validation/contract-validator.d.ts +60 -4
  71. package/dist/validation/contract-validator.d.ts.map +1 -1
  72. package/dist/validation/contract-validator.js +101 -5
  73. package/dist/validation/reserved-channels.d.ts +1 -1
  74. package/dist/validation/reserved-channels.js +5 -5
  75. package/dist/validation/sanitize-error.js +1 -1
  76. package/dist/validation/schema-compat-invariants.d.ts +2 -2
  77. package/dist/validation/schema-compat-invariants.js +2 -2
  78. package/dist/validation/schema-meta-validation.d.ts +1 -1
  79. package/dist/validation/schema-meta-validation.js +2 -2
  80. package/dist/validation/schema-subset.d.ts +1 -1
  81. package/dist/version.d.ts +253 -46
  82. package/dist/version.d.ts.map +1 -1
  83. package/dist/version.js +253 -46
  84. package/package.json +3 -2
  85. package/dist/navigation/index.d.ts +0 -3
  86. package/dist/navigation/index.d.ts.map +0 -1
  87. package/dist/navigation/index.js +0 -1
  88. package/dist/navigation/stack-navigation.d.ts +0 -55
  89. package/dist/navigation/stack-navigation.d.ts.map +0 -1
  90. package/dist/navigation/stack-navigation.js +0 -80
@@ -1 +1 @@
1
- {"version":3,"file":"host-context.d.ts","sourceRoot":"","sources":["../../src/types/host-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAMjD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,YAAY,GAAG,KAAK,CAAC;AAM/D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMlF;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,oFAAoF;IACpF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7D,8EAA8E;IAC9E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IAC/C,+EAA+E;IAC/E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IAC9D,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,sCAAsC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IAC5D,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;CAC7C;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAsDlF;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,qBAAqB,GAAG,SAAS,EACpC,CAAC,EAAE,qBAAqB,GAAG,SAAS,GACnC,OAAO,CAIT;AAGD,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"host-context.d.ts","sourceRoot":"","sources":["../../src/types/host-context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAkBjD,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,gCAAgC,CAAC;AAExC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAMvE;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;AAMlF;;;;GAIG;AACH,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAMD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,oFAAoF;IACpF,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC7D,8EAA8E;IAC9E,QAAQ,CAAC,kBAAkB,CAAC,EAAE,gBAAgB,CAAC;IAC/C,+EAA+E;IAC/E,QAAQ,CAAC,mBAAmB,CAAC,EAAE,8BAA8B,CAAC;IAC9D,oCAAoC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,QAAQ,CAAC;IACjD,sCAAsC;IACtC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,6BAA6B,CAAC;IAC5D,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,qBAAqB,CAAC;CAC7C;AAoBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS,CAsDlF;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,qBAAqB,GAAG,SAAS,EACpC,CAAC,EAAE,qBAAqB,GAAG,SAAS,GACnC,OAAO,CAIT;AAGD,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * the agent can reason about device/host capabilities on subsequent turns.
5
5
  *
6
6
  * The MCP Apps spec (`@modelcontextprotocol/ext-apps`) defines a rich
7
- * `McpUiHostContext` (theme, styles, displayMode, availableDisplayModes,
7
+ * {@link McpUiHostContext} (theme, styles, displayMode, availableDisplayModes,
8
8
  * containerDimensions, locale, timeZone, userAgent, platform,
9
9
  * deviceCapabilities). ggui captures it iframe-side at `ui/initialize` and
10
10
  * echoes a TRIMMED projection back over the live channel (via the
@@ -1,10 +1,10 @@
1
1
  /**
2
2
  * Live-channel contract payload types.
3
3
  *
4
- * The live channel is the live session plane between core-mcp and the
5
- * user. The types in this file describe WHAT that plane talks about —
6
- * the payload shapes for each exchange, independent of how they're
7
- * framed on the wire.
4
+ * The live channel is the live plane between core-mcp and the user.
5
+ * The types in this file describe WHAT that plane talks about — the
6
+ * payload shapes for each exchange, independent of how they're framed
7
+ * on the wire.
8
8
  *
9
9
  * The transport envelope (discriminated union + discriminator enum +
10
10
  * connection-status enum) lives behind the
@@ -15,21 +15,20 @@
15
15
  * The corresponding inbound user-action envelope ({@link ActionEnvelope})
16
16
  * lives in `types/events.ts` alongside the event-type enum.
17
17
  */
18
- import type { InterfaceContext } from './interface-context';
19
- import type { SessionStackEntry } from './session';
20
- import type { DataContract, JsonObject, JsonSchema, JsonValue, StreamChannelMode } from './data-contract';
18
+ import type { Render } from './session';
19
+ import type { JsonObject, JsonValue, StreamChannelMode } from './data-contract';
21
20
  /**
22
21
  * Payload for subscribe message
23
22
  */
24
23
  export interface SubscribePayload {
25
- sessionId: string;
24
+ renderId: string;
26
25
  appId: string;
27
26
  /** Role of the subscriber: 'user' (Portal) or 'agent' (MCP bridge) */
28
27
  role?: 'user' | 'agent';
29
28
  /**
30
29
  * Resume cursor for live-channel outbound stream replay. When present,
31
30
  * the server replays buffered envelopes with `seq > fromSeq` per the
32
- * active stack item's per-channel replay policy
31
+ * render's per-channel replay policy
33
32
  * (`streamSpec[name].replay`) BEFORE transitioning to the
34
33
  * live tail.
35
34
  *
@@ -43,34 +42,72 @@ export interface SubscribePayload {
43
42
  * the last envelope the client observed.
44
43
  *
45
44
  * Honored only by implementations that expose
46
- * `SessionStreamBuffer`-backed replay. Hosted cloud does NOT
45
+ * `RenderStreamBuffer`-backed replay. Hosted cloud does NOT
47
46
  * yet honor `fromSeq` — the field is silently ignored there. OSS
48
47
  * `@ggui-ai/mcp-server` honors it fully.
49
48
  */
50
49
  fromSeq?: number;
51
50
  /**
52
- * Opaque single-use bootstrap credential for initial subscribe.
51
+ * Opaque WS auth credential for initial subscribe — the live-channel
52
+ * counterpart to a bearer token. Symmetric with {@link
53
+ * SubscribePayload.renderId}/`appId`/`wsUrl` — names what it auths.
53
54
  *
54
- * General transport-bootstrap slot — the type system does NOT couple
55
- * this field to any integration. Today the only consumer minting these
56
- * is the MCP Apps outbound delivery path (`ui://ggui/session`), but
57
- * any future bootstrap mechanism (signed-URL share, short-code
58
- * auto-login, etc.) reuses the same field with the same semantics:
55
+ * **Auth-credential string only.** Identity/render fields ride on
56
+ * the `ai.ggui/render` slice meta delivered through the MCP Apps
57
+ * `_meta` path; this field is purely the WS subscribe credential.
58
+ *
59
+ * General transport-credential slot — the type system does NOT
60
+ * couple this field to any integration. Today the only consumer
61
+ * minting these is the MCP Apps outbound delivery path
62
+ * (`ui://ggui/render`), but any future credential-mint mechanism
63
+ * (signed-URL share, short-code auto-login, etc.) reuses the same
64
+ * field with the same semantics:
59
65
  *
60
66
  * - Opaque to the client — validated server-side against the
61
- * subscribe's `sessionId` + `appId`.
62
- * - Short TTL (seconds-to-minutes); stale tokens are rejected.
63
- * - Single-use; consumed at first successful subscribe.
67
+ * subscribe's `renderId` + `appId`.
68
+ * - Short TTL (seconds-to-minutes); stale tokens are rejected
69
+ * (refresh via `ggui_runtime_refresh_ws_token` within the
70
+ * refresh window, otherwise re-handshake).
71
+ * - Reusable within TTL (G14, 2026-05-23) so a transient WS drop
72
+ * can reconnect without a fresh handshake.
64
73
  *
65
- * On a successful bootstrap-auth subscribe, the server SHOULD issue
66
- * a longer-lived reconnect credential via {@link AckPayload.sessionToken}.
74
+ * On a successful ws-token-authed subscribe, the server SHOULD issue
75
+ * a longer-lived reconnect credential via {@link AckPayload.renderToken}.
67
76
  *
68
77
  * Mutually compatible with upstream bearer-auth (`Authorization`
69
78
  * header / `?token=` query). When both are present, server behavior
70
- * is implementation-defined; the canonical path is bearer-OR-bootstrap,
71
- * not bearer-AND-bootstrap.
79
+ * is implementation-defined; the canonical path is
80
+ * bearer-OR-wsToken, not bearer-AND-wsToken.
72
81
  */
73
- bootstrap?: string;
82
+ wsToken?: string;
83
+ /**
84
+ * Event-ledger cursor for R7 wire-frame replay (render,
85
+ * props_update, update, …). When present, the server replays events
86
+ * with `sequence > sinceSequence` to the subscriber as ordinary
87
+ * outbound frames BEFORE the subscription enters live-stream mode.
88
+ *
89
+ * Semantics:
90
+ * - Omitted → fresh subscribe; no replay. The subscriber sees only
91
+ * live frames emitted after the subscription opens.
92
+ * - `0` → replay every event the server still retains (subject to
93
+ * the bounded ring buffer's horizon).
94
+ * - `N` → replay events with `sequence > N`. Use the `lastSequence`
95
+ * the client tracked from prior events / `/state` reads.
96
+ * - `N` below the server's replay horizon → server emits an
97
+ * `error` frame with `code: 'REPLAY_HORIZON_PASSED'` carrying
98
+ * `details: {currentSequence: <server's high-water mark>}`. Client
99
+ * recovery: re-mount from a fresh snapshot (`/state`) and reset
100
+ * cursor to `currentSequence`.
101
+ *
102
+ * **Distinct from `fromSeq`.** `fromSeq` is for per-stream-channel
103
+ * `StreamEnvelope` replay (declared `streamSpec[name].replay`
104
+ * policy); `sinceSequence` is for the render-level event ledger
105
+ * (render/update/props_update/etc.). Both cursors travel on the
106
+ * same subscribe frame and the server honors them independently —
107
+ * `sinceSequence` events replay first, then per-channel `fromSeq`
108
+ * envelopes, then the live tail.
109
+ */
110
+ sinceSequence?: number;
74
111
  /**
75
112
  * Protocol schema versions this client accepts on the wire. Opt-in
76
113
  * — absent is legacy-pass-through (server treats the subscribe as
@@ -95,25 +132,34 @@ export interface SubscribePayload {
95
132
  * windows.
96
133
  */
97
134
  supportedVersions?: string[];
135
+ /**
136
+ * Optional bootstrap credential for transports that mint a one-time
137
+ * opaque token at handshake (e.g. an MCP Apps `_meta`-delivered short-
138
+ * lived bootstrap). Generic string slot, not coupled to any specific
139
+ * integration — host adapters interpret the value per their own
140
+ * bootstrap contract.
141
+ */
142
+ bootstrap?: string;
98
143
  }
99
144
  /**
100
- * Payload for ack message (subscribe response includes current stack)
145
+ * Payload for ack message (subscribe response includes current render)
101
146
  */
102
147
  export interface AckPayload {
103
148
  sequence: number;
104
149
  timestamp: number;
105
- /** Current session stack (returned on subscribe) */
106
- stack?: SessionStackEntry[];
150
+ /** Current render snapshot (returned on subscribe). Single item,
151
+ * not an array — Phase B collapsed the vessel. */
152
+ render?: Render;
107
153
  /**
108
154
  * Current outbound-stream cursor snapshot at the moment the ack is
109
- * sent. Distinct from `sequence` (which counts INBOUND session
110
- * events like `user.submitted`). Clients use `streamSeq` to:
155
+ * sent. Distinct from `sequence` (which counts INBOUND events like
156
+ * `user.submitted`). Clients use `streamSeq` to:
111
157
  * - know the point beyond which the live tail begins;
112
158
  * - seed their `lastSeenSeq` if they didn't pass `fromSeq` on
113
159
  * subscribe.
114
160
  *
115
- * Absent on implementations without a `SessionStreamBuffer`.
116
- * 0 means the session has recorded no outbound envelopes yet.
161
+ * Absent on implementations without a `RenderStreamBuffer`.
162
+ * 0 means the render has recorded no outbound envelopes yet.
117
163
  */
118
164
  streamSeq?: number;
119
165
  /**
@@ -128,27 +174,27 @@ export interface AckPayload {
128
174
  */
129
175
  replayTruncated?: boolean;
130
176
  /**
131
- * Reconnect credential issued on successful bootstrap-auth subscribe.
177
+ * Reconnect credential issued on successful ws-token-authed subscribe.
132
178
  *
133
- * General transport-bootstrap slot — the type system does NOT couple
134
- * this field to any integration (same positioning as
135
- * {@link SubscribePayload.bootstrap}). Servers that accepted a
136
- * bootstrap credential on `subscribe` SHOULD mint a longer-lived
137
- * session-scoped token and return it here so the client can reconnect
138
- * without re-minting from the original bootstrap source.
179
+ * General transport-credential slot — the type system does NOT
180
+ * couple this field to any integration (same positioning as
181
+ * {@link SubscribePayload.wsToken}). Servers that accepted a WS
182
+ * token on `subscribe` SHOULD mint a longer-lived render-scoped
183
+ * token and return it here so the client can reconnect without
184
+ * re-minting from the original credential source.
139
185
  *
140
186
  * Semantics:
141
- * - Longer TTL than the bootstrap (minutes-to-hours).
142
- * - Bound to the same `sessionId` + `appId`.
187
+ * - Longer TTL than the ws token (minutes-to-hours).
188
+ * - Bound to the same `renderId` + `appId`.
143
189
  * - Passed on reconnect via the standard bearer path
144
- * (`Authorization: Bearer <sessionToken>` or `?token=`), NOT in
145
- * `SubscribePayload.bootstrap` (which is single-use).
190
+ * (`Authorization: Bearer <renderToken>` or `?token=`), NOT in
191
+ * `SubscribePayload.wsToken` (which is short-TTL and credential-scoped).
146
192
  *
147
- * Absent when the subscribe was bearer-authed (no bootstrap-bound
193
+ * Absent when the subscribe was bearer-authed (no ws-token-bound
148
194
  * reconnect credential needed) and on servers that don't implement
149
- * bootstrap auth.
195
+ * ws-token auth.
150
196
  */
151
- sessionToken?: string;
197
+ renderToken?: string;
152
198
  /**
153
199
  * Protocol schema version this server emits on. Advertised on every
154
200
  * successful ack. First-party servers populate this with
@@ -158,7 +204,7 @@ export interface AckPayload {
158
204
  * AND not in the client's `CLIENT_SUPPORTED_VERSIONS`, the client
159
205
  * surfaces `UPGRADE_REQUIRED` (see {@link UPGRADE_REQUIRED}) via
160
206
  * its error channel. Absent `serverVersion` is legacy-pass-through
161
- * — the client treats the session as version-agnostic, preserving
207
+ * — the client treats the render as version-agnostic, preserving
162
208
  * pre-handshake behavior for servers that haven't wired the field.
163
209
  *
164
210
  * Symmetric with {@link SubscribePayload.supportedVersions}.
@@ -166,12 +212,12 @@ export interface AckPayload {
166
212
  serverVersion?: string;
167
213
  }
168
214
  /**
169
- * Payload for push message (Server -> Client: agent push event with generated/cached UI).
170
- * Carries a {@link SessionStackEntry} — either a generated component
171
- * item (default) or an embedded MCP Apps iframe variant.
215
+ * Payload for render message (Server → Client: agent push event with
216
+ * generated/cached UI). Carries a {@link Render} — either a
217
+ * component variant or an embedded MCP Apps iframe variant.
172
218
  */
173
- export interface PushPayload {
174
- stackItem: SessionStackEntry;
219
+ export interface RenderPayload {
220
+ render: Render;
175
221
  matchType?: string;
176
222
  }
177
223
  /**
@@ -196,8 +242,8 @@ export interface PushPayload {
196
242
  * addition driven by a concrete client-UX need.
197
243
  */
198
244
  export interface StreamEnvelope {
199
- /** Session this delivery belongs to. */
200
- sessionId: string;
245
+ /** Render this delivery belongs to. */
246
+ renderId: string;
201
247
  /** Channel name (keys into `spec.channels`). */
202
248
  channel: string;
203
249
  /**
@@ -220,15 +266,15 @@ export interface StreamEnvelope {
220
266
  */
221
267
  complete?: boolean;
222
268
  /**
223
- * Session-scoped monotonic outbound sequence. Server-assigned;
269
+ * Render-scoped monotonic outbound sequence. Server-assigned;
224
270
  * clients MUST NOT populate it on producer-side inputs. Gap-free
225
- * within a single session, starting at 1. Used by the client to:
271
+ * within a single render, starting at 1. Used by the client to:
226
272
  * - track `lastSeenSeq` for reconnect (pass it back as
227
273
  * `SubscribePayload.fromSeq`);
228
274
  * - dedupe deliveries (at-least-once semantics).
229
275
  *
230
276
  * OPTIONAL because hosted cloud does not yet stamp `seq`;
231
- * implementations backed by `SessionStreamBuffer`
277
+ * implementations backed by `RenderStreamBuffer`
232
278
  * (OSS `@ggui-ai/mcp-server`) always populate it. When absent,
233
279
  * clients treat deliveries as single-shot with no replay possible.
234
280
  * This becomes required once the hosted runtime supports replay.
@@ -249,7 +295,7 @@ export interface StreamEnvelope {
249
295
  * Delivers streaming text chunks from the agent in real-time.
250
296
  */
251
297
  export interface StreamPayload {
252
- sessionId: string;
298
+ renderId: string;
253
299
  /** Text chunk from agent. Empty string on final (done=true) message. */
254
300
  chunk: string;
255
301
  /** Whether this is the final chunk in the stream. */
@@ -282,19 +328,17 @@ export interface ErrorPayload {
282
328
  * to begin polling the channel's `streamSpec[ch].source.tool` on the
283
329
  * iframe's behalf and fan results out as `channel_payload` frames.
284
330
  *
285
- * Idempotent on reconnect: replaying the same `{sessionId, channelName,
331
+ * Idempotent on reconnect: replaying the same `{renderId, channelName,
286
332
  * pollIntervalMs?, args?}` triple after a WS disconnect re-binds the
287
333
  * existing subscription rather than minting a duplicate. The server is
288
334
  * authoritative on `pollIntervalMs` — clients propose, server caps to
289
335
  * its policy floor.
290
336
  */
291
337
  export interface ChannelSubscribePayload {
292
- /** Active session id from the iframe's bootstrap. */
293
- sessionId: string;
338
+ /** Active render id from the iframe's bootstrap. */
339
+ renderId: string;
294
340
  /** Active app id from the iframe's bootstrap. */
295
341
  appId: string;
296
- /** Stack item the channel belongs to (so the server can resolve `streamSpec[channelName]`). */
297
- stackItemId: string;
298
342
  /** Channel name as keyed in `streamSpec`. The source.tool comes from the contract. */
299
343
  channelName: string;
300
344
  /**
@@ -312,15 +356,14 @@ export interface ChannelSubscribePayload {
312
356
  }
313
357
  /**
314
358
  * Payload for `channel_unsubscribe` (Client → Server). Idempotent: the
315
- * server tolerates an unsubscribe for an unknown `{sessionId,
359
+ * server tolerates an unsubscribe for an unknown `{renderId,
316
360
  * channelName}` pair (treats as a no-op + ack). Closing the WebSocket
317
361
  * implicitly unsubscribes all channels on that subscriber — this
318
- * message is for fine-grained mid-session cancellation.
362
+ * message is for fine-grained mid-render cancellation.
319
363
  */
320
364
  export interface ChannelUnsubscribePayload {
321
- sessionId: string;
365
+ renderId: string;
322
366
  appId: string;
323
- stackItemId: string;
324
367
  channelName: string;
325
368
  }
326
369
  /**
@@ -334,9 +377,8 @@ export interface ChannelUnsubscribePayload {
334
377
  * semantics as iframe-polled payloads.
335
378
  */
336
379
  export interface ChannelPayloadFrame {
337
- sessionId: string;
380
+ renderId: string;
338
381
  appId: string;
339
- stackItemId: string;
340
382
  channelName: string;
341
383
  /** Server-monotonic sequence for this channel — gap-detection on the client. */
342
384
  seq: number;
@@ -364,34 +406,22 @@ export interface ChannelPayloadFrame {
364
406
  *
365
407
  * - `CHANNEL_UNKNOWN` — channelName not present in streamSpec.
366
408
  * - `CHANNEL_NOT_LOCAL` — `source.tool` not in `streamWebSocketLocalTools`; iframe must poll directly.
367
- * - `STACK_ITEM_NOT_FOUND` — `stackItemId` not on the session.
368
- * - `SUBSCRIBE_UNAUTHORIZED` — bootstrap token expired or session-mismatch.
409
+ * - `RENDER_NOT_FOUND` — `renderId` not on the server.
410
+ * - `SUBSCRIBE_UNAUTHORIZED` — WS auth token expired or render-mismatch.
369
411
  * - `POLL_FAILED` — source.tool invocation threw. `details` carries the error.
370
412
  */
371
413
  export interface ChannelErrorPayload {
372
- sessionId: string;
414
+ renderId: string;
373
415
  channelName: string;
374
- code: 'CHANNEL_UNKNOWN' | 'CHANNEL_NOT_LOCAL' | 'STACK_ITEM_NOT_FOUND' | 'SUBSCRIBE_UNAUTHORIZED' | 'POLL_FAILED' | (string & {});
416
+ code: 'CHANNEL_UNKNOWN' | 'CHANNEL_NOT_LOCAL' | 'RENDER_NOT_FOUND' | 'SUBSCRIBE_UNAUTHORIZED' | 'POLL_FAILED' | (string & {});
375
417
  message: string;
376
418
  details?: JsonValue;
377
419
  }
378
420
  /**
379
- * Payload for pop message (Client → Server: remove top card from stack)
380
- */
381
- export interface PopPayload {
382
- sessionId: string;
383
- }
384
- /**
385
- * Payload for close message (Client → Server: close session)
421
+ * Payload for close message (Client → Server: close render)
386
422
  */
387
423
  export interface ClosePayload {
388
- sessionId: string;
389
- }
390
- /**
391
- * Payload for get_stack message (Client → Server: get stack info)
392
- */
393
- export interface GetStackPayload {
394
- sessionId: string;
424
+ renderId: string;
395
425
  }
396
426
  /**
397
427
  * Generation strategy controls how ggui resolves UI generation requests.
@@ -401,68 +431,6 @@ export interface GetStackPayload {
401
431
  * - `creative` — Always generate fresh UI via LLM (no blueprint matching).
402
432
  */
403
433
  export type GenerationStrategy = 'strict' | 'balanced' | 'creative';
404
- /**
405
- * Payload for the legacy `generate` WS message — the pre-handshake-first
406
- * direct-generation entry point. The canonical mint path is the
407
- * `ggui_new_session` → `ggui_handshake` → `ggui_push` tool chain; this
408
- * payload survives only because `@ggui-ai/ggui-react` /
409
- * `@ggui-ai/ggui-react-native` SDKs still expose a `useGenerate()` hook
410
- * that POSTs through the WS surface for one-shot UI generation.
411
- *
412
- * Several flat fields here (`adapters`, `actions`) are legacy shapes
413
- * superseded by `DataContract.agentCapabilities` + `DataContract.actionSpec`;
414
- * they remain on the type for SDK back-compat but new code MUST author
415
- * via the handshake-first chain.
416
- *
417
- * Generic `TProps` defaults to {@link JsonObject} for the data payload.
418
- * Generic `TContext` defaults to {@link JsonObject} for generator context hints.
419
- *
420
- * @deprecated Use `ggui_handshake` + `ggui_push` (the canonical mint
421
- * path). This payload is retained only for the legacy `useGenerate()`
422
- * SDK hook surface.
423
- */
424
- export interface GeneratePayload<TProps = JsonObject, TContext = JsonObject> {
425
- sessionId: string;
426
- prompt: string;
427
- /** Human-readable description (for non-LLM producers) */
428
- description?: string;
429
- /** Context hints for the generator */
430
- context?: TContext;
431
- /** JSON Schema for form validation */
432
- schema?: JsonSchema;
433
- /**
434
- * @deprecated Legacy flat shape. Declare via
435
- * `DataContract.actionSpec` instead.
436
- */
437
- actions?: Array<{
438
- id: string;
439
- label: string;
440
- description?: string;
441
- icon?: string;
442
- variant?: string;
443
- confirm?: boolean | string;
444
- disabled?: boolean;
445
- }>;
446
- /** Device/viewport context for responsive UI generation */
447
- interfaceContext?: InterfaceContext;
448
- /** Generation strategy (default: 'balanced') */
449
- strategy?: GenerationStrategy;
450
- /** Predefined blueprint name to use (for strict/balanced strategy) */
451
- blueprintName?: string;
452
- /** Props data to pass to the blueprint */
453
- data?: TProps;
454
- /** Data contract from negotiation (agreed props/actions shape) */
455
- contract?: DataContract;
456
- /** UX/presentation instructions for the generator */
457
- instructions?: string;
458
- /** Specific model override for generation */
459
- model?: string;
460
- /**
461
- * Existing stack-item id for repair — reuses the broken component's
462
- * slot instead of creating a new one.
463
- */
464
- stackItemId?: string;
465
- }
466
434
  /**
467
435
  * Progress step during UI generation
468
436
  */
@@ -471,8 +439,7 @@ export type ProgressStep = 'queued' | 'primitives' | 'writing' | 'compiling';
471
439
  * Payload for progress message (Server → Client)
472
440
  */
473
441
  export interface ProgressPayload {
474
- sessionId: string;
475
- stackItemId: string;
442
+ renderId: string;
476
443
  step: ProgressStep;
477
444
  message: string;
478
445
  }
@@ -487,16 +454,16 @@ export interface AgentMsgPayload {
487
454
  type: AgentMsgType;
488
455
  /** Message text from the agent */
489
456
  message: string;
490
- /** Session ID */
491
- sessionId: string;
457
+ /** Render ID */
458
+ renderId: string;
492
459
  }
493
460
  /**
494
461
  * Payload for props_update message (Server → Client).
495
462
  * Replaces props on an existing rendered component without re-generation.
496
463
  */
497
464
  export interface PropsUpdatePayload {
498
- /** Stack-item id of the rendered component being updated. */
499
- stackItemId: string;
465
+ /** Render id of the rendered component being updated. */
466
+ renderId: string;
500
467
  /** New props — full replacement */
501
468
  props: JsonObject;
502
469
  }
@@ -505,8 +472,7 @@ export interface PropsUpdatePayload {
505
472
  * Note: shortCode is returned; client constructs full URL using renderUrl from amplify_outputs
506
473
  */
507
474
  export interface UrlPayload {
508
- sessionId: string;
509
- stackItemId: string;
475
+ renderId: string;
510
476
  shortCode: string;
511
477
  }
512
478
  /**
@@ -535,46 +501,19 @@ export interface SystemPayload {
535
501
  status?: string;
536
502
  /** App ID requesting access (used with auth_required for app-scoped grants) */
537
503
  appId?: string;
538
- /** Session ID for WebSocket context (used with auth_required) */
539
- sessionId?: string;
504
+ /** Render ID for WebSocket context (used with auth_required) */
505
+ renderId?: string;
540
506
  }
541
507
  /**
542
508
  * Payload for internal:progress message (generator → handler)
543
509
  */
544
510
  export interface InternalProgressPayload {
545
- sessionId: string;
546
- stackItemId: string;
511
+ renderId: string;
547
512
  step: ProgressStep;
548
513
  }
549
- /**
550
- * Extended AckPayload for legacy `generate` requests. The handshake-first
551
- * mint path (`ggui_new_session` → `ggui_handshake` → `ggui_push`) does
552
- * NOT use this ack — it returns its own structured-content envelope.
553
- *
554
- * Note: shortCode is returned; client constructs full URL using renderUrl
555
- * from amplify_outputs.
556
- *
557
- * @deprecated Same lifecycle as {@link GeneratePayload}.
558
- */
559
- export interface GenerateAckPayload extends AckPayload {
560
- shortCode: string;
561
- stackItemId: string;
562
- /**
563
- * @deprecated No live producer or consumer. Retained on the type for
564
- * one minor before structural removal.
565
- */
566
- sentViaWebsocket: boolean;
567
- }
568
- /**
569
- * Payload for session message (Server → Client)
570
- * Sent when an agent creates a session in response to a start invoke.
571
- */
572
- export interface SessionPayload {
573
- sessionId: string;
574
- }
575
514
  /**
576
515
  * Payload for `drain_ack` (Server → Client). Sent by `ggui_consume` after
577
- * it pops an `ActionEnvelope` off a stack item's pending-events pipe, so
516
+ * it pops an `ActionEnvelope` off a render's pending-events pipe, so
578
517
  * the iframe-runtime knows the agent received the gesture and can
579
518
  * dismiss the per-action toast.
580
519
  *
@@ -591,12 +530,10 @@ export interface SessionPayload {
591
530
  * @public
592
531
  */
593
532
  export interface DrainAckPayload {
594
- /** Active session id from the bootstrap that emitted the action. */
595
- sessionId: string;
596
533
  /** Active app id from the bootstrap that emitted the action. */
597
534
  appId: string;
598
- /** Stack item the drained event was queued on. */
599
- stackItemId: string;
535
+ /** Render the drained event was queued on. */
536
+ renderId: string;
600
537
  /**
601
538
  * Server-assigned `ActionEnvelope.id` of the specific event that
602
539
  * was drained. The iframe-runtime keys its toast resolution on this
@@ -1 +1 @@
1
- {"version":3,"file":"live-channel.d.ts","sourceRoot":"","sources":["../../src/types/live-channel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"live-channel.d.ts","sourceRoot":"","sources":["../../src/types/live-channel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB;uDACmD;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;OASG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,EAAE,iBAAiB,CAAC;IACxB;;;;OAIG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;;OAaG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,IAAI,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,uBAAuB;IACtC,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,sFAAsF;IACtF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,GAAG,EAAE,MAAM,CAAC;IACZ,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,oFAAoF;IACpF,IAAI,EAAE,iBAAiB,CAAC;IACxB,6EAA6E;IAC7E,OAAO,EAAE,SAAS,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EACA,iBAAiB,GACjB,mBAAmB,GACnB,kBAAkB,GAClB,wBAAwB,GACxB,aAAa,GACb,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAC;AAEpE;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,IAAI,EAAE,YAAY,CAAC;IACnB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,mCAAmC;IACnC,KAAK,EAAE,UAAU,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB"}