@ggui-ai/protocol 0.7.0 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/gadgets/stdlib-gadgets.d.ts +1 -1
- package/dist/gadgets/stdlib-gadgets.js +1 -1
- package/dist/integrations/epoch-uri.d.ts +42 -0
- package/dist/integrations/epoch-uri.d.ts.map +1 -0
- package/dist/integrations/epoch-uri.js +48 -0
- package/dist/integrations/mcp-apps.d.ts +140 -10
- package/dist/integrations/mcp-apps.d.ts.map +1 -1
- package/dist/integrations/mcp-apps.js +94 -6
- package/dist/schemas/data-contract.d.ts +4 -2
- package/dist/schemas/data-contract.d.ts.map +1 -1
- package/dist/schemas/data-contract.js +4 -2
- package/dist/schemas/invoke.d.ts +1 -1
- package/dist/schemas/invoke.js +1 -1
- package/dist/schemas/mcp.d.ts +222 -6
- package/dist/schemas/mcp.d.ts.map +1 -1
- package/dist/schemas/mcp.js +285 -13
- package/dist/types/data-contract.d.ts +8 -4
- package/dist/types/data-contract.d.ts.map +1 -1
- package/dist/types/ggui-session-event.d.ts +42 -1
- package/dist/types/ggui-session-event.d.ts.map +1 -1
- package/dist/types/ggui-session-event.js +16 -1
- package/dist/types/live-channel.d.ts +8 -0
- package/dist/types/live-channel.d.ts.map +1 -1
- package/dist/types/llm-route.d.ts +2 -2
- package/dist/types/llm-route.d.ts.map +1 -1
- package/dist/types/llm-route.js +26 -8
- package/dist/types/mcp.d.ts +51 -1
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/render.d.ts +12 -0
- package/dist/types/render.d.ts.map +1 -1
- package/dist/types/ui-generator.d.ts +20 -3
- package/dist/types/ui-generator.d.ts.map +1 -1
- package/dist/validation/contract-validator.d.ts +2 -2
- package/dist/validation/contract-validator.d.ts.map +1 -1
- package/dist/validation/resolve-stream-channel.d.ts +2 -2
- package/dist/validation/resolve-stream-channel.js +2 -2
- package/dist/validation/ui-security.d.ts +2 -2
- package/dist/validation/ui-security.js +2 -2
- package/dist/version.d.ts +245 -0
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +245 -0
- package/package.json +1 -1
package/dist/types/mcp.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
2
|
import type { JsonObject, JsonSchema, JsonValue } from './data-contract';
|
|
3
3
|
import type { GguiSession, GguiSessionStatus } from './render';
|
|
4
|
-
import type { consumeInputSchema, getSessionInputSchema, handshakeInputSchema, handshakeOutputSchema, renderBlueprintInputSchema, renderCacheMarkerSchema, renderErrorCodeSchema, renderErrorSchema, renderInputSchema, renderOutputSchema, resourceReadErrorCodeSchema, resourceReadErrorSchema, searchBlueprintsInputSchema, updateInputSchema, updateOutputSchema, declareToolCatalogOutputSchema } from '../schemas/mcp';
|
|
4
|
+
import type { consumeInputSchema, getSessionInputSchema, handshakeInputSchema, handshakeOutputSchema, renderBlueprintInputSchema, renderCacheMarkerSchema, renderErrorCodeSchema, renderErrorSchema, renderInputSchema, renderOutputSchema, resourceReadErrorCodeSchema, resourceReadErrorSchema, runtimePullInputSchema, runtimeTelemetryInputSchema, runtimeTelemetryOutputSchema, searchBlueprintsInputSchema, updateInputSchema, updateOutputSchema, amendInputSchema, amendOutputSchema, declareToolCatalogOutputSchema } from '../schemas/mcp';
|
|
5
|
+
import type { EventsResponse, ReplayHorizonPassedError } from './ggui-session-event';
|
|
5
6
|
export type { GguiSessionStatus } from './render';
|
|
6
7
|
/** Target screen size category for responsive layout */
|
|
7
8
|
export type Screen = 'mobile' | 'tablet' | 'desktop' | 'universal';
|
|
@@ -222,11 +223,34 @@ export interface GguiSearchBlueprintsOutput {
|
|
|
222
223
|
/** Cosine similarity score (0-1). Higher = better match. Agents can use this
|
|
223
224
|
* to decide whether to use a blueprint or generate from scratch. */
|
|
224
225
|
score: number;
|
|
226
|
+
/** Present only on registry-sourced entries — advisory candidates
|
|
227
|
+
* appended after local results, never auto-mounted. */
|
|
228
|
+
origin?: 'registry';
|
|
229
|
+
/** Registry artifact id (`@scope/name`) — registry entries only. */
|
|
230
|
+
artifactId?: string;
|
|
231
|
+
/** Registry artifact version — registry entries only. */
|
|
232
|
+
version?: string;
|
|
233
|
+
/** MCP tool bindings the artifact declares (publisher claims, not
|
|
234
|
+
* endorsements by the named server) — registry entries only. */
|
|
235
|
+
mcpTools?: ReadonlyArray<{
|
|
236
|
+
server?: string;
|
|
237
|
+
tool: string;
|
|
238
|
+
}>;
|
|
239
|
+
/** Publisher-scope verification label — registry entries only. */
|
|
240
|
+
scopeVerification?: 'verified' | 'unverified';
|
|
225
241
|
}>;
|
|
226
242
|
/** Total matches found */
|
|
227
243
|
total: number;
|
|
228
244
|
/** The query that was searched */
|
|
229
245
|
query: string;
|
|
246
|
+
/**
|
|
247
|
+
* Sources consulted but skipped this call (e.g. registry timeout).
|
|
248
|
+
* Present only when a source degraded; the tool call still succeeds.
|
|
249
|
+
*/
|
|
250
|
+
degradedSources?: ReadonlyArray<{
|
|
251
|
+
source: 'registry';
|
|
252
|
+
reason: 'unreachable' | 'timeout' | 'invalid_response';
|
|
253
|
+
}>;
|
|
230
254
|
}
|
|
231
255
|
/**
|
|
232
256
|
* Input for ggui_render_blueprint tool — renders a specific blueprint.
|
|
@@ -391,6 +415,8 @@ export type ResourceReadErrorCode = z.infer<typeof resourceReadErrorCodeSchema>;
|
|
|
391
415
|
export type ResourceReadError = z.infer<typeof resourceReadErrorSchema>;
|
|
392
416
|
export type GguiUpdateInput = z.infer<typeof updateInputSchema>;
|
|
393
417
|
export type GguiUpdateOutput = z.infer<typeof updateOutputSchema>;
|
|
418
|
+
export type GguiAmendInput = z.infer<typeof amendInputSchema>;
|
|
419
|
+
export type GguiAmendOutput = z.infer<typeof amendOutputSchema>;
|
|
394
420
|
/**
|
|
395
421
|
* `ggui_runtime_declare_tool_catalog` output. Derived from
|
|
396
422
|
* {@link declareToolCatalogOutputSchema} — the schema is the source of
|
|
@@ -399,6 +425,30 @@ export type GguiUpdateOutput = z.infer<typeof updateOutputSchema>;
|
|
|
399
425
|
* directly; no separate Input type alias is published).
|
|
400
426
|
*/
|
|
401
427
|
export type DeclareToolCatalogOutput = z.infer<typeof declareToolCatalogOutputSchema>;
|
|
428
|
+
/**
|
|
429
|
+
* `ggui_runtime_pull` input. Derived from
|
|
430
|
+
* {@link runtimePullInputSchema} — the schema is the source of truth.
|
|
431
|
+
*/
|
|
432
|
+
export type GguiRuntimePullInput = z.infer<typeof runtimePullInputSchema>;
|
|
433
|
+
/**
|
|
434
|
+
* `ggui_runtime_pull` output. Deliberately NOT `z.infer` of
|
|
435
|
+
* `runtimePullOutputSchema`: byte-parity with
|
|
436
|
+
* `GET /api/sessions/:sessionId/events` is the contract, so the output
|
|
437
|
+
* type IS the canonical ledger pair from `./ggui-session-event` — the
|
|
438
|
+
* same types the route's handlers produce. The zod union validates the
|
|
439
|
+
* same language; `schemas/mcp.test.ts` pins schema ↔ type parity.
|
|
440
|
+
*/
|
|
441
|
+
export type GguiRuntimePullOutput = EventsResponse | ReplayHorizonPassedError;
|
|
442
|
+
/**
|
|
443
|
+
* `ggui_runtime_telemetry` input. Derived from
|
|
444
|
+
* {@link runtimeTelemetryInputSchema} — the schema is the source of
|
|
445
|
+
* truth.
|
|
446
|
+
*/
|
|
447
|
+
export type GguiRuntimeTelemetryInput = z.infer<typeof runtimeTelemetryInputSchema>;
|
|
448
|
+
/**
|
|
449
|
+
* `ggui_runtime_telemetry` output — bare `{ok: true}` acknowledgement.
|
|
450
|
+
*/
|
|
451
|
+
export type GguiRuntimeTelemetryOutput = z.infer<typeof runtimeTelemetryOutputSchema>;
|
|
402
452
|
/**
|
|
403
453
|
* Core protocol error codes (per spec Section 7.9)
|
|
404
454
|
*
|
package/dist/types/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC/D,OAAO,KAAK,EACV,kBAAkB,EAClB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,iBAAiB,EACjB,kBAAkB,EAClB,8BAA8B,EAC/B,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/types/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/types/render.d.ts
CHANGED
|
@@ -119,6 +119,18 @@ export interface GguiSessionBase {
|
|
|
119
119
|
/** Monotonic event ledger sequence (per-render — each GguiSession has its
|
|
120
120
|
* own GguiSessionEvent ledger). */
|
|
121
121
|
readonly eventSequence: number;
|
|
122
|
+
/**
|
|
123
|
+
* History head epoch (#483). `ggui_render` mints epoch 0 (field
|
|
124
|
+
* absent ⇒ 0); every real `ggui_update` advances it by one in the
|
|
125
|
+
* SAME commit as the props write; `ggui_amend` never touches it.
|
|
126
|
+
* The row is the AUTHORITY — the `'ui.reminted'` ledger event is
|
|
127
|
+
* the wire SIGNAL (what frames latch on), not the counter: the
|
|
128
|
+
* event ring is horizon-bounded, so counting events under-derives
|
|
129
|
+
* once old entries evict. `deriveEpochFromEvents` remains valid
|
|
130
|
+
* only for in-horizon ledger slices (pinned-snapshot
|
|
131
|
+
* reconstruction).
|
|
132
|
+
*/
|
|
133
|
+
readonly epoch?: number;
|
|
122
134
|
/** Creation timestamp (epoch ms). */
|
|
123
135
|
readonly createdAt: number;
|
|
124
136
|
/** Last activity timestamp (epoch ms). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/types/render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/types/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -63,12 +63,29 @@ export interface UIGenerationResponse {
|
|
|
63
63
|
* configuration has no key for the resolved route.
|
|
64
64
|
* - `NO_CREDENTIALS` — no generation credentials are configured on
|
|
65
65
|
* the server.
|
|
66
|
+
* - `GENERATION_QUEUE_OVERLOADED` — the deployment's generation
|
|
67
|
+
* admission gate rejected this request before any generation
|
|
68
|
+
* attempt started (its concurrent-request queue was full, or the
|
|
69
|
+
* wait for a free slot exceeded the configured timeout). Contract
|
|
70
|
+
* (protocol-and-contract-bar): the deployment (party A) promises
|
|
71
|
+
* the caller (party B) that this code is emitted ONLY when
|
|
72
|
+
* generation never began — never as a relabeling of a genuine
|
|
73
|
+
* production failure. Callers MUST NOT bill or count this as a
|
|
74
|
+
* failed generation attempt; a caller that retries MAY do so
|
|
75
|
+
* immediately (no generation attempt was made — re-handshake first,
|
|
76
|
+
* since the handshake that led here was already consumed like
|
|
77
|
+
* every other Plane-3 failure). Violation is observable:
|
|
78
|
+
* a deployment that folds an admission shed into
|
|
79
|
+
* `PRODUCTION_FAILED` (or vice versa) breaks this promise and a
|
|
80
|
+
* caller relying on the distinction will mis-bill or mis-count.
|
|
66
81
|
*
|
|
67
|
-
* The
|
|
68
|
-
* codes (`renderErrorCodeSchema` in `schemas/mcp.ts`)
|
|
82
|
+
* The other five map 1:1 onto the render failure envelope's canonical
|
|
83
|
+
* codes (`renderErrorCodeSchema` in `schemas/mcp.ts`); `COMPILATION_ERROR`
|
|
84
|
+
* is the sole exception (folds into `PRODUCTION_FAILED` on the wire, per
|
|
85
|
+
* above).
|
|
69
86
|
*/
|
|
70
87
|
export interface GenerationError {
|
|
71
|
-
code: 'PRODUCTION_FAILED' | 'COMPILATION_ERROR' | 'VALIDATION_ERROR' | 'NO_PLATFORM_KEY' | 'NO_CREDENTIALS';
|
|
88
|
+
code: 'PRODUCTION_FAILED' | 'COMPILATION_ERROR' | 'VALIDATION_ERROR' | 'NO_PLATFORM_KEY' | 'NO_CREDENTIALS' | 'GENERATION_QUEUE_OVERLOADED';
|
|
72
89
|
message: string;
|
|
73
90
|
/** Additional diagnostic information. Typed as {@link JsonValue} (any JSON-safe value). */
|
|
74
91
|
details?: JsonValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-generator.d.ts","sourceRoot":"","sources":["../../src/types/ui-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,GAAG,UAAU;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED
|
|
1
|
+
{"version":3,"file":"ui-generator.d.ts","sourceRoot":"","sources":["../../src/types/ui-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,UAAU,EACV,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,MAAM,WAAW,mBAAmB,CAAC,QAAQ,GAAG,UAAU;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EACA,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,iBAAiB,GACjB,gBAAgB,GAChB,6BAA6B,CAAC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,2FAA2F;IAC3F,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB"}
|
|
@@ -283,10 +283,10 @@ export declare function formatViolations(violations: ContractViolation[]): strin
|
|
|
283
283
|
export declare function validateContractStructure(contract: DataContract): ValidationResult;
|
|
284
284
|
export declare class ContractViolationError extends Error {
|
|
285
285
|
readonly violations: ContractViolation[];
|
|
286
|
-
readonly tool: 'ggui_render' | 'ggui_update' | 'ggui_emit' | 'ggui_event';
|
|
286
|
+
readonly tool: 'ggui_render' | 'ggui_update' | 'ggui_amend' | 'ggui_emit' | 'ggui_event';
|
|
287
287
|
readonly hint: string;
|
|
288
288
|
constructor(opts: {
|
|
289
|
-
tool: 'ggui_render' | 'ggui_update' | 'ggui_emit' | 'ggui_event';
|
|
289
|
+
tool: 'ggui_render' | 'ggui_update' | 'ggui_amend' | 'ggui_emit' | 'ggui_event';
|
|
290
290
|
violations: ContractViolation[];
|
|
291
291
|
hint?: string;
|
|
292
292
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract-validator.d.ts","sourceRoot":"","sources":["../../src/validation/contract-validator.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contract-validator.d.ts","sourceRoot":"","sources":["../../src/validation/contract-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* per-channel defaults to a {@link StreamSpec} entry.
|
|
4
4
|
*
|
|
5
5
|
* Four runtime roles reason about stream channels today (hosted
|
|
6
|
-
* Lambda fan-out, OSS `/ws` fan-out, `@ggui-ai/react` data receipt,
|
|
7
|
-
* `@ggui-ai/react-native` data receipt). Each of them needs the same
|
|
6
|
+
* Lambda fan-out, OSS `/ws` fan-out, `@ggui-ai/mcp-apps-react` data receipt,
|
|
7
|
+
* `@ggui-ai/mcp-apps-react-native` data receipt). Each of them needs the same
|
|
8
8
|
* question answered: "what are the effective semantics of channel X
|
|
9
9
|
* on this spec?" Without a shared helper, each role applies the
|
|
10
10
|
* `DEFAULT_STREAM_*` constants inline and those defaults drift.
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
* per-channel defaults to a {@link StreamSpec} entry.
|
|
4
4
|
*
|
|
5
5
|
* Four runtime roles reason about stream channels today (hosted
|
|
6
|
-
* Lambda fan-out, OSS `/ws` fan-out, `@ggui-ai/react` data receipt,
|
|
7
|
-
* `@ggui-ai/react-native` data receipt). Each of them needs the same
|
|
6
|
+
* Lambda fan-out, OSS `/ws` fan-out, `@ggui-ai/mcp-apps-react` data receipt,
|
|
7
|
+
* `@ggui-ai/mcp-apps-react-native` data receipt). Each of them needs the same
|
|
8
8
|
* question answered: "what are the effective semantics of channel X
|
|
9
9
|
* on this spec?" Without a shared helper, each role applies the
|
|
10
10
|
* `DEFAULT_STREAM_*` constants inline and those defaults drift.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* - `sandboxed` — pure React + `@ggui-ai/design` primitives. Portable,
|
|
5
5
|
* publishable, runs in any ggui rendering context.
|
|
6
|
-
* - `fullstack` — uses adapters (`@ggui-ai/react` hooks, server
|
|
6
|
+
* - `fullstack` — uses adapters (`@ggui-ai/mcp-apps-react` hooks, server
|
|
7
7
|
* connectors). Requires a client bundle, app-scoped.
|
|
8
8
|
*
|
|
9
9
|
* Colocated with the classifier (`classifyUi`) because that's the
|
|
@@ -29,7 +29,7 @@ export declare const DANGEROUS_PATTERNS: DangerousPattern[];
|
|
|
29
29
|
* Classify a component as sandboxed or fullstack based on its imports.
|
|
30
30
|
*
|
|
31
31
|
* - **sandboxed**: Pure React + @ggui-ai/design primitives. Portable, publishable.
|
|
32
|
-
* - **fullstack**: Uses @ggui-ai/wire, @ggui-ai/react, or @app/components. Private.
|
|
32
|
+
* - **fullstack**: Uses @ggui-ai/wire, @ggui-ai/mcp-apps-react, or @app/components. Private.
|
|
33
33
|
*
|
|
34
34
|
* Works on both source (.tsx) and compiled (.js) code.
|
|
35
35
|
*/
|
|
@@ -104,14 +104,14 @@ export const DANGEROUS_PATTERNS = [
|
|
|
104
104
|
*/
|
|
105
105
|
const FULLSTACK_IMPORT_PREFIXES = [
|
|
106
106
|
'@ggui-ai/wire',
|
|
107
|
-
'@ggui-ai/react',
|
|
107
|
+
'@ggui-ai/mcp-apps-react',
|
|
108
108
|
'@app/components',
|
|
109
109
|
];
|
|
110
110
|
/**
|
|
111
111
|
* Classify a component as sandboxed or fullstack based on its imports.
|
|
112
112
|
*
|
|
113
113
|
* - **sandboxed**: Pure React + @ggui-ai/design primitives. Portable, publishable.
|
|
114
|
-
* - **fullstack**: Uses @ggui-ai/wire, @ggui-ai/react, or @app/components. Private.
|
|
114
|
+
* - **fullstack**: Uses @ggui-ai/wire, @ggui-ai/mcp-apps-react, or @app/components. Private.
|
|
115
115
|
*
|
|
116
116
|
* Works on both source (.tsx) and compiled (.js) code.
|
|
117
117
|
*/
|
package/dist/version.d.ts
CHANGED
|
@@ -6,6 +6,69 @@
|
|
|
6
6
|
* schema change; the most recent change anchors {@link PROTOCOL_VERSION}.
|
|
7
7
|
*
|
|
8
8
|
* --------------------------------------------------------------------
|
|
9
|
+
* MCP tool bindings & discovery (2026-08-10, additive, pre-launch,
|
|
10
|
+
* ggui#259). Artifacts gain an optional MCP tool-binding list and
|
|
11
|
+
* registry search gains a tool dimension, connecting the two
|
|
12
|
+
* namespaces the registry serves: signed UI artifacts and the MCP
|
|
13
|
+
* tools they render. SPEC §7.7.4.1 is the normative home.
|
|
14
|
+
*
|
|
15
|
+
* tb1. **`mcpTools` on both manifest kinds**
|
|
16
|
+
* (`@ggui-ai/artifact-manifest`): 1–16 `{server?, tool}`
|
|
17
|
+
* entries, charset `/^[A-Za-z0-9_.-]{1,128}$/`,
|
|
18
|
+
* exact-duplicate `(server, tool)` pairs rejected with the
|
|
19
|
+
* existing `manifest_invalid` code. Declared wins entirely;
|
|
20
|
+
* a blueprint without the field derives bare `{tool}` entries
|
|
21
|
+
* from the union of its contract's per-prop `sourceTool` and
|
|
22
|
+
* `streamSpec` `source.tool` names (`resolveMcpToolBindings`,
|
|
23
|
+
* marked `derived`). Bindings are search metadata only — they
|
|
24
|
+
* never enter contract canonicalization or `blueprintKey`.
|
|
25
|
+
* NOTE: manifest schemas are strict-rooted, so an OLDER
|
|
26
|
+
* manifest parser REJECTS a manifest file carrying the field —
|
|
27
|
+
* the optionality guarantee below is wire-response-scoped
|
|
28
|
+
* (search/read), not manifest-file-scoped.
|
|
29
|
+
*
|
|
30
|
+
* tb2. **Registry wire additions** (`@ggui-ai/registry-core`),
|
|
31
|
+
* all optional: `SearchResultEntry` += `mcpTools?`,
|
|
32
|
+
* `mcpToolsSource?: 'declared' | 'derived'`,
|
|
33
|
+
* `scopeVerification?: 'verified' | 'unverified'`,
|
|
34
|
+
* `verifiedDomain?`; the single-version read response += the
|
|
35
|
+
* same two verification fields; search input += `tool?` /
|
|
36
|
+
* `server?` exact filters (AND-composed with the existing
|
|
37
|
+
* filters, `matchesMcpToolFilters` semantics; an invalid
|
|
38
|
+
* charset value is the existing `invalid_request` 400).
|
|
39
|
+
* Pre-existing consumers see `undefined` and behave as before.
|
|
40
|
+
*
|
|
41
|
+
* tb3. **Agent surface** (`@ggui-ai/mcp-server-handlers`):
|
|
42
|
+
* `ggui_search_blueprints` gains an opt-in `registry` source
|
|
43
|
+
* merged after the local sources; unreachable / timeout /
|
|
44
|
+
* unparseable-body answers degrade typed —
|
|
45
|
+
* `degradedSources: [{source: 'registry', reason:
|
|
46
|
+
* 'unreachable' | 'timeout' | 'invalid_response'}]` — never a
|
|
47
|
+
* tool failure, never a thrown error.
|
|
48
|
+
*
|
|
49
|
+
* Conformance-kit verdict: additive, minor-intent while `draft-`,
|
|
50
|
+
* so PROTOCOL_VERSION is unchanged — no WS envelope moved; the
|
|
51
|
+
* change is confined to the manifest, registry HTTP, and MCP
|
|
52
|
+
* tool-result surfaces. The new `binding-conformance` catalog in
|
|
53
|
+
* `@ggui-ai/protocol-conformance` (`runBindingResolutionCases` /
|
|
54
|
+
* `runBindingFilterCases`) arbitrates resolution precedence and
|
|
55
|
+
* filter semantics; search/read response optionality is pinned by
|
|
56
|
+
* registry-core unit tests, because the strict-rooted manifest
|
|
57
|
+
* schema makes a manifest-file optionality fixture false (tb1).
|
|
58
|
+
*
|
|
59
|
+
* Package version — the classification is MADE here, not deferred:
|
|
60
|
+
* MINOR for the `@ggui-ai/*` wave, additive under the version
|
|
61
|
+
* policy's minor rule (every fixture that passed against the
|
|
62
|
+
* current wave still passes; the delta is new surface), pre-1.0
|
|
63
|
+
* and pre-launch. FOUR packages carry minor-class changes into
|
|
64
|
+
* that wave — `@ggui-ai/artifact-manifest` (the field + resolver),
|
|
65
|
+
* `@ggui-ai/registry-core` (wire + filters),
|
|
66
|
+
* `@ggui-ai/mcp-server-handlers` (the registry source), and
|
|
67
|
+
* `@ggui-ai/protocol-conformance` (the catalog that decides them).
|
|
68
|
+
* Only the mechanical write is deferred: every `@ggui-ai/*`
|
|
69
|
+
* package carries ONE wave version, so the release owner takes all
|
|
70
|
+
* four bumps together at the next wave cut.
|
|
71
|
+
* --------------------------------------------------------------------
|
|
9
72
|
* Typed `resources/read` failures (2026-08-09, additive, pre-launch,
|
|
10
73
|
* ggui#430). A read of a render locator
|
|
11
74
|
* (`ui://ggui/render/{sessionId}/{blueprintKey}`) gains a closed failure
|
|
@@ -141,6 +204,188 @@
|
|
|
141
204
|
* extending it over the existing fixture catalog would be a MAJOR, not
|
|
142
205
|
* a minor, and must be adjudicated as one.
|
|
143
206
|
*
|
|
207
|
+
* #471 (2026-08-10): the fetch-free delivery surface — a MINOR for the
|
|
208
|
+
* `@ggui-ai/protocol` wave, deferred to the next cut under the same
|
|
209
|
+
* one-wave-version rule as above. Three additive pieces, one shared
|
|
210
|
+
* motivation (hosts whose iframe CSP forbids every URL-scheme load
|
|
211
|
+
* while permitting inline scripts):
|
|
212
|
+
*
|
|
213
|
+
* if1. **`McpAppAiGguiRenderMeta.codeB64`** — optional base64
|
|
214
|
+
* compiled component source, the fetch-free twin of `codeUrl`
|
|
215
|
+
* (coexists with it; exclusive with `kind`). Every envelope that
|
|
216
|
+
* parsed before parses identically; the parser's new rejection
|
|
217
|
+
* arm (`codeB64` + `kind` both set) rejects a shape no producer
|
|
218
|
+
* ever emitted. `hasMountModeDiscriminator` widens PERMISSIVELY
|
|
219
|
+
* (a codeB64-only slice becomes mountable — previously
|
|
220
|
+
* undefined, not different).
|
|
221
|
+
*
|
|
222
|
+
* if2. **`GguiShellHtmlOptions.runtimeInlineSource` +
|
|
223
|
+
* `escapeInlineScript`** — host-helper additions; the default
|
|
224
|
+
* (external `<script src>`) emission is byte-unchanged.
|
|
225
|
+
*
|
|
226
|
+
* if3. Consumer-side: `@ggui-ai/design` gains the inline-exec
|
|
227
|
+
* module (new exports only); `@ggui-ai/mcp-server` gains the
|
|
228
|
+
* `mcpApps.inlineRuntimeShell` opt-in (default OFF — the served
|
|
229
|
+
* static shell is byte-unchanged for every existing mount) and
|
|
230
|
+
* `registerGguiRenderResource` gains a trailing optional
|
|
231
|
+
* CSP-fallback parameter (existing positional calls unchanged).
|
|
232
|
+
*
|
|
233
|
+
* Conformance-kit verdict: no fixture pins the render slice's closed
|
|
234
|
+
* field set (the slice is verbatim-carry by design — the host-helper
|
|
235
|
+
* suite's "unknown future fields ride along" case is the governing
|
|
236
|
+
* posture), so the additive field breaks nothing. PROTOCOL_VERSION
|
|
237
|
+
* unchanged — no wire frame changed shape.
|
|
238
|
+
*
|
|
239
|
+
* SSE middle rung (2026-08-11): the failover-ladder stream surface — a
|
|
240
|
+
* MINOR for the `@ggui-ai/protocol` wave, deferred to the next cut
|
|
241
|
+
* (≥ 0.9.0) under the same one-wave-version rule as above. Two
|
|
242
|
+
* additive pieces, one motivation (hosts whose CSP blocks WebSocket
|
|
243
|
+
* but permits `EventSource`, giving the ladder a live middle rung
|
|
244
|
+
* between WS and cursor polling):
|
|
245
|
+
*
|
|
246
|
+
* sm1. **`McpAppAiGguiRenderMeta.sseUrl`** — optional server-stamped
|
|
247
|
+
* `/api/sessions/<sessionId>/stream?wsToken=<token>` URL beside
|
|
248
|
+
* `pollingUrl`. Every envelope that parsed before parses
|
|
249
|
+
* identically (tolerant scalar posture, no pairing invariant —
|
|
250
|
+
* the URL is self-authorizing via its embedded token). Absent ⇒
|
|
251
|
+
* no SSE rung; the ladder is WS → polling. The stream contract
|
|
252
|
+
* the URL points at (ChannelFrame-per-`data:`-line byte-same as
|
|
253
|
+
* the WS push, `id:` = ledger seq on replay frames only,
|
|
254
|
+
* `: hb` comment heartbeat ≤ ~25s, `retry: 3000` first write,
|
|
255
|
+
* `Last-Event-ID` over `?sinceSequence=`, 401/404/410 mirroring
|
|
256
|
+
* `/events`) is pinned on the interface docstring.
|
|
257
|
+
*
|
|
258
|
+
* sm2. **`composeSessionApiUrls` + `SessionApiUrls`** — the ONE
|
|
259
|
+
* pure composer every stamping surface (render/update resultMeta,
|
|
260
|
+
* self-contained shell, `/state` bootstrap) routes both URLs
|
|
261
|
+
* through — the `deriveRenderMeta` move applied to channel URLs.
|
|
262
|
+
* New exports only. This REPAIRS a confirmed drift: `/state` used
|
|
263
|
+
* to stamp an unconditional token-less `/state`-shaped
|
|
264
|
+
* pollingUrl that could only 401 through the events composer;
|
|
265
|
+
* both URLs now stamp ONLY when the live trio is minted, and
|
|
266
|
+
* omission is the honest no-HTTP-fallback signal.
|
|
267
|
+
*
|
|
268
|
+
* Conformance-kit verdict: same posture as if1 — no fixture pins the
|
|
269
|
+
* render slice's closed field set (verbatim-carry by design), so the
|
|
270
|
+
* additive field breaks nothing. Full SSE endpoint conformance cases
|
|
271
|
+
* are a FLAGGED follow-up (unit tests ride this slice; conformance
|
|
272
|
+
* ticket after launch — No Silent Block). PROTOCOL_VERSION unchanged —
|
|
273
|
+
* no WS envelope moved; the SSE `data:` line reuses the ChannelFrame
|
|
274
|
+
* shape byte for byte.
|
|
275
|
+
*
|
|
276
|
+
* --------------------------------------------------------------------
|
|
277
|
+
* Bridge-pull terminal rung (2026-08-11): `ggui_runtime_pull` — a
|
|
278
|
+
* MINOR for the `@ggui-ai/protocol` wave, riding the same next cut
|
|
279
|
+
* (≥ 0.9.0) as the SSE entry above. One motivation: hosts whose CSP
|
|
280
|
+
* blocks EVERY network API from the iframe (claude.ai's srcdoc
|
|
281
|
+
* sandbox) can still pull the event ledger over the host's
|
|
282
|
+
* `tools/call` postMessage bridge — the fourth and terminal rung of
|
|
283
|
+
* the failover ladder (WS → SSE → HTTP polling → bridge-pull).
|
|
284
|
+
*
|
|
285
|
+
* bp1. **`runtimePullInput/OutputSchema` + `GguiRuntimePullInput/
|
|
286
|
+
* Output`** — new tool contract, output byte-parity with the
|
|
287
|
+
* `/events` route (`EventsResponse` page arm |
|
|
288
|
+
* `REPLAY_HORIZON_PASSED` arm as a NORMAL result) so ONE client
|
|
289
|
+
* parse core serves both carriers. `_meta.ui.visibility: ['app']`
|
|
290
|
+
* restricts callers to MCP Apps views per spec §401.
|
|
291
|
+
*
|
|
292
|
+
* bp2. **`wait` + `RUNTIME_PULL_MAX_WAIT_SECONDS`** — the
|
|
293
|
+
* subscription-mode hold: an empty cursor page holds the call
|
|
294
|
+
* server-side (≤ 20s, under `ggui_consume`'s proven 25s host
|
|
295
|
+
* tolerance) until an event lands. Back-to-back held single-shots
|
|
296
|
+
* emulate push through a request/response-only bridge; clients
|
|
297
|
+
* demote to sparse un-held pulls after consecutive empty holds.
|
|
298
|
+
*
|
|
299
|
+
* Conformance-kit verdict: additive tool, no existing fixture touches
|
|
300
|
+
* it; bridge-carrier conformance cases join the SSE follow-up ticket
|
|
301
|
+
* (No Silent Block). PROTOCOL_VERSION unchanged — no WS envelope
|
|
302
|
+
* moved; the ledger event vocabulary gained active use of the
|
|
303
|
+
* existing `'ui.updated'` taxonomy member (`ggui_update` now appends
|
|
304
|
+
* it), not a new member.
|
|
305
|
+
*
|
|
306
|
+
* --------------------------------------------------------------------
|
|
307
|
+
* React/RN SDK-surface retirement (2026-08-13, owner ruling; rides
|
|
308
|
+
* the same next cut ≥ 0.9.0): `@ggui-ai/react` + `@ggui-ai/react-
|
|
309
|
+
* native` are MCP Apps HOST-HELPER libraries, not SDKs — embeds mount
|
|
310
|
+
* views via the spec path (`AppRenderer` / RN `McpAppIframe`) and get
|
|
311
|
+
* runtime semantics (freeze latch, crash card, epochs) from the
|
|
312
|
+
* mounted iframe itself. Deleted from `@ggui-ai/react`: `GguiRender`
|
|
313
|
+
* + its WS stack (`useWebSocket`, `WebSocketManager`, `EventBuffer`,
|
|
314
|
+
* reserved-validators), local `ThemeProvider`, `SelfRepairBoundary`
|
|
315
|
+
* family, `AgentBrowsePanel`, the dead wire-type re-exports, the
|
|
316
|
+
* public `useGguiContext`/`useAdapter`/`AdapterRegistry` barrel
|
|
317
|
+
* entries (impls stay internal), and `chat-thread/**` (both
|
|
318
|
+
* packages — third-party chat framework, zero consumers; guuey built
|
|
319
|
+
* `@guuey/threads` instead). RN's direct-render family was already
|
|
320
|
+
* deleted pre-ruling (#425, 7d5c6955b). Zero-consumer adversarially
|
|
321
|
+
* traced per export before deletion; guuey pins both packages at
|
|
322
|
+
* 0.6.3 (npm-immutable — installs unaffected; handoff note per the
|
|
323
|
+
* deletion discipline). Breaking TS-API shrink, 0.x MINOR carries it.
|
|
324
|
+
* SAME-DAY RENAME RULING: the packages republish at this cut as
|
|
325
|
+
* `@ggui-ai/mcp-apps-react` / `@ggui-ai/mcp-apps-react-native` —
|
|
326
|
+
* the names must say "MCP Apps bindings," not "SDK." Old names get
|
|
327
|
+
* `npm deprecate` + pointer at cut time (owner click, OTP; new names
|
|
328
|
+
* need Trusted Publishing setup — see release:cut).
|
|
329
|
+
*
|
|
330
|
+
* --------------------------------------------------------------------
|
|
331
|
+
* Mutation tool split + epoch history (2026-08-13, ggui#481→#483,
|
|
332
|
+
* SUPERSEDES the same-night renderAsNew param design, which never
|
|
333
|
+
* reached a cut): a MINOR for the `@ggui-ai/protocol` wave, riding
|
|
334
|
+
* the same next cut (≥ 0.9.0). One motivation arc: hosts mint
|
|
335
|
+
* per-result views from result shape, so mutation results must be
|
|
336
|
+
* either complete mount packages or carry nothing — and once every
|
|
337
|
+
* update result is a durable record, the records ARE a history.
|
|
338
|
+
*
|
|
339
|
+
* ts1. **`ggui_amend`** — new tool: in-place mutation of the
|
|
340
|
+
* mounted card. Same replace/merge grammar as update
|
|
341
|
+
* (`amendInputSchema`/`amendOutputSchema` + inferred types); NOT
|
|
342
|
+
* UI-bound, results carry NO `_meta` under any outcome; the
|
|
343
|
+
* history epoch is untouched by construction. Additive.
|
|
344
|
+
*
|
|
345
|
+
* ts2. **`ggui_update` semantics change, stated plainly:** every
|
|
346
|
+
* real update now mints a NEW history record — output gains
|
|
347
|
+
* mandatory `epoch` and its `resourceUri` is the epoch-PINNED
|
|
348
|
+
* URI (`…#N`); the result `_meta` is unconditionally the full
|
|
349
|
+
* bootable mount package (#481). `renderAsNew` is deleted from
|
|
350
|
+
* both arms. A consumer that treated update results as in-place
|
|
351
|
+
* acknowledgements sees new cards; the in-place path moved to
|
|
352
|
+
* ggui_amend. Pre-launch no-compat; the kit is the arbiter and
|
|
353
|
+
* update-family conformance cases ship IN THIS SLICE (epoch
|
|
354
|
+
* immutability, head aliasing, amend-mints-nothing), closing the
|
|
355
|
+
* previously flagged gap.
|
|
356
|
+
*
|
|
357
|
+
* ts3. **Epoch surfaces:** `GguiSessionBase.epoch` +
|
|
358
|
+
* `McpAppsGguiSession.epoch` (optional, absent ⇒ 0 — the row is
|
|
359
|
+
* the authority; the ledger is horizon-bounded); `'ui.reminted'`
|
|
360
|
+
* joins the ledger taxonomy with `UiRemintedEventData`;
|
|
361
|
+
* `UiUpdatedEventData` types the props event (now epoch-stamped);
|
|
362
|
+
* `composeEpochUri`/`parseEpochUri` (the ONE encoding seam —
|
|
363
|
+
* fragment today, flippable post-host-probe);
|
|
364
|
+
* `deriveEpochFromEvents` (in-horizon reconstruction only).
|
|
365
|
+
* SPEC §7.1.2/§7.1.2.1/§7.1.2.2 are the normative text.
|
|
366
|
+
*
|
|
367
|
+
* ts4. **Live-fan epoch obligation (2026-08-13 follow-up, same
|
|
368
|
+
* wave):** `PropsUpdatePayload.epoch` (`@ggui-ai/protocol`
|
|
369
|
+
* live-channel, optional on the wire) is the freeze-latch signal,
|
|
370
|
+
* and servers MUST stamp live `props_update` frames with the
|
|
371
|
+
* COMMIT-TIME epoch (SPEC §7.1.2.2). TS API surfaces moved with
|
|
372
|
+
* it: `PropsUpdateNotifier.sendPropsUpdate` gains a required
|
|
373
|
+
* `epoch` third param (`@ggui-ai/mcp-server-handlers`), as does
|
|
374
|
+
* `GguiSessionChannelServer.sendPropsUpdate`
|
|
375
|
+
* (`@ggui-ai/mcp-server`) — 2-arg callers break at compile time
|
|
376
|
+
* (pre-launch no-compat; 0.x MINOR carries it). Motivating
|
|
377
|
+
* incident: a second notifier impl (cloud pod) omitted the then-
|
|
378
|
+
* optional field and shipped epoch-less frames — the latch
|
|
379
|
+
* degraded to legacy-apply exactly as designed for skew, which
|
|
380
|
+
* is also the compat story: old runtime × new server ignores the
|
|
381
|
+
* extra field; new runtime × old server sees no epoch and
|
|
382
|
+
* applies as before. Graceful both directions.
|
|
383
|
+
*
|
|
384
|
+
* PROTOCOL_VERSION unchanged — no WS frame changed shape; the
|
|
385
|
+
* `ai.ggui/render` slice's field set was never closed, and the
|
|
386
|
+
* `ui.updated` / `props_update` payloads gained an optional field on
|
|
387
|
+
* open payload surfaces.
|
|
388
|
+
*
|
|
144
389
|
* --------------------------------------------------------------------
|
|
145
390
|
* Credential-broker surface retired (2026-08-08, BREAKING, pre-launch,
|
|
146
391
|
* ggui#436). The `system` frame's auth vocabulary and the
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA21FG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,qBAAmB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,MAAM,EAErD,CAAC"}
|