@ggui-ai/protocol 0.18.0 → 0.19.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/schemas/app-theme.d.ts +160 -16
- package/dist/schemas/app-theme.d.ts.map +1 -1
- package/dist/schemas/app-theme.js +62 -20
- package/dist/schemas/data-contract.d.ts.map +1 -1
- package/dist/schemas/data-contract.js +23 -9
- package/dist/schemas/mcp.d.ts +9 -3
- package/dist/schemas/mcp.d.ts.map +1 -1
- package/dist/schemas/mcp.js +10 -4
- package/dist/types/data-contract.d.ts +5 -3
- package/dist/types/data-contract.d.ts.map +1 -1
- package/dist/version.d.ts +12 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +12 -1
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ export declare const STDLIB_GADGETS_PACKAGE = "@ggui-ai/gadgets";
|
|
|
12
12
|
* in `@ggui-ai/gadgets` asserts the two stay in sync, so a release-time
|
|
13
13
|
* bump to the runtime package without updating this constant fails CI.
|
|
14
14
|
*/
|
|
15
|
-
export declare const STDLIB_GADGETS_VERSION = "0.
|
|
15
|
+
export declare const STDLIB_GADGETS_VERSION = "0.19.0";
|
|
16
16
|
/**
|
|
17
17
|
* v1 catalog of stdlib gadget descriptors. Every entry's
|
|
18
18
|
* `package` defaults to {@link STDLIB_GADGETS_PACKAGE}; the
|
|
@@ -39,7 +39,7 @@ export const STDLIB_GADGETS_PACKAGE = '@ggui-ai/gadgets';
|
|
|
39
39
|
* in `@ggui-ai/gadgets` asserts the two stay in sync, so a release-time
|
|
40
40
|
* bump to the runtime package without updating this constant fails CI.
|
|
41
41
|
*/
|
|
42
|
-
export const STDLIB_GADGETS_VERSION = '0.
|
|
42
|
+
export const STDLIB_GADGETS_VERSION = '0.19.0';
|
|
43
43
|
/**
|
|
44
44
|
* v1 catalog of stdlib gadget descriptors. Every entry's
|
|
45
45
|
* `package` defaults to {@link STDLIB_GADGETS_PACKAGE}; the
|
|
@@ -271,6 +271,156 @@ export declare function parseAppThemeAtReadDoor(input: unknown): AppThemeReadDoo
|
|
|
271
271
|
* `errorInfo`, the MCP ops door's `{ ok: false }` structured content. A
|
|
272
272
|
* discriminated union by key — exactly one of the four.
|
|
273
273
|
*/
|
|
274
|
+
/**
|
|
275
|
+
* The CARRY read — the REPRODUCE side of the two-read-paths rule stated on
|
|
276
|
+
* {@link parseAppThemeAtReadDoor} (ggui#1155).
|
|
277
|
+
*
|
|
278
|
+
* A theme READ exists so that a writer can carry the stored document forward
|
|
279
|
+
* and write it back. That reader's job is fidelity: it MUST return the stored
|
|
280
|
+
* document VERBATIM — every top-level member, including members this release
|
|
281
|
+
* does not name, plus the stored attestation. Routing it through the
|
|
282
|
+
* INTERPRET door instead would strip exactly the members the writer is
|
|
283
|
+
* obliged to carry, and the very next write would be refused by the
|
|
284
|
+
* ggui#1124 guard as `wouldDrop` — the door built to protect those members
|
|
285
|
+
* catching the door that dropped them. That is the defect this schema
|
|
286
|
+
* exists to make impossible rather than merely noticed.
|
|
287
|
+
*
|
|
288
|
+
* So this is a SHAPE check, not a strip: the members this release names are
|
|
289
|
+
* validated exactly as the write door validates them (a bad token is still
|
|
290
|
+
* invalid, not carried), and everything else passes through untouched.
|
|
291
|
+
* Never `.strict()`, never the stripping read door.
|
|
292
|
+
*/
|
|
293
|
+
export declare const appThemeCarrySchema: z.ZodObject<{
|
|
294
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
295
|
+
light: "light";
|
|
296
|
+
dark: "dark";
|
|
297
|
+
}>>;
|
|
298
|
+
name: z.ZodOptional<z.ZodString>;
|
|
299
|
+
overlayHash: z.ZodString;
|
|
300
|
+
overlays: z.ZodObject<{
|
|
301
|
+
light: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
302
|
+
dark: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
303
|
+
}, z.core.$strict>;
|
|
304
|
+
cssVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
305
|
+
keyframes: z.ZodOptional<z.ZodObject<{
|
|
306
|
+
light: z.ZodOptional<z.ZodString>;
|
|
307
|
+
dark: z.ZodOptional<z.ZodString>;
|
|
308
|
+
}, z.core.$strict>>;
|
|
309
|
+
frameless: z.ZodOptional<z.ZodBoolean>;
|
|
310
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
311
|
+
family: z.ZodString;
|
|
312
|
+
src: z.ZodString;
|
|
313
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
314
|
+
style: z.ZodOptional<z.ZodString>;
|
|
315
|
+
display: z.ZodOptional<z.ZodString>;
|
|
316
|
+
}, z.core.$strict>>>;
|
|
317
|
+
imagery: z.ZodOptional<z.ZodObject<{
|
|
318
|
+
mark: z.ZodOptional<z.ZodObject<{
|
|
319
|
+
src: z.ZodString;
|
|
320
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
321
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
322
|
+
light: "light";
|
|
323
|
+
dark: "dark";
|
|
324
|
+
}>>;
|
|
325
|
+
}, z.core.$strict>>;
|
|
326
|
+
hero: z.ZodOptional<z.ZodObject<{
|
|
327
|
+
src: z.ZodString;
|
|
328
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
329
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
330
|
+
light: "light";
|
|
331
|
+
dark: "dark";
|
|
332
|
+
}>>;
|
|
333
|
+
}, z.core.$strict>>;
|
|
334
|
+
pattern: z.ZodOptional<z.ZodObject<{
|
|
335
|
+
src: z.ZodString;
|
|
336
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
337
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
338
|
+
light: "light";
|
|
339
|
+
dark: "dark";
|
|
340
|
+
}>>;
|
|
341
|
+
}, z.core.$strict>>;
|
|
342
|
+
}, z.core.$strict>>;
|
|
343
|
+
}, z.core.$loose>;
|
|
344
|
+
/** The stored theme document as a carry read returns it — verbatim. */
|
|
345
|
+
export type AppThemeCarry = z.infer<typeof appThemeCarrySchema>;
|
|
346
|
+
/**
|
|
347
|
+
* What a theme GET promises (ggui#1155) — the DOOR's emit-side contract.
|
|
348
|
+
*
|
|
349
|
+
* `theme` is the stored document verbatim ({@link appThemeCarrySchema}) or
|
|
350
|
+
* `null` when the app has no theme. `interpreted.stripped`, when present,
|
|
351
|
+
* names the top-level members an INTERPRET reader on THIS release would have
|
|
352
|
+
* dropped — computed beside the document, never applied to it — so a carrier
|
|
353
|
+
* can see the gap without the document being altered.
|
|
354
|
+
*
|
|
355
|
+
* Presence ⇔ at least one name: `stripped` is `.min(1)`, so
|
|
356
|
+
* `{ interpreted: { stripped: [] } }` is INVALID rather than a second way to
|
|
357
|
+
* say "nothing was stripped". Two representations of nothing is exactly the
|
|
358
|
+
* ambiguity a reader keying on presence cannot be asked to resolve. The
|
|
359
|
+
* response is `.strict()` because this is what the DOOR emits — a reader on
|
|
360
|
+
* an older release parses it with its own tolerant read, per §3.6; this
|
|
361
|
+
* schema states the promise, not the reader's demand.
|
|
362
|
+
*
|
|
363
|
+
* Observable violation: a response whose `theme` carries fewer top-level
|
|
364
|
+
* members than the stored row holds; or `interpreted` present with nothing
|
|
365
|
+
* in it. The conformance kit's `app-theme-carry` forward case grades both.
|
|
366
|
+
*/
|
|
367
|
+
export declare const appThemeGetResponseSchema: z.ZodObject<{
|
|
368
|
+
theme: z.ZodNullable<z.ZodObject<{
|
|
369
|
+
mode: z.ZodOptional<z.ZodEnum<{
|
|
370
|
+
light: "light";
|
|
371
|
+
dark: "dark";
|
|
372
|
+
}>>;
|
|
373
|
+
name: z.ZodOptional<z.ZodString>;
|
|
374
|
+
overlayHash: z.ZodString;
|
|
375
|
+
overlays: z.ZodObject<{
|
|
376
|
+
light: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
377
|
+
dark: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
378
|
+
}, z.core.$strict>;
|
|
379
|
+
cssVariables: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
380
|
+
keyframes: z.ZodOptional<z.ZodObject<{
|
|
381
|
+
light: z.ZodOptional<z.ZodString>;
|
|
382
|
+
dark: z.ZodOptional<z.ZodString>;
|
|
383
|
+
}, z.core.$strict>>;
|
|
384
|
+
frameless: z.ZodOptional<z.ZodBoolean>;
|
|
385
|
+
fonts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
386
|
+
family: z.ZodString;
|
|
387
|
+
src: z.ZodString;
|
|
388
|
+
weight: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
|
|
389
|
+
style: z.ZodOptional<z.ZodString>;
|
|
390
|
+
display: z.ZodOptional<z.ZodString>;
|
|
391
|
+
}, z.core.$strict>>>;
|
|
392
|
+
imagery: z.ZodOptional<z.ZodObject<{
|
|
393
|
+
mark: z.ZodOptional<z.ZodObject<{
|
|
394
|
+
src: z.ZodString;
|
|
395
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
396
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
397
|
+
light: "light";
|
|
398
|
+
dark: "dark";
|
|
399
|
+
}>>;
|
|
400
|
+
}, z.core.$strict>>;
|
|
401
|
+
hero: z.ZodOptional<z.ZodObject<{
|
|
402
|
+
src: z.ZodString;
|
|
403
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
404
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
405
|
+
light: "light";
|
|
406
|
+
dark: "dark";
|
|
407
|
+
}>>;
|
|
408
|
+
}, z.core.$strict>>;
|
|
409
|
+
pattern: z.ZodOptional<z.ZodObject<{
|
|
410
|
+
src: z.ZodString;
|
|
411
|
+
alt: z.ZodOptional<z.ZodString>;
|
|
412
|
+
tone: z.ZodOptional<z.ZodEnum<{
|
|
413
|
+
light: "light";
|
|
414
|
+
dark: "dark";
|
|
415
|
+
}>>;
|
|
416
|
+
}, z.core.$strict>>;
|
|
417
|
+
}, z.core.$strict>>;
|
|
418
|
+
}, z.core.$loose>>;
|
|
419
|
+
interpreted: z.ZodOptional<z.ZodObject<{
|
|
420
|
+
stripped: z.ZodArray<z.ZodString>;
|
|
421
|
+
}, z.core.$strict>>;
|
|
422
|
+
}, z.core.$strict>;
|
|
423
|
+
export type AppThemeGetResponse = z.infer<typeof appThemeGetResponseSchema>;
|
|
274
424
|
/**
|
|
275
425
|
* The top-level members the STORED theme holds that an incoming write does
|
|
276
426
|
* not carry — i.e. exactly what the write would destroy (ggui#1124).
|
|
@@ -319,22 +469,16 @@ export declare function appThemeDroppedMembers(stored: unknown, incoming: unknow
|
|
|
319
469
|
* the app has no theme between those two writes, because that is the kind
|
|
320
470
|
* of fact a caller must not discover in production.
|
|
321
471
|
*
|
|
322
|
-
* The CLEAR half names
|
|
323
|
-
*
|
|
324
|
-
*
|
|
325
|
-
*
|
|
326
|
-
*
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
*
|
|
331
|
-
*
|
|
332
|
-
* writer so all four doors honour one mechanism — but that is a change to
|
|
333
|
-
* three doors' semantics and belongs to its own decision with cloud, not to
|
|
334
|
-
* a wording fix.
|
|
335
|
-
*
|
|
336
|
-
* Throws on an empty list: a refusal that names nothing is not an
|
|
337
|
-
* instruction.
|
|
472
|
+
* The CLEAR half names the mechanism outright — `theme: null` — because it
|
|
473
|
+
* is true on EVERY door that writes a theme (ggui#1145): the shared writer
|
|
474
|
+
* routes an explicit `null` to one named removal before validation, on the
|
|
475
|
+
* PUT, the PATCH, the ops tool and the replace-mode push alike. For one
|
|
476
|
+
* release this sentence hedged by door (ggui#1124's `cb87cf0bc`), because
|
|
477
|
+
* `null` cleared on one door of four and a writer following a universal
|
|
478
|
+
* instruction got a second refusal on the other three; that hedge was a
|
|
479
|
+
* workaround for the asymmetry, never the contract, and it left with the
|
|
480
|
+
* asymmetry. The CARRY half needs no such history: it is implementable on
|
|
481
|
+
* every door, which is why it is stated first and unconditionally.
|
|
338
482
|
*/
|
|
339
483
|
export declare function appThemeWouldDropRefusalText(wouldDrop: readonly string[]): string;
|
|
340
484
|
export declare const appThemeRefusalBodySchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
@@ -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;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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAW9E;AAED;;;;;GAKG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,OAAO,GAChB,SAAS,MAAM,EAAE,CAGnB;AAMD
|
|
1
|
+
{"version":3,"file":"app-theme.d.ts","sourceRoot":"","sources":["../../src/schemas/app-theme.ts"],"names":[],"mappings":"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"}
|
|
@@ -274,6 +274,56 @@ export function parseAppThemeAtReadDoor(input) {
|
|
|
274
274
|
* `errorInfo`, the MCP ops door's `{ ok: false }` structured content. A
|
|
275
275
|
* discriminated union by key — exactly one of the four.
|
|
276
276
|
*/
|
|
277
|
+
/**
|
|
278
|
+
* The CARRY read — the REPRODUCE side of the two-read-paths rule stated on
|
|
279
|
+
* {@link parseAppThemeAtReadDoor} (ggui#1155).
|
|
280
|
+
*
|
|
281
|
+
* A theme READ exists so that a writer can carry the stored document forward
|
|
282
|
+
* and write it back. That reader's job is fidelity: it MUST return the stored
|
|
283
|
+
* document VERBATIM — every top-level member, including members this release
|
|
284
|
+
* does not name, plus the stored attestation. Routing it through the
|
|
285
|
+
* INTERPRET door instead would strip exactly the members the writer is
|
|
286
|
+
* obliged to carry, and the very next write would be refused by the
|
|
287
|
+
* ggui#1124 guard as `wouldDrop` — the door built to protect those members
|
|
288
|
+
* catching the door that dropped them. That is the defect this schema
|
|
289
|
+
* exists to make impossible rather than merely noticed.
|
|
290
|
+
*
|
|
291
|
+
* So this is a SHAPE check, not a strip: the members this release names are
|
|
292
|
+
* validated exactly as the write door validates them (a bad token is still
|
|
293
|
+
* invalid, not carried), and everything else passes through untouched.
|
|
294
|
+
* Never `.strict()`, never the stripping read door.
|
|
295
|
+
*/
|
|
296
|
+
export const appThemeCarrySchema = z.object(appThemeSchema.shape).passthrough();
|
|
297
|
+
/**
|
|
298
|
+
* What a theme GET promises (ggui#1155) — the DOOR's emit-side contract.
|
|
299
|
+
*
|
|
300
|
+
* `theme` is the stored document verbatim ({@link appThemeCarrySchema}) or
|
|
301
|
+
* `null` when the app has no theme. `interpreted.stripped`, when present,
|
|
302
|
+
* names the top-level members an INTERPRET reader on THIS release would have
|
|
303
|
+
* dropped — computed beside the document, never applied to it — so a carrier
|
|
304
|
+
* can see the gap without the document being altered.
|
|
305
|
+
*
|
|
306
|
+
* Presence ⇔ at least one name: `stripped` is `.min(1)`, so
|
|
307
|
+
* `{ interpreted: { stripped: [] } }` is INVALID rather than a second way to
|
|
308
|
+
* say "nothing was stripped". Two representations of nothing is exactly the
|
|
309
|
+
* ambiguity a reader keying on presence cannot be asked to resolve. The
|
|
310
|
+
* response is `.strict()` because this is what the DOOR emits — a reader on
|
|
311
|
+
* an older release parses it with its own tolerant read, per §3.6; this
|
|
312
|
+
* schema states the promise, not the reader's demand.
|
|
313
|
+
*
|
|
314
|
+
* Observable violation: a response whose `theme` carries fewer top-level
|
|
315
|
+
* members than the stored row holds; or `interpreted` present with nothing
|
|
316
|
+
* in it. The conformance kit's `app-theme-carry` forward case grades both.
|
|
317
|
+
*/
|
|
318
|
+
export const appThemeGetResponseSchema = z
|
|
319
|
+
.object({
|
|
320
|
+
theme: appThemeCarrySchema.nullable(),
|
|
321
|
+
interpreted: z
|
|
322
|
+
.object({ stripped: z.array(z.string().min(1)).min(1) })
|
|
323
|
+
.strict()
|
|
324
|
+
.optional(),
|
|
325
|
+
})
|
|
326
|
+
.strict();
|
|
277
327
|
/**
|
|
278
328
|
* The top-level members the STORED theme holds that an incoming write does
|
|
279
329
|
* not carry — i.e. exactly what the write would destroy (ggui#1124).
|
|
@@ -329,22 +379,16 @@ function isPlainObject(value) {
|
|
|
329
379
|
* the app has no theme between those two writes, because that is the kind
|
|
330
380
|
* of fact a caller must not discover in production.
|
|
331
381
|
*
|
|
332
|
-
* The CLEAR half names
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
*
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
*
|
|
342
|
-
* writer so all four doors honour one mechanism — but that is a change to
|
|
343
|
-
* three doors' semantics and belongs to its own decision with cloud, not to
|
|
344
|
-
* a wording fix.
|
|
345
|
-
*
|
|
346
|
-
* Throws on an empty list: a refusal that names nothing is not an
|
|
347
|
-
* instruction.
|
|
382
|
+
* The CLEAR half names the mechanism outright — `theme: null` — because it
|
|
383
|
+
* is true on EVERY door that writes a theme (ggui#1145): the shared writer
|
|
384
|
+
* routes an explicit `null` to one named removal before validation, on the
|
|
385
|
+
* PUT, the PATCH, the ops tool and the replace-mode push alike. For one
|
|
386
|
+
* release this sentence hedged by door (ggui#1124's `cb87cf0bc`), because
|
|
387
|
+
* `null` cleared on one door of four and a writer following a universal
|
|
388
|
+
* instruction got a second refusal on the other three; that hedge was a
|
|
389
|
+
* workaround for the asymmetry, never the contract, and it left with the
|
|
390
|
+
* asymmetry. The CARRY half needs no such history: it is implementable on
|
|
391
|
+
* every door, which is why it is stated first and unconditionally.
|
|
348
392
|
*/
|
|
349
393
|
export function appThemeWouldDropRefusalText(wouldDrop) {
|
|
350
394
|
if (wouldDrop.length === 0) {
|
|
@@ -354,10 +398,8 @@ export function appThemeWouldDropRefusalText(wouldDrop) {
|
|
|
354
398
|
return (`this write would drop stored theme members it does not carry — [${members}]. ` +
|
|
355
399
|
`If you did not mean to drop them: read the stored theme and carry every member this write does not own, ` +
|
|
356
400
|
`then recompute the attestation over the result. ` +
|
|
357
|
-
`If you DID mean to drop them:
|
|
358
|
-
`the app has NO theme between those two writes
|
|
359
|
-
`theme door clears on \`theme: null\`; other doors differ, so use the clear operation of the door you ` +
|
|
360
|
-
`are calling rather than assuming this one.`);
|
|
401
|
+
`If you DID mean to drop them: send \`theme: null\` to clear the theme, then write the theme you want — ` +
|
|
402
|
+
`the app has NO theme between those two writes.`);
|
|
361
403
|
}
|
|
362
404
|
export const appThemeRefusalBodySchema = z.union([
|
|
363
405
|
z.object({ uncovered: z.object({ light: z.array(z.string()), dark: z.array(z.string()) }).strict() }).strict(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-contract.d.ts","sourceRoot":"","sources":["../../src/schemas/data-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACX,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAYhD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAyC,CAAC;AAmB7F,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CA2BlD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;kBASjB,CAAC;AAEZ,sFAAsF;AACtF,eAAO,MAAM,eAAe;;;;;;;;;;kBAKjB,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"data-contract.d.ts","sourceRoot":"","sources":["../../src/schemas/data-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACX,MAAM,wBAAwB,CAAC;AAEhC;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAYhD,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAyC,CAAC;AAmB7F,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CA2BlD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe;;;;;;;kBASjB,CAAC;AAEZ,sFAAsF;AACtF,eAAO,MAAM,eAAe;;;;;;;;;;kBAKjB,CAAC;AAEZ;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;kBAsFnB,CAAC;AAEZ,6DAA6D;AAC7D,eAAO,MAAM,gBAAgB;;;;;;;;;mBAA0C,CAAC;AAExE,iFAAiF;AACjF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;kBAgB1B,CAAC;AAEZ,uEAAuE;AACvE,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;mBAAiD,CAAC;AAE/E,yEAAyE;AACzE,eAAO,MAAM,kBAAkB;;;;;;kBAQpB,CAAC;AAEZ,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB;;;;;;mBAA2C,CAAC;AAE1E,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;kBAiBtB,CAAC;AAEZ,qEAAqE;AACrE,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;iBAIxB,CAAC;AAGjB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB,yBAAmD,CAAC;AAErF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,aAAa,QAA8B,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,mBAAmB,QACsB,CAAC;AAEvD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,QAAyC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,QAAyB,CAAC;AAErD;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAEtD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,QAAiD,CAAC;AAE/E;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;;GAQG;AACH,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAwExE;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;oBAa7B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBAanC,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;kBAKxB,CAAC;AAEZ;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAK9B,CAAC;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAU1C,CAAC;AAQJ;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,qBAAqB;;;kBAKvB,CAAC;AAEZ;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;;mBAa/B,CAAC;AAEL;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,4BAA4B;;;;;kBAO9B,CAAC;AAEZ;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kBAAkB,uCAAgE,CAAC;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAQa,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAehC,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAClC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC5F;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,CAAC;AA2C/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,0BAA0B,CAmEtF;AAED,eAAO,MAAM,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAiCZ,CAAC"}
|
|
@@ -183,8 +183,11 @@ export const actionEntrySchema = z
|
|
|
183
183
|
* not a vestigial field.
|
|
184
184
|
*
|
|
185
185
|
* Observable violation: a contract declaring `confirm: true` whose
|
|
186
|
-
* rendered contract context omits the flag
|
|
187
|
-
* `
|
|
186
|
+
* rendered contract context omits the flag. (The pin for that belongs
|
|
187
|
+
* in `@ggui-ai/ui-gen` beside the renderer; this docblock names the
|
|
188
|
+
* criterion, not a test — a test name in a docblock is a claim about
|
|
189
|
+
* another package's tree, and this one once named a test that did
|
|
190
|
+
* not exist.)
|
|
188
191
|
*/
|
|
189
192
|
confirm: z.boolean().optional(),
|
|
190
193
|
/**
|
|
@@ -198,12 +201,21 @@ export const actionEntrySchema = z
|
|
|
198
201
|
* the contract is where it is said.
|
|
199
202
|
*
|
|
200
203
|
* Obligations: the RUNTIME suppresses a second dispatch of a declared
|
|
201
|
-
* one-shot action for the render's lifetime
|
|
202
|
-
*
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
*
|
|
206
|
-
*
|
|
204
|
+
* one-shot action for the render's lifetime — AND the suppression is
|
|
205
|
+
* NEVER SILENT: a suppressed dispatch leaves a named trace an operator
|
|
206
|
+
* can find (at minimum the runtime's diagnostic channel, carrying the
|
|
207
|
+
* `actionId` and `oneShot` as the reason), and it does NOT reach the
|
|
208
|
+
* agent as a dispatch. This is the rule `@ggui-ai/wire`'s dispatch
|
|
209
|
+
* dedup already holds for its own suppression, inherited here on
|
|
210
|
+
* purpose: a second gesture the runtime refuses to forward is an
|
|
211
|
+
* EVENT, not silence — otherwise a silent double-fire is replaced by a
|
|
212
|
+
* silent swallow, the same unobservable violation facing the other
|
|
213
|
+
* way. The RELAY never collapses distinct `actionId`s — two gestures
|
|
214
|
+
* are two facts and the relay stays honest about them; the AGENT
|
|
215
|
+
* treats `actionId` as an idempotency key for EVERY action, which buys
|
|
216
|
+
* at-most-once per DISPATCH (a replay, a re-delivered buffer) and
|
|
217
|
+
* explicitly NOT per intent, since a second gesture mints a new
|
|
218
|
+
* `actionId`.
|
|
207
219
|
*
|
|
208
220
|
* THE WINDOW, stated because "the render's lifetime" is ambiguous
|
|
209
221
|
* otherwise: a fresh `ggui_render` RE-ARMS the action; a `ggui_update`
|
|
@@ -218,7 +230,9 @@ export const actionEntrySchema = z
|
|
|
218
230
|
*
|
|
219
231
|
* Failure mode: a duplicated side effect — a confirm card that writes
|
|
220
232
|
* twice. Observable violation: two consume entries with distinct
|
|
221
|
-
* `actionId`s for the same declared one-shot action inside one render
|
|
233
|
+
* `actionId`s for the same declared one-shot action inside one render;
|
|
234
|
+
* or a second gesture on such an action that produced neither a consume
|
|
235
|
+
* entry NOR a named suppression trace.
|
|
222
236
|
*/
|
|
223
237
|
oneShot: z.boolean().optional(),
|
|
224
238
|
nextStep: z.string().min(1).optional(),
|
package/dist/schemas/mcp.d.ts
CHANGED
|
@@ -145,8 +145,9 @@ export declare const handshakeInputSchema: z.ZodObject<{
|
|
|
145
145
|
* - `synth` → render `{handshakeId, props}` (omit `override`) to gen against the amended contract.
|
|
146
146
|
*
|
|
147
147
|
* Any origin → render `{handshakeId, props, override: {contract?, variance?}}`
|
|
148
|
-
* to re-aim the suggestion — `override.contract`
|
|
149
|
-
* contract; `override.variance` re-aims the
|
|
148
|
+
* to re-aim the suggestion — `override.contract` re-aims to a fresh
|
|
149
|
+
* contract (resolved at its own key); `override.variance` re-aims the
|
|
150
|
+
* variant axis.
|
|
150
151
|
*
|
|
151
152
|
* Wire-output is intentionally lean. The handler carries `target`,
|
|
152
153
|
* `alternatives`, `contractHash`, `serverCapabilities` on its internal
|
|
@@ -192,7 +193,12 @@ export declare const handshakeOutputSchema: z.ZodObject<{
|
|
|
192
193
|
* - ACCEPT (omit `override`) reuses the agreed contract + the proposed
|
|
193
194
|
* variance, resolving the proposed `(contractKey, variantKey)`.
|
|
194
195
|
* - `override.contract` re-drafts the contract (STRICT — must already
|
|
195
|
-
* conform; the server does not repair it) and
|
|
196
|
+
* conform; the server does not repair it) and re-resolves the
|
|
197
|
+
* effective `(blueprintKey(newContract), variantKey)` — reuse if a
|
|
198
|
+
* blueprint exists there, else cold-gen registered under that key.
|
|
199
|
+
* An override is a RE-AIM, never a request for a fresh generation
|
|
200
|
+
* (ggui#1131); `forceCreate` on the handshake is the only lever
|
|
201
|
+
* that forces one.
|
|
196
202
|
* - `override.variance` re-aims the variant axis while keeping the
|
|
197
203
|
* agreed contract, re-resolving the effective
|
|
198
204
|
* `(contractKey, variantKey(newVariance))`.
|
|
@@ -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
|
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;iBAgChC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;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;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;iBAsBjC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,qBAAqB;;;;;CA8BxB,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;iBAAkC,CAAC;AAEtE;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;iBAItC,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAC;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;mBAGlC,CAAC;AAGH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,0BAA0B;;;;;;;CA+B7B,CAAC;AAEX,eAAO,MAAM,2BAA2B;;;;;;;iBAAuC,CAAC;AAEhF,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;iBAAoC,CAAC;AAW9E,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE5D,kDAAkD;AAClD,KAAK,uBAAuB,GAAG,QAAQ,CACrC,IAAI,CACF,iBAAiB,EACjB,WAAW,GAAG,QAAQ,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,CACjF,CACF,CAAC;AAEF,qEAAqE;AACrE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI,iBAAiB,GAAG;IAAE,OAAO,EAAE,UAAU,CAAA;CAAE,GAAG,uBAAuB,CAEjF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI,iBAAiB,GAAG;IAC/B,OAAO,EAAE,QAAQ,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;CAC1C,GAAG,uBAAuB,CAE1B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,iBAAiB,GACxB,MAAM,IAAI;IAAE,OAAO,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,CAEjE;AAYD,iFAAiF;AACjF,eAAO,MAAM,sBAAsB;;;;EAA0C,CAAC;AAE9E;;;;GAIG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBtC,CAAC;AAEH,kFAAkF;AAClF,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAEnC,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,4BAA4B;;;;;;;;;iBASvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;EAAgC,CAAC;AAErE;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;iBAQlC,CAAC;AAEH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAI7B,CAAC;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIlC,CAAC;AAEH,iFAAiF;AACjF,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAEvC,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,oBAAoB;;;iBAU/B,CAAC;AAEH;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;iBAgBrC,CAAC;AAEH,wEAAwE;AACxE,eAAO,MAAM,6BAA6B;;;;EAA8C,CAAC;AAEzF,eAAO,MAAM,8BAA8B;;;;;;;;;iBAKzC,CAAC;AAEH,6GAA6G;AAC7G,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK1C,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,wBAAwB;;;;;;;iBAOnC,CAAC;AAEH,eAAO,MAAM,sCAAsC;;;;;;;;;;iBAGjD,CAAC;AAEH,mFAAmF;AACnF,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB3C,CAAC;AAEH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAY3C,CAAC"}
|
package/dist/schemas/mcp.js
CHANGED
|
@@ -203,8 +203,9 @@ export const handshakeInputSchema = z.object({
|
|
|
203
203
|
* - `synth` → render `{handshakeId, props}` (omit `override`) to gen against the amended contract.
|
|
204
204
|
*
|
|
205
205
|
* Any origin → render `{handshakeId, props, override: {contract?, variance?}}`
|
|
206
|
-
* to re-aim the suggestion — `override.contract`
|
|
207
|
-
* contract; `override.variance` re-aims the
|
|
206
|
+
* to re-aim the suggestion — `override.contract` re-aims to a fresh
|
|
207
|
+
* contract (resolved at its own key); `override.variance` re-aims the
|
|
208
|
+
* variant axis.
|
|
208
209
|
*
|
|
209
210
|
* Wire-output is intentionally lean. The handler carries `target`,
|
|
210
211
|
* `alternatives`, `contractHash`, `serverCapabilities` on its internal
|
|
@@ -262,7 +263,12 @@ export const handshakeOutputSchema = z.object({
|
|
|
262
263
|
* - ACCEPT (omit `override`) reuses the agreed contract + the proposed
|
|
263
264
|
* variance, resolving the proposed `(contractKey, variantKey)`.
|
|
264
265
|
* - `override.contract` re-drafts the contract (STRICT — must already
|
|
265
|
-
* conform; the server does not repair it) and
|
|
266
|
+
* conform; the server does not repair it) and re-resolves the
|
|
267
|
+
* effective `(blueprintKey(newContract), variantKey)` — reuse if a
|
|
268
|
+
* blueprint exists there, else cold-gen registered under that key.
|
|
269
|
+
* An override is a RE-AIM, never a request for a fresh generation
|
|
270
|
+
* (ggui#1131); `forceCreate` on the handshake is the only lever
|
|
271
|
+
* that forces one.
|
|
266
272
|
* - `override.variance` re-aims the variant axis while keeping the
|
|
267
273
|
* agreed contract, re-resolving the effective
|
|
268
274
|
* `(contractKey, variantKey(newVariance))`.
|
|
@@ -745,7 +751,7 @@ export const renderOutputSchema = z.object({
|
|
|
745
751
|
blueprintId: z
|
|
746
752
|
.string()
|
|
747
753
|
.optional()
|
|
748
|
-
.describe('Opaque id of the materialised component for this render. On
|
|
754
|
+
.describe('Opaque id of the materialised component for this render. On every reuse path (accept a cache-origin proposal, or an override — contract and/or variance — that resolves to an existing blueprint at its key) it is the stored id; equal ids across renders mean the same stored component. A fresh id is minted only when nothing is stored at the resolved key, or when the handshake carried forceCreate.'),
|
|
749
755
|
variantKey: z
|
|
750
756
|
.string()
|
|
751
757
|
.optional()
|
|
@@ -269,9 +269,11 @@ export interface ActionEntry {
|
|
|
269
269
|
/**
|
|
270
270
|
* This action may fire AT MOST ONCE per render (ggui#1108) — declared by
|
|
271
271
|
* the contract's author, never inferred, because only the author knows.
|
|
272
|
-
* The runtime suppresses a second dispatch for the render's lifetime
|
|
273
|
-
*
|
|
274
|
-
*
|
|
272
|
+
* The runtime suppresses a second dispatch for the render's lifetime — and
|
|
273
|
+
* names the suppression (never silent; it does not reach the agent as a
|
|
274
|
+
* dispatch): a fresh `ggui_render` re-arms it, a `ggui_update` of the same
|
|
275
|
+
* render does not. Sibling of `confirm` (which asks before firing), not a
|
|
276
|
+
* pair.
|
|
275
277
|
*/
|
|
276
278
|
oneShot?: boolean;
|
|
277
279
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-contract.d.ts","sourceRoot":"","sources":["../../src/types/data-contract.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data-contract.d.ts","sourceRoot":"","sources":["../../src/types/data-contract.ts"],"names":[],"mappings":"AAwCA;;;;;;;;;GASG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACtC;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,SAAS,GACjB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,EAAE,GACX,UAAU,CAAC;AAMf;;;;;;;;GAQG;AACH,4DAA4D;AAC5D,MAAM,MAAM,kBAAkB,GAC1B,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,OAAO,GACP,QAAQ,GACR,MAAM,CAAC;AAEX,MAAM,WAAW,UAAW,SAAQ,UAAU;IAC5C;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,oBAAoB;IACpB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,uDAAuD;IACvD,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gDAAgD;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,yDAAyD;IACzD,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gFAAgF;IAChF,oBAAoB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC5C,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,kCAAkC;IAClC,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,8CAA8C;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,MAAM,EAAE,UAAU,CAAC;IACnB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uFAAuF;IACvF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,SAAS;IACxB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACvC;AA2CD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,CAAC;AAErD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3D,8EAA8E;AAC9E,eAAO,MAAM,2BAA2B,EAAE,iBAA4B,CAAC;AAEvE,gFAAgF;AAChF,eAAO,MAAM,4BAA4B,EAAE,kBAA2B,CAAC;AAEvE,kFAAkF;AAClF,eAAO,MAAM,+BAA+B,QAAQ,CAAC;AAErD;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;OAYG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB,8FAA8F;IAC9F,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,EAAE;QACP,iEAAiE;QACjE,IAAI,EAAE,MAAM,CAAC;QACb,wDAAwD;QACxD,IAAI,CAAC,EAAE,UAAU,CAAC;KACnB,CAAC;CACH;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAO5D;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qFAAqF;IACrF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,qCAAqC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAMrD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;mDAI+C;IAC/C,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChD,oFAAoF;IACpF,QAAQ,EAAE;QACR,yEAAyE;QACzE,WAAW,EAAE,UAAU,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,UAAU,CAAC;KAC3B,CAAC;IACF,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC;CACnD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CACvC;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD;;;;OAIG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC;CACd;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,qBAAqB,CAAC;AAEpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;AAE/D;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,mEAAmE;IACnE,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB;;;;;;;;;;OAUG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,sBAAsB;IACrC,yDAAyD;IACzD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC3C;AA6CD;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B;sDACkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,MAAM,EAAE,UAAU,CAAC;IACnB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;;;;;OAYG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAED;iBACiB;AACjB,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,SAAS,CAa/E;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoEG;AACH,MAAM,WAAW,YAAY;IAC3B;;;;;;;;;;;;OAYG;IACH;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;;;;;;;;;;;;OAgBG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB;;;;;;;OAOG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C;;;;;;;;;;;OAWG;IACH,kBAAkB,CAAC,EAAE,sBAAsB,CAAC;CAC7C;AAMD;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B,QAAY,CAAC;AAEtD;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,QAAY,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -6,6 +6,17 @@
|
|
|
6
6
|
* schema change; the most recent change anchors {@link PROTOCOL_VERSION}.
|
|
7
7
|
*
|
|
8
8
|
* --------------------------------------------------------------------
|
|
9
|
+
* Theme CARRY read (2026-09-17, additive, ggui#1155 — MINOR, same draft
|
|
10
|
+
* stamp): `appThemeCarrySchema` / `AppThemeCarry` and
|
|
11
|
+
* `appThemeGetResponseSchema` / `AppThemeGetResponse` — the REPRODUCE side
|
|
12
|
+
* of the two-read-paths rule. A theme GET returns the stored document
|
|
13
|
+
* VERBATIM (unknown members kept; a shape check over the named members,
|
|
14
|
+
* never a strip) or `null`, with an optional `interpreted.stripped`
|
|
15
|
+
* (`.min(1)`: present ⇔ at least one name) naming what an INTERPRET
|
|
16
|
+
* reader would drop. Exists so a writer's carry cannot be turned into the
|
|
17
|
+
* ggui#1124 defect by the reader it carries from. New exports only; no
|
|
18
|
+
* existing shape changes. Kit: wire `app-theme-carry`, forward case.
|
|
19
|
+
* --------------------------------------------------------------------
|
|
9
20
|
* `ggui:dismiss` (2026-09-16, additive, ggui#1109 — MINOR, same draft
|
|
10
21
|
* stamp): a user dismiss GESTURE forwarded from the card to its host as
|
|
11
22
|
* an INTENT, on a new protocol-owned tag in the `ggui:` postMessage
|
|
@@ -3737,7 +3748,7 @@ export declare const PROTOCOL_VERSION = "draft-2026-09-10";
|
|
|
3737
3748
|
* PATCH under §1.3); it cannot be cut from main, whose delta since
|
|
3738
3749
|
* 0.14.0 is minor-class.
|
|
3739
3750
|
*/
|
|
3740
|
-
export declare const GGUI_WAVE_VERSION = "0.
|
|
3751
|
+
export declare const GGUI_WAVE_VERSION = "0.19.0";
|
|
3741
3752
|
/**
|
|
3742
3753
|
* Schema version stamped onto wire envelopes that opt into the
|
|
3743
3754
|
* `schemaVersion` forward-compat field (see {@link ActionEnvelope},
|
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4nHG;AACH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;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"}
|
package/dist/version.js
CHANGED
|
@@ -6,6 +6,17 @@
|
|
|
6
6
|
* schema change; the most recent change anchors {@link PROTOCOL_VERSION}.
|
|
7
7
|
*
|
|
8
8
|
* --------------------------------------------------------------------
|
|
9
|
+
* Theme CARRY read (2026-09-17, additive, ggui#1155 — MINOR, same draft
|
|
10
|
+
* stamp): `appThemeCarrySchema` / `AppThemeCarry` and
|
|
11
|
+
* `appThemeGetResponseSchema` / `AppThemeGetResponse` — the REPRODUCE side
|
|
12
|
+
* of the two-read-paths rule. A theme GET returns the stored document
|
|
13
|
+
* VERBATIM (unknown members kept; a shape check over the named members,
|
|
14
|
+
* never a strip) or `null`, with an optional `interpreted.stripped`
|
|
15
|
+
* (`.min(1)`: present ⇔ at least one name) naming what an INTERPRET
|
|
16
|
+
* reader would drop. Exists so a writer's carry cannot be turned into the
|
|
17
|
+
* ggui#1124 defect by the reader it carries from. New exports only; no
|
|
18
|
+
* existing shape changes. Kit: wire `app-theme-carry`, forward case.
|
|
19
|
+
* --------------------------------------------------------------------
|
|
9
20
|
* `ggui:dismiss` (2026-09-16, additive, ggui#1109 — MINOR, same draft
|
|
10
21
|
* stamp): a user dismiss GESTURE forwarded from the card to its host as
|
|
11
22
|
* an INTENT, on a new protocol-owned tag in the `ggui:` postMessage
|
|
@@ -3737,7 +3748,7 @@ export const PROTOCOL_VERSION = "draft-2026-09-10";
|
|
|
3737
3748
|
* PATCH under §1.3); it cannot be cut from main, whose delta since
|
|
3738
3749
|
* 0.14.0 is minor-class.
|
|
3739
3750
|
*/
|
|
3740
|
-
export const GGUI_WAVE_VERSION = "0.
|
|
3751
|
+
export const GGUI_WAVE_VERSION = "0.19.0";
|
|
3741
3752
|
/**
|
|
3742
3753
|
* Schema version stamped onto wire envelopes that opt into the
|
|
3743
3754
|
* `schemaVersion` forward-compat field (see {@link ActionEnvelope},
|