@asterdoc/schemas 0.0.0-stage → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/LICENSE +25 -0
  2. package/README.md +76 -2
  3. package/dist/index.d.ts +3040 -0
  4. package/dist/index.js +2096 -0
  5. package/package.json +82 -3
  6. package/schemas/2026-10-28/address.json +53 -0
  7. package/schemas/2026-10-28/attachment.json +31 -0
  8. package/schemas/2026-10-28/bbox.json +22 -0
  9. package/schemas/2026-10-28/bundle-content-item.json +122 -0
  10. package/schemas/2026-10-28/bundle.json +267 -0
  11. package/schemas/2026-10-28/checklist-item.json +113 -0
  12. package/schemas/2026-10-28/checklist.json +300 -0
  13. package/schemas/2026-10-28/cond-expr.json +18 -0
  14. package/schemas/2026-10-28/content-ref.json +76 -0
  15. package/schemas/2026-10-28/coordinate.json +26 -0
  16. package/schemas/2026-10-28/defs-section.json +862 -0
  17. package/schemas/2026-10-28/document.json +292 -0
  18. package/schemas/2026-10-28/duration.json +8 -0
  19. package/schemas/2026-10-28/fieldset-field.json +49 -0
  20. package/schemas/2026-10-28/form-annex.json +33 -0
  21. package/schemas/2026-10-28/form-field.json +1037 -0
  22. package/schemas/2026-10-28/form-party.json +150 -0
  23. package/schemas/2026-10-28/form.json +369 -0
  24. package/schemas/2026-10-28/identification.json +44 -0
  25. package/schemas/2026-10-28/layer.json +556 -0
  26. package/schemas/2026-10-28/list-field.json +51 -0
  27. package/schemas/2026-10-28/metadata.json +35 -0
  28. package/schemas/2026-10-28/money.json +25 -0
  29. package/schemas/2026-10-28/organization.json +49 -0
  30. package/schemas/2026-10-28/person.json +49 -0
  31. package/schemas/2026-10-28/phone.json +32 -0
  32. package/schemas/2026-10-28/rule-severity.json +11 -0
  33. package/schemas/2026-10-28/rules-section.json +46 -0
  34. package/schemas/2026-10-28/signature.json +68 -0
  35. package/schemas/2026-10-28/validation-rule.json +34 -0
  36. package/schemas/2026-10-28.json +4636 -0
  37. package/schemas/config.json +174 -0
  38. package/schemas/lock.json +151 -0
  39. package/schemas/manifest.json +184 -0
  40. package/schemas/registry-item.json +488 -0
  41. package/schemas/registry.json +281 -0
  42. package/schemas/schema.json +4636 -0
