@guuey/config 0.16.9 → 0.16.10

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/app.d.ts CHANGED
@@ -139,6 +139,7 @@ export declare const AppSectionV1: z.ZodObject<{
139
139
  canvas: z.ZodString;
140
140
  canvasMuted: z.ZodString;
141
141
  error: z.ZodString;
142
+ link: z.ZodOptional<z.ZodString>;
142
143
  }, z.core.$strict>;
143
144
  dark: z.ZodObject<{
144
145
  accent: z.ZodString;
@@ -149,6 +150,7 @@ export declare const AppSectionV1: z.ZodObject<{
149
150
  canvas: z.ZodString;
150
151
  canvasMuted: z.ZodString;
151
152
  error: z.ZodString;
153
+ link: z.ZodOptional<z.ZodString>;
152
154
  }, z.core.$strict>;
153
155
  }, z.core.$strict>;
154
156
  ramps: z.ZodOptional<z.ZodObject<{
@@ -219,6 +221,105 @@ export declare const AppSectionV1: z.ZodObject<{
219
221
  comfortable: "comfortable";
220
222
  }>;
221
223
  }, z.core.$strict>>;
224
+ courts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
225
+ name: z.ZodOptional<z.ZodString>;
226
+ mode: z.ZodOptional<z.ZodEnum<{
227
+ light: "light";
228
+ dark: "dark";
229
+ }>>;
230
+ colors: z.ZodOptional<z.ZodObject<{
231
+ light: z.ZodOptional<z.ZodObject<{
232
+ accent: z.ZodOptional<z.ZodString>;
233
+ onAccent: z.ZodOptional<z.ZodString>;
234
+ ink: z.ZodOptional<z.ZodString>;
235
+ inkMuted: z.ZodOptional<z.ZodString>;
236
+ surface: z.ZodOptional<z.ZodString>;
237
+ canvas: z.ZodOptional<z.ZodString>;
238
+ canvasMuted: z.ZodOptional<z.ZodString>;
239
+ error: z.ZodOptional<z.ZodString>;
240
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
241
+ }, z.core.$strict>>;
242
+ dark: z.ZodOptional<z.ZodObject<{
243
+ accent: z.ZodOptional<z.ZodString>;
244
+ onAccent: z.ZodOptional<z.ZodString>;
245
+ ink: z.ZodOptional<z.ZodString>;
246
+ inkMuted: z.ZodOptional<z.ZodString>;
247
+ surface: z.ZodOptional<z.ZodString>;
248
+ canvas: z.ZodOptional<z.ZodString>;
249
+ canvasMuted: z.ZodOptional<z.ZodString>;
250
+ error: z.ZodOptional<z.ZodString>;
251
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
252
+ }, z.core.$strict>>;
253
+ }, z.core.$strict>>;
254
+ ramps: z.ZodOptional<z.ZodObject<{
255
+ light: z.ZodOptional<z.ZodObject<{
256
+ accent: z.ZodObject<{
257
+ '100': z.ZodOptional<z.ZodString>;
258
+ '300': z.ZodOptional<z.ZodString>;
259
+ '500': z.ZodString;
260
+ '600': z.ZodString;
261
+ '700': z.ZodString;
262
+ '800': z.ZodOptional<z.ZodString>;
263
+ '900': z.ZodOptional<z.ZodString>;
264
+ }, z.core.$strict>;
265
+ error: z.ZodOptional<z.ZodObject<{
266
+ '500': z.ZodOptional<z.ZodString>;
267
+ '600': z.ZodOptional<z.ZodString>;
268
+ '700': z.ZodOptional<z.ZodString>;
269
+ }, z.core.$strict>>;
270
+ success: z.ZodOptional<z.ZodObject<{
271
+ '500': z.ZodOptional<z.ZodString>;
272
+ }, z.core.$strict>>;
273
+ warning: z.ZodOptional<z.ZodObject<{
274
+ '500': z.ZodOptional<z.ZodString>;
275
+ }, z.core.$strict>>;
276
+ info: z.ZodOptional<z.ZodObject<{
277
+ '500': z.ZodOptional<z.ZodString>;
278
+ }, z.core.$strict>>;
279
+ }, z.core.$strict>>;
280
+ dark: z.ZodOptional<z.ZodObject<{
281
+ accent: z.ZodObject<{
282
+ '100': z.ZodOptional<z.ZodString>;
283
+ '300': z.ZodOptional<z.ZodString>;
284
+ '500': z.ZodString;
285
+ '600': z.ZodString;
286
+ '700': z.ZodString;
287
+ '800': z.ZodOptional<z.ZodString>;
288
+ '900': z.ZodOptional<z.ZodString>;
289
+ }, z.core.$strict>;
290
+ error: z.ZodOptional<z.ZodObject<{
291
+ '500': z.ZodOptional<z.ZodString>;
292
+ '600': z.ZodOptional<z.ZodString>;
293
+ '700': z.ZodOptional<z.ZodString>;
294
+ }, z.core.$strict>>;
295
+ success: z.ZodOptional<z.ZodObject<{
296
+ '500': z.ZodOptional<z.ZodString>;
297
+ }, z.core.$strict>>;
298
+ warning: z.ZodOptional<z.ZodObject<{
299
+ '500': z.ZodOptional<z.ZodString>;
300
+ }, z.core.$strict>>;
301
+ info: z.ZodOptional<z.ZodObject<{
302
+ '500': z.ZodOptional<z.ZodString>;
303
+ }, z.core.$strict>>;
304
+ }, z.core.$strict>>;
305
+ }, z.core.$strict>>;
306
+ typography: z.ZodOptional<z.ZodObject<{
307
+ fontFamily: z.ZodOptional<z.ZodString>;
308
+ monoFontFamily: z.ZodOptional<z.ZodString>;
309
+ scale: z.ZodOptional<z.ZodNumber>;
310
+ }, z.core.$strict>>;
311
+ shape: z.ZodOptional<z.ZodObject<{
312
+ radius: z.ZodOptional<z.ZodEnum<{
313
+ none: "none";
314
+ soft: "soft";
315
+ round: "round";
316
+ }>>;
317
+ density: z.ZodOptional<z.ZodEnum<{
318
+ compact: "compact";
319
+ comfortable: "comfortable";
320
+ }>>;
321
+ }, z.core.$strict>>;
322
+ }, z.core.$strict>>>;
222
323
  }, z.core.$strict>]>>;
