@kubuild/schema 0.8.1 → 0.8.2

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.
Files changed (49) hide show
  1. package/dist/actions.d.cts +473 -0
  2. package/dist/actions.d.cts.map +1 -0
  3. package/dist/breakpoints.d.cts +35 -0
  4. package/dist/breakpoints.d.cts.map +1 -0
  5. package/dist/builtin-components.d.cts +17 -0
  6. package/dist/builtin-components.d.cts.map +1 -0
  7. package/dist/canonical-props.d.cts +39 -0
  8. package/dist/canonical-props.d.cts.map +1 -0
  9. package/dist/chunk-IXTL6BV4.js +1041 -0
  10. package/dist/chunk-IXTL6BV4.js.map +1 -0
  11. package/dist/document.d.cts +742 -0
  12. package/dist/document.d.cts.map +1 -0
  13. package/dist/document.d.ts +2 -2
  14. package/dist/document.d.ts.map +1 -1
  15. package/dist/fixtures.d.cts +3 -0
  16. package/dist/fixtures.d.cts.map +1 -0
  17. package/dist/fixtures.d.ts +1 -1
  18. package/dist/fixtures.d.ts.map +1 -1
  19. package/dist/form.d.cts +129 -0
  20. package/dist/form.d.cts.map +1 -0
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +13 -0
  23. package/dist/index.d.cts.map +1 -0
  24. package/dist/index.d.ts +12 -12
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/json-schema.d.cts +2066 -0
  29. package/dist/json-schema.d.cts.map +1 -0
  30. package/dist/manifest.d.cts +28 -0
  31. package/dist/manifest.d.cts.map +1 -0
  32. package/dist/template.d.cts +213 -0
  33. package/dist/template.d.cts.map +1 -0
  34. package/dist/template.d.ts +2 -2
  35. package/dist/template.d.ts.map +1 -1
  36. package/dist/theme.d.cts +80 -0
  37. package/dist/theme.d.cts.map +1 -0
  38. package/dist/tracking.d.cts +348 -0
  39. package/dist/tracking.d.cts.map +1 -0
  40. package/dist/types.d.cts +331 -0
  41. package/dist/types.d.cts.map +1 -0
  42. package/dist/validate.cjs.map +1 -1
  43. package/dist/validate.d.cts +16 -0
  44. package/dist/validate.d.cts.map +1 -0
  45. package/dist/validate.d.ts +2 -2
  46. package/dist/validate.d.ts.map +1 -1
  47. package/dist/validate.js +1 -1
  48. package/dist/validate.js.map +1 -1
  49. package/package.json +26 -11
