@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.
- package/LICENSE +25 -0
- package/README.md +76 -2
- package/dist/index.d.ts +3040 -0
- package/dist/index.js +2096 -0
- package/package.json +82 -3
- package/schemas/2026-10-28/address.json +53 -0
- package/schemas/2026-10-28/attachment.json +31 -0
- package/schemas/2026-10-28/bbox.json +22 -0
- package/schemas/2026-10-28/bundle-content-item.json +122 -0
- package/schemas/2026-10-28/bundle.json +267 -0
- package/schemas/2026-10-28/checklist-item.json +113 -0
- package/schemas/2026-10-28/checklist.json +300 -0
- package/schemas/2026-10-28/cond-expr.json +18 -0
- package/schemas/2026-10-28/content-ref.json +76 -0
- package/schemas/2026-10-28/coordinate.json +26 -0
- package/schemas/2026-10-28/defs-section.json +862 -0
- package/schemas/2026-10-28/document.json +292 -0
- package/schemas/2026-10-28/duration.json +8 -0
- package/schemas/2026-10-28/fieldset-field.json +49 -0
- package/schemas/2026-10-28/form-annex.json +33 -0
- package/schemas/2026-10-28/form-field.json +1037 -0
- package/schemas/2026-10-28/form-party.json +150 -0
- package/schemas/2026-10-28/form.json +369 -0
- package/schemas/2026-10-28/identification.json +44 -0
- package/schemas/2026-10-28/layer.json +556 -0
- package/schemas/2026-10-28/list-field.json +51 -0
- package/schemas/2026-10-28/metadata.json +35 -0
- package/schemas/2026-10-28/money.json +25 -0
- package/schemas/2026-10-28/organization.json +49 -0
- package/schemas/2026-10-28/person.json +49 -0
- package/schemas/2026-10-28/phone.json +32 -0
- package/schemas/2026-10-28/rule-severity.json +11 -0
- package/schemas/2026-10-28/rules-section.json +46 -0
- package/schemas/2026-10-28/signature.json +68 -0
- package/schemas/2026-10-28/validation-rule.json +34 -0
- package/schemas/2026-10-28.json +4636 -0
- package/schemas/config.json +174 -0
- package/schemas/lock.json +151 -0
- package/schemas/manifest.json +184 -0
- package/schemas/registry-item.json +488 -0
- package/schemas/registry.json +281 -0
- package/schemas/schema.json +4636 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.asterdoc.com/2026-10-28/checklist-item.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"id": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"minLength": 1,
|
|
9
|
+
"maxLength": 128,
|
|
10
|
+
"description": "Unique identifier for the checklist item (e.g., \"task-1\", \"step-a\"). Used to link to runtime status."
|
|
11
|
+
},
|
|
12
|
+
"title": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"minLength": 1,
|
|
15
|
+
"maxLength": 500,
|
|
16
|
+
"description": "Title or label for the checklist item"
|
|
17
|
+
},
|
|
18
|
+
"description": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"minLength": 1,
|
|
21
|
+
"maxLength": 2000,
|
|
22
|
+
"description": "Detailed description or instructions for the item"
|
|
23
|
+
},
|
|
24
|
+
"status": {
|
|
25
|
+
"oneOf": [
|
|
26
|
+
{
|
|
27
|
+
"type": "object",
|
|
28
|
+
"properties": {
|
|
29
|
+
"kind": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"const": "boolean"
|
|
32
|
+
},
|
|
33
|
+
"default": {
|
|
34
|
+
"type": "boolean",
|
|
35
|
+
"description": "Default status value (true/false) for new instances"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"required": [
|
|
39
|
+
"kind"
|
|
40
|
+
],
|
|
41
|
+
"additionalProperties": false,
|
|
42
|
+
"title": "BooleanStatusSpec",
|
|
43
|
+
"description": "Boolean status (e.g., incomplete/complete) with an optional default value."
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"type": "object",
|
|
47
|
+
"properties": {
|
|
48
|
+
"kind": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"const": "enum"
|
|
51
|
+
},
|
|
52
|
+
"options": {
|
|
53
|
+
"minItems": 1,
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"properties": {
|
|
58
|
+
"value": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1,
|
|
61
|
+
"maxLength": 64,
|
|
62
|
+
"description": "Internal status value (e.g., \"todo\", \"in-progress\", \"done\")"
|
|
63
|
+
},
|
|
64
|
+
"label": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"minLength": 1,
|
|
67
|
+
"maxLength": 256,
|
|
68
|
+
"description": "Human-readable label for the status option"
|
|
69
|
+
},
|
|
70
|
+
"description": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"minLength": 1,
|
|
73
|
+
"maxLength": 2000,
|
|
74
|
+
"description": "Optional description or help text for this status option"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"value",
|
|
79
|
+
"label"
|
|
80
|
+
],
|
|
81
|
+
"additionalProperties": false,
|
|
82
|
+
"title": "EnumStatusOption"
|
|
83
|
+
},
|
|
84
|
+
"description": "Allowed status options"
|
|
85
|
+
},
|
|
86
|
+
"default": {
|
|
87
|
+
"type": "string",
|
|
88
|
+
"minLength": 1,
|
|
89
|
+
"maxLength": 64,
|
|
90
|
+
"description": "Default status value for new instances (must match one of the option values)"
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"required": [
|
|
94
|
+
"kind",
|
|
95
|
+
"options"
|
|
96
|
+
],
|
|
97
|
+
"additionalProperties": false,
|
|
98
|
+
"title": "EnumStatusSpec",
|
|
99
|
+
"description": "Enum-based status with a set of allowed options and an optional default."
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"title": "StatusSpec",
|
|
103
|
+
"description": "Specification for how checklist item status should be represented (boolean or enum)."
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
"required": [
|
|
107
|
+
"id",
|
|
108
|
+
"title"
|
|
109
|
+
],
|
|
110
|
+
"additionalProperties": false,
|
|
111
|
+
"description": "A single item in a checklist artifact. Each item has an ID, title, optional description, and an optional status specification (boolean or enum). If status is omitted, a default boolean status may be assumed (implementation-defined).",
|
|
112
|
+
"title": "ChecklistItem"
|
|
113
|
+
}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.asterdoc.com/2026-10-28/checklist.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"$schema": {
|
|
7
|
+
"type": "string",
|
|
8
|
+
"format": "uri",
|
|
9
|
+
"description": "JSON Schema URI for this artifact instance."
|
|
10
|
+
},
|
|
11
|
+
"name": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"minLength": 1,
|
|
14
|
+
"maxLength": 128,
|
|
15
|
+
"pattern": "^[A-Za-z0-9]([A-Za-z0-9]|-[A-Za-z0-9])*$",
|
|
16
|
+
"description": "Artifact identifier. Must start with a letter or digit, can contain letters, numbers, and hyphens (no leading/trailing/consecutive hyphens). Every edition of one artifact shares the same name."
|
|
17
|
+
},
|
|
18
|
+
"version": {
|
|
19
|
+
"type": "string",
|
|
20
|
+
"minLength": 1,
|
|
21
|
+
"maxLength": 200,
|
|
22
|
+
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
|
|
23
|
+
"description": "Artifact version (SemVer 2.0.0, such as 1.2.3 or 1.3.0-beta.1). It counts the publisher's own changes, never the issuer's edition; each edition has its own version line. Required for publishing to registry."
|
|
24
|
+
},
|
|
25
|
+
"title": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1,
|
|
28
|
+
"maxLength": 200,
|
|
29
|
+
"description": "Human-readable title. Recommended for published/shared artifacts and directory browsing."
|
|
30
|
+
},
|
|
31
|
+
"description": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"minLength": 0,
|
|
34
|
+
"maxLength": 2000,
|
|
35
|
+
"description": "Detailed description or context for the artifact."
|
|
36
|
+
},
|
|
37
|
+
"code": {
|
|
38
|
+
"type": "string",
|
|
39
|
+
"minLength": 1,
|
|
40
|
+
"maxLength": 200,
|
|
41
|
+
"description": "The form number as printed by its issuer, such as W-9 or ACORD 25, or a self-issued form's own number."
|
|
42
|
+
},
|
|
43
|
+
"issuer": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1,
|
|
46
|
+
"maxLength": 200,
|
|
47
|
+
"description": "The organization that issues the form, such as U.S. Internal Revenue Service."
|
|
48
|
+
},
|
|
49
|
+
"edition": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"properties": {
|
|
52
|
+
"key": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"minLength": 1,
|
|
55
|
+
"maxLength": 64,
|
|
56
|
+
"pattern": "^(?!(?:current|latest|editions|tags|diff)$)[a-z0-9]([a-z0-9]|-[a-z0-9])*$",
|
|
57
|
+
"description": "Stable edition identifier, unique among the editions of one artifact (for example 2024-03 or 3b). Lowercase letters and digits with single hyphens, and not current, latest, editions, tags or diff. It is the edition segment of a coordinate such as @org/repo/w-9/2024-03 and never changes once published."
|
|
58
|
+
},
|
|
59
|
+
"label": {
|
|
60
|
+
"type": "string",
|
|
61
|
+
"minLength": 1,
|
|
62
|
+
"maxLength": 200,
|
|
63
|
+
"description": "The issuer's edition text exactly as printed, such as \"Rev. March 2024\". For display only."
|
|
64
|
+
},
|
|
65
|
+
"date": {
|
|
66
|
+
"type": "string",
|
|
67
|
+
"pattern": "^(?:\\d{4}(?:-(?:0[1-9]|1[0-2]))?|(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8]))))$",
|
|
68
|
+
"description": "When the issuer released the edition, at the precision the issuer gives: YYYY, YYYY-MM or YYYY-MM-DD."
|
|
69
|
+
},
|
|
70
|
+
"effectiveFrom": {
|
|
71
|
+
"type": "string",
|
|
72
|
+
"format": "date",
|
|
73
|
+
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$",
|
|
74
|
+
"description": "The date the edition takes effect. Only when the issuer prints one."
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"required": [
|
|
78
|
+
"key",
|
|
79
|
+
"label"
|
|
80
|
+
],
|
|
81
|
+
"additionalProperties": false,
|
|
82
|
+
"title": "ArtifactEdition",
|
|
83
|
+
"description": "The issuer's edition this artifact encodes. Omitted for artifacts that are not issued in editions."
|
|
84
|
+
},
|
|
85
|
+
"language": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"minLength": 2,
|
|
88
|
+
"maxLength": 35,
|
|
89
|
+
"pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
|
|
90
|
+
"description": "BCP 47-style source language tag for this artifact. Defaults to en when omitted."
|
|
91
|
+
},
|
|
92
|
+
"metadata": {
|
|
93
|
+
"description": "Custom key-value pairs for storing domain-specific or organizational metadata",
|
|
94
|
+
"$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Metadata"
|
|
95
|
+
},
|
|
96
|
+
"instructions": {
|
|
97
|
+
"oneOf": [
|
|
98
|
+
{
|
|
99
|
+
"type": "object",
|
|
100
|
+
"properties": {
|
|
101
|
+
"kind": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"const": "inline"
|
|
104
|
+
},
|
|
105
|
+
"text": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"minLength": 1,
|
|
108
|
+
"maxLength": 1000000,
|
|
109
|
+
"description": "Inline text content"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"required": [
|
|
113
|
+
"kind",
|
|
114
|
+
"text"
|
|
115
|
+
],
|
|
116
|
+
"additionalProperties": false,
|
|
117
|
+
"title": "InlineContentRef",
|
|
118
|
+
"description": "Inline content reference with embedded text"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"type": "object",
|
|
122
|
+
"properties": {
|
|
123
|
+
"kind": {
|
|
124
|
+
"type": "string",
|
|
125
|
+
"const": "file"
|
|
126
|
+
},
|
|
127
|
+
"path": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"minLength": 1,
|
|
130
|
+
"maxLength": 1000,
|
|
131
|
+
"description": "Path to the content file"
|
|
132
|
+
},
|
|
133
|
+
"mimeType": {
|
|
134
|
+
"type": "string",
|
|
135
|
+
"minLength": 1,
|
|
136
|
+
"maxLength": 100,
|
|
137
|
+
"description": "MIME type of the file content"
|
|
138
|
+
},
|
|
139
|
+
"title": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"minLength": 1,
|
|
142
|
+
"maxLength": 200,
|
|
143
|
+
"description": "Human-readable title"
|
|
144
|
+
},
|
|
145
|
+
"description": {
|
|
146
|
+
"type": "string",
|
|
147
|
+
"minLength": 1,
|
|
148
|
+
"maxLength": 2000,
|
|
149
|
+
"description": "Description of the content"
|
|
150
|
+
},
|
|
151
|
+
"checksum": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"pattern": "^sha256:[a-f0-9]{64}$",
|
|
154
|
+
"description": "SHA-256 checksum for integrity verification"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"required": [
|
|
158
|
+
"kind",
|
|
159
|
+
"path",
|
|
160
|
+
"mimeType"
|
|
161
|
+
],
|
|
162
|
+
"additionalProperties": false,
|
|
163
|
+
"title": "FileContentRef",
|
|
164
|
+
"description": "File content reference with path and metadata"
|
|
165
|
+
}
|
|
166
|
+
],
|
|
167
|
+
"title": "ContentRef",
|
|
168
|
+
"description": "Domain or compliance reference content (e.g., IRS instructions, regulatory guidance)"
|
|
169
|
+
},
|
|
170
|
+
"agentInstructions": {
|
|
171
|
+
"oneOf": [
|
|
172
|
+
{
|
|
173
|
+
"type": "object",
|
|
174
|
+
"properties": {
|
|
175
|
+
"kind": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"const": "inline"
|
|
178
|
+
},
|
|
179
|
+
"text": {
|
|
180
|
+
"type": "string",
|
|
181
|
+
"minLength": 1,
|
|
182
|
+
"maxLength": 1000000,
|
|
183
|
+
"description": "Inline text content"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"required": [
|
|
187
|
+
"kind",
|
|
188
|
+
"text"
|
|
189
|
+
],
|
|
190
|
+
"additionalProperties": false,
|
|
191
|
+
"title": "InlineContentRef",
|
|
192
|
+
"description": "Inline content reference with embedded text"
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"type": "object",
|
|
196
|
+
"properties": {
|
|
197
|
+
"kind": {
|
|
198
|
+
"type": "string",
|
|
199
|
+
"const": "file"
|
|
200
|
+
},
|
|
201
|
+
"path": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"minLength": 1,
|
|
204
|
+
"maxLength": 1000,
|
|
205
|
+
"description": "Path to the content file"
|
|
206
|
+
},
|
|
207
|
+
"mimeType": {
|
|
208
|
+
"type": "string",
|
|
209
|
+
"minLength": 1,
|
|
210
|
+
"maxLength": 100,
|
|
211
|
+
"description": "MIME type of the file content"
|
|
212
|
+
},
|
|
213
|
+
"title": {
|
|
214
|
+
"type": "string",
|
|
215
|
+
"minLength": 1,
|
|
216
|
+
"maxLength": 200,
|
|
217
|
+
"description": "Human-readable title"
|
|
218
|
+
},
|
|
219
|
+
"description": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"minLength": 1,
|
|
222
|
+
"maxLength": 2000,
|
|
223
|
+
"description": "Description of the content"
|
|
224
|
+
},
|
|
225
|
+
"checksum": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"pattern": "^sha256:[a-f0-9]{64}$",
|
|
228
|
+
"description": "SHA-256 checksum for integrity verification"
|
|
229
|
+
}
|
|
230
|
+
},
|
|
231
|
+
"required": [
|
|
232
|
+
"kind",
|
|
233
|
+
"path",
|
|
234
|
+
"mimeType"
|
|
235
|
+
],
|
|
236
|
+
"additionalProperties": false,
|
|
237
|
+
"title": "FileContentRef",
|
|
238
|
+
"description": "File content reference with path and metadata"
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"title": "ContentRef",
|
|
242
|
+
"description": "LLM/agent prompts for field ordering, grouping, tone, and presentation guidance"
|
|
243
|
+
},
|
|
244
|
+
"kind": {
|
|
245
|
+
"type": "string",
|
|
246
|
+
"const": "checklist"
|
|
247
|
+
},
|
|
248
|
+
"items": {
|
|
249
|
+
"type": "array",
|
|
250
|
+
"items": {
|
|
251
|
+
"$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/ChecklistItem"
|
|
252
|
+
},
|
|
253
|
+
"description": "Array of checklist items. Each item represents a task, step, or requirement."
|
|
254
|
+
},
|
|
255
|
+
"layers": {
|
|
256
|
+
"type": "object",
|
|
257
|
+
"propertyNames": {
|
|
258
|
+
"type": "string",
|
|
259
|
+
"minLength": 1,
|
|
260
|
+
"maxLength": 100,
|
|
261
|
+
"pattern": "^[a-z][a-zA-Z0-9_]*$",
|
|
262
|
+
"description": "Layer identifier (camelCase, starts with lowercase letter)"
|
|
263
|
+
},
|
|
264
|
+
"additionalProperties": {
|
|
265
|
+
"$ref": "https://schema.asterdoc.com/2026-10-28.json#/$defs/Layer"
|
|
266
|
+
},
|
|
267
|
+
"description": "Named layers for rendering this checklist into different formats. Keys are user-defined identifiers (e.g., markdown, pdf, html)",
|
|
268
|
+
"allOf": [
|
|
269
|
+
{
|
|
270
|
+
"additionalProperties": {
|
|
271
|
+
"not": {
|
|
272
|
+
"properties": {
|
|
273
|
+
"mimeType": {
|
|
274
|
+
"pattern": "^(?:[tT][eE][xX][tT]/[tT][sS][xX]|[tT][eE][xX][tT]/[jJ][sS][xX])$"
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"required": [
|
|
278
|
+
"mimeType"
|
|
279
|
+
]
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
]
|
|
284
|
+
},
|
|
285
|
+
"defaultLayer": {
|
|
286
|
+
"type": "string",
|
|
287
|
+
"minLength": 1,
|
|
288
|
+
"maxLength": 100,
|
|
289
|
+
"description": "Key of the default layer to use when none specified at render time"
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"required": [
|
|
293
|
+
"name",
|
|
294
|
+
"kind",
|
|
295
|
+
"items"
|
|
296
|
+
],
|
|
297
|
+
"additionalProperties": false,
|
|
298
|
+
"description": "A checklist artifact containing an ordered list of items to track. Each item may define how its status should be represented at runtime (boolean or enum).",
|
|
299
|
+
"title": "Checklist"
|
|
300
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.asterdoc.com/2026-10-28/cond-expr.json",
|
|
4
|
+
"anyOf": [
|
|
5
|
+
{
|
|
6
|
+
"type": "boolean",
|
|
7
|
+
"description": "Literal boolean value"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"type": "string",
|
|
11
|
+
"minLength": 1,
|
|
12
|
+
"maxLength": 2000,
|
|
13
|
+
"description": "Expression string - either inline expression or reference to a defs key"
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
"description": "Conditional expression: boolean literal or expression string",
|
|
17
|
+
"title": "CondExpr"
|
|
18
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.asterdoc.com/2026-10-28/content-ref.json",
|
|
4
|
+
"oneOf": [
|
|
5
|
+
{
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"kind": {
|
|
9
|
+
"type": "string",
|
|
10
|
+
"const": "inline"
|
|
11
|
+
},
|
|
12
|
+
"text": {
|
|
13
|
+
"type": "string",
|
|
14
|
+
"minLength": 1,
|
|
15
|
+
"maxLength": 1000000,
|
|
16
|
+
"description": "Inline text content"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": [
|
|
20
|
+
"kind",
|
|
21
|
+
"text"
|
|
22
|
+
],
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"title": "InlineContentRef",
|
|
25
|
+
"description": "Inline content reference with embedded text"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"type": "object",
|
|
29
|
+
"properties": {
|
|
30
|
+
"kind": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"const": "file"
|
|
33
|
+
},
|
|
34
|
+
"path": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"minLength": 1,
|
|
37
|
+
"maxLength": 1000,
|
|
38
|
+
"description": "Path to the content file"
|
|
39
|
+
},
|
|
40
|
+
"mimeType": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"minLength": 1,
|
|
43
|
+
"maxLength": 100,
|
|
44
|
+
"description": "MIME type of the file content"
|
|
45
|
+
},
|
|
46
|
+
"title": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"minLength": 1,
|
|
49
|
+
"maxLength": 200,
|
|
50
|
+
"description": "Human-readable title"
|
|
51
|
+
},
|
|
52
|
+
"description": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"minLength": 1,
|
|
55
|
+
"maxLength": 2000,
|
|
56
|
+
"description": "Description of the content"
|
|
57
|
+
},
|
|
58
|
+
"checksum": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"pattern": "^sha256:[a-f0-9]{64}$",
|
|
61
|
+
"description": "SHA-256 checksum for integrity verification"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"required": [
|
|
65
|
+
"kind",
|
|
66
|
+
"path",
|
|
67
|
+
"mimeType"
|
|
68
|
+
],
|
|
69
|
+
"additionalProperties": false,
|
|
70
|
+
"title": "FileContentRef",
|
|
71
|
+
"description": "File content reference with path and metadata"
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"description": "Content reference — inline text or file reference",
|
|
75
|
+
"title": "ContentRef"
|
|
76
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schema.asterdoc.com/2026-10-28/coordinate.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"properties": {
|
|
6
|
+
"lat": {
|
|
7
|
+
"type": "number",
|
|
8
|
+
"minimum": -90,
|
|
9
|
+
"maximum": 90,
|
|
10
|
+
"description": "Latitude in decimal degrees (WGS84), range -90 (South Pole) to 90 (North Pole)"
|
|
11
|
+
},
|
|
12
|
+
"lon": {
|
|
13
|
+
"type": "number",
|
|
14
|
+
"minimum": -180,
|
|
15
|
+
"maximum": 180,
|
|
16
|
+
"description": "Longitude in decimal degrees (WGS84), range -180 (west) to 180 (east)"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": [
|
|
20
|
+
"lat",
|
|
21
|
+
"lon"
|
|
22
|
+
],
|
|
23
|
+
"additionalProperties": false,
|
|
24
|
+
"description": "Geographic coordinate (WGS84) with latitude and longitude in decimal degrees",
|
|
25
|
+
"title": "Coordinate"
|
|
26
|
+
}
|