223
324
  page: z.ZodOptional<z.ZodObject<{
224
325
  enabled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
package/dist/app.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AA0C5D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;kBAWtB,CAAC;AAEH,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS;;;;;;;kBAOpB,CAAC;AAEH,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAErD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;kBAA8C,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,oEAAoE;AACpE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,GAAG,aAAa,GAClC,KAAK,IAAI,YAAY,CAEvB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBvB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AA0C5D;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,8CAA+C,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;kBAWtB,CAAC;AAEH,+CAA+C;AAC/C,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,SAAS;;;;;;;kBAOpB,CAAC;AAEH,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAErD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;kBAA8C,CAAC;AAC1E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE1D,oEAAoE;AACpE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,YAAY,GAAG,aAAa,GAClC,KAAK,IAAI,YAAY,CAEvB;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBvB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC"}
package/dist/schema.d.ts CHANGED
@@ -274,6 +274,7 @@ export declare const GuueyJsonV1: z.ZodObject<{
274
274
  canvas: z.ZodString;
275
275
  canvasMuted: z.ZodString;
276
276
  error: z.ZodString;
277
+ link: z.ZodOptional<z.ZodString>;
277
278
  }, z.core.$strict>;
278
279
  dark: z.ZodObject<{
279
280
  accent: z.ZodString;
@@ -284,6 +285,7 @@ export declare const GuueyJsonV1: z.ZodObject<{
284
285
  canvas: z.ZodString;
285
286
  canvasMuted: z.ZodString;
286
287
  error: z.ZodString;
288
+ link: z.ZodOptional<z.ZodString>;
287
289
  }, z.core.$strict>;
288
290
  }, z.core.$strict>;
289
291
  ramps: z.ZodOptional<z.ZodObject<{
@@ -354,6 +356,105 @@ export declare const GuueyJsonV1: z.ZodObject<{
354
356
  comfortable: "comfortable";
355
357
  }>;
356
358
  }, z.core.$strict>>;
359
+ courts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
360
+ name: z.ZodOptional<z.ZodString>;
361
+ mode: z.ZodOptional<z.ZodEnum<{
362
+ light: "light";
363
+ dark: "dark";
364
+ }>>;
365
+ colors: z.ZodOptional<z.ZodObject<{
366
+ light: z.ZodOptional<z.ZodObject<{
367
+ accent: z.ZodOptional<z.ZodString>;
368
+ onAccent: z.ZodOptional<z.ZodString>;
369
+ ink: z.ZodOptional<z.ZodString>;
370
+ inkMuted: z.ZodOptional<z.ZodString>;
371
+ surface: z.ZodOptional<z.ZodString>;
372
+ canvas: z.ZodOptional<z.ZodString>;
373
+ canvasMuted: z.ZodOptional<z.ZodString>;
374
+ error: z.ZodOptional<z.ZodString>;
375
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
376
+ }, z.core.$strict>>;
377
+ dark: z.ZodOptional<z.ZodObject<{
378
+ accent: z.ZodOptional<z.ZodString>;
379
+ onAccent: z.ZodOptional<z.ZodString>;
380
+ ink: z.ZodOptional<z.ZodString>;
381
+ inkMuted: z.ZodOptional<z.ZodString>;
382
+ surface: z.ZodOptional<z.ZodString>;
383
+ canvas: z.ZodOptional<z.ZodString>;
384
+ canvasMuted: z.ZodOptional<z.ZodString>;
385
+ error: z.ZodOptional<z.ZodString>;
386
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
387
+ }, z.core.$strict>>;
388
+ }, z.core.$strict>>;
389
+ ramps: z.ZodOptional<z.ZodObject<{
390
+ light: z.ZodOptional<z.ZodObject<{
391
+ accent: z.ZodObject<{
392
+ '100': z.ZodOptional<z.ZodString>;
393
+ '300': z.ZodOptional<z.ZodString>;
394
+ '500': z.ZodString;
395
+ '600': z.ZodString;
396
+ '700': z.ZodString;
397
+ '800': z.ZodOptional<z.ZodString>;
398
+ '900': z.ZodOptional<z.ZodString>;
399
+ }, z.core.$strict>;
400
+ error: z.ZodOptional<z.ZodObject<{
401
+ '500': z.ZodOptional<z.ZodString>;
402
+ '600': z.ZodOptional<z.ZodString>;
403
+ '700': z.ZodOptional<z.ZodString>;
404
+ }, z.core.$strict>>;
405
+ success: z.ZodOptional<z.ZodObject<{
406
+ '500': z.ZodOptional<z.ZodString>;
407
+ }, z.core.$strict>>;
408
+ warning: z.ZodOptional<z.ZodObject<{
409
+ '500': z.ZodOptional<z.ZodString>;
410
+ }, z.core.$strict>>;
411
+ info: z.ZodOptional<z.ZodObject<{
412
+ '500': z.ZodOptional<z.ZodString>;
413
+ }, z.core.$strict>>;
414
+ }, z.core.$strict>>;
415
+ dark: z.ZodOptional<z.ZodObject<{
416
+ accent: z.ZodObject<{
417
+ '100': z.ZodOptional<z.ZodString>;
418
+ '300': z.ZodOptional<z.ZodString>;
419
+ '500': z.ZodString;
420
+ '600': z.ZodString;
421
+ '700': z.ZodString;
422
+ '800': z.ZodOptional<z.ZodString>;
423
+ '900': z.ZodOptional<z.ZodString>;
424
+ }, z.core.$strict>;
425
+ error: z.ZodOptional<z.ZodObject<{
426
+ '500': z.ZodOptional<z.ZodString>;
427
+ '600': z.ZodOptional<z.ZodString>;
428
+ '700': z.ZodOptional<z.ZodString>;
429
+ }, z.core.$strict>>;
430
+ success: z.ZodOptional<z.ZodObject<{
431
+ '500': z.ZodOptional<z.ZodString>;
432
+ }, z.core.$strict>>;
433
+ warning: z.ZodOptional<z.ZodObject<{
434
+ '500': z.ZodOptional<z.ZodString>;
435
+ }, z.core.$strict>>;
436
+ info: z.ZodOptional<z.ZodObject<{
437
+ '500': z.ZodOptional<z.ZodString>;
438
+ }, z.core.$strict>>;
439
+ }, z.core.$strict>>;
440
+ }, z.core.$strict>>;
441
+ typography: z.ZodOptional<z.ZodObject<{
442
+ fontFamily: z.ZodOptional<z.ZodString>;
443
+ monoFontFamily: z.ZodOptional<z.ZodString>;
444
+ scale: z.ZodOptional<z.ZodNumber>;
445
+ }, z.core.$strict>>;
446
+ shape: z.ZodOptional<z.ZodObject<{
447
+ radius: z.ZodOptional<z.ZodEnum<{
448
+ none: "none";
449
+ soft: "soft";
450
+ round: "round";
451
+ }>>;
452
+ density: z.ZodOptional<z.ZodEnum<{
453
+ compact: "compact";
454
+ comfortable: "comfortable";
455
+ }>>;
456
+ }, z.core.$strict>>;
457
+ }, z.core.$strict>>>;
357
458
  }, z.core.$strict>]>>;