@@ -0,0 +1,2066 @@
1
+ /**
2
+ * Standard JSON Schema Draft-07 representation of stora.page Document v1
3
+ * Aligned 1:1 with TypeScript PageDocument type definition.
4
+ */
5
+ export declare const PAGE_DOCUMENT_JSON_SCHEMA_V1: {
6
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
7
+ readonly $id: "https://schema.stora.page/v1/page.json";
8
+ readonly title: "StoraPageDocument";
9
+ readonly description: "Portable Web Page Document v1 schema definition for KUBUILD";
10
+ readonly type: "object";
11
+ readonly required: readonly ["schema", "version", "document"];
12
+ readonly additionalProperties: false;
13
+ readonly properties: {
14
+ readonly schema: {
15
+ readonly type: "string";
16
+ readonly const: "stora.page";
17
+ readonly description: "Identifies the document type format";
18
+ };
19
+ readonly version: {
20
+ readonly type: "string";
21
+ readonly pattern: "^\\d+(\\.\\d+)*$";
22
+ readonly description: "Schema version of the document";
23
+ readonly default: "1.2.0";
24
+ };
25
+ readonly metadata: {
26
+ readonly $ref: "#/definitions/documentMetadata";
27
+ };
28
+ readonly document: {
29
+ readonly $ref: "#/definitions/rootPageNode";
30
+ };
31
+ readonly tracking: {
32
+ readonly $ref: "#/definitions/trackingConfig";
33
+ };
34
+ readonly theme: {
35
+ readonly $ref: "#/definitions/theme";
36
+ };
37
+ };
38
+ readonly definitions: {
39
+ readonly themeTokenMap: {
40
+ readonly type: "object";
41
+ readonly propertyNames: {
42
+ readonly pattern: "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$";
43
+ };
44
+ readonly additionalProperties: {
45
+ readonly type: readonly ["string", "number"];
46
+ readonly maxLength: 512;
47
+ readonly pattern: "^[^;{}<>\\\\]*$";
48
+ };
49
+ readonly description: "Design tokens keyed by name. Values must not contain ; { } < > or backslashes.";
50
+ };
51
+ readonly theme: {
52
+ readonly type: "object";
53
+ readonly description: "Document design tokens, emitted as CSS custom properties (--kb-color-*, --kb-font-*, --kb-radius-*, --kb-space-*) and referenced from styles as var(--kb-color-<key>).";
54
+ readonly properties: {
55
+ readonly colors: {
56
+ readonly $ref: "#/definitions/themeTokenMap";
57
+ };
58
+ readonly fonts: {
59
+ readonly $ref: "#/definitions/themeTokenMap";
60
+ };
61
+ readonly radii: {
62
+ readonly $ref: "#/definitions/themeTokenMap";
63
+ };
64
+ readonly spacing: {
65
+ readonly $ref: "#/definitions/themeTokenMap";
66
+ };
67
+ };
68
+ readonly additionalProperties: false;
69
+ };
70
+ readonly trackingConfig: {
71
+ readonly type: "object";
72
+ readonly description: "Tracking configuration. Contains only public ids, flags and opaque credential ids — secrets are host-owned.";
73
+ readonly properties: {
74
+ readonly enabled: {
75
+ readonly type: "boolean";
76
+ readonly default: true;
77
+ };
78
+ readonly debugMode: {
79
+ readonly type: "boolean";
80
+ readonly default: false;
81
+ };
82
+ readonly autoPageView: {
83
+ readonly type: "boolean";
84
+ readonly default: true;
85
+ };
86
+ readonly defaultDelivery: {
87
+ readonly type: "string";
88
+ readonly enum: readonly ["both", "client_only", "server_only"];
89
+ readonly default: "both";
90
+ };
91
+ readonly providers: {
92
+ readonly type: "object";
93
+ readonly properties: {
94
+ readonly meta: {
95
+ readonly type: "object";
96
+ readonly properties: {
97
+ readonly enabled: {
98
+ readonly type: "boolean";
99
+ };
100
+ readonly credentialId: {
101
+ readonly type: "string";
102
+ };
103
+ readonly pixelId: {
104
+ readonly type: "string";
105
+ };
106
+ readonly capiEnabled: {
107
+ readonly type: "boolean";
108
+ };
109
+ readonly testEventCode: {
110
+ readonly type: "string";
111
+ };
112
+ };
113
+ readonly additionalProperties: false;
114
+ };
115
+ readonly google: {
116
+ readonly type: "object";
117
+ readonly properties: {
118
+ readonly enabled: {
119
+ readonly type: "boolean";
120
+ };
121
+ readonly credentialId: {
122
+ readonly type: "string";
123
+ };
124
+ readonly measurementId: {
125
+ readonly type: "string";
126
+ };
127
+ };
128
+ readonly additionalProperties: false;
129
+ };
130
+ readonly gtm: {
131
+ readonly type: "object";
132
+ readonly properties: {
133
+ readonly enabled: {
134
+ readonly type: "boolean";
135
+ };
136
+ readonly credentialId: {
137
+ readonly type: "string";
138
+ };
139
+ readonly containerId: {
140
+ readonly type: "string";
141
+ };
142
+ };
143
+ readonly additionalProperties: false;
144
+ };
145
+ readonly tiktok: {
146
+ readonly type: "object";
147
+ readonly properties: {
148
+ readonly enabled: {
149
+ readonly type: "boolean";
150
+ };
151
+ readonly credentialId: {
152
+ readonly type: "string";
153
+ };
154
+ readonly pixelId: {
155
+ readonly type: "string";
156
+ };
157
+ readonly eventsApiEnabled: {
158
+ readonly type: "boolean";
159
+ };
160
+ readonly testEventCode: {
161
+ readonly type: "string";
162
+ };
163
+ };
164
+ readonly additionalProperties: false;
165
+ };
166
+ readonly custom: {
167
+ readonly type: "object";
168
+ readonly properties: {
169
+ readonly enabled: {
170
+ readonly type: "boolean";
171
+ };
172
+ readonly credentialId: {
173
+ readonly type: "string";
174
+ };
175
+ };
176
+ readonly additionalProperties: false;
177
+ };
178
+ };
179
+ readonly additionalProperties: false;
180
+ };
181
+ };
182
+ readonly additionalProperties: false;
183
+ };
184
+ readonly styleValue: {
185
+ readonly type: readonly ["string", "number", "boolean", "null"];
186
+ readonly description: "A CSS property or design token value";
187
+ };
188
+ readonly styleDefinition: {
189
+ readonly type: "object";
190
+ readonly additionalProperties: {
191
+ readonly $ref: "#/definitions/styleValue";
192
+ };
193
+ readonly description: "Key-value map of style properties";
194
+ };
195
+ readonly responsiveStyles: {
196
+ readonly type: "object";
197
+ readonly properties: {
198
+ readonly base: {
199
+ readonly $ref: "#/definitions/styleDefinition";
200
+ };
201
+ readonly desktop: {
202
+ readonly $ref: "#/definitions/styleDefinition";
203
+ };
204
+ readonly tablet: {
205
+ readonly $ref: "#/definitions/styleDefinition";
206
+ };
207
+ readonly mobile: {
208
+ readonly $ref: "#/definitions/styleDefinition";
209
+ };
210
+ };
211
+ readonly additionalProperties: {
212
+ readonly $ref: "#/definitions/styleDefinition";
213
+ };
214
+ };
215
+ readonly assetReference: {
216
+ readonly type: "object";
217
+ readonly required: readonly ["type", "assetId"];
218
+ readonly properties: {
219
+ readonly type: {
220
+ readonly type: "string";
221
+ readonly const: "asset";
222
+ };
223
+ readonly assetId: {
224
+ readonly type: "string";
225
+ readonly minLength: 1;
226
+ };
227
+ readonly filename: {
228
+ readonly type: "string";
229
+ };
230
+ readonly mimeType: {
231
+ readonly type: "string";
232
+ };
233
+ readonly fallbackUrl: {
234
+ readonly type: "string";
235
+ readonly format: "uri";
236
+ };
237
+ };
238
+ readonly additionalProperties: false;
239
+ };
240
+ readonly variableBinding: {
241
+ readonly type: "object";
242
+ readonly required: readonly ["type", "key"];
243
+ readonly properties: {
244
+ readonly type: {
245
+ readonly type: "string";
246
+ readonly const: "variable";
247
+ };
248
+ readonly key: {
249
+ readonly type: "string";
250
+ readonly minLength: 1;
251
+ };
252
+ readonly fallback: {};
253
+ };
254
+ readonly additionalProperties: false;
255
+ };
256
+ readonly actionBinding: {
257
+ readonly type: "object";
258
+ readonly required: readonly ["type"];
259
+ readonly properties: {
260
+ readonly type: {
261
+ readonly type: "string";
262
+ readonly minLength: 1;
263
+ };
264
+ readonly payload: {
265
+ readonly type: "object";
266
+ };
267
+ };
268
+ readonly additionalProperties: false;
269
+ };
270
+ readonly animationConfig: {
271
+ readonly type: "object";
272
+ readonly properties: {
273
+ readonly type: {
274
+ readonly type: "string";
275
+ readonly default: "none";
276
+ readonly description: "Scroll entrance animation type (e.g. fade, fade-up, zoom-in, slide-left)";
277
+ };
278
+ readonly duration: {
279
+ readonly type: "number";
280
+ readonly minimum: 0;
281
+ readonly default: 600;
282
+ readonly description: "Animation duration in milliseconds";
283
+ };
284
+ readonly delay: {
285
+ readonly type: "number";
286
+ readonly minimum: 0;
287
+ readonly default: 0;
288
+ readonly description: "Animation delay in milliseconds";
289
+ };
290
+ readonly easing: {
291
+ readonly type: "string";
292
+ readonly default: "ease-out";
293
+ readonly description: "CSS animation easing / transition timing function";
294
+ };
295
+ readonly once: {
296
+ readonly type: "boolean";
297
+ readonly default: true;
298
+ readonly description: "Whether scroll animation plays only once when entering viewport";
299
+ };
300
+ readonly hoverEffect: {
301
+ readonly type: "string";
302
+ readonly default: "none";
303
+ readonly description: "Hover micro-interaction effect (e.g. lift, scale, glow, tilt)";
304
+ };
305
+ readonly loopEffect: {
306
+ readonly type: "string";
307
+ readonly default: "none";
308
+ readonly description: "Continuous loop animation effect (e.g. pulse, bounce, spin, float)";
309
+ };
310
+ };
311
+ readonly additionalProperties: false;
312
+ };
313
+ readonly actionStep: {
314
+ readonly type: "object";
315
+ readonly required: readonly ["id", "type"];
316
+ readonly properties: {
317
+ readonly id: {
318
+ readonly type: "string";
319
+ readonly minLength: 1;
320
+ };
321
+ readonly type: {
322
+ readonly type: "string";
323
+ readonly enum: readonly ["api_request", "navigate", "set_state", "reset_form", "show_toast", "open_modal", "close_modal", "toggle_modal", "copy_clipboard", "custom_event", "track_event"];
324
+ };
325
+ readonly label: {
326
+ readonly type: "string";
327
+ };
328
+ readonly payload: {
329
+ readonly type: "object";
330
+ };
331
+ readonly condition: {
332
+ readonly type: "object";
333
+ readonly required: readonly ["field", "operator"];
334
+ readonly properties: {
335
+ readonly field: {
336
+ readonly type: "string";
337
+ readonly minLength: 1;
338
+ };
339
+ readonly operator: {
340
+ readonly type: "string";
341
+ readonly enum: readonly ["equals", "not_equals", "contains", "not_contains", "is_truthy", "is_falsy", "gt", "gte", "lt", "lte", "regex"];
342
+ };
343
+ readonly value: {};
344
+ };
345
+ readonly additionalProperties: false;
346
+ };
347
+ readonly timeout: {
348
+ readonly type: "number";
349
+ readonly minimum: 1;
350
+ };
351
+ readonly continueOnError: {
352
+ readonly type: "boolean";
353
+ };
354
+ readonly onSuccess: {
355
+ readonly type: "array";
356
+ readonly items: {
357
+ readonly $ref: "#/definitions/actionStep";
358
+ };
359
+ };
360
+ readonly onError: {
361
+ readonly type: "array";
362
+ readonly items: {
363
+ readonly $ref: "#/definitions/actionStep";
364
+ };
365
+ };
366
+ };
367
+ readonly additionalProperties: false;
368
+ };
369
+ readonly actionPipeline: {
370
+ readonly type: "object";
371
+ readonly required: readonly ["id", "trigger", "steps"];
372
+ readonly properties: {
373
+ readonly id: {
374
+ readonly type: "string";
375
+ readonly minLength: 1;
376
+ };
377
+ readonly trigger: {
378
+ readonly type: "string";
379
+ readonly enum: readonly ["click", "submit", "change", "blur", "focus", "load", "expire"];
380
+ };
381
+ readonly label: {
382
+ readonly type: "string";
383
+ };
384
+ readonly debounceMs: {
385
+ readonly type: "number";
386
+ readonly minimum: 0;
387
+ };
388
+ readonly preventDuplicate: {
389
+ readonly type: "boolean";
390
+ };
391
+ readonly enabled: {
392
+ readonly type: "boolean";
393
+ readonly default: true;
394
+ };
395
+ readonly steps: {
396
+ readonly type: "array";
397
+ readonly items: {
398
+ readonly $ref: "#/definitions/actionStep";
399
+ };
400
+ readonly minItems: 1;
401
+ };
402
+ };
403
+ readonly additionalProperties: false;
404
+ };
405
+ readonly formConfig: {
406
+ readonly type: "object";
407
+ readonly required: readonly ["formId"];
408
+ readonly properties: {
409
+ readonly formId: {
410
+ readonly type: "string";
411
+ readonly minLength: 1;
412
+ };
413
+ readonly resetOnSubmit: {
414
+ readonly type: "boolean";
415
+ readonly default: false;
416
+ };
417
+ readonly scrollToFirstError: {
418
+ readonly type: "boolean";
419
+ readonly default: true;
420
+ };
421
+ readonly validateOn: {
422
+ readonly type: "string";
423
+ readonly enum: readonly ["blur", "change", "submit"];
424
+ readonly default: "blur";
425
+ };
426
+ readonly initialValues: {
427
+ readonly type: "object";
428
+ };
429
+ };
430
+ readonly additionalProperties: false;
431
+ };
432
+ readonly node: {
433
+ readonly type: "object";
434
+ readonly required: readonly ["id", "type"];
435
+ readonly properties: {
436
+ readonly id: {
437
+ readonly type: "string";
438
+ readonly minLength: 1;
439
+ readonly description: "Unique deterministic node identifier";
440
+ };
441
+ readonly type: {
442
+ readonly type: "string";
443
+ readonly minLength: 1;
444
+ readonly description: "Component type identifier";
445
+ };
446
+ readonly props: {
447
+ readonly type: "object";
448
+ readonly description: "Component props payload and bindings";
449
+ readonly default: {};
450
+ };
451
+ readonly styles: {
452
+ readonly $ref: "#/definitions/responsiveStyles";
453
+ };
454
+ readonly animation: {
455
+ readonly $ref: "#/definitions/animationConfig";
456
+ };
457
+ readonly actions: {
458
+ readonly type: "array";
459
+ readonly items: {
460
+ readonly $ref: "#/definitions/actionPipeline";
461
+ };
462
+ readonly description: "Multi-step action pipelines bound to component events";
463
+ };
464
+ readonly formConfig: {
465
+ readonly $ref: "#/definitions/formConfig";
466
+ readonly description: "Form container configuration and behavior";
467
+ };
468
+ readonly children: {
469
+ readonly type: "array";
470
+ readonly items: {
471
+ readonly $ref: "#/definitions/node";
472
+ };
473
+ readonly default: readonly [];
474
+ };
475
+ };
476
+ readonly additionalProperties: false;
477
+ };
478
+ readonly rootPageNode: {
479
+ readonly allOf: readonly [{
480
+ readonly $ref: "#/definitions/node";
481
+ }, {
482
+ readonly type: "object";
483
+ readonly properties: {
484
+ readonly type: {
485
+ readonly type: "string";
486
+ readonly const: "page";
487
+ readonly description: "The root node type must be \"page\"";
488
+ };
489
+ };
490
+ }];
491
+ };
492
+ readonly documentMetadata: {
493
+ readonly type: "object";
494
+ readonly required: readonly ["title"];
495
+ readonly properties: {
496
+ readonly title: {
497
+ readonly type: "string";
498
+ readonly minLength: 1;
499
+ readonly default: "Untitled Page";
500
+ };
501
+ readonly description: {
502
+ readonly type: "string";
503
+ readonly default: "";
504
+ };
505
+ readonly author: {
506
+ readonly type: "string";
507
+ readonly default: "";
508
+ };
509
+ readonly createdAt: {
510
+ readonly type: "string";
511
+ readonly format: "date-time";
512
+ };
513
+ readonly updatedAt: {
514
+ readonly type: "string";
515
+ readonly format: "date-time";
516
+ };
517
+ readonly tags: {
518
+ readonly type: "array";
519
+ readonly items: {
520
+ readonly type: "string";
521
+ };
522
+ readonly default: readonly [];
523
+ };
524
+ readonly category: {
525
+ readonly type: "string";
526
+ readonly default: "general";
527
+ };
528
+ readonly version: {
529
+ readonly type: "string";
530
+ readonly default: "1.0.0";
531
+ };
532
+ readonly custom: {
533
+ readonly type: "object";
534
+ };
535
+ };
536
+ readonly additionalProperties: false;
537
+ };
538
+ };
539
+ };
540
+ export declare function getPageDocumentJsonSchema(): {
541
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
542
+ readonly $id: "https://schema.stora.page/v1/page.json";
543
+ readonly title: "StoraPageDocument";
544
+ readonly description: "Portable Web Page Document v1 schema definition for KUBUILD";
545
+ readonly type: "object";
546
+ readonly required: readonly ["schema", "version", "document"];
547
+ readonly additionalProperties: false;
548
+ readonly properties: {
549
+ readonly schema: {
550
+ readonly type: "string";
551
+ readonly const: "stora.page";
552
+ readonly description: "Identifies the document type format";
553
+ };
554
+ readonly version: {
555
+ readonly type: "string";
556
+ readonly pattern: "^\\d+(\\.\\d+)*$";
557
+ readonly description: "Schema version of the document";
558
+ readonly default: "1.2.0";
559
+ };
560
+ readonly metadata: {
561
+ readonly $ref: "#/definitions/documentMetadata";
562
+ };
563
+ readonly document: {
564
+ readonly $ref: "#/definitions/rootPageNode";
565
+ };
566
+ readonly tracking: {
567
+ readonly $ref: "#/definitions/trackingConfig";
568
+ };
569
+ readonly theme: {
570
+ readonly $ref: "#/definitions/theme";
571
+ };
572
+ };
573
+ readonly definitions: {
574
+ readonly themeTokenMap: {
575
+ readonly type: "object";
576
+ readonly propertyNames: {
577
+ readonly pattern: "^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$";
578
+ };
579
+ readonly additionalProperties: {
580
+ readonly type: readonly ["string", "number"];
581
+ readonly maxLength: 512;
582
+ readonly pattern: "^[^;{}<>\\\\]*$";
583
+ };
584
+ readonly description: "Design tokens keyed by name. Values must not contain ; { } < > or backslashes.";
585
+ };
586
+ readonly theme: {
587
+ readonly type: "object";
588
+ readonly description: "Document design tokens, emitted as CSS custom properties (--kb-color-*, --kb-font-*, --kb-radius-*, --kb-space-*) and referenced from styles as var(--kb-color-<key>).";
589
+ readonly properties: {
590
+ readonly colors: {
591
+ readonly $ref: "#/definitions/themeTokenMap";
592
+ };
593
+ readonly fonts: {
594
+ readonly $ref: "#/definitions/themeTokenMap";
595
+ };
596
+ readonly radii: {
597
+ readonly $ref: "#/definitions/themeTokenMap";
598
+ };
599
+ readonly spacing: {
600
+ readonly $ref: "#/definitions/themeTokenMap";
601
+ };
602
+ };
603
+ readonly additionalProperties: false;
604
+ };
605
+ readonly trackingConfig: {
606
+ readonly type: "object";
607
+ readonly description: "Tracking configuration. Contains only public ids, flags and opaque credential ids — secrets are host-owned.";
608
+ readonly properties: {
609
+ readonly enabled: {
610
+ readonly type: "boolean";
611
+ readonly default: true;
612
+ };
613
+ readonly debugMode: {
614
+ readonly type: "boolean";
615
+ readonly default: false;
616
+ };
617
+ readonly autoPageView: {
618
+ readonly type: "boolean";
619
+ readonly default: true;
620
+ };
621
+ readonly defaultDelivery: {
622
+ readonly type: "string";
623
+ readonly enum: readonly ["both", "client_only", "server_only"];
624
+ readonly default: "both";
625
+ };
626
+ readonly providers: {
627
+ readonly type: "object";
628
+ readonly properties: {
629
+ readonly meta: {
630
+ readonly type: "object";
631
+ readonly properties: {
632
+ readonly enabled: {
633
+ readonly type: "boolean";
634
+ };
635
+ readonly credentialId: {
636
+ readonly type: "string";
637
+ };
638
+ readonly pixelId: {
639
+ readonly type: "string";
640
+ };
641
+ readonly capiEnabled: {
642
+ readonly type: "boolean";
643
+ };
644
+ readonly testEventCode: {
645
+ readonly type: "string";
646
+ };
647
+ };
648
+ readonly additionalProperties: false;
649
+ };
650
+ readonly google: {
651
+ readonly type: "object";
652
+ readonly properties: {
653
+ readonly enabled: {
654
+ readonly type: "boolean";
655
+ };
656
+ readonly credentialId: {
657
+ readonly type: "string";
658
+ };
659
+ readonly measurementId: {
660
+ readonly type: "string";
661
+ };
662
+ };
663
+ readonly additionalProperties: false;
664
+ };
665
+ readonly gtm: {
666
+ readonly type: "object";
667
+ readonly properties: {
668
+ readonly enabled: {
669
+ readonly type: "boolean";
670
+ };
671
+ readonly credentialId: {
672
+ readonly type: "string";
673
+ };
674
+ readonly containerId: {
675
+ readonly type: "string";
676
+ };
677
+ };
678
+ readonly additionalProperties: false;
679
+ };
680
+ readonly tiktok: {
681
+ readonly type: "object";
682
+ readonly properties: {
683
+ readonly enabled: {
684
+ readonly type: "boolean";
685
+ };
686
+ readonly credentialId: {
687
+ readonly type: "string";
688
+ };
689
+ readonly pixelId: {
690
+ readonly type: "string";
691
+ };
692
+ readonly eventsApiEnabled: {
693
+ readonly type: "boolean";
694
+ };
695
+ readonly testEventCode: {
696
+ readonly type: "string";
697
+ };
698
+ };
699
+ readonly additionalProperties: false;
700
+ };
701
+ readonly custom: {
702
+ readonly type: "object";
703
+ readonly properties: {
704
+ readonly enabled: {
705
+ readonly type: "boolean";
706
+ };
707
+ readonly credentialId: {
708
+ readonly type: "string";
709
+ };
710
+ };
711
+ readonly additionalProperties: false;
712
+ };
713
+ };
714
+ readonly additionalProperties: false;
715
+ };
716
+ };
717
+ readonly additionalProperties: false;
718
+ };
719
+ readonly styleValue: {
720
+ readonly type: readonly ["string", "number", "boolean", "null"];
721
+ readonly description: "A CSS property or design token value";
722
+ };
723
+ readonly styleDefinition: {
724
+ readonly type: "object";
725
+ readonly additionalProperties: {
726
+ readonly $ref: "#/definitions/styleValue";
727
+ };
728
+ readonly description: "Key-value map of style properties";
729
+ };
730
+ readonly responsiveStyles: {
731
+ readonly type: "object";
732
+ readonly properties: {
733
+ readonly base: {
734
+ readonly $ref: "#/definitions/styleDefinition";
735
+ };
736
+ readonly desktop: {
737
+ readonly $ref: "#/definitions/styleDefinition";
738
+ };
739
+ readonly tablet: {
740
+ readonly $ref: "#/definitions/styleDefinition";
741
+ };
742
+ readonly mobile: {
743
+ readonly $ref: "#/definitions/styleDefinition";
744
+ };
745
+ };
746
+ readonly additionalProperties: {
747
+ readonly $ref: "#/definitions/styleDefinition";
748
+ };
749
+ };
750
+ readonly assetReference: {
751
+ readonly type: "object";
752
+ readonly required: readonly ["type", "assetId"];
753
+ readonly properties: {
754
+ readonly type: {
755
+ readonly type: "string";
756
+ readonly const: "asset";
757
+ };
758
+ readonly assetId: {
759
+ readonly type: "string";
760
+ readonly minLength: 1;
761
+ };
762
+ readonly filename: {
763
+ readonly type: "string";
764
+ };
765
+ readonly mimeType: {
766
+ readonly type: "string";
767
+ };
768
+ readonly fallbackUrl: {
769
+ readonly type: "string";
770
+ readonly format: "uri";
771
+ };
772
+ };
773
+ readonly additionalProperties: false;
774
+ };
775
+ readonly variableBinding: {
776
+ readonly type: "object";
777
+ readonly required: readonly ["type", "key"];
778
+ readonly properties: {
779
+ readonly type: {
780
+ readonly type: "string";
781
+ readonly const: "variable";
782
+ };
783
+ readonly key: {
784
+ readonly type: "string";
785
+ readonly minLength: 1;
786
+ };
787
+ readonly fallback: {};
788
+ };
789
+ readonly additionalProperties: false;
790
+ };
791
+ readonly actionBinding: {
792
+ readonly type: "object";
793
+ readonly required: readonly ["type"];
794
+ readonly properties: {
795
+ readonly type: {
796
+ readonly type: "string";
797
+ readonly minLength: 1;
798
+ };
799
+ readonly payload: {
800
+ readonly type: "object";
801
+ };
802
+ };
803
+ readonly additionalProperties: false;
804
+ };
805
+ readonly animationConfig: {
806
+ readonly type: "object";
807
+ readonly properties: {
808
+ readonly type: {
809
+ readonly type: "string";
810
+ readonly default: "none";
811
+ readonly description: "Scroll entrance animation type (e.g. fade, fade-up, zoom-in, slide-left)";
812
+ };
813
+ readonly duration: {
814
+ readonly type: "number";
815
+ readonly minimum: 0;
816
+ readonly default: 600;
817
+ readonly description: "Animation duration in milliseconds";
818
+ };
819
+ readonly delay: {
820
+ readonly type: "number";
821
+ readonly minimum: 0;
822
+ readonly default: 0;
823
+ readonly description: "Animation delay in milliseconds";
824
+ };
825
+ readonly easing: {
826
+ readonly type: "string";
827
+ readonly default: "ease-out";
828
+ readonly description: "CSS animation easing / transition timing function";
829
+ };
830
+ readonly once: {
831
+ readonly type: "boolean";
832
+ readonly default: true;
833
+ readonly description: "Whether scroll animation plays only once when entering viewport";
834
+ };
835
+ readonly hoverEffect: {
836
+ readonly type: "string";
837
+ readonly default: "none";
838
+ readonly description: "Hover micro-interaction effect (e.g. lift, scale, glow, tilt)";
839
+ };
840
+ readonly loopEffect: {
841
+ readonly type: "string";
842
+ readonly default: "none";
843
+ readonly description: "Continuous loop animation effect (e.g. pulse, bounce, spin, float)";
844
+ };
845
+ };
846
+ readonly additionalProperties: false;
847
+ };
848
+ readonly actionStep: {
849
+ readonly type: "object";
850
+ readonly required: readonly ["id", "type"];
851
+ readonly properties: {
852
+ readonly id: {
853
+ readonly type: "string";
854
+ readonly minLength: 1;
855
+ };
856
+ readonly type: {
857
+ readonly type: "string";
858
+ readonly enum: readonly ["api_request", "navigate", "set_state", "reset_form", "show_toast", "open_modal", "close_modal", "toggle_modal", "copy_clipboard", "custom_event", "track_event"];
859
+ };
860
+ readonly label: {
861
+ readonly type: "string";
862
+ };
863
+ readonly payload: {
864
+ readonly type: "object";
865
+ };
866
+ readonly condition: {
867
+ readonly type: "object";
868
+ readonly required: readonly ["field", "operator"];
869
+ readonly properties: {
870
+ readonly field: {
871
+ readonly type: "string";
872
+ readonly minLength: 1;
873
+ };
874
+ readonly operator: {
875
+ readonly type: "string";
876
+ readonly enum: readonly ["equals", "not_equals", "contains", "not_contains", "is_truthy", "is_falsy", "gt", "gte", "lt", "lte", "regex"];
877
+ };
878
+ readonly value: {};
879
+ };
880
+ readonly additionalProperties: false;
881
+ };
882
+ readonly timeout: {
883
+ readonly type: "number";
884
+ readonly minimum: 1;
885
+ };
886
+ readonly continueOnError: {
887
+ readonly type: "boolean";
888
+ };
889
+ readonly onSuccess: {
890
+ readonly type: "array";
891
+ readonly items: {
892
+ readonly $ref: "#/definitions/actionStep";
893
+ };
894
+ };
895
+ readonly onError: {
896
+ readonly type: "array";
897
+ readonly items: {
898
+ readonly $ref: "#/definitions/actionStep";
899
+ };
900
+ };
901
+ };
902
+ readonly additionalProperties: false;
903
+ };
904
+ readonly actionPipeline: {
905
+ readonly type: "object";
906
+ readonly required: readonly ["id", "trigger", "steps"];
907
+ readonly properties: {
908
+ readonly id: {
909
+ readonly type: "string";
910
+ readonly minLength: 1;
911
+ };
912
+ readonly trigger: {
913
+ readonly type: "string";
914
+ readonly enum: readonly ["click", "submit", "change", "blur", "focus", "load", "expire"];
915
+ };
916
+ readonly label: {
917
+ readonly type: "string";
918
+ };
919
+ readonly debounceMs: {
920
+ readonly type: "number";
921
+ readonly minimum: 0;
922
+ };
923
+ readonly preventDuplicate: {
924
+ readonly type: "boolean";
925
+ };
926
+ readonly enabled: {
927
+ readonly type: "boolean";
928
+ readonly default: true;
929
+ };
930
+ readonly steps: {
931
+ readonly type: "array";
932
+ readonly items: {
933
+ readonly $ref: "#/definitions/actionStep";
934
+ };
935
+ readonly minItems: 1;
936
+ };
937
+ };
938
+ readonly additionalProperties: false;
939
+ };
940
+ readonly formConfig: {
941
+ readonly type: "object";
942
+ readonly required: readonly ["formId"];
943
+ readonly properties: {
944
+ readonly formId: {
945
+ readonly type: "string";
946
+ readonly minLength: 1;
947
+ };
948
+ readonly resetOnSubmit: {
949
+ readonly type: "boolean";
950
+ readonly default: false;
951
+ };
952
+ readonly scrollToFirstError: {
953
+ readonly type: "boolean";
954
+ readonly default: true;
955
+ };
956
+ readonly validateOn: {
957
+ readonly type: "string";
958
+ readonly enum: readonly ["blur", "change", "submit"];
959
+ readonly default: "blur";
960
+ };
961
+ readonly initialValues: {
962
+ readonly type: "object";
963
+ };
964
+ };
965
+ readonly additionalProperties: false;
966
+ };
967
+ readonly node: {
968
+ readonly type: "object";
969
+ readonly required: readonly ["id", "type"];
970
+ readonly properties: {
971
+ readonly id: {
972
+ readonly type: "string";
973
+ readonly minLength: 1;
974
+ readonly description: "Unique deterministic node identifier";
975
+ };
976
+ readonly type: {
977
+ readonly type: "string";
978
+ readonly minLength: 1;
979
+ readonly description: "Component type identifier";
980
+ };
981
+ readonly props: {
982
+ readonly type: "object";
983
+ readonly description: "Component props payload and bindings";
984
+ readonly default: {};
985
+ };
986
+ readonly styles: {
987
+ readonly $ref: "#/definitions/responsiveStyles";
988
+ };
989
+ readonly animation: {
990
+ readonly $ref: "#/definitions/animationConfig";
991
+ };
992
+ readonly actions: {
993
+ readonly type: "array";
994
+ readonly items: {
995
+ readonly $ref: "#/definitions/actionPipeline";
996
+ };
997
+ readonly description: "Multi-step action pipelines bound to component events";
998
+ };
999
+ readonly formConfig: {
1000
+ readonly $ref: "#/definitions/formConfig";
1001
+ readonly description: "Form container configuration and behavior";
1002
+ };
1003
+ readonly children: {
1004
+ readonly type: "array";
1005
+ readonly items: {
1006
+ readonly $ref: "#/definitions/node";
1007
+ };
1008
+ readonly default: readonly [];
1009
+ };
1010
+ };
1011
+ readonly additionalProperties: false;
1012
+ };
1013
+ readonly rootPageNode: {
1014
+ readonly allOf: readonly [{
1015
+ readonly $ref: "#/definitions/node";
1016
+ }, {
1017
+ readonly type: "object";
1018
+ readonly properties: {
1019
+ readonly type: {
1020
+ readonly type: "string";
1021
+ readonly const: "page";
1022
+ readonly description: "The root node type must be \"page\"";
1023
+ };
1024
+ };
1025
+ }];
1026
+ };
1027
+ readonly documentMetadata: {
1028
+ readonly type: "object";
1029
+ readonly required: readonly ["title"];
1030
+ readonly properties: {
1031
+ readonly title: {
1032
+ readonly type: "string";
1033
+ readonly minLength: 1;
1034
+ readonly default: "Untitled Page";
1035
+ };
1036
+ readonly description: {
1037
+ readonly type: "string";
1038
+ readonly default: "";
1039
+ };
1040
+ readonly author: {
1041
+ readonly type: "string";
1042
+ readonly default: "";
1043
+ };
1044
+ readonly createdAt: {
1045
+ readonly type: "string";
1046
+ readonly format: "date-time";
1047
+ };
1048
+ readonly updatedAt: {
1049
+ readonly type: "string";
1050
+ readonly format: "date-time";
1051
+ };
1052
+ readonly tags: {
1053
+ readonly type: "array";
1054
+ readonly items: {
1055
+ readonly type: "string";
1056
+ };
1057
+ readonly default: readonly [];
1058
+ };
1059
+ readonly category: {
1060
+ readonly type: "string";
1061
+ readonly default: "general";
1062
+ };
1063
+ readonly version: {
1064
+ readonly type: "string";
1065
+ readonly default: "1.0.0";
1066
+ };
1067
+ readonly custom: {
1068
+ readonly type: "object";
1069
+ };
1070
+ };
1071
+ readonly additionalProperties: false;
1072
+ };
1073
+ };
1074
+ };
1075
+ /**
1076
+ * Standard JSON Schema Draft-07 representation of stora.page Package Manifest v1
1077
+ * Aligned 1:1 with TypeScript Manifest type definition.
1078
+ */
1079
+ export declare const MANIFEST_JSON_SCHEMA_V1: {
1080
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1081
+ readonly $id: "https://schema.stora.page/v1/manifest.json";
1082
+ readonly title: "StoraPackageManifest";
1083
+ readonly description: "Portable Package Manifest v1 schema definition for KUBUILD (.stora)";
1084
+ readonly type: "object";
1085
+ readonly required: readonly ["schemaVersion", "packageVersion", "builderCompatibility", "requiredComponents", "requiredCapabilities", "assets"];
1086
+ readonly additionalProperties: false;
1087
+ readonly properties: {
1088
+ readonly schema: {
1089
+ readonly type: "string";
1090
+ readonly const: "stora.page";
1091
+ readonly description: "Schema identifier";
1092
+ readonly default: "stora.page";
1093
+ };
1094
+ readonly schemaVersion: {
1095
+ readonly type: "string";
1096
+ readonly pattern: "^\\d+(\\.\\d+)*$";
1097
+ readonly description: "Document schema version";
1098
+ readonly default: "1.0.0";
1099
+ };
1100
+ readonly packageVersion: {
1101
+ readonly type: "string";
1102
+ readonly pattern: "^\\d+(\\.\\d+)*$";
1103
+ readonly description: "Package version";
1104
+ readonly default: "1.0.0";
1105
+ };
1106
+ readonly builderCompatibility: {
1107
+ readonly type: "string";
1108
+ readonly description: "Minimum or range of builder versions compatible with this package";
1109
+ readonly default: ">=0.1.0";
1110
+ };
1111
+ readonly requiredComponents: {
1112
+ readonly type: "array";
1113
+ readonly items: {
1114
+ readonly type: "string";
1115
+ };
1116
+ readonly description: "List of custom component types required by the page";
1117
+ readonly default: readonly [];
1118
+ };
1119
+ readonly requiredCapabilities: {
1120
+ readonly type: "array";
1121
+ readonly items: {
1122
+ readonly type: "string";
1123
+ };
1124
+ readonly description: "List of capabilities required by components in the page";
1125
+ readonly default: readonly [];
1126
+ };
1127
+ readonly assets: {
1128
+ readonly type: "array";
1129
+ readonly items: {
1130
+ readonly $ref: "#/definitions/manifestAssetItem";
1131
+ };
1132
+ readonly description: "Inventory of local assets packaged within the archive";
1133
+ readonly default: readonly [];
1134
+ };
1135
+ readonly createdAt: {
1136
+ readonly type: "string";
1137
+ readonly format: "date-time";
1138
+ readonly description: "ISO timestamp when the package was created";
1139
+ };
1140
+ };
1141
+ readonly definitions: {
1142
+ readonly manifestAssetItem: {
1143
+ readonly type: "object";
1144
+ readonly required: readonly ["id", "path", "mimeType", "size"];
1145
+ readonly properties: {
1146
+ readonly id: {
1147
+ readonly type: "string";
1148
+ readonly minLength: 1;
1149
+ readonly description: "Unique asset identifier";
1150
+ };
1151
+ readonly path: {
1152
+ readonly type: "string";
1153
+ readonly minLength: 1;
1154
+ readonly description: "Relative archive path to asset file (e.g. assets/hero.png)";
1155
+ };
1156
+ readonly mimeType: {
1157
+ readonly type: "string";
1158
+ readonly minLength: 1;
1159
+ readonly description: "MIME type of the asset";
1160
+ };
1161
+ readonly size: {
1162
+ readonly type: "number";
1163
+ readonly minimum: 0;
1164
+ readonly description: "Asset size in bytes";
1165
+ };
1166
+ readonly checksum: {
1167
+ readonly type: "string";
1168
+ readonly description: "SHA-256 or algorithm-prefixed checksum (e.g. sha256:...)";
1169
+ };
1170
+ };
1171
+ readonly additionalProperties: false;
1172
+ };
1173
+ };
1174
+ };
1175
+ export declare function getManifestJsonSchema(): {
1176
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1177
+ readonly $id: "https://schema.stora.page/v1/manifest.json";
1178
+ readonly title: "StoraPackageManifest";
1179
+ readonly description: "Portable Package Manifest v1 schema definition for KUBUILD (.stora)";
1180
+ readonly type: "object";
1181
+ readonly required: readonly ["schemaVersion", "packageVersion", "builderCompatibility", "requiredComponents", "requiredCapabilities", "assets"];
1182
+ readonly additionalProperties: false;
1183
+ readonly properties: {
1184
+ readonly schema: {
1185
+ readonly type: "string";
1186
+ readonly const: "stora.page";
1187
+ readonly description: "Schema identifier";
1188
+ readonly default: "stora.page";
1189
+ };
1190
+ readonly schemaVersion: {
1191
+ readonly type: "string";
1192
+ readonly pattern: "^\\d+(\\.\\d+)*$";
1193
+ readonly description: "Document schema version";
1194
+ readonly default: "1.0.0";
1195
+ };
1196
+ readonly packageVersion: {
1197
+ readonly type: "string";
1198
+ readonly pattern: "^\\d+(\\.\\d+)*$";
1199
+ readonly description: "Package version";
1200
+ readonly default: "1.0.0";
1201
+ };
1202
+ readonly builderCompatibility: {
1203
+ readonly type: "string";
1204
+ readonly description: "Minimum or range of builder versions compatible with this package";
1205
+ readonly default: ">=0.1.0";
1206
+ };
1207
+ readonly requiredComponents: {
1208
+ readonly type: "array";
1209
+ readonly items: {
1210
+ readonly type: "string";
1211
+ };
1212
+ readonly description: "List of custom component types required by the page";
1213
+ readonly default: readonly [];
1214
+ };
1215
+ readonly requiredCapabilities: {
1216
+ readonly type: "array";
1217
+ readonly items: {
1218
+ readonly type: "string";
1219
+ };
1220
+ readonly description: "List of capabilities required by components in the page";
1221
+ readonly default: readonly [];
1222
+ };
1223
+ readonly assets: {
1224
+ readonly type: "array";
1225
+ readonly items: {
1226
+ readonly $ref: "#/definitions/manifestAssetItem";
1227
+ };
1228
+ readonly description: "Inventory of local assets packaged within the archive";
1229
+ readonly default: readonly [];
1230
+ };
1231
+ readonly createdAt: {
1232
+ readonly type: "string";
1233
+ readonly format: "date-time";
1234
+ readonly description: "ISO timestamp when the package was created";
1235
+ };
1236
+ };
1237
+ readonly definitions: {
1238
+ readonly manifestAssetItem: {
1239
+ readonly type: "object";
1240
+ readonly required: readonly ["id", "path", "mimeType", "size"];
1241
+ readonly properties: {
1242
+ readonly id: {
1243
+ readonly type: "string";
1244
+ readonly minLength: 1;
1245
+ readonly description: "Unique asset identifier";
1246
+ };
1247
+ readonly path: {
1248
+ readonly type: "string";
1249
+ readonly minLength: 1;
1250
+ readonly description: "Relative archive path to asset file (e.g. assets/hero.png)";
1251
+ };
1252
+ readonly mimeType: {
1253
+ readonly type: "string";
1254
+ readonly minLength: 1;
1255
+ readonly description: "MIME type of the asset";
1256
+ };
1257
+ readonly size: {
1258
+ readonly type: "number";
1259
+ readonly minimum: 0;
1260
+ readonly description: "Asset size in bytes";
1261
+ };
1262
+ readonly checksum: {
1263
+ readonly type: "string";
1264
+ readonly description: "SHA-256 or algorithm-prefixed checksum (e.g. sha256:...)";
1265
+ };
1266
+ };
1267
+ readonly additionalProperties: false;
1268
+ };
1269
+ };
1270
+ };
1271
+ /**
1272
+ * Standard JSON Schema Draft-07 representation of Template Record v1
1273
+ * Aligned 1:1 with TypeScript TemplateRecord type definition.
1274
+ */
1275
+ export declare const TEMPLATE_RECORD_JSON_SCHEMA_V1: {
1276
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1277
+ readonly $id: "https://schema.stora.page/v1/template.json";
1278
+ readonly title: "StoraTemplateRecord";
1279
+ readonly description: "Reusable Page Template Record v1 schema definition for KUBUILD";
1280
+ readonly type: "object";
1281
+ readonly required: readonly ["id", "name"];
1282
+ readonly additionalProperties: false;
1283
+ readonly properties: {
1284
+ readonly id: {
1285
+ readonly type: "string";
1286
+ readonly minLength: 1;
1287
+ readonly description: "Unique template identifier";
1288
+ };
1289
+ readonly name: {
1290
+ readonly type: "string";
1291
+ readonly minLength: 1;
1292
+ readonly description: "Human-readable name of the template";
1293
+ };
1294
+ readonly description: {
1295
+ readonly type: "string";
1296
+ readonly default: "";
1297
+ readonly description: "Detailed description of the template purpose and contents";
1298
+ };
1299
+ readonly category: {
1300
+ readonly type: "string";
1301
+ readonly default: "general";
1302
+ readonly description: "Template category grouping";
1303
+ };
1304
+ readonly tags: {
1305
+ readonly type: "array";
1306
+ readonly items: {
1307
+ readonly type: "string";
1308
+ };
1309
+ readonly default: readonly [];
1310
+ readonly description: "Search and filter tags";
1311
+ };
1312
+ readonly thumbnail: {
1313
+ readonly oneOf: readonly [{
1314
+ readonly $ref: "#/definitions/assetReference";
1315
+ }, {
1316
+ readonly $ref: "#/definitions/safeThumbnailObject";
1317
+ }, {
1318
+ readonly type: "string";
1319
+ readonly minLength: 1;
1320
+ }];
1321
+ readonly description: "Safe preview image asset reference or URL";
1322
+ };
1323
+ readonly author: {
1324
+ readonly type: "string";
1325
+ readonly default: "";
1326
+ readonly description: "Template creator or team";
1327
+ };
1328
+ readonly version: {
1329
+ readonly type: "string";
1330
+ readonly default: "1.0.0";
1331
+ readonly description: "Semantic version of the template";
1332
+ };
1333
+ readonly document: {
1334
+ readonly $ref: "https://schema.stora.page/v1/page.json#";
1335
+ readonly description: "Embedded PageDocument snapshot (optional if packageReference provided)";
1336
+ };
1337
+ readonly packageReference: {
1338
+ readonly $ref: "#/definitions/templatePackageRef";
1339
+ readonly description: "External package/archive reference (optional if document provided)";
1340
+ };
1341
+ readonly requirements: {
1342
+ readonly $ref: "#/definitions/templateRequirements";
1343
+ readonly description: "Component and capability requirements for this template";
1344
+ };
1345
+ readonly createdAt: {
1346
+ readonly type: "string";
1347
+ readonly format: "date-time";
1348
+ readonly description: "ISO creation timestamp";
1349
+ };
1350
+ readonly updatedAt: {
1351
+ readonly type: "string";
1352
+ readonly format: "date-time";
1353
+ readonly description: "ISO last updated timestamp";
1354
+ };
1355
+ readonly custom: {
1356
+ readonly type: "object";
1357
+ readonly description: "Custom host-specific serializable metadata";
1358
+ };
1359
+ };
1360
+ readonly definitions: {
1361
+ readonly assetReference: {
1362
+ readonly type: "object";
1363
+ readonly required: readonly ["type", "assetId"];
1364
+ readonly properties: {
1365
+ readonly type: {
1366
+ readonly type: "string";
1367
+ readonly const: "asset";
1368
+ };
1369
+ readonly assetId: {
1370
+ readonly type: "string";
1371
+ readonly minLength: 1;
1372
+ };
1373
+ readonly filename: {
1374
+ readonly type: "string";
1375
+ };
1376
+ readonly mimeType: {
1377
+ readonly type: "string";
1378
+ };
1379
+ readonly fallbackUrl: {
1380
+ readonly type: "string";
1381
+ readonly format: "uri";
1382
+ };
1383
+ };
1384
+ readonly additionalProperties: false;
1385
+ };
1386
+ readonly safeThumbnailObject: {
1387
+ readonly type: "object";
1388
+ readonly required: readonly ["url"];
1389
+ readonly properties: {
1390
+ readonly url: {
1391
+ readonly type: "string";
1392
+ readonly minLength: 1;
1393
+ };
1394
+ readonly alt: {
1395
+ readonly type: "string";
1396
+ };
1397
+ readonly width: {
1398
+ readonly type: "number";
1399
+ readonly minimum: 1;
1400
+ };
1401
+ readonly height: {
1402
+ readonly type: "number";
1403
+ readonly minimum: 1;
1404
+ };
1405
+ };
1406
+ readonly additionalProperties: false;
1407
+ };
1408
+ readonly templatePackageRef: {
1409
+ readonly type: "object";
1410
+ readonly properties: {
1411
+ readonly path: {
1412
+ readonly type: "string";
1413
+ };
1414
+ readonly url: {
1415
+ readonly type: "string";
1416
+ };
1417
+ readonly checksum: {
1418
+ readonly type: "string";
1419
+ };
1420
+ readonly format: {
1421
+ readonly type: "string";
1422
+ readonly enum: readonly ["stora", "json"];
1423
+ readonly default: "stora";
1424
+ };
1425
+ };
1426
+ readonly additionalProperties: false;
1427
+ };
1428
+ readonly templateRequirements: {
1429
+ readonly type: "object";
1430
+ readonly properties: {
1431
+ readonly requiredComponents: {
1432
+ readonly type: "array";
1433
+ readonly items: {
1434
+ readonly type: "string";
1435
+ };
1436
+ readonly default: readonly [];
1437
+ };
1438
+ readonly requiredCapabilities: {
1439
+ readonly type: "array";
1440
+ readonly items: {
1441
+ readonly type: "string";
1442
+ };
1443
+ readonly default: readonly [];
1444
+ };
1445
+ };
1446
+ readonly additionalProperties: false;
1447
+ };
1448
+ };
1449
+ };
1450
+ export declare function getTemplateRecordJsonSchema(): {
1451
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1452
+ readonly $id: "https://schema.stora.page/v1/template.json";
1453
+ readonly title: "StoraTemplateRecord";
1454
+ readonly description: "Reusable Page Template Record v1 schema definition for KUBUILD";
1455
+ readonly type: "object";
1456
+ readonly required: readonly ["id", "name"];
1457
+ readonly additionalProperties: false;
1458
+ readonly properties: {
1459
+ readonly id: {
1460
+ readonly type: "string";
1461
+ readonly minLength: 1;
1462
+ readonly description: "Unique template identifier";
1463
+ };
1464
+ readonly name: {
1465
+ readonly type: "string";
1466
+ readonly minLength: 1;
1467
+ readonly description: "Human-readable name of the template";
1468
+ };
1469
+ readonly description: {
1470
+ readonly type: "string";
1471
+ readonly default: "";
1472
+ readonly description: "Detailed description of the template purpose and contents";
1473
+ };
1474
+ readonly category: {
1475
+ readonly type: "string";
1476
+ readonly default: "general";
1477
+ readonly description: "Template category grouping";
1478
+ };
1479
+ readonly tags: {
1480
+ readonly type: "array";
1481
+ readonly items: {
1482
+ readonly type: "string";
1483
+ };
1484
+ readonly default: readonly [];
1485
+ readonly description: "Search and filter tags";
1486
+ };
1487
+ readonly thumbnail: {
1488
+ readonly oneOf: readonly [{
1489
+ readonly $ref: "#/definitions/assetReference";
1490
+ }, {
1491
+ readonly $ref: "#/definitions/safeThumbnailObject";
1492
+ }, {
1493
+ readonly type: "string";
1494
+ readonly minLength: 1;
1495
+ }];
1496
+ readonly description: "Safe preview image asset reference or URL";
1497
+ };
1498
+ readonly author: {
1499
+ readonly type: "string";
1500
+ readonly default: "";
1501
+ readonly description: "Template creator or team";
1502
+ };
1503
+ readonly version: {
1504
+ readonly type: "string";
1505
+ readonly default: "1.0.0";
1506
+ readonly description: "Semantic version of the template";
1507
+ };
1508
+ readonly document: {
1509
+ readonly $ref: "https://schema.stora.page/v1/page.json#";
1510
+ readonly description: "Embedded PageDocument snapshot (optional if packageReference provided)";
1511
+ };
1512
+ readonly packageReference: {
1513
+ readonly $ref: "#/definitions/templatePackageRef";
1514
+ readonly description: "External package/archive reference (optional if document provided)";
1515
+ };
1516
+ readonly requirements: {
1517
+ readonly $ref: "#/definitions/templateRequirements";
1518
+ readonly description: "Component and capability requirements for this template";
1519
+ };
1520
+ readonly createdAt: {
1521
+ readonly type: "string";
1522
+ readonly format: "date-time";
1523
+ readonly description: "ISO creation timestamp";
1524
+ };
1525
+ readonly updatedAt: {
1526
+ readonly type: "string";
1527
+ readonly format: "date-time";
1528
+ readonly description: "ISO last updated timestamp";
1529
+ };
1530
+ readonly custom: {
1531
+ readonly type: "object";
1532
+ readonly description: "Custom host-specific serializable metadata";
1533
+ };
1534
+ };
1535
+ readonly definitions: {
1536
+ readonly assetReference: {
1537
+ readonly type: "object";
1538
+ readonly required: readonly ["type", "assetId"];
1539
+ readonly properties: {
1540
+ readonly type: {
1541
+ readonly type: "string";
1542
+ readonly const: "asset";
1543
+ };
1544
+ readonly assetId: {
1545
+ readonly type: "string";
1546
+ readonly minLength: 1;
1547
+ };
1548
+ readonly filename: {
1549
+ readonly type: "string";
1550
+ };
1551
+ readonly mimeType: {
1552
+ readonly type: "string";
1553
+ };
1554
+ readonly fallbackUrl: {
1555
+ readonly type: "string";
1556
+ readonly format: "uri";
1557
+ };
1558
+ };
1559
+ readonly additionalProperties: false;
1560
+ };
1561
+ readonly safeThumbnailObject: {
1562
+ readonly type: "object";
1563
+ readonly required: readonly ["url"];
1564
+ readonly properties: {
1565
+ readonly url: {
1566
+ readonly type: "string";
1567
+ readonly minLength: 1;
1568
+ };
1569
+ readonly alt: {
1570
+ readonly type: "string";
1571
+ };
1572
+ readonly width: {
1573
+ readonly type: "number";
1574
+ readonly minimum: 1;
1575
+ };
1576
+ readonly height: {
1577
+ readonly type: "number";
1578
+ readonly minimum: 1;
1579
+ };
1580
+ };
1581
+ readonly additionalProperties: false;
1582
+ };
1583
+ readonly templatePackageRef: {
1584
+ readonly type: "object";
1585
+ readonly properties: {
1586
+ readonly path: {
1587
+ readonly type: "string";
1588
+ };
1589
+ readonly url: {
1590
+ readonly type: "string";
1591
+ };
1592
+ readonly checksum: {
1593
+ readonly type: "string";
1594
+ };
1595
+ readonly format: {
1596
+ readonly type: "string";
1597
+ readonly enum: readonly ["stora", "json"];
1598
+ readonly default: "stora";
1599
+ };
1600
+ };
1601
+ readonly additionalProperties: false;
1602
+ };
1603
+ readonly templateRequirements: {
1604
+ readonly type: "object";
1605
+ readonly properties: {
1606
+ readonly requiredComponents: {
1607
+ readonly type: "array";
1608
+ readonly items: {
1609
+ readonly type: "string";
1610
+ };
1611
+ readonly default: readonly [];
1612
+ };
1613
+ readonly requiredCapabilities: {
1614
+ readonly type: "array";
1615
+ readonly items: {
1616
+ readonly type: "string";
1617
+ };
1618
+ readonly default: readonly [];
1619
+ };
1620
+ };
1621
+ readonly additionalProperties: false;
1622
+ };
1623
+ };
1624
+ };
1625
+ /**
1626
+ * Standard JSON Schema Draft-07 representation of Action Pipeline
1627
+ * Aligned 1:1 with TypeScript ActionPipeline type definition.
1628
+ */
1629
+ export declare const ACTION_PIPELINE_JSON_SCHEMA_V1: {
1630
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1631
+ readonly $id: "https://schema.stora.page/v1/action-pipeline.json";
1632
+ readonly title: "StoraActionPipeline";
1633
+ readonly description: "Action Pipeline schema definition for KUBUILD event workflows";
1634
+ readonly type: "object";
1635
+ readonly required: readonly ["id", "trigger", "steps"];
1636
+ readonly additionalProperties: false;
1637
+ readonly properties: {
1638
+ readonly id: {
1639
+ readonly type: "string";
1640
+ readonly minLength: 1;
1641
+ readonly description: "Unique pipeline identifier";
1642
+ };
1643
+ readonly trigger: {
1644
+ readonly type: "string";
1645
+ readonly enum: readonly ["click", "submit", "change", "blur", "focus", "load", "expire"];
1646
+ readonly description: "DOM or component event that triggers the action pipeline";
1647
+ };
1648
+ readonly label: {
1649
+ readonly type: "string";
1650
+ readonly description: "Human readable label for the action pipeline";
1651
+ };
1652
+ readonly debounceMs: {
1653
+ readonly type: "number";
1654
+ readonly minimum: 0;
1655
+ readonly description: "Debounce duration in milliseconds";
1656
+ };
1657
+ readonly preventDuplicate: {
1658
+ readonly type: "boolean";
1659
+ readonly description: "Prevent concurrent duplicate pipeline executions";
1660
+ };
1661
+ readonly enabled: {
1662
+ readonly type: "boolean";
1663
+ readonly default: true;
1664
+ readonly description: "Whether the pipeline is currently active";
1665
+ };
1666
+ readonly steps: {
1667
+ readonly type: "array";
1668
+ readonly items: {
1669
+ readonly $ref: "#/definitions/actionStep";
1670
+ };
1671
+ readonly minItems: 1;
1672
+ readonly description: "Ordered sequence of action steps to execute";
1673
+ };
1674
+ };
1675
+ readonly definitions: {
1676
+ readonly actionStep: {
1677
+ readonly type: "object";
1678
+ readonly required: readonly ["id", "type"];
1679
+ readonly properties: {
1680
+ readonly id: {
1681
+ readonly type: "string";
1682
+ readonly minLength: 1;
1683
+ };
1684
+ readonly type: {
1685
+ readonly type: "string";
1686
+ readonly enum: readonly ["api_request", "navigate", "set_state", "reset_form", "show_toast", "open_modal", "close_modal", "toggle_modal", "copy_clipboard", "custom_event", "track_event"];
1687
+ };
1688
+ readonly label: {
1689
+ readonly type: "string";
1690
+ };
1691
+ readonly payload: {
1692
+ readonly type: "object";
1693
+ };
1694
+ readonly condition: {
1695
+ readonly type: "object";
1696
+ readonly required: readonly ["field", "operator"];
1697
+ readonly properties: {
1698
+ readonly field: {
1699
+ readonly type: "string";
1700
+ readonly minLength: 1;
1701
+ };
1702
+ readonly operator: {
1703
+ readonly type: "string";
1704
+ readonly enum: readonly ["equals", "not_equals", "contains", "not_contains", "is_truthy", "is_falsy", "gt", "gte", "lt", "lte", "regex"];
1705
+ };
1706
+ readonly value: {};
1707
+ };
1708
+ readonly additionalProperties: false;
1709
+ };
1710
+ readonly timeout: {
1711
+ readonly type: "number";
1712
+ readonly minimum: 1;
1713
+ };
1714
+ readonly continueOnError: {
1715
+ readonly type: "boolean";
1716
+ };
1717
+ readonly onSuccess: {
1718
+ readonly type: "array";
1719
+ readonly items: {
1720
+ readonly $ref: "#/definitions/actionStep";
1721
+ };
1722
+ };
1723
+ readonly onError: {
1724
+ readonly type: "array";
1725
+ readonly items: {
1726
+ readonly $ref: "#/definitions/actionStep";
1727
+ };
1728
+ };
1729
+ };
1730
+ readonly additionalProperties: false;
1731
+ };
1732
+ };
1733
+ };
1734
+ export declare function getActionPipelineJsonSchema(): {
1735
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1736
+ readonly $id: "https://schema.stora.page/v1/action-pipeline.json";
1737
+ readonly title: "StoraActionPipeline";
1738
+ readonly description: "Action Pipeline schema definition for KUBUILD event workflows";
1739
+ readonly type: "object";
1740
+ readonly required: readonly ["id", "trigger", "steps"];
1741
+ readonly additionalProperties: false;
1742
+ readonly properties: {
1743
+ readonly id: {
1744
+ readonly type: "string";
1745
+ readonly minLength: 1;
1746
+ readonly description: "Unique pipeline identifier";
1747
+ };
1748
+ readonly trigger: {
1749
+ readonly type: "string";
1750
+ readonly enum: readonly ["click", "submit", "change", "blur", "focus", "load", "expire"];
1751
+ readonly description: "DOM or component event that triggers the action pipeline";
1752
+ };
1753
+ readonly label: {
1754
+ readonly type: "string";
1755
+ readonly description: "Human readable label for the action pipeline";
1756
+ };
1757
+ readonly debounceMs: {
1758
+ readonly type: "number";
1759
+ readonly minimum: 0;
1760
+ readonly description: "Debounce duration in milliseconds";
1761
+ };
1762
+ readonly preventDuplicate: {
1763
+ readonly type: "boolean";
1764
+ readonly description: "Prevent concurrent duplicate pipeline executions";
1765
+ };
1766
+ readonly enabled: {
1767
+ readonly type: "boolean";
1768
+ readonly default: true;
1769
+ readonly description: "Whether the pipeline is currently active";
1770
+ };
1771
+ readonly steps: {
1772
+ readonly type: "array";
1773
+ readonly items: {
1774
+ readonly $ref: "#/definitions/actionStep";
1775
+ };
1776
+ readonly minItems: 1;
1777
+ readonly description: "Ordered sequence of action steps to execute";
1778
+ };
1779
+ };
1780
+ readonly definitions: {
1781
+ readonly actionStep: {
1782
+ readonly type: "object";
1783
+ readonly required: readonly ["id", "type"];
1784
+ readonly properties: {
1785
+ readonly id: {
1786
+ readonly type: "string";
1787
+ readonly minLength: 1;
1788
+ };
1789
+ readonly type: {
1790
+ readonly type: "string";
1791
+ readonly enum: readonly ["api_request", "navigate", "set_state", "reset_form", "show_toast", "open_modal", "close_modal", "toggle_modal", "copy_clipboard", "custom_event", "track_event"];
1792
+ };
1793
+ readonly label: {
1794
+ readonly type: "string";
1795
+ };
1796
+ readonly payload: {
1797
+ readonly type: "object";
1798
+ };
1799
+ readonly condition: {
1800
+ readonly type: "object";
1801
+ readonly required: readonly ["field", "operator"];
1802
+ readonly properties: {
1803
+ readonly field: {
1804
+ readonly type: "string";
1805
+ readonly minLength: 1;
1806
+ };
1807
+ readonly operator: {
1808
+ readonly type: "string";
1809
+ readonly enum: readonly ["equals", "not_equals", "contains", "not_contains", "is_truthy", "is_falsy", "gt", "gte", "lt", "lte", "regex"];
1810
+ };
1811
+ readonly value: {};
1812
+ };
1813
+ readonly additionalProperties: false;
1814
+ };
1815
+ readonly timeout: {
1816
+ readonly type: "number";
1817
+ readonly minimum: 1;
1818
+ };
1819
+ readonly continueOnError: {
1820
+ readonly type: "boolean";
1821
+ };
1822
+ readonly onSuccess: {
1823
+ readonly type: "array";
1824
+ readonly items: {
1825
+ readonly $ref: "#/definitions/actionStep";
1826
+ };
1827
+ };
1828
+ readonly onError: {
1829
+ readonly type: "array";
1830
+ readonly items: {
1831
+ readonly $ref: "#/definitions/actionStep";
1832
+ };
1833
+ };
1834
+ };
1835
+ readonly additionalProperties: false;
1836
+ };
1837
+ };
1838
+ };
1839
+ /**
1840
+ * Standard JSON Schema Draft-07 representation of Form Config
1841
+ * Aligned 1:1 with TypeScript FormConfig type definition.
1842
+ */
1843
+ export declare const FORM_CONFIG_JSON_SCHEMA_V1: {
1844
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1845
+ readonly $id: "https://schema.stora.page/v1/form-config.json";
1846
+ readonly title: "StoraFormConfig";
1847
+ readonly description: "Form container configuration and behavior definition for KUBUILD";
1848
+ readonly type: "object";
1849
+ readonly required: readonly ["formId"];
1850
+ readonly additionalProperties: false;
1851
+ readonly properties: {
1852
+ readonly formId: {
1853
+ readonly type: "string";
1854
+ readonly minLength: 1;
1855
+ readonly description: "Unique identifier for the form boundary";
1856
+ };
1857
+ readonly resetOnSubmit: {
1858
+ readonly type: "boolean";
1859
+ readonly default: false;
1860
+ readonly description: "Whether to reset form field values after successful submission";
1861
+ };
1862
+ readonly scrollToFirstError: {
1863
+ readonly type: "boolean";
1864
+ readonly default: true;
1865
+ readonly description: "Auto-scroll viewport to the first invalid input on validation failure";
1866
+ };
1867
+ readonly validateOn: {
1868
+ readonly type: "string";
1869
+ readonly enum: readonly ["blur", "change", "submit"];
1870
+ readonly default: "blur";
1871
+ readonly description: "Default trigger event for field validation evaluation";
1872
+ };
1873
+ readonly initialValues: {
1874
+ readonly type: "object";
1875
+ readonly description: "Initial state values populated in form fields";
1876
+ };
1877
+ };
1878
+ };
1879
+ export declare function getFormConfigJsonSchema(): {
1880
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1881
+ readonly $id: "https://schema.stora.page/v1/form-config.json";
1882
+ readonly title: "StoraFormConfig";
1883
+ readonly description: "Form container configuration and behavior definition for KUBUILD";
1884
+ readonly type: "object";
1885
+ readonly required: readonly ["formId"];
1886
+ readonly additionalProperties: false;
1887
+ readonly properties: {
1888
+ readonly formId: {
1889
+ readonly type: "string";
1890
+ readonly minLength: 1;
1891
+ readonly description: "Unique identifier for the form boundary";
1892
+ };
1893
+ readonly resetOnSubmit: {
1894
+ readonly type: "boolean";
1895
+ readonly default: false;
1896
+ readonly description: "Whether to reset form field values after successful submission";
1897
+ };
1898
+ readonly scrollToFirstError: {
1899
+ readonly type: "boolean";
1900
+ readonly default: true;
1901
+ readonly description: "Auto-scroll viewport to the first invalid input on validation failure";
1902
+ };
1903
+ readonly validateOn: {
1904
+ readonly type: "string";
1905
+ readonly enum: readonly ["blur", "change", "submit"];
1906
+ readonly default: "blur";
1907
+ readonly description: "Default trigger event for field validation evaluation";
1908
+ };
1909
+ readonly initialValues: {
1910
+ readonly type: "object";
1911
+ readonly description: "Initial state values populated in form fields";
1912
+ };
1913
+ };
1914
+ };
1915
+ /**
1916
+ * Standard JSON Schema Draft-07 representation of Form Field Binding
1917
+ * Aligned 1:1 with TypeScript FormFieldBinding type definition.
1918
+ */
1919
+ export declare const FORM_FIELD_BINDING_JSON_SCHEMA_V1: {
1920
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1921
+ readonly $id: "https://schema.stora.page/v1/form-field-binding.json";
1922
+ readonly title: "StoraFormFieldBinding";
1923
+ readonly description: "Form field binding definition connecting input elements to form state runtime";
1924
+ readonly type: "object";
1925
+ readonly required: readonly ["name"];
1926
+ readonly additionalProperties: false;
1927
+ readonly properties: {
1928
+ readonly name: {
1929
+ readonly type: "string";
1930
+ readonly minLength: 1;
1931
+ readonly description: "Field state property key";
1932
+ };
1933
+ readonly label: {
1934
+ readonly type: "string";
1935
+ readonly description: "Display label for the field";
1936
+ };
1937
+ readonly defaultValue: {
1938
+ readonly description: "Initial default value if not overridden by form initialValues";
1939
+ };
1940
+ readonly rules: {
1941
+ readonly type: "array";
1942
+ readonly items: {
1943
+ readonly $ref: "#/definitions/validationRule";
1944
+ };
1945
+ readonly default: readonly [];
1946
+ readonly description: "Validation rules applied to the field value";
1947
+ };
1948
+ readonly validateOn: {
1949
+ readonly type: "string";
1950
+ readonly enum: readonly ["blur", "change", "submit"];
1951
+ readonly default: "blur";
1952
+ readonly description: "Field-specific validation trigger timing";
1953
+ };
1954
+ readonly transform: {
1955
+ readonly type: "string";
1956
+ readonly enum: readonly ["trim", "lowercase", "uppercase", "number"];
1957
+ readonly description: "Value transformation applied prior to validation and state storage";
1958
+ };
1959
+ readonly disabled: {
1960
+ readonly type: "boolean";
1961
+ readonly description: "Whether the field is disabled";
1962
+ };
1963
+ readonly required: {
1964
+ readonly type: "boolean";
1965
+ readonly description: "Whether the field is required (shorthand rule)";
1966
+ };
1967
+ };
1968
+ readonly definitions: {
1969
+ readonly validationRule: {
1970
+ readonly type: "object";
1971
+ readonly required: readonly ["type", "message"];
1972
+ readonly properties: {
1973
+ readonly type: {
1974
+ readonly type: "string";
1975
+ readonly enum: readonly ["required", "email", "url", "min_length", "max_length", "numeric_min", "numeric_max", "pattern", "match_field", "custom_regex"];
1976
+ };
1977
+ readonly value: {};
1978
+ readonly message: {
1979
+ readonly type: "string";
1980
+ readonly minLength: 1;
1981
+ };
1982
+ };
1983
+ readonly additionalProperties: false;
1984
+ };
1985
+ };
1986
+ };
1987
+ export declare function getFormFieldBindingJsonSchema(): {
1988
+ readonly $schema: "http://json-schema.org/draft-07/schema#";
1989
+ readonly $id: "https://schema.stora.page/v1/form-field-binding.json";
1990
+ readonly title: "StoraFormFieldBinding";
1991
+ readonly description: "Form field binding definition connecting input elements to form state runtime";
1992
+ readonly type: "object";
1993
+ readonly required: readonly ["name"];
1994
+ readonly additionalProperties: false;
1995
+ readonly properties: {
1996
+ readonly name: {
1997
+ readonly type: "string";
1998
+ readonly minLength: 1;
1999
+ readonly description: "Field state property key";
2000
+ };
2001
+ readonly label: {
2002
+ readonly type: "string";
2003
+ readonly description: "Display label for the field";
2004
+ };
2005
+ readonly defaultValue: {
2006
+ readonly description: "Initial default value if not overridden by form initialValues";
2007
+ };
2008
+ readonly rules: {
2009
+ readonly type: "array";
2010
+ readonly items: {
2011
+ readonly $ref: "#/definitions/validationRule";
2012
+ };
2013
+ readonly default: readonly [];
2014
+ readonly description: "Validation rules applied to the field value";
2015
+ };
2016
+ readonly validateOn: {
2017
+ readonly type: "string";
2018
+ readonly enum: readonly ["blur", "change", "submit"];
2019
+ readonly default: "blur";
2020
+ readonly description: "Field-specific validation trigger timing";
2021
+ };
2022
+ readonly transform: {
2023
+ readonly type: "string";
2024
+ readonly enum: readonly ["trim", "lowercase", "uppercase", "number"];
2025
+ readonly description: "Value transformation applied prior to validation and state storage";
2026
+ };
2027
+ readonly disabled: {
2028
+ readonly type: "boolean";
2029
+ readonly description: "Whether the field is disabled";
2030
+ };
2031
+ readonly required: {
2032
+ readonly type: "boolean";
2033
+ readonly description: "Whether the field is required (shorthand rule)";
2034
+ };
2035
+ };
2036
+ readonly definitions: {
2037
+ readonly validationRule: {
2038
+ readonly type: "object";
2039
+ readonly required: readonly ["type", "message"];
2040
+ readonly properties: {
2041
+ readonly type: {
2042
+ readonly type: "string";
2043
+ readonly enum: readonly ["required", "email", "url", "min_length", "max_length", "numeric_min", "numeric_max", "pattern", "match_field", "custom_regex"];
2044
+ };
2045
+ readonly value: {};
2046
+ readonly message: {
2047
+ readonly type: "string";
2048
+ readonly minLength: 1;
2049
+ };
2050
+ };
2051
+ readonly additionalProperties: false;
2052
+ };
2053
+ };
2054
+ };
2055
+ type JsonSchemaObject = Record<string, unknown>;
2056
+ /** JSON Schema (Draft-07) of the body POSTed to a tracking relay (`TrackingRelayRequestSchema`). */
2057
+ export declare function getTrackingRelayRequestJsonSchema(): JsonSchemaObject;
2058
+ /** JSON Schema (Draft-07) of the JSON a tracking relay responds with (`TrackingRelayResponseSchema`). */
2059
+ export declare function getTrackingRelayResponseJsonSchema(): JsonSchemaObject;
2060
+ /**
2061
+ * JSON Schema (Draft-07) of host-side provider secrets, keyed by provider. Useful for hosts
2062
+ * validating their secret store. Never embedded in a document.
2063
+ */
2064
+ export declare function getTrackingProviderSecretsJsonSchema(): JsonSchemaObject;
2065
+ export {};
2066
+ //# sourceMappingURL=json-schema.d.cts.map