@@ -0,0 +1,1037 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.asterdoc.com/2026-10-28/form-field.json",
4
+ "description": "Single input/data element, nested fieldset, or recursive list",
5
+ "oneOf": [
6
+ {
7
+ "type": "object",
8
+ "properties": {
9
+ "label": {
10
+ "type": "string",
11
+ "minLength": 1,
12
+ "maxLength": 200,
13
+ "description": "Display label for the field"
14
+ },
15
+ "description": {
16
+ "type": "string",
17
+ "minLength": 1,
18
+ "maxLength": 1000,
19
+ "description": "Description or help text for the field"
20
+ },
21
+ "required": {
22
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
23
+ },
24
+ "visible": {
25
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
26
+ },
27
+ "type": {
28
+ "type": "string",
29
+ "const": "text"
30
+ },
31
+ "minLength": {
32
+ "type": "integer",
33
+ "minimum": 0,
34
+ "maximum": 9007199254740991,
35
+ "description": "Minimum length"
36
+ },
37
+ "maxLength": {
38
+ "type": "integer",
39
+ "minimum": 0,
40
+ "maximum": 9007199254740991,
41
+ "description": "Maximum length"
42
+ },
43
+ "pattern": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 500,
47
+ "description": "Regular expression pattern for validation"
48
+ },
49
+ "default": {
50
+ "type": "string",
51
+ "description": "Default value"
52
+ }
53
+ },
54
+ "required": [
55
+ "type"
56
+ ],
57
+ "additionalProperties": false
58
+ },
59
+ {
60
+ "type": "object",
61
+ "properties": {
62
+ "label": {
63
+ "type": "string",
64
+ "minLength": 1,
65
+ "maxLength": 200,
66
+ "description": "Display label for the field"
67
+ },
68
+ "description": {
69
+ "type": "string",
70
+ "minLength": 1,
71
+ "maxLength": 1000,
72
+ "description": "Description or help text for the field"
73
+ },
74
+ "required": {
75
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
76
+ },
77
+ "visible": {
78
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
79
+ },
80
+ "type": {
81
+ "type": "string",
82
+ "const": "boolean"
83
+ },
84
+ "default": {
85
+ "type": "boolean",
86
+ "description": "Default value"
87
+ }
88
+ },
89
+ "required": [
90
+ "type"
91
+ ],
92
+ "additionalProperties": false
93
+ },
94
+ {
95
+ "type": "object",
96
+ "properties": {
97
+ "label": {
98
+ "type": "string",
99
+ "minLength": 1,
100
+ "maxLength": 200,
101
+ "description": "Display label for the field"
102
+ },
103
+ "description": {
104
+ "type": "string",
105
+ "minLength": 1,
106
+ "maxLength": 1000,
107
+ "description": "Description or help text for the field"
108
+ },
109
+ "required": {
110
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
111
+ },
112
+ "visible": {
113
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
114
+ },
115
+ "type": {
116
+ "type": "string",
117
+ "const": "number"
118
+ },
119
+ "min": {
120
+ "type": "number",
121
+ "description": "Minimum value"
122
+ },
123
+ "max": {
124
+ "type": "number",
125
+ "description": "Maximum value"
126
+ },
127
+ "step": {
128
+ "type": "number",
129
+ "exclusiveMinimum": 0,
130
+ "description": "Allowed increment: a value must be a multiple of step (e.g., 0.01 for cents)"
131
+ },
132
+ "default": {
133
+ "type": "number",
134
+ "description": "Default value"
135
+ }
136
+ },
137
+ "required": [
138
+ "type"
139
+ ],
140
+ "additionalProperties": false
141
+ },
142
+ {
143
+ "type": "object",
144
+ "properties": {
145
+ "label": {
146
+ "type": "string",
147
+ "minLength": 1,
148
+ "maxLength": 200,
149
+ "description": "Display label for the field"
150
+ },
151
+ "description": {
152
+ "type": "string",
153
+ "minLength": 1,
154
+ "maxLength": 1000,
155
+ "description": "Description or help text for the field"
156
+ },
157
+ "required": {
158
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
159
+ },
160
+ "visible": {
161
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
162
+ },
163
+ "type": {
164
+ "type": "string",
165
+ "const": "coordinate"
166
+ },
167
+ "default": {
168
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Coordinate"
169
+ }
170
+ },
171
+ "required": [
172
+ "type"
173
+ ],
174
+ "additionalProperties": false
175
+ },
176
+ {
177
+ "type": "object",
178
+ "properties": {
179
+ "label": {
180
+ "type": "string",
181
+ "minLength": 1,
182
+ "maxLength": 200,
183
+ "description": "Display label for the field"
184
+ },
185
+ "description": {
186
+ "type": "string",
187
+ "minLength": 1,
188
+ "maxLength": 1000,
189
+ "description": "Description or help text for the field"
190
+ },
191
+ "required": {
192
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
193
+ },
194
+ "visible": {
195
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
196
+ },
197
+ "type": {
198
+ "type": "string",
199
+ "const": "bbox"
200
+ },
201
+ "default": {
202
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Bbox"
203
+ }
204
+ },
205
+ "required": [
206
+ "type"
207
+ ],
208
+ "additionalProperties": false
209
+ },
210
+ {
211
+ "type": "object",
212
+ "properties": {
213
+ "label": {
214
+ "type": "string",
215
+ "minLength": 1,
216
+ "maxLength": 200,
217
+ "description": "Display label for the field"
218
+ },
219
+ "description": {
220
+ "type": "string",
221
+ "minLength": 1,
222
+ "maxLength": 1000,
223
+ "description": "Description or help text for the field"
224
+ },
225
+ "required": {
226
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
227
+ },
228
+ "visible": {
229
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
230
+ },
231
+ "type": {
232
+ "type": "string",
233
+ "const": "money"
234
+ },
235
+ "min": {
236
+ "type": "number",
237
+ "description": "Minimum amount"
238
+ },
239
+ "max": {
240
+ "type": "number",
241
+ "description": "Maximum amount"
242
+ },
243
+ "currency": {
244
+ "type": "string",
245
+ "minLength": 3,
246
+ "maxLength": 3,
247
+ "pattern": "^[A-Z]{3}$",
248
+ "description": "ISO 4217 alpha-3 currency code a value must use (e.g., USD). Omit to accept any currency"
249
+ },
250
+ "default": {
251
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Money"
252
+ }
253
+ },
254
+ "required": [
255
+ "type"
256
+ ],
257
+ "additionalProperties": false
258
+ },
259
+ {
260
+ "type": "object",
261
+ "properties": {
262
+ "label": {
263
+ "type": "string",
264
+ "minLength": 1,
265
+ "maxLength": 200,
266
+ "description": "Display label for the field"
267
+ },
268
+ "description": {
269
+ "type": "string",
270
+ "minLength": 1,
271
+ "maxLength": 1000,
272
+ "description": "Description or help text for the field"
273
+ },
274
+ "required": {
275
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
276
+ },
277
+ "visible": {
278
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
279
+ },
280
+ "type": {
281
+ "type": "string",
282
+ "const": "address"
283
+ },
284
+ "default": {
285
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Address"
286
+ }
287
+ },
288
+ "required": [
289
+ "type"
290
+ ],
291
+ "additionalProperties": false
292
+ },
293
+ {
294
+ "type": "object",
295
+ "properties": {
296
+ "label": {
297
+ "type": "string",
298
+ "minLength": 1,
299
+ "maxLength": 200,
300
+ "description": "Display label for the field"
301
+ },
302
+ "description": {
303
+ "type": "string",
304
+ "minLength": 1,
305
+ "maxLength": 1000,
306
+ "description": "Description or help text for the field"
307
+ },
308
+ "required": {
309
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
310
+ },
311
+ "visible": {
312
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
313
+ },
314
+ "type": {
315
+ "type": "string",
316
+ "const": "phone"
317
+ },
318
+ "default": {
319
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Phone"
320
+ }
321
+ },
322
+ "required": [
323
+ "type"
324
+ ],
325
+ "additionalProperties": false
326
+ },
327
+ {
328
+ "type": "object",
329
+ "properties": {
330
+ "label": {
331
+ "type": "string",
332
+ "minLength": 1,
333
+ "maxLength": 200,
334
+ "description": "Display label for the field"
335
+ },
336
+ "description": {
337
+ "type": "string",
338
+ "minLength": 1,
339
+ "maxLength": 1000,
340
+ "description": "Description or help text for the field"
341
+ },
342
+ "required": {
343
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
344
+ },
345
+ "visible": {
346
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
347
+ },
348
+ "type": {
349
+ "type": "string",
350
+ "const": "duration"
351
+ },
352
+ "default": {
353
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Duration"
354
+ }
355
+ },
356
+ "required": [
357
+ "type"
358
+ ],
359
+ "additionalProperties": false
360
+ },
361
+ {
362
+ "type": "object",
363
+ "properties": {
364
+ "label": {
365
+ "type": "string",
366
+ "minLength": 1,
367
+ "maxLength": 200,
368
+ "description": "Display label for the field"
369
+ },
370
+ "description": {
371
+ "type": "string",
372
+ "minLength": 1,
373
+ "maxLength": 1000,
374
+ "description": "Description or help text for the field"
375
+ },
376
+ "required": {
377
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
378
+ },
379
+ "visible": {
380
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
381
+ },
382
+ "type": {
383
+ "type": "string",
384
+ "const": "email"
385
+ },
386
+ "minLength": {
387
+ "type": "integer",
388
+ "minimum": 0,
389
+ "maximum": 9007199254740991,
390
+ "description": "Minimum length"
391
+ },
392
+ "maxLength": {
393
+ "type": "integer",
394
+ "minimum": 0,
395
+ "maximum": 9007199254740991,
396
+ "description": "Maximum length"
397
+ },
398
+ "default": {
399
+ "type": "string",
400
+ "description": "Default value"
401
+ }
402
+ },
403
+ "required": [
404
+ "type"
405
+ ],
406
+ "additionalProperties": false
407
+ },
408
+ {
409
+ "type": "object",
410
+ "properties": {
411
+ "label": {
412
+ "type": "string",
413
+ "minLength": 1,
414
+ "maxLength": 200,
415
+ "description": "Display label for the field"
416
+ },
417
+ "description": {
418
+ "type": "string",
419
+ "minLength": 1,
420
+ "maxLength": 1000,
421
+ "description": "Description or help text for the field"
422
+ },
423
+ "required": {
424
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
425
+ },
426
+ "visible": {
427
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
428
+ },
429
+ "type": {
430
+ "type": "string",
431
+ "const": "uuid"
432
+ },
433
+ "minLength": {
434
+ "type": "integer",
435
+ "minimum": 0,
436
+ "maximum": 9007199254740991,
437
+ "description": "Minimum length"
438
+ },
439
+ "maxLength": {
440
+ "type": "integer",
441
+ "minimum": 0,
442
+ "maximum": 9007199254740991,
443
+ "description": "Maximum length"
444
+ },
445
+ "pattern": {
446
+ "type": "string",
447
+ "minLength": 1,
448
+ "maxLength": 500,
449
+ "description": "Regular expression pattern for validation"
450
+ },
451
+ "default": {
452
+ "type": "string",
453
+ "description": "Default value"
454
+ }
455
+ },
456
+ "required": [
457
+ "type"
458
+ ],
459
+ "additionalProperties": false
460
+ },
461
+ {
462
+ "type": "object",
463
+ "properties": {
464
+ "label": {
465
+ "type": "string",
466
+ "minLength": 1,
467
+ "maxLength": 200,
468
+ "description": "Display label for the field"
469
+ },
470
+ "description": {
471
+ "type": "string",
472
+ "minLength": 1,
473
+ "maxLength": 1000,
474
+ "description": "Description or help text for the field"
475
+ },
476
+ "required": {
477
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
478
+ },
479
+ "visible": {
480
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
481
+ },
482
+ "type": {
483
+ "type": "string",
484
+ "const": "uri"
485
+ },
486
+ "minLength": {
487
+ "type": "integer",
488
+ "minimum": 0,
489
+ "maximum": 9007199254740991,
490
+ "description": "Minimum length"
491
+ },
492
+ "maxLength": {
493
+ "type": "integer",
494
+ "minimum": 0,
495
+ "maximum": 9007199254740991,
496
+ "description": "Maximum length"
497
+ },
498
+ "pattern": {
499
+ "type": "string",
500
+ "minLength": 1,
501
+ "maxLength": 500,
502
+ "description": "Regular expression pattern for validation"
503
+ },
504
+ "default": {
505
+ "type": "string",
506
+ "description": "Default value"
507
+ }
508
+ },
509
+ "required": [
510
+ "type"
511
+ ],
512
+ "additionalProperties": false
513
+ },
514
+ {
515
+ "type": "object",
516
+ "properties": {
517
+ "label": {
518
+ "type": "string",
519
+ "minLength": 1,
520
+ "maxLength": 200,
521
+ "description": "Display label for the field"
522
+ },
523
+ "description": {
524
+ "type": "string",
525
+ "minLength": 1,
526
+ "maxLength": 1000,
527
+ "description": "Description or help text for the field"
528
+ },
529
+ "required": {
530
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
531
+ },
532
+ "visible": {
533
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
534
+ },
535
+ "type": {
536
+ "type": "string",
537
+ "const": "enum"
538
+ },
539
+ "enum": {
540
+ "minItems": 1,
541
+ "type": "array",
542
+ "items": {
543
+ "type": "object",
544
+ "properties": {
545
+ "value": {
546
+ "description": "Internal option value",
547
+ "type": [
548
+ "string",
549
+ "number"
550
+ ]
551
+ },
552
+ "label": {
553
+ "type": "string",
554
+ "minLength": 1,
555
+ "maxLength": 200,
556
+ "description": "Human-readable label for the option in the artifact source language"
557
+ }
558
+ },
559
+ "required": [
560
+ "value"
561
+ ],
562
+ "additionalProperties": false
563
+ },
564
+ "description": "Array of allowed options for the enum field"
565
+ },
566
+ "default": {
567
+ "description": "Default value",
568
+ "type": [
569
+ "string",
570
+ "number"
571
+ ]
572
+ }
573
+ },
574
+ "required": [
575
+ "type",
576
+ "enum"
577
+ ],
578
+ "additionalProperties": false
579
+ },
580
+ {
581
+ "type": "object",
582
+ "properties": {
583
+ "label": {
584
+ "type": "string",
585
+ "minLength": 1,
586
+ "maxLength": 200,
587
+ "description": "Display label for the field"
588
+ },
589
+ "description": {
590
+ "type": "string",
591
+ "minLength": 1,
592
+ "maxLength": 1000,
593
+ "description": "Description or help text for the field"
594
+ },
595
+ "required": {
596
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
597
+ },
598
+ "visible": {
599
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
600
+ },
601
+ "type": {
602
+ "type": "string",
603
+ "const": "date"
604
+ },
605
+ "min": {
606
+ "type": "string",
607
+ "format": "date",
608
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
609
+ "description": "Minimum date (ISO 8601: YYYY-MM-DD)"
610
+ },
611
+ "max": {
612
+ "type": "string",
613
+ "format": "date",
614
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
615
+ "description": "Maximum date (ISO 8601: YYYY-MM-DD)"
616
+ },
617
+ "default": {
618
+ "type": "string",
619
+ "format": "date",
620
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
621
+ "description": "Default value"
622
+ }
623
+ },
624
+ "required": [
625
+ "type"
626
+ ],
627
+ "additionalProperties": false
628
+ },
629
+ {
630
+ "type": "object",
631
+ "properties": {
632
+ "label": {
633
+ "type": "string",
634
+ "minLength": 1,
635
+ "maxLength": 200,
636
+ "description": "Display label for the field"
637
+ },
638
+ "description": {
639
+ "type": "string",
640
+ "minLength": 1,
641
+ "maxLength": 1000,
642
+ "description": "Description or help text for the field"
643
+ },
644
+ "required": {
645
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
646
+ },
647
+ "visible": {
648
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
649
+ },
650
+ "type": {
651
+ "type": "string",
652
+ "const": "datetime"
653
+ },
654
+ "min": {
655
+ "type": "string",
656
+ "allOf": [
657
+ {
658
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
659
+ },
660
+ {
661
+ "pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$"
662
+ }
663
+ ],
664
+ "description": "Minimum datetime (ISO 8601 with Z or ±HH:MM timezone)"
665
+ },
666
+ "max": {
667
+ "type": "string",
668
+ "allOf": [
669
+ {
670
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
671
+ },
672
+ {
673
+ "pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$"
674
+ }
675
+ ],
676
+ "description": "Maximum datetime (ISO 8601 with Z or ±HH:MM timezone)"
677
+ },
678
+ "default": {
679
+ "type": "string",
680
+ "allOf": [
681
+ {
682
+ "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
683
+ },
684
+ {
685
+ "pattern": "^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|[+-](?:[01]\\d|2[0-3]):[0-5]\\d)$"
686
+ }
687
+ ],
688
+ "description": "Default value"
689
+ }
690
+ },
691
+ "required": [
692
+ "type"
693
+ ],
694
+ "additionalProperties": false
695
+ },
696
+ {
697
+ "type": "object",
698
+ "properties": {
699
+ "label": {
700
+ "type": "string",
701
+ "minLength": 1,
702
+ "maxLength": 200,
703
+ "description": "Display label for the field"
704
+ },
705
+ "description": {
706
+ "type": "string",
707
+ "minLength": 1,
708
+ "maxLength": 1000,
709
+ "description": "Description or help text for the field"
710
+ },
711
+ "required": {
712
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
713
+ },
714
+ "visible": {
715
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
716
+ },
717
+ "type": {
718
+ "type": "string",
719
+ "const": "time"
720
+ },
721
+ "min": {
722
+ "type": "string",
723
+ "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?$",
724
+ "description": "Minimum time (HH:MM:SS[.fff])"
725
+ },
726
+ "max": {
727
+ "type": "string",
728
+ "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?$",
729
+ "description": "Maximum time (HH:MM:SS[.fff])"
730
+ },
731
+ "default": {
732
+ "type": "string",
733
+ "pattern": "^(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?$",
734
+ "description": "Default value"
735
+ }
736
+ },
737
+ "required": [
738
+ "type"
739
+ ],
740
+ "additionalProperties": false
741
+ },
742
+ {
743
+ "type": "object",
744
+ "properties": {
745
+ "label": {
746
+ "type": "string",
747
+ "minLength": 1,
748
+ "maxLength": 200,
749
+ "description": "Display label for the field"
750
+ },
751
+ "description": {
752
+ "type": "string",
753
+ "minLength": 1,
754
+ "maxLength": 1000,
755
+ "description": "Description or help text for the field"
756
+ },
757
+ "required": {
758
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
759
+ },
760
+ "visible": {
761
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
762
+ },
763
+ "type": {
764
+ "type": "string",
765
+ "const": "person"
766
+ },
767
+ "default": {
768
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Person"
769
+ }
770
+ },
771
+ "required": [
772
+ "type"
773
+ ],
774
+ "additionalProperties": false
775
+ },
776
+ {
777
+ "type": "object",
778
+ "properties": {
779
+ "label": {
780
+ "type": "string",
781
+ "minLength": 1,
782
+ "maxLength": 200,
783
+ "description": "Display label for the field"
784
+ },
785
+ "description": {
786
+ "type": "string",
787
+ "minLength": 1,
788
+ "maxLength": 1000,
789
+ "description": "Description or help text for the field"
790
+ },
791
+ "required": {
792
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
793
+ },
794
+ "visible": {
795
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
796
+ },
797
+ "type": {
798
+ "type": "string",
799
+ "const": "organization"
800
+ },
801
+ "default": {
802
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Organization"
803
+ }
804
+ },
805
+ "required": [
806
+ "type"
807
+ ],
808
+ "additionalProperties": false
809
+ },
810
+ {
811
+ "type": "object",
812
+ "properties": {
813
+ "label": {
814
+ "type": "string",
815
+ "minLength": 1,
816
+ "maxLength": 200,
817
+ "description": "Display label for the field"
818
+ },
819
+ "description": {
820
+ "type": "string",
821
+ "minLength": 1,
822
+ "maxLength": 1000,
823
+ "description": "Description or help text for the field"
824
+ },
825
+ "required": {
826
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
827
+ },
828
+ "visible": {
829
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
830
+ },
831
+ "type": {
832
+ "type": "string",
833
+ "const": "identification"
834
+ },
835
+ "allowedTypes": {
836
+ "type": "array",
837
+ "items": {
838
+ "type": "string"
839
+ },
840
+ "description": "Allowed ID types (e.g., passport, drivers_license)"
841
+ },
842
+ "default": {
843
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Identification"
844
+ }
845
+ },
846
+ "required": [
847
+ "type"
848
+ ],
849
+ "additionalProperties": false
850
+ },
851
+ {
852
+ "type": "object",
853
+ "properties": {
854
+ "label": {
855
+ "type": "string",
856
+ "minLength": 1,
857
+ "maxLength": 200,
858
+ "description": "Display label for the field"
859
+ },
860
+ "description": {
861
+ "type": "string",
862
+ "minLength": 1,
863
+ "maxLength": 1000,
864
+ "description": "Description or help text for the field"
865
+ },
866
+ "required": {
867
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
868
+ },
869
+ "visible": {
870
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
871
+ },
872
+ "type": {
873
+ "type": "string",
874
+ "const": "multiselect"
875
+ },
876
+ "enum": {
877
+ "minItems": 1,
878
+ "type": "array",
879
+ "items": {
880
+ "type": "object",
881
+ "properties": {
882
+ "value": {
883
+ "description": "Internal option value",
884
+ "type": [
885
+ "string",
886
+ "number"
887
+ ]
888
+ },
889
+ "label": {
890
+ "type": "string",
891
+ "minLength": 1,
892
+ "maxLength": 200,
893
+ "description": "Human-readable label for the option in the artifact source language"
894
+ }
895
+ },
896
+ "required": [
897
+ "value"
898
+ ],
899
+ "additionalProperties": false
900
+ },
901
+ "description": "Available options"
902
+ },
903
+ "min": {
904
+ "type": "integer",
905
+ "minimum": 0,
906
+ "maximum": 9007199254740991,
907
+ "description": "Minimum selections required"
908
+ },
909
+ "max": {
910
+ "type": "integer",
911
+ "minimum": 0,
912
+ "maximum": 9007199254740991,
913
+ "description": "Maximum selections allowed"
914
+ },
915
+ "default": {
916
+ "type": "array",
917
+ "items": {
918
+ "type": [
919
+ "string",
920
+ "number"
921
+ ]
922
+ },
923
+ "description": "Default selected values"
924
+ }
925
+ },
926
+ "required": [
927
+ "type",
928
+ "enum"
929
+ ],
930
+ "additionalProperties": false
931
+ },
932
+ {
933
+ "type": "object",
934
+ "properties": {
935
+ "label": {
936
+ "type": "string",
937
+ "minLength": 1,
938
+ "maxLength": 200,
939
+ "description": "Display label for the field"
940
+ },
941
+ "description": {
942
+ "type": "string",
943
+ "minLength": 1,
944
+ "maxLength": 1000,
945
+ "description": "Description or help text for the field"
946
+ },
947
+ "required": {
948
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
949
+ },
950
+ "visible": {
951
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
952
+ },
953
+ "type": {
954
+ "type": "string",
955
+ "const": "percentage"
956
+ },
957
+ "min": {
958
+ "type": "number",
959
+ "description": "Minimum value (default: 0)"
960
+ },
961
+ "max": {
962
+ "type": "number",
963
+ "description": "Maximum value (default: 100)"
964
+ },
965
+ "precision": {
966
+ "type": "integer",
967
+ "minimum": 0,
968
+ "maximum": 9007199254740991,
969
+ "description": "Decimal places (default: 2)"
970
+ },
971
+ "default": {
972
+ "type": "number",
973
+ "description": "Default value"
974
+ }
975
+ },
976
+ "required": [
977
+ "type"
978
+ ],
979
+ "additionalProperties": false
980
+ },
981
+ {
982
+ "type": "object",
983
+ "properties": {
984
+ "label": {
985
+ "type": "string",
986
+ "minLength": 1,
987
+ "maxLength": 200,
988
+ "description": "Display label for the field"
989
+ },
990
+ "description": {
991
+ "type": "string",
992
+ "minLength": 1,
993
+ "maxLength": 1000,
994
+ "description": "Description or help text for the field"
995
+ },
996
+ "required": {
997
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
998
+ },
999
+ "visible": {
1000
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/CondExpr"
1001
+ },
1002
+ "type": {
1003
+ "type": "string",
1004
+ "const": "rating"
1005
+ },
1006
+ "min": {
1007
+ "type": "number",
1008
+ "description": "Minimum value (default: 1)"
1009
+ },
1010
+ "max": {
1011
+ "type": "number",
1012
+ "description": "Maximum value (default: 5)"
1013
+ },
1014
+ "step": {
1015
+ "type": "number",
1016
+ "exclusiveMinimum": 0,
1017
+ "description": "Increment step (e.g., 0.5 for half stars, default: 1)"
1018
+ },
1019
+ "default": {
1020
+ "type": "number",
1021
+ "description": "Default value"
1022
+ }
1023
+ },
1024
+ "required": [
1025
+ "type"
1026
+ ],
1027
+ "additionalProperties": false
1028
+ },
1029
+ {
1030
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/FieldsetField"
1031
+ },
1032
+ {
1033
+ "$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/ListField"
1034
+ }
1035
+ ],
1036
+ "title": "FormField"
1037
+ }