358
459
  page: z.ZodOptional<z.ZodObject<{
359
460
  enabled: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAY5E;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,IAAI,EAAE,gBAAgB,GAAG,oBAAoB;aAC7C,KAAK,EAAE,MAAM;gBADb,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,EAC7C,KAAK,EAAE,MAAM,EAC7B,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAkBjE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDtB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAE1C"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7D,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,CAY5E;AAED;;;;;GAKG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;aAE3B,IAAI,EAAE,gBAAgB,GAAG,oBAAoB;aAC7C,KAAK,EAAE,MAAM;gBADb,IAAI,EAAE,gBAAgB,GAAG,oBAAoB,EAC7C,KAAK,EAAE,MAAM,EAC7B,OAAO,EAAE,MAAM;CAKlB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAkBjE;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAmDtB,CAAC;AAEH,kDAAkD;AAClD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAG3D,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,CAExD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,OAAO,GACX,UAAU,CAAC,OAAO,WAAW,CAAC,SAAS,CAAC,CAE1C"}
package/dist/theme.d.ts CHANGED
@@ -33,6 +33,7 @@ export declare const ThemePaletteV1: z.ZodObject<{
33
33
  canvas: z.ZodString;
34
34
  canvasMuted: z.ZodString;
35
35
  error: z.ZodString;
36
+ link: z.ZodOptional<z.ZodString>;
36
37
  }, z.core.$strict>;
