@ggui-ai/protocol 0.2.0-alpha.4 → 0.4.0-rc.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/README.md +16 -16
- package/dist/envelope-adapters.d.ts +6 -5
- package/dist/envelope-adapters.d.ts.map +1 -1
- package/dist/envelope-adapters.js +3 -3
- package/dist/envelopes/builders.d.ts +6 -32
- package/dist/envelopes/builders.d.ts.map +1 -1
- package/dist/envelopes/builders.js +3 -25
- package/dist/errors/version-mismatch.d.ts +1 -1
- package/dist/errors/version-mismatch.js +1 -1
- package/dist/gadgets/resolve-app-gadgets.d.ts +10 -0
- package/dist/gadgets/resolve-app-gadgets.d.ts.map +1 -0
- package/dist/gadgets/resolve-app-gadgets.js +19 -0
- package/dist/gadgets/resolve-contract-gadgets.d.ts +6 -6
- package/dist/gadgets/resolve-contract-gadgets.js +5 -5
- package/dist/gadgets/stdlib-gadgets.d.ts +1 -1
- package/dist/gadgets/stdlib-gadgets.d.ts.map +1 -1
- package/dist/gadgets/stdlib-gadgets.js +43 -22
- package/dist/iframe-bridge.d.ts +4 -43
- package/dist/iframe-bridge.d.ts.map +1 -1
- package/dist/iframe-bridge.js +4 -141
- package/dist/index.d.ts +60 -62
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +66 -61
- package/dist/integrations/mcp-apps.d.ts +83 -38
- package/dist/integrations/mcp-apps.d.ts.map +1 -1
- package/dist/integrations/mcp-apps.js +98 -52
- package/dist/recommended-prompts.d.ts +1 -1
- package/dist/recommended-prompts.js +1 -1
- package/dist/registry/blueprint-key.d.ts +3 -0
- package/dist/registry/blueprint-key.d.ts.map +1 -1
- package/dist/registry/blueprint-key.js +9 -0
- package/dist/registry/blueprint-stamp.d.ts +12 -0
- package/dist/registry/blueprint-stamp.d.ts.map +1 -0
- package/dist/registry/blueprint-stamp.js +12 -0
- package/dist/registry/canonicalize-contract.d.ts +31 -2
- package/dist/registry/canonicalize-contract.d.ts.map +1 -1
- package/dist/registry/canonicalize-contract.js +125 -13
- package/dist/registry/portable-blueprint.d.ts +71 -0
- package/dist/registry/portable-blueprint.d.ts.map +1 -0
- package/dist/registry/portable-blueprint.js +111 -0
- package/dist/registry/summarize-contract.d.ts +7 -2
- package/dist/registry/summarize-contract.d.ts.map +1 -1
- package/dist/registry/summarize-contract.js +12 -3
- package/dist/registry/variant-key.d.ts +17 -0
- package/dist/registry/variant-key.d.ts.map +1 -0
- package/dist/registry/variant-key.js +22 -0
- package/dist/schema-learning/derive-contract.d.ts +2 -2
- package/dist/schema-learning/derive-contract.js +2 -2
- package/dist/schema-learning/merge.d.ts.map +1 -1
- package/dist/schema-learning/merge.js +3 -2
- package/dist/schemas/app-theme.d.ts +38 -0
- package/dist/schemas/app-theme.d.ts.map +1 -0
- package/dist/schemas/app-theme.js +43 -0
- package/dist/schemas/blueprint.d.ts +30 -11
- package/dist/schemas/blueprint.d.ts.map +1 -1
- package/dist/schemas/blueprint.js +62 -26
- package/dist/schemas/data-contract.d.ts +28 -30
- package/dist/schemas/data-contract.d.ts.map +1 -1
- package/dist/schemas/data-contract.js +26 -26
- package/dist/schemas/handshake-suggestion.d.ts +2 -4
- package/dist/schemas/handshake-suggestion.d.ts.map +1 -1
- package/dist/schemas/handshake-suggestion.js +5 -14
- package/dist/schemas/mcp.d.ts +294 -59
- package/dist/schemas/mcp.d.ts.map +1 -1
- package/dist/schemas/mcp.js +350 -94
- package/dist/schemas/ops-blueprint.d.ts +12 -12
- package/dist/schemas/ops-blueprint.d.ts.map +1 -1
- package/dist/schemas/ops-blueprint.js +14 -24
- package/dist/screen-blueprints/define.d.ts +2 -2
- package/dist/screen-blueprints/match.d.ts +12 -7
- package/dist/screen-blueprints/match.d.ts.map +1 -1
- package/dist/screen-blueprints/match.js +7 -5
- package/dist/screen-blueprints/types.d.ts +14 -18
- package/dist/screen-blueprints/types.d.ts.map +1 -1
- package/dist/transport/websocket.d.ts +5 -26
- package/dist/transport/websocket.d.ts.map +1 -1
- package/dist/types/app-config.d.ts +0 -1
- package/dist/types/app-config.d.ts.map +1 -1
- package/dist/types/auth.d.ts +1 -46
- package/dist/types/auth.d.ts.map +1 -1
- package/dist/types/blueprint-source.d.ts +123 -0
- package/dist/types/blueprint-source.d.ts.map +1 -0
- package/dist/types/blueprint-source.js +126 -0
- package/dist/types/blueprint.d.ts +25 -18
- package/dist/types/blueprint.d.ts.map +1 -1
- package/dist/types/contract-inference.d.ts +2 -43
- package/dist/types/contract-inference.d.ts.map +1 -1
- package/dist/types/data-contract.d.ts +59 -344
- package/dist/types/data-contract.d.ts.map +1 -1
- package/dist/types/data-contract.js +5 -12
- package/dist/types/events.d.ts +31 -69
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/{render-event.d.ts → ggui-session-event.d.ts} +15 -15
- package/dist/types/ggui-session-event.d.ts.map +1 -0
- package/dist/types/{render-event.js → ggui-session-event.js} +5 -5
- package/dist/types/handshake-suggestion.d.ts +49 -35
- package/dist/types/handshake-suggestion.d.ts.map +1 -1
- package/dist/types/host-context.d.ts +8 -8
- package/dist/types/host-context.d.ts.map +1 -1
- package/dist/types/host-context.js +5 -5
- package/dist/types/invoke.d.ts +1 -13
- package/dist/types/invoke.d.ts.map +1 -1
- package/dist/types/{canvas-lifecycle.d.ts → lifecycle.d.ts} +35 -37
- package/dist/types/lifecycle.d.ts.map +1 -0
- package/dist/types/{canvas-lifecycle.js → lifecycle.js} +12 -14
- package/dist/types/live-channel.d.ts +48 -104
- package/dist/types/live-channel.d.ts.map +1 -1
- package/dist/types/llm-route.d.ts +4 -4
- package/dist/types/llm-route.d.ts.map +1 -1
- package/dist/types/llm-route.js +24 -2
- package/dist/types/llm.d.ts +13 -24
- package/dist/types/llm.d.ts.map +1 -1
- package/dist/types/llm.js +23 -53
- package/dist/types/mcp.d.ts +74 -177
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/mcp.js +11 -4
- package/dist/types/oauth-user-id.d.ts +12 -0
- package/dist/types/oauth-user-id.d.ts.map +1 -0
- package/dist/types/oauth-user-id.js +10 -0
- package/dist/types/portable-blueprint.d.ts +61 -0
- package/dist/types/portable-blueprint.d.ts.map +1 -0
- package/dist/types/portable-blueprint.js +8 -0
- package/dist/types/{session.d.ts → render.d.ts} +51 -53
- package/dist/types/render.d.ts.map +1 -0
- package/dist/types/thread.d.ts.map +1 -1
- package/dist/types/thread.js +3 -3
- package/dist/types/ui-generator.d.ts +24 -47
- package/dist/types/ui-generator.d.ts.map +1 -1
- package/dist/types/ui-generator.js +1 -53
- package/dist/validation/ajv-runtime.d.ts +3 -3
- package/dist/validation/ajv-runtime.d.ts.map +1 -1
- package/dist/validation/ajv-runtime.js +6 -5
- package/dist/validation/contract-validator.d.ts +23 -22
- package/dist/validation/contract-validator.d.ts.map +1 -1
- package/dist/validation/contract-validator.js +28 -26
- package/dist/validation/cross-references.d.ts +3 -3
- package/dist/validation/cross-references.js +3 -3
- package/dist/validation/hygiene-rules.d.ts +9 -9
- package/dist/validation/hygiene-rules.js +13 -13
- package/dist/validation/is-record.d.ts +17 -0
- package/dist/validation/is-record.d.ts.map +1 -0
- package/dist/validation/is-record.js +18 -0
- package/dist/validation/lint-contract.d.ts +1 -1
- package/dist/validation/lint-contract.js +3 -3
- package/dist/validation/name-invariants.d.ts +4 -4
- package/dist/validation/name-invariants.js +4 -4
- package/dist/validation/reserved-channels.d.ts +43 -46
- package/dist/validation/reserved-channels.d.ts.map +1 -1
- package/dist/validation/reserved-channels.js +14 -177
- package/dist/validation/resolve-stream-channel.d.ts +3 -9
- package/dist/validation/resolve-stream-channel.d.ts.map +1 -1
- package/dist/validation/resolve-stream-channel.js +3 -4
- package/dist/validation/sanitize-error.d.ts +10 -9
- package/dist/validation/sanitize-error.d.ts.map +1 -1
- package/dist/validation/sanitize-error.js +19 -18
- package/dist/validation/schema-compat-invariants.d.ts +1 -1
- package/dist/validation/schema-compat-invariants.js +3 -3
- package/dist/validation/schema-meta-validation.d.ts +4 -4
- package/dist/validation/schema-meta-validation.d.ts.map +1 -1
- package/dist/validation/schema-meta-validation.js +7 -9
- package/dist/validation/schema-subset.d.ts +9 -8
- package/dist/validation/schema-subset.d.ts.map +1 -1
- package/dist/validation/ui-security.d.ts +0 -17
- package/dist/validation/ui-security.d.ts.map +1 -1
- package/dist/validation/ui-security.js +17 -22
- package/dist/validation/zod-to-json-schema.d.ts +1 -1
- package/dist/validation/zod-to-json-schema.d.ts.map +1 -1
- package/dist/validation/zod-to-json-schema.js +4 -3
- package/dist/version.d.ts +818 -9
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +817 -8
- package/package.json +3 -3
- package/dist/bridge/invoke-agent.d.ts +0 -65
- package/dist/bridge/invoke-agent.d.ts.map +0 -1
- package/dist/bridge/invoke-agent.js +0 -113
- package/dist/stream/stream-parser.d.ts +0 -62
- package/dist/stream/stream-parser.d.ts.map +0 -1
- package/dist/stream/stream-parser.js +0 -199
- package/dist/types/canvas-lifecycle.d.ts.map +0 -1
- package/dist/types/credential.d.ts +0 -41
- package/dist/types/credential.d.ts.map +0 -1
- package/dist/types/credential.js +0 -32
- package/dist/types/data-bindings.d.ts +0 -322
- package/dist/types/data-bindings.d.ts.map +0 -1
- package/dist/types/data-bindings.js +0 -29
- package/dist/types/feedback.d.ts +0 -22
- package/dist/types/feedback.d.ts.map +0 -1
- package/dist/types/feedback.js +0 -7
- package/dist/types/mcp-proxy.d.ts +0 -67
- package/dist/types/mcp-proxy.d.ts.map +0 -1
- package/dist/types/mcp-proxy.js +0 -46
- package/dist/types/openrouter-models.d.ts +0 -23
- package/dist/types/openrouter-models.d.ts.map +0 -1
- package/dist/types/openrouter-models.js +0 -4843
- package/dist/types/region.d.ts +0 -26
- package/dist/types/region.d.ts.map +0 -1
- package/dist/types/region.js +0 -36
- package/dist/types/render-event.d.ts.map +0 -1
- package/dist/types/session.d.ts.map +0 -1
- /package/dist/types/{session.js → render.js} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* This module is the **boundary** for MCP Apps outbound delivery. Anything
|
|
5
5
|
* MCP-Apps-specific that ggui exposes to the rest of the codebase lives
|
|
6
|
-
* here — never in `types/live-channel.ts`, `types/mcp.ts`, `types/
|
|
6
|
+
* here — never in `types/live-channel.ts`, `types/mcp.ts`, `types/render.ts`,
|
|
7
7
|
* or any other core module. Consumers opt in via the subpath import:
|
|
8
8
|
*
|
|
9
9
|
* ```ts
|
|
@@ -21,13 +21,14 @@
|
|
|
21
21
|
* drift is bounded to callers that explicitly import from here.
|
|
22
22
|
*
|
|
23
23
|
* Core still carries two fields that make the bootstrap flow work —
|
|
24
|
-
* `SubscribePayload.
|
|
24
|
+
* `SubscribePayload.wsToken?: string` and `AckPayload.sessionToken?:
|
|
25
25
|
* string`. Those are deliberately framed as **general transport bootstrap
|
|
26
26
|
* credentials** (opaque strings), not MCP-Apps-specific. Any future
|
|
27
27
|
* bootstrap mechanism (short-code auto-login, signed-URL bootstrap, etc.)
|
|
28
28
|
* reuses the same slots.
|
|
29
29
|
*/
|
|
30
30
|
import type { JsonObject, JsonSchema, JsonValue } from '../types/data-contract.js';
|
|
31
|
+
import { type AppTheme } from '../schemas/app-theme.js';
|
|
31
32
|
/**
|
|
32
33
|
* MCP capability name ggui servers advertise in their MCP `initialize`
|
|
33
34
|
* response capabilities when they implement the MCP Apps outbound path.
|
|
@@ -181,7 +182,7 @@ export interface McpAppContextSlot {
|
|
|
181
182
|
* live-channel auth + capability advertisements + render state +
|
|
182
183
|
* contract pointer + component-mode discriminator.
|
|
183
184
|
*
|
|
184
|
-
* **Identity.** `
|
|
185
|
+
* **Identity.** `sessionId` is the value an iframe's bootstrap meta and
|
|
185
186
|
* every wire reference (props_update, consume, update) keys by. The
|
|
186
187
|
* value is the same one stack items carried as `stackItemId` pre-Phase-B;
|
|
187
188
|
* the rename reflects the conceptual collapse (no enclosing vessel).
|
|
@@ -193,7 +194,7 @@ export interface McpAppContextSlot {
|
|
|
193
194
|
*
|
|
194
195
|
* **Polling-fallback URL.** When WS is blocked at the host CSP layer
|
|
195
196
|
* the iframe polls `pollingUrl` (server-stamped post-Phase-B as
|
|
196
|
-
* `/api/
|
|
197
|
+
* `/api/sessions/<sessionId>/events?wsToken=<token>`). The iframe-runtime
|
|
197
198
|
* composes per-tick `&sinceSequence=<cursor>&limit=<N>` against this
|
|
198
199
|
* base; companion to `lastSequence` which seeds the initial cursor.
|
|
199
200
|
*
|
|
@@ -205,7 +206,7 @@ export interface McpAppContextSlot {
|
|
|
205
206
|
* @public
|
|
206
207
|
*/
|
|
207
208
|
export interface McpAppAiGguiRenderMeta {
|
|
208
|
-
readonly
|
|
209
|
+
readonly sessionId: string;
|
|
209
210
|
readonly appId: string;
|
|
210
211
|
readonly runtimeUrl: string;
|
|
211
212
|
readonly wsUrl?: string;
|
|
@@ -214,23 +215,30 @@ export interface McpAppAiGguiRenderMeta {
|
|
|
214
215
|
readonly pollingUrl?: string;
|
|
215
216
|
readonly themeId?: string;
|
|
216
217
|
readonly themeMode?: 'light' | 'dark';
|
|
218
|
+
/**
|
|
219
|
+
* Resolved per-app theme overlay — mode + the `--ggui-*` CSS-variable
|
|
220
|
+
* map snapshotted from `App.theme` and projected by `deriveRenderMeta`.
|
|
221
|
+
* Distinct from `themeId` (a registry preset reference) and `themeMode`
|
|
222
|
+
* (the bare light/dark discriminator): this carries the concrete
|
|
223
|
+
* variable values the iframe applies as a `:root` declaration block.
|
|
224
|
+
* Absent ⇒ no per-app overlay; the renderer applies its default theme.
|
|
225
|
+
*/
|
|
226
|
+
readonly theme?: AppTheme;
|
|
217
227
|
readonly gadgets?: ReadonlyArray<McpAppGadgetRef>;
|
|
218
228
|
readonly publicEnv?: Readonly<Record<string, string>>;
|
|
219
229
|
readonly streamWebSocketLocalTools?: readonly string[];
|
|
220
|
-
readonly appCallableTools?: readonly string[];
|
|
221
230
|
readonly permissionsPolicy?: readonly string[];
|
|
222
231
|
/**
|
|
223
232
|
* Monotonic sequence number of the most-recent event applied to
|
|
224
233
|
* this render's event ledger. Stamped on every emission (render,
|
|
225
|
-
* update, `GET /api/
|
|
234
|
+
* update, `GET /api/sessions/:id/state` read, MCP `resources/read`
|
|
226
235
|
* of `ui://ggui/render/<id>`). Consumers use it to initialize
|
|
227
236
|
* polling cursors aligned with the event ledger — see the
|
|
228
|
-
* `/api/
|
|
237
|
+
* `/api/sessions/:id/events?sinceSequence=N` endpoint that reads
|
|
229
238
|
* from a cursor.
|
|
230
239
|
*/
|
|
231
240
|
readonly lastSequence?: number;
|
|
232
241
|
readonly propsJson?: string;
|
|
233
|
-
readonly actionNextSteps?: Readonly<Record<string, string>>;
|
|
234
242
|
readonly contextSlots?: ReadonlyArray<McpAppContextSlot>;
|
|
235
243
|
readonly contractHash?: string;
|
|
236
244
|
readonly validatorsUrl?: string;
|
|
@@ -259,7 +267,7 @@ export type ParseMcpAppAiGguiRenderMetaResult = {
|
|
|
259
267
|
* Read the `ai.ggui/render` slice off a parsed JSON-RPC `_meta` object.
|
|
260
268
|
*
|
|
261
269
|
* Structural validation only. Missing key returns `{ok: true, meta: undefined}`
|
|
262
|
-
* — not a failure. Required-fields gate (
|
|
270
|
+
* — not a failure. Required-fields gate (sessionId / appId / runtimeUrl)
|
|
263
271
|
* fires only when the key is present. Field-level optional-field
|
|
264
272
|
* defensive parsing (e.g. context-slot schema narrowing, expiresAt date
|
|
265
273
|
* parse) lives downstream in the iframe-runtime's `validateMeta`.
|
|
@@ -351,8 +359,8 @@ export type ParseMcpAppAiGguiHostSessionMetaResult = {
|
|
|
351
359
|
*/
|
|
352
360
|
export declare function parseMcpAppAiGguiHostSessionMeta(meta: unknown): ParseMcpAppAiGguiHostSessionMetaResult;
|
|
353
361
|
/**
|
|
354
|
-
* Wire shape of one row in `
|
|
355
|
-
* handler's Zod-described `
|
|
362
|
+
* Wire shape of one row in `ggui_list_sessions` output. Mirrors the
|
|
363
|
+
* handler's Zod-described `sessions[*]`. Surfaced at the protocol level
|
|
356
364
|
* so non-handler consumers (sample-agent's `/chat/restore` server, future
|
|
357
365
|
* host SDK helpers) can import a single typed shape instead of
|
|
358
366
|
* redeclaring it — preventing drift if the handler ever grows fields.
|
|
@@ -361,14 +369,14 @@ export declare function parseMcpAppAiGguiHostSessionMeta(meta: unknown): ParseMc
|
|
|
361
369
|
* wired a `mintWsToken` seam on the handler — otherwise the lean
|
|
362
370
|
* summary path returns them absent.
|
|
363
371
|
*
|
|
364
|
-
* Post-Phase-B: `
|
|
372
|
+
* Post-Phase-B: `stackItemId` → `sessionId`; the old `stackItemCount` is
|
|
365
373
|
* dropped (every render is exactly one item — Phase B collapsed the
|
|
366
374
|
* vessel).
|
|
367
375
|
*
|
|
368
376
|
* @public
|
|
369
377
|
*/
|
|
370
|
-
export interface
|
|
371
|
-
readonly
|
|
378
|
+
export interface GguiSessionSummaryWire {
|
|
379
|
+
readonly sessionId: string;
|
|
372
380
|
readonly hostName?: string;
|
|
373
381
|
readonly hostSessionId?: string;
|
|
374
382
|
readonly createdAt: string;
|
|
@@ -410,8 +418,8 @@ export interface McpAppsContainerDimensions {
|
|
|
410
418
|
* Locator for the source of an embedded MCP App.
|
|
411
419
|
*
|
|
412
420
|
* Persists STABLE identity (not a raw URL) so render state survives
|
|
413
|
-
* source-server endpoint changes. The runtime
|
|
414
|
-
*
|
|
421
|
+
* source-server endpoint changes. The hosting runtime resolves
|
|
422
|
+
* `connectorId` to the actual endpoint at render time.
|
|
415
423
|
*/
|
|
416
424
|
export interface McpAppsSource {
|
|
417
425
|
/** Stable connector id declared in the app's connector registry. */
|
|
@@ -424,7 +432,7 @@ export interface McpAppsSource {
|
|
|
424
432
|
readonly resourceUri: string;
|
|
425
433
|
}
|
|
426
434
|
/**
|
|
427
|
-
*
|
|
435
|
+
* GguiSession variant: an embedded third-party MCP App iframe.
|
|
428
436
|
*
|
|
429
437
|
* **Locator-oriented, not content-oriented.** Persisted state carries
|
|
430
438
|
* `source` (connector identity) + declared CSP/permissions/dimensions
|
|
@@ -432,13 +440,13 @@ export interface McpAppsSource {
|
|
|
432
440
|
* The `@ggui-ai/mcp-server` resource-proxy route fetches the bytes
|
|
433
441
|
* on-demand via `resources/read` against the source server.
|
|
434
442
|
*
|
|
435
|
-
* **Union safety.** Fields that exist on the {@link
|
|
443
|
+
* **Union safety.** Fields that exist on the {@link ComponentGguiSession}
|
|
436
444
|
* variant are declared here as `?: never` so consumers that access them
|
|
437
|
-
* via optional chaining on `
|
|
438
|
-
* fields semantically DO NOT exist on
|
|
445
|
+
* via optional chaining on `GguiSession` still typecheck cleanly. Those
|
|
446
|
+
* fields semantically DO NOT exist on McpAppsGguiSession — the `?: never`
|
|
439
447
|
* typing encodes the "structurally absent" guarantee.
|
|
440
448
|
*/
|
|
441
|
-
export interface
|
|
449
|
+
export interface McpAppsGguiSession {
|
|
442
450
|
/** Discriminator — required on this variant. */
|
|
443
451
|
readonly type: 'mcpApps';
|
|
444
452
|
readonly id: string;
|
|
@@ -480,18 +488,18 @@ export interface McpAppsRender {
|
|
|
480
488
|
readonly clientCapabilities?: never;
|
|
481
489
|
}
|
|
482
490
|
/**
|
|
483
|
-
* Type guard: narrows a `
|
|
491
|
+
* Type guard: narrows a `GguiSession` (or unknown) to {@link McpAppsGguiSession}.
|
|
484
492
|
* Uses the discriminator.
|
|
485
493
|
*/
|
|
486
|
-
export declare function
|
|
494
|
+
export declare function isMcpAppsGguiSession(entry: unknown): entry is McpAppsGguiSession;
|
|
487
495
|
/**
|
|
488
|
-
* Structural validator for an `
|
|
496
|
+
* Structural validator for an `McpAppsGguiSession` — not a Zod schema
|
|
489
497
|
* so we don't force a Zod dependency here. Returns null on failure
|
|
490
498
|
* (caller maps to an appropriate error code). Required when accepting
|
|
491
499
|
* one over the wire from an agent: the discriminator alone isn't
|
|
492
500
|
* enough.
|
|
493
501
|
*/
|
|
494
|
-
export declare function
|
|
502
|
+
export declare function validateMcpAppsGguiSession(input: unknown): McpAppsGguiSession | null;
|
|
495
503
|
/**
|
|
496
504
|
* Lifecycle states the renderer transitions through inside an MCP Apps
|
|
497
505
|
* iframe. Closed union — adding a new state is a protocol-version-
|
|
@@ -544,7 +552,7 @@ export type McpAppLifecycleState = 'mounting' | 'code-ready' | 'error' | 'discon
|
|
|
544
552
|
*
|
|
545
553
|
* Fields:
|
|
546
554
|
* - `state` — required. The lifecycle state being entered.
|
|
547
|
-
* - `
|
|
555
|
+
* - `sessionId` — optional. When present, the lifecycle pertains to a
|
|
548
556
|
* specific render (per-card iframes via single-item mode).
|
|
549
557
|
* Absent → whole-renderer lifecycle.
|
|
550
558
|
* - `error` — optional, only meaningful when `state === 'error'`.
|
|
@@ -565,7 +573,7 @@ export type McpAppLifecycleState = 'mounting' | 'code-ready' | 'error' | 'discon
|
|
|
565
573
|
*/
|
|
566
574
|
export interface McpAppLifecycleEvent {
|
|
567
575
|
readonly state: McpAppLifecycleState;
|
|
568
|
-
readonly
|
|
576
|
+
readonly sessionId?: string;
|
|
569
577
|
readonly error?: {
|
|
570
578
|
readonly code: string;
|
|
571
579
|
readonly message: string;
|
|
@@ -649,13 +657,48 @@ export declare const MCP_APP_LIFECYCLE_STATES: readonly McpAppLifecycleState[];
|
|
|
649
657
|
* - Outer envelope is an object with `type === 'ggui:lifecycle'`.
|
|
650
658
|
* - `event` is an object with `state` matching {@link
|
|
651
659
|
* MCP_APP_LIFECYCLE_STATES}.
|
|
652
|
-
* - If `
|
|
660
|
+
* - If `sessionId` is present, it is a non-empty string.
|
|
653
661
|
* - If `error` is present, it is an object with string `code` +
|
|
654
662
|
* `message`.
|
|
655
663
|
*
|
|
656
664
|
* @public
|
|
657
665
|
*/
|
|
658
666
|
export declare function isMcpAppLifecycleMessage(message: unknown): message is McpAppLifecycleMessage;
|
|
667
|
+
/** Envelope tag: renderer alive + bundle evaluated (pre-`ui/initialize`). */
|
|
668
|
+
export declare const MCP_APP_RENDERER_READY_TYPE = "ggui:renderer-ready";
|
|
669
|
+
/** Envelope tag: a boot-path failure (parse / initialize / handshake). */
|
|
670
|
+
export declare const MCP_APP_BOOTSTRAP_FAILED_TYPE = "ggui:bootstrap-failed";
|
|
671
|
+
/** Envelope tag: renderer-internal observability event (telemetry). */
|
|
672
|
+
export declare const MCP_APP_OBSERVE_TYPE = "ggui:observe";
|
|
673
|
+
/**
|
|
674
|
+
* Envelope tag: mount-lifecycle transition. Constant twin of the
|
|
675
|
+
* literal on {@link McpAppLifecycleMessage} — the annotation ties the
|
|
676
|
+
* two so they cannot drift.
|
|
677
|
+
*/
|
|
678
|
+
export declare const MCP_APP_LIFECYCLE_TYPE: McpAppLifecycleMessage['type'];
|
|
679
|
+
/**
|
|
680
|
+
* `ggui:renderer-ready` — posted by the renderer immediately after its
|
|
681
|
+
* status DOM mounts, BEFORE `ui/initialize` fires. Optional
|
|
682
|
+
* informational signal; hosts MAY surface a "renderer alive"
|
|
683
|
+
* indicator. `version` is the renderer bundle's package version.
|
|
684
|
+
*/
|
|
685
|
+
export interface McpAppRendererReadyMessage {
|
|
686
|
+
readonly type: typeof MCP_APP_RENDERER_READY_TYPE;
|
|
687
|
+
readonly version: string;
|
|
688
|
+
}
|
|
689
|
+
/**
|
|
690
|
+
* `ggui:bootstrap-failed` — posted by the renderer (or a pre-renderer
|
|
691
|
+
* shell) on any boot-path failure. Hosts surface it on their error
|
|
692
|
+
* callback. `reason` is extensibly-closed at the protocol layer
|
|
693
|
+
* (emitters narrow it to their own closed reason unions, e.g. the
|
|
694
|
+
* renderer's boot-failure reasons); hosts MUST tolerate reason codes
|
|
695
|
+
* they don't recognise.
|
|
696
|
+
*/
|
|
697
|
+
export interface McpAppBootstrapFailedMessage {
|
|
698
|
+
readonly type: typeof MCP_APP_BOOTSTRAP_FAILED_TYPE;
|
|
699
|
+
readonly reason: string;
|
|
700
|
+
readonly message: string;
|
|
701
|
+
}
|
|
659
702
|
/**
|
|
660
703
|
* Discriminator for the user-action envelope delivered via
|
|
661
704
|
* `ggui_runtime_submit_action` over the MCP Apps host-relay path
|
|
@@ -686,8 +729,10 @@ export declare function isMcpAppLifecycleMessage(message: unknown): message is M
|
|
|
686
729
|
* audit-fire posture so semantics stay uniform.
|
|
687
730
|
*
|
|
688
731
|
* Failure-mode note: a malformed envelope (unknown `kind` AND malformed
|
|
689
|
-
* `payload`)
|
|
690
|
-
*
|
|
732
|
+
* `payload`) is rejected by the `ggui_runtime_submit_action` handler
|
|
733
|
+
* with `{ok: false, code: 'INVALID_ACTION_KIND'}` in
|
|
734
|
+
* `structuredContent` — the iframe observes the rejection through the
|
|
735
|
+
* host's `tools/call` relay response.
|
|
691
736
|
*/
|
|
692
737
|
export type SubmitActionKind = 'dispatch' | 'openLink' | 'requestDisplayMode' | (string & {});
|
|
693
738
|
/**
|
|
@@ -747,7 +792,7 @@ export type SubmitActionEnvelope = {
|
|
|
747
792
|
* Per-kind semantics:
|
|
748
793
|
*
|
|
749
794
|
* - `kind === 'dispatch'`: server appends a consume-entry onto the
|
|
750
|
-
* render-keyed pending-events pipe (`{type:'action',
|
|
795
|
+
* render-keyed pending-events pipe (`{type:'action', sessionId,
|
|
751
796
|
* intent, actionData, uiContext, actionId, firedAt}`) so the agent's
|
|
752
797
|
* `ggui_consume` long-poll unblocks in the same chat turn. The
|
|
753
798
|
* handler's response carries `consumerPresent` — whether a
|
|
@@ -757,7 +802,7 @@ export type SubmitActionEnvelope = {
|
|
|
757
802
|
* reload), the iframe-runtime ALSO emits a `ui/message` doorbell
|
|
758
803
|
* carrying `content[0]._meta["ai.ggui/userAction"]` (see
|
|
759
804
|
* {@link GguiUserActionMeta}) so a fresh agent turn calls
|
|
760
|
-
* `ggui_consume({
|
|
805
|
+
* `ggui_consume({sessionId})` to drain the just-enqueued gesture.
|
|
761
806
|
* The doorbell is a PURE POINTER — the gesture stays solely on the
|
|
762
807
|
* pipe, making the action exactly-once.
|
|
763
808
|
* - `kind ∈ {'openLink','requestDisplayMode'}`: pure audit — the
|
|
@@ -766,7 +811,7 @@ export type SubmitActionEnvelope = {
|
|
|
766
811
|
* the gesture for the RenderInspector feed.
|
|
767
812
|
*
|
|
768
813
|
* Required fields:
|
|
769
|
-
* - `
|
|
814
|
+
* - `sessionId` / `appId`: bootstrap-issued; server cross-checks.
|
|
770
815
|
* - `actionId`: 8-hex correlation hash (FNV-1a of intent + data + firedAt
|
|
771
816
|
* for `dispatch`, kind + payload + firedAt for the host-control kinds).
|
|
772
817
|
* Lets the host LLM cross-verify a `[ggui:pending-action]` context entry
|
|
@@ -779,7 +824,7 @@ export type SubmitActionEnvelope = {
|
|
|
779
824
|
* shape — see {@link SubmitActionEnvelope}.
|
|
780
825
|
*/
|
|
781
826
|
export type GguiSubmitActionInput = SubmitActionEnvelope & {
|
|
782
|
-
readonly
|
|
827
|
+
readonly sessionId: string;
|
|
783
828
|
readonly appId: string;
|
|
784
829
|
readonly actionId: string;
|
|
785
830
|
readonly firedAt: string;
|
|
@@ -819,7 +864,7 @@ export declare function isGguiSubmitActionInput(value: unknown): value is GguiSu
|
|
|
819
864
|
* the render's server-side pending-event pipe by the iframe's
|
|
820
865
|
* `ggui_runtime_submit_action` call (relayed by the host) BEFORE this
|
|
821
866
|
* notification fired; this slice's only job is to make a fresh agent turn
|
|
822
|
-
* call `ggui_consume({
|
|
867
|
+
* call `ggui_consume({sessionId})` to drain it.
|
|
823
868
|
*
|
|
824
869
|
* SINGLE SOURCE OF TRUTH: the pending-event queue. This slice carries ONLY
|
|
825
870
|
* a pointer to the render whose queue holds the gesture — never the action
|
|
@@ -847,14 +892,14 @@ export declare function isGguiSubmitActionInput(value: unknown): value is GguiSu
|
|
|
847
892
|
export interface GguiUserActionMeta {
|
|
848
893
|
readonly kind: 'user-action';
|
|
849
894
|
readonly description: string;
|
|
850
|
-
readonly
|
|
895
|
+
readonly sessionId: string;
|
|
851
896
|
readonly actionId: string;
|
|
852
897
|
readonly submittedAt: string;
|
|
853
898
|
readonly intent: string;
|
|
854
899
|
readonly nextStep: {
|
|
855
900
|
readonly tool: 'ggui_consume';
|
|
856
901
|
readonly args: {
|
|
857
|
-
readonly
|
|
902
|
+
readonly sessionId: string;
|
|
858
903
|
};
|
|
859
904
|
};
|
|
860
905
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-apps.d.ts","sourceRoot":"","sources":["../../src/integrations/mcp-apps.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-apps.d.ts","sourceRoot":"","sources":["../../src/integrations/mcp-apps.ts"],"names":[],"mappings":"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"}
|