@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,3040 @@
1
+ import * as _asterdoc_types from '@asterdoc/types';
2
+ import { FieldsetField, FormField, ListField, Bundle, ArtifactEdition } from '@asterdoc/types';
3
+ import { z } from 'zod';
4
+
5
+ /**
6
+ * Schema version identity.
7
+ *
8
+ * Each version of the artifact schema is identified by a date and published
9
+ * at a dated address, such as `https://schema.asterdoc.com/2026-10-28.json`.
10
+ * A new dated version is created only for a breaking change, and each one
11
+ * ships with a migration step from the version before it. The current version
12
+ * is the latest entry in `SCHEMA_VERSIONS`.
13
+ */
14
+ /** Every published schema version, oldest first. The last entry is current. */
15
+ declare const SCHEMA_VERSIONS: readonly ["2026-10-28"];
16
+ /** A published, dated schema version. */
17
+ type SchemaVersion = (typeof SCHEMA_VERSIONS)[number];
18
+ /** The current schema version: the latest dated version. */
19
+ declare const SCHEMA_VERSION: "2026-10-28";
20
+ declare const SCHEMA_BASE = "https://schema.asterdoc.com";
21
+ /** Stable schema addresses used by CLI-owned configuration files. */
22
+ declare const MANIFEST_SCHEMA_ID = "https://schema.asterdoc.com/manifest.json";
23
+ declare const CONFIG_SCHEMA_ID = "https://schema.asterdoc.com/config.json";
24
+ declare const LOCK_SCHEMA_ID = "https://schema.asterdoc.com/lock.json";
25
+ declare const REGISTRY_SCHEMA_ID = "https://schema.asterdoc.com/registry.json";
26
+ declare const REGISTRY_ITEM_SCHEMA_ID = "https://schema.asterdoc.com/registry-item.json";
27
+ /** Undated address of the latest bundle, kept for editors that follow it. */
28
+ declare const SCHEMA_ROOT_ID = "https://schema.asterdoc.com/schema.json";
29
+ /** Dated address of the current version's bundle. */
30
+ declare const SCHEMA_VERSIONED_ID: string;
31
+ declare const schemaId: (name: string) => string;
32
+ /** The dated address of one schema version's bundle. */
33
+ declare function schemaVersionUrl(version: SchemaVersion): string;
34
+ /** Whether a string names a published schema version. */
35
+ declare function isSchemaVersion(value: string): value is SchemaVersion;
36
+ /**
37
+ * What an artifact's `$schema` address says about its schema version.
38
+ *
39
+ * - `known`: a dated Asterdoc address of a published version.
40
+ * - `undated`: an Asterdoc address that names no version, such as `schema.json`.
41
+ * - `unknown-version`: a dated Asterdoc address of a version that was never published.
42
+ * - `foreign`: an address that is not an Asterdoc schema address.
43
+ */
44
+ type SchemaAddress = {
45
+ readonly kind: 'known';
46
+ readonly version: SchemaVersion;
47
+ } | {
48
+ readonly kind: 'undated';
49
+ } | {
50
+ readonly kind: 'unknown-version';
51
+ readonly version: string;
52
+ } | {
53
+ readonly kind: 'foreign';
54
+ };
55
+ /**
56
+ * Read the schema version an artifact's `$schema` address names.
57
+ *
58
+ * Both the dated bundle (`<base>/2026-10-28.json`) and a dated individual
59
+ * schema (`<base>/2026-10-28/form.json`) name that version.
60
+ */
61
+ declare function readSchemaAddress(address: string): SchemaAddress;
62
+
63
+ declare const FieldsetFieldSchema: z.ZodType<FieldsetField>;
64
+ declare const ListFieldSchema: z.ZodType<ListField>;
65
+ declare const FormFieldSchema: z.ZodType<FormField>;
66
+ /** Every field `type` the schema accepts, derived from the field union itself. */
67
+ declare const FORM_FIELD_TYPES: ("number" | "boolean" | "date" | "enum" | "text" | "money" | "email" | "uuid" | "datetime" | "time" | "duration" | "percentage" | "rating" | "address" | "phone" | "coordinate" | "bbox" | "person" | "organization" | "identification" | "uri" | "multiselect" | "fieldset" | "list")[];
68
+ type FormFieldType = (typeof FORM_FIELD_TYPES)[number];
69
+
70
+ declare const FormAnnexSchema: z.ZodObject<{
71
+ title: z.ZodOptional<z.ZodString>;
72
+ description: z.ZodOptional<z.ZodString>;
73
+ required: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
74
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
75
+ order: z.ZodOptional<z.ZodNumber>;
76
+ }, z.core.$strict>;
77
+
78
+ /**
79
+ * Design-time party role definition.
80
+ * Defines what roles exist and what constraints apply when filling a form.
81
+ */
82
+ declare const FormPartySchema: z.ZodObject<{
83
+ label: z.ZodString;
84
+ description: z.ZodOptional<z.ZodString>;
85
+ partyType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"person">, z.ZodLiteral<"organization">, z.ZodLiteral<"any">]>>;
86
+ min: z.ZodOptional<z.ZodNumber>;
87
+ max: z.ZodOptional<z.ZodNumber>;
88
+ required: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
89
+ signature: z.ZodOptional<z.ZodObject<{
90
+ required: z.ZodOptional<z.ZodBoolean>;
91
+ witnesses: z.ZodOptional<z.ZodNumber>;
92
+ notarized: z.ZodOptional<z.ZodBoolean>;
93
+ }, z.core.$strict>>;
94
+ payment: z.ZodOptional<z.ZodObject<{
95
+ required: z.ZodOptional<z.ZodBoolean>;
96
+ amount: z.ZodUnion<readonly [z.ZodObject<{
97
+ amount: z.ZodNumber;
98
+ currency: z.ZodString;
99
+ }, z.core.$strict>, z.ZodObject<{
100
+ label: z.ZodOptional<z.ZodString>;
101
+ description: z.ZodOptional<z.ZodString>;
102
+ type: z.ZodLiteral<"money">;
103
+ value: z.ZodObject<{
104
+ amount: z.ZodString;
105
+ currency: z.ZodString;
106
+ }, z.core.$strict>;
107
+ }, z.core.$strict>]>;
108
+ }, z.core.$strict>>;
109
+ }, z.core.$strict>;
110
+
111
+ declare const FormSchema: z.ZodObject<{
112
+ $schema: z.ZodOptional<z.ZodURL>;
113
+ name: z.ZodString;
114
+ version: z.ZodOptional<z.ZodString>;
115
+ title: z.ZodOptional<z.ZodString>;
116
+ description: z.ZodOptional<z.ZodString>;
117
+ code: z.ZodOptional<z.ZodString>;
118
+ issuer: z.ZodOptional<z.ZodString>;
119
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
120
+ language: z.ZodOptional<z.ZodString>;
121
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
122
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
123
+ kind: z.ZodLiteral<"inline">;
124
+ text: z.ZodString;
125
+ }, z.core.$strict>, z.ZodObject<{
126
+ kind: z.ZodLiteral<"file">;
127
+ path: z.ZodString;
128
+ mimeType: z.ZodString;
129
+ title: z.ZodOptional<z.ZodString>;
130
+ description: z.ZodOptional<z.ZodString>;
131
+ checksum: z.ZodOptional<z.ZodString>;
132
+ }, z.core.$strict>], "kind">>;
133
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
134
+ kind: z.ZodLiteral<"inline">;
135
+ text: z.ZodString;
136
+ }, z.core.$strict>, z.ZodObject<{
137
+ kind: z.ZodLiteral<"file">;
138
+ path: z.ZodString;
139
+ mimeType: z.ZodString;
140
+ title: z.ZodOptional<z.ZodString>;
141
+ description: z.ZodOptional<z.ZodString>;
142
+ checksum: z.ZodOptional<z.ZodString>;
143
+ }, z.core.$strict>], "kind">>;
144
+ kind: z.ZodLiteral<"form">;
145
+ defs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
146
+ label: z.ZodOptional<z.ZodString>;
147
+ description: z.ZodOptional<z.ZodString>;
148
+ type: z.ZodLiteral<"boolean">;
149
+ value: z.ZodString;
150
+ }, z.core.$strict>, z.ZodObject<{
151
+ label: z.ZodOptional<z.ZodString>;
152
+ description: z.ZodOptional<z.ZodString>;
153
+ type: z.ZodLiteral<"string">;
154
+ value: z.ZodString;
155
+ }, z.core.$strict>, z.ZodObject<{
156
+ label: z.ZodOptional<z.ZodString>;
157
+ description: z.ZodOptional<z.ZodString>;
158
+ type: z.ZodLiteral<"number">;
159
+ value: z.ZodString;
160
+ }, z.core.$strict>, z.ZodObject<{
161
+ label: z.ZodOptional<z.ZodString>;
162
+ description: z.ZodOptional<z.ZodString>;
163
+ type: z.ZodLiteral<"integer">;
164
+ value: z.ZodString;
165
+ }, z.core.$strict>, z.ZodObject<{
166
+ label: z.ZodOptional<z.ZodString>;
167
+ description: z.ZodOptional<z.ZodString>;
168
+ type: z.ZodLiteral<"percentage">;
169
+ value: z.ZodString;
170
+ }, z.core.$strict>, z.ZodObject<{
171
+ label: z.ZodOptional<z.ZodString>;
172
+ description: z.ZodOptional<z.ZodString>;
173
+ type: z.ZodLiteral<"rating">;
174
+ value: z.ZodString;
175
+ }, z.core.$strict>, z.ZodObject<{
176
+ label: z.ZodOptional<z.ZodString>;
177
+ description: z.ZodOptional<z.ZodString>;
178
+ type: z.ZodLiteral<"date">;
179
+ value: z.ZodString;
180
+ }, z.core.$strict>, z.ZodObject<{
181
+ label: z.ZodOptional<z.ZodString>;
182
+ description: z.ZodOptional<z.ZodString>;
183
+ type: z.ZodLiteral<"time">;
184
+ value: z.ZodString;
185
+ }, z.core.$strict>, z.ZodObject<{
186
+ label: z.ZodOptional<z.ZodString>;
187
+ description: z.ZodOptional<z.ZodString>;
188
+ type: z.ZodLiteral<"datetime">;
189
+ value: z.ZodString;
190
+ }, z.core.$strict>, z.ZodObject<{
191
+ label: z.ZodOptional<z.ZodString>;
192
+ description: z.ZodOptional<z.ZodString>;
193
+ type: z.ZodLiteral<"duration">;
194
+ value: z.ZodString;
195
+ }, z.core.$strict>, z.ZodObject<{
196
+ label: z.ZodOptional<z.ZodString>;
197
+ description: z.ZodOptional<z.ZodString>;
198
+ type: z.ZodLiteral<"money">;
199
+ value: z.ZodObject<{
200
+ amount: z.ZodString;
201
+ currency: z.ZodString;
202
+ }, z.core.$strict>;
203
+ }, z.core.$strict>, z.ZodObject<{
204
+ label: z.ZodOptional<z.ZodString>;
205
+ description: z.ZodOptional<z.ZodString>;
206
+ type: z.ZodLiteral<"address">;
207
+ value: z.ZodObject<{
208
+ line1: z.ZodString;
209
+ line2: z.ZodOptional<z.ZodString>;
210
+ locality: z.ZodString;
211
+ region: z.ZodString;
212
+ postalCode: z.ZodString;
213
+ country: z.ZodString;
214
+ }, z.core.$strict>;
215
+ }, z.core.$strict>, z.ZodObject<{
216
+ label: z.ZodOptional<z.ZodString>;
217
+ description: z.ZodOptional<z.ZodString>;
218
+ type: z.ZodLiteral<"phone">;
219
+ value: z.ZodObject<{
220
+ number: z.ZodString;
221
+ type: z.ZodOptional<z.ZodString>;
222
+ extension: z.ZodOptional<z.ZodString>;
223
+ }, z.core.$strict>;
224
+ }, z.core.$strict>, z.ZodObject<{
225
+ label: z.ZodOptional<z.ZodString>;
226
+ description: z.ZodOptional<z.ZodString>;
227
+ type: z.ZodLiteral<"coordinate">;
228
+ value: z.ZodObject<{
229
+ lat: z.ZodString;
230
+ lon: z.ZodString;
231
+ }, z.core.$strict>;
232
+ }, z.core.$strict>, z.ZodObject<{
233
+ label: z.ZodOptional<z.ZodString>;
234
+ description: z.ZodOptional<z.ZodString>;
235
+ type: z.ZodLiteral<"bbox">;
236
+ value: z.ZodObject<{
237
+ southWest: z.ZodObject<{
238
+ lat: z.ZodString;
239
+ lon: z.ZodString;
240
+ }, z.core.$strict>;
241
+ northEast: z.ZodObject<{
242
+ lat: z.ZodString;
243
+ lon: z.ZodString;
244
+ }, z.core.$strict>;
245
+ }, z.core.$strict>;
246
+ }, z.core.$strict>, z.ZodObject<{
247
+ label: z.ZodOptional<z.ZodString>;
248
+ description: z.ZodOptional<z.ZodString>;
249
+ type: z.ZodLiteral<"person">;
250
+ value: z.ZodObject<{
251
+ name: z.ZodString;
252
+ title: z.ZodOptional<z.ZodString>;
253
+ firstName: z.ZodOptional<z.ZodString>;
254
+ middleName: z.ZodOptional<z.ZodString>;
255
+ lastName: z.ZodOptional<z.ZodString>;
256
+ suffix: z.ZodOptional<z.ZodString>;
257
+ }, z.core.$strict>;
258
+ }, z.core.$strict>, z.ZodObject<{
259
+ label: z.ZodOptional<z.ZodString>;
260
+ description: z.ZodOptional<z.ZodString>;
261
+ type: z.ZodLiteral<"organization">;
262
+ value: z.ZodObject<{
263
+ name: z.ZodString;
264
+ legalName: z.ZodOptional<z.ZodString>;
265
+ domicile: z.ZodOptional<z.ZodString>;
266
+ entityType: z.ZodOptional<z.ZodString>;
267
+ entityId: z.ZodOptional<z.ZodString>;
268
+ taxId: z.ZodOptional<z.ZodString>;
269
+ }, z.core.$strict>;
270
+ }, z.core.$strict>, z.ZodObject<{
271
+ label: z.ZodOptional<z.ZodString>;
272
+ description: z.ZodOptional<z.ZodString>;
273
+ type: z.ZodLiteral<"identification">;
274
+ value: z.ZodObject<{
275
+ type: z.ZodString;
276
+ number: z.ZodString;
277
+ issuer: z.ZodOptional<z.ZodString>;
278
+ issueDate: z.ZodOptional<z.ZodString>;
279
+ expiryDate: z.ZodOptional<z.ZodString>;
280
+ }, z.core.$strict>;
281
+ }, z.core.$strict>], "type">>>;
282
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
283
+ expr: z.ZodString;
284
+ message: z.ZodString;
285
+ severity: z.ZodOptional<z.ZodEnum<{
286
+ error: "error";
287
+ warning: "warning";
288
+ }>>;
289
+ }, z.core.$strict>>>;
290
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<_asterdoc_types.FormField, unknown, z.core.$ZodTypeInternals<_asterdoc_types.FormField, unknown>>>>;
291
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
292
+ title: z.ZodOptional<z.ZodString>;
293
+ description: z.ZodOptional<z.ZodString>;
294
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
295
+ party: z.ZodObject<{
296
+ role: z.ZodString;
297
+ index: z.ZodOptional<z.ZodNumber>;
298
+ }, z.core.$strict>;
299
+ type: z.ZodEnum<{
300
+ signature: "signature";
301
+ initials: "initials";
302
+ date_signed: "date_signed";
303
+ capacity: "capacity";
304
+ printed_name: "printed_name";
305
+ }>;
306
+ required: z.ZodOptional<z.ZodBoolean>;
307
+ label: z.ZodOptional<z.ZodString>;
308
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
309
+ page: z.ZodNumber;
310
+ x: z.ZodNumber;
311
+ y: z.ZodNumber;
312
+ width: z.ZodNumber;
313
+ height: z.ZodNumber;
314
+ }, z.core.$strict>, z.ZodObject<{
315
+ anchor: z.ZodObject<{
316
+ text: z.ZodString;
317
+ offsetX: z.ZodOptional<z.ZodNumber>;
318
+ offsetY: z.ZodOptional<z.ZodNumber>;
319
+ occurrence: z.ZodOptional<z.ZodNumber>;
320
+ }, z.core.$strict>;
321
+ width: z.ZodNumber;
322
+ height: z.ZodNumber;
323
+ }, z.core.$strict>]>;
324
+ }, z.core.$strict>>>;
325
+ kind: z.ZodLiteral<"inline">;
326
+ mimeType: z.ZodString;
327
+ text: z.ZodString;
328
+ }, z.core.$strict>, z.ZodObject<{
329
+ mimeType: z.ZodString;
330
+ title: z.ZodOptional<z.ZodString>;
331
+ description: z.ZodOptional<z.ZodString>;
332
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
333
+ party: z.ZodObject<{
334
+ role: z.ZodString;
335
+ index: z.ZodOptional<z.ZodNumber>;
336
+ }, z.core.$strict>;
337
+ type: z.ZodEnum<{
338
+ signature: "signature";
339
+ initials: "initials";
340
+ date_signed: "date_signed";
341
+ capacity: "capacity";
342
+ printed_name: "printed_name";
343
+ }>;
344
+ required: z.ZodOptional<z.ZodBoolean>;
345
+ label: z.ZodOptional<z.ZodString>;
346
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
347
+ page: z.ZodNumber;
348
+ x: z.ZodNumber;
349
+ y: z.ZodNumber;
350
+ width: z.ZodNumber;
351
+ height: z.ZodNumber;
352
+ }, z.core.$strict>, z.ZodObject<{
353
+ anchor: z.ZodObject<{
354
+ text: z.ZodString;
355
+ offsetX: z.ZodOptional<z.ZodNumber>;
356
+ offsetY: z.ZodOptional<z.ZodNumber>;
357
+ occurrence: z.ZodOptional<z.ZodNumber>;
358
+ }, z.core.$strict>;
359
+ width: z.ZodNumber;
360
+ height: z.ZodNumber;
361
+ }, z.core.$strict>]>;
362
+ }, z.core.$strict>>>;
363
+ kind: z.ZodLiteral<"file">;
364
+ path: z.ZodString;
365
+ checksum: z.ZodOptional<z.ZodString>;
366
+ font: z.ZodOptional<z.ZodObject<{
367
+ path: z.ZodString;
368
+ checksum: z.ZodOptional<z.ZodString>;
369
+ }, z.core.$strict>>;
370
+ format: z.ZodOptional<z.ZodObject<{
371
+ money: z.ZodOptional<z.ZodObject<{
372
+ currencyDisplay: z.ZodLiteral<"none">;
373
+ }, z.core.$strict>>;
374
+ }, z.core.$strict>>;
375
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
376
+ bindingsFrom: z.ZodOptional<z.ZodString>;
377
+ }, z.core.$strict>], "kind">>>;
378
+ defaultLayer: z.ZodOptional<z.ZodString>;
379
+ allowAdditionalAnnexes: z.ZodOptional<z.ZodBoolean>;
380
+ annexes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
381
+ title: z.ZodOptional<z.ZodString>;
382
+ description: z.ZodOptional<z.ZodString>;
383
+ required: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
384
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
385
+ order: z.ZodOptional<z.ZodNumber>;
386
+ }, z.core.$strict>>>;
387
+ parties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
388
+ label: z.ZodString;
389
+ description: z.ZodOptional<z.ZodString>;
390
+ partyType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"person">, z.ZodLiteral<"organization">, z.ZodLiteral<"any">]>>;
391
+ min: z.ZodOptional<z.ZodNumber>;
392
+ max: z.ZodOptional<z.ZodNumber>;
393
+ required: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
394
+ signature: z.ZodOptional<z.ZodObject<{
395
+ required: z.ZodOptional<z.ZodBoolean>;
396
+ witnesses: z.ZodOptional<z.ZodNumber>;
397
+ notarized: z.ZodOptional<z.ZodBoolean>;
398
+ }, z.core.$strict>>;
399
+ payment: z.ZodOptional<z.ZodObject<{
400
+ required: z.ZodOptional<z.ZodBoolean>;
401
+ amount: z.ZodUnion<readonly [z.ZodObject<{
402
+ amount: z.ZodNumber;
403
+ currency: z.ZodString;
404
+ }, z.core.$strict>, z.ZodObject<{
405
+ label: z.ZodOptional<z.ZodString>;
406
+ description: z.ZodOptional<z.ZodString>;
407
+ type: z.ZodLiteral<"money">;
408
+ value: z.ZodObject<{
409
+ amount: z.ZodString;
410
+ currency: z.ZodString;
411
+ }, z.core.$strict>;
412
+ }, z.core.$strict>]>;
413
+ }, z.core.$strict>>;
414
+ }, z.core.$strict>>>;
415
+ }, z.core.$strict>;
416
+
417
+ /**
418
+ * Document artifact — a static content artifact with no inputs.
419
+ */
420
+ declare const DocumentSchema: z.ZodObject<{
421
+ $schema: z.ZodOptional<z.ZodURL>;
422
+ name: z.ZodString;
423
+ version: z.ZodOptional<z.ZodString>;
424
+ title: z.ZodOptional<z.ZodString>;
425
+ description: z.ZodOptional<z.ZodString>;
426
+ code: z.ZodOptional<z.ZodString>;
427
+ issuer: z.ZodOptional<z.ZodString>;
428
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
429
+ language: z.ZodOptional<z.ZodString>;
430
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
431
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
432
+ kind: z.ZodLiteral<"inline">;
433
+ text: z.ZodString;
434
+ }, z.core.$strict>, z.ZodObject<{
435
+ kind: z.ZodLiteral<"file">;
436
+ path: z.ZodString;
437
+ mimeType: z.ZodString;
438
+ title: z.ZodOptional<z.ZodString>;
439
+ description: z.ZodOptional<z.ZodString>;
440
+ checksum: z.ZodOptional<z.ZodString>;
441
+ }, z.core.$strict>], "kind">>;
442
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
443
+ kind: z.ZodLiteral<"inline">;
444
+ text: z.ZodString;
445
+ }, z.core.$strict>, z.ZodObject<{
446
+ kind: z.ZodLiteral<"file">;
447
+ path: z.ZodString;
448
+ mimeType: z.ZodString;
449
+ title: z.ZodOptional<z.ZodString>;
450
+ description: z.ZodOptional<z.ZodString>;
451
+ checksum: z.ZodOptional<z.ZodString>;
452
+ }, z.core.$strict>], "kind">>;
453
+ kind: z.ZodLiteral<"document">;
454
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
455
+ title: z.ZodOptional<z.ZodString>;
456
+ description: z.ZodOptional<z.ZodString>;
457
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
458
+ party: z.ZodObject<{
459
+ role: z.ZodString;
460
+ index: z.ZodOptional<z.ZodNumber>;
461
+ }, z.core.$strict>;
462
+ type: z.ZodEnum<{
463
+ signature: "signature";
464
+ initials: "initials";
465
+ date_signed: "date_signed";
466
+ capacity: "capacity";
467
+ printed_name: "printed_name";
468
+ }>;
469
+ required: z.ZodOptional<z.ZodBoolean>;
470
+ label: z.ZodOptional<z.ZodString>;
471
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
472
+ page: z.ZodNumber;
473
+ x: z.ZodNumber;
474
+ y: z.ZodNumber;
475
+ width: z.ZodNumber;
476
+ height: z.ZodNumber;
477
+ }, z.core.$strict>, z.ZodObject<{
478
+ anchor: z.ZodObject<{
479
+ text: z.ZodString;
480
+ offsetX: z.ZodOptional<z.ZodNumber>;
481
+ offsetY: z.ZodOptional<z.ZodNumber>;
482
+ occurrence: z.ZodOptional<z.ZodNumber>;
483
+ }, z.core.$strict>;
484
+ width: z.ZodNumber;
485
+ height: z.ZodNumber;
486
+ }, z.core.$strict>]>;
487
+ }, z.core.$strict>>>;
488
+ kind: z.ZodLiteral<"inline">;
489
+ mimeType: z.ZodString;
490
+ text: z.ZodString;
491
+ }, z.core.$strict>, z.ZodObject<{
492
+ mimeType: z.ZodString;
493
+ title: z.ZodOptional<z.ZodString>;
494
+ description: z.ZodOptional<z.ZodString>;
495
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
496
+ party: z.ZodObject<{
497
+ role: z.ZodString;
498
+ index: z.ZodOptional<z.ZodNumber>;
499
+ }, z.core.$strict>;
500
+ type: z.ZodEnum<{
501
+ signature: "signature";
502
+ initials: "initials";
503
+ date_signed: "date_signed";
504
+ capacity: "capacity";
505
+ printed_name: "printed_name";
506
+ }>;
507
+ required: z.ZodOptional<z.ZodBoolean>;
508
+ label: z.ZodOptional<z.ZodString>;
509
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
510
+ page: z.ZodNumber;
511
+ x: z.ZodNumber;
512
+ y: z.ZodNumber;
513
+ width: z.ZodNumber;
514
+ height: z.ZodNumber;
515
+ }, z.core.$strict>, z.ZodObject<{
516
+ anchor: z.ZodObject<{
517
+ text: z.ZodString;
518
+ offsetX: z.ZodOptional<z.ZodNumber>;
519
+ offsetY: z.ZodOptional<z.ZodNumber>;
520
+ occurrence: z.ZodOptional<z.ZodNumber>;
521
+ }, z.core.$strict>;
522
+ width: z.ZodNumber;
523
+ height: z.ZodNumber;
524
+ }, z.core.$strict>]>;
525
+ }, z.core.$strict>>>;
526
+ kind: z.ZodLiteral<"file">;
527
+ path: z.ZodString;
528
+ checksum: z.ZodOptional<z.ZodString>;
529
+ font: z.ZodOptional<z.ZodObject<{
530
+ path: z.ZodString;
531
+ checksum: z.ZodOptional<z.ZodString>;
532
+ }, z.core.$strict>>;
533
+ format: z.ZodOptional<z.ZodObject<{
534
+ money: z.ZodOptional<z.ZodObject<{
535
+ currencyDisplay: z.ZodLiteral<"none">;
536
+ }, z.core.$strict>>;
537
+ }, z.core.$strict>>;
538
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
539
+ bindingsFrom: z.ZodOptional<z.ZodString>;
540
+ }, z.core.$strict>], "kind">>>;
541
+ defaultLayer: z.ZodOptional<z.ZodString>;
542
+ }, z.core.$strict>;
543
+
544
+ declare const ChecklistItemSchema: z.ZodObject<{
545
+ id: z.ZodString;
546
+ title: z.ZodString;
547
+ description: z.ZodOptional<z.ZodString>;
548
+ status: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
549
+ kind: z.ZodLiteral<"boolean">;
550
+ default: z.ZodOptional<z.ZodBoolean>;
551
+ }, z.core.$strict>, z.ZodObject<{
552
+ kind: z.ZodLiteral<"enum">;
553
+ options: z.ZodArray<z.ZodObject<{
554
+ value: z.ZodString;
555
+ label: z.ZodString;
556
+ description: z.ZodOptional<z.ZodString>;
557
+ }, z.core.$strict>>;
558
+ default: z.ZodOptional<z.ZodString>;
559
+ }, z.core.$strict>], "kind">>;
560
+ }, z.core.$strict>;
561
+
562
+ declare const ChecklistSchema: z.ZodObject<{
563
+ $schema: z.ZodOptional<z.ZodURL>;
564
+ name: z.ZodString;
565
+ version: z.ZodOptional<z.ZodString>;
566
+ title: z.ZodOptional<z.ZodString>;
567
+ description: z.ZodOptional<z.ZodString>;
568
+ code: z.ZodOptional<z.ZodString>;
569
+ issuer: z.ZodOptional<z.ZodString>;
570
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
571
+ language: z.ZodOptional<z.ZodString>;
572
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
573
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
574
+ kind: z.ZodLiteral<"inline">;
575
+ text: z.ZodString;
576
+ }, z.core.$strict>, z.ZodObject<{
577
+ kind: z.ZodLiteral<"file">;
578
+ path: z.ZodString;
579
+ mimeType: z.ZodString;
580
+ title: z.ZodOptional<z.ZodString>;
581
+ description: z.ZodOptional<z.ZodString>;
582
+ checksum: z.ZodOptional<z.ZodString>;
583
+ }, z.core.$strict>], "kind">>;
584
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
585
+ kind: z.ZodLiteral<"inline">;
586
+ text: z.ZodString;
587
+ }, z.core.$strict>, z.ZodObject<{
588
+ kind: z.ZodLiteral<"file">;
589
+ path: z.ZodString;
590
+ mimeType: z.ZodString;
591
+ title: z.ZodOptional<z.ZodString>;
592
+ description: z.ZodOptional<z.ZodString>;
593
+ checksum: z.ZodOptional<z.ZodString>;
594
+ }, z.core.$strict>], "kind">>;
595
+ kind: z.ZodLiteral<"checklist">;
596
+ items: z.ZodArray<z.ZodObject<{
597
+ id: z.ZodString;
598
+ title: z.ZodString;
599
+ description: z.ZodOptional<z.ZodString>;
600
+ status: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
601
+ kind: z.ZodLiteral<"boolean">;
602
+ default: z.ZodOptional<z.ZodBoolean>;
603
+ }, z.core.$strict>, z.ZodObject<{
604
+ kind: z.ZodLiteral<"enum">;
605
+ options: z.ZodArray<z.ZodObject<{
606
+ value: z.ZodString;
607
+ label: z.ZodString;
608
+ description: z.ZodOptional<z.ZodString>;
609
+ }, z.core.$strict>>;
610
+ default: z.ZodOptional<z.ZodString>;
611
+ }, z.core.$strict>], "kind">>;
612
+ }, z.core.$strict>>;
613
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
614
+ title: z.ZodOptional<z.ZodString>;
615
+ description: z.ZodOptional<z.ZodString>;
616
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
617
+ party: z.ZodObject<{
618
+ role: z.ZodString;
619
+ index: z.ZodOptional<z.ZodNumber>;
620
+ }, z.core.$strict>;
621
+ type: z.ZodEnum<{
622
+ signature: "signature";
623
+ initials: "initials";
624
+ date_signed: "date_signed";
625
+ capacity: "capacity";
626
+ printed_name: "printed_name";
627
+ }>;
628
+ required: z.ZodOptional<z.ZodBoolean>;
629
+ label: z.ZodOptional<z.ZodString>;
630
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
631
+ page: z.ZodNumber;
632
+ x: z.ZodNumber;
633
+ y: z.ZodNumber;
634
+ width: z.ZodNumber;
635
+ height: z.ZodNumber;
636
+ }, z.core.$strict>, z.ZodObject<{
637
+ anchor: z.ZodObject<{
638
+ text: z.ZodString;
639
+ offsetX: z.ZodOptional<z.ZodNumber>;
640
+ offsetY: z.ZodOptional<z.ZodNumber>;
641
+ occurrence: z.ZodOptional<z.ZodNumber>;
642
+ }, z.core.$strict>;
643
+ width: z.ZodNumber;
644
+ height: z.ZodNumber;
645
+ }, z.core.$strict>]>;
646
+ }, z.core.$strict>>>;
647
+ kind: z.ZodLiteral<"inline">;
648
+ mimeType: z.ZodString;
649
+ text: z.ZodString;
650
+ }, z.core.$strict>, z.ZodObject<{
651
+ mimeType: z.ZodString;
652
+ title: z.ZodOptional<z.ZodString>;
653
+ description: z.ZodOptional<z.ZodString>;
654
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
655
+ party: z.ZodObject<{
656
+ role: z.ZodString;
657
+ index: z.ZodOptional<z.ZodNumber>;
658
+ }, z.core.$strict>;
659
+ type: z.ZodEnum<{
660
+ signature: "signature";
661
+ initials: "initials";
662
+ date_signed: "date_signed";
663
+ capacity: "capacity";
664
+ printed_name: "printed_name";
665
+ }>;
666
+ required: z.ZodOptional<z.ZodBoolean>;
667
+ label: z.ZodOptional<z.ZodString>;
668
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
669
+ page: z.ZodNumber;
670
+ x: z.ZodNumber;
671
+ y: z.ZodNumber;
672
+ width: z.ZodNumber;
673
+ height: z.ZodNumber;
674
+ }, z.core.$strict>, z.ZodObject<{
675
+ anchor: z.ZodObject<{
676
+ text: z.ZodString;
677
+ offsetX: z.ZodOptional<z.ZodNumber>;
678
+ offsetY: z.ZodOptional<z.ZodNumber>;
679
+ occurrence: z.ZodOptional<z.ZodNumber>;
680
+ }, z.core.$strict>;
681
+ width: z.ZodNumber;
682
+ height: z.ZodNumber;
683
+ }, z.core.$strict>]>;
684
+ }, z.core.$strict>>>;
685
+ kind: z.ZodLiteral<"file">;
686
+ path: z.ZodString;
687
+ checksum: z.ZodOptional<z.ZodString>;
688
+ font: z.ZodOptional<z.ZodObject<{
689
+ path: z.ZodString;
690
+ checksum: z.ZodOptional<z.ZodString>;
691
+ }, z.core.$strict>>;
692
+ format: z.ZodOptional<z.ZodObject<{
693
+ money: z.ZodOptional<z.ZodObject<{
694
+ currencyDisplay: z.ZodLiteral<"none">;
695
+ }, z.core.$strict>>;
696
+ }, z.core.$strict>>;
697
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
698
+ bindingsFrom: z.ZodOptional<z.ZodString>;
699
+ }, z.core.$strict>], "kind">>>;
700
+ defaultLayer: z.ZodOptional<z.ZodString>;
701
+ }, z.core.$strict>;
702
+
703
+ /**
704
+ * Base properties shared by every bundle content item with an optional
705
+ * membership condition. The source-specific payload remains below.
706
+ */
707
+ declare const ContentItemBaseSchema: z.ZodObject<{
708
+ key: z.ZodString;
709
+ include: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
710
+ }, z.core.$strip>;
711
+ /**
712
+ * Inline content item — artifact defined directly within the bundle. The
713
+ * recursive `artifact` needs an explicit shape type, so it is stated here.
714
+ */
715
+ type InlineContentItemShape = typeof ContentItemBaseSchema.shape & {
716
+ type: z.ZodLiteral<'inline'>;
717
+ artifact: z.ZodLazy<z.ZodUnion<readonly [
718
+ typeof DocumentSchema,
719
+ typeof FormSchema,
720
+ typeof ChecklistSchema,
721
+ typeof BundleSchema
722
+ ]>>;
723
+ };
724
+ declare const InlineContentItemSchema: z.ZodObject<InlineContentItemShape, z.core.$strict>;
725
+ /**
726
+ * Path content item — references an artifact in the same repo by path.
727
+ */
728
+ declare const PathContentItemSchema: z.ZodObject<{
729
+ key: z.ZodString;
730
+ include: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
731
+ type: z.ZodLiteral<"path">;
732
+ path: z.ZodString;
733
+ }, z.core.$strict>;
734
+ /**
735
+ * Registry content item — references a published artifact by slug.
736
+ */
737
+ declare const RegistryContentItemSchema: z.ZodObject<{
738
+ key: z.ZodString;
739
+ include: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
740
+ type: z.ZodLiteral<"registry">;
741
+ slug: z.ZodString;
742
+ edition: z.ZodOptional<z.ZodString>;
743
+ version: z.ZodOptional<z.ZodString>;
744
+ }, z.core.$strict>;
745
+ declare const BundleSchema: z.ZodType<Bundle>;
746
+ /**
747
+ * Bundle content item — one of three types:
748
+ * - { type: 'inline', key, artifact, include? } - inline artifact definition
749
+ * - { type: 'path', key, path, include? } - reference relative to the bundle file's directory
750
+ * - { type: 'registry', key, slug, edition?, version?, include? } - reference to a registry artifact
751
+ */
752
+ declare const BundleContentItemSchema: z.ZodDiscriminatedUnion<[
753
+ typeof InlineContentItemSchema,
754
+ typeof PathContentItemSchema,
755
+ typeof RegistryContentItemSchema
756
+ ], 'type'>;
757
+
758
+ /**
759
+ * Content reference — inline text or external file.
760
+ * Used for instructions and agent instructions on artifacts.
761
+ */
762
+ declare const ContentRefSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
763
+ kind: z.ZodLiteral<"inline">;
764
+ text: z.ZodString;
765
+ }, z.core.$strict>, z.ZodObject<{
766
+ kind: z.ZodLiteral<"file">;
767
+ path: z.ZodString;
768
+ mimeType: z.ZodString;
769
+ title: z.ZodOptional<z.ZodString>;
770
+ description: z.ZodOptional<z.ZodString>;
771
+ checksum: z.ZodOptional<z.ZodString>;
772
+ }, z.core.$strict>], "kind">;
773
+
774
+ /**
775
+ * Field type for a signature slot (mirrors SigningFieldType).
776
+ */
777
+ declare const SignatureSlotTypeSchema: z.ZodEnum<{
778
+ signature: "signature";
779
+ initials: "initials";
780
+ date_signed: "date_signed";
781
+ capacity: "capacity";
782
+ printed_name: "printed_name";
783
+ }>;
784
+ /**
785
+ * Signature slot: one signing field on a layer, keyed by slot id.
786
+ */
787
+ declare const SignatureSlotSchema: z.ZodObject<{
788
+ party: z.ZodObject<{
789
+ role: z.ZodString;
790
+ index: z.ZodOptional<z.ZodNumber>;
791
+ }, z.core.$strict>;
792
+ type: z.ZodEnum<{
793
+ signature: "signature";
794
+ initials: "initials";
795
+ date_signed: "date_signed";
796
+ capacity: "capacity";
797
+ printed_name: "printed_name";
798
+ }>;
799
+ required: z.ZodOptional<z.ZodBoolean>;
800
+ label: z.ZodOptional<z.ZodString>;
801
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
802
+ page: z.ZodNumber;
803
+ x: z.ZodNumber;
804
+ y: z.ZodNumber;
805
+ width: z.ZodNumber;
806
+ height: z.ZodNumber;
807
+ }, z.core.$strict>, z.ZodObject<{
808
+ anchor: z.ZodObject<{
809
+ text: z.ZodString;
810
+ offsetX: z.ZodOptional<z.ZodNumber>;
811
+ offsetY: z.ZodOptional<z.ZodNumber>;
812
+ occurrence: z.ZodOptional<z.ZodNumber>;
813
+ }, z.core.$strict>;
814
+ width: z.ZodNumber;
815
+ height: z.ZodNumber;
816
+ }, z.core.$strict>]>;
817
+ }, z.core.$strict>;
818
+ /**
819
+ * MIME types that name a React composition module.
820
+ *
821
+ * A composition is a React component in a `.tsx` or `.jsx` file. The layer that
822
+ * declares one points at the module, so it is always a file layer: an inline
823
+ * layer of one of these types carries source where a pointer belongs and is
824
+ * rejected here.
825
+ *
826
+ * This is the one definition. `@asterdoc/core` imports it for its render
827
+ * dispatch rather than restating it, so validation and dispatch cannot drift.
828
+ */
829
+ declare const REACT_LAYER_MIME_TYPES: readonly ["text/tsx", "text/jsx"];
830
+ /**
831
+ * Whether a MIME type names a React composition module.
832
+ *
833
+ * Case-insensitive, because MIME types are: RFC 2045 says the type and subtype
834
+ * are compared without regard to case, and a layer written `TEXT/TSX` is the
835
+ * same layer. Validation and render dispatch agree on that, or one would accept
836
+ * what the other refuses.
837
+ */
838
+ declare function isReactLayerMimeType(mimeType: string | undefined): boolean;
839
+ /** The rule an inline React layer breaks, stated once so every error reads the same. */
840
+ declare const REACT_LAYER_RULE: string;
841
+ /**
842
+ * The exclusion as a JSON Schema `pattern`, matching the predicate's case rule.
843
+ *
844
+ * A Zod refinement validates and then vanishes from the generated schema, so the
845
+ * rule is attached as a keyword too. It is a pattern rather than an `enum`
846
+ * because an enum would compare case-sensitively and let `TEXT/TSX` through the
847
+ * published schema while the framework rejected it.
848
+ */
849
+ declare const REACT_LAYER_MIME_PATTERN: string;
850
+ /** The rule bindings on a layer other than a PDF break, stated once so every error reads the same. */
851
+ declare const LAYER_BINDINGS_RULE = "Only PDF layers (application/pdf) can declare bindings; other templates name values as {{fields.fieldName}}";
852
+ /** Whether a layer's MIME type names a PDF, the only layer type that takes bindings. */
853
+ declare function isPdfMimeType(mimeType: string): boolean;
854
+ /** The DOCX MIME type. */
855
+ declare const DOCX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
856
+ /** Whether a layer's MIME type names a DOCX template. Case-insensitive, as every MIME check here is. */
857
+ declare function isDocxMimeType(mimeType: string): boolean;
858
+ /** The MIME types of text templates: layers whose text is a template the text renderer fills. */
859
+ declare const TEXT_TEMPLATE_MIME_TYPES: readonly ["text/plain", "text/markdown", "text/html"];
860
+ /** Whether a layer's MIME type names a text template. Case-insensitive, as every MIME check here is. */
861
+ declare function isTextTemplateMimeType(mimeType: string): boolean;
862
+ /**
863
+ * Union of all layer types.
864
+ */
865
+ declare const LayerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
866
+ title: z.ZodOptional<z.ZodString>;
867
+ description: z.ZodOptional<z.ZodString>;
868
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
869
+ party: z.ZodObject<{
870
+ role: z.ZodString;
871
+ index: z.ZodOptional<z.ZodNumber>;
872
+ }, z.core.$strict>;
873
+ type: z.ZodEnum<{
874
+ signature: "signature";
875
+ initials: "initials";
876
+ date_signed: "date_signed";
877
+ capacity: "capacity";
878
+ printed_name: "printed_name";
879
+ }>;
880
+ required: z.ZodOptional<z.ZodBoolean>;
881
+ label: z.ZodOptional<z.ZodString>;
882
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
883
+ page: z.ZodNumber;
884
+ x: z.ZodNumber;
885
+ y: z.ZodNumber;
886
+ width: z.ZodNumber;
887
+ height: z.ZodNumber;
888
+ }, z.core.$strict>, z.ZodObject<{
889
+ anchor: z.ZodObject<{
890
+ text: z.ZodString;
891
+ offsetX: z.ZodOptional<z.ZodNumber>;
892
+ offsetY: z.ZodOptional<z.ZodNumber>;
893
+ occurrence: z.ZodOptional<z.ZodNumber>;
894
+ }, z.core.$strict>;
895
+ width: z.ZodNumber;
896
+ height: z.ZodNumber;
897
+ }, z.core.$strict>]>;
898
+ }, z.core.$strict>>>;
899
+ kind: z.ZodLiteral<"inline">;
900
+ mimeType: z.ZodString;
901
+ text: z.ZodString;
902
+ }, z.core.$strict>, z.ZodObject<{
903
+ mimeType: z.ZodString;
904
+ title: z.ZodOptional<z.ZodString>;
905
+ description: z.ZodOptional<z.ZodString>;
906
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
907
+ party: z.ZodObject<{
908
+ role: z.ZodString;
909
+ index: z.ZodOptional<z.ZodNumber>;
910
+ }, z.core.$strict>;
911
+ type: z.ZodEnum<{
912
+ signature: "signature";
913
+ initials: "initials";
914
+ date_signed: "date_signed";
915
+ capacity: "capacity";
916
+ printed_name: "printed_name";
917
+ }>;
918
+ required: z.ZodOptional<z.ZodBoolean>;
919
+ label: z.ZodOptional<z.ZodString>;
920
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
921
+ page: z.ZodNumber;
922
+ x: z.ZodNumber;
923
+ y: z.ZodNumber;
924
+ width: z.ZodNumber;
925
+ height: z.ZodNumber;
926
+ }, z.core.$strict>, z.ZodObject<{
927
+ anchor: z.ZodObject<{
928
+ text: z.ZodString;
929
+ offsetX: z.ZodOptional<z.ZodNumber>;
930
+ offsetY: z.ZodOptional<z.ZodNumber>;
931
+ occurrence: z.ZodOptional<z.ZodNumber>;
932
+ }, z.core.$strict>;
933
+ width: z.ZodNumber;
934
+ height: z.ZodNumber;
935
+ }, z.core.$strict>]>;
936
+ }, z.core.$strict>>>;
937
+ kind: z.ZodLiteral<"file">;
938
+ path: z.ZodString;
939
+ checksum: z.ZodOptional<z.ZodString>;
940
+ font: z.ZodOptional<z.ZodObject<{
941
+ path: z.ZodString;
942
+ checksum: z.ZodOptional<z.ZodString>;
943
+ }, z.core.$strict>>;
944
+ format: z.ZodOptional<z.ZodObject<{
945
+ money: z.ZodOptional<z.ZodObject<{
946
+ currencyDisplay: z.ZodLiteral<"none">;
947
+ }, z.core.$strict>>;
948
+ }, z.core.$strict>>;
949
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
950
+ bindingsFrom: z.ZodOptional<z.ZodString>;
951
+ }, z.core.$strict>], "kind">;
952
+ /** The rule a React layer on a document or checklist breaks, stated once so every error reads the same. */
953
+ declare const REACT_LAYER_FORM_ONLY_RULE: string;
954
+
955
+ declare const AddressSchema: z.ZodObject<{
956
+ line1: z.ZodString;
957
+ line2: z.ZodOptional<z.ZodString>;
958
+ locality: z.ZodString;
959
+ region: z.ZodString;
960
+ postalCode: z.ZodString;
961
+ country: z.ZodString;
962
+ }, z.core.$strict>;
963
+
964
+ declare const AttachmentSchema: z.ZodObject<{
965
+ name: z.ZodString;
966
+ mimeType: z.ZodString;
967
+ checksum: z.ZodOptional<z.ZodString>;
968
+ }, z.core.$strict>;
969
+
970
+ declare const BboxSchema: z.ZodObject<{
971
+ southWest: z.ZodObject<{
972
+ lat: z.ZodNumber;
973
+ lon: z.ZodNumber;
974
+ }, z.core.$strict>;
975
+ northEast: z.ZodObject<{
976
+ lat: z.ZodNumber;
977
+ lon: z.ZodNumber;
978
+ }, z.core.$strict>;
979
+ }, z.core.$strict>;
980
+
981
+ declare const CoordinateSchema: z.ZodObject<{
982
+ lat: z.ZodNumber;
983
+ lon: z.ZodNumber;
984
+ }, z.core.$strict>;
985
+
986
+ /**
987
+ * Canonical ISO 8601 duration pattern shared by schemas and runtime validators.
988
+ *
989
+ * A duration must contain a date or time component after `P`. When `T` is
990
+ * present, it must be followed by at least one time component. Weeks remain
991
+ * supported for compatibility with the duration serializer.
992
+ */
993
+ declare const ISO_8601_DURATION_PATTERN: string;
994
+ declare const ISO_8601_DURATION_REGEX: RegExp;
995
+ declare const DurationSchema: z.ZodString;
996
+
997
+ declare const IdentificationSchema: z.ZodObject<{
998
+ type: z.ZodString;
999
+ number: z.ZodString;
1000
+ issuer: z.ZodOptional<z.ZodString>;
1001
+ issueDate: z.ZodOptional<z.ZodISODate>;
1002
+ expiryDate: z.ZodOptional<z.ZodISODate>;
1003
+ }, z.core.$strict>;
1004
+
1005
+ /** ISO 4217 alpha-3 currency code. */
1006
+ declare const CurrencyCodeSchema: z.ZodString;
1007
+ declare const MoneySchema: z.ZodObject<{
1008
+ amount: z.ZodNumber;
1009
+ currency: z.ZodString;
1010
+ }, z.core.$strict>;
1011
+
1012
+ declare const MetadataSchema: z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
1013
+
1014
+ declare const OrganizationSchema: z.ZodObject<{
1015
+ name: z.ZodString;
1016
+ legalName: z.ZodOptional<z.ZodString>;
1017
+ domicile: z.ZodOptional<z.ZodString>;
1018
+ entityType: z.ZodOptional<z.ZodString>;
1019
+ entityId: z.ZodOptional<z.ZodString>;
1020
+ taxId: z.ZodOptional<z.ZodString>;
1021
+ }, z.core.$strict>;
1022
+
1023
+ declare const PersonSchema: z.ZodObject<{
1024
+ name: z.ZodString;
1025
+ title: z.ZodOptional<z.ZodString>;
1026
+ firstName: z.ZodOptional<z.ZodString>;
1027
+ middleName: z.ZodOptional<z.ZodString>;
1028
+ lastName: z.ZodOptional<z.ZodString>;
1029
+ suffix: z.ZodOptional<z.ZodString>;
1030
+ }, z.core.$strict>;
1031
+
1032
+ declare const PhoneSchema: z.ZodObject<{
1033
+ number: z.ZodString;
1034
+ type: z.ZodOptional<z.ZodString>;
1035
+ extension: z.ZodOptional<z.ZodString>;
1036
+ }, z.core.$strict>;
1037
+
1038
+ declare const SignatureSchema: z.ZodObject<{
1039
+ image: z.ZodOptional<z.ZodString>;
1040
+ timestamp: z.ZodISODateTime;
1041
+ method: z.ZodUnion<readonly [z.ZodLiteral<"drawn">, z.ZodLiteral<"typed">, z.ZodLiteral<"uploaded">, z.ZodLiteral<"certificate">]>;
1042
+ type: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"signature">, z.ZodLiteral<"initials">]>>>;
1043
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
1044
+ }, z.core.$strict>;
1045
+
1046
+ /**
1047
+ * Conditional Expression Schema
1048
+ *
1049
+ * A CondExpr can be:
1050
+ * - A boolean literal (true/false) for static conditions
1051
+ * - A string expression that evaluates to boolean at runtime
1052
+ *
1053
+ * String expressions can be:
1054
+ * - A reference to a defs key (e.g., 'isBusinessAccount')
1055
+ * - An inline expression (e.g., 'fields.age.value >= 18')
1056
+ */
1057
+ declare const CondExprSchema: z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>;
1058
+
1059
+ /**
1060
+ * Defs Section Schema
1061
+ *
1062
+ * A record of named computed values with type information and metadata.
1063
+ * Keys are definition identifiers, values are typed expressions.
1064
+ */
1065
+ declare const DefsSectionSchema: z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1066
+ label: z.ZodOptional<z.ZodString>;
1067
+ description: z.ZodOptional<z.ZodString>;
1068
+ type: z.ZodLiteral<"boolean">;
1069
+ value: z.ZodString;
1070
+ }, z.core.$strict>, z.ZodObject<{
1071
+ label: z.ZodOptional<z.ZodString>;
1072
+ description: z.ZodOptional<z.ZodString>;
1073
+ type: z.ZodLiteral<"string">;
1074
+ value: z.ZodString;
1075
+ }, z.core.$strict>, z.ZodObject<{
1076
+ label: z.ZodOptional<z.ZodString>;
1077
+ description: z.ZodOptional<z.ZodString>;
1078
+ type: z.ZodLiteral<"number">;
1079
+ value: z.ZodString;
1080
+ }, z.core.$strict>, z.ZodObject<{
1081
+ label: z.ZodOptional<z.ZodString>;
1082
+ description: z.ZodOptional<z.ZodString>;
1083
+ type: z.ZodLiteral<"integer">;
1084
+ value: z.ZodString;
1085
+ }, z.core.$strict>, z.ZodObject<{
1086
+ label: z.ZodOptional<z.ZodString>;
1087
+ description: z.ZodOptional<z.ZodString>;
1088
+ type: z.ZodLiteral<"percentage">;
1089
+ value: z.ZodString;
1090
+ }, z.core.$strict>, z.ZodObject<{
1091
+ label: z.ZodOptional<z.ZodString>;
1092
+ description: z.ZodOptional<z.ZodString>;
1093
+ type: z.ZodLiteral<"rating">;
1094
+ value: z.ZodString;
1095
+ }, z.core.$strict>, z.ZodObject<{
1096
+ label: z.ZodOptional<z.ZodString>;
1097
+ description: z.ZodOptional<z.ZodString>;
1098
+ type: z.ZodLiteral<"date">;
1099
+ value: z.ZodString;
1100
+ }, z.core.$strict>, z.ZodObject<{
1101
+ label: z.ZodOptional<z.ZodString>;
1102
+ description: z.ZodOptional<z.ZodString>;
1103
+ type: z.ZodLiteral<"time">;
1104
+ value: z.ZodString;
1105
+ }, z.core.$strict>, z.ZodObject<{
1106
+ label: z.ZodOptional<z.ZodString>;
1107
+ description: z.ZodOptional<z.ZodString>;
1108
+ type: z.ZodLiteral<"datetime">;
1109
+ value: z.ZodString;
1110
+ }, z.core.$strict>, z.ZodObject<{
1111
+ label: z.ZodOptional<z.ZodString>;
1112
+ description: z.ZodOptional<z.ZodString>;
1113
+ type: z.ZodLiteral<"duration">;
1114
+ value: z.ZodString;
1115
+ }, z.core.$strict>, z.ZodObject<{
1116
+ label: z.ZodOptional<z.ZodString>;
1117
+ description: z.ZodOptional<z.ZodString>;
1118
+ type: z.ZodLiteral<"money">;
1119
+ value: z.ZodObject<{
1120
+ amount: z.ZodString;
1121
+ currency: z.ZodString;
1122
+ }, z.core.$strict>;
1123
+ }, z.core.$strict>, z.ZodObject<{
1124
+ label: z.ZodOptional<z.ZodString>;
1125
+ description: z.ZodOptional<z.ZodString>;
1126
+ type: z.ZodLiteral<"address">;
1127
+ value: z.ZodObject<{
1128
+ line1: z.ZodString;
1129
+ line2: z.ZodOptional<z.ZodString>;
1130
+ locality: z.ZodString;
1131
+ region: z.ZodString;
1132
+ postalCode: z.ZodString;
1133
+ country: z.ZodString;
1134
+ }, z.core.$strict>;
1135
+ }, z.core.$strict>, z.ZodObject<{
1136
+ label: z.ZodOptional<z.ZodString>;
1137
+ description: z.ZodOptional<z.ZodString>;
1138
+ type: z.ZodLiteral<"phone">;
1139
+ value: z.ZodObject<{
1140
+ number: z.ZodString;
1141
+ type: z.ZodOptional<z.ZodString>;
1142
+ extension: z.ZodOptional<z.ZodString>;
1143
+ }, z.core.$strict>;
1144
+ }, z.core.$strict>, z.ZodObject<{
1145
+ label: z.ZodOptional<z.ZodString>;
1146
+ description: z.ZodOptional<z.ZodString>;
1147
+ type: z.ZodLiteral<"coordinate">;
1148
+ value: z.ZodObject<{
1149
+ lat: z.ZodString;
1150
+ lon: z.ZodString;
1151
+ }, z.core.$strict>;
1152
+ }, z.core.$strict>, z.ZodObject<{
1153
+ label: z.ZodOptional<z.ZodString>;
1154
+ description: z.ZodOptional<z.ZodString>;
1155
+ type: z.ZodLiteral<"bbox">;
1156
+ value: z.ZodObject<{
1157
+ southWest: z.ZodObject<{
1158
+ lat: z.ZodString;
1159
+ lon: z.ZodString;
1160
+ }, z.core.$strict>;
1161
+ northEast: z.ZodObject<{
1162
+ lat: z.ZodString;
1163
+ lon: z.ZodString;
1164
+ }, z.core.$strict>;
1165
+ }, z.core.$strict>;
1166
+ }, z.core.$strict>, z.ZodObject<{
1167
+ label: z.ZodOptional<z.ZodString>;
1168
+ description: z.ZodOptional<z.ZodString>;
1169
+ type: z.ZodLiteral<"person">;
1170
+ value: z.ZodObject<{
1171
+ name: z.ZodString;
1172
+ title: z.ZodOptional<z.ZodString>;
1173
+ firstName: z.ZodOptional<z.ZodString>;
1174
+ middleName: z.ZodOptional<z.ZodString>;
1175
+ lastName: z.ZodOptional<z.ZodString>;
1176
+ suffix: z.ZodOptional<z.ZodString>;
1177
+ }, z.core.$strict>;
1178
+ }, z.core.$strict>, z.ZodObject<{
1179
+ label: z.ZodOptional<z.ZodString>;
1180
+ description: z.ZodOptional<z.ZodString>;
1181
+ type: z.ZodLiteral<"organization">;
1182
+ value: z.ZodObject<{
1183
+ name: z.ZodString;
1184
+ legalName: z.ZodOptional<z.ZodString>;
1185
+ domicile: z.ZodOptional<z.ZodString>;
1186
+ entityType: z.ZodOptional<z.ZodString>;
1187
+ entityId: z.ZodOptional<z.ZodString>;
1188
+ taxId: z.ZodOptional<z.ZodString>;
1189
+ }, z.core.$strict>;
1190
+ }, z.core.$strict>, z.ZodObject<{
1191
+ label: z.ZodOptional<z.ZodString>;
1192
+ description: z.ZodOptional<z.ZodString>;
1193
+ type: z.ZodLiteral<"identification">;
1194
+ value: z.ZodObject<{
1195
+ type: z.ZodString;
1196
+ number: z.ZodString;
1197
+ issuer: z.ZodOptional<z.ZodString>;
1198
+ issueDate: z.ZodOptional<z.ZodString>;
1199
+ expiryDate: z.ZodOptional<z.ZodString>;
1200
+ }, z.core.$strict>;
1201
+ }, z.core.$strict>], "type">>;
1202
+
1203
+ /**
1204
+ * Validation Rule Schema
1205
+ *
1206
+ * Defines a form-level validation rule that uses expressions.
1207
+ * Rules evaluate to boolean - true means valid, false means invalid.
1208
+ */
1209
+ /**
1210
+ * Severity levels for validation rules.
1211
+ * - 'error': Blocks form submission (default)
1212
+ * - 'warning': Allows submission but shows warning
1213
+ */
1214
+ declare const RuleSeveritySchema: z.ZodEnum<{
1215
+ error: "error";
1216
+ warning: "warning";
1217
+ }>;
1218
+ /**
1219
+ * Validation Rule Schema
1220
+ *
1221
+ * A validation rule consists of a boolean expression and an error message.
1222
+ * The expression has access to field values directly (e.g., "ssn or ein")
1223
+ * and defs section values.
1224
+ */
1225
+ declare const ValidationRuleSchema: z.ZodObject<{
1226
+ expr: z.ZodString;
1227
+ message: z.ZodString;
1228
+ severity: z.ZodOptional<z.ZodEnum<{
1229
+ error: "error";
1230
+ warning: "warning";
1231
+ }>>;
1232
+ }, z.core.$strict>;
1233
+
1234
+ /**
1235
+ * Rules Section Schema
1236
+ *
1237
+ * A record of named validation rules for form-level validation.
1238
+ * Keys are rule identifiers, values are validation rules.
1239
+ */
1240
+ declare const RulesSectionSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
1241
+ expr: z.ZodString;
1242
+ message: z.ZodString;
1243
+ severity: z.ZodOptional<z.ZodEnum<{
1244
+ error: "error";
1245
+ warning: "warning";
1246
+ }>>;
1247
+ }, z.core.$strict>>;
1248
+
1249
+ /**
1250
+ * Asterdoc Schema Registry
1251
+ *
1252
+ * This registry contains all Asterdoc schemas with their metadata (id, title, description).
1253
+ * Use z.toJSONSchema(AsterdocRegistry) to generate JSON Schema with proper $refs.
1254
+ */
1255
+ declare const AsterdocRegistry: z.core.$ZodRegistry<z.core.GlobalMeta, z.core.$ZodType<unknown, unknown, z.core.$ZodTypeInternals<unknown, unknown>>>;
1256
+ /**
1257
+ * Asterdoc root schema - union of all artifact types
1258
+ */
1259
+ declare const AsterdocSchema: z.ZodUnion<readonly [z.ZodObject<{
1260
+ $schema: z.ZodOptional<z.ZodURL>;
1261
+ name: z.ZodString;
1262
+ version: z.ZodOptional<z.ZodString>;
1263
+ title: z.ZodOptional<z.ZodString>;
1264
+ description: z.ZodOptional<z.ZodString>;
1265
+ code: z.ZodOptional<z.ZodString>;
1266
+ issuer: z.ZodOptional<z.ZodString>;
1267
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
1268
+ language: z.ZodOptional<z.ZodString>;
1269
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
1270
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1271
+ kind: z.ZodLiteral<"inline">;
1272
+ text: z.ZodString;
1273
+ }, z.core.$strict>, z.ZodObject<{
1274
+ kind: z.ZodLiteral<"file">;
1275
+ path: z.ZodString;
1276
+ mimeType: z.ZodString;
1277
+ title: z.ZodOptional<z.ZodString>;
1278
+ description: z.ZodOptional<z.ZodString>;
1279
+ checksum: z.ZodOptional<z.ZodString>;
1280
+ }, z.core.$strict>], "kind">>;
1281
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1282
+ kind: z.ZodLiteral<"inline">;
1283
+ text: z.ZodString;
1284
+ }, z.core.$strict>, z.ZodObject<{
1285
+ kind: z.ZodLiteral<"file">;
1286
+ path: z.ZodString;
1287
+ mimeType: z.ZodString;
1288
+ title: z.ZodOptional<z.ZodString>;
1289
+ description: z.ZodOptional<z.ZodString>;
1290
+ checksum: z.ZodOptional<z.ZodString>;
1291
+ }, z.core.$strict>], "kind">>;
1292
+ kind: z.ZodLiteral<"form">;
1293
+ defs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1294
+ label: z.ZodOptional<z.ZodString>;
1295
+ description: z.ZodOptional<z.ZodString>;
1296
+ type: z.ZodLiteral<"boolean">;
1297
+ value: z.ZodString;
1298
+ }, z.core.$strict>, z.ZodObject<{
1299
+ label: z.ZodOptional<z.ZodString>;
1300
+ description: z.ZodOptional<z.ZodString>;
1301
+ type: z.ZodLiteral<"string">;
1302
+ value: z.ZodString;
1303
+ }, z.core.$strict>, z.ZodObject<{
1304
+ label: z.ZodOptional<z.ZodString>;
1305
+ description: z.ZodOptional<z.ZodString>;
1306
+ type: z.ZodLiteral<"number">;
1307
+ value: z.ZodString;
1308
+ }, z.core.$strict>, z.ZodObject<{
1309
+ label: z.ZodOptional<z.ZodString>;
1310
+ description: z.ZodOptional<z.ZodString>;
1311
+ type: z.ZodLiteral<"integer">;
1312
+ value: z.ZodString;
1313
+ }, z.core.$strict>, z.ZodObject<{
1314
+ label: z.ZodOptional<z.ZodString>;
1315
+ description: z.ZodOptional<z.ZodString>;
1316
+ type: z.ZodLiteral<"percentage">;
1317
+ value: z.ZodString;
1318
+ }, z.core.$strict>, z.ZodObject<{
1319
+ label: z.ZodOptional<z.ZodString>;
1320
+ description: z.ZodOptional<z.ZodString>;
1321
+ type: z.ZodLiteral<"rating">;
1322
+ value: z.ZodString;
1323
+ }, z.core.$strict>, z.ZodObject<{
1324
+ label: z.ZodOptional<z.ZodString>;
1325
+ description: z.ZodOptional<z.ZodString>;
1326
+ type: z.ZodLiteral<"date">;
1327
+ value: z.ZodString;
1328
+ }, z.core.$strict>, z.ZodObject<{
1329
+ label: z.ZodOptional<z.ZodString>;
1330
+ description: z.ZodOptional<z.ZodString>;
1331
+ type: z.ZodLiteral<"time">;
1332
+ value: z.ZodString;
1333
+ }, z.core.$strict>, z.ZodObject<{
1334
+ label: z.ZodOptional<z.ZodString>;
1335
+ description: z.ZodOptional<z.ZodString>;
1336
+ type: z.ZodLiteral<"datetime">;
1337
+ value: z.ZodString;
1338
+ }, z.core.$strict>, z.ZodObject<{
1339
+ label: z.ZodOptional<z.ZodString>;
1340
+ description: z.ZodOptional<z.ZodString>;
1341
+ type: z.ZodLiteral<"duration">;
1342
+ value: z.ZodString;
1343
+ }, z.core.$strict>, z.ZodObject<{
1344
+ label: z.ZodOptional<z.ZodString>;
1345
+ description: z.ZodOptional<z.ZodString>;
1346
+ type: z.ZodLiteral<"money">;
1347
+ value: z.ZodObject<{
1348
+ amount: z.ZodString;
1349
+ currency: z.ZodString;
1350
+ }, z.core.$strict>;
1351
+ }, z.core.$strict>, z.ZodObject<{
1352
+ label: z.ZodOptional<z.ZodString>;
1353
+ description: z.ZodOptional<z.ZodString>;
1354
+ type: z.ZodLiteral<"address">;
1355
+ value: z.ZodObject<{
1356
+ line1: z.ZodString;
1357
+ line2: z.ZodOptional<z.ZodString>;
1358
+ locality: z.ZodString;
1359
+ region: z.ZodString;
1360
+ postalCode: z.ZodString;
1361
+ country: z.ZodString;
1362
+ }, z.core.$strict>;
1363
+ }, z.core.$strict>, z.ZodObject<{
1364
+ label: z.ZodOptional<z.ZodString>;
1365
+ description: z.ZodOptional<z.ZodString>;
1366
+ type: z.ZodLiteral<"phone">;
1367
+ value: z.ZodObject<{
1368
+ number: z.ZodString;
1369
+ type: z.ZodOptional<z.ZodString>;
1370
+ extension: z.ZodOptional<z.ZodString>;
1371
+ }, z.core.$strict>;
1372
+ }, z.core.$strict>, z.ZodObject<{
1373
+ label: z.ZodOptional<z.ZodString>;
1374
+ description: z.ZodOptional<z.ZodString>;
1375
+ type: z.ZodLiteral<"coordinate">;
1376
+ value: z.ZodObject<{
1377
+ lat: z.ZodString;
1378
+ lon: z.ZodString;
1379
+ }, z.core.$strict>;
1380
+ }, z.core.$strict>, z.ZodObject<{
1381
+ label: z.ZodOptional<z.ZodString>;
1382
+ description: z.ZodOptional<z.ZodString>;
1383
+ type: z.ZodLiteral<"bbox">;
1384
+ value: z.ZodObject<{
1385
+ southWest: z.ZodObject<{
1386
+ lat: z.ZodString;
1387
+ lon: z.ZodString;
1388
+ }, z.core.$strict>;
1389
+ northEast: z.ZodObject<{
1390
+ lat: z.ZodString;
1391
+ lon: z.ZodString;
1392
+ }, z.core.$strict>;
1393
+ }, z.core.$strict>;
1394
+ }, z.core.$strict>, z.ZodObject<{
1395
+ label: z.ZodOptional<z.ZodString>;
1396
+ description: z.ZodOptional<z.ZodString>;
1397
+ type: z.ZodLiteral<"person">;
1398
+ value: z.ZodObject<{
1399
+ name: z.ZodString;
1400
+ title: z.ZodOptional<z.ZodString>;
1401
+ firstName: z.ZodOptional<z.ZodString>;
1402
+ middleName: z.ZodOptional<z.ZodString>;
1403
+ lastName: z.ZodOptional<z.ZodString>;
1404
+ suffix: z.ZodOptional<z.ZodString>;
1405
+ }, z.core.$strict>;
1406
+ }, z.core.$strict>, z.ZodObject<{
1407
+ label: z.ZodOptional<z.ZodString>;
1408
+ description: z.ZodOptional<z.ZodString>;
1409
+ type: z.ZodLiteral<"organization">;
1410
+ value: z.ZodObject<{
1411
+ name: z.ZodString;
1412
+ legalName: z.ZodOptional<z.ZodString>;
1413
+ domicile: z.ZodOptional<z.ZodString>;
1414
+ entityType: z.ZodOptional<z.ZodString>;
1415
+ entityId: z.ZodOptional<z.ZodString>;
1416
+ taxId: z.ZodOptional<z.ZodString>;
1417
+ }, z.core.$strict>;
1418
+ }, z.core.$strict>, z.ZodObject<{
1419
+ label: z.ZodOptional<z.ZodString>;
1420
+ description: z.ZodOptional<z.ZodString>;
1421
+ type: z.ZodLiteral<"identification">;
1422
+ value: z.ZodObject<{
1423
+ type: z.ZodString;
1424
+ number: z.ZodString;
1425
+ issuer: z.ZodOptional<z.ZodString>;
1426
+ issueDate: z.ZodOptional<z.ZodString>;
1427
+ expiryDate: z.ZodOptional<z.ZodString>;
1428
+ }, z.core.$strict>;
1429
+ }, z.core.$strict>], "type">>>;
1430
+ rules: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1431
+ expr: z.ZodString;
1432
+ message: z.ZodString;
1433
+ severity: z.ZodOptional<z.ZodEnum<{
1434
+ error: "error";
1435
+ warning: "warning";
1436
+ }>>;
1437
+ }, z.core.$strict>>>;
1438
+ fields: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodType<_asterdoc_types.FormField, unknown, z.core.$ZodTypeInternals<_asterdoc_types.FormField, unknown>>>>;
1439
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1440
+ title: z.ZodOptional<z.ZodString>;
1441
+ description: z.ZodOptional<z.ZodString>;
1442
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1443
+ party: z.ZodObject<{
1444
+ role: z.ZodString;
1445
+ index: z.ZodOptional<z.ZodNumber>;
1446
+ }, z.core.$strict>;
1447
+ type: z.ZodEnum<{
1448
+ signature: "signature";
1449
+ initials: "initials";
1450
+ date_signed: "date_signed";
1451
+ capacity: "capacity";
1452
+ printed_name: "printed_name";
1453
+ }>;
1454
+ required: z.ZodOptional<z.ZodBoolean>;
1455
+ label: z.ZodOptional<z.ZodString>;
1456
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
1457
+ page: z.ZodNumber;
1458
+ x: z.ZodNumber;
1459
+ y: z.ZodNumber;
1460
+ width: z.ZodNumber;
1461
+ height: z.ZodNumber;
1462
+ }, z.core.$strict>, z.ZodObject<{
1463
+ anchor: z.ZodObject<{
1464
+ text: z.ZodString;
1465
+ offsetX: z.ZodOptional<z.ZodNumber>;
1466
+ offsetY: z.ZodOptional<z.ZodNumber>;
1467
+ occurrence: z.ZodOptional<z.ZodNumber>;
1468
+ }, z.core.$strict>;
1469
+ width: z.ZodNumber;
1470
+ height: z.ZodNumber;
1471
+ }, z.core.$strict>]>;
1472
+ }, z.core.$strict>>>;
1473
+ kind: z.ZodLiteral<"inline">;
1474
+ mimeType: z.ZodString;
1475
+ text: z.ZodString;
1476
+ }, z.core.$strict>, z.ZodObject<{
1477
+ mimeType: z.ZodString;
1478
+ title: z.ZodOptional<z.ZodString>;
1479
+ description: z.ZodOptional<z.ZodString>;
1480
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1481
+ party: z.ZodObject<{
1482
+ role: z.ZodString;
1483
+ index: z.ZodOptional<z.ZodNumber>;
1484
+ }, z.core.$strict>;
1485
+ type: z.ZodEnum<{
1486
+ signature: "signature";
1487
+ initials: "initials";
1488
+ date_signed: "date_signed";
1489
+ capacity: "capacity";
1490
+ printed_name: "printed_name";
1491
+ }>;
1492
+ required: z.ZodOptional<z.ZodBoolean>;
1493
+ label: z.ZodOptional<z.ZodString>;
1494
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
1495
+ page: z.ZodNumber;
1496
+ x: z.ZodNumber;
1497
+ y: z.ZodNumber;
1498
+ width: z.ZodNumber;
1499
+ height: z.ZodNumber;
1500
+ }, z.core.$strict>, z.ZodObject<{
1501
+ anchor: z.ZodObject<{
1502
+ text: z.ZodString;
1503
+ offsetX: z.ZodOptional<z.ZodNumber>;
1504
+ offsetY: z.ZodOptional<z.ZodNumber>;
1505
+ occurrence: z.ZodOptional<z.ZodNumber>;
1506
+ }, z.core.$strict>;
1507
+ width: z.ZodNumber;
1508
+ height: z.ZodNumber;
1509
+ }, z.core.$strict>]>;
1510
+ }, z.core.$strict>>>;
1511
+ kind: z.ZodLiteral<"file">;
1512
+ path: z.ZodString;
1513
+ checksum: z.ZodOptional<z.ZodString>;
1514
+ font: z.ZodOptional<z.ZodObject<{
1515
+ path: z.ZodString;
1516
+ checksum: z.ZodOptional<z.ZodString>;
1517
+ }, z.core.$strict>>;
1518
+ format: z.ZodOptional<z.ZodObject<{
1519
+ money: z.ZodOptional<z.ZodObject<{
1520
+ currencyDisplay: z.ZodLiteral<"none">;
1521
+ }, z.core.$strict>>;
1522
+ }, z.core.$strict>>;
1523
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1524
+ bindingsFrom: z.ZodOptional<z.ZodString>;
1525
+ }, z.core.$strict>], "kind">>>;
1526
+ defaultLayer: z.ZodOptional<z.ZodString>;
1527
+ allowAdditionalAnnexes: z.ZodOptional<z.ZodBoolean>;
1528
+ annexes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1529
+ title: z.ZodOptional<z.ZodString>;
1530
+ description: z.ZodOptional<z.ZodString>;
1531
+ required: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1532
+ visible: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1533
+ order: z.ZodOptional<z.ZodNumber>;
1534
+ }, z.core.$strict>>>;
1535
+ parties: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1536
+ label: z.ZodString;
1537
+ description: z.ZodOptional<z.ZodString>;
1538
+ partyType: z.ZodOptional<z.ZodUnion<readonly [z.ZodLiteral<"person">, z.ZodLiteral<"organization">, z.ZodLiteral<"any">]>>;
1539
+ min: z.ZodOptional<z.ZodNumber>;
1540
+ max: z.ZodOptional<z.ZodNumber>;
1541
+ required: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodString]>>;
1542
+ signature: z.ZodOptional<z.ZodObject<{
1543
+ required: z.ZodOptional<z.ZodBoolean>;
1544
+ witnesses: z.ZodOptional<z.ZodNumber>;
1545
+ notarized: z.ZodOptional<z.ZodBoolean>;
1546
+ }, z.core.$strict>>;
1547
+ payment: z.ZodOptional<z.ZodObject<{
1548
+ required: z.ZodOptional<z.ZodBoolean>;
1549
+ amount: z.ZodUnion<readonly [z.ZodObject<{
1550
+ amount: z.ZodNumber;
1551
+ currency: z.ZodString;
1552
+ }, z.core.$strict>, z.ZodObject<{
1553
+ label: z.ZodOptional<z.ZodString>;
1554
+ description: z.ZodOptional<z.ZodString>;
1555
+ type: z.ZodLiteral<"money">;
1556
+ value: z.ZodObject<{
1557
+ amount: z.ZodString;
1558
+ currency: z.ZodString;
1559
+ }, z.core.$strict>;
1560
+ }, z.core.$strict>]>;
1561
+ }, z.core.$strict>>;
1562
+ }, z.core.$strict>>>;
1563
+ }, z.core.$strict>, z.ZodObject<{
1564
+ $schema: z.ZodOptional<z.ZodURL>;
1565
+ name: z.ZodString;
1566
+ version: z.ZodOptional<z.ZodString>;
1567
+ title: z.ZodOptional<z.ZodString>;
1568
+ description: z.ZodOptional<z.ZodString>;
1569
+ code: z.ZodOptional<z.ZodString>;
1570
+ issuer: z.ZodOptional<z.ZodString>;
1571
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
1572
+ language: z.ZodOptional<z.ZodString>;
1573
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
1574
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1575
+ kind: z.ZodLiteral<"inline">;
1576
+ text: z.ZodString;
1577
+ }, z.core.$strict>, z.ZodObject<{
1578
+ kind: z.ZodLiteral<"file">;
1579
+ path: z.ZodString;
1580
+ mimeType: z.ZodString;
1581
+ title: z.ZodOptional<z.ZodString>;
1582
+ description: z.ZodOptional<z.ZodString>;
1583
+ checksum: z.ZodOptional<z.ZodString>;
1584
+ }, z.core.$strict>], "kind">>;
1585
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1586
+ kind: z.ZodLiteral<"inline">;
1587
+ text: z.ZodString;
1588
+ }, z.core.$strict>, z.ZodObject<{
1589
+ kind: z.ZodLiteral<"file">;
1590
+ path: z.ZodString;
1591
+ mimeType: z.ZodString;
1592
+ title: z.ZodOptional<z.ZodString>;
1593
+ description: z.ZodOptional<z.ZodString>;
1594
+ checksum: z.ZodOptional<z.ZodString>;
1595
+ }, z.core.$strict>], "kind">>;
1596
+ kind: z.ZodLiteral<"document">;
1597
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1598
+ title: z.ZodOptional<z.ZodString>;
1599
+ description: z.ZodOptional<z.ZodString>;
1600
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1601
+ party: z.ZodObject<{
1602
+ role: z.ZodString;
1603
+ index: z.ZodOptional<z.ZodNumber>;
1604
+ }, z.core.$strict>;
1605
+ type: z.ZodEnum<{
1606
+ signature: "signature";
1607
+ initials: "initials";
1608
+ date_signed: "date_signed";
1609
+ capacity: "capacity";
1610
+ printed_name: "printed_name";
1611
+ }>;
1612
+ required: z.ZodOptional<z.ZodBoolean>;
1613
+ label: z.ZodOptional<z.ZodString>;
1614
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
1615
+ page: z.ZodNumber;
1616
+ x: z.ZodNumber;
1617
+ y: z.ZodNumber;
1618
+ width: z.ZodNumber;
1619
+ height: z.ZodNumber;
1620
+ }, z.core.$strict>, z.ZodObject<{
1621
+ anchor: z.ZodObject<{
1622
+ text: z.ZodString;
1623
+ offsetX: z.ZodOptional<z.ZodNumber>;
1624
+ offsetY: z.ZodOptional<z.ZodNumber>;
1625
+ occurrence: z.ZodOptional<z.ZodNumber>;
1626
+ }, z.core.$strict>;
1627
+ width: z.ZodNumber;
1628
+ height: z.ZodNumber;
1629
+ }, z.core.$strict>]>;
1630
+ }, z.core.$strict>>>;
1631
+ kind: z.ZodLiteral<"inline">;
1632
+ mimeType: z.ZodString;
1633
+ text: z.ZodString;
1634
+ }, z.core.$strict>, z.ZodObject<{
1635
+ mimeType: z.ZodString;
1636
+ title: z.ZodOptional<z.ZodString>;
1637
+ description: z.ZodOptional<z.ZodString>;
1638
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1639
+ party: z.ZodObject<{
1640
+ role: z.ZodString;
1641
+ index: z.ZodOptional<z.ZodNumber>;
1642
+ }, z.core.$strict>;
1643
+ type: z.ZodEnum<{
1644
+ signature: "signature";
1645
+ initials: "initials";
1646
+ date_signed: "date_signed";
1647
+ capacity: "capacity";
1648
+ printed_name: "printed_name";
1649
+ }>;
1650
+ required: z.ZodOptional<z.ZodBoolean>;
1651
+ label: z.ZodOptional<z.ZodString>;
1652
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
1653
+ page: z.ZodNumber;
1654
+ x: z.ZodNumber;
1655
+ y: z.ZodNumber;
1656
+ width: z.ZodNumber;
1657
+ height: z.ZodNumber;
1658
+ }, z.core.$strict>, z.ZodObject<{
1659
+ anchor: z.ZodObject<{
1660
+ text: z.ZodString;
1661
+ offsetX: z.ZodOptional<z.ZodNumber>;
1662
+ offsetY: z.ZodOptional<z.ZodNumber>;
1663
+ occurrence: z.ZodOptional<z.ZodNumber>;
1664
+ }, z.core.$strict>;
1665
+ width: z.ZodNumber;
1666
+ height: z.ZodNumber;
1667
+ }, z.core.$strict>]>;
1668
+ }, z.core.$strict>>>;
1669
+ kind: z.ZodLiteral<"file">;
1670
+ path: z.ZodString;
1671
+ checksum: z.ZodOptional<z.ZodString>;
1672
+ font: z.ZodOptional<z.ZodObject<{
1673
+ path: z.ZodString;
1674
+ checksum: z.ZodOptional<z.ZodString>;
1675
+ }, z.core.$strict>>;
1676
+ format: z.ZodOptional<z.ZodObject<{
1677
+ money: z.ZodOptional<z.ZodObject<{
1678
+ currencyDisplay: z.ZodLiteral<"none">;
1679
+ }, z.core.$strict>>;
1680
+ }, z.core.$strict>>;
1681
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1682
+ bindingsFrom: z.ZodOptional<z.ZodString>;
1683
+ }, z.core.$strict>], "kind">>>;
1684
+ defaultLayer: z.ZodOptional<z.ZodString>;
1685
+ }, z.core.$strict>, z.ZodObject<{
1686
+ $schema: z.ZodOptional<z.ZodURL>;
1687
+ name: z.ZodString;
1688
+ version: z.ZodOptional<z.ZodString>;
1689
+ title: z.ZodOptional<z.ZodString>;
1690
+ description: z.ZodOptional<z.ZodString>;
1691
+ code: z.ZodOptional<z.ZodString>;
1692
+ issuer: z.ZodOptional<z.ZodString>;
1693
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
1694
+ language: z.ZodOptional<z.ZodString>;
1695
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
1696
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1697
+ kind: z.ZodLiteral<"inline">;
1698
+ text: z.ZodString;
1699
+ }, z.core.$strict>, z.ZodObject<{
1700
+ kind: z.ZodLiteral<"file">;
1701
+ path: z.ZodString;
1702
+ mimeType: z.ZodString;
1703
+ title: z.ZodOptional<z.ZodString>;
1704
+ description: z.ZodOptional<z.ZodString>;
1705
+ checksum: z.ZodOptional<z.ZodString>;
1706
+ }, z.core.$strict>], "kind">>;
1707
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1708
+ kind: z.ZodLiteral<"inline">;
1709
+ text: z.ZodString;
1710
+ }, z.core.$strict>, z.ZodObject<{
1711
+ kind: z.ZodLiteral<"file">;
1712
+ path: z.ZodString;
1713
+ mimeType: z.ZodString;
1714
+ title: z.ZodOptional<z.ZodString>;
1715
+ description: z.ZodOptional<z.ZodString>;
1716
+ checksum: z.ZodOptional<z.ZodString>;
1717
+ }, z.core.$strict>], "kind">>;
1718
+ kind: z.ZodLiteral<"checklist">;
1719
+ items: z.ZodArray<z.ZodObject<{
1720
+ id: z.ZodString;
1721
+ title: z.ZodString;
1722
+ description: z.ZodOptional<z.ZodString>;
1723
+ status: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1724
+ kind: z.ZodLiteral<"boolean">;
1725
+ default: z.ZodOptional<z.ZodBoolean>;
1726
+ }, z.core.$strict>, z.ZodObject<{
1727
+ kind: z.ZodLiteral<"enum">;
1728
+ options: z.ZodArray<z.ZodObject<{
1729
+ value: z.ZodString;
1730
+ label: z.ZodString;
1731
+ description: z.ZodOptional<z.ZodString>;
1732
+ }, z.core.$strict>>;
1733
+ default: z.ZodOptional<z.ZodString>;
1734
+ }, z.core.$strict>], "kind">>;
1735
+ }, z.core.$strict>>;
1736
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
1737
+ title: z.ZodOptional<z.ZodString>;
1738
+ description: z.ZodOptional<z.ZodString>;
1739
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1740
+ party: z.ZodObject<{
1741
+ role: z.ZodString;
1742
+ index: z.ZodOptional<z.ZodNumber>;
1743
+ }, z.core.$strict>;
1744
+ type: z.ZodEnum<{
1745
+ signature: "signature";
1746
+ initials: "initials";
1747
+ date_signed: "date_signed";
1748
+ capacity: "capacity";
1749
+ printed_name: "printed_name";
1750
+ }>;
1751
+ required: z.ZodOptional<z.ZodBoolean>;
1752
+ label: z.ZodOptional<z.ZodString>;
1753
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
1754
+ page: z.ZodNumber;
1755
+ x: z.ZodNumber;
1756
+ y: z.ZodNumber;
1757
+ width: z.ZodNumber;
1758
+ height: z.ZodNumber;
1759
+ }, z.core.$strict>, z.ZodObject<{
1760
+ anchor: z.ZodObject<{
1761
+ text: z.ZodString;
1762
+ offsetX: z.ZodOptional<z.ZodNumber>;
1763
+ offsetY: z.ZodOptional<z.ZodNumber>;
1764
+ occurrence: z.ZodOptional<z.ZodNumber>;
1765
+ }, z.core.$strict>;
1766
+ width: z.ZodNumber;
1767
+ height: z.ZodNumber;
1768
+ }, z.core.$strict>]>;
1769
+ }, z.core.$strict>>>;
1770
+ kind: z.ZodLiteral<"inline">;
1771
+ mimeType: z.ZodString;
1772
+ text: z.ZodString;
1773
+ }, z.core.$strict>, z.ZodObject<{
1774
+ mimeType: z.ZodString;
1775
+ title: z.ZodOptional<z.ZodString>;
1776
+ description: z.ZodOptional<z.ZodString>;
1777
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1778
+ party: z.ZodObject<{
1779
+ role: z.ZodString;
1780
+ index: z.ZodOptional<z.ZodNumber>;
1781
+ }, z.core.$strict>;
1782
+ type: z.ZodEnum<{
1783
+ signature: "signature";
1784
+ initials: "initials";
1785
+ date_signed: "date_signed";
1786
+ capacity: "capacity";
1787
+ printed_name: "printed_name";
1788
+ }>;
1789
+ required: z.ZodOptional<z.ZodBoolean>;
1790
+ label: z.ZodOptional<z.ZodString>;
1791
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
1792
+ page: z.ZodNumber;
1793
+ x: z.ZodNumber;
1794
+ y: z.ZodNumber;
1795
+ width: z.ZodNumber;
1796
+ height: z.ZodNumber;
1797
+ }, z.core.$strict>, z.ZodObject<{
1798
+ anchor: z.ZodObject<{
1799
+ text: z.ZodString;
1800
+ offsetX: z.ZodOptional<z.ZodNumber>;
1801
+ offsetY: z.ZodOptional<z.ZodNumber>;
1802
+ occurrence: z.ZodOptional<z.ZodNumber>;
1803
+ }, z.core.$strict>;
1804
+ width: z.ZodNumber;
1805
+ height: z.ZodNumber;
1806
+ }, z.core.$strict>]>;
1807
+ }, z.core.$strict>>>;
1808
+ kind: z.ZodLiteral<"file">;
1809
+ path: z.ZodString;
1810
+ checksum: z.ZodOptional<z.ZodString>;
1811
+ font: z.ZodOptional<z.ZodObject<{
1812
+ path: z.ZodString;
1813
+ checksum: z.ZodOptional<z.ZodString>;
1814
+ }, z.core.$strict>>;
1815
+ format: z.ZodOptional<z.ZodObject<{
1816
+ money: z.ZodOptional<z.ZodObject<{
1817
+ currencyDisplay: z.ZodLiteral<"none">;
1818
+ }, z.core.$strict>>;
1819
+ }, z.core.$strict>>;
1820
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1821
+ bindingsFrom: z.ZodOptional<z.ZodString>;
1822
+ }, z.core.$strict>], "kind">>>;
1823
+ defaultLayer: z.ZodOptional<z.ZodString>;
1824
+ }, z.core.$strict>, z.ZodType<_asterdoc_types.Bundle, unknown, z.core.$ZodTypeInternals<_asterdoc_types.Bundle, unknown>>]>;
1825
+
1826
+ /** The longest regular expression a field `pattern` may hold. */
1827
+ declare const MAX_PATTERN_LENGTH = 500;
1828
+ /** Why a regular expression pattern is refused. */
1829
+ type PatternProblem = 'too_long' | 'invalid' | 'redos';
1830
+ /**
1831
+ * Find why a regular expression pattern is unsafe to compile, if it is.
1832
+ *
1833
+ * The pattern is compiled before the ReDoS check, so a syntax error is
1834
+ * reported as `invalid` and not as a ReDoS risk.
1835
+ */
1836
+ declare function findPatternProblem(pattern: string): PatternProblem | undefined;
1837
+ /** The message that states a pattern problem, such as "Pattern has invalid regular expression syntax". */
1838
+ declare function describePatternProblem(problem: PatternProblem, subject?: string): string;
1839
+ /** A field `pattern`: a regular expression that compiles and is safe from ReDoS. */
1840
+ declare const FieldPatternSchema: z.ZodString;
1841
+
1842
+ declare const ArtifactSchema: z.ZodObject<{
1843
+ $schema: z.ZodOptional<z.ZodURL>;
1844
+ name: z.ZodString;
1845
+ version: z.ZodOptional<z.ZodString>;
1846
+ title: z.ZodOptional<z.ZodString>;
1847
+ description: z.ZodOptional<z.ZodString>;
1848
+ code: z.ZodOptional<z.ZodString>;
1849
+ issuer: z.ZodOptional<z.ZodString>;
1850
+ edition: z.ZodOptional<z.ZodType<_asterdoc_types.ArtifactEdition, unknown, z.core.$ZodTypeInternals<_asterdoc_types.ArtifactEdition, unknown>>>;
1851
+ language: z.ZodOptional<z.ZodString>;
1852
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
1853
+ instructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1854
+ kind: z.ZodLiteral<"inline">;
1855
+ text: z.ZodString;
1856
+ }, z.core.$strict>, z.ZodObject<{
1857
+ kind: z.ZodLiteral<"file">;
1858
+ path: z.ZodString;
1859
+ mimeType: z.ZodString;
1860
+ title: z.ZodOptional<z.ZodString>;
1861
+ description: z.ZodOptional<z.ZodString>;
1862
+ checksum: z.ZodOptional<z.ZodString>;
1863
+ }, z.core.$strict>], "kind">>;
1864
+ agentInstructions: z.ZodOptional<z.ZodDiscriminatedUnion<[z.ZodObject<{
1865
+ kind: z.ZodLiteral<"inline">;
1866
+ text: z.ZodString;
1867
+ }, z.core.$strict>, z.ZodObject<{
1868
+ kind: z.ZodLiteral<"file">;
1869
+ path: z.ZodString;
1870
+ mimeType: z.ZodString;
1871
+ title: z.ZodOptional<z.ZodString>;
1872
+ description: z.ZodOptional<z.ZodString>;
1873
+ checksum: z.ZodOptional<z.ZodString>;
1874
+ }, z.core.$strict>], "kind">>;
1875
+ }, z.core.$strip>;
1876
+
1877
+ /**
1878
+ * An edition date at the issuer's precision: `YYYY`, `YYYY-MM` or
1879
+ * `YYYY-MM-DD`. A full date must name a day that exists: that branch is the
1880
+ * leap-aware date pattern of `z.iso.date`, so exported JSON Schema refuses
1881
+ * `2025-02-31` too.
1882
+ */
1883
+ declare const EDITION_DATE_PATTERN: RegExp;
1884
+ declare const ArtifactEditionSchema: z.ZodType<ArtifactEdition>;
1885
+
1886
+ /** A SHA-256 content checksum, written `sha256:` and 64 lowercase hex digits. */
1887
+ declare const ChecksumSchema: z.ZodString;
1888
+
1889
+ /** A person filling a party role: a Person with the `id` the fill assigns it. */
1890
+ declare const RuntimePersonSchema: z.ZodObject<{
1891
+ name: z.ZodString;
1892
+ title: z.ZodOptional<z.ZodString>;
1893
+ firstName: z.ZodOptional<z.ZodString>;
1894
+ middleName: z.ZodOptional<z.ZodString>;
1895
+ lastName: z.ZodOptional<z.ZodString>;
1896
+ suffix: z.ZodOptional<z.ZodString>;
1897
+ id: z.ZodString;
1898
+ }, z.core.$strict>;
1899
+ /** An organization filling a party role: an Organization with the `id` the fill assigns it. */
1900
+ declare const RuntimeOrganizationSchema: z.ZodObject<{
1901
+ name: z.ZodString;
1902
+ legalName: z.ZodOptional<z.ZodString>;
1903
+ domicile: z.ZodOptional<z.ZodString>;
1904
+ entityType: z.ZodOptional<z.ZodString>;
1905
+ entityId: z.ZodOptional<z.ZodString>;
1906
+ taxId: z.ZodOptional<z.ZodString>;
1907
+ id: z.ZodString;
1908
+ }, z.core.$strict>;
1909
+
1910
+ /**
1911
+ * Artifact name pattern
1912
+ *
1913
+ * Letters and digits, with single hyphens between them: no leading, trailing
1914
+ * or consecutive hyphens, and no underscores. It is the name rule for artifact
1915
+ * files, registry item files and lock file references.
1916
+ *
1917
+ * A registry manifest is stricter: its item names are lowercase only
1918
+ * (`COORDINATE_SEGMENT_PATTERN`), because a name there is a segment of a
1919
+ * reference such as `@acme/w-9`. Every manifest name passes this pattern, so
1920
+ * a registry can never list a name that core refuses to load; an artifact
1921
+ * file whose name has a capital letter cannot be listed under that name.
1922
+ */
1923
+ declare const ARTIFACT_NAME_PATTERN: RegExp;
1924
+ /** A camelCase identifier used for artifact-owned keys. */
1925
+ declare const IDENTIFIER_PATTERN: RegExp;
1926
+ /**
1927
+ * Registry namespace pattern
1928
+ *
1929
+ * An `@` followed by a letter or digit, then letters, digits, hyphens or
1930
+ * underscores. It is the one namespace rule for the project manifest, the
1931
+ * global config and artifact references.
1932
+ */
1933
+ declare const REGISTRY_NAMESPACE_PATTERN: RegExp;
1934
+ /**
1935
+ * Installed artifact reference pattern (`@namespace/name`), the key of each
1936
+ * lock file entry. The namespace is a registry namespace, or `@<hostname>` for
1937
+ * an artifact added by direct URL; the name follows the artifact name rule.
1938
+ */
1939
+ declare const ARTIFACT_REFERENCE_PATTERN: RegExp;
1940
+
1941
+ /**
1942
+ * Artifact version pattern
1943
+ *
1944
+ * A full SemVer 2.0.0 version, anchored at both ends. Prerelease and build
1945
+ * metadata are allowed; leading zeros and trailing text are not. It is the one
1946
+ * version rule for artifacts, registry items, the CLI and the platform
1947
+ * registry.
1948
+ */
1949
+ declare const ARTIFACT_VERSION_PATTERN: RegExp;
1950
+ /**
1951
+ * Registry version key pattern
1952
+ *
1953
+ * `ARTIFACT_VERSION_PATTERN` without build metadata: the version a registry
1954
+ * manifest lists a release under. Two versions that differ only in build
1955
+ * metadata have the same SemVer precedence, so a manifest could not say which
1956
+ * of them is the later one. A prerelease is allowed.
1957
+ */
1958
+ declare const REGISTRY_VERSION_PATTERN: RegExp;
1959
+ /**
1960
+ * Compare two versions by SemVer 2.0.0 precedence: negative when `a` is
1961
+ * earlier than `b`, positive when it is later, and zero when they have the
1962
+ * same precedence. Build metadata is ignored, as SemVer requires, so
1963
+ * `1.0.0+a` and `1.0.0+b` compare as equal.
1964
+ *
1965
+ * It never throws. A string that is not a SemVer version is earlier than
1966
+ * every version, and two such strings compare by code unit, so a sort that
1967
+ * uses it is always stable and total.
1968
+ */
1969
+ declare function compareArtifactVersions(a: string, b: string): number;
1970
+
1971
+ /**
1972
+ * A whole string that is one coordinate segment. It is the rule for an org, a
1973
+ * repo, and an artifact name in a registry: a platform coordinate and a file
1974
+ * registry manifest both name an artifact with it.
1975
+ */
1976
+ declare const COORDINATE_SEGMENT_PATTERN: RegExp;
1977
+ /** The edition selector for the artifact's current edition. */
1978
+ declare const CURRENT_EDITION = "current";
1979
+ /** The version selector for an edition's latest version. */
1980
+ declare const LATEST_VERSION = "latest";
1981
+ /**
1982
+ * Words an edition key may not be. `current` and `latest` are selectors;
1983
+ * `editions`, `tags` and `diff` name what follows an artifact in a registry
1984
+ * coordinate or URL (`@org/repo/w-9/editions`), so a key equal to one of
1985
+ * them could not be told apart from it.
1986
+ */
1987
+ declare const RESERVED_EDITION_KEYS: readonly ["current", "latest", "editions", "tags", "diff"];
1988
+ /** Whether a string is one of the reserved words an edition key may not be. */
1989
+ declare function isReservedEditionKey(value: string): boolean;
1990
+ /**
1991
+ * Edition key pattern
1992
+ *
1993
+ * Lowercase letters and digits with single hyphens between them, such as
1994
+ * `2024-03` or `3b`. An edition key is unique among the editions of one artifact,
1995
+ * is the edition segment of a coordinate, and is never one of
1996
+ * `RESERVED_EDITION_KEYS`. It never contains a dot, so it can never be
1997
+ * mistaken for a version.
1998
+ */
1999
+ declare const EDITION_KEY_PATTERN: RegExp;
2000
+ /** The longest edition key. */
2001
+ declare const EDITION_KEY_MAX_LENGTH = 64;
2002
+ /**
2003
+ * Edition key pattern for schemas: `EDITION_KEY_PATTERN` that also refuses
2004
+ * the reserved words, so exported JSON Schema enforces them too.
2005
+ */
2006
+ declare const EDITION_KEY_SCHEMA_PATTERN: RegExp;
2007
+ /**
2008
+ * An artifact address with no edition and no version: `@org/repo/name`. The
2009
+ * exported patterns use no named groups, so JSON Schema validators in other
2010
+ * languages accept them.
2011
+ */
2012
+ declare const ARTIFACT_ADDRESS_PATTERN: RegExp;
2013
+ /**
2014
+ * A full coordinate: `@org/repo/name`, an optional `/edition` (a key or
2015
+ * `current`), and an optional `@version` (a SemVer version or `latest`). It
2016
+ * accepts exactly the strings `parseArtifactCoordinate` parses.
2017
+ */
2018
+ declare const ARTIFACT_COORDINATE_PATTERN: RegExp;
2019
+ /** The parts of an artifact coordinate. */
2020
+ interface ArtifactCoordinate {
2021
+ readonly org: string;
2022
+ readonly repo: string;
2023
+ readonly name: string;
2024
+ /** An edition key. Omitted: the artifact's current edition. */
2025
+ readonly edition?: string;
2026
+ /** A SemVer version. Omitted: the latest version of the edition. */
2027
+ readonly version?: string;
2028
+ }
2029
+ /**
2030
+ * Parse a coordinate into its parts, or `undefined` when it is not one. The
2031
+ * selectors `current` and `latest` parse to an omitted edition and version.
2032
+ * A reserved word other than `current` in the edition position is not a
2033
+ * coordinate.
2034
+ */
2035
+ declare function parseArtifactCoordinate(value: string): ArtifactCoordinate | undefined;
2036
+ /**
2037
+ * Format coordinate parts as `@org/repo/name[/edition][@version]`. Parts that
2038
+ * are omitted stay omitted: the selectors `current` and `latest` are never
2039
+ * written, so a formatted coordinate names only what it was given.
2040
+ */
2041
+ declare function formatArtifactCoordinate(coordinate: ArtifactCoordinate): string;
2042
+ /**
2043
+ * Whether a string can stand in the edition position of a coordinate or a
2044
+ * registry path: an edition key, or the selector `current`.
2045
+ */
2046
+ declare function isEditionSelector(value: string): boolean;
2047
+ /**
2048
+ * Whether a string can stand in the version position: an exact SemVer
2049
+ * version, or the selector `latest`.
2050
+ */
2051
+ declare function isVersionSelector(value: string): boolean;
2052
+
2053
+ /** The longest artifact name a registry manifest lists. */
2054
+ declare const REGISTRY_ITEM_NAME_MAX_LENGTH = 128;
2055
+ /**
2056
+ * A full file registry reference: `@ns/name`, an optional `/edition` (a key
2057
+ * or `current`), and an optional `@version` (a SemVer version or `latest`).
2058
+ * It accepts exactly the strings `parseRegistryReference` parses, and uses no
2059
+ * named groups, so JSON Schema validators in other languages accept it.
2060
+ */
2061
+ declare const REGISTRY_REFERENCE_PATTERN: RegExp;
2062
+ /** The parts of a file registry reference. */
2063
+ interface RegistryReference {
2064
+ /** The registry namespace with its leading `@`, such as `@acme`. */
2065
+ readonly namespace: string;
2066
+ /** The artifact name: the `name` of an item in the registry manifest. */
2067
+ readonly name: string;
2068
+ /** An edition key. Omitted: the artifact's current edition. */
2069
+ readonly edition?: string;
2070
+ /** A SemVer version. Omitted: the latest version. */
2071
+ readonly version?: string;
2072
+ }
2073
+ /**
2074
+ * Parse a file registry reference into its parts, or `undefined` when it is
2075
+ * not one. The selectors `current` and `latest` parse to an omitted edition
2076
+ * and version. A reserved word other than `current` in the edition position
2077
+ * is not a reference.
2078
+ */
2079
+ declare function parseRegistryReference(value: string): RegistryReference | undefined;
2080
+ /**
2081
+ * Format reference parts as `@ns/name[/edition][@version]`, the inverse of
2082
+ * `parseRegistryReference`. Parts that are omitted stay omitted: the
2083
+ * selectors `current` and `latest` are never written.
2084
+ */
2085
+ declare function formatRegistryReference(reference: RegistryReference): string;
2086
+
2087
+ /**
2088
+ * An edition key as a field of its own: lowercase letters and digits with
2089
+ * single hyphens, never a reserved word.
2090
+ */
2091
+ declare const EditionKeySchema: z.ZodString;
2092
+ /**
2093
+ * The edition a request names, as a field of its own: an edition key, or
2094
+ * `current` for the artifact's current edition. `current` means the same as
2095
+ * leaving the field out.
2096
+ */
2097
+ declare const EditionSelectorSchema: z.ZodString;
2098
+ /**
2099
+ * The version a request names, as a field of its own: an exact SemVer
2100
+ * version, or `latest` for the edition's latest version. `latest` means the
2101
+ * same as leaving the field out.
2102
+ */
2103
+ declare const VersionSelectorSchema: z.ZodString;
2104
+ /**
2105
+ * A registry coordinate as a field of its own:
2106
+ * `@org/repo/name[/edition][@version]`, leading `@` optional. The pattern
2107
+ * accepts exactly what `parseArtifactCoordinate` parses, so exported JSON
2108
+ * Schema enforces the whole grammar.
2109
+ */
2110
+ declare const ArtifactCoordinateSchema: z.ZodString;
2111
+
2112
+ /**
2113
+ * Logic Expression Union Schema
2114
+ *
2115
+ * A discriminated union of all supported expression types.
2116
+ * The `type` property determines which schema variant applies.
2117
+ */
2118
+ declare const ExpressionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2119
+ label: z.ZodOptional<z.ZodString>;
2120
+ description: z.ZodOptional<z.ZodString>;
2121
+ type: z.ZodLiteral<"boolean">;
2122
+ value: z.ZodString;
2123
+ }, z.core.$strict>, z.ZodObject<{
2124
+ label: z.ZodOptional<z.ZodString>;
2125
+ description: z.ZodOptional<z.ZodString>;
2126
+ type: z.ZodLiteral<"string">;
2127
+ value: z.ZodString;
2128
+ }, z.core.$strict>, z.ZodObject<{
2129
+ label: z.ZodOptional<z.ZodString>;
2130
+ description: z.ZodOptional<z.ZodString>;
2131
+ type: z.ZodLiteral<"number">;
2132
+ value: z.ZodString;
2133
+ }, z.core.$strict>, z.ZodObject<{
2134
+ label: z.ZodOptional<z.ZodString>;
2135
+ description: z.ZodOptional<z.ZodString>;
2136
+ type: z.ZodLiteral<"integer">;
2137
+ value: z.ZodString;
2138
+ }, z.core.$strict>, z.ZodObject<{
2139
+ label: z.ZodOptional<z.ZodString>;
2140
+ description: z.ZodOptional<z.ZodString>;
2141
+ type: z.ZodLiteral<"percentage">;
2142
+ value: z.ZodString;
2143
+ }, z.core.$strict>, z.ZodObject<{
2144
+ label: z.ZodOptional<z.ZodString>;
2145
+ description: z.ZodOptional<z.ZodString>;
2146
+ type: z.ZodLiteral<"rating">;
2147
+ value: z.ZodString;
2148
+ }, z.core.$strict>, z.ZodObject<{
2149
+ label: z.ZodOptional<z.ZodString>;
2150
+ description: z.ZodOptional<z.ZodString>;
2151
+ type: z.ZodLiteral<"date">;
2152
+ value: z.ZodString;
2153
+ }, z.core.$strict>, z.ZodObject<{
2154
+ label: z.ZodOptional<z.ZodString>;
2155
+ description: z.ZodOptional<z.ZodString>;
2156
+ type: z.ZodLiteral<"time">;
2157
+ value: z.ZodString;
2158
+ }, z.core.$strict>, z.ZodObject<{
2159
+ label: z.ZodOptional<z.ZodString>;
2160
+ description: z.ZodOptional<z.ZodString>;
2161
+ type: z.ZodLiteral<"datetime">;
2162
+ value: z.ZodString;
2163
+ }, z.core.$strict>, z.ZodObject<{
2164
+ label: z.ZodOptional<z.ZodString>;
2165
+ description: z.ZodOptional<z.ZodString>;
2166
+ type: z.ZodLiteral<"duration">;
2167
+ value: z.ZodString;
2168
+ }, z.core.$strict>, z.ZodObject<{
2169
+ label: z.ZodOptional<z.ZodString>;
2170
+ description: z.ZodOptional<z.ZodString>;
2171
+ type: z.ZodLiteral<"money">;
2172
+ value: z.ZodObject<{
2173
+ amount: z.ZodString;
2174
+ currency: z.ZodString;
2175
+ }, z.core.$strict>;
2176
+ }, z.core.$strict>, z.ZodObject<{
2177
+ label: z.ZodOptional<z.ZodString>;
2178
+ description: z.ZodOptional<z.ZodString>;
2179
+ type: z.ZodLiteral<"address">;
2180
+ value: z.ZodObject<{
2181
+ line1: z.ZodString;
2182
+ line2: z.ZodOptional<z.ZodString>;
2183
+ locality: z.ZodString;
2184
+ region: z.ZodString;
2185
+ postalCode: z.ZodString;
2186
+ country: z.ZodString;
2187
+ }, z.core.$strict>;
2188
+ }, z.core.$strict>, z.ZodObject<{
2189
+ label: z.ZodOptional<z.ZodString>;
2190
+ description: z.ZodOptional<z.ZodString>;
2191
+ type: z.ZodLiteral<"phone">;
2192
+ value: z.ZodObject<{
2193
+ number: z.ZodString;
2194
+ type: z.ZodOptional<z.ZodString>;
2195
+ extension: z.ZodOptional<z.ZodString>;
2196
+ }, z.core.$strict>;
2197
+ }, z.core.$strict>, z.ZodObject<{
2198
+ label: z.ZodOptional<z.ZodString>;
2199
+ description: z.ZodOptional<z.ZodString>;
2200
+ type: z.ZodLiteral<"coordinate">;
2201
+ value: z.ZodObject<{
2202
+ lat: z.ZodString;
2203
+ lon: z.ZodString;
2204
+ }, z.core.$strict>;
2205
+ }, z.core.$strict>, z.ZodObject<{
2206
+ label: z.ZodOptional<z.ZodString>;
2207
+ description: z.ZodOptional<z.ZodString>;
2208
+ type: z.ZodLiteral<"bbox">;
2209
+ value: z.ZodObject<{
2210
+ southWest: z.ZodObject<{
2211
+ lat: z.ZodString;
2212
+ lon: z.ZodString;
2213
+ }, z.core.$strict>;
2214
+ northEast: z.ZodObject<{
2215
+ lat: z.ZodString;
2216
+ lon: z.ZodString;
2217
+ }, z.core.$strict>;
2218
+ }, z.core.$strict>;
2219
+ }, z.core.$strict>, z.ZodObject<{
2220
+ label: z.ZodOptional<z.ZodString>;
2221
+ description: z.ZodOptional<z.ZodString>;
2222
+ type: z.ZodLiteral<"person">;
2223
+ value: z.ZodObject<{
2224
+ name: z.ZodString;
2225
+ title: z.ZodOptional<z.ZodString>;
2226
+ firstName: z.ZodOptional<z.ZodString>;
2227
+ middleName: z.ZodOptional<z.ZodString>;
2228
+ lastName: z.ZodOptional<z.ZodString>;
2229
+ suffix: z.ZodOptional<z.ZodString>;
2230
+ }, z.core.$strict>;
2231
+ }, z.core.$strict>, z.ZodObject<{
2232
+ label: z.ZodOptional<z.ZodString>;
2233
+ description: z.ZodOptional<z.ZodString>;
2234
+ type: z.ZodLiteral<"organization">;
2235
+ value: z.ZodObject<{
2236
+ name: z.ZodString;
2237
+ legalName: z.ZodOptional<z.ZodString>;
2238
+ domicile: z.ZodOptional<z.ZodString>;
2239
+ entityType: z.ZodOptional<z.ZodString>;
2240
+ entityId: z.ZodOptional<z.ZodString>;
2241
+ taxId: z.ZodOptional<z.ZodString>;
2242
+ }, z.core.$strict>;
2243
+ }, z.core.$strict>, z.ZodObject<{
2244
+ label: z.ZodOptional<z.ZodString>;
2245
+ description: z.ZodOptional<z.ZodString>;
2246
+ type: z.ZodLiteral<"identification">;
2247
+ value: z.ZodObject<{
2248
+ type: z.ZodString;
2249
+ number: z.ZodString;
2250
+ issuer: z.ZodOptional<z.ZodString>;
2251
+ issueDate: z.ZodOptional<z.ZodString>;
2252
+ expiryDate: z.ZodOptional<z.ZodString>;
2253
+ }, z.core.$strict>;
2254
+ }, z.core.$strict>], "type">;
2255
+ /** Scalar expression types (value is a string expression) */
2256
+ declare const SCALAR_EXPRESSION_TYPES: ("string" | "number" | "boolean" | "date" | "datetime" | "time" | "duration" | "integer" | "percentage" | "rating")[];
2257
+ /** Object expression types (value is an object with property expressions) */
2258
+ declare const OBJECT_EXPRESSION_TYPES: ("money" | "address" | "phone" | "coordinate" | "bbox" | "person" | "organization" | "identification")[];
2259
+ /** All supported expression types */
2260
+ declare const ALL_EXPRESSION_TYPES: ("string" | "number" | "boolean" | "date" | "money" | "datetime" | "time" | "duration" | "integer" | "percentage" | "rating" | "address" | "phone" | "coordinate" | "bbox" | "person" | "organization" | "identification")[];
2261
+
2262
+ /**
2263
+ * Registry Entry Schemas
2264
+ *
2265
+ * Shared by the project manifest (asterdoc.json) and the global config
2266
+ * (~/.asterdoc/config.json): per-registry cache settings, registry entries,
2267
+ * and the output format for installed artifacts.
2268
+ */
2269
+
2270
+ /**
2271
+ * Per-registry cache configuration
2272
+ */
2273
+ declare const RegistryCacheConfigSchema: z.ZodObject<{
2274
+ ttl: z.ZodOptional<z.ZodNumber>;
2275
+ }, z.core.$strict>;
2276
+ /**
2277
+ * Registry entry with authentication
2278
+ */
2279
+ declare const RegistryEntryObjectSchema: z.ZodObject<{
2280
+ url: z.ZodURL;
2281
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2282
+ cache: z.ZodOptional<z.ZodObject<{
2283
+ ttl: z.ZodOptional<z.ZodNumber>;
2284
+ }, z.core.$strict>>;
2285
+ }, z.core.$strict>;
2286
+ /**
2287
+ * Registry entry - either a simple URL string or an object with auth
2288
+ */
2289
+ declare const RegistryEntrySchema: z.ZodUnion<readonly [z.ZodURL, z.ZodObject<{
2290
+ url: z.ZodURL;
2291
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2292
+ cache: z.ZodOptional<z.ZodObject<{
2293
+ ttl: z.ZodOptional<z.ZodNumber>;
2294
+ }, z.core.$strict>>;
2295
+ }, z.core.$strict>]>;
2296
+ /**
2297
+ * Output format for installed artifacts
2298
+ * - 'json': Raw JSON file only
2299
+ * - 'yaml': Raw YAML file only
2300
+ * - 'typed': JSON file with TypeScript declaration file (.d.ts) for type safety
2301
+ * - 'ts': TypeScript module with ready-to-use typed export
2302
+ */
2303
+ declare const ArtifactOutputFormatSchema: z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>;
2304
+ /**
2305
+ * TypeScript types
2306
+ */
2307
+ type RegistryCacheConfig = z.infer<typeof RegistryCacheConfigSchema>;
2308
+ type RegistryEntryObject = z.infer<typeof RegistryEntryObjectSchema>;
2309
+ type RegistryEntry = z.infer<typeof RegistryEntrySchema>;
2310
+ type ArtifactOutputFormat = z.infer<typeof ArtifactOutputFormatSchema>;
2311
+
2312
+ /**
2313
+ * Global Config Schema
2314
+ *
2315
+ * Defines the schema for ~/.asterdoc/config.json
2316
+ * Used to configure registries and default settings at the user level.
2317
+ */
2318
+
2319
+ /**
2320
+ * Global cache configuration
2321
+ */
2322
+ declare const CacheConfigSchema: z.ZodObject<{
2323
+ ttl: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2324
+ directory: z.ZodOptional<z.ZodString>;
2325
+ }, z.core.$strict>;
2326
+ /**
2327
+ * Default settings for artifact operations
2328
+ */
2329
+ declare const GlobalDefaultsSchema: z.ZodObject<{
2330
+ output: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>>>;
2331
+ artifactsDir: z.ZodOptional<z.ZodDefault<z.ZodString>>;
2332
+ }, z.core.$strict>;
2333
+ /**
2334
+ * Global config schema for ~/.asterdoc/config.json
2335
+ */
2336
+ declare const GlobalConfigSchema: z.ZodObject<{
2337
+ $schema: z.ZodOptional<z.ZodURL>;
2338
+ registries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodURL, z.ZodObject<{
2339
+ url: z.ZodURL;
2340
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2341
+ cache: z.ZodOptional<z.ZodObject<{
2342
+ ttl: z.ZodOptional<z.ZodNumber>;
2343
+ }, z.core.$strict>>;
2344
+ }, z.core.$strict>]>>>;
2345
+ defaults: z.ZodOptional<z.ZodObject<{
2346
+ output: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>>>;
2347
+ artifactsDir: z.ZodOptional<z.ZodDefault<z.ZodString>>;
2348
+ }, z.core.$strict>>;
2349
+ cache: z.ZodOptional<z.ZodObject<{
2350
+ ttl: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
2351
+ directory: z.ZodOptional<z.ZodString>;
2352
+ }, z.core.$strict>>;
2353
+ security: z.ZodOptional<z.ZodObject<{
2354
+ allowedContentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
2355
+ }, z.core.$strict>>;
2356
+ telemetry: z.ZodOptional<z.ZodObject<{
2357
+ enabled: z.ZodOptional<z.ZodBoolean>;
2358
+ }, z.core.$strict>>;
2359
+ anonymousId: z.ZodOptional<z.ZodUUID>;
2360
+ }, z.core.$strict>;
2361
+ /**
2362
+ * TypeScript types
2363
+ */
2364
+ type CacheConfig = z.infer<typeof CacheConfigSchema>;
2365
+ type GlobalDefaults = z.infer<typeof GlobalDefaultsSchema>;
2366
+ type GlobalConfig = z.infer<typeof GlobalConfigSchema>;
2367
+
2368
+ /**
2369
+ * Lock File Schema
2370
+ *
2371
+ * Defines the schema for .asterdoc/lock.json
2372
+ * Tracks installed artifacts for reproducibility.
2373
+ */
2374
+
2375
+ /**
2376
+ * Locked layer information
2377
+ */
2378
+ declare const LockedLayerSchema: z.ZodObject<{
2379
+ integrity: z.ZodString;
2380
+ path: z.ZodString;
2381
+ }, z.core.$strip>;
2382
+ /**
2383
+ * Locked artifact information
2384
+ */
2385
+ declare const LockedArtifactSchema: z.ZodObject<{
2386
+ kind: z.ZodEnum<{
2387
+ form: "form";
2388
+ document: "document";
2389
+ checklist: "checklist";
2390
+ bundle: "bundle";
2391
+ }>;
2392
+ edition: z.ZodOptional<z.ZodString>;
2393
+ version: z.ZodString;
2394
+ resolved: z.ZodURL;
2395
+ integrity: z.ZodString;
2396
+ installedAt: z.ZodISODateTime;
2397
+ output: z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>;
2398
+ path: z.ZodString;
2399
+ layers: z.ZodRecord<z.ZodString, z.ZodObject<{
2400
+ integrity: z.ZodString;
2401
+ path: z.ZodString;
2402
+ }, z.core.$strip>>;
2403
+ }, z.core.$strip>;
2404
+ /**
2405
+ * Lock file schema for .asterdoc/lock.json
2406
+ *
2407
+ * The format `version` stays 1. A locked artifact's `edition` is one new
2408
+ * optional field: every lock file written before it is still valid and means
2409
+ * what it meant, because `version`, `resolved` and `integrity` already name
2410
+ * one exact file. A new format number would only make readers refuse files
2411
+ * that need no change.
2412
+ */
2413
+ declare const LockFileSchema: z.ZodObject<{
2414
+ $schema: z.ZodOptional<z.ZodURL>;
2415
+ version: z.ZodDefault<z.ZodNumber>;
2416
+ artifacts: z.ZodRecord<z.ZodString, z.ZodObject<{
2417
+ kind: z.ZodEnum<{
2418
+ form: "form";
2419
+ document: "document";
2420
+ checklist: "checklist";
2421
+ bundle: "bundle";
2422
+ }>;
2423
+ edition: z.ZodOptional<z.ZodString>;
2424
+ version: z.ZodString;
2425
+ resolved: z.ZodURL;
2426
+ integrity: z.ZodString;
2427
+ installedAt: z.ZodISODateTime;
2428
+ output: z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>;
2429
+ path: z.ZodString;
2430
+ layers: z.ZodRecord<z.ZodString, z.ZodObject<{
2431
+ integrity: z.ZodString;
2432
+ path: z.ZodString;
2433
+ }, z.core.$strip>>;
2434
+ }, z.core.$strip>>;
2435
+ }, z.core.$strict>;
2436
+ /**
2437
+ * TypeScript types
2438
+ */
2439
+ type LockedLayer = z.infer<typeof LockedLayerSchema>;
2440
+ type LockedArtifact = z.infer<typeof LockedArtifactSchema>;
2441
+ type LockFile = z.infer<typeof LockFileSchema>;
2442
+
2443
+ /**
2444
+ * Registry Manifest Schema
2445
+ *
2446
+ * Defines the schema for registry.json: the one file that lists every
2447
+ * artifact a file registry serves, with every edition and version of each.
2448
+ *
2449
+ * A release is one version of one edition, or one version of an artifact
2450
+ * that has no editions. An item never states a fact two times: the item (or
2451
+ * the edition) names the default by its key, and the keyed lists hold the
2452
+ * facts. A reader never compares dates or version numbers to find a default;
2453
+ * it reads `currentEdition` and `latestVersion`, which the publisher states.
2454
+ */
2455
+
2456
+ /**
2457
+ * The name of an artifact in a manifest: one coordinate segment, so lowercase
2458
+ * letters and digits with single hyphens between them. It is the name segment
2459
+ * of a reference such as `@acme/w-9`.
2460
+ */
2461
+ declare const RegistryItemNameSchema: z.ZodString;
2462
+ /**
2463
+ * A version as the key of a `versions` object: a SemVer 2.0.0 version with no
2464
+ * build metadata. The pattern can never match the selectors `latest` and
2465
+ * `current`.
2466
+ */
2467
+ declare const RegistryVersionKeySchema: z.ZodString;
2468
+ /** The longest artifact file path a manifest lists. */
2469
+ declare const REGISTRY_ARTIFACT_PATH_MAX_LENGTH = 500;
2470
+ /**
2471
+ * Artifact file path pattern
2472
+ *
2473
+ * A path relative to the registry's base address. Segments are letters,
2474
+ * digits, dots, hyphens and underscores, separated by single forward slashes.
2475
+ * No leading slash, no `.` or `..` segment, no backslash, and nothing a URL
2476
+ * would read as an escape, a query or a fragment. The file name ends in
2477
+ * `.json`, `.yaml` or `.yml`.
2478
+ */
2479
+ declare const REGISTRY_ARTIFACT_PATH_PATTERN: RegExp;
2480
+ /**
2481
+ * One version of an artifact: where its file is, and the checksum of that file.
2482
+ */
2483
+ declare const RegistryVersionEntrySchema: z.ZodObject<{
2484
+ path: z.ZodString;
2485
+ sha256: z.ZodString;
2486
+ }, z.core.$strict>;
2487
+ /** The rule an empty `versions` object breaks. */
2488
+ declare const REGISTRY_VERSIONS_EMPTY_RULE = "Expected at least one version";
2489
+ /** The rule an empty `editions` object breaks. */
2490
+ declare const REGISTRY_EDITIONS_EMPTY_RULE = "Expected at least one edition";
2491
+ /**
2492
+ * The versions of one edition, or of an artifact that has no editions, keyed
2493
+ * by version.
2494
+ */
2495
+ declare const RegistryVersionsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
2496
+ path: z.ZodString;
2497
+ sha256: z.ZodString;
2498
+ }, z.core.$strict>>;
2499
+ /**
2500
+ * One edition of an artifact in a manifest: the artifact's own edition facts
2501
+ * without `key` (the key is the object key), and the edition's versions.
2502
+ */
2503
+ declare const RegistryEditionEntrySchema: z.ZodObject<{
2504
+ latestVersion: z.ZodString;
2505
+ versions: z.ZodRecord<z.ZodString, z.ZodObject<{
2506
+ path: z.ZodString;
2507
+ sha256: z.ZodString;
2508
+ }, z.core.$strict>>;
2509
+ label: z.ZodString;
2510
+ date: z.ZodOptional<z.ZodString>;
2511
+ effectiveFrom: z.ZodOptional<z.ZodISODate>;
2512
+ }, z.core.$strict>;
2513
+ /** The editions of an artifact, keyed by edition key. */
2514
+ declare const RegistryEditionsSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
2515
+ latestVersion: z.ZodString;
2516
+ versions: z.ZodRecord<z.ZodString, z.ZodObject<{
2517
+ path: z.ZodString;
2518
+ sha256: z.ZodString;
2519
+ }, z.core.$strict>>;
2520
+ label: z.ZodString;
2521
+ date: z.ZodOptional<z.ZodString>;
2522
+ effectiveFrom: z.ZodOptional<z.ZodISODate>;
2523
+ }, z.core.$strict>>;
2524
+ /** The rule an item with neither editions nor versions breaks. */
2525
+ declare const REGISTRY_ITEM_RELEASES_RULE = "Expected either currentEdition with editions (an artifact that has editions), or latestVersion with versions (an artifact that has none)";
2526
+ /** The rule an item with editions breaks when it also states versions of its own. */
2527
+ declare const REGISTRY_ITEM_EDITIONS_ONLY_RULE = "An artifact that has editions states latestVersion and versions inside each edition, never on the item";
2528
+ declare const RegistryItemObjectSchema: z.ZodObject<{
2529
+ name: z.ZodString;
2530
+ kind: z.ZodUnion<readonly [z.ZodLiteral<"form">, z.ZodLiteral<"document">, z.ZodLiteral<"checklist">, z.ZodLiteral<"bundle">]>;
2531
+ title: z.ZodOptional<z.ZodString>;
2532
+ description: z.ZodOptional<z.ZodString>;
2533
+ currentEdition: z.ZodOptional<z.ZodString>;
2534
+ editions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2535
+ latestVersion: z.ZodString;
2536
+ versions: z.ZodRecord<z.ZodString, z.ZodObject<{
2537
+ path: z.ZodString;
2538
+ sha256: z.ZodString;
2539
+ }, z.core.$strict>>;
2540
+ label: z.ZodString;
2541
+ date: z.ZodOptional<z.ZodString>;
2542
+ effectiveFrom: z.ZodOptional<z.ZodISODate>;
2543
+ }, z.core.$strict>>>;
2544
+ latestVersion: z.ZodOptional<z.ZodString>;
2545
+ versions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2546
+ path: z.ZodString;
2547
+ sha256: z.ZodString;
2548
+ }, z.core.$strict>>>;
2549
+ layers: z.ZodOptional<z.ZodArray<z.ZodString>>;
2550
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2551
+ }, z.core.$strict>;
2552
+ type RegistryItemFields = z.infer<typeof RegistryItemObjectSchema>;
2553
+ type RegistryItemCommon = Omit<RegistryItemFields, 'currentEdition' | 'editions' | 'latestVersion' | 'versions'>;
2554
+ /** A manifest item for an artifact that is issued in editions. */
2555
+ type RegistryItemWithEditions = RegistryItemCommon & {
2556
+ currentEdition: string;
2557
+ editions: RegistryEditions;
2558
+ latestVersion?: undefined;
2559
+ versions?: undefined;
2560
+ };
2561
+ /** A manifest item for an artifact that has no editions. */
2562
+ type RegistryItemWithVersions = RegistryItemCommon & {
2563
+ latestVersion: string;
2564
+ versions: RegistryVersions;
2565
+ currentEdition?: undefined;
2566
+ editions?: undefined;
2567
+ };
2568
+ /** One artifact in a manifest: with editions, or with versions of its own. */
2569
+ type RegistryItemSummary = RegistryItemWithEditions | RegistryItemWithVersions;
2570
+ /**
2571
+ * One artifact in a manifest. The refinement admits exactly the two forms of
2572
+ * `RegistryItemSummary`, so the schema is typed as that union and a reader
2573
+ * narrows on `item.editions`.
2574
+ */
2575
+ declare const RegistryItemSummarySchema: z.ZodType<RegistryItemSummary, RegistryItemFields>;
2576
+ /**
2577
+ * Registry manifest schema for registry.json
2578
+ */
2579
+ declare const RegistryIndexSchema: z.ZodObject<{
2580
+ $schema: z.ZodOptional<z.ZodURL>;
2581
+ name: z.ZodString;
2582
+ homepage: z.ZodOptional<z.ZodURL>;
2583
+ description: z.ZodOptional<z.ZodString>;
2584
+ enableTelemetry: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2585
+ enableDirectory: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
2586
+ items: z.ZodArray<z.ZodType<RegistryItemSummary, {
2587
+ name: string;
2588
+ kind: "form" | "document" | "checklist" | "bundle";
2589
+ title?: string | undefined;
2590
+ description?: string | undefined;
2591
+ currentEdition?: string | undefined;
2592
+ editions?: Record<string, {
2593
+ latestVersion: string;
2594
+ versions: Record<string, {
2595
+ path: string;
2596
+ sha256: string;
2597
+ }>;
2598
+ label: string;
2599
+ date?: string | undefined;
2600
+ effectiveFrom?: string | undefined;
2601
+ }> | undefined;
2602
+ latestVersion?: string | undefined;
2603
+ versions?: Record<string, {
2604
+ path: string;
2605
+ sha256: string;
2606
+ }> | undefined;
2607
+ layers?: string[] | undefined;
2608
+ tags?: string[] | undefined;
2609
+ }, z.core.$ZodTypeInternals<RegistryItemSummary, {
2610
+ name: string;
2611
+ kind: "form" | "document" | "checklist" | "bundle";
2612
+ title?: string | undefined;
2613
+ description?: string | undefined;
2614
+ currentEdition?: string | undefined;
2615
+ editions?: Record<string, {
2616
+ latestVersion: string;
2617
+ versions: Record<string, {
2618
+ path: string;
2619
+ sha256: string;
2620
+ }>;
2621
+ label: string;
2622
+ date?: string | undefined;
2623
+ effectiveFrom?: string | undefined;
2624
+ }> | undefined;
2625
+ latestVersion?: string | undefined;
2626
+ versions?: Record<string, {
2627
+ path: string;
2628
+ sha256: string;
2629
+ }> | undefined;
2630
+ layers?: string[] | undefined;
2631
+ tags?: string[] | undefined;
2632
+ }>>>;
2633
+ }, z.core.$strict>;
2634
+ /**
2635
+ * TypeScript types
2636
+ */
2637
+ type RegistryVersionEntry = z.infer<typeof RegistryVersionEntrySchema>;
2638
+ type RegistryVersions = z.infer<typeof RegistryVersionsSchema>;
2639
+ type RegistryEditionEntry = z.infer<typeof RegistryEditionEntrySchema>;
2640
+ type RegistryEditions = z.infer<typeof RegistryEditionsSchema>;
2641
+ type RegistryIndex = z.infer<typeof RegistryIndexSchema>;
2642
+
2643
+ /**
2644
+ * Registry releases
2645
+ *
2646
+ * A release is one version of one edition of an artifact, or one version of
2647
+ * an artifact that has no editions. These functions read a parsed manifest
2648
+ * item (`RegistryItemSummary`); every reader of a file registry shares them,
2649
+ * so a request resolves to the same release everywhere.
2650
+ *
2651
+ * They are pure: no network, no file access, and they never throw for a
2652
+ * request that names something the manifest does not list.
2653
+ */
2654
+
2655
+ /** The edition of a release: its key and the facts the issuer prints. */
2656
+ interface RegistryReleaseEdition {
2657
+ readonly key: string;
2658
+ readonly label: string;
2659
+ readonly date?: string;
2660
+ readonly effectiveFrom?: string;
2661
+ }
2662
+ /** One release of an artifact, as a manifest lists it. */
2663
+ interface RegistryRelease {
2664
+ /** The edition of the release, or `null` for an artifact that has no editions. */
2665
+ readonly edition: RegistryReleaseEdition | null;
2666
+ readonly version: string;
2667
+ /** The path of the artifact file, relative to the registry base address. */
2668
+ readonly path: string;
2669
+ /** SHA-256 digest of the artifact file, as 64 lowercase hex digits. */
2670
+ readonly sha256: string;
2671
+ }
2672
+ /** The release a request names. Each part is optional. */
2673
+ interface RegistryReleaseRequest {
2674
+ /** An edition key. Omitted, or `current`: the item's `currentEdition`. */
2675
+ readonly edition?: string;
2676
+ /** A version. Omitted, or `latest`: the `latestVersion` of the edition, or of the item. */
2677
+ readonly version?: string;
2678
+ }
2679
+ /**
2680
+ * Why a request names no release of an item, with what the item does list.
2681
+ *
2682
+ * - `no-editions`: the request names an edition, and the artifact has none.
2683
+ * - `unknown-edition`: the artifact has editions, and none has that key.
2684
+ * - `unknown-version`: the edition (or the artifact, when `edition` is
2685
+ * `null`) does not list that version.
2686
+ */
2687
+ type RegistryReleaseFailure = {
2688
+ readonly code: 'no-editions';
2689
+ readonly name: string;
2690
+ readonly edition: string;
2691
+ /** The versions the artifact lists, latest first. */
2692
+ readonly versions: readonly string[];
2693
+ } | {
2694
+ readonly code: 'unknown-edition';
2695
+ readonly name: string;
2696
+ readonly edition: string;
2697
+ readonly currentEdition: string;
2698
+ /** The edition keys the artifact lists, current first. */
2699
+ readonly editions: readonly string[];
2700
+ } | {
2701
+ readonly code: 'unknown-version';
2702
+ readonly name: string;
2703
+ /** The edition that was searched, or `null` for an artifact that has no editions. */
2704
+ readonly edition: string | null;
2705
+ readonly version: string;
2706
+ readonly latestVersion: string;
2707
+ /** The versions that edition (or the artifact) lists, latest first. */
2708
+ readonly versions: readonly string[];
2709
+ };
2710
+ /** The result of resolving a request: the release, or the reason there is none. */
2711
+ type RegistryReleaseResolution = {
2712
+ readonly ok: true;
2713
+ readonly release: RegistryRelease;
2714
+ } | {
2715
+ readonly ok: false;
2716
+ readonly failure: RegistryReleaseFailure;
2717
+ };
2718
+ /** One version in a release list. */
2719
+ interface RegistryListedVersion {
2720
+ readonly version: string;
2721
+ readonly path: string;
2722
+ readonly sha256: string;
2723
+ /** Whether this is the `latestVersion` of its edition, or of the item. */
2724
+ readonly isLatest: boolean;
2725
+ }
2726
+ /** The versions of one edition, or of an artifact that has no editions, for display. */
2727
+ interface RegistryReleaseGroup {
2728
+ /** The edition, or `null` for an artifact that has no editions. */
2729
+ readonly edition: RegistryReleaseEdition | null;
2730
+ /** Whether this is the item's `currentEdition`. Always true when `edition` is `null`. */
2731
+ readonly isCurrent: boolean;
2732
+ readonly latestVersion: string;
2733
+ /** The latest version first, then the others from the highest SemVer precedence down. */
2734
+ readonly versions: readonly RegistryListedVersion[];
2735
+ }
2736
+ /**
2737
+ * Resolve a request to one release of a manifest item.
2738
+ *
2739
+ * - No edition, or `current`: the item's `currentEdition`. On an artifact
2740
+ * that has no editions it means the artifact itself, so it never fails.
2741
+ * - No version, or `latest`: the `latestVersion` of that edition, or of the
2742
+ * item.
2743
+ * - Anything else must be a key the item lists.
2744
+ *
2745
+ * It reads the publisher's `currentEdition` and `latestVersion` and never
2746
+ * compares dates or version numbers. It returns a failure, and never throws,
2747
+ * for a request the item does not list.
2748
+ */
2749
+ declare function resolveRegistryRelease(item: RegistryItemSummary, request?: RegistryReleaseRequest): RegistryReleaseResolution;
2750
+ /**
2751
+ * One sentence that says what a failed request named and what the item
2752
+ * lists, for an error a person reads.
2753
+ */
2754
+ declare function describeRegistryReleaseFailure(failure: RegistryReleaseFailure): string;
2755
+ /**
2756
+ * List every release of a manifest item in a stable order for display.
2757
+ *
2758
+ * An artifact that has editions gives one group for each edition: the current
2759
+ * edition first, then the others by key, highest first. An artifact that has
2760
+ * none gives one group whose `edition` is `null`. In each group the latest
2761
+ * version is first, then the others from the highest SemVer precedence down.
2762
+ *
2763
+ * The order is for display only. The default release is always the one
2764
+ * `resolveRegistryRelease` returns for an empty request.
2765
+ */
2766
+ declare function listRegistryReleases(item: RegistryItemSummary): RegistryReleaseGroup[];
2767
+
2768
+ /**
2769
+ * Registry Item Schema
2770
+ *
2771
+ * Defines the schema for r/{name}.json
2772
+ * Individual artifact served from a registry.
2773
+ *
2774
+ * Its file layer is the artifact file layer with a `url` field, so a
2775
+ * registry can serve every layer key an artifact defines.
2776
+ */
2777
+
2778
+ /**
2779
+ * Inline layer for registry items
2780
+ */
2781
+ declare const RegistryInlineLayerSchema: z.ZodObject<{
2782
+ mimeType: z.ZodString;
2783
+ title: z.ZodOptional<z.ZodString>;
2784
+ description: z.ZodOptional<z.ZodString>;
2785
+ checksum: z.ZodOptional<z.ZodString>;
2786
+ kind: z.ZodLiteral<"inline">;
2787
+ text: z.ZodString;
2788
+ bindings: z.ZodOptional<z.ZodNever>;
2789
+ bindingsFrom: z.ZodOptional<z.ZodNever>;
2790
+ }, z.core.$strip>;
2791
+ /**
2792
+ * File layer for registry items: the artifact file layer, plus the URL to
2793
+ * download the layer file from.
2794
+ */
2795
+ declare const RegistryFileLayerSchema: z.ZodObject<{
2796
+ mimeType: z.ZodString;
2797
+ title: z.ZodOptional<z.ZodString>;
2798
+ description: z.ZodOptional<z.ZodString>;
2799
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2800
+ party: z.ZodObject<{
2801
+ role: z.ZodString;
2802
+ index: z.ZodOptional<z.ZodNumber>;
2803
+ }, z.core.$strict>;
2804
+ type: z.ZodEnum<{
2805
+ signature: "signature";
2806
+ initials: "initials";
2807
+ date_signed: "date_signed";
2808
+ capacity: "capacity";
2809
+ printed_name: "printed_name";
2810
+ }>;
2811
+ required: z.ZodOptional<z.ZodBoolean>;
2812
+ label: z.ZodOptional<z.ZodString>;
2813
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
2814
+ page: z.ZodNumber;
2815
+ x: z.ZodNumber;
2816
+ y: z.ZodNumber;
2817
+ width: z.ZodNumber;
2818
+ height: z.ZodNumber;
2819
+ }, z.core.$strict>, z.ZodObject<{
2820
+ anchor: z.ZodObject<{
2821
+ text: z.ZodString;
2822
+ offsetX: z.ZodOptional<z.ZodNumber>;
2823
+ offsetY: z.ZodOptional<z.ZodNumber>;
2824
+ occurrence: z.ZodOptional<z.ZodNumber>;
2825
+ }, z.core.$strict>;
2826
+ width: z.ZodNumber;
2827
+ height: z.ZodNumber;
2828
+ }, z.core.$strict>]>;
2829
+ }, z.core.$strict>>>;
2830
+ kind: z.ZodLiteral<"file">;
2831
+ path: z.ZodString;
2832
+ checksum: z.ZodOptional<z.ZodString>;
2833
+ font: z.ZodOptional<z.ZodObject<{
2834
+ path: z.ZodString;
2835
+ checksum: z.ZodOptional<z.ZodString>;
2836
+ }, z.core.$strict>>;
2837
+ format: z.ZodOptional<z.ZodObject<{
2838
+ money: z.ZodOptional<z.ZodObject<{
2839
+ currencyDisplay: z.ZodLiteral<"none">;
2840
+ }, z.core.$strict>>;
2841
+ }, z.core.$strict>>;
2842
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2843
+ bindingsFrom: z.ZodOptional<z.ZodString>;
2844
+ url: z.ZodOptional<z.ZodURL>;
2845
+ }, z.core.$strict>;
2846
+ /**
2847
+ * Registry layer union
2848
+ */
2849
+ declare const RegistryLayerSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
2850
+ mimeType: z.ZodString;
2851
+ title: z.ZodOptional<z.ZodString>;
2852
+ description: z.ZodOptional<z.ZodString>;
2853
+ checksum: z.ZodOptional<z.ZodString>;
2854
+ kind: z.ZodLiteral<"inline">;
2855
+ text: z.ZodString;
2856
+ bindings: z.ZodOptional<z.ZodNever>;
2857
+ bindingsFrom: z.ZodOptional<z.ZodNever>;
2858
+ }, z.core.$strip>, z.ZodObject<{
2859
+ mimeType: z.ZodString;
2860
+ title: z.ZodOptional<z.ZodString>;
2861
+ description: z.ZodOptional<z.ZodString>;
2862
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2863
+ party: z.ZodObject<{
2864
+ role: z.ZodString;
2865
+ index: z.ZodOptional<z.ZodNumber>;
2866
+ }, z.core.$strict>;
2867
+ type: z.ZodEnum<{
2868
+ signature: "signature";
2869
+ initials: "initials";
2870
+ date_signed: "date_signed";
2871
+ capacity: "capacity";
2872
+ printed_name: "printed_name";
2873
+ }>;
2874
+ required: z.ZodOptional<z.ZodBoolean>;
2875
+ label: z.ZodOptional<z.ZodString>;
2876
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
2877
+ page: z.ZodNumber;
2878
+ x: z.ZodNumber;
2879
+ y: z.ZodNumber;
2880
+ width: z.ZodNumber;
2881
+ height: z.ZodNumber;
2882
+ }, z.core.$strict>, z.ZodObject<{
2883
+ anchor: z.ZodObject<{
2884
+ text: z.ZodString;
2885
+ offsetX: z.ZodOptional<z.ZodNumber>;
2886
+ offsetY: z.ZodOptional<z.ZodNumber>;
2887
+ occurrence: z.ZodOptional<z.ZodNumber>;
2888
+ }, z.core.$strict>;
2889
+ width: z.ZodNumber;
2890
+ height: z.ZodNumber;
2891
+ }, z.core.$strict>]>;
2892
+ }, z.core.$strict>>>;
2893
+ kind: z.ZodLiteral<"file">;
2894
+ path: z.ZodString;
2895
+ checksum: z.ZodOptional<z.ZodString>;
2896
+ font: z.ZodOptional<z.ZodObject<{
2897
+ path: z.ZodString;
2898
+ checksum: z.ZodOptional<z.ZodString>;
2899
+ }, z.core.$strict>>;
2900
+ format: z.ZodOptional<z.ZodObject<{
2901
+ money: z.ZodOptional<z.ZodObject<{
2902
+ currencyDisplay: z.ZodLiteral<"none">;
2903
+ }, z.core.$strict>>;
2904
+ }, z.core.$strict>>;
2905
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2906
+ bindingsFrom: z.ZodOptional<z.ZodString>;
2907
+ url: z.ZodOptional<z.ZodURL>;
2908
+ }, z.core.$strict>], "kind">;
2909
+ /**
2910
+ * Registry item schema - the full artifact served from registry
2911
+ *
2912
+ * Note: This is intentionally loose to accommodate all artifact kinds.
2913
+ * The CLI validates against the full artifact schema after fetching.
2914
+ */
2915
+ declare const RegistryItemSchema: z.ZodObject<{
2916
+ $schema: z.ZodOptional<z.ZodURL>;
2917
+ kind: z.ZodUnion<readonly [z.ZodLiteral<"form">, z.ZodLiteral<"document">, z.ZodLiteral<"checklist">, z.ZodLiteral<"bundle">]>;
2918
+ name: z.ZodString;
2919
+ version: z.ZodString;
2920
+ title: z.ZodOptional<z.ZodString>;
2921
+ description: z.ZodOptional<z.ZodString>;
2922
+ layers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodDiscriminatedUnion<[z.ZodObject<{
2923
+ mimeType: z.ZodString;
2924
+ title: z.ZodOptional<z.ZodString>;
2925
+ description: z.ZodOptional<z.ZodString>;
2926
+ checksum: z.ZodOptional<z.ZodString>;
2927
+ kind: z.ZodLiteral<"inline">;
2928
+ text: z.ZodString;
2929
+ bindings: z.ZodOptional<z.ZodNever>;
2930
+ bindingsFrom: z.ZodOptional<z.ZodNever>;
2931
+ }, z.core.$strip>, z.ZodObject<{
2932
+ mimeType: z.ZodString;
2933
+ title: z.ZodOptional<z.ZodString>;
2934
+ description: z.ZodOptional<z.ZodString>;
2935
+ signatures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
2936
+ party: z.ZodObject<{
2937
+ role: z.ZodString;
2938
+ index: z.ZodOptional<z.ZodNumber>;
2939
+ }, z.core.$strict>;
2940
+ type: z.ZodEnum<{
2941
+ signature: "signature";
2942
+ initials: "initials";
2943
+ date_signed: "date_signed";
2944
+ capacity: "capacity";
2945
+ printed_name: "printed_name";
2946
+ }>;
2947
+ required: z.ZodOptional<z.ZodBoolean>;
2948
+ label: z.ZodOptional<z.ZodString>;
2949
+ placement: z.ZodUnion<readonly [z.ZodLiteral<"flow">, z.ZodObject<{
2950
+ page: z.ZodNumber;
2951
+ x: z.ZodNumber;
2952
+ y: z.ZodNumber;
2953
+ width: z.ZodNumber;
2954
+ height: z.ZodNumber;
2955
+ }, z.core.$strict>, z.ZodObject<{
2956
+ anchor: z.ZodObject<{
2957
+ text: z.ZodString;
2958
+ offsetX: z.ZodOptional<z.ZodNumber>;
2959
+ offsetY: z.ZodOptional<z.ZodNumber>;
2960
+ occurrence: z.ZodOptional<z.ZodNumber>;
2961
+ }, z.core.$strict>;
2962
+ width: z.ZodNumber;
2963
+ height: z.ZodNumber;
2964
+ }, z.core.$strict>]>;
2965
+ }, z.core.$strict>>>;
2966
+ kind: z.ZodLiteral<"file">;
2967
+ path: z.ZodString;
2968
+ checksum: z.ZodOptional<z.ZodString>;
2969
+ font: z.ZodOptional<z.ZodObject<{
2970
+ path: z.ZodString;
2971
+ checksum: z.ZodOptional<z.ZodString>;
2972
+ }, z.core.$strict>>;
2973
+ format: z.ZodOptional<z.ZodObject<{
2974
+ money: z.ZodOptional<z.ZodObject<{
2975
+ currencyDisplay: z.ZodLiteral<"none">;
2976
+ }, z.core.$strict>>;
2977
+ }, z.core.$strict>>;
2978
+ bindings: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2979
+ bindingsFrom: z.ZodOptional<z.ZodString>;
2980
+ url: z.ZodOptional<z.ZodURL>;
2981
+ }, z.core.$strict>], "kind">>>;
2982
+ defaultLayer: z.ZodOptional<z.ZodString>;
2983
+ }, z.core.$loose>;
2984
+ /**
2985
+ * TypeScript types
2986
+ */
2987
+ type RegistryInlineLayer = z.infer<typeof RegistryInlineLayerSchema>;
2988
+ type RegistryFileLayer = z.infer<typeof RegistryFileLayerSchema>;
2989
+ type RegistryLayer = z.infer<typeof RegistryLayerSchema>;
2990
+ type RegistryItem = z.infer<typeof RegistryItemSchema>;
2991
+
2992
+ /**
2993
+ * Asterdoc Project Manifest Schema
2994
+ *
2995
+ * Defines the schema for `asterdoc.json` files that identify
2996
+ * a directory as an Asterdoc project.
2997
+ */
2998
+
2999
+ /**
3000
+ * Artifact configuration for the project
3001
+ */
3002
+ declare const ManifestArtifactConfigSchema: z.ZodObject<{
3003
+ dir: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3004
+ output: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>>>;
3005
+ }, z.core.$strict>;
3006
+ /**
3007
+ * Manifest schema for asterdoc.json project files
3008
+ */
3009
+ declare const ManifestSchema: z.ZodObject<{
3010
+ $schema: z.ZodOptional<z.ZodURL>;
3011
+ name: z.ZodString;
3012
+ title: z.ZodString;
3013
+ description: z.ZodOptional<z.ZodString>;
3014
+ visibility: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"public">, z.ZodLiteral<"private">]>>;
3015
+ registries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodURL, z.ZodObject<{
3016
+ url: z.ZodURL;
3017
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3018
+ cache: z.ZodOptional<z.ZodObject<{
3019
+ ttl: z.ZodOptional<z.ZodNumber>;
3020
+ }, z.core.$strict>>;
3021
+ }, z.core.$strict>]>>>;
3022
+ artifacts: z.ZodOptional<z.ZodObject<{
3023
+ dir: z.ZodOptional<z.ZodDefault<z.ZodString>>;
3024
+ output: z.ZodOptional<z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<"json">, z.ZodLiteral<"yaml">, z.ZodLiteral<"typed">, z.ZodLiteral<"ts">]>>>;
3025
+ }, z.core.$strict>>;
3026
+ cache: z.ZodOptional<z.ZodObject<{
3027
+ ttl: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
3028
+ directory: z.ZodOptional<z.ZodString>;
3029
+ }, z.core.$strict>>;
3030
+ security: z.ZodOptional<z.ZodObject<{
3031
+ allowedContentTypes: z.ZodOptional<z.ZodArray<z.ZodString>>;
3032
+ }, z.core.$strict>>;
3033
+ }, z.core.$strict>;
3034
+ type ManifestArtifactConfig = z.infer<typeof ManifestArtifactConfigSchema>;
3035
+ type Manifest = z.infer<typeof ManifestSchema>;
3036
+
3037
+ /** Dated schema address that serialized artifacts carry: the current schema version. */
3038
+ declare const ASTERDOC_SCHEMA_URL: string;
3039
+
3040
+ export { ALL_EXPRESSION_TYPES, ARTIFACT_ADDRESS_PATTERN, ARTIFACT_COORDINATE_PATTERN, ARTIFACT_NAME_PATTERN, ARTIFACT_REFERENCE_PATTERN, ARTIFACT_VERSION_PATTERN, ASTERDOC_SCHEMA_URL, AddressSchema, type ArtifactCoordinate, ArtifactCoordinateSchema, ArtifactEditionSchema, type ArtifactOutputFormat, ArtifactOutputFormatSchema, ArtifactSchema, AsterdocRegistry, AsterdocSchema, AttachmentSchema, BboxSchema, BundleContentItemSchema, BundleSchema, CONFIG_SCHEMA_ID, COORDINATE_SEGMENT_PATTERN, CURRENT_EDITION, type CacheConfig, ChecklistItemSchema, ChecklistSchema, ChecksumSchema, CondExprSchema, ContentRefSchema, CoordinateSchema, CurrencyCodeSchema, DOCX_MIME_TYPE, DefsSectionSchema, DocumentSchema, DurationSchema, EDITION_DATE_PATTERN, EDITION_KEY_MAX_LENGTH, EDITION_KEY_PATTERN, EDITION_KEY_SCHEMA_PATTERN, EditionKeySchema, EditionSelectorSchema, ExpressionSchema, FORM_FIELD_TYPES, FieldPatternSchema, FieldsetFieldSchema, FormAnnexSchema, FormFieldSchema, type FormFieldType, FormPartySchema, FormSchema, type GlobalConfig, GlobalConfigSchema, type GlobalDefaults, GlobalDefaultsSchema, IDENTIFIER_PATTERN, ISO_8601_DURATION_PATTERN, ISO_8601_DURATION_REGEX, IdentificationSchema, LATEST_VERSION, LAYER_BINDINGS_RULE, LOCK_SCHEMA_ID, LayerSchema, ListFieldSchema, type LockFile, LockFileSchema, type LockedArtifact, LockedArtifactSchema, type LockedLayer, LockedLayerSchema, MANIFEST_SCHEMA_ID, MAX_PATTERN_LENGTH, type Manifest, type ManifestArtifactConfig, ManifestSchema, MetadataSchema, MoneySchema, OBJECT_EXPRESSION_TYPES, OrganizationSchema, type PatternProblem, PersonSchema, PhoneSchema, REACT_LAYER_FORM_ONLY_RULE, REACT_LAYER_MIME_PATTERN, REACT_LAYER_MIME_TYPES, REACT_LAYER_RULE, REGISTRY_ARTIFACT_PATH_MAX_LENGTH, REGISTRY_ARTIFACT_PATH_PATTERN, REGISTRY_EDITIONS_EMPTY_RULE, REGISTRY_ITEM_EDITIONS_ONLY_RULE, REGISTRY_ITEM_NAME_MAX_LENGTH, REGISTRY_ITEM_RELEASES_RULE, REGISTRY_ITEM_SCHEMA_ID, REGISTRY_NAMESPACE_PATTERN, REGISTRY_REFERENCE_PATTERN, REGISTRY_SCHEMA_ID, REGISTRY_VERSIONS_EMPTY_RULE, REGISTRY_VERSION_PATTERN, RESERVED_EDITION_KEYS, type RegistryCacheConfig, RegistryCacheConfigSchema, type RegistryEditionEntry, RegistryEditionEntrySchema, type RegistryEditions, RegistryEditionsSchema, type RegistryEntry, type RegistryEntryObject, RegistryEntryObjectSchema, RegistryEntrySchema, type RegistryFileLayer, RegistryFileLayerSchema, type RegistryIndex, RegistryIndexSchema, type RegistryInlineLayer, RegistryInlineLayerSchema, type RegistryItem, RegistryItemNameSchema, RegistryItemSchema, type RegistryItemSummary, RegistryItemSummarySchema, type RegistryItemWithEditions, type RegistryItemWithVersions, type RegistryLayer, RegistryLayerSchema, type RegistryListedVersion, type RegistryReference, type RegistryRelease, type RegistryReleaseEdition, type RegistryReleaseFailure, type RegistryReleaseGroup, type RegistryReleaseRequest, type RegistryReleaseResolution, type RegistryVersionEntry, RegistryVersionEntrySchema, RegistryVersionKeySchema, type RegistryVersions, RegistryVersionsSchema, RuleSeveritySchema, RulesSectionSchema, RuntimeOrganizationSchema, RuntimePersonSchema, SCALAR_EXPRESSION_TYPES, SCHEMA_BASE, SCHEMA_ROOT_ID, SCHEMA_VERSION, SCHEMA_VERSIONED_ID, SCHEMA_VERSIONS, type SchemaAddress, type SchemaVersion, SignatureSchema, SignatureSlotSchema, SignatureSlotTypeSchema, TEXT_TEMPLATE_MIME_TYPES, ValidationRuleSchema, VersionSelectorSchema, compareArtifactVersions, describePatternProblem, describeRegistryReleaseFailure, findPatternProblem, formatArtifactCoordinate, formatRegistryReference, isDocxMimeType, isEditionSelector, isPdfMimeType, isReactLayerMimeType, isReservedEditionKey, isSchemaVersion, isTextTemplateMimeType, isVersionSelector, listRegistryReleases, parseArtifactCoordinate, parseRegistryReference, readSchemaAddress, resolveRegistryRelease, schemaId, schemaVersionUrl };