37
38
  export type ThemePaletteV1 = z.infer<typeof ThemePaletteV1>;
38
39
  /**
@@ -142,11 +143,111 @@ export declare const ThemeRampsV1: z.ZodObject<{
142
143
  }, z.core.$strict>;
143
144
  export type ThemeRampsV1 = z.infer<typeof ThemeRampsV1>;
144
145
  /**
145
- * The manifest theme block. `mode` is REQUIRED (spec §3): a theme managed
146
- * as code states its canonical presentation mode the compiled ggui stamp
147
- * pins its render slice to it, replacing the legacy surface-polarity
148
- * derivation. Ramps are STATED values, never derived (spec D7).
146
+ * One court's override document (guuey#519 / the #536 grammar completion):
147
+ * a PARTIAL theme every member optional (present members merge per-token
148
+ * over the base at resolution), palettes partial, and no nested `courts`
149
+ * (courts do not nest the server gate enforces the same).
149
150
  */
151
+ export declare const AppCourtThemeV1: z.ZodObject<{
152
+ name: z.ZodOptional<z.ZodString>;
153
+ mode: z.ZodOptional<z.ZodEnum<{
154
+ light: "light";
155
+ dark: "dark";
156
+ }>>;
157
+ colors: z.ZodOptional<z.ZodObject<{
158
+ light: z.ZodOptional<z.ZodObject<{
159
+ accent: z.ZodOptional<z.ZodString>;
160
+ onAccent: z.ZodOptional<z.ZodString>;
161
+ ink: z.ZodOptional<z.ZodString>;
162
+ inkMuted: z.ZodOptional<z.ZodString>;
163
+ surface: z.ZodOptional<z.ZodString>;
164
+ canvas: z.ZodOptional<z.ZodString>;
165
+ canvasMuted: z.ZodOptional<z.ZodString>;
166
+ error: z.ZodOptional<z.ZodString>;
167
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
168
+ }, z.core.$strict>>;
169
+ dark: z.ZodOptional<z.ZodObject<{
170
+ accent: z.ZodOptional<z.ZodString>;
171
+ onAccent: z.ZodOptional<z.ZodString>;
172
+ ink: z.ZodOptional<z.ZodString>;
173
+ inkMuted: z.ZodOptional<z.ZodString>;
174
+ surface: z.ZodOptional<z.ZodString>;
175
+ canvas: z.ZodOptional<z.ZodString>;
176
+ canvasMuted: z.ZodOptional<z.ZodString>;
177
+ error: z.ZodOptional<z.ZodString>;
178
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
179
+ }, z.core.$strict>>;
180
+ }, z.core.$strict>>;
181
+ ramps: z.ZodOptional<z.ZodObject<{
182
+ light: z.ZodOptional<z.ZodObject<{
183
+ accent: z.ZodObject<{
184
+ '100': z.ZodOptional<z.ZodString>;
185
+ '300': z.ZodOptional<z.ZodString>;
186
+ '500': z.ZodString;
187
+ '600': z.ZodString;
188
+ '700': z.ZodString;
189
+ '800': z.ZodOptional<z.ZodString>;
190
+ '900': z.ZodOptional<z.ZodString>;
191
+ }, z.core.$strict>;
192
+ error: z.ZodOptional<z.ZodObject<{
193
+ '500': z.ZodOptional<z.ZodString>;
194
+ '600': z.ZodOptional<z.ZodString>;
195
+ '700': z.ZodOptional<z.ZodString>;
196
+ }, z.core.$strict>>;
197
+ success: z.ZodOptional<z.ZodObject<{
198
+ '500': z.ZodOptional<z.ZodString>;
199
+ }, z.core.$strict>>;
200
+ warning: z.ZodOptional<z.ZodObject<{
201
+ '500': z.ZodOptional<z.ZodString>;
202
+ }, z.core.$strict>>;
203
+ info: z.ZodOptional<z.ZodObject<{
204
+ '500': z.ZodOptional<z.ZodString>;
205
+ }, z.core.$strict>>;
206
+ }, z.core.$strict>>;
207
+ dark: z.ZodOptional<z.ZodObject<{
208
+ accent: z.ZodObject<{
209
+ '100': z.ZodOptional<z.ZodString>;
210
+ '300': z.ZodOptional<z.ZodString>;
211
+ '500': z.ZodString;
212
+ '600': z.ZodString;
213
+ '700': z.ZodString;
214
+ '800': z.ZodOptional<z.ZodString>;
215
+ '900': z.ZodOptional<z.ZodString>;
216
+ }, z.core.$strict>;
217
+ error: z.ZodOptional<z.ZodObject<{
218
+ '500': z.ZodOptional<z.ZodString>;
219
+ '600': z.ZodOptional<z.ZodString>;
220
+ '700': z.ZodOptional<z.ZodString>;
221
+ }, z.core.$strict>>;
222
+ success: z.ZodOptional<z.ZodObject<{
223
+ '500': z.ZodOptional<z.ZodString>;
224
+ }, z.core.$strict>>;
225
+ warning: z.ZodOptional<z.ZodObject<{
226
+ '500': z.ZodOptional<z.ZodString>;
227
+ }, z.core.$strict>>;
228
+ info: z.ZodOptional<z.ZodObject<{
229
+ '500': z.ZodOptional<z.ZodString>;
230
+ }, z.core.$strict>>;
231
+ }, z.core.$strict>>;
232
+ }, z.core.$strict>>;
233
+ typography: z.ZodOptional<z.ZodObject<{
234
+ fontFamily: z.ZodOptional<z.ZodString>;
235
+ monoFontFamily: z.ZodOptional<z.ZodString>;
236
+ scale: z.ZodOptional<z.ZodNumber>;
237
+ }, z.core.$strict>>;
238
+ shape: z.ZodOptional<z.ZodObject<{
239
+ radius: z.ZodOptional<z.ZodEnum<{
240
+ none: "none";
241
+ soft: "soft";
242
+ round: "round";
243
+ }>>;
244
+ density: z.ZodOptional<z.ZodEnum<{
245
+ compact: "compact";
246
+ comfortable: "comfortable";
247
+ }>>;
248
+ }, z.core.$strict>>;
249
+ }, z.core.$strict>;
250
+ export type AppCourtThemeV1 = z.infer<typeof AppCourtThemeV1>;
150
251
  export declare const AppThemeV1: z.ZodObject<{
151
252
  name: z.ZodOptional<z.ZodString>;
152
253
  mode: z.ZodEnum<{
@@ -163,6 +264,7 @@ export declare const AppThemeV1: z.ZodObject<{
163
264
  canvas: z.ZodString;
164
265
  canvasMuted: z.ZodString;
165
266
  error: z.ZodString;
267
+ link: z.ZodOptional<z.ZodString>;
166
268
  }, z.core.$strict>;
167
269
  dark: z.ZodObject<{
168
270
  accent: z.ZodString;
@@ -173,6 +275,7 @@ export declare const AppThemeV1: z.ZodObject<{
173
275
  canvas: z.ZodString;
174
276
  canvasMuted: z.ZodString;
175
277
  error: z.ZodString;
278
+ link: z.ZodOptional<z.ZodString>;
176
279
  }, z.core.$strict>;
177
280
  }, z.core.$strict>;
178
281
  ramps: z.ZodOptional<z.ZodObject<{
@@ -243,6 +346,105 @@ export declare const AppThemeV1: z.ZodObject<{
243
346
  comfortable: "comfortable";
244
347
  }>;
245
348
  }, z.core.$strict>>;
349
+ courts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
350
+ name: z.ZodOptional<z.ZodString>;
351
+ mode: z.ZodOptional<z.ZodEnum<{
352
+ light: "light";
353
+ dark: "dark";
354
+ }>>;
355
+ colors: z.ZodOptional<z.ZodObject<{
356
+ light: z.ZodOptional<z.ZodObject<{
357
+ accent: z.ZodOptional<z.ZodString>;
358
+ onAccent: z.ZodOptional<z.ZodString>;
359
+ ink: z.ZodOptional<z.ZodString>;
360
+ inkMuted: z.ZodOptional<z.ZodString>;
361
+ surface: z.ZodOptional<z.ZodString>;
362
+ canvas: z.ZodOptional<z.ZodString>;
363
+ canvasMuted: z.ZodOptional<z.ZodString>;
364
+ error: z.ZodOptional<z.ZodString>;
365
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
366
+ }, z.core.$strict>>;
367
+ dark: z.ZodOptional<z.ZodObject<{
368
+ accent: z.ZodOptional<z.ZodString>;
369
+ onAccent: z.ZodOptional<z.ZodString>;
370
+ ink: z.ZodOptional<z.ZodString>;
371
+ inkMuted: z.ZodOptional<z.ZodString>;
372
+ surface: z.ZodOptional<z.ZodString>;
373
+ canvas: z.ZodOptional<z.ZodString>;
374
+ canvasMuted: z.ZodOptional<z.ZodString>;
375
+ error: z.ZodOptional<z.ZodString>;
376
+ link: z.ZodOptional<z.ZodOptional<z.ZodString>>;
377
+ }, z.core.$strict>>;
378
+ }, z.core.$strict>>;
379
+ ramps: z.ZodOptional<z.ZodObject<{
380
+ light: z.ZodOptional<z.ZodObject<{
381
+ accent: z.ZodObject<{
382
+ '100': z.ZodOptional<z.ZodString>;
383
+ '300': z.ZodOptional<z.ZodString>;
384
+ '500': z.ZodString;
385
+ '600': z.ZodString;
386
+ '700': z.ZodString;
387
+ '800': z.ZodOptional<z.ZodString>;
388
+ '900': z.ZodOptional<z.ZodString>;
389
+ }, z.core.$strict>;
390
+ error: z.ZodOptional<z.ZodObject<{
391
+ '500': z.ZodOptional<z.ZodString>;
392
+ '600': z.ZodOptional<z.ZodString>;
393
+ '700': z.ZodOptional<z.ZodString>;
394
+ }, z.core.$strict>>;
395
+ success: z.ZodOptional<z.ZodObject<{
396
+ '500': z.ZodOptional<z.ZodString>;
397
+ }, z.core.$strict>>;
398
+ warning: z.ZodOptional<z.ZodObject<{
399
+ '500': z.ZodOptional<z.ZodString>;
400
+ }, z.core.$strict>>;
401
+ info: z.ZodOptional<z.ZodObject<{
402
+ '500': z.ZodOptional<z.ZodString>;
403
+ }, z.core.$strict>>;
404
+ }, z.core.$strict>>;
405
+ dark: z.ZodOptional<z.ZodObject<{
406
+ accent: z.ZodObject<{
407
+ '100': z.ZodOptional<z.ZodString>;
408
+ '300': z.ZodOptional<z.ZodString>;
409
+ '500': z.ZodString;
410
+ '600': z.ZodString;
411
+ '700': z.ZodString;
412
+ '800': z.ZodOptional<z.ZodString>;
413
+ '900': z.ZodOptional<z.ZodString>;
414
+ }, z.core.$strict>;
415
+ error: z.ZodOptional<z.ZodObject<{
416
+ '500': z.ZodOptional<z.ZodString>;
417
+ '600': z.ZodOptional<z.ZodString>;
418
+ '700': z.ZodOptional<z.ZodString>;
419
+ }, z.core.$strict>>;
420
+ success: z.ZodOptional<z.ZodObject<{
421
+ '500': z.ZodOptional<z.ZodString>;
422
+ }, z.core.$strict>>;
423
+ warning: z.ZodOptional<z.ZodObject<{
424
+ '500': z.ZodOptional<z.ZodString>;
425
+ }, z.core.$strict>>;
426
+ info: z.ZodOptional<z.ZodObject<{
427
+ '500': z.ZodOptional<z.ZodString>;
428
+ }, z.core.$strict>>;
429
+ }, z.core.$strict>>;
430
+ }, z.core.$strict>>;
431
+ typography: z.ZodOptional<z.ZodObject<{
432
+ fontFamily: z.ZodOptional<z.ZodString>;
433
+ monoFontFamily: z.ZodOptional<z.ZodString>;
434
+ scale: z.ZodOptional<z.ZodNumber>;
435
+ }, z.core.$strict>>;
436
+ shape: z.ZodOptional<z.ZodObject<{
437
+ radius: z.ZodOptional<z.ZodEnum<{
438
+ none: "none";
439
+ soft: "soft";
440
+ round: "round";
441
+ }>>;
442
+ density: z.ZodOptional<z.ZodEnum<{
443
+ compact: "compact";
444
+ comfortable: "comfortable";
445
+ }>>;
446
+ }, z.core.$strict>>;
447
+ }, z.core.$strict>>>;
246
448
  }, z.core.$strict>;
