@ggui-ai/protocol 0.16.0 → 0.17.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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/integrations/mcp-apps.d.ts +22 -8
- package/dist/integrations/mcp-apps.d.ts.map +1 -1
- package/dist/integrations/mcp-apps.js +18 -12
- package/dist/integrations/overlay-hash.d.ts +1 -1
- package/dist/integrations/overlay-hash.d.ts.map +1 -1
- package/dist/schemas/app-generation-profile.d.ts +139 -0
- package/dist/schemas/app-generation-profile.d.ts.map +1 -0
- package/dist/schemas/app-generation-profile.js +121 -0
- package/dist/schemas/app-theme.d.ts +190 -0
- package/dist/schemas/app-theme.d.ts.map +1 -1
- package/dist/schemas/app-theme.js +110 -0
- package/dist/schemas/mcp.d.ts +14 -5
- package/dist/schemas/mcp.d.ts.map +1 -1
- package/dist/schemas/mcp.js +15 -6
- package/dist/schemas/ops-blueprint.d.ts +7 -0
- package/dist/schemas/ops-blueprint.d.ts.map +1 -1
- package/dist/schemas/ops-blueprint.js +12 -0
- package/dist/schemas/rendering-context.d.ts +48 -0
- package/dist/schemas/rendering-context.d.ts.map +1 -0
- package/dist/schemas/rendering-context.js +39 -0
- package/dist/types/render.d.ts +3 -2
- package/dist/types/render.d.ts.map +1 -1
- package/dist/version.d.ts +89 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +89 -1
- package/package.json +1 -1
|
@@ -40,6 +40,76 @@ export declare const CSS_VALUE_SAFE_RE: RegExp;
|
|
|
40
40
|
*/
|
|
41
41
|
export declare const KEYFRAMES_NAME_RE: RegExp;
|
|
42
42
|
export declare function isKeyframesText(text: string): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* One declared font face (ggui#987 §5; lifted here for ggui#1093 / #990 so the
|
|
45
|
+
* theme DOCUMENT's `typography.faces` and the AppTheme WIRE's `fonts` share
|
|
46
|
+
* ONE grammar — `@ggui-ai/project-config` imports this schema for the
|
|
47
|
+
* document door). `src` MUST be `https:` with a well-formed host; the face is
|
|
48
|
+
* DECLARED, never fetched by any door: the render host unions the origin into
|
|
49
|
+
* its `font-src`, the shell renders the `@font-face` rule, and a face that
|
|
50
|
+
* fails to load in the browser falls back down the family's stack.
|
|
51
|
+
*/
|
|
52
|
+
export declare const fontFaceDeclarationSchema: z.ZodObject<{
|
|
53
|
+
family: z.ZodString;
|
|
54
|
+
src: z.ZodString;
|
|
55
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
56
|
+
style: z.ZodOptional<z.ZodString>;
|
|
57
|
+
display: z.ZodOptional<z.ZodString>;
|
|
58
|
+
}, z.core.$strict>;
|
|
59
|
+
export type FontFaceDeclaration = z.infer<typeof fontFaceDeclarationSchema>;
|
|
60
|
+
/** The most faces one theme may declare on the wire — a CSP and a `<style>` block stay bounded. */
|
|
61
|
+
export declare const APP_THEME_FONTS_MAX = 16;
|
|
62
|
+
/** The imagery slots a theme may fill (ggui#1093): a brand mark, a hero image, a repeating pattern. */
|
|
63
|
+
export declare const APP_THEME_IMAGERY_KINDS: readonly ["mark", "hero", "pattern"];
|
|
64
|
+
export type AppThemeImageryKind = (typeof APP_THEME_IMAGERY_KINDS)[number];
|
|
65
|
+
/**
|
|
66
|
+
* One image asset: https-only `src` (never fetched by a door), an optional
|
|
67
|
+
* `alt` (≤ 200) and an optional `tone` — the image's own tonality (`light` /
|
|
68
|
+
* `dark`), so a composer can place ink over it without sampling pixels.
|
|
69
|
+
*/
|
|
70
|
+
export declare const appThemeImageAssetSchema: z.ZodObject<{
|
|
71
|
+
src: z.ZodString;
|
|
72
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
73
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
74
|
+
light: "light";
|
|
75
|
+
dark: "dark";
|
|
76
|
+
}>>;
|
|
77
|
+
}, z.core.$strict>;
|
|
78
|
+
export type AppThemeImageAsset = z.infer<typeof appThemeImageAssetSchema>;
|
|
79
|
+
/**
|
|
80
|
+
* The host's imagery, by slot (ggui#1093, #1075 Track C (a)). Parties: a
|
|
81
|
+
* WRITER (an operator's design tooling, or a harvest of the host page) declares; the WRITE door
|
|
82
|
+
* validates this grammar and nothing more; the render host unions every
|
|
83
|
+
* `src` origin into its `img-src`; the composer reads the slots through
|
|
84
|
+
* the design primitives. Absent ⇒ no imagery, today's card.
|
|
85
|
+
*/
|
|
86
|
+
export declare const appThemeImagerySchema: z.ZodObject<{
|
|
87
|
+
mark: z.ZodOptional<z.ZodObject<{
|
|
88
|
+
src: z.ZodString;
|
|
89
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
90
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
91
|
+
light: "light";
|
|
92
|
+
dark: "dark";
|
|
93
|
+
}>>;
|
|
94
|
+
}, z.core.$strict>>;
|
|
95
|
+
hero: z.ZodOptional<z.ZodObject<{
|
|
96
|
+
src: z.ZodString;
|
|
97
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
98
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
99
|
+
light: "light";
|
|
100
|
+
dark: "dark";
|
|
101
|
+
}>>;
|
|
102
|
+
}, z.core.$strict>>;
|
|
103
|
+
pattern: z.ZodOptional<z.ZodObject<{
|
|
104
|
+
src: z.ZodString;
|
|
105
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
106
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
107
|
+
light: "light";
|
|
108
|
+
dark: "dark";
|
|
109
|
+
}>>;
|
|
110
|
+
}, z.core.$strict>>;
|
|
111
|
+
}, z.core.$strict>;
|
|
112
|
+
export type AppThemeImagery = z.infer<typeof appThemeImagerySchema>;
|
|
43
113
|
export declare const appThemeSchema: z.ZodObject<{
|
|
44
114
|
mode: z.ZodOptional<z.ZodEnum<{
|
|
45
115
|
light: "light";
|
|
@@ -57,8 +127,128 @@ export declare const appThemeSchema: z.ZodObject<{
|
|
|
57
127
|
dark: z.ZodOptional<z.ZodString>;
|
|
58
128
|
}, z.core.$strict>>;
|
|
59
129
|
frameless: z.ZodOptional<z.ZodBoolean>;
|
|
130
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
131
|
+
family: z.ZodString;
|
|
132
|
+
src: z.ZodString;
|
|
133
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
134
|
+
style: z.ZodOptional<z.ZodString>;
|
|
135
|
+
display: z.ZodOptional<z.ZodString>;
|
|
136
|
+
}, z.core.$strict>>>;
|
|
137
|
+
imagery: z.ZodOptional<z.ZodObject<{
|
|
138
|
+
mark: z.ZodOptional<z.ZodObject<{
|
|
139
|
+
src: z.ZodString;
|
|
140
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
141
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
142
|
+
light: "light";
|
|
143
|
+
dark: "dark";
|
|
144
|
+
}>>;
|
|
145
|
+
}, z.core.$strict>>;
|
|
146
|
+
hero: z.ZodOptional<z.ZodObject<{
|
|
147
|
+
src: z.ZodString;
|
|
148
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
149
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
150
|
+
light: "light";
|
|
151
|
+
dark: "dark";
|
|
152
|
+
}>>;
|
|
153
|
+
}, z.core.$strict>>;
|
|
154
|
+
pattern: z.ZodOptional<z.ZodObject<{
|
|
155
|
+
src: z.ZodString;
|
|
156
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
157
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
158
|
+
light: "light";
|
|
159
|
+
dark: "dark";
|
|
160
|
+
}>>;
|
|
161
|
+
}, z.core.$strict>>;
|
|
162
|
+
}, z.core.$strict>>;
|
|
60
163
|
}, z.core.$strict>;
|
|
61
164
|
export type AppTheme = z.infer<typeof appThemeSchema>;
|
|
165
|
+
/**
|
|
166
|
+
* The READ-door posture (ggui#1093 belt, 2026-09-15; VERSION-POLICY §3.6).
|
|
167
|
+
*
|
|
168
|
+
* `appThemeSchema` is the WRITE door: strict, an unknown top-level member is
|
|
169
|
+
* refused (`invalid_app_config`). A READ door — a stored row turned into
|
|
170
|
+
* paint, a carried `_meta["ai.ggui/render"].theme` slice — parses with THIS
|
|
171
|
+
* schema instead: an unknown TOP-LEVEL member is stripped, the overlays are
|
|
172
|
+
* kept, and the caller reports what it stripped (one line per read, keys
|
|
173
|
+
* only, never theme content). Everything below the top level is unchanged —
|
|
174
|
+
* nested objects stay strict, token grammar and value safety still refuse,
|
|
175
|
+
* the v1 shape still refuses — and the attestation is untouched because
|
|
176
|
+
* `overlayHash` covers `{ overlays, cssVariables, keyframes }` only.
|
|
177
|
+
*
|
|
178
|
+
* Why: a reader on release N−1 meeting a member release N added would
|
|
179
|
+
* otherwise drop the WHOLE theme — colours and all — until it rolled
|
|
180
|
+
* (guuey#1266's class). Parties: every read door of an `AppTheme` MUST use
|
|
181
|
+
* this variant (or {@link parseAppThemeAtReadDoor}); every write door MUST
|
|
182
|
+
* stay on `appThemeSchema`. Observable violation: a read door dropping a
|
|
183
|
+
* theme whose overlays are valid because of an unknown top-level member —
|
|
184
|
+
* the kit's `n1-compat` forward case grades it.
|
|
185
|
+
*/
|
|
186
|
+
export declare const appThemeReadSchema: z.ZodObject<{
|
|
187
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
188
|
+
light: "light";
|
|
189
|
+
dark: "dark";
|
|
190
|
+
}>>;
|
|
191
|
+
name: z.ZodOptional<z.ZodString>;
|
|
192
|
+
overlayHash: z.ZodString;
|
|
193
|
+
overlays: z.ZodObject<{
|
|
194
|
+
light: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
195
|
+
dark: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
196
|
+
}, z.core.$strict>;
|
|
197
|
+
cssVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
198
|
+
keyframes: z.ZodOptional<z.ZodObject<{
|
|
199
|
+
light: z.ZodOptional<z.ZodString>;
|
|
200
|
+
dark: z.ZodOptional<z.ZodString>;
|
|
201
|
+
}, z.core.$strict>>;
|
|
202
|
+
frameless: z.ZodOptional<z.ZodBoolean>;
|
|
203
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
204
|
+
family: z.ZodString;
|
|
205
|
+
src: z.ZodString;
|
|
206
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
207
|
+
style: z.ZodOptional<z.ZodString>;
|
|
208
|
+
display: z.ZodOptional<z.ZodString>;
|
|
209
|
+
}, z.core.$strict>>>;
|
|
210
|
+
imagery: z.ZodOptional<z.ZodObject<{
|
|
211
|
+
mark: z.ZodOptional<z.ZodObject<{
|
|
212
|
+
src: z.ZodString;
|
|
213
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
214
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
215
|
+
light: "light";
|
|
216
|
+
dark: "dark";
|
|
217
|
+
}>>;
|
|
218
|
+
}, z.core.$strict>>;
|
|
219
|
+
hero: z.ZodOptional<z.ZodObject<{
|
|
220
|
+
src: z.ZodString;
|
|
221
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
222
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
223
|
+
light: "light";
|
|
224
|
+
dark: "dark";
|
|
225
|
+
}>>;
|
|
226
|
+
}, z.core.$strict>>;
|
|
227
|
+
pattern: z.ZodOptional<z.ZodObject<{
|
|
228
|
+
src: z.ZodString;
|
|
229
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
230
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
231
|
+
light: "light";
|
|
232
|
+
dark: "dark";
|
|
233
|
+
}>>;
|
|
234
|
+
}, z.core.$strict>>;
|
|
235
|
+
}, z.core.$strict>>;
|
|
236
|
+
}, z.core.$strip>;
|
|
237
|
+
export type AppThemeReadDoorResult = {
|
|
238
|
+
readonly ok: true;
|
|
239
|
+
readonly theme: AppTheme;
|
|
240
|
+
readonly stripped: readonly string[];
|
|
241
|
+
} | {
|
|
242
|
+
readonly ok: false;
|
|
243
|
+
readonly issues: readonly string[];
|
|
244
|
+
};
|
|
245
|
+
/**
|
|
246
|
+
* Parse a stored or carried theme at a READ door: `ok` with the theme and
|
|
247
|
+
* the top-level members that were stripped (payload order, `[]` when none),
|
|
248
|
+
* or the issues in `path: message` form when the theme is refused for a
|
|
249
|
+
* reason the write door would also refuse.
|
|
250
|
+
*/
|
|
251
|
+
export declare function parseAppThemeAtReadDoor(input: unknown): AppThemeReadDoorResult;
|
|
62
252
|
/**
|
|
63
253
|
* The ONE refusal body every write door returns for an overlay it will not
|
|
64
254
|
* store (ggui#987 §3.4): REST 422 `invalid_app_config`, the AppSync
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app-theme.d.ts","sourceRoot":"","sources":["../../src/schemas/app-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,QAA2B,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,QAAiB,CAAC;AAahD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,QAA+B,CAAC;AAE9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAoCrD;
|
|
1
|
+
{"version":3,"file":"app-theme.d.ts","sourceRoot":"","sources":["../../src/schemas/app-theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,QAA2B,CAAC;AAE5D;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,iBAAiB,QAAiB,CAAC;AAahD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,iBAAiB,QAA+B,CAAC;AAE9D,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAoCrD;AAwBD;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB;;;;;;kBAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC,uGAAuG;AACvG,eAAO,MAAM,uBAAuB,sCAAuC,CAAC;AAC5E,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;kBAInC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;kBAIhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoDhB,CAAC;AAEZ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAAiC,CAAC;AAEjE,MAAM,MAAM,sBAAsB,GAC9B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACrF;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAW9E;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;oBAKpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
|
|
@@ -102,6 +102,64 @@ const keyframesText = z
|
|
|
102
102
|
.string()
|
|
103
103
|
.max(8192)
|
|
104
104
|
.refine(isKeyframesText, 'keyframes must be `@keyframes <name> { … }` blocks and nothing else');
|
|
105
|
+
/**
|
|
106
|
+
* https-only asset URL with a well-formed host — the theme document's rule
|
|
107
|
+
* for a declared face (ggui#987 §5), now the wire's rule for every asset an
|
|
108
|
+
* AppTheme names. Grammar only: nothing here is fetched.
|
|
109
|
+
*/
|
|
110
|
+
function isHttpsAssetUrl(src) {
|
|
111
|
+
let url;
|
|
112
|
+
try {
|
|
113
|
+
url = new URL(src);
|
|
114
|
+
}
|
|
115
|
+
catch {
|
|
116
|
+
return false;
|
|
117
|
+
}
|
|
118
|
+
return url.protocol === 'https:' && /^[a-z0-9.-]+$/i.test(url.hostname) && url.hostname.includes('.');
|
|
119
|
+
}
|
|
120
|
+
const httpsAssetUrl = z.string().min(1).refine(isHttpsAssetUrl, 'src must be an https: URL with a well-formed host');
|
|
121
|
+
/**
|
|
122
|
+
* One declared font face (ggui#987 §5; lifted here for ggui#1093 / #990 so the
|
|
123
|
+
* theme DOCUMENT's `typography.faces` and the AppTheme WIRE's `fonts` share
|
|
124
|
+
* ONE grammar — `@ggui-ai/project-config` imports this schema for the
|
|
125
|
+
* document door). `src` MUST be `https:` with a well-formed host; the face is
|
|
126
|
+
* DECLARED, never fetched by any door: the render host unions the origin into
|
|
127
|
+
* its `font-src`, the shell renders the `@font-face` rule, and a face that
|
|
128
|
+
* fails to load in the browser falls back down the family's stack.
|
|
129
|
+
*/
|
|
130
|
+
export const fontFaceDeclarationSchema = z.strictObject({
|
|
131
|
+
family: z.string().min(1).refine((f) => !/[\r\n]/.test(f), 'family must be one line'),
|
|
132
|
+
src: httpsAssetUrl,
|
|
133
|
+
weight: z.union([z.string().min(1), z.number().int().min(1).max(1000)]).optional(),
|
|
134
|
+
style: z.string().min(1).optional(),
|
|
135
|
+
display: z.string().min(1).optional(),
|
|
136
|
+
});
|
|
137
|
+
/** The most faces one theme may declare on the wire — a CSP and a `<style>` block stay bounded. */
|
|
138
|
+
export const APP_THEME_FONTS_MAX = 16;
|
|
139
|
+
/** The imagery slots a theme may fill (ggui#1093): a brand mark, a hero image, a repeating pattern. */
|
|
140
|
+
export const APP_THEME_IMAGERY_KINDS = ['mark', 'hero', 'pattern'];
|
|
141
|
+
/**
|
|
142
|
+
* One image asset: https-only `src` (never fetched by a door), an optional
|
|
143
|
+
* `alt` (≤ 200) and an optional `tone` — the image's own tonality (`light` /
|
|
144
|
+
* `dark`), so a composer can place ink over it without sampling pixels.
|
|
145
|
+
*/
|
|
146
|
+
export const appThemeImageAssetSchema = z.strictObject({
|
|
147
|
+
src: httpsAssetUrl,
|
|
148
|
+
alt: z.string().max(200).optional(),
|
|
149
|
+
tone: z.enum(['light', 'dark']).optional(),
|
|
150
|
+
});
|
|
151
|
+
/**
|
|
152
|
+
* The host's imagery, by slot (ggui#1093, #1075 Track C (a)). Parties: a
|
|
153
|
+
* WRITER (an operator's design tooling, or a harvest of the host page) declares; the WRITE door
|
|
154
|
+
* validates this grammar and nothing more; the render host unions every
|
|
155
|
+
* `src` origin into its `img-src`; the composer reads the slots through
|
|
156
|
+
* the design primitives. Absent ⇒ no imagery, today's card.
|
|
157
|
+
*/
|
|
158
|
+
export const appThemeImagerySchema = z.strictObject({
|
|
159
|
+
mark: appThemeImageAssetSchema.optional(),
|
|
160
|
+
hero: appThemeImageAssetSchema.optional(),
|
|
161
|
+
pattern: appThemeImageAssetSchema.optional(),
|
|
162
|
+
});
|
|
105
163
|
export const appThemeSchema = z
|
|
106
164
|
.object({
|
|
107
165
|
/**
|
|
@@ -140,8 +198,60 @@ export const appThemeSchema = z
|
|
|
140
198
|
* root-children border-suppression rule.
|
|
141
199
|
*/
|
|
142
200
|
frameless: z.boolean().optional(),
|
|
201
|
+
/**
|
|
202
|
+
* Declared font faces (ggui#1093 / #990 — the hosted carrier for the
|
|
203
|
+
* document's `typography.faces`): 1..{@link APP_THEME_FONTS_MAX} faces,
|
|
204
|
+
* each {@link fontFaceDeclarationSchema}. OUTSIDE the attestation:
|
|
205
|
+
* `overlayHash` covers `{ overlays, cssVariables, keyframes }` only
|
|
206
|
+
* (`integrations/overlay-hash.ts`, `OverlayHashInput`) — a face is a
|
|
207
|
+
* declared asset, not a derived projection. A reader on a release that
|
|
208
|
+
* does not name this member strips it at its read door and paints the
|
|
209
|
+
* colours without the faces (`appThemeReadSchema`, VERSION-POLICY §3.6).
|
|
210
|
+
*/
|
|
211
|
+
fonts: z.array(fontFaceDeclarationSchema).min(1).max(APP_THEME_FONTS_MAX).optional(),
|
|
212
|
+
/** The host's imagery by slot — {@link appThemeImagerySchema}; outside the attestation, same as `fonts`. */
|
|
213
|
+
imagery: appThemeImagerySchema.optional(),
|
|
143
214
|
})
|
|
144
215
|
.strict();
|
|
216
|
+
/**
|
|
217
|
+
* The READ-door posture (ggui#1093 belt, 2026-09-15; VERSION-POLICY §3.6).
|
|
218
|
+
*
|
|
219
|
+
* `appThemeSchema` is the WRITE door: strict, an unknown top-level member is
|
|
220
|
+
* refused (`invalid_app_config`). A READ door — a stored row turned into
|
|
221
|
+
* paint, a carried `_meta["ai.ggui/render"].theme` slice — parses with THIS
|
|
222
|
+
* schema instead: an unknown TOP-LEVEL member is stripped, the overlays are
|
|
223
|
+
* kept, and the caller reports what it stripped (one line per read, keys
|
|
224
|
+
* only, never theme content). Everything below the top level is unchanged —
|
|
225
|
+
* nested objects stay strict, token grammar and value safety still refuse,
|
|
226
|
+
* the v1 shape still refuses — and the attestation is untouched because
|
|
227
|
+
* `overlayHash` covers `{ overlays, cssVariables, keyframes }` only.
|
|
228
|
+
*
|
|
229
|
+
* Why: a reader on release N−1 meeting a member release N added would
|
|
230
|
+
* otherwise drop the WHOLE theme — colours and all — until it rolled
|
|
231
|
+
* (guuey#1266's class). Parties: every read door of an `AppTheme` MUST use
|
|
232
|
+
* this variant (or {@link parseAppThemeAtReadDoor}); every write door MUST
|
|
233
|
+
* stay on `appThemeSchema`. Observable violation: a read door dropping a
|
|
234
|
+
* theme whose overlays are valid because of an unknown top-level member —
|
|
235
|
+
* the kit's `n1-compat` forward case grades it.
|
|
236
|
+
*/
|
|
237
|
+
export const appThemeReadSchema = z.object(appThemeSchema.shape);
|
|
238
|
+
/**
|
|
239
|
+
* Parse a stored or carried theme at a READ door: `ok` with the theme and
|
|
240
|
+
* the top-level members that were stripped (payload order, `[]` when none),
|
|
241
|
+
* or the issues in `path: message` form when the theme is refused for a
|
|
242
|
+
* reason the write door would also refuse.
|
|
243
|
+
*/
|
|
244
|
+
export function parseAppThemeAtReadDoor(input) {
|
|
245
|
+
const r = appThemeReadSchema.safeParse(input);
|
|
246
|
+
if (!r.success) {
|
|
247
|
+
return { ok: false, issues: r.error.issues.map((i) => `${i.path.join('.')}: ${i.message}`) };
|
|
248
|
+
}
|
|
249
|
+
const known = new Set(Object.keys(appThemeSchema.shape));
|
|
250
|
+
const stripped = typeof input === 'object' && input !== null && !Array.isArray(input)
|
|
251
|
+
? Object.keys(input).filter((k) => !known.has(k))
|
|
252
|
+
: [];
|
|
253
|
+
return { ok: true, theme: r.data, stripped };
|
|
254
|
+
}
|
|
145
255
|
/**
|
|
146
256
|
* The ONE refusal body every write door returns for an overlay it will not
|
|
147
257
|
* store (ggui#987 §3.4): REST 422 `invalid_app_config`, the AppSync
|
package/dist/schemas/mcp.d.ts
CHANGED
|
@@ -846,11 +846,20 @@ export declare const declareToolCatalogOutputSchema: z.ZodObject<{
|
|
|
846
846
|
*/
|
|
847
847
|
export declare const RUNTIME_PULL_MAX_LIMIT = 100;
|
|
848
848
|
/**
|
|
849
|
-
* Server-side ceiling on `ggui_runtime_pull`'s `wait` hold, in seconds
|
|
850
|
-
*
|
|
851
|
-
*
|
|
852
|
-
*
|
|
853
|
-
*
|
|
849
|
+
* Server-side ceiling on `ggui_runtime_pull`'s `wait` hold, in seconds —
|
|
850
|
+
* the LONGEST hold the server will honour, never a promise that every
|
|
851
|
+
* host tolerates it (ggui#1030).
|
|
852
|
+
*
|
|
853
|
+
* The contract has two sides. SERVER: honour `wait` up to this ceiling,
|
|
854
|
+
* return the empty page as a normal result when the hold elapses, and
|
|
855
|
+
* end the hold when the caller's transport closes. CALLER (the pulling
|
|
856
|
+
* runtime): choose a `wait` that does not exceed the `tools/call`
|
|
857
|
+
* timeout of the host relaying the call, minus a margin; a host that
|
|
858
|
+
* relays a pull clamps the forwarded `wait` to its own timeout minus one
|
|
859
|
+
* second. A host timeout below the hold is a caller-side failure — the
|
|
860
|
+
* server's `success` after the socket closed is not a server fault, and
|
|
861
|
+
* a caller that keeps pulling through such failures must demote to
|
|
862
|
+
* sparse un-held pulls exactly as it does after consecutive empties.
|
|
854
863
|
*/
|
|
855
864
|
export declare const RUNTIME_PULL_MAX_WAIT_SECONDS = 20;
|
|
856
865
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/schemas/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;CAgBpB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;iBAA8B,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX,eAAO,MAAM,eAAe;;;;;iBAA2B,CAAC;AAExD,eAAO,MAAM,oBAAoB;;CAKvB,CAAC;AAEX,eAAO,MAAM,qBAAqB;;iBAAiC,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;CAK5B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;iBAAsC,CAAC;AAE9E;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC,IAAc,CAAC;AAE5D,eAAO,MAAM,iCAAiC,gCAE7C,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;CAwB7B,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;iBAAuC,CAAC;AAEhF,eAAO,MAAM,yBAAyB;;CAO5B,CAAC;AAEX,eAAO,MAAM,0BAA0B;;iBAAsC,CAAC;AAE9E,eAAO,MAAM,kBAAkB,IAAc,CAAC;AAE9C,eAAO,MAAM,mBAAmB,gCAA+B,CAAC;AAahE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,oBAAoB;;;;kBA0BtB,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;iBAgChC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,gBAAgB;;IAO3B;;;;;;;;OAQG;;IAEH;;;;;OAKG;;IAQH;;;;;;;;;;;;;;;OAeG;;;;IAaH;;;;;;;;;;;OAWG;;;;;CAuBK,CAAC;AAEX,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAA6B,CAAC;AAE5D;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;iBAyBlC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,qBAAqB;;;;;;EAMhC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAS5B,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,mBAAmB;;;;EAA4C,CAAC;AAE7E,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAyChE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;iBAmB9B,CAAC;AAEH,oEAAoE;AACpE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEvE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;kBAajC,CAAC;AAEH,0FAA0F;AAC1F,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;kBAItC,CAAC;AAEH,iGAAiG;AACjG,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAG9B,CAAC;AAqDH;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,2BAA2B;;;;;EAKtC,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;iBAalC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiK7B,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;4BAa5B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;4BAa3B,CAAC;AAkBH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;iBAgD7B,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;;;;iBAsC5B,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,6BAA6B;;;;;kBAW/B,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;kBAKhC,CAAC;AAIZ;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,MAAM,CAAC;AAE1C
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/schemas/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/schemas/mcp.js
CHANGED
|
@@ -1094,11 +1094,20 @@ export const declareToolCatalogOutputSchema = z
|
|
|
1094
1094
|
*/
|
|
1095
1095
|
export const RUNTIME_PULL_MAX_LIMIT = 100;
|
|
1096
1096
|
/**
|
|
1097
|
-
* Server-side ceiling on `ggui_runtime_pull`'s `wait` hold, in seconds
|
|
1098
|
-
*
|
|
1099
|
-
*
|
|
1100
|
-
*
|
|
1101
|
-
*
|
|
1097
|
+
* Server-side ceiling on `ggui_runtime_pull`'s `wait` hold, in seconds —
|
|
1098
|
+
* the LONGEST hold the server will honour, never a promise that every
|
|
1099
|
+
* host tolerates it (ggui#1030).
|
|
1100
|
+
*
|
|
1101
|
+
* The contract has two sides. SERVER: honour `wait` up to this ceiling,
|
|
1102
|
+
* return the empty page as a normal result when the hold elapses, and
|
|
1103
|
+
* end the hold when the caller's transport closes. CALLER (the pulling
|
|
1104
|
+
* runtime): choose a `wait` that does not exceed the `tools/call`
|
|
1105
|
+
* timeout of the host relaying the call, minus a margin; a host that
|
|
1106
|
+
* relays a pull clamps the forwarded `wait` to its own timeout minus one
|
|
1107
|
+
* second. A host timeout below the hold is a caller-side failure — the
|
|
1108
|
+
* server's `success` after the socket closed is not a server fault, and
|
|
1109
|
+
* a caller that keeps pulling through such failures must demote to
|
|
1110
|
+
* sparse un-held pulls exactly as it does after consecutive empties.
|
|
1102
1111
|
*/
|
|
1103
1112
|
export const RUNTIME_PULL_MAX_WAIT_SECONDS = 20;
|
|
1104
1113
|
/**
|
|
@@ -1173,7 +1182,7 @@ export const runtimePullInputShape = {
|
|
|
1173
1182
|
.number()
|
|
1174
1183
|
.min(0)
|
|
1175
1184
|
.optional()
|
|
1176
|
-
.describe(`Subscription-mode hold, in seconds. When set and the cursor page is empty, the server holds this call until an event lands or the hold elapses (values above ${RUNTIME_PULL_MAX_WAIT_SECONDS} are clamped to ${RUNTIME_PULL_MAX_WAIT_SECONDS}). An empty page after a full hold is a NORMAL result — immediately re-pull to stay subscribed, or back off to sparse un-held pulls after a few consecutive empties. Omit (= 0) for an immediate return.`),
|
|
1185
|
+
.describe(`Subscription-mode hold, in seconds. When set and the cursor page is empty, the server holds this call until an event lands or the hold elapses (values above ${RUNTIME_PULL_MAX_WAIT_SECONDS} are clamped to ${RUNTIME_PULL_MAX_WAIT_SECONDS}). CALLER OBLIGATION: your \`wait\` MUST NOT exceed the tools/call timeout of the host relaying this call, minus a margin — a host that relays a pull MUST clamp the forwarded \`wait\` to its own timeout minus one second; a host timeout below the hold is a caller-side failure (the server's success after the socket closed is not a server fault), and a caller seeing such failures MUST demote to sparse un-held pulls as it would after consecutive empties. An empty page after a full hold is a NORMAL result — immediately re-pull to stay subscribed, or back off to sparse un-held pulls after a few consecutive empties. Omit (= 0) for an immediate return.`),
|
|
1177
1186
|
};
|
|
1178
1187
|
export const runtimePullInputSchema = z.object(runtimePullInputShape);
|
|
1179
1188
|
/**
|
|
@@ -39,6 +39,12 @@ import { z } from 'zod';
|
|
|
39
39
|
* caller's bound app identity; cross-app calls are subject to the
|
|
40
40
|
* deployment's authorization policy.
|
|
41
41
|
*/
|
|
42
|
+
/**
|
|
43
|
+
* Bound on `intent` (ggui#1046), in characters — one exported number the
|
|
44
|
+
* door checks and readers may cap at; standalone (not tied to any other
|
|
45
|
+
* text bound: they move independently).
|
|
46
|
+
*/
|
|
47
|
+
export declare const OPS_GENERATE_BLUEPRINT_INTENT_MAX_CHARS = 2000;
|
|
42
48
|
export declare const opsGenerateBlueprintInputSchema: z.ZodObject<{
|
|
43
49
|
appId: z.ZodOptional<z.ZodString>;
|
|
44
50
|
contract: z.ZodType<import("../index.js").DataContract, unknown, z.core.$ZodTypeInternals<import("../index.js").DataContract, unknown>>;
|
|
@@ -47,6 +53,7 @@ export declare const opsGenerateBlueprintInputSchema: z.ZodObject<{
|
|
|
47
53
|
aesthetic: z.ZodOptional<z.ZodString>;
|
|
48
54
|
context: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<import("../index.js").JsonValue, unknown, z.core.$ZodTypeInternals<import("../index.js").JsonValue, unknown>>>>;
|
|
49
55
|
seedPrompt: z.ZodOptional<z.ZodString>;
|
|
56
|
+
intent: z.ZodOptional<z.ZodString>;
|
|
50
57
|
setAsOperatorDefault: z.ZodOptional<z.ZodBoolean>;
|
|
51
58
|
}, z.core.$strict>;
|
|
52
59
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops-blueprint.d.ts","sourceRoot":"","sources":["../../src/schemas/ops-blueprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,+BAA+B
|
|
1
|
+
{"version":3,"file":"ops-blueprint.d.ts","sourceRoot":"","sources":["../../src/schemas/ops-blueprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB;;;;;;;;;;;;;;GAcG;AACH;;;;GAIG;AACH,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAE5D,eAAO,MAAM,+BAA+B;;;;;;;;;;kBA0DjC,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;;;;;kBAqBlC,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;kBA+CjC,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,gCAAgC;;;;kBAalC,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,4BAA4B;;;;;;kBAsC9B,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;kBAI/B,CAAC;AAEZ;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;;kBAsB/B,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;;kBAKhC,CAAC;AAEZ;;;;GAIG;AACH,eAAO,MAAM,6BAA6B;;;kBAW/B,CAAC;AAEZ,eAAO,MAAM,8BAA8B;;kBAIhC,CAAC;AAEZ;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,gCAAgC,CACxC,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAC1C,OAAO,4BAA4B,CACpC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC"}
|
|
@@ -42,6 +42,12 @@ import { blueprintSchema, blueprintVarianceSchema, llmBlueprintSourceSchema, use
|
|
|
42
42
|
* caller's bound app identity; cross-app calls are subject to the
|
|
43
43
|
* deployment's authorization policy.
|
|
44
44
|
*/
|
|
45
|
+
/**
|
|
46
|
+
* Bound on `intent` (ggui#1046), in characters — one exported number the
|
|
47
|
+
* door checks and readers may cap at; standalone (not tied to any other
|
|
48
|
+
* text bound: they move independently).
|
|
49
|
+
*/
|
|
50
|
+
export const OPS_GENERATE_BLUEPRINT_INTENT_MAX_CHARS = 2000;
|
|
45
51
|
export const opsGenerateBlueprintInputSchema = z
|
|
46
52
|
.object({
|
|
47
53
|
appId: z
|
|
@@ -73,6 +79,12 @@ export const opsGenerateBlueprintInputSchema = z
|
|
|
73
79
|
.string()
|
|
74
80
|
.optional()
|
|
75
81
|
.describe("The raw operator prompt that produced this variant. Round-trip input for the variant-selector + audit trail."),
|
|
82
|
+
intent: z
|
|
83
|
+
.string()
|
|
84
|
+
.trim()
|
|
85
|
+
.max(OPS_GENERATE_BLUEPRINT_INTENT_MAX_CHARS)
|
|
86
|
+
.optional()
|
|
87
|
+
.describe(`What the operator wants generated for this contract, in plain words — the prompt the generator composes from (at most ${OPS_GENERATE_BLUEPRINT_INTENT_MAX_CHARS} characters). Not part of the cache identity: two calls that differ only in \`intent\` share a variant key. When omitted, the generator falls back to \`seedPrompt\`; omitting both is a caller gap that a future release refuses.`),
|
|
76
88
|
setAsOperatorDefault: z
|
|
77
89
|
.boolean()
|
|
78
90
|
.optional()
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* The rendering-context vocabulary — how and where a generated component
|
|
4
|
+
* will be displayed (ggui#1000, `items[].rendering?` on the bootstrap door).
|
|
5
|
+
*
|
|
6
|
+
* ONE vocabulary. It used to exist twice as hand-declared unions
|
|
7
|
+
* (`@ggui-ai/mcp-server-core` `UiGenerateInput.rendering`, `@ggui-ai/ui-gen`
|
|
8
|
+
* `RenderingContext`) and nowhere as a schema; a wire that carries it needs
|
|
9
|
+
* a validator, so it lives here and every consumer derives its type from
|
|
10
|
+
* this schema — never a second spelling, never a narrower one at a door.
|
|
11
|
+
*
|
|
12
|
+
* Parties and obligations: a SENDER (a host announcing where the
|
|
13
|
+
* component renders; a provisioning caller pre-minting for a chip) sends
|
|
14
|
+
* `{ shell, device, viewport? }` from this vocabulary and nothing else; a
|
|
15
|
+
* RECEIVER validates with this schema and answers an invalid value with its
|
|
16
|
+
* surface's typed refusal (the bootstrap door: `400 invalid_rendering`);
|
|
17
|
+
* what a lane can JUDGE for a given shell/device (its canvas pair) is that
|
|
18
|
+
* lane's policy, reported on its receipt — never a trimmed vocabulary.
|
|
19
|
+
* Absent ⇒ the receiver's default behaviour, unchanged.
|
|
20
|
+
*/
|
|
21
|
+
export declare const RENDERING_SHELLS: readonly ["chat", "fullscreen", "partial"];
|
|
22
|
+
export declare const RENDERING_DEVICES: readonly ["mobile", "tablet", "desktop", "spatial"];
|
|
23
|
+
export type RenderingShell = (typeof RENDERING_SHELLS)[number];
|
|
24
|
+
export type RenderingDevice = (typeof RENDERING_DEVICES)[number];
|
|
25
|
+
/** Viewport in CSS pixels — both dimensions, finite and positive. */
|
|
26
|
+
export declare const renderingViewportSchema: z.ZodObject<{
|
|
27
|
+
width: z.ZodNumber;
|
|
28
|
+
height: z.ZodNumber;
|
|
29
|
+
}, z.core.$strict>;
|
|
30
|
+
export declare const renderingContextSchema: z.ZodObject<{
|
|
31
|
+
device: z.ZodEnum<{
|
|
32
|
+
desktop: "desktop";
|
|
33
|
+
mobile: "mobile";
|
|
34
|
+
tablet: "tablet";
|
|
35
|
+
spatial: "spatial";
|
|
36
|
+
}>;
|
|
37
|
+
shell: z.ZodEnum<{
|
|
38
|
+
fullscreen: "fullscreen";
|
|
39
|
+
chat: "chat";
|
|
40
|
+
partial: "partial";
|
|
41
|
+
}>;
|
|
42
|
+
viewport: z.ZodOptional<z.ZodObject<{
|
|
43
|
+
width: z.ZodNumber;
|
|
44
|
+
height: z.ZodNumber;
|
|
45
|
+
}, z.core.$strict>>;
|
|
46
|
+
}, z.core.$strict>;
|
|
47
|
+
export type RenderingContext = z.infer<typeof renderingContextSchema>;
|
|
48
|
+
//# sourceMappingURL=rendering-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rendering-context.d.ts","sourceRoot":"","sources":["../../src/schemas/rendering-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,4CAA6C,CAAC;AAC3E,eAAO,MAAM,iBAAiB,qDAAsD,CAAC;AAErF,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjE,qEAAqE;AACrE,eAAO,MAAM,uBAAuB;;;kBAKzB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;kBASxB,CAAC;AAEZ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* The rendering-context vocabulary — how and where a generated component
|
|
4
|
+
* will be displayed (ggui#1000, `items[].rendering?` on the bootstrap door).
|
|
5
|
+
*
|
|
6
|
+
* ONE vocabulary. It used to exist twice as hand-declared unions
|
|
7
|
+
* (`@ggui-ai/mcp-server-core` `UiGenerateInput.rendering`, `@ggui-ai/ui-gen`
|
|
8
|
+
* `RenderingContext`) and nowhere as a schema; a wire that carries it needs
|
|
9
|
+
* a validator, so it lives here and every consumer derives its type from
|
|
10
|
+
* this schema — never a second spelling, never a narrower one at a door.
|
|
11
|
+
*
|
|
12
|
+
* Parties and obligations: a SENDER (a host announcing where the
|
|
13
|
+
* component renders; a provisioning caller pre-minting for a chip) sends
|
|
14
|
+
* `{ shell, device, viewport? }` from this vocabulary and nothing else; a
|
|
15
|
+
* RECEIVER validates with this schema and answers an invalid value with its
|
|
16
|
+
* surface's typed refusal (the bootstrap door: `400 invalid_rendering`);
|
|
17
|
+
* what a lane can JUDGE for a given shell/device (its canvas pair) is that
|
|
18
|
+
* lane's policy, reported on its receipt — never a trimmed vocabulary.
|
|
19
|
+
* Absent ⇒ the receiver's default behaviour, unchanged.
|
|
20
|
+
*/
|
|
21
|
+
export const RENDERING_SHELLS = ['chat', 'fullscreen', 'partial'];
|
|
22
|
+
export const RENDERING_DEVICES = ['mobile', 'tablet', 'desktop', 'spatial'];
|
|
23
|
+
/** Viewport in CSS pixels — both dimensions, finite and positive. */
|
|
24
|
+
export const renderingViewportSchema = z
|
|
25
|
+
.object({
|
|
26
|
+
width: z.number().finite().positive(),
|
|
27
|
+
height: z.number().finite().positive(),
|
|
28
|
+
})
|
|
29
|
+
.strict();
|
|
30
|
+
export const renderingContextSchema = z
|
|
31
|
+
.object({
|
|
32
|
+
/** Device category — affects touch targets, column count, density. */
|
|
33
|
+
device: z.enum(RENDERING_DEVICES),
|
|
34
|
+
/** Shell type — the container the component renders in. */
|
|
35
|
+
shell: z.enum(RENDERING_SHELLS),
|
|
36
|
+
/** Viewport dimensions in CSS pixels (optional). */
|
|
37
|
+
viewport: renderingViewportSchema.optional(),
|
|
38
|
+
})
|
|
39
|
+
.strict();
|
package/dist/types/render.d.ts
CHANGED
|
@@ -261,8 +261,9 @@ export interface ComponentGguiSession<TProps = JsonObject> extends GguiSessionBa
|
|
|
261
261
|
*/
|
|
262
262
|
readonly gadgetDescriptors?: readonly GadgetDescriptor[];
|
|
263
263
|
/**
|
|
264
|
-
* Theme sidecar — the resolved per-app theme overlay (mode
|
|
265
|
-
* `--ggui-*`
|
|
264
|
+
* Theme sidecar — the resolved per-app theme overlay (the two-mode
|
|
265
|
+
* `--ggui-*` projection, its attestation, and since ggui#1093 the
|
|
266
|
+
* declared assets `fonts` / `imagery`) snapshotted from `App.theme` at
|
|
266
267
|
* render-commit time. Sibling to {@link ComponentGguiSession.gadgetDescriptors}:
|
|
267
268
|
* a render-time snapshot the slice-meta derivation reads without
|
|
268
269
|
* re-resolving against the App record. The bootstrap projection
|
|
@@ -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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"}
|