@ggui-ai/protocol 0.1.0-rc.1
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/LICENSE +201 -0
- package/README.md +46 -0
- package/dist/bridge/invoke-agent.d.ts +65 -0
- package/dist/bridge/invoke-agent.d.ts.map +1 -0
- package/dist/bridge/invoke-agent.js +113 -0
- package/dist/envelope-adapters.d.ts +24 -0
- package/dist/envelope-adapters.d.ts.map +1 -0
- package/dist/envelope-adapters.js +14 -0
- package/dist/envelopes/builders.d.ts +145 -0
- package/dist/envelopes/builders.d.ts.map +1 -0
- package/dist/envelopes/builders.js +113 -0
- package/dist/errors/unknown-permission-name.d.ts +12 -0
- package/dist/errors/unknown-permission-name.d.ts.map +1 -0
- package/dist/errors/unknown-permission-name.js +29 -0
- package/dist/errors/version-mismatch.d.ts +55 -0
- package/dist/errors/version-mismatch.d.ts.map +1 -0
- package/dist/errors/version-mismatch.js +52 -0
- package/dist/gadgets/resolve-contract-gadgets.d.ts +93 -0
- package/dist/gadgets/resolve-contract-gadgets.d.ts.map +1 -0
- package/dist/gadgets/resolve-contract-gadgets.js +119 -0
- package/dist/gadgets/stdlib-gadgets.d.ts +43 -0
- package/dist/gadgets/stdlib-gadgets.d.ts.map +1 -0
- package/dist/gadgets/stdlib-gadgets.js +161 -0
- package/dist/iframe-bridge.d.ts +63 -0
- package/dist/iframe-bridge.d.ts.map +1 -0
- package/dist/iframe-bridge.js +166 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/integrations/mcp-apps.d.ts +1218 -0
- package/dist/integrations/mcp-apps.d.ts.map +1 -0
- package/dist/integrations/mcp-apps.js +427 -0
- package/dist/navigation/index.d.ts +3 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +1 -0
- package/dist/navigation/stack-navigation.d.ts +55 -0
- package/dist/navigation/stack-navigation.d.ts.map +1 -0
- package/dist/navigation/stack-navigation.js +80 -0
- package/dist/recommended-prompts.d.ts +56 -0
- package/dist/recommended-prompts.d.ts.map +1 -0
- package/dist/recommended-prompts.js +55 -0
- package/dist/registry/blueprint-key.d.ts +9 -0
- package/dist/registry/blueprint-key.d.ts.map +1 -0
- package/dist/registry/blueprint-key.js +28 -0
- package/dist/registry/canonicalize-contract.d.ts +35 -0
- package/dist/registry/canonicalize-contract.d.ts.map +1 -0
- package/dist/registry/canonicalize-contract.js +166 -0
- package/dist/registry/summarize-contract.d.ts +46 -0
- package/dist/registry/summarize-contract.d.ts.map +1 -0
- package/dist/registry/summarize-contract.js +63 -0
- package/dist/schema-learning/derive-contract.d.ts +67 -0
- package/dist/schema-learning/derive-contract.d.ts.map +1 -0
- package/dist/schema-learning/derive-contract.js +117 -0
- package/dist/schema-learning/merge.d.ts +32 -0
- package/dist/schema-learning/merge.d.ts.map +1 -0
- package/dist/schema-learning/merge.js +146 -0
- package/dist/schemas/blueprint.d.ts +32 -0
- package/dist/schemas/blueprint.d.ts.map +1 -0
- package/dist/schemas/blueprint.js +92 -0
- package/dist/schemas/data-contract.d.ts +750 -0
- package/dist/schemas/data-contract.d.ts.map +1 -0
- package/dist/schemas/data-contract.js +663 -0
- package/dist/schemas/gadget-name-grammar.d.ts +29 -0
- package/dist/schemas/gadget-name-grammar.d.ts.map +1 -0
- package/dist/schemas/gadget-name-grammar.js +28 -0
- package/dist/schemas/handshake-suggestion.d.ts +46 -0
- package/dist/schemas/handshake-suggestion.d.ts.map +1 -0
- package/dist/schemas/handshake-suggestion.js +107 -0
- package/dist/schemas/invoke.d.ts +337 -0
- package/dist/schemas/invoke.d.ts.map +1 -0
- package/dist/schemas/invoke.js +169 -0
- package/dist/schemas/mcp.d.ts +301 -0
- package/dist/schemas/mcp.d.ts.map +1 -0
- package/dist/schemas/mcp.js +373 -0
- package/dist/schemas/ops-blueprint.d.ts +176 -0
- package/dist/schemas/ops-blueprint.d.ts.map +1 -0
- package/dist/schemas/ops-blueprint.js +259 -0
- package/dist/schemas/sync-check.d.ts +11 -0
- package/dist/schemas/sync-check.d.ts.map +1 -0
- package/dist/schemas/sync-check.js +60 -0
- package/dist/screen-blueprints/define.d.ts +22 -0
- package/dist/screen-blueprints/define.d.ts.map +1 -0
- package/dist/screen-blueprints/define.js +3 -0
- package/dist/screen-blueprints/index.d.ts +4 -0
- package/dist/screen-blueprints/index.d.ts.map +1 -0
- package/dist/screen-blueprints/index.js +3 -0
- package/dist/screen-blueprints/match.d.ts +35 -0
- package/dist/screen-blueprints/match.d.ts.map +1 -0
- package/dist/screen-blueprints/match.js +51 -0
- package/dist/screen-blueprints/types.d.ts +164 -0
- package/dist/screen-blueprints/types.d.ts.map +1 -0
- package/dist/screen-blueprints/types.js +1 -0
- package/dist/stream/stream-parser.d.ts +62 -0
- package/dist/stream/stream-parser.d.ts.map +1 -0
- package/dist/stream/stream-parser.js +199 -0
- package/dist/transport/websocket.d.ts +178 -0
- package/dist/transport/websocket.d.ts.map +1 -0
- package/dist/transport/websocket.js +1 -0
- package/dist/types/app-config.d.ts +61 -0
- package/dist/types/app-config.d.ts.map +1 -0
- package/dist/types/app-config.js +1 -0
- package/dist/types/auth.d.ts +61 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +1 -0
- package/dist/types/blueprint.d.ts +206 -0
- package/dist/types/blueprint.d.ts.map +1 -0
- package/dist/types/blueprint.js +1 -0
- package/dist/types/canvas-lifecycle.d.ts +105 -0
- package/dist/types/canvas-lifecycle.d.ts.map +1 -0
- package/dist/types/canvas-lifecycle.js +38 -0
- package/dist/types/capabilities.d.ts +40 -0
- package/dist/types/capabilities.d.ts.map +1 -0
- package/dist/types/capabilities.js +19 -0
- package/dist/types/contract-inference.d.ts +401 -0
- package/dist/types/contract-inference.d.ts.map +1 -0
- package/dist/types/contract-inference.js +44 -0
- package/dist/types/credential.d.ts +41 -0
- package/dist/types/credential.d.ts.map +1 -0
- package/dist/types/credential.js +32 -0
- package/dist/types/data-bindings.d.ts +322 -0
- package/dist/types/data-bindings.d.ts.map +1 -0
- package/dist/types/data-bindings.js +29 -0
- package/dist/types/data-contract.d.ts +1296 -0
- package/dist/types/data-contract.d.ts.map +1 -0
- package/dist/types/data-contract.js +111 -0
- package/dist/types/events.d.ts +182 -0
- package/dist/types/events.d.ts.map +1 -0
- package/dist/types/events.js +8 -0
- package/dist/types/feedback.d.ts +24 -0
- package/dist/types/feedback.d.ts.map +1 -0
- package/dist/types/feedback.js +7 -0
- package/dist/types/gadget.d.ts +121 -0
- package/dist/types/gadget.d.ts.map +1 -0
- package/dist/types/gadget.js +24 -0
- package/dist/types/handshake-suggestion.d.ts +264 -0
- package/dist/types/handshake-suggestion.d.ts.map +1 -0
- package/dist/types/handshake-suggestion.js +70 -0
- package/dist/types/host-context.d.ts +163 -0
- package/dist/types/host-context.d.ts.map +1 -0
- package/dist/types/host-context.js +142 -0
- package/dist/types/interface-context.d.ts +105 -0
- package/dist/types/interface-context.d.ts.map +1 -0
- package/dist/types/interface-context.js +115 -0
- package/dist/types/invoke.d.ts +28 -0
- package/dist/types/invoke.d.ts.map +1 -0
- package/dist/types/invoke.js +7 -0
- package/dist/types/live-channel.d.ts +613 -0
- package/dist/types/live-channel.d.ts.map +1 -0
- package/dist/types/live-channel.js +1 -0
- package/dist/types/llm.d.ts +61 -0
- package/dist/types/llm.d.ts.map +1 -0
- package/dist/types/llm.js +186 -0
- package/dist/types/mcp-proxy.d.ts +67 -0
- package/dist/types/mcp-proxy.d.ts.map +1 -0
- package/dist/types/mcp-proxy.js +46 -0
- package/dist/types/mcp.d.ts +637 -0
- package/dist/types/mcp.d.ts.map +1 -0
- package/dist/types/mcp.js +30 -0
- package/dist/types/openrouter-models.d.ts +22 -0
- package/dist/types/openrouter-models.d.ts.map +1 -0
- package/dist/types/openrouter-models.js +4843 -0
- package/dist/types/region.d.ts +26 -0
- package/dist/types/region.d.ts.map +1 -0
- package/dist/types/region.js +36 -0
- package/dist/types/session.d.ts +419 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +1 -0
- package/dist/types/thread.d.ts +207 -0
- package/dist/types/thread.d.ts.map +1 -0
- package/dist/types/thread.js +57 -0
- package/dist/types/ui-generator.d.ts +100 -0
- package/dist/types/ui-generator.d.ts.map +1 -0
- package/dist/types/ui-generator.js +53 -0
- package/dist/validation/ajv-runtime.d.ts +140 -0
- package/dist/validation/ajv-runtime.d.ts.map +1 -0
- package/dist/validation/ajv-runtime.js +452 -0
- package/dist/validation/content-hash.d.ts +3 -0
- package/dist/validation/content-hash.d.ts.map +1 -0
- package/dist/validation/content-hash.js +21 -0
- package/dist/validation/contract-validator.d.ts +244 -0
- package/dist/validation/contract-validator.d.ts.map +1 -0
- package/dist/validation/contract-validator.js +711 -0
- package/dist/validation/cross-references.d.ts +105 -0
- package/dist/validation/cross-references.d.ts.map +1 -0
- package/dist/validation/cross-references.js +164 -0
- package/dist/validation/hygiene-rules.d.ts +250 -0
- package/dist/validation/hygiene-rules.d.ts.map +1 -0
- package/dist/validation/hygiene-rules.js +564 -0
- package/dist/validation/lint-contract.d.ts +130 -0
- package/dist/validation/lint-contract.d.ts.map +1 -0
- package/dist/validation/lint-contract.js +225 -0
- package/dist/validation/name-invariants.d.ts +117 -0
- package/dist/validation/name-invariants.d.ts.map +1 -0
- package/dist/validation/name-invariants.js +172 -0
- package/dist/validation/reserved-channels.d.ts +156 -0
- package/dist/validation/reserved-channels.d.ts.map +1 -0
- package/dist/validation/reserved-channels.js +356 -0
- package/dist/validation/resolve-stream-channel.d.ts +78 -0
- package/dist/validation/resolve-stream-channel.d.ts.map +1 -0
- package/dist/validation/resolve-stream-channel.js +64 -0
- package/dist/validation/sanitize-error.d.ts +46 -0
- package/dist/validation/sanitize-error.d.ts.map +1 -0
- package/dist/validation/sanitize-error.js +88 -0
- package/dist/validation/schema-compat-invariants.d.ts +140 -0
- package/dist/validation/schema-compat-invariants.d.ts.map +1 -0
- package/dist/validation/schema-compat-invariants.js +220 -0
- package/dist/validation/schema-meta-validation.d.ts +60 -0
- package/dist/validation/schema-meta-validation.d.ts.map +1 -0
- package/dist/validation/schema-meta-validation.js +131 -0
- package/dist/validation/schema-subset.d.ts +165 -0
- package/dist/validation/schema-subset.d.ts.map +1 -0
- package/dist/validation/schema-subset.js +295 -0
- package/dist/validation/ui-security.d.ts +54 -0
- package/dist/validation/ui-security.d.ts.map +1 -0
- package/dist/validation/ui-security.js +138 -0
- package/dist/validation/zod-to-json-schema.d.ts +63 -0
- package/dist/validation/zod-to-json-schema.d.ts.map +1 -0
- package/dist/validation/zod-to-json-schema.js +126 -0
- package/dist/version.d.ts +1458 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +1459 -0
- package/package.json +113 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two-axis region model:
|
|
3
|
+
*
|
|
4
|
+
* - `Market` is user-facing. Drives Discover visibility, editorial curation,
|
|
5
|
+
* and compliance copy. Users see flags / country names, never AWS regions.
|
|
6
|
+
* - `ServingRegion` is infra-facing. Drives compute, storage, routing, and
|
|
7
|
+
* residency. Surfaced in UI only as "Data processed in {country}" when
|
|
8
|
+
* userMarket ≠ servingRegion locality, and only inside a details section.
|
|
9
|
+
*
|
|
10
|
+
* A `Thread` is pinned to a single `servingRegion` at creation time.
|
|
11
|
+
* Write-once, immutable, enforced via DynamoDB conditional write.
|
|
12
|
+
*
|
|
13
|
+
* Do NOT use ad-hoc strings for either axis in app code — import from here.
|
|
14
|
+
*/
|
|
15
|
+
export declare const MARKETS: readonly ["KR", "JP", "US", "GLOBAL"];
|
|
16
|
+
export type Market = (typeof MARKETS)[number];
|
|
17
|
+
export declare const SERVING_REGIONS: readonly ["ap-northeast-2", "ap-northeast-1", "us-east-1"];
|
|
18
|
+
export type ServingRegion = (typeof SERVING_REGIONS)[number];
|
|
19
|
+
export declare function isMarket(value: unknown): value is Market;
|
|
20
|
+
export declare function isServingRegion(value: unknown): value is ServingRegion;
|
|
21
|
+
/**
|
|
22
|
+
* Human-facing country display for a ServingRegion. Used only in the
|
|
23
|
+
* "Data processed in {country}" disclosure on Agent Profile.
|
|
24
|
+
*/
|
|
25
|
+
export declare const SERVING_REGION_COUNTRY: Record<ServingRegion, string>;
|
|
26
|
+
//# sourceMappingURL=region.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"region.d.ts","sourceRoot":"","sources":["../../src/types/region.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,OAAO,uCAAwC,CAAC;AAC7D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9C,eAAO,MAAM,eAAe,4DAIlB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAKtE;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAIhE,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two-axis region model:
|
|
3
|
+
*
|
|
4
|
+
* - `Market` is user-facing. Drives Discover visibility, editorial curation,
|
|
5
|
+
* and compliance copy. Users see flags / country names, never AWS regions.
|
|
6
|
+
* - `ServingRegion` is infra-facing. Drives compute, storage, routing, and
|
|
7
|
+
* residency. Surfaced in UI only as "Data processed in {country}" when
|
|
8
|
+
* userMarket ≠ servingRegion locality, and only inside a details section.
|
|
9
|
+
*
|
|
10
|
+
* A `Thread` is pinned to a single `servingRegion` at creation time.
|
|
11
|
+
* Write-once, immutable, enforced via DynamoDB conditional write.
|
|
12
|
+
*
|
|
13
|
+
* Do NOT use ad-hoc strings for either axis in app code — import from here.
|
|
14
|
+
*/
|
|
15
|
+
export const MARKETS = ['KR', 'JP', 'US', 'GLOBAL'];
|
|
16
|
+
export const SERVING_REGIONS = [
|
|
17
|
+
'ap-northeast-2', // Seoul
|
|
18
|
+
'ap-northeast-1', // Tokyo
|
|
19
|
+
'us-east-1', // N. Virginia
|
|
20
|
+
];
|
|
21
|
+
export function isMarket(value) {
|
|
22
|
+
return typeof value === 'string' && MARKETS.includes(value);
|
|
23
|
+
}
|
|
24
|
+
export function isServingRegion(value) {
|
|
25
|
+
return (typeof value === 'string' &&
|
|
26
|
+
SERVING_REGIONS.includes(value));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Human-facing country display for a ServingRegion. Used only in the
|
|
30
|
+
* "Data processed in {country}" disclosure on Agent Profile.
|
|
31
|
+
*/
|
|
32
|
+
export const SERVING_REGION_COUNTRY = {
|
|
33
|
+
'ap-northeast-2': 'South Korea',
|
|
34
|
+
'ap-northeast-1': 'Japan',
|
|
35
|
+
'us-east-1': 'United States',
|
|
36
|
+
};
|
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
import type { EventSubscription } from './events';
|
|
2
|
+
import type { CapabilityPermissions, QualityMetadata } from './capabilities';
|
|
3
|
+
import type { KNOWN_PERMISSION_NAMES } from '../validation/hygiene-rules';
|
|
4
|
+
import type { PropsSpec, StreamSpec, ActionSpec, ContextSpec, ClientCapabilitiesSpec, GadgetDescriptor, JsonSchema, JsonObject } from './data-contract';
|
|
5
|
+
import type { EndUserIdentity } from './auth';
|
|
6
|
+
import type { HostContextProjection } from './host-context';
|
|
7
|
+
import type { McpAppsMode } from './app-config';
|
|
8
|
+
import type { McpAppsStackItem } from '../integrations/mcp-apps';
|
|
9
|
+
/**
|
|
10
|
+
* Declarative action for interactive UI elements.
|
|
11
|
+
*
|
|
12
|
+
* @deprecated Pre-actionSpec wire shape. New code declares user gestures
|
|
13
|
+
* via {@link DataContract.actionSpec} ({@link ActionEntry}); the entry
|
|
14
|
+
* carries `label` / `schema` / `nextStep` / `confirm` / `icon`. This
|
|
15
|
+
* interface is retained because some stored stack items still carry an
|
|
16
|
+
* `actions?: Action[]` field through denormalizers.
|
|
17
|
+
*
|
|
18
|
+
* Extends {@link JsonObject} so it can be serialized directly over
|
|
19
|
+
* WebSocket or stored server-side without transformation.
|
|
20
|
+
*/
|
|
21
|
+
export interface Action extends JsonObject {
|
|
22
|
+
/** Unique identifier for this action (returned in the event payload) */
|
|
23
|
+
id: string;
|
|
24
|
+
/** Human-readable label displayed on the UI element */
|
|
25
|
+
label: string;
|
|
26
|
+
/** Optional description shown as secondary text */
|
|
27
|
+
description?: string;
|
|
28
|
+
/** Optional icon hint (emoji or icon name) */
|
|
29
|
+
icon?: string;
|
|
30
|
+
/** Visual style hint */
|
|
31
|
+
variant?: 'primary' | 'secondary' | 'danger' | 'ghost';
|
|
32
|
+
/** Whether to show confirmation before triggering */
|
|
33
|
+
confirm?: boolean | string;
|
|
34
|
+
/** Whether currently disabled */
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Stack item — the generated/native component variant.
|
|
39
|
+
*
|
|
40
|
+
* One of two variants in the {@link SessionStackEntry} discriminated
|
|
41
|
+
* union (the other being {@link McpAppsStackItem} for inbound MCP Apps
|
|
42
|
+
* hosting). The discriminator is the optional `type` field:
|
|
43
|
+
* - `type: 'component'` or absent → this variant (generated UI).
|
|
44
|
+
* - `type: 'mcpApps'` → {@link McpAppsStackItem}.
|
|
45
|
+
*
|
|
46
|
+
* Existing producers that don't populate `type` continue to create
|
|
47
|
+
* component items — `type` is optional for back-compat with stored
|
|
48
|
+
* data and producers from before the discriminated-union landed.
|
|
49
|
+
* Consumers narrow via `item.type === 'mcpApps'` (or the
|
|
50
|
+
* {@link isMcpAppsStackItem} helper in
|
|
51
|
+
* `@ggui-ai/protocol/integrations/mcp-apps`).
|
|
52
|
+
*
|
|
53
|
+
* Generic `TProps` defaults to {@link JsonObject} for untyped usage.
|
|
54
|
+
* When a contract is known, pass the inferred type for compile-time safety:
|
|
55
|
+
* `StackItem<{ city: string; temperature: number }>`
|
|
56
|
+
*/
|
|
57
|
+
export interface StackItem<TProps = JsonObject> {
|
|
58
|
+
id: string;
|
|
59
|
+
/**
|
|
60
|
+
* Variant discriminator. Optional on this (component) variant — an
|
|
61
|
+
* absent `type` implicitly means `'component'`. Required `'mcpApps'`
|
|
62
|
+
* on the {@link McpAppsStackItem} variant.
|
|
63
|
+
*/
|
|
64
|
+
type?: 'component';
|
|
65
|
+
/**
|
|
66
|
+
* Theme preset id for THIS stack item — agent-explicit per-push
|
|
67
|
+
* override on the layered theme-resolution chain:
|
|
68
|
+
*
|
|
69
|
+
* 1. `StackItem.themeId` — this field (rare; agent explicit)
|
|
70
|
+
* 2. `Session.themeId` — chat-scoped default (set on new_session)
|
|
71
|
+
* 3. `App.defaultThemeId` — server-side per-app default
|
|
72
|
+
* 4. server fallback — `listThemes()[0]` / process default
|
|
73
|
+
*
|
|
74
|
+
* First non-undefined wins at bootstrap-meta projection time. Set
|
|
75
|
+
* this only when the agent wants ONE push to render differently
|
|
76
|
+
* from the session default (e.g. an urgent alert in `crimson` while
|
|
77
|
+
* the rest of the chat stays on `slate`). Most pushes omit it and
|
|
78
|
+
* inherit the session theme; that's the intended common case.
|
|
79
|
+
*/
|
|
80
|
+
themeId?: string;
|
|
81
|
+
/** Blueprint component code (pure UI) */
|
|
82
|
+
componentCode: string;
|
|
83
|
+
/** Props to pass to the component at render time.
|
|
84
|
+
* Carries request-specific data values (e.g., { city: "Seoul", temperature: 15 }).
|
|
85
|
+
* Renderer passes these as: <Component {...props} /> */
|
|
86
|
+
props?: TProps;
|
|
87
|
+
/** The prompt that produced this component (if LLM-generated) */
|
|
88
|
+
prompt?: string;
|
|
89
|
+
/** Human-readable description of what this component is */
|
|
90
|
+
description?: string;
|
|
91
|
+
/** Content type. Determines how componentCode is interpreted.
|
|
92
|
+
* Default: 'application/javascript+react' */
|
|
93
|
+
contentType?: string;
|
|
94
|
+
/** Agent message to display while the component generates (thinking indicator) */
|
|
95
|
+
message?: string;
|
|
96
|
+
/** JSON Schema for validating user-submitted form data */
|
|
97
|
+
schema?: JsonSchema;
|
|
98
|
+
/**
|
|
99
|
+
* Event filter — pre-actionSpec event-routing surface.
|
|
100
|
+
*
|
|
101
|
+
* @deprecated The four-spec model (propsSpec/actionSpec/streamSpec/
|
|
102
|
+
* contextSpec) on {@link DataContract} replaces wholesale event
|
|
103
|
+
* filtering. Retained on stored stack items for back-compat.
|
|
104
|
+
*/
|
|
105
|
+
subscription?: EventSubscription;
|
|
106
|
+
/** Capability permissions granted to this component */
|
|
107
|
+
capabilities?: CapabilityPermissions;
|
|
108
|
+
/**
|
|
109
|
+
* Declarative interaction contract — pre-actionSpec list shape.
|
|
110
|
+
*
|
|
111
|
+
* @deprecated Use {@link DataContract.actionSpec} ({@link ActionEntry})
|
|
112
|
+
* instead. Retained on stored stack items for back-compat.
|
|
113
|
+
*/
|
|
114
|
+
actions?: Action[];
|
|
115
|
+
/** Quality evaluation metadata */
|
|
116
|
+
quality?: QualityMetadata;
|
|
117
|
+
/** Generation error message (populated on failure) */
|
|
118
|
+
error?: string;
|
|
119
|
+
/** Stream contract — describes what data the component accepts in real-time via ggui_emit */
|
|
120
|
+
streamSpec?: StreamSpec;
|
|
121
|
+
/** Props contract — initial render data interface (JSON Schema-based) */
|
|
122
|
+
propsSpec?: PropsSpec;
|
|
123
|
+
/** Action contract — user interaction callbacks (JSON Schema-based) */
|
|
124
|
+
actionSpec?: ActionSpec;
|
|
125
|
+
/** Context contract — observable client state surfaced to the agent's
|
|
126
|
+
* LLM context via React Context Providers. See {@link ContextSpec}
|
|
127
|
+
* for the full contract. */
|
|
128
|
+
contextSpec?: ContextSpec;
|
|
129
|
+
/**
|
|
130
|
+
* Client capabilities catalog — declarative browser-capability gadget
|
|
131
|
+
* hook bindings carried alongside this stack item. Mirrored verbatim
|
|
132
|
+
* from `DataContract.clientCapabilities` at `ggui_push` commit time.
|
|
133
|
+
*
|
|
134
|
+
* The persisted shape is the **wire** view
|
|
135
|
+
* ({@link ClientCapabilitiesSpec}) — package-keyed:
|
|
136
|
+
* `Record<package, { exports: Record<exportName, …> }>`. Identity
|
|
137
|
+
* (`package` + per-export `name`) is preserved verbatim from the
|
|
138
|
+
* agent's push payload — no enrichment overlay, no `version` (it
|
|
139
|
+
* resolves from `App.gadgets`). Resolution metadata (`version`,
|
|
140
|
+
* `bundleUrl`, `bundleSri`, `bundleHost`, `permission`, `connect`,
|
|
141
|
+
* `styleUrl`, ...) lives on the parallel
|
|
142
|
+
* {@link SessionStackEntry.gadgetDescriptors} sidecar — a filtered
|
|
143
|
+
* snapshot of `App.gadgets` covering only the descriptors referenced
|
|
144
|
+
* by this contract.
|
|
145
|
+
*
|
|
146
|
+
* Absent ⇒ no permissions requested (default-deny). Bootstrap omits
|
|
147
|
+
* `permissionsPolicy` and the public-render HTTP response sets no
|
|
148
|
+
* `Permissions-Policy` header beyond the host's own defaults.
|
|
149
|
+
*/
|
|
150
|
+
clientCapabilities?: ClientCapabilitiesSpec;
|
|
151
|
+
/**
|
|
152
|
+
* Descriptor sidecar. Subset of `App.gadgets` containing
|
|
153
|
+
* exactly the descriptors referenced by `clientCapabilities.gadgets`
|
|
154
|
+
* — matched by `(package, export name)`. `version` is not on the
|
|
155
|
+
* wire; it resolves from each descriptor's `App.gadgets` entry.
|
|
156
|
+
* Snapshot at push-time; never re-resolved at render. Permissions-Policy
|
|
157
|
+
* + CSP + bundle-loader derivation read from this array (see
|
|
158
|
+
* `bootstrap-meta-derivation.ts`).
|
|
159
|
+
*
|
|
160
|
+
* Smaller than the full `App.gadgets` (~1-5KB typical); the full
|
|
161
|
+
* catalog stays recoverable from operator config if forensics need it.
|
|
162
|
+
*
|
|
163
|
+
* Omitted when `clientCapabilities` declares no gadgets.
|
|
164
|
+
*/
|
|
165
|
+
gadgetDescriptors?: readonly GadgetDescriptor[];
|
|
166
|
+
/**
|
|
167
|
+
* Last-known snapshot of the contextSpec slot values, mirrored from
|
|
168
|
+
* the runtime's `ui/update-model-context` posts via `ggui_runtime_sync_context`.
|
|
169
|
+
* Keyed by slot name; values are JSON-serializable per the slot's
|
|
170
|
+
* declared schema. Last-write-wins (REPLACE semantics, never merge).
|
|
171
|
+
*
|
|
172
|
+
* Resume contract — when chat-history rehydrate re-mounts the
|
|
173
|
+
* iframe, the resource handler seeds `contextSlots[i].default` with
|
|
174
|
+
* `contextSnapshot[name]` (when present) instead of the
|
|
175
|
+
* authoring-time default. Without this field, rehydrate loses the
|
|
176
|
+
* user's interactive state (typed text, counter values, toggle
|
|
177
|
+
* positions); with it, the user sees their last-known state.
|
|
178
|
+
*
|
|
179
|
+
* Absent on initial render until the first context-update fires
|
|
180
|
+
* from the runtime. The bootstrap-meta projection
|
|
181
|
+
* (`deriveStackItemBootstrapView`) gracefully falls back to
|
|
182
|
+
* `entry.default` per slot when this field is absent.
|
|
183
|
+
*/
|
|
184
|
+
contextSnapshot?: JsonObject;
|
|
185
|
+
createdAt: string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Recognised system-card kinds the runtime renders via built-in
|
|
189
|
+
* components. The wire is open-ended (string), but new kinds without a
|
|
190
|
+
* matching renderer fall through to a generic "system message" card so
|
|
191
|
+
* an old runtime + new server still produce something visible.
|
|
192
|
+
*/
|
|
193
|
+
export type SystemStackItemKind = 'no-credentials' | 'mcp-apps-probe' | (string & {});
|
|
194
|
+
/**
|
|
195
|
+
* Stack item — server-emitted system card.
|
|
196
|
+
*
|
|
197
|
+
* The third StackItem variant. Used when the SERVER (not an LLM, not
|
|
198
|
+
* an MCP host) needs to render a UI card the operator can act on:
|
|
199
|
+
* "set up your LLM key", "rate limited, try later", "server is
|
|
200
|
+
* misconfigured", etc.
|
|
201
|
+
*
|
|
202
|
+
* Why a separate variant: prior to this, system cards were authored
|
|
203
|
+
* as raw ESM source strings inlined alongside generated `componentCode`
|
|
204
|
+
* (see deleted `CONNECT_CLAUDE_CARD_COMPONENT_CODE`). That pattern
|
|
205
|
+
* bypasses TS, lint, and design-system co-evolution, and forces server
|
|
206
|
+
* code to hand-emit `React.createElement` calls. The system variant
|
|
207
|
+
* carries an opaque `kind` + structured `props`; the runtime maps the
|
|
208
|
+
* kind to a real `.tsx` component bundled inside it.
|
|
209
|
+
*
|
|
210
|
+
* Wire shape is intentionally tiny — server emits identifier + data,
|
|
211
|
+
* not code.
|
|
212
|
+
*/
|
|
213
|
+
export interface SystemStackItem<TProps extends JsonObject = JsonObject> {
|
|
214
|
+
id: string;
|
|
215
|
+
type: 'system';
|
|
216
|
+
/**
|
|
217
|
+
* Identifier the runtime maps to a built-in renderer. Stable strings
|
|
218
|
+
* (kebab-case) that survive runtime version skew — adding a new kind
|
|
219
|
+
* never breaks an older runtime; it just falls through to a generic
|
|
220
|
+
* card carrying the props as raw JSON.
|
|
221
|
+
*/
|
|
222
|
+
kind: SystemStackItemKind;
|
|
223
|
+
/** Props forwarded to the built-in renderer. */
|
|
224
|
+
props?: TProps;
|
|
225
|
+
/** Optional descriptive text the server can attach (telemetry, logs). */
|
|
226
|
+
description?: string;
|
|
227
|
+
createdAt: string;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Canonical session-stack entry — discriminated union over the three
|
|
231
|
+
* stack-item variants ggui supports:
|
|
232
|
+
*
|
|
233
|
+
* - {@link StackItem} — generated / native component (has
|
|
234
|
+
* `componentCode`, `actionSpec`, `streamSpec`, etc.).
|
|
235
|
+
* - {@link McpAppsStackItem} — embedded third-party MCP App iframe.
|
|
236
|
+
* - {@link SystemStackItem} — server-emitted system card (carries a
|
|
237
|
+
* stable `kind` + props; runtime renders via a built-in
|
|
238
|
+
* component).
|
|
239
|
+
*
|
|
240
|
+
* Narrowing pattern:
|
|
241
|
+
* ```ts
|
|
242
|
+
* if (entry.type === 'mcpApps') {
|
|
243
|
+
* // McpAppsStackItem — render via host-role adapter
|
|
244
|
+
* } else if (entry.type === 'system') {
|
|
245
|
+
* // SystemStackItem — render via built-in card registry
|
|
246
|
+
* } else {
|
|
247
|
+
* // StackItem — render via DynamicComponent
|
|
248
|
+
* }
|
|
249
|
+
* ```
|
|
250
|
+
*
|
|
251
|
+
* Or use the {@link isMcpAppsStackItem} / component helpers exported
|
|
252
|
+
* from `@ggui-ai/protocol/integrations/mcp-apps`.
|
|
253
|
+
*/
|
|
254
|
+
export type SessionStackEntry<TProps = JsonObject> = StackItem<TProps> | McpAppsStackItem | SystemStackItem;
|
|
255
|
+
/**
|
|
256
|
+
* Adapter permission status
|
|
257
|
+
*/
|
|
258
|
+
export type PermissionStatus = 'granted' | 'denied' | 'prompt';
|
|
259
|
+
/**
|
|
260
|
+
* Adapter permissions — per-session map keyed by Web Permissions API
|
|
261
|
+
* name (see `KNOWN_PERMISSION_NAMES` in `validation/hygiene-rules.ts`).
|
|
262
|
+
*
|
|
263
|
+
* Keys derive from `KNOWN_PERMISSION_NAMES` so there's one source of
|
|
264
|
+
* truth for permission identifiers across the protocol surface
|
|
265
|
+
* (schema validation, hygiene rules, and runtime SDK cache).
|
|
266
|
+
*
|
|
267
|
+
* Pre-launch posture: no backward-compat alias for the old field
|
|
268
|
+
* names — every consumer reads/writes through the runtime SDK
|
|
269
|
+
* `requestPermission` call, which itself is gated against the same
|
|
270
|
+
* enum.
|
|
271
|
+
*/
|
|
272
|
+
export type AdapterPermissions = {
|
|
273
|
+
readonly [K in (typeof KNOWN_PERMISSION_NAMES)[number]]?: PermissionStatus;
|
|
274
|
+
};
|
|
275
|
+
/**
|
|
276
|
+
* Session state (internal — includes implementation details like connectionId)
|
|
277
|
+
*/
|
|
278
|
+
export interface Session {
|
|
279
|
+
id: string;
|
|
280
|
+
appId: string;
|
|
281
|
+
connectionId?: string;
|
|
282
|
+
userId?: string;
|
|
283
|
+
/** Full authenticated end-user identity (populated after auth gate) */
|
|
284
|
+
endUserIdentity?: EndUserIdentity;
|
|
285
|
+
/**
|
|
286
|
+
* Theme preset id for this chat-scoped session. Set on
|
|
287
|
+
* `ggui_new_session` from the agent's explicit `themeId` input or
|
|
288
|
+
* the per-app `App.defaultThemeId` default. Read at every
|
|
289
|
+
* `ggui_push` commit so the bootstrap-meta projection can resolve
|
|
290
|
+
* the layered theme chain (see {@link StackItem.themeId} for the
|
|
291
|
+
* full ordering). Absent ⇒ the chain falls through to the app /
|
|
292
|
+
* server default at render time.
|
|
293
|
+
*/
|
|
294
|
+
themeId?: string;
|
|
295
|
+
stack: SessionStackEntry[];
|
|
296
|
+
currentStackIndex: number;
|
|
297
|
+
adapterPermissions: AdapterPermissions;
|
|
298
|
+
eventSequence: number;
|
|
299
|
+
createdAt: number;
|
|
300
|
+
lastActivityAt: number;
|
|
301
|
+
expiresAt: number;
|
|
302
|
+
/**
|
|
303
|
+
* Resolved session lifecycle status. SessionStore implementations
|
|
304
|
+
* MAY populate this on `get` (e.g. InMemory + Sqlite compute from
|
|
305
|
+
* internal `closed` flag + `expiresAt`; cloud Dynamo reads
|
|
306
|
+
* `sessionStatus` row column). Absent = caller treats as
|
|
307
|
+
* `'active'` — the legacy default for stores that don't surface
|
|
308
|
+
* lifecycle state.
|
|
309
|
+
*/
|
|
310
|
+
status?: 'active' | 'completed' | 'expired';
|
|
311
|
+
/**
|
|
312
|
+
* Latest `HostContextProjection` echoed from the iframe-runtime via
|
|
313
|
+
* the live-channel `host_context_observed` message. Captured at iframe
|
|
314
|
+
* `ui/initialize` time + updated on every spec-defined
|
|
315
|
+
* `ui/notifications/host-context-changed` notification.
|
|
316
|
+
*
|
|
317
|
+
* Surfaced to the agent via `client.hostContext` on `ggui_handshake`
|
|
318
|
+
* and `ggui_consume` output so the agent can reason about device
|
|
319
|
+
* class, available display modes, and container dimensions on each
|
|
320
|
+
* turn..
|
|
321
|
+
*
|
|
322
|
+
* Absent ⇒ the iframe has not echoed a HostContext yet (first push
|
|
323
|
+
* before iframe mount, or non-spec-compliant host that doesn't
|
|
324
|
+
* supply `McpUiHostContext`). Agent falls back to ggui's own
|
|
325
|
+
* `InterfaceContext` in that case.
|
|
326
|
+
*/
|
|
327
|
+
hostContext?: HostContextProjection;
|
|
328
|
+
/**
|
|
329
|
+
* Resolved MCP-Apps presentation mode for this session. Persisted at
|
|
330
|
+
* `ggui_new_session` time from the app config's `defaultMcpAppsMode`
|
|
331
|
+
* so mid-session app-config changes don't disrupt live sessions.
|
|
332
|
+
*
|
|
333
|
+
* - `'inline'` (default): each `ggui_push` returns its own ui://
|
|
334
|
+
* resource. Today's behavior.
|
|
335
|
+
* - `'canvas'`: a session-scoped iframe was minted by
|
|
336
|
+
* `ggui_new_session`. `ggui_push` delivers via live-channel WS once
|
|
337
|
+
* the canvas iframe completes its `ui/initialize` handshake (see
|
|
338
|
+
* {@link canvasLoaded}).
|
|
339
|
+
*
|
|
340
|
+
* Absent ⇒ `'inline'` (zero-config default for legacy sessions).
|
|
341
|
+
*
|
|
342
|
+
*/
|
|
343
|
+
mcpAppsMode?: McpAppsMode;
|
|
344
|
+
/**
|
|
345
|
+
* Set to `true` when the canvas iframe (for `mcpAppsMode === 'canvas'`
|
|
346
|
+
* sessions) has completed its `ui/initialize` handshake AND opened
|
|
347
|
+
* its live-channel subscription. Read by `ggui_push` to decide whether
|
|
348
|
+
* to deliver state via WS (canvas loaded) or return a per-push
|
|
349
|
+
* resource (canvas not yet loaded → fallback to inline-style
|
|
350
|
+
* delivery for that single push).
|
|
351
|
+
*
|
|
352
|
+
* Always undefined / false for `mcpAppsMode === 'inline'` sessions.
|
|
353
|
+
*
|
|
354
|
+
*/
|
|
355
|
+
canvasLoaded?: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* Currently-active stack item id from the canvas's user nav stack.
|
|
358
|
+
* Updated server-side on every `canvas_navigated` envelope from the
|
|
359
|
+
* iframe. Drives `ggui_consume`'s active-pipe resolution (consumer
|
|
360
|
+
* picks events targeting the active item, ignoring background
|
|
361
|
+
* cold-gen for items the user has navigated away from) and gates
|
|
362
|
+
* which in-flight `runGeneration` AbortSignals should fire.
|
|
363
|
+
*
|
|
364
|
+
* Distinct from `currentStackIndex`: that field tracks the SERVER's
|
|
365
|
+
* stack mutation cursor (last push location); this tracks the
|
|
366
|
+
* USER's navigation focus. They can diverge when the agent pushes
|
|
367
|
+
* item C while the user is on item B — currentStackIndex points
|
|
368
|
+
* to C, activeStackItemId stays B.
|
|
369
|
+
*
|
|
370
|
+
* Absent for inline sessions + the first push of a canvas session
|
|
371
|
+
* before any `canvas_navigated` lands..
|
|
372
|
+
*/
|
|
373
|
+
activeStackItemId?: string;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Session view — clean protocol representation (no internal fields).
|
|
377
|
+
* This is what agents see via getSession.
|
|
378
|
+
*/
|
|
379
|
+
export interface SessionView {
|
|
380
|
+
id: string;
|
|
381
|
+
appId: string;
|
|
382
|
+
status: 'active' | 'completed' | 'expired';
|
|
383
|
+
stack: SessionStackEntry[];
|
|
384
|
+
currentStackIndex: number;
|
|
385
|
+
eventSequence: number;
|
|
386
|
+
endUserIdentity?: EndUserIdentity;
|
|
387
|
+
adapterPermissions?: AdapterPermissions;
|
|
388
|
+
createdAt: string;
|
|
389
|
+
lastActivityAt: string;
|
|
390
|
+
expiresAt: string;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* A single turn in the agent-user conversation.
|
|
394
|
+
* Platforms SHOULD record conversation turns automatically and forward them to agents.
|
|
395
|
+
*
|
|
396
|
+
* Generic `TToolArgs` defaults to {@link JsonObject} for the tool call arguments type.
|
|
397
|
+
*/
|
|
398
|
+
export interface ConversationTurn<TToolArgs = JsonObject> {
|
|
399
|
+
role: 'user' | 'agent';
|
|
400
|
+
content: string;
|
|
401
|
+
toolCalls?: {
|
|
402
|
+
name: string;
|
|
403
|
+
args: TToolArgs;
|
|
404
|
+
}[];
|
|
405
|
+
timestamp: string;
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Progress update emitted by a producer during component production.
|
|
409
|
+
* Delivered via the `ggui:logs` bridge event.
|
|
410
|
+
*/
|
|
411
|
+
export interface ProgressUpdate {
|
|
412
|
+
sessionId: string;
|
|
413
|
+
stackItemId: string;
|
|
414
|
+
step: 'queued' | 'negotiating' | 'matching' | 'generating' | 'compiling' | 'evaluating' | 'complete' | 'error';
|
|
415
|
+
label: string;
|
|
416
|
+
percent: number;
|
|
417
|
+
message?: string;
|
|
418
|
+
}
|
|
419
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/types/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|