247
449
  export type GuueyAppTheme = z.infer<typeof AppThemeV1>;
248
450
  //# sourceMappingURL=theme.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,yFAAyF;AACzF,eAAO,MAAM,cAAc;;;;;;;;;kBASzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;kBAQ5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;kBAI3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;kBAAmD,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;kBAMzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD;;;;;GAKG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkBrB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,yFAAyF;AACzF,eAAO,MAAM,cAAc;;;;;;;;;;kBAgBzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;kBAQ5B,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE,eAAO,MAAM,gBAAgB;;;;kBAI3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,6DAA6D;AAC7D,eAAO,MAAM,eAAe;;kBAAmD,CAAC;AAChF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;kBAMzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AA8BxD;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiB1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAarB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
package/dist/theme.js CHANGED
@@ -34,6 +34,13 @@ export const ThemePaletteV1 = z.strictObject({
34
34
  canvas: ColorValue,
35
35
  canvasMuted: ColorValue,
36
36
  error: ColorValue,
37
+ /**
38
+ * Anchor colour (guuey#528) — OPTIONAL: the one palette slot a manifest
39
+ * may leave unstated (the kit's neutral default = ink covers it), unlike
40
+ * the eight required tokens above. Stated → validated + emitted;
41
+ * unstated → not emitted (the stated-vocabulary rule).
42
+ */
43
+ link: ColorValue.optional(),
37
44
  });
38
45
  /**
39
46
  * Stated accent ladder. The 500/600/700 floor (spec §3 / the gold record,
@@ -74,22 +81,61 @@ export const ThemeRampsV1 = z.strictObject({
74
81
  * pins its render slice to it, replacing the legacy surface-polarity
75
82
  * derivation. Ramps are STATED values, never derived (spec D7).
76
83
  */
77
- export const AppThemeV1 = z.strictObject({
84
+ const ThemeTypographyV1 = z
85
+ .strictObject({
86
+ fontFamily: z.string().min(1).max(200).optional(),
87
+ monoFontFamily: z.string().min(1).max(200).optional(),
88
+ scale: z.number().min(0.75).max(1.5).optional(),
89
+ })
90
+ .optional();
91
+ const ThemeShapeV1 = z
92
+ .strictObject({
93
+ radius: z.enum(['none', 'soft', 'round']),
94
+ density: z.enum(['compact', 'comfortable']),
95
+ })
96
+ .optional();
97
+ /**
98
+ * Court keys — short machine identifiers (`"guuey"`, `"ggui"`, …).
99
+ * SYNC: mirrors `COURT_KEY_RE` in `backend/libs/cli-wire/chat-theme.ts`
100
+ * (the server's strict courts write gate) — the two ends of the apply
101
+ * pipe must agree on the key grammar.
102
+ */
103
+ const CourtKeyV1 = z.string().regex(/^[a-z][a-z0-9-]{0,31}$/);
104
+ /**
105
+ * One court's override document (guuey#519 / the #536 grammar completion):
106
+ * a PARTIAL theme — every member optional (present members merge per-token
107
+ * over the base at resolution), palettes partial, and no nested `courts`
108
+ * (courts do not nest — the server gate enforces the same).
109
+ */
110
+ export const AppCourtThemeV1 = z.strictObject({
78
111
  name: z.string().min(1).max(64).optional(),
79
- mode: z.enum(['light', 'dark']),
80
- colors: z.strictObject({ light: ThemePaletteV1, dark: ThemePaletteV1 }),
81
- ramps: ThemeRampsV1.optional(),
82
- typography: z
112
+ mode: z.enum(['light', 'dark']).optional(),
113
+ colors: z
83
114
  .strictObject({
84
- fontFamily: z.string().min(1).max(200).optional(),
85
- monoFontFamily: z.string().min(1).max(200).optional(),
86
- scale: z.number().min(0.75).max(1.5).optional(),
115
+ light: ThemePaletteV1.partial().optional(),
116
+ dark: ThemePaletteV1.partial().optional(),
87
117
  })
88
118
  .optional(),
119
+ ramps: ThemeRampsV1.optional(),
120
+ typography: ThemeTypographyV1,
89
121
  shape: z
90
122
  .strictObject({
91
- radius: z.enum(['none', 'soft', 'round']),
92
- density: z.enum(['compact', 'comfortable']),
123
+ radius: z.enum(['none', 'soft', 'round']).optional(),
124
+ density: z.enum(['compact', 'comfortable']).optional(),
93
125
  })
94
126
  .optional(),
95
127
  });
128
+ export const AppThemeV1 = z.strictObject({
129
+ name: z.string().min(1).max(64).optional(),
130
+ mode: z.enum(['light', 'dark']),
131
+ colors: z.strictObject({ light: ThemePaletteV1, dark: ThemePaletteV1 }),
132
+ ramps: ThemeRampsV1.optional(),
133
+ typography: ThemeTypographyV1,
134
+ shape: ThemeShapeV1,
135
+ /**
136
+ * Per-court override documents (guuey#519 — brand is never a default:
137
+ * the base above stays court-neutral, a court's look exists only under
138
+ * its explicit key, and an undeclared court resolves to the base).
139
+ */
140
+ courts: z.record(CourtKeyV1, AppCourtThemeV1).optional(),
141
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@guuey/config",
3
- "version": "0.16.9",
3
+ "version": "0.16.10",
4
4
  "description": "Open-source schemas + loaders for the three guuey config files: agent.json (declarative agent definition), guuey.json (hosted-deploy overlay), and the helper types around them. Consumed by @guuey/cli, the guuey backend, and devs writing their own agent or MCP server.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -35,7 +35,7 @@
35
35
  "@types/node": "^24.0.0",
36
36
  "typescript": "^5.0.0",
37
37
  "vitest": "^3.2.7",
38
- "@guuey/chat": "0.16.9"
38
+ "@guuey/chat": "0.16.10"
39
39
  },
40
40
  "publishConfig": {
41
41
  "access": "public"