lighthouse 13.5.0-dev.20261008 → 13.5.0-dev.20261009
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/.agents/skills/update-ard-port/SKILL.md +170 -0
- package/cli/test/smokehouse/config/exclusions.js +1 -1
- package/core/audits/agentic/ard-schema.d.ts +13 -0
- package/core/audits/agentic/ard-schema.js +81 -33
- package/core/audits/agentic/llms-txt.js +5 -2
- package/core/audits/long-tasks.js +2 -1
- package/core/audits/seo/robots-txt.js +3 -8
- package/core/computed/page-dependency-graph.js +0 -4
- package/core/gather/gatherers/agentic/ard.d.ts +59 -4
- package/core/gather/gatherers/agentic/ard.js +218 -56
- package/package.json +5 -6
- package/shared/localization/locales/en-US.json +13 -4
- package/shared/localization/locales/en-XL.json +13 -4
- package/third-party/ard/README.md +18 -9
- package/third-party/ard/ard-test.js +183 -266
- package/third-party/ard/ard.d.ts +17 -1
- package/third-party/ard/ard.js +276 -45
- package/third-party/ard/schema-validator.d.ts +14 -5
- package/third-party/ard/schema-validator.js +921 -1177
- package/third-party/ard/spec/schemas/ard-entry.schema.json +176 -0
- package/types/artifacts.d.ts +29 -5
- package/build-tracker.config.js +0 -16
- package/third-party/ard/spec/schemas/ai-catalog.schema.json +0 -292
|
@@ -11,360 +11,224 @@
|
|
|
11
11
|
import {fullFormats} from 'ajv-formats/dist/formats.js';
|
|
12
12
|
|
|
13
13
|
"use strict";
|
|
14
|
-
export const
|
|
15
|
-
|
|
16
|
-
const schema31 = {
|
|
17
|
-
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
18
|
-
"$id": "https://raw.githubusercontent.com/ards-project/ard-spec/main/spec/schemas/ai-catalog.schema.json",
|
|
19
|
-
"title": "AICatalogManifest",
|
|
20
|
-
"description": "JSON Schema for the ai-catalog.json capability manifest, defining how AI artifacts are advertised.",
|
|
14
|
+
export const ArdManifest = validate25;
|
|
15
|
+
const schema35 = {
|
|
21
16
|
"type": "object",
|
|
17
|
+
"description": "The document published at /.well-known/ard.json (or any entry source). ARD requires only an `entries` array of ARD entries; any other top-level members are transport-defined and ignored by ARD, so additionalProperties is open.",
|
|
22
18
|
"required": [
|
|
23
|
-
"specVersion",
|
|
24
19
|
"entries"
|
|
25
20
|
],
|
|
26
21
|
"properties": {
|
|
27
|
-
"specVersion": {
|
|
28
|
-
"type": "string",
|
|
29
|
-
"description": "Version of the ai-catalog specification used in this manifest.",
|
|
30
|
-
"enum": [
|
|
31
|
-
"1.0"
|
|
32
|
-
]
|
|
33
|
-
},
|
|
34
|
-
"host": {
|
|
35
|
-
"type": "object",
|
|
36
|
-
"description": "Information about the catalog publisher or hosting entity.",
|
|
37
|
-
"required": [
|
|
38
|
-
"displayName"
|
|
39
|
-
],
|
|
40
|
-
"properties": {
|
|
41
|
-
"displayName": {
|
|
42
|
-
"type": "string",
|
|
43
|
-
"description": "Human-readable name of the host."
|
|
44
|
-
},
|
|
45
|
-
"identifier": {
|
|
46
|
-
"type": "string",
|
|
47
|
-
"description": "Cryptographic or verifiable identifier of the host (e.g. did:web:domain.com)."
|
|
48
|
-
},
|
|
49
|
-
"documentationUrl": {
|
|
50
|
-
"type": "string",
|
|
51
|
-
"format": "uri",
|
|
52
|
-
"description": "URL to publisher documentation."
|
|
53
|
-
},
|
|
54
|
-
"logoUrl": {
|
|
55
|
-
"type": "string",
|
|
56
|
-
"format": "uri",
|
|
57
|
-
"description": "URL to the publisher's logo image."
|
|
58
|
-
},
|
|
59
|
-
"trustManifest": {
|
|
60
|
-
"$ref": "#/$defs/trustManifest"
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
"additionalProperties": false
|
|
64
|
-
},
|
|
65
22
|
"entries": {
|
|
66
23
|
"type": "array",
|
|
67
|
-
"description": "List of AI agent or capability catalog entries.",
|
|
68
24
|
"items": {
|
|
69
|
-
"$ref": "#/$defs/
|
|
25
|
+
"$ref": "#/$defs/ArdEntry"
|
|
70
26
|
}
|
|
71
27
|
}
|
|
72
28
|
},
|
|
73
|
-
"additionalProperties":
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
29
|
+
"additionalProperties": true
|
|
30
|
+
};
|
|
31
|
+
const schema32 = {
|
|
32
|
+
"description": "A complete ARD entry, as published. Requires the discovery-critical terms and exactly one of url/data.",
|
|
33
|
+
"allOf": [
|
|
34
|
+
{
|
|
35
|
+
"$ref": "#/$defs/EntryFields"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"required": [
|
|
39
|
+
"identifier",
|
|
40
|
+
"displayName",
|
|
41
|
+
"type"
|
|
42
|
+
],
|
|
43
|
+
"oneOf": [
|
|
44
|
+
{
|
|
78
45
|
"required": [
|
|
79
|
-
"
|
|
80
|
-
"displayName",
|
|
81
|
-
"type"
|
|
82
|
-
],
|
|
83
|
-
"oneOf": [
|
|
84
|
-
{
|
|
85
|
-
"required": [
|
|
86
|
-
"url"
|
|
87
|
-
],
|
|
88
|
-
"not": {
|
|
89
|
-
"required": [
|
|
90
|
-
"data"
|
|
91
|
-
]
|
|
92
|
-
}
|
|
93
|
-
},
|
|
94
|
-
{
|
|
95
|
-
"required": [
|
|
96
|
-
"data"
|
|
97
|
-
],
|
|
98
|
-
"not": {
|
|
99
|
-
"required": [
|
|
100
|
-
"url"
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
}
|
|
46
|
+
"url"
|
|
104
47
|
],
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
|
|
109
|
-
"description": "RFC 8141-compliant unique logical URN formatted as: urn:air:<publisher>:<namespace>:<agent-name>"
|
|
110
|
-
},
|
|
111
|
-
"displayName": {
|
|
112
|
-
"type": "string",
|
|
113
|
-
"description": "Human-friendly display name."
|
|
114
|
-
},
|
|
115
|
-
"type": {
|
|
116
|
-
"type": "string",
|
|
117
|
-
"description": "IANA Media Type indicating the specific protocol wrapper or payload structure (e.g. application/mcp-server-card+json)."
|
|
118
|
-
},
|
|
119
|
-
"url": {
|
|
120
|
-
"type": "string",
|
|
121
|
-
"format": "uri",
|
|
122
|
-
"description": "HTTP URL reference to retrieve the full artifact document."
|
|
123
|
-
},
|
|
124
|
-
"data": {
|
|
125
|
-
"type": "object",
|
|
126
|
-
"description": "Embedded JSON object containing the complete artifact specification inline."
|
|
127
|
-
},
|
|
128
|
-
"description": {
|
|
129
|
-
"type": "string",
|
|
130
|
-
"description": "Brief natural-language description of the capability."
|
|
131
|
-
},
|
|
132
|
-
"tags": {
|
|
133
|
-
"type": "array",
|
|
134
|
-
"items": {
|
|
135
|
-
"type": "string"
|
|
136
|
-
},
|
|
137
|
-
"description": "Tags or keywords for basic categorizing and filtering."
|
|
138
|
-
},
|
|
139
|
-
"capabilities": {
|
|
140
|
-
"type": "array",
|
|
141
|
-
"items": {
|
|
142
|
-
"type": "string"
|
|
143
|
-
},
|
|
144
|
-
"description": "Explicit high-performance indexing tags representing skills, tools, or functions (e.g. ['WeatherTool', 'ForecastTool'])."
|
|
145
|
-
},
|
|
146
|
-
"representativeQueries": {
|
|
147
|
-
"type": "array",
|
|
148
|
-
"minItems": 2,
|
|
149
|
-
"maxItems": 5,
|
|
150
|
-
"items": {
|
|
151
|
-
"type": "string"
|
|
152
|
-
},
|
|
153
|
-
"description": "Representative natural-language search queries used for indexing and vector embedding generation."
|
|
154
|
-
},
|
|
155
|
-
"version": {
|
|
156
|
-
"type": "string",
|
|
157
|
-
"description": "Semantic version of the capability."
|
|
158
|
-
},
|
|
159
|
-
"updatedAt": {
|
|
160
|
-
"type": "string",
|
|
161
|
-
"format": "date-time",
|
|
162
|
-
"description": "ISO 8601 timestamp of the last modification."
|
|
163
|
-
},
|
|
164
|
-
"metadata": {
|
|
165
|
-
"type": "object",
|
|
166
|
-
"description": "Arbitrary key-value pairs for custom extensions.",
|
|
167
|
-
"additionalProperties": {
|
|
168
|
-
"type": [
|
|
169
|
-
"string",
|
|
170
|
-
"number",
|
|
171
|
-
"boolean",
|
|
172
|
-
"null"
|
|
173
|
-
]
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
"trustManifest": {
|
|
177
|
-
"$ref": "#/$defs/trustManifest"
|
|
178
|
-
}
|
|
48
|
+
"not": {
|
|
49
|
+
"required": [
|
|
50
|
+
"data"
|
|
51
|
+
]
|
|
179
52
|
}
|
|
180
53
|
},
|
|
181
|
-
|
|
182
|
-
"type": "object",
|
|
183
|
-
"description": "Zero-trust security, identity, and compliance envelope metadata.",
|
|
54
|
+
{
|
|
184
55
|
"required": [
|
|
185
|
-
"
|
|
56
|
+
"data"
|
|
186
57
|
],
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
58
|
+
"not": {
|
|
59
|
+
"required": [
|
|
60
|
+
"url"
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
};
|
|
66
|
+
const schema33 = {
|
|
67
|
+
"type": "object",
|
|
68
|
+
"description": "The terms an ARD entry may carry. This definition imposes no required terms; ArdEntry layers its own requirements on top.",
|
|
69
|
+
"properties": {
|
|
70
|
+
"@context": {
|
|
71
|
+
"description": "Optional JSON-LD context. Absent, the entry's unprefixed terms resolve to the default namespace. Present, it MAY declare additional namespaces whose prefixed terms describe the resource and become available as filter dimensions.",
|
|
72
|
+
"oneOf": [
|
|
73
|
+
{
|
|
193
74
|
"type": "string",
|
|
194
|
-
"
|
|
195
|
-
"spiffe",
|
|
196
|
-
"did",
|
|
197
|
-
"https",
|
|
198
|
-
"other"
|
|
199
|
-
],
|
|
200
|
-
"description": "Hint representing the cryptographic format of the identity."
|
|
201
|
-
},
|
|
202
|
-
"trustSchema": {
|
|
203
|
-
"$ref": "#/$defs/trustSchema"
|
|
204
|
-
},
|
|
205
|
-
"attestations": {
|
|
206
|
-
"type": "array",
|
|
207
|
-
"description": "List of verifiable claims (SOC 2 audits, compliance statements, HIPAA checks).",
|
|
208
|
-
"items": {
|
|
209
|
-
"type": "object",
|
|
210
|
-
"required": [
|
|
211
|
-
"type",
|
|
212
|
-
"uri",
|
|
213
|
-
"mediaType"
|
|
214
|
-
],
|
|
215
|
-
"properties": {
|
|
216
|
-
"type": {
|
|
217
|
-
"type": "string",
|
|
218
|
-
"description": "Attestation standard type (e.g., SOC2-Type2, HIPAA)."
|
|
219
|
-
},
|
|
220
|
-
"uri": {
|
|
221
|
-
"type": "string",
|
|
222
|
-
"format": "uri",
|
|
223
|
-
"description": "Location of the attestation certificate or document."
|
|
224
|
-
},
|
|
225
|
-
"mediaType": {
|
|
226
|
-
"type": "string",
|
|
227
|
-
"description": "Format of the attestation document (e.g. application/pdf, text/html)."
|
|
228
|
-
},
|
|
229
|
-
"digest": {
|
|
230
|
-
"type": "string",
|
|
231
|
-
"description": "Cryptographic sha256 digest for document integrity verification."
|
|
232
|
-
}
|
|
233
|
-
},
|
|
234
|
-
"additionalProperties": false
|
|
235
|
-
}
|
|
75
|
+
"format": "uri"
|
|
236
76
|
},
|
|
237
|
-
|
|
238
|
-
"type": "
|
|
239
|
-
"description": "Cryptographic lineage trail of the artifact.",
|
|
240
|
-
"items": {
|
|
241
|
-
"type": "object",
|
|
242
|
-
"required": [
|
|
243
|
-
"relation",
|
|
244
|
-
"sourceId"
|
|
245
|
-
],
|
|
246
|
-
"properties": {
|
|
247
|
-
"relation": {
|
|
248
|
-
"type": "string",
|
|
249
|
-
"enum": [
|
|
250
|
-
"derivedFrom",
|
|
251
|
-
"publishedFrom",
|
|
252
|
-
"copiedFrom"
|
|
253
|
-
],
|
|
254
|
-
"description": "Lineage relation."
|
|
255
|
-
},
|
|
256
|
-
"sourceId": {
|
|
257
|
-
"type": "string",
|
|
258
|
-
"description": "Identifier of the source artifact."
|
|
259
|
-
},
|
|
260
|
-
"sourceDigest": {
|
|
261
|
-
"type": "string",
|
|
262
|
-
"description": "Optional sha256 digest for safety."
|
|
263
|
-
}
|
|
264
|
-
},
|
|
265
|
-
"additionalProperties": false
|
|
266
|
-
}
|
|
77
|
+
{
|
|
78
|
+
"type": "object"
|
|
267
79
|
},
|
|
268
|
-
|
|
269
|
-
"type": "
|
|
270
|
-
"description": "Detached JWS signature generated over the fields of the trustManifest."
|
|
80
|
+
{
|
|
81
|
+
"type": "array"
|
|
271
82
|
}
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"@id": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"description": "Optional JSON-LD node identifier. When present alongside `identifier`, both MUST denote the same resource."
|
|
88
|
+
},
|
|
89
|
+
"identifier": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"pattern": "^urn:air:[a-zA-Z0-9.-]+(:[a-zA-Z0-9._-]+)+$",
|
|
92
|
+
"description": "Globally unique discovery handle. Domain-anchored URN: urn:air:<publisher>:<namespace>:<agent-name>. The <publisher> segment is the authority anchor used for publisher-authority binding."
|
|
93
|
+
},
|
|
94
|
+
"displayName": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"description": "Human-readable name."
|
|
97
|
+
},
|
|
98
|
+
"type": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"description": "Artifact type as an IANA Media Type (e.g. application/mcp-server-card+json). Names what the artifact is without constraining its internal schema."
|
|
101
|
+
},
|
|
102
|
+
"url": {
|
|
103
|
+
"type": "string",
|
|
104
|
+
"format": "uri",
|
|
105
|
+
"description": "Reference to the full artifact document. Mutually exclusive with `data`."
|
|
106
|
+
},
|
|
107
|
+
"data": {
|
|
108
|
+
"type": "object",
|
|
109
|
+
"description": "The complete artifact document, inline. Mutually exclusive with `url`."
|
|
110
|
+
},
|
|
111
|
+
"representativeQueries": {
|
|
112
|
+
"type": "array",
|
|
113
|
+
"items": {
|
|
114
|
+
"type": "string"
|
|
115
|
+
},
|
|
116
|
+
"description": "Sample natural-language queries this resource can serve — the signal a registry builds its semantic index from. RECOMMENDED on every entry; SHOULD contain 2-5 examples. Neither presence nor count is enforced here so that emitted entries validate; the conformance tester flags absence, or a count outside 2-5, as a warning (§D.2)."
|
|
117
|
+
},
|
|
118
|
+
"capabilities": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": {
|
|
121
|
+
"type": "string"
|
|
122
|
+
},
|
|
123
|
+
"description": "Short skill or tool tokens (e.g. [\"WeatherTool\"]) enabling structured filtering without fetching the full artifact."
|
|
124
|
+
},
|
|
125
|
+
"description": {
|
|
126
|
+
"type": "string",
|
|
127
|
+
"description": "Short natural-language description. Contributes to the semantic index."
|
|
128
|
+
},
|
|
129
|
+
"tags": {
|
|
130
|
+
"type": "array",
|
|
131
|
+
"items": {
|
|
132
|
+
"type": "string"
|
|
272
133
|
},
|
|
273
|
-
"
|
|
134
|
+
"description": "Keywords for filtering and faceting."
|
|
135
|
+
},
|
|
136
|
+
"version": {
|
|
137
|
+
"type": "string",
|
|
138
|
+
"description": "Version of the artifact."
|
|
139
|
+
},
|
|
140
|
+
"updatedAt": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"format": "date-time",
|
|
143
|
+
"description": "ISO 8601 timestamp of the last modification."
|
|
144
|
+
},
|
|
145
|
+
"metadata": {
|
|
146
|
+
"type": "object",
|
|
147
|
+
"description": "Custom key-value pairs, available as metadata.* filter keys.",
|
|
148
|
+
"additionalProperties": {
|
|
149
|
+
"type": [
|
|
150
|
+
"string",
|
|
151
|
+
"number",
|
|
152
|
+
"boolean",
|
|
153
|
+
"null"
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"TrustManifest": {
|
|
158
|
+
"$ref": "#/$defs/TrustManifest"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"additionalProperties": true,
|
|
162
|
+
"$comment": "additionalProperties is intentionally true. Terms drawn from namespaces declared in the entry's @context (e.g. okf:taxonomy) are valid and become filter dimensions. Constraining this to false would defeat the namespace extension mechanism."
|
|
163
|
+
};
|
|
164
|
+
const schema34 = {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"description": "Identity, compliance, and provenance envelope. ARD requires only `identity` (for publisher-authority binding) and does not constrain the internal schema; validation is intentionally permissive (additionalProperties: true) so a trust manifest defined by any framework is structurally valid, including members ARD does not enumerate such as trustSchema. This does not mean consumers ignore it: a federated registry is expected to inspect the manifest and verify it per the framework named in trustSchema (attestations, provenance, signature). Signing and verification procedures are defined by that framework, not by ARD.",
|
|
167
|
+
"required": [
|
|
168
|
+
"identity"
|
|
169
|
+
],
|
|
170
|
+
"properties": {
|
|
171
|
+
"identity": {
|
|
172
|
+
"type": "string",
|
|
173
|
+
"description": "Globally unique cryptographic workload identifier (SPIFFE ID, DID, or HTTPS FQDN URI). Its trust domain MUST align with the <publisher> segment of the entry's identifier."
|
|
174
|
+
},
|
|
175
|
+
"identityType": {
|
|
176
|
+
"type": "string",
|
|
177
|
+
"description": "Hint for the cryptographic format of the identity (e.g. spiffe, did, https)."
|
|
274
178
|
},
|
|
275
179
|
"trustSchema": {
|
|
276
180
|
"type": "object",
|
|
277
|
-
"description": "
|
|
278
|
-
"required": [
|
|
279
|
-
"identifier",
|
|
280
|
-
"version"
|
|
281
|
-
],
|
|
181
|
+
"description": "The trust framework the manifest conforms to, and the source of its verification procedure.",
|
|
282
182
|
"properties": {
|
|
283
183
|
"identifier": {
|
|
284
|
-
"type": "string"
|
|
285
|
-
"description": "Unique identifier of the trust schema/framework (e.g. URN)."
|
|
184
|
+
"type": "string"
|
|
286
185
|
},
|
|
287
186
|
"version": {
|
|
288
|
-
"type": "string"
|
|
289
|
-
"description": "Version of the trust schema/framework."
|
|
187
|
+
"type": "string"
|
|
290
188
|
},
|
|
291
189
|
"governanceUri": {
|
|
292
190
|
"type": "string",
|
|
293
|
-
"format": "uri"
|
|
294
|
-
"description": "URI pointing to the governance policy document."
|
|
191
|
+
"format": "uri"
|
|
295
192
|
},
|
|
296
193
|
"verificationMethods": {
|
|
297
194
|
"type": "array",
|
|
298
195
|
"items": {
|
|
299
196
|
"type": "string"
|
|
300
|
-
}
|
|
301
|
-
"description": "Verification methods supported by the schema (e.g., ['did', 'x509', 'dns-01'])."
|
|
197
|
+
}
|
|
302
198
|
}
|
|
303
199
|
},
|
|
304
|
-
"additionalProperties":
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
};
|
|
308
|
-
const formats0 = fullFormats.uri;
|
|
309
|
-
const schema32 = {
|
|
310
|
-
"type": "object",
|
|
311
|
-
"description": "Zero-trust security, identity, and compliance envelope metadata.",
|
|
312
|
-
"required": [
|
|
313
|
-
"identity"
|
|
314
|
-
],
|
|
315
|
-
"properties": {
|
|
316
|
-
"identity": {
|
|
317
|
-
"type": "string",
|
|
318
|
-
"description": "Globally unique cryptographic workload identifier principal (e.g. SPIFFE ID or DID URI)."
|
|
319
|
-
},
|
|
320
|
-
"identityType": {
|
|
321
|
-
"type": "string",
|
|
322
|
-
"enum": [
|
|
323
|
-
"spiffe",
|
|
324
|
-
"did",
|
|
325
|
-
"https",
|
|
326
|
-
"other"
|
|
327
|
-
],
|
|
328
|
-
"description": "Hint representing the cryptographic format of the identity."
|
|
329
|
-
},
|
|
330
|
-
"trustSchema": {
|
|
331
|
-
"$ref": "#/$defs/trustSchema"
|
|
200
|
+
"additionalProperties": true
|
|
332
201
|
},
|
|
333
202
|
"attestations": {
|
|
334
203
|
"type": "array",
|
|
335
|
-
"description": "
|
|
204
|
+
"description": "Verifiable claims (compliance audits, certifications).",
|
|
336
205
|
"items": {
|
|
337
206
|
"type": "object",
|
|
338
207
|
"required": [
|
|
339
208
|
"type",
|
|
340
|
-
"uri"
|
|
341
|
-
"mediaType"
|
|
209
|
+
"uri"
|
|
342
210
|
],
|
|
343
211
|
"properties": {
|
|
344
212
|
"type": {
|
|
345
|
-
"type": "string"
|
|
346
|
-
"description": "Attestation standard type (e.g., SOC2-Type2, HIPAA)."
|
|
213
|
+
"type": "string"
|
|
347
214
|
},
|
|
348
215
|
"uri": {
|
|
349
216
|
"type": "string",
|
|
350
|
-
"format": "uri"
|
|
351
|
-
"description": "Location of the attestation certificate or document."
|
|
217
|
+
"format": "uri"
|
|
352
218
|
},
|
|
353
219
|
"mediaType": {
|
|
354
|
-
"type": "string"
|
|
355
|
-
"description": "Format of the attestation document (e.g. application/pdf, text/html)."
|
|
220
|
+
"type": "string"
|
|
356
221
|
},
|
|
357
222
|
"digest": {
|
|
358
|
-
"type": "string"
|
|
359
|
-
"description": "Cryptographic sha256 digest for document integrity verification."
|
|
223
|
+
"type": "string"
|
|
360
224
|
}
|
|
361
225
|
},
|
|
362
|
-
"additionalProperties":
|
|
226
|
+
"additionalProperties": true
|
|
363
227
|
}
|
|
364
228
|
},
|
|
365
229
|
"provenance": {
|
|
366
230
|
"type": "array",
|
|
367
|
-
"description": "
|
|
231
|
+
"description": "Lineage trail of the artifact.",
|
|
368
232
|
"items": {
|
|
369
233
|
"type": "object",
|
|
370
234
|
"required": [
|
|
@@ -373,69 +237,33 @@ const schema32 = {
|
|
|
373
237
|
],
|
|
374
238
|
"properties": {
|
|
375
239
|
"relation": {
|
|
376
|
-
"type": "string"
|
|
377
|
-
"enum": [
|
|
378
|
-
"derivedFrom",
|
|
379
|
-
"publishedFrom",
|
|
380
|
-
"copiedFrom"
|
|
381
|
-
],
|
|
382
|
-
"description": "Lineage relation."
|
|
240
|
+
"type": "string"
|
|
383
241
|
},
|
|
384
242
|
"sourceId": {
|
|
385
|
-
"type": "string"
|
|
386
|
-
"description": "Identifier of the source artifact."
|
|
243
|
+
"type": "string"
|
|
387
244
|
},
|
|
388
245
|
"sourceDigest": {
|
|
389
|
-
"type": "string"
|
|
390
|
-
"description": "Optional sha256 digest for safety."
|
|
246
|
+
"type": "string"
|
|
391
247
|
}
|
|
392
248
|
},
|
|
393
|
-
"additionalProperties":
|
|
249
|
+
"additionalProperties": true
|
|
394
250
|
}
|
|
395
251
|
},
|
|
396
252
|
"signature": {
|
|
397
253
|
"type": "string",
|
|
398
|
-
"description": "Detached
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
"additionalProperties": false
|
|
402
|
-
};
|
|
403
|
-
const schema33 = {
|
|
404
|
-
"type": "object",
|
|
405
|
-
"description": "Describes the trust framework applied to the artifact.",
|
|
406
|
-
"required": [
|
|
407
|
-
"identifier",
|
|
408
|
-
"version"
|
|
409
|
-
],
|
|
410
|
-
"properties": {
|
|
411
|
-
"identifier": {
|
|
412
|
-
"type": "string",
|
|
413
|
-
"description": "Unique identifier of the trust schema/framework (e.g. URN)."
|
|
414
|
-
},
|
|
415
|
-
"version": {
|
|
416
|
-
"type": "string",
|
|
417
|
-
"description": "Version of the trust schema/framework."
|
|
418
|
-
},
|
|
419
|
-
"governanceUri": {
|
|
420
|
-
"type": "string",
|
|
421
|
-
"format": "uri",
|
|
422
|
-
"description": "URI pointing to the governance policy document."
|
|
423
|
-
},
|
|
424
|
-
"verificationMethods": {
|
|
425
|
-
"type": "array",
|
|
426
|
-
"items": {
|
|
427
|
-
"type": "string"
|
|
428
|
-
},
|
|
429
|
-
"description": "Verification methods supported by the schema (e.g., ['did', 'x509', 'dns-01'])."
|
|
254
|
+
"description": "Detached signature over the trust manifest content, per the framework named in trustSchema."
|
|
430
255
|
}
|
|
431
256
|
},
|
|
432
|
-
"additionalProperties":
|
|
257
|
+
"additionalProperties": true
|
|
433
258
|
};
|
|
259
|
+
const formats0 = fullFormats.uri;
|
|
260
|
+
const formats4 = fullFormats["date-time"];
|
|
261
|
+
const pattern4 = new RegExp("^urn:air:[a-zA-Z0-9.-]+(:[a-zA-Z0-9._-]+)+$", "u");
|
|
434
262
|
|
|
435
|
-
function
|
|
263
|
+
function validate22(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}) {
|
|
436
264
|
let vErrors = null;
|
|
437
265
|
let errors = 0;
|
|
438
|
-
const evaluated0 =
|
|
266
|
+
const evaluated0 = validate22.evaluated;
|
|
439
267
|
if (evaluated0.dynamicProps) {
|
|
440
268
|
evaluated0.props = undefined;
|
|
441
269
|
}
|
|
@@ -443,19 +271,26 @@ function validate21(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
443
271
|
evaluated0.items = undefined;
|
|
444
272
|
}
|
|
445
273
|
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
446
|
-
if (data
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
274
|
+
if (data["@context"] !== undefined) {
|
|
275
|
+
let data0 = data["@context"];
|
|
276
|
+
const _errs4 = errors;
|
|
277
|
+
let valid1 = false;
|
|
278
|
+
let passing0 = null;
|
|
279
|
+
const _errs5 = errors;
|
|
280
|
+
if (typeof data0 === "string") {
|
|
281
|
+
if (!(formats0(data0))) {
|
|
282
|
+
const err0 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};
|
|
283
|
+
if (vErrors === null) {
|
|
284
|
+
vErrors = [err0];
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
vErrors.push(err0);
|
|
288
|
+
}
|
|
289
|
+
errors++;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
const err1 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
459
294
|
if (vErrors === null) {
|
|
460
295
|
vErrors = [err1];
|
|
461
296
|
}
|
|
@@ -464,10 +299,14 @@ function validate21(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
464
299
|
}
|
|
465
300
|
errors++;
|
|
466
301
|
}
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
302
|
+
var _valid0 = _errs5 === errors;
|
|
303
|
+
if (_valid0) {
|
|
304
|
+
valid1 = true;
|
|
305
|
+
passing0 = 0;
|
|
306
|
+
}
|
|
307
|
+
const _errs7 = errors;
|
|
308
|
+
if (!(data0 && typeof data0 == "object" && !Array.isArray(data0))) {
|
|
309
|
+
const err2 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/1/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
471
310
|
if (vErrors === null) {
|
|
472
311
|
vErrors = [err2];
|
|
473
312
|
}
|
|
@@ -476,21 +315,41 @@ function validate21(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
476
315
|
}
|
|
477
316
|
errors++;
|
|
478
317
|
}
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
318
|
+
var _valid0 = _errs7 === errors;
|
|
319
|
+
if (_valid0 && valid1) {
|
|
320
|
+
valid1 = false;
|
|
321
|
+
passing0 = [passing0, 1];
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
if (_valid0) {
|
|
325
|
+
valid1 = true;
|
|
326
|
+
passing0 = 1;
|
|
327
|
+
}
|
|
328
|
+
const _errs9 = errors;
|
|
329
|
+
if (!(Array.isArray(data0))) {
|
|
330
|
+
const err3 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf/2/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
331
|
+
if (vErrors === null) {
|
|
332
|
+
vErrors = [err3];
|
|
333
|
+
}
|
|
334
|
+
else {
|
|
335
|
+
vErrors.push(err3);
|
|
336
|
+
}
|
|
337
|
+
errors++;
|
|
338
|
+
}
|
|
339
|
+
var _valid0 = _errs9 === errors;
|
|
340
|
+
if (_valid0 && valid1) {
|
|
341
|
+
valid1 = false;
|
|
342
|
+
passing0 = [passing0, 2];
|
|
486
343
|
}
|
|
487
344
|
else {
|
|
488
|
-
|
|
345
|
+
if (_valid0) {
|
|
346
|
+
valid1 = true;
|
|
347
|
+
passing0 = 2;
|
|
348
|
+
}
|
|
489
349
|
}
|
|
490
|
-
errors++;
|
|
491
350
|
}
|
|
492
|
-
if (!
|
|
493
|
-
const err4 = {instancePath:instancePath+"
|
|
351
|
+
if (!valid1) {
|
|
352
|
+
const err4 = {instancePath:instancePath+"/@context",schemaPath:"#/properties/%40context/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};
|
|
494
353
|
if (vErrors === null) {
|
|
495
354
|
vErrors = [err4];
|
|
496
355
|
}
|
|
@@ -499,528 +358,663 @@ function validate21(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
499
358
|
}
|
|
500
359
|
errors++;
|
|
501
360
|
}
|
|
361
|
+
else {
|
|
362
|
+
errors = _errs4;
|
|
363
|
+
if (vErrors !== null) {
|
|
364
|
+
if (_errs4) {
|
|
365
|
+
vErrors.length = _errs4;
|
|
366
|
+
}
|
|
367
|
+
else {
|
|
368
|
+
vErrors = null;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
if (data["@id"] !== undefined) {
|
|
374
|
+
if (typeof data["@id"] !== "string") {
|
|
375
|
+
const err5 = {instancePath:instancePath+"/@id",schemaPath:"#/properties/%40id/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
376
|
+
if (vErrors === null) {
|
|
377
|
+
vErrors = [err5];
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
vErrors.push(err5);
|
|
381
|
+
}
|
|
382
|
+
errors++;
|
|
383
|
+
}
|
|
502
384
|
}
|
|
503
|
-
if (data.
|
|
504
|
-
let data2 = data.
|
|
505
|
-
if (
|
|
506
|
-
if (data2
|
|
507
|
-
const
|
|
385
|
+
if (data.identifier !== undefined) {
|
|
386
|
+
let data2 = data.identifier;
|
|
387
|
+
if (typeof data2 === "string") {
|
|
388
|
+
if (!pattern4.test(data2)) {
|
|
389
|
+
const err6 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/pattern",keyword:"pattern",params:{pattern: "^urn:air:[a-zA-Z0-9.-]+(:[a-zA-Z0-9._-]+)+$"},message:"must match pattern \""+"^urn:air:[a-zA-Z0-9.-]+(:[a-zA-Z0-9._-]+)+$"+"\""};
|
|
508
390
|
if (vErrors === null) {
|
|
509
|
-
vErrors = [
|
|
391
|
+
vErrors = [err6];
|
|
510
392
|
}
|
|
511
393
|
else {
|
|
512
|
-
vErrors.push(
|
|
394
|
+
vErrors.push(err6);
|
|
513
395
|
}
|
|
514
396
|
errors++;
|
|
515
397
|
}
|
|
516
|
-
|
|
517
|
-
|
|
398
|
+
}
|
|
399
|
+
else {
|
|
400
|
+
const err7 = {instancePath:instancePath+"/identifier",schemaPath:"#/properties/identifier/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
401
|
+
if (vErrors === null) {
|
|
402
|
+
vErrors = [err7];
|
|
403
|
+
}
|
|
404
|
+
else {
|
|
405
|
+
vErrors.push(err7);
|
|
406
|
+
}
|
|
407
|
+
errors++;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (data.displayName !== undefined) {
|
|
411
|
+
if (typeof data.displayName !== "string") {
|
|
412
|
+
const err8 = {instancePath:instancePath+"/displayName",schemaPath:"#/properties/displayName/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
413
|
+
if (vErrors === null) {
|
|
414
|
+
vErrors = [err8];
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
vErrors.push(err8);
|
|
418
|
+
}
|
|
419
|
+
errors++;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
if (data.type !== undefined) {
|
|
423
|
+
if (typeof data.type !== "string") {
|
|
424
|
+
const err9 = {instancePath:instancePath+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
425
|
+
if (vErrors === null) {
|
|
426
|
+
vErrors = [err9];
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
vErrors.push(err9);
|
|
430
|
+
}
|
|
431
|
+
errors++;
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
if (data.url !== undefined) {
|
|
435
|
+
let data5 = data.url;
|
|
436
|
+
if (typeof data5 === "string") {
|
|
437
|
+
if (!(formats0(data5))) {
|
|
438
|
+
const err10 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};
|
|
518
439
|
if (vErrors === null) {
|
|
519
|
-
vErrors = [
|
|
440
|
+
vErrors = [err10];
|
|
520
441
|
}
|
|
521
442
|
else {
|
|
522
|
-
vErrors.push(
|
|
443
|
+
vErrors.push(err10);
|
|
523
444
|
}
|
|
524
445
|
errors++;
|
|
525
446
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
447
|
+
}
|
|
448
|
+
else {
|
|
449
|
+
const err11 = {instancePath:instancePath+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
450
|
+
if (vErrors === null) {
|
|
451
|
+
vErrors = [err11];
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
vErrors.push(err11);
|
|
455
|
+
}
|
|
456
|
+
errors++;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
if (data.data !== undefined) {
|
|
460
|
+
let data6 = data.data;
|
|
461
|
+
if (!(data6 && typeof data6 == "object" && !Array.isArray(data6))) {
|
|
462
|
+
const err12 = {instancePath:instancePath+"/data",schemaPath:"#/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
463
|
+
if (vErrors === null) {
|
|
464
|
+
vErrors = [err12];
|
|
465
|
+
}
|
|
466
|
+
else {
|
|
467
|
+
vErrors.push(err12);
|
|
468
|
+
}
|
|
469
|
+
errors++;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
if (data.representativeQueries !== undefined) {
|
|
473
|
+
let data7 = data.representativeQueries;
|
|
474
|
+
if (Array.isArray(data7)) {
|
|
475
|
+
const len0 = data7.length;
|
|
476
|
+
for (let i0=0; i0<len0; i0++) {
|
|
477
|
+
if (typeof data7[i0] !== "string") {
|
|
478
|
+
const err13 = {instancePath:instancePath+"/representativeQueries/" + i0,schemaPath:"#/properties/representativeQueries/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
529
479
|
if (vErrors === null) {
|
|
530
|
-
vErrors = [
|
|
480
|
+
vErrors = [err13];
|
|
531
481
|
}
|
|
532
482
|
else {
|
|
533
|
-
vErrors.push(
|
|
483
|
+
vErrors.push(err13);
|
|
534
484
|
}
|
|
535
485
|
errors++;
|
|
536
486
|
}
|
|
537
487
|
}
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
488
|
+
}
|
|
489
|
+
else {
|
|
490
|
+
const err14 = {instancePath:instancePath+"/representativeQueries",schemaPath:"#/properties/representativeQueries/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
491
|
+
if (vErrors === null) {
|
|
492
|
+
vErrors = [err14];
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
vErrors.push(err14);
|
|
496
|
+
}
|
|
497
|
+
errors++;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
if (data.capabilities !== undefined) {
|
|
501
|
+
let data9 = data.capabilities;
|
|
502
|
+
if (Array.isArray(data9)) {
|
|
503
|
+
const len1 = data9.length;
|
|
504
|
+
for (let i1=0; i1<len1; i1++) {
|
|
505
|
+
if (typeof data9[i1] !== "string") {
|
|
506
|
+
const err15 = {instancePath:instancePath+"/capabilities/" + i1,schemaPath:"#/properties/capabilities/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
541
507
|
if (vErrors === null) {
|
|
542
|
-
vErrors = [
|
|
508
|
+
vErrors = [err15];
|
|
543
509
|
}
|
|
544
510
|
else {
|
|
545
|
-
vErrors.push(
|
|
511
|
+
vErrors.push(err15);
|
|
546
512
|
}
|
|
547
513
|
errors++;
|
|
548
514
|
}
|
|
549
515
|
}
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
516
|
+
}
|
|
517
|
+
else {
|
|
518
|
+
const err16 = {instancePath:instancePath+"/capabilities",schemaPath:"#/properties/capabilities/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
519
|
+
if (vErrors === null) {
|
|
520
|
+
vErrors = [err16];
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
vErrors.push(err16);
|
|
524
|
+
}
|
|
525
|
+
errors++;
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
if (data.description !== undefined) {
|
|
529
|
+
if (typeof data.description !== "string") {
|
|
530
|
+
const err17 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
531
|
+
if (vErrors === null) {
|
|
532
|
+
vErrors = [err17];
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
vErrors.push(err17);
|
|
536
|
+
}
|
|
537
|
+
errors++;
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
if (data.tags !== undefined) {
|
|
541
|
+
let data12 = data.tags;
|
|
542
|
+
if (Array.isArray(data12)) {
|
|
543
|
+
const len2 = data12.length;
|
|
544
|
+
for (let i2=0; i2<len2; i2++) {
|
|
545
|
+
if (typeof data12[i2] !== "string") {
|
|
546
|
+
const err18 = {instancePath:instancePath+"/tags/" + i2,schemaPath:"#/properties/tags/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
553
547
|
if (vErrors === null) {
|
|
554
|
-
vErrors = [
|
|
548
|
+
vErrors = [err18];
|
|
555
549
|
}
|
|
556
550
|
else {
|
|
557
|
-
vErrors.push(
|
|
551
|
+
vErrors.push(err18);
|
|
558
552
|
}
|
|
559
553
|
errors++;
|
|
560
554
|
}
|
|
561
555
|
}
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
const err19 = {instancePath:instancePath+"/tags",schemaPath:"#/properties/tags/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
559
|
+
if (vErrors === null) {
|
|
560
|
+
vErrors = [err19];
|
|
561
|
+
}
|
|
562
|
+
else {
|
|
563
|
+
vErrors.push(err19);
|
|
564
|
+
}
|
|
565
|
+
errors++;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
if (data.version !== undefined) {
|
|
569
|
+
if (typeof data.version !== "string") {
|
|
570
|
+
const err20 = {instancePath:instancePath+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
571
|
+
if (vErrors === null) {
|
|
572
|
+
vErrors = [err20];
|
|
573
|
+
}
|
|
574
|
+
else {
|
|
575
|
+
vErrors.push(err20);
|
|
576
|
+
}
|
|
577
|
+
errors++;
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
if (data.updatedAt !== undefined) {
|
|
581
|
+
let data15 = data.updatedAt;
|
|
582
|
+
if (typeof data15 === "string") {
|
|
583
|
+
if (!(formats4.validate(data15))) {
|
|
584
|
+
const err21 = {instancePath:instancePath+"/updatedAt",schemaPath:"#/properties/updatedAt/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};
|
|
585
|
+
if (vErrors === null) {
|
|
586
|
+
vErrors = [err21];
|
|
575
587
|
}
|
|
576
588
|
else {
|
|
577
|
-
|
|
578
|
-
if (vErrors === null) {
|
|
579
|
-
vErrors = [err11];
|
|
580
|
-
}
|
|
581
|
-
else {
|
|
582
|
-
vErrors.push(err11);
|
|
583
|
-
}
|
|
584
|
-
errors++;
|
|
589
|
+
vErrors.push(err21);
|
|
585
590
|
}
|
|
591
|
+
errors++;
|
|
586
592
|
}
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
const
|
|
593
|
+
}
|
|
594
|
+
else {
|
|
595
|
+
const err22 = {instancePath:instancePath+"/updatedAt",schemaPath:"#/properties/updatedAt/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
596
|
+
if (vErrors === null) {
|
|
597
|
+
vErrors = [err22];
|
|
598
|
+
}
|
|
599
|
+
else {
|
|
600
|
+
vErrors.push(err22);
|
|
601
|
+
}
|
|
602
|
+
errors++;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
if (data.metadata !== undefined) {
|
|
606
|
+
let data16 = data.metadata;
|
|
607
|
+
if (data16 && typeof data16 == "object" && !Array.isArray(data16)) {
|
|
608
|
+
for (const key0 in data16) {
|
|
609
|
+
let data17 = data16[key0];
|
|
610
|
+
if ((((typeof data17 !== "string") && (!((typeof data17 == "number") && (isFinite(data17))))) && (typeof data17 !== "boolean")) && (data17 !== null)) {
|
|
611
|
+
const err23 = {instancePath:instancePath+"/metadata/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/metadata/additionalProperties/type",keyword:"type",params:{type: schema33.properties.metadata.additionalProperties.type},message:"must be string,number,boolean,null"};
|
|
606
612
|
if (vErrors === null) {
|
|
607
|
-
vErrors = [
|
|
613
|
+
vErrors = [err23];
|
|
608
614
|
}
|
|
609
615
|
else {
|
|
610
|
-
vErrors.push(
|
|
616
|
+
vErrors.push(err23);
|
|
611
617
|
}
|
|
612
618
|
errors++;
|
|
613
619
|
}
|
|
614
620
|
}
|
|
615
621
|
}
|
|
616
622
|
else {
|
|
617
|
-
const
|
|
623
|
+
const err24 = {instancePath:instancePath+"/metadata",schemaPath:"#/properties/metadata/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
618
624
|
if (vErrors === null) {
|
|
619
|
-
vErrors = [
|
|
625
|
+
vErrors = [err24];
|
|
620
626
|
}
|
|
621
627
|
else {
|
|
622
|
-
vErrors.push(
|
|
628
|
+
vErrors.push(err24);
|
|
623
629
|
}
|
|
624
630
|
errors++;
|
|
625
631
|
}
|
|
626
632
|
}
|
|
627
|
-
if (data.
|
|
628
|
-
let
|
|
629
|
-
if (Array.isArray(
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
633
|
+
if (data.TrustManifest !== undefined) {
|
|
634
|
+
let data18 = data.TrustManifest;
|
|
635
|
+
if (data18 && typeof data18 == "object" && !Array.isArray(data18)) {
|
|
636
|
+
if (data18.identity === undefined) {
|
|
637
|
+
const err25 = {instancePath:instancePath+"/TrustManifest",schemaPath:"#/$defs/TrustManifest/required",keyword:"required",params:{missingProperty: "identity"},message:"must have required property '"+"identity"+"'"};
|
|
638
|
+
if (vErrors === null) {
|
|
639
|
+
vErrors = [err25];
|
|
640
|
+
}
|
|
641
|
+
else {
|
|
642
|
+
vErrors.push(err25);
|
|
643
|
+
}
|
|
644
|
+
errors++;
|
|
645
|
+
}
|
|
646
|
+
if (data18.identity !== undefined) {
|
|
647
|
+
if (typeof data18.identity !== "string") {
|
|
648
|
+
const err26 = {instancePath:instancePath+"/TrustManifest/identity",schemaPath:"#/$defs/TrustManifest/properties/identity/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
649
|
+
if (vErrors === null) {
|
|
650
|
+
vErrors = [err26];
|
|
643
651
|
}
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
if (vErrors === null) {
|
|
647
|
-
vErrors = [err16];
|
|
648
|
-
}
|
|
649
|
-
else {
|
|
650
|
-
vErrors.push(err16);
|
|
651
|
-
}
|
|
652
|
-
errors++;
|
|
652
|
+
else {
|
|
653
|
+
vErrors.push(err26);
|
|
653
654
|
}
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
655
|
+
errors++;
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
if (data18.identityType !== undefined) {
|
|
659
|
+
if (typeof data18.identityType !== "string") {
|
|
660
|
+
const err27 = {instancePath:instancePath+"/TrustManifest/identityType",schemaPath:"#/$defs/TrustManifest/properties/identityType/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
661
|
+
if (vErrors === null) {
|
|
662
|
+
vErrors = [err27];
|
|
663
|
+
}
|
|
664
|
+
else {
|
|
665
|
+
vErrors.push(err27);
|
|
663
666
|
}
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
+
errors++;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
if (data18.trustSchema !== undefined) {
|
|
671
|
+
let data21 = data18.trustSchema;
|
|
672
|
+
if (data21 && typeof data21 == "object" && !Array.isArray(data21)) {
|
|
673
|
+
if (data21.identifier !== undefined) {
|
|
674
|
+
if (typeof data21.identifier !== "string") {
|
|
675
|
+
const err28 = {instancePath:instancePath+"/TrustManifest/trustSchema/identifier",schemaPath:"#/$defs/TrustManifest/properties/trustSchema/properties/identifier/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
667
676
|
if (vErrors === null) {
|
|
668
|
-
vErrors = [
|
|
677
|
+
vErrors = [err28];
|
|
669
678
|
}
|
|
670
679
|
else {
|
|
671
|
-
vErrors.push(
|
|
680
|
+
vErrors.push(err28);
|
|
672
681
|
}
|
|
673
682
|
errors++;
|
|
674
683
|
}
|
|
675
684
|
}
|
|
676
|
-
if (
|
|
677
|
-
if (typeof
|
|
678
|
-
const
|
|
685
|
+
if (data21.version !== undefined) {
|
|
686
|
+
if (typeof data21.version !== "string") {
|
|
687
|
+
const err29 = {instancePath:instancePath+"/TrustManifest/trustSchema/version",schemaPath:"#/$defs/TrustManifest/properties/trustSchema/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
679
688
|
if (vErrors === null) {
|
|
680
|
-
vErrors = [
|
|
689
|
+
vErrors = [err29];
|
|
681
690
|
}
|
|
682
691
|
else {
|
|
683
|
-
vErrors.push(
|
|
692
|
+
vErrors.push(err29);
|
|
684
693
|
}
|
|
685
694
|
errors++;
|
|
686
695
|
}
|
|
687
696
|
}
|
|
688
|
-
if (
|
|
689
|
-
let
|
|
690
|
-
if (typeof
|
|
691
|
-
if (!(formats0(
|
|
692
|
-
const
|
|
697
|
+
if (data21.governanceUri !== undefined) {
|
|
698
|
+
let data24 = data21.governanceUri;
|
|
699
|
+
if (typeof data24 === "string") {
|
|
700
|
+
if (!(formats0(data24))) {
|
|
701
|
+
const err30 = {instancePath:instancePath+"/TrustManifest/trustSchema/governanceUri",schemaPath:"#/$defs/TrustManifest/properties/trustSchema/properties/governanceUri/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};
|
|
693
702
|
if (vErrors === null) {
|
|
694
|
-
vErrors = [
|
|
703
|
+
vErrors = [err30];
|
|
695
704
|
}
|
|
696
705
|
else {
|
|
697
|
-
vErrors.push(
|
|
706
|
+
vErrors.push(err30);
|
|
698
707
|
}
|
|
699
708
|
errors++;
|
|
700
709
|
}
|
|
701
710
|
}
|
|
702
711
|
else {
|
|
703
|
-
const
|
|
712
|
+
const err31 = {instancePath:instancePath+"/TrustManifest/trustSchema/governanceUri",schemaPath:"#/$defs/TrustManifest/properties/trustSchema/properties/governanceUri/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
704
713
|
if (vErrors === null) {
|
|
705
|
-
vErrors = [
|
|
714
|
+
vErrors = [err31];
|
|
706
715
|
}
|
|
707
716
|
else {
|
|
708
|
-
vErrors.push(
|
|
717
|
+
vErrors.push(err31);
|
|
709
718
|
}
|
|
710
719
|
errors++;
|
|
711
720
|
}
|
|
712
721
|
}
|
|
713
|
-
if (
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
722
|
+
if (data21.verificationMethods !== undefined) {
|
|
723
|
+
let data25 = data21.verificationMethods;
|
|
724
|
+
if (Array.isArray(data25)) {
|
|
725
|
+
const len3 = data25.length;
|
|
726
|
+
for (let i3=0; i3<len3; i3++) {
|
|
727
|
+
if (typeof data25[i3] !== "string") {
|
|
728
|
+
const err32 = {instancePath:instancePath+"/TrustManifest/trustSchema/verificationMethods/" + i3,schemaPath:"#/$defs/TrustManifest/properties/trustSchema/properties/verificationMethods/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
729
|
+
if (vErrors === null) {
|
|
730
|
+
vErrors = [err32];
|
|
731
|
+
}
|
|
732
|
+
else {
|
|
733
|
+
vErrors.push(err32);
|
|
734
|
+
}
|
|
735
|
+
errors++;
|
|
736
|
+
}
|
|
721
737
|
}
|
|
722
|
-
errors++;
|
|
723
738
|
}
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
if (typeof data9.digest !== "string") {
|
|
727
|
-
const err23 = {instancePath:instancePath+"/attestations/" + i1+"/digest",schemaPath:"#/properties/attestations/items/properties/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
739
|
+
else {
|
|
740
|
+
const err33 = {instancePath:instancePath+"/TrustManifest/trustSchema/verificationMethods",schemaPath:"#/$defs/TrustManifest/properties/trustSchema/properties/verificationMethods/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
728
741
|
if (vErrors === null) {
|
|
729
|
-
vErrors = [
|
|
742
|
+
vErrors = [err33];
|
|
730
743
|
}
|
|
731
744
|
else {
|
|
732
|
-
vErrors.push(
|
|
745
|
+
vErrors.push(err33);
|
|
733
746
|
}
|
|
734
747
|
errors++;
|
|
735
748
|
}
|
|
736
749
|
}
|
|
737
750
|
}
|
|
738
751
|
else {
|
|
739
|
-
const
|
|
752
|
+
const err34 = {instancePath:instancePath+"/TrustManifest/trustSchema",schemaPath:"#/$defs/TrustManifest/properties/trustSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
740
753
|
if (vErrors === null) {
|
|
741
|
-
vErrors = [
|
|
754
|
+
vErrors = [err34];
|
|
742
755
|
}
|
|
743
756
|
else {
|
|
744
|
-
vErrors.push(
|
|
757
|
+
vErrors.push(err34);
|
|
745
758
|
}
|
|
746
759
|
errors++;
|
|
747
760
|
}
|
|
748
761
|
}
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
for (let i2=0; i2<len2; i2++) {
|
|
766
|
-
let data15 = data14[i2];
|
|
767
|
-
if (data15 && typeof data15 == "object" && !Array.isArray(data15)) {
|
|
768
|
-
if (data15.relation === undefined) {
|
|
769
|
-
const err26 = {instancePath:instancePath+"/provenance/" + i2,schemaPath:"#/properties/provenance/items/required",keyword:"required",params:{missingProperty: "relation"},message:"must have required property '"+"relation"+"'"};
|
|
770
|
-
if (vErrors === null) {
|
|
771
|
-
vErrors = [err26];
|
|
772
|
-
}
|
|
773
|
-
else {
|
|
774
|
-
vErrors.push(err26);
|
|
775
|
-
}
|
|
776
|
-
errors++;
|
|
777
|
-
}
|
|
778
|
-
if (data15.sourceId === undefined) {
|
|
779
|
-
const err27 = {instancePath:instancePath+"/provenance/" + i2,schemaPath:"#/properties/provenance/items/required",keyword:"required",params:{missingProperty: "sourceId"},message:"must have required property '"+"sourceId"+"'"};
|
|
780
|
-
if (vErrors === null) {
|
|
781
|
-
vErrors = [err27];
|
|
782
|
-
}
|
|
783
|
-
else {
|
|
784
|
-
vErrors.push(err27);
|
|
785
|
-
}
|
|
786
|
-
errors++;
|
|
787
|
-
}
|
|
788
|
-
for (const key3 in data15) {
|
|
789
|
-
if (!(((key3 === "relation") || (key3 === "sourceId")) || (key3 === "sourceDigest"))) {
|
|
790
|
-
const err28 = {instancePath:instancePath+"/provenance/" + i2,schemaPath:"#/properties/provenance/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key3},message:"must NOT have additional properties"};
|
|
791
|
-
if (vErrors === null) {
|
|
792
|
-
vErrors = [err28];
|
|
793
|
-
}
|
|
794
|
-
else {
|
|
795
|
-
vErrors.push(err28);
|
|
762
|
+
if (data18.attestations !== undefined) {
|
|
763
|
+
let data27 = data18.attestations;
|
|
764
|
+
if (Array.isArray(data27)) {
|
|
765
|
+
const len4 = data27.length;
|
|
766
|
+
for (let i4=0; i4<len4; i4++) {
|
|
767
|
+
let data28 = data27[i4];
|
|
768
|
+
if (data28 && typeof data28 == "object" && !Array.isArray(data28)) {
|
|
769
|
+
if (data28.type === undefined) {
|
|
770
|
+
const err35 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4,schemaPath:"#/$defs/TrustManifest/properties/attestations/items/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};
|
|
771
|
+
if (vErrors === null) {
|
|
772
|
+
vErrors = [err35];
|
|
773
|
+
}
|
|
774
|
+
else {
|
|
775
|
+
vErrors.push(err35);
|
|
776
|
+
}
|
|
777
|
+
errors++;
|
|
796
778
|
}
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
779
|
+
if (data28.uri === undefined) {
|
|
780
|
+
const err36 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4,schemaPath:"#/$defs/TrustManifest/properties/attestations/items/required",keyword:"required",params:{missingProperty: "uri"},message:"must have required property '"+"uri"+"'"};
|
|
781
|
+
if (vErrors === null) {
|
|
782
|
+
vErrors = [err36];
|
|
783
|
+
}
|
|
784
|
+
else {
|
|
785
|
+
vErrors.push(err36);
|
|
786
|
+
}
|
|
787
|
+
errors++;
|
|
806
788
|
}
|
|
807
|
-
|
|
808
|
-
|
|
789
|
+
if (data28.type !== undefined) {
|
|
790
|
+
if (typeof data28.type !== "string") {
|
|
791
|
+
const err37 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4+"/type",schemaPath:"#/$defs/TrustManifest/properties/attestations/items/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
792
|
+
if (vErrors === null) {
|
|
793
|
+
vErrors = [err37];
|
|
794
|
+
}
|
|
795
|
+
else {
|
|
796
|
+
vErrors.push(err37);
|
|
797
|
+
}
|
|
798
|
+
errors++;
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
if (data28.uri !== undefined) {
|
|
802
|
+
let data30 = data28.uri;
|
|
803
|
+
if (typeof data30 === "string") {
|
|
804
|
+
if (!(formats0(data30))) {
|
|
805
|
+
const err38 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4+"/uri",schemaPath:"#/$defs/TrustManifest/properties/attestations/items/properties/uri/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};
|
|
806
|
+
if (vErrors === null) {
|
|
807
|
+
vErrors = [err38];
|
|
808
|
+
}
|
|
809
|
+
else {
|
|
810
|
+
vErrors.push(err38);
|
|
811
|
+
}
|
|
812
|
+
errors++;
|
|
813
|
+
}
|
|
814
|
+
}
|
|
815
|
+
else {
|
|
816
|
+
const err39 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4+"/uri",schemaPath:"#/$defs/TrustManifest/properties/attestations/items/properties/uri/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
817
|
+
if (vErrors === null) {
|
|
818
|
+
vErrors = [err39];
|
|
819
|
+
}
|
|
820
|
+
else {
|
|
821
|
+
vErrors.push(err39);
|
|
822
|
+
}
|
|
823
|
+
errors++;
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
if (data28.mediaType !== undefined) {
|
|
827
|
+
if (typeof data28.mediaType !== "string") {
|
|
828
|
+
const err40 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4+"/mediaType",schemaPath:"#/$defs/TrustManifest/properties/attestations/items/properties/mediaType/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
829
|
+
if (vErrors === null) {
|
|
830
|
+
vErrors = [err40];
|
|
831
|
+
}
|
|
832
|
+
else {
|
|
833
|
+
vErrors.push(err40);
|
|
834
|
+
}
|
|
835
|
+
errors++;
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
if (data28.digest !== undefined) {
|
|
839
|
+
if (typeof data28.digest !== "string") {
|
|
840
|
+
const err41 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4+"/digest",schemaPath:"#/$defs/TrustManifest/properties/attestations/items/properties/digest/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
841
|
+
if (vErrors === null) {
|
|
842
|
+
vErrors = [err41];
|
|
843
|
+
}
|
|
844
|
+
else {
|
|
845
|
+
vErrors.push(err41);
|
|
846
|
+
}
|
|
847
|
+
errors++;
|
|
848
|
+
}
|
|
809
849
|
}
|
|
810
|
-
errors++;
|
|
811
850
|
}
|
|
812
|
-
|
|
813
|
-
const
|
|
851
|
+
else {
|
|
852
|
+
const err42 = {instancePath:instancePath+"/TrustManifest/attestations/" + i4,schemaPath:"#/$defs/TrustManifest/properties/attestations/items/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
814
853
|
if (vErrors === null) {
|
|
815
|
-
vErrors = [
|
|
854
|
+
vErrors = [err42];
|
|
816
855
|
}
|
|
817
856
|
else {
|
|
818
|
-
vErrors.push(
|
|
857
|
+
vErrors.push(err42);
|
|
819
858
|
}
|
|
820
859
|
errors++;
|
|
821
860
|
}
|
|
822
861
|
}
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
862
|
+
}
|
|
863
|
+
else {
|
|
864
|
+
const err43 = {instancePath:instancePath+"/TrustManifest/attestations",schemaPath:"#/$defs/TrustManifest/properties/attestations/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
865
|
+
if (vErrors === null) {
|
|
866
|
+
vErrors = [err43];
|
|
867
|
+
}
|
|
868
|
+
else {
|
|
869
|
+
vErrors.push(err43);
|
|
870
|
+
}
|
|
871
|
+
errors++;
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
if (data18.provenance !== undefined) {
|
|
875
|
+
let data33 = data18.provenance;
|
|
876
|
+
if (Array.isArray(data33)) {
|
|
877
|
+
const len5 = data33.length;
|
|
878
|
+
for (let i5=0; i5<len5; i5++) {
|
|
879
|
+
let data34 = data33[i5];
|
|
880
|
+
if (data34 && typeof data34 == "object" && !Array.isArray(data34)) {
|
|
881
|
+
if (data34.relation === undefined) {
|
|
882
|
+
const err44 = {instancePath:instancePath+"/TrustManifest/provenance/" + i5,schemaPath:"#/$defs/TrustManifest/properties/provenance/items/required",keyword:"required",params:{missingProperty: "relation"},message:"must have required property '"+"relation"+"'"};
|
|
883
|
+
if (vErrors === null) {
|
|
884
|
+
vErrors = [err44];
|
|
885
|
+
}
|
|
886
|
+
else {
|
|
887
|
+
vErrors.push(err44);
|
|
888
|
+
}
|
|
889
|
+
errors++;
|
|
828
890
|
}
|
|
829
|
-
|
|
830
|
-
|
|
891
|
+
if (data34.sourceId === undefined) {
|
|
892
|
+
const err45 = {instancePath:instancePath+"/TrustManifest/provenance/" + i5,schemaPath:"#/$defs/TrustManifest/properties/provenance/items/required",keyword:"required",params:{missingProperty: "sourceId"},message:"must have required property '"+"sourceId"+"'"};
|
|
893
|
+
if (vErrors === null) {
|
|
894
|
+
vErrors = [err45];
|
|
895
|
+
}
|
|
896
|
+
else {
|
|
897
|
+
vErrors.push(err45);
|
|
898
|
+
}
|
|
899
|
+
errors++;
|
|
900
|
+
}
|
|
901
|
+
if (data34.relation !== undefined) {
|
|
902
|
+
if (typeof data34.relation !== "string") {
|
|
903
|
+
const err46 = {instancePath:instancePath+"/TrustManifest/provenance/" + i5+"/relation",schemaPath:"#/$defs/TrustManifest/properties/provenance/items/properties/relation/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
904
|
+
if (vErrors === null) {
|
|
905
|
+
vErrors = [err46];
|
|
906
|
+
}
|
|
907
|
+
else {
|
|
908
|
+
vErrors.push(err46);
|
|
909
|
+
}
|
|
910
|
+
errors++;
|
|
911
|
+
}
|
|
912
|
+
}
|
|
913
|
+
if (data34.sourceId !== undefined) {
|
|
914
|
+
if (typeof data34.sourceId !== "string") {
|
|
915
|
+
const err47 = {instancePath:instancePath+"/TrustManifest/provenance/" + i5+"/sourceId",schemaPath:"#/$defs/TrustManifest/properties/provenance/items/properties/sourceId/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
916
|
+
if (vErrors === null) {
|
|
917
|
+
vErrors = [err47];
|
|
918
|
+
}
|
|
919
|
+
else {
|
|
920
|
+
vErrors.push(err47);
|
|
921
|
+
}
|
|
922
|
+
errors++;
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
if (data34.sourceDigest !== undefined) {
|
|
926
|
+
if (typeof data34.sourceDigest !== "string") {
|
|
927
|
+
const err48 = {instancePath:instancePath+"/TrustManifest/provenance/" + i5+"/sourceDigest",schemaPath:"#/$defs/TrustManifest/properties/provenance/items/properties/sourceDigest/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
928
|
+
if (vErrors === null) {
|
|
929
|
+
vErrors = [err48];
|
|
930
|
+
}
|
|
931
|
+
else {
|
|
932
|
+
vErrors.push(err48);
|
|
933
|
+
}
|
|
934
|
+
errors++;
|
|
935
|
+
}
|
|
831
936
|
}
|
|
832
|
-
errors++;
|
|
833
937
|
}
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
if (typeof data15.sourceDigest !== "string") {
|
|
837
|
-
const err32 = {instancePath:instancePath+"/provenance/" + i2+"/sourceDigest",schemaPath:"#/properties/provenance/items/properties/sourceDigest/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
938
|
+
else {
|
|
939
|
+
const err49 = {instancePath:instancePath+"/TrustManifest/provenance/" + i5,schemaPath:"#/$defs/TrustManifest/properties/provenance/items/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
838
940
|
if (vErrors === null) {
|
|
839
|
-
vErrors = [
|
|
941
|
+
vErrors = [err49];
|
|
840
942
|
}
|
|
841
943
|
else {
|
|
842
|
-
vErrors.push(
|
|
944
|
+
vErrors.push(err49);
|
|
843
945
|
}
|
|
844
946
|
errors++;
|
|
845
947
|
}
|
|
846
948
|
}
|
|
847
949
|
}
|
|
848
950
|
else {
|
|
849
|
-
const
|
|
951
|
+
const err50 = {instancePath:instancePath+"/TrustManifest/provenance",schemaPath:"#/$defs/TrustManifest/properties/provenance/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
850
952
|
if (vErrors === null) {
|
|
851
|
-
vErrors = [
|
|
953
|
+
vErrors = [err50];
|
|
852
954
|
}
|
|
853
955
|
else {
|
|
854
|
-
vErrors.push(
|
|
956
|
+
vErrors.push(err50);
|
|
855
957
|
}
|
|
856
958
|
errors++;
|
|
857
959
|
}
|
|
858
960
|
}
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
961
|
+
if (data18.signature !== undefined) {
|
|
962
|
+
if (typeof data18.signature !== "string") {
|
|
963
|
+
const err51 = {instancePath:instancePath+"/TrustManifest/signature",schemaPath:"#/$defs/TrustManifest/properties/signature/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
964
|
+
if (vErrors === null) {
|
|
965
|
+
vErrors = [err51];
|
|
966
|
+
}
|
|
967
|
+
else {
|
|
968
|
+
vErrors.push(err51);
|
|
969
|
+
}
|
|
970
|
+
errors++;
|
|
971
|
+
}
|
|
867
972
|
}
|
|
868
|
-
errors++;
|
|
869
973
|
}
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
if (typeof data.signature !== "string") {
|
|
873
|
-
const err35 = {instancePath:instancePath+"/signature",schemaPath:"#/properties/signature/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
974
|
+
else {
|
|
975
|
+
const err52 = {instancePath:instancePath+"/TrustManifest",schemaPath:"#/$defs/TrustManifest/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
874
976
|
if (vErrors === null) {
|
|
875
|
-
vErrors = [
|
|
977
|
+
vErrors = [err52];
|
|
876
978
|
}
|
|
877
979
|
else {
|
|
878
|
-
vErrors.push(
|
|
980
|
+
vErrors.push(err52);
|
|
879
981
|
}
|
|
880
982
|
errors++;
|
|
881
983
|
}
|
|
882
984
|
}
|
|
883
985
|
}
|
|
884
986
|
else {
|
|
885
|
-
const
|
|
987
|
+
const err53 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
886
988
|
if (vErrors === null) {
|
|
887
|
-
vErrors = [
|
|
989
|
+
vErrors = [err53];
|
|
888
990
|
}
|
|
889
991
|
else {
|
|
890
|
-
vErrors.push(
|
|
992
|
+
vErrors.push(err53);
|
|
891
993
|
}
|
|
892
994
|
errors++;
|
|
893
995
|
}
|
|
894
|
-
|
|
996
|
+
validate22.errors = vErrors;
|
|
895
997
|
return errors === 0;
|
|
896
998
|
}
|
|
897
|
-
|
|
999
|
+
validate22.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|
|
898
1000
|
|
|
899
|
-
const schema34 = {
|
|
900
|
-
"type": "object",
|
|
901
|
-
"description": "A single AI capability entry within the catalog.",
|
|
902
|
-
"required": [
|
|
903
|
-
"identifier",
|
|
904
|
-
"displayName",
|
|
905
|
-
"type"
|
|
906
|
-
],
|
|
907
|
-
"oneOf": [
|
|
908
|
-
{
|
|
909
|
-
"required": [
|
|
910
|
-
"url"
|
|
911
|
-
],
|
|
912
|
-
"not": {
|
|
913
|
-
"required": [
|
|
914
|
-
"data"
|
|
915
|
-
]
|
|
916
|
-
}
|
|
917
|
-
},
|
|
918
|
-
{
|
|
919
|
-
"required": [
|
|
920
|
-
"data"
|
|
921
|
-
],
|
|
922
|
-
"not": {
|
|
923
|
-
"required": [
|
|
924
|
-
"url"
|
|
925
|
-
]
|
|
926
|
-
}
|
|
927
|
-
}
|
|
928
|
-
],
|
|
929
|
-
"properties": {
|
|
930
|
-
"identifier": {
|
|
931
|
-
"type": "string",
|
|
932
|
-
"pattern": "^urn:air:[a-zA-Z0-9.-]+(:[a-zA-Z0-9._-]+)+$",
|
|
933
|
-
"description": "RFC 8141-compliant unique logical URN formatted as: urn:air:<publisher>:<namespace>:<agent-name>"
|
|
934
|
-
},
|
|
935
|
-
"displayName": {
|
|
936
|
-
"type": "string",
|
|
937
|
-
"description": "Human-friendly display name."
|
|
938
|
-
},
|
|
939
|
-
"type": {
|
|
940
|
-
"type": "string",
|
|
941
|
-
"description": "IANA Media Type indicating the specific protocol wrapper or payload structure (e.g. application/mcp-server-card+json)."
|
|
942
|
-
},
|
|
943
|
-
"url": {
|
|
944
|
-
"type": "string",
|
|
945
|
-
"format": "uri",
|
|
946
|
-
"description": "HTTP URL reference to retrieve the full artifact document."
|
|
947
|
-
},
|
|
948
|
-
"data": {
|
|
949
|
-
"type": "object",
|
|
950
|
-
"description": "Embedded JSON object containing the complete artifact specification inline."
|
|
951
|
-
},
|
|
952
|
-
"description": {
|
|
953
|
-
"type": "string",
|
|
954
|
-
"description": "Brief natural-language description of the capability."
|
|
955
|
-
},
|
|
956
|
-
"tags": {
|
|
957
|
-
"type": "array",
|
|
958
|
-
"items": {
|
|
959
|
-
"type": "string"
|
|
960
|
-
},
|
|
961
|
-
"description": "Tags or keywords for basic categorizing and filtering."
|
|
962
|
-
},
|
|
963
|
-
"capabilities": {
|
|
964
|
-
"type": "array",
|
|
965
|
-
"items": {
|
|
966
|
-
"type": "string"
|
|
967
|
-
},
|
|
968
|
-
"description": "Explicit high-performance indexing tags representing skills, tools, or functions (e.g. ['WeatherTool', 'ForecastTool'])."
|
|
969
|
-
},
|
|
970
|
-
"representativeQueries": {
|
|
971
|
-
"type": "array",
|
|
972
|
-
"minItems": 2,
|
|
973
|
-
"maxItems": 5,
|
|
974
|
-
"items": {
|
|
975
|
-
"type": "string"
|
|
976
|
-
},
|
|
977
|
-
"description": "Representative natural-language search queries used for indexing and vector embedding generation."
|
|
978
|
-
},
|
|
979
|
-
"version": {
|
|
980
|
-
"type": "string",
|
|
981
|
-
"description": "Semantic version of the capability."
|
|
982
|
-
},
|
|
983
|
-
"updatedAt": {
|
|
984
|
-
"type": "string",
|
|
985
|
-
"format": "date-time",
|
|
986
|
-
"description": "ISO 8601 timestamp of the last modification."
|
|
987
|
-
},
|
|
988
|
-
"metadata": {
|
|
989
|
-
"type": "object",
|
|
990
|
-
"description": "Arbitrary key-value pairs for custom extensions.",
|
|
991
|
-
"additionalProperties": {
|
|
992
|
-
"type": [
|
|
993
|
-
"string",
|
|
994
|
-
"number",
|
|
995
|
-
"boolean",
|
|
996
|
-
"null"
|
|
997
|
-
]
|
|
998
|
-
}
|
|
999
|
-
},
|
|
1000
|
-
"trustManifest": {
|
|
1001
|
-
"$ref": "#/$defs/trustManifest"
|
|
1002
|
-
}
|
|
1003
|
-
}
|
|
1004
|
-
};
|
|
1005
|
-
const pattern4 = new RegExp("^urn:air:[a-zA-Z0-9.-]+(:[a-zA-Z0-9._-]+)+$", "u");
|
|
1006
|
-
const formats10 = fullFormats["date-time"];
|
|
1007
1001
|
|
|
1008
|
-
function
|
|
1002
|
+
function validate21(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}) {
|
|
1009
1003
|
let vErrors = null;
|
|
1010
1004
|
let errors = 0;
|
|
1011
|
-
const evaluated0 =
|
|
1005
|
+
const evaluated0 = validate21.evaluated;
|
|
1012
1006
|
if (evaluated0.dynamicProps) {
|
|
1013
1007
|
evaluated0.props = undefined;
|
|
1014
1008
|
}
|
|
1015
1009
|
if (evaluated0.dynamicItems) {
|
|
1016
1010
|
evaluated0.items = undefined;
|
|
1017
1011
|
}
|
|
1018
|
-
const
|
|
1012
|
+
const _errs0 = errors;
|
|
1019
1013
|
let valid0 = false;
|
|
1020
1014
|
let passing0 = null;
|
|
1015
|
+
const _errs1 = errors;
|
|
1021
1016
|
const _errs2 = errors;
|
|
1022
1017
|
const _errs3 = errors;
|
|
1023
|
-
const _errs4 = errors;
|
|
1024
1018
|
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1025
1019
|
let missing0;
|
|
1026
1020
|
if ((data.data === undefined) && (missing0 = "data")) {
|
|
@@ -1034,7 +1028,7 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1034
1028
|
errors++;
|
|
1035
1029
|
}
|
|
1036
1030
|
}
|
|
1037
|
-
var valid1 =
|
|
1031
|
+
var valid1 = _errs3 === errors;
|
|
1038
1032
|
if (valid1) {
|
|
1039
1033
|
const err1 = {instancePath,schemaPath:"#/oneOf/0/not",keyword:"not",params:{},message:"must NOT be valid"};
|
|
1040
1034
|
if (vErrors === null) {
|
|
@@ -1046,10 +1040,10 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1046
1040
|
errors++;
|
|
1047
1041
|
}
|
|
1048
1042
|
else {
|
|
1049
|
-
errors =
|
|
1043
|
+
errors = _errs2;
|
|
1050
1044
|
if (vErrors !== null) {
|
|
1051
|
-
if (
|
|
1052
|
-
vErrors.length =
|
|
1045
|
+
if (_errs2) {
|
|
1046
|
+
vErrors.length = _errs2;
|
|
1053
1047
|
}
|
|
1054
1048
|
else {
|
|
1055
1049
|
vErrors = null;
|
|
@@ -1068,14 +1062,14 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1068
1062
|
errors++;
|
|
1069
1063
|
}
|
|
1070
1064
|
}
|
|
1071
|
-
var _valid0 =
|
|
1065
|
+
var _valid0 = _errs1 === errors;
|
|
1072
1066
|
if (_valid0) {
|
|
1073
1067
|
valid0 = true;
|
|
1074
1068
|
passing0 = 0;
|
|
1075
1069
|
}
|
|
1070
|
+
const _errs4 = errors;
|
|
1076
1071
|
const _errs5 = errors;
|
|
1077
1072
|
const _errs6 = errors;
|
|
1078
|
-
const _errs7 = errors;
|
|
1079
1073
|
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1080
1074
|
let missing1;
|
|
1081
1075
|
if ((data.url === undefined) && (missing1 = "url")) {
|
|
@@ -1089,7 +1083,7 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1089
1083
|
errors++;
|
|
1090
1084
|
}
|
|
1091
1085
|
}
|
|
1092
|
-
var valid2 =
|
|
1086
|
+
var valid2 = _errs6 === errors;
|
|
1093
1087
|
if (valid2) {
|
|
1094
1088
|
const err4 = {instancePath,schemaPath:"#/oneOf/1/not",keyword:"not",params:{},message:"must NOT be valid"};
|
|
1095
1089
|
if (vErrors === null) {
|
|
@@ -1101,10 +1095,10 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1101
1095
|
errors++;
|
|
1102
1096
|
}
|
|
1103
1097
|
else {
|
|
1104
|
-
errors =
|
|
1098
|
+
errors = _errs5;
|
|
1105
1099
|
if (vErrors !== null) {
|
|
1106
|
-
if (
|
|
1107
|
-
vErrors.length =
|
|
1100
|
+
if (_errs5) {
|
|
1101
|
+
vErrors.length = _errs5;
|
|
1108
1102
|
}
|
|
1109
1103
|
else {
|
|
1110
1104
|
vErrors = null;
|
|
@@ -1123,7 +1117,7 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1123
1117
|
errors++;
|
|
1124
1118
|
}
|
|
1125
1119
|
}
|
|
1126
|
-
var _valid0 =
|
|
1120
|
+
var _valid0 = _errs4 === errors;
|
|
1127
1121
|
if (_valid0 && valid0) {
|
|
1128
1122
|
valid0 = false;
|
|
1129
1123
|
passing0 = [passing0, 1];
|
|
@@ -1145,16 +1139,20 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1145
1139
|
errors++;
|
|
1146
1140
|
}
|
|
1147
1141
|
else {
|
|
1148
|
-
errors =
|
|
1142
|
+
errors = _errs0;
|
|
1149
1143
|
if (vErrors !== null) {
|
|
1150
|
-
if (
|
|
1151
|
-
vErrors.length =
|
|
1144
|
+
if (_errs0) {
|
|
1145
|
+
vErrors.length = _errs0;
|
|
1152
1146
|
}
|
|
1153
1147
|
else {
|
|
1154
1148
|
vErrors = null;
|
|
1155
1149
|
}
|
|
1156
1150
|
}
|
|
1157
1151
|
}
|
|
1152
|
+
if (!(validate22(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))) {
|
|
1153
|
+
vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);
|
|
1154
|
+
errors = vErrors.length;
|
|
1155
|
+
}
|
|
1158
1156
|
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1159
1157
|
if (data.identifier === undefined) {
|
|
1160
1158
|
const err7 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "identifier"},message:"must have required property '"+"identifier"+"'"};
|
|
@@ -1186,311 +1184,94 @@ function validate23(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1186
1184
|
}
|
|
1187
1185
|
errors++;
|
|
1188
1186
|
}
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1187
|
+
}
|
|
1188
|
+
validate21.errors = vErrors;
|
|
1189
|
+
return errors === 0;
|
|
1190
|
+
}
|
|
1191
|
+
validate21.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|
|
1192
|
+
|
|
1193
|
+
|
|
1194
|
+
function validate25(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}) {
|
|
1195
|
+
let vErrors = null;
|
|
1196
|
+
let errors = 0;
|
|
1197
|
+
const evaluated0 = validate25.evaluated;
|
|
1198
|
+
if (evaluated0.dynamicProps) {
|
|
1199
|
+
evaluated0.props = undefined;
|
|
1200
|
+
}
|
|
1201
|
+
if (evaluated0.dynamicItems) {
|
|
1202
|
+
evaluated0.items = undefined;
|
|
1203
|
+
}
|
|
1204
|
+
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1205
|
+
if (data.entries === undefined) {
|
|
1206
|
+
const err0 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "entries"},message:"must have required property '"+"entries"+"'"};
|
|
1207
|
+
if (vErrors === null) {
|
|
1208
|
+
vErrors = [err0];
|
|
1202
1209
|
}
|
|
1203
1210
|
else {
|
|
1204
|
-
|
|
1205
|
-
if (vErrors === null) {
|
|
1206
|
-
vErrors = [err11];
|
|
1207
|
-
}
|
|
1208
|
-
else {
|
|
1209
|
-
vErrors.push(err11);
|
|
1210
|
-
}
|
|
1211
|
-
errors++;
|
|
1212
|
-
}
|
|
1213
|
-
}
|
|
1214
|
-
if (data.displayName !== undefined) {
|
|
1215
|
-
if (typeof data.displayName !== "string") {
|
|
1216
|
-
const err12 = {instancePath:instancePath+"/displayName",schemaPath:"#/properties/displayName/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1217
|
-
if (vErrors === null) {
|
|
1218
|
-
vErrors = [err12];
|
|
1219
|
-
}
|
|
1220
|
-
else {
|
|
1221
|
-
vErrors.push(err12);
|
|
1222
|
-
}
|
|
1223
|
-
errors++;
|
|
1224
|
-
}
|
|
1225
|
-
}
|
|
1226
|
-
if (data.type !== undefined) {
|
|
1227
|
-
if (typeof data.type !== "string") {
|
|
1228
|
-
const err13 = {instancePath:instancePath+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1229
|
-
if (vErrors === null) {
|
|
1230
|
-
vErrors = [err13];
|
|
1231
|
-
}
|
|
1232
|
-
else {
|
|
1233
|
-
vErrors.push(err13);
|
|
1234
|
-
}
|
|
1235
|
-
errors++;
|
|
1211
|
+
vErrors.push(err0);
|
|
1236
1212
|
}
|
|
1213
|
+
errors++;
|
|
1237
1214
|
}
|
|
1238
|
-
if (data.
|
|
1239
|
-
let
|
|
1240
|
-
if (
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
if (
|
|
1244
|
-
vErrors =
|
|
1245
|
-
|
|
1246
|
-
else {
|
|
1247
|
-
vErrors.push(err14);
|
|
1215
|
+
if (data.entries !== undefined) {
|
|
1216
|
+
let data0 = data.entries;
|
|
1217
|
+
if (Array.isArray(data0)) {
|
|
1218
|
+
const len0 = data0.length;
|
|
1219
|
+
for (let i0=0; i0<len0; i0++) {
|
|
1220
|
+
if (!(validate21(data0[i0], {instancePath:instancePath+"/entries/" + i0,parentData:data0,parentDataProperty:i0,rootData,dynamicAnchors}))) {
|
|
1221
|
+
vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);
|
|
1222
|
+
errors = vErrors.length;
|
|
1248
1223
|
}
|
|
1249
|
-
errors++;
|
|
1250
1224
|
}
|
|
1251
1225
|
}
|
|
1252
1226
|
else {
|
|
1253
|
-
const
|
|
1254
|
-
if (vErrors === null) {
|
|
1255
|
-
vErrors = [err15];
|
|
1256
|
-
}
|
|
1257
|
-
else {
|
|
1258
|
-
vErrors.push(err15);
|
|
1259
|
-
}
|
|
1260
|
-
errors++;
|
|
1261
|
-
}
|
|
1262
|
-
}
|
|
1263
|
-
if (data.data !== undefined) {
|
|
1264
|
-
let data4 = data.data;
|
|
1265
|
-
if (!(data4 && typeof data4 == "object" && !Array.isArray(data4))) {
|
|
1266
|
-
const err16 = {instancePath:instancePath+"/data",schemaPath:"#/properties/data/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
1227
|
+
const err1 = {instancePath:instancePath+"/entries",schemaPath:"#/properties/entries/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
1267
1228
|
if (vErrors === null) {
|
|
1268
|
-
vErrors = [
|
|
1229
|
+
vErrors = [err1];
|
|
1269
1230
|
}
|
|
1270
1231
|
else {
|
|
1271
|
-
vErrors.push(
|
|
1232
|
+
vErrors.push(err1);
|
|
1272
1233
|
}
|
|
1273
1234
|
errors++;
|
|
1274
1235
|
}
|
|
1275
1236
|
}
|
|
1276
|
-
if (data.description !== undefined) {
|
|
1277
|
-
if (typeof data.description !== "string") {
|
|
1278
|
-
const err17 = {instancePath:instancePath+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1279
|
-
if (vErrors === null) {
|
|
1280
|
-
vErrors = [err17];
|
|
1281
|
-
}
|
|
1282
|
-
else {
|
|
1283
|
-
vErrors.push(err17);
|
|
1284
|
-
}
|
|
1285
|
-
errors++;
|
|
1286
|
-
}
|
|
1287
|
-
}
|
|
1288
|
-
if (data.tags !== undefined) {
|
|
1289
|
-
let data6 = data.tags;
|
|
1290
|
-
if (Array.isArray(data6)) {
|
|
1291
|
-
const len0 = data6.length;
|
|
1292
|
-
for (let i0=0; i0<len0; i0++) {
|
|
1293
|
-
if (typeof data6[i0] !== "string") {
|
|
1294
|
-
const err18 = {instancePath:instancePath+"/tags/" + i0,schemaPath:"#/properties/tags/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1295
|
-
if (vErrors === null) {
|
|
1296
|
-
vErrors = [err18];
|
|
1297
|
-
}
|
|
1298
|
-
else {
|
|
1299
|
-
vErrors.push(err18);
|
|
1300
|
-
}
|
|
1301
|
-
errors++;
|
|
1302
|
-
}
|
|
1303
|
-
}
|
|
1304
|
-
}
|
|
1305
|
-
else {
|
|
1306
|
-
const err19 = {instancePath:instancePath+"/tags",schemaPath:"#/properties/tags/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
1307
|
-
if (vErrors === null) {
|
|
1308
|
-
vErrors = [err19];
|
|
1309
|
-
}
|
|
1310
|
-
else {
|
|
1311
|
-
vErrors.push(err19);
|
|
1312
|
-
}
|
|
1313
|
-
errors++;
|
|
1314
|
-
}
|
|
1315
|
-
}
|
|
1316
|
-
if (data.capabilities !== undefined) {
|
|
1317
|
-
let data8 = data.capabilities;
|
|
1318
|
-
if (Array.isArray(data8)) {
|
|
1319
|
-
const len1 = data8.length;
|
|
1320
|
-
for (let i1=0; i1<len1; i1++) {
|
|
1321
|
-
if (typeof data8[i1] !== "string") {
|
|
1322
|
-
const err20 = {instancePath:instancePath+"/capabilities/" + i1,schemaPath:"#/properties/capabilities/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1323
|
-
if (vErrors === null) {
|
|
1324
|
-
vErrors = [err20];
|
|
1325
|
-
}
|
|
1326
|
-
else {
|
|
1327
|
-
vErrors.push(err20);
|
|
1328
|
-
}
|
|
1329
|
-
errors++;
|
|
1330
|
-
}
|
|
1331
|
-
}
|
|
1332
|
-
}
|
|
1333
|
-
else {
|
|
1334
|
-
const err21 = {instancePath:instancePath+"/capabilities",schemaPath:"#/properties/capabilities/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
1335
|
-
if (vErrors === null) {
|
|
1336
|
-
vErrors = [err21];
|
|
1337
|
-
}
|
|
1338
|
-
else {
|
|
1339
|
-
vErrors.push(err21);
|
|
1340
|
-
}
|
|
1341
|
-
errors++;
|
|
1342
|
-
}
|
|
1343
|
-
}
|
|
1344
|
-
if (data.representativeQueries !== undefined) {
|
|
1345
|
-
let data10 = data.representativeQueries;
|
|
1346
|
-
if (Array.isArray(data10)) {
|
|
1347
|
-
if (data10.length > 5) {
|
|
1348
|
-
const err22 = {instancePath:instancePath+"/representativeQueries",schemaPath:"#/properties/representativeQueries/maxItems",keyword:"maxItems",params:{limit: 5},message:"must NOT have more than 5 items"};
|
|
1349
|
-
if (vErrors === null) {
|
|
1350
|
-
vErrors = [err22];
|
|
1351
|
-
}
|
|
1352
|
-
else {
|
|
1353
|
-
vErrors.push(err22);
|
|
1354
|
-
}
|
|
1355
|
-
errors++;
|
|
1356
|
-
}
|
|
1357
|
-
if (data10.length < 2) {
|
|
1358
|
-
const err23 = {instancePath:instancePath+"/representativeQueries",schemaPath:"#/properties/representativeQueries/minItems",keyword:"minItems",params:{limit: 2},message:"must NOT have fewer than 2 items"};
|
|
1359
|
-
if (vErrors === null) {
|
|
1360
|
-
vErrors = [err23];
|
|
1361
|
-
}
|
|
1362
|
-
else {
|
|
1363
|
-
vErrors.push(err23);
|
|
1364
|
-
}
|
|
1365
|
-
errors++;
|
|
1366
|
-
}
|
|
1367
|
-
const len2 = data10.length;
|
|
1368
|
-
for (let i2=0; i2<len2; i2++) {
|
|
1369
|
-
if (typeof data10[i2] !== "string") {
|
|
1370
|
-
const err24 = {instancePath:instancePath+"/representativeQueries/" + i2,schemaPath:"#/properties/representativeQueries/items/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1371
|
-
if (vErrors === null) {
|
|
1372
|
-
vErrors = [err24];
|
|
1373
|
-
}
|
|
1374
|
-
else {
|
|
1375
|
-
vErrors.push(err24);
|
|
1376
|
-
}
|
|
1377
|
-
errors++;
|
|
1378
|
-
}
|
|
1379
|
-
}
|
|
1380
|
-
}
|
|
1381
|
-
else {
|
|
1382
|
-
const err25 = {instancePath:instancePath+"/representativeQueries",schemaPath:"#/properties/representativeQueries/type",keyword:"type",params:{type: "array"},message:"must be array"};
|
|
1383
|
-
if (vErrors === null) {
|
|
1384
|
-
vErrors = [err25];
|
|
1385
|
-
}
|
|
1386
|
-
else {
|
|
1387
|
-
vErrors.push(err25);
|
|
1388
|
-
}
|
|
1389
|
-
errors++;
|
|
1390
|
-
}
|
|
1391
|
-
}
|
|
1392
|
-
if (data.version !== undefined) {
|
|
1393
|
-
if (typeof data.version !== "string") {
|
|
1394
|
-
const err26 = {instancePath:instancePath+"/version",schemaPath:"#/properties/version/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1395
|
-
if (vErrors === null) {
|
|
1396
|
-
vErrors = [err26];
|
|
1397
|
-
}
|
|
1398
|
-
else {
|
|
1399
|
-
vErrors.push(err26);
|
|
1400
|
-
}
|
|
1401
|
-
errors++;
|
|
1402
|
-
}
|
|
1403
|
-
}
|
|
1404
|
-
if (data.updatedAt !== undefined) {
|
|
1405
|
-
let data13 = data.updatedAt;
|
|
1406
|
-
if (typeof data13 === "string") {
|
|
1407
|
-
if (!(formats10.validate(data13))) {
|
|
1408
|
-
const err27 = {instancePath:instancePath+"/updatedAt",schemaPath:"#/properties/updatedAt/format",keyword:"format",params:{format: "date-time"},message:"must match format \""+"date-time"+"\""};
|
|
1409
|
-
if (vErrors === null) {
|
|
1410
|
-
vErrors = [err27];
|
|
1411
|
-
}
|
|
1412
|
-
else {
|
|
1413
|
-
vErrors.push(err27);
|
|
1414
|
-
}
|
|
1415
|
-
errors++;
|
|
1416
|
-
}
|
|
1417
|
-
}
|
|
1418
|
-
else {
|
|
1419
|
-
const err28 = {instancePath:instancePath+"/updatedAt",schemaPath:"#/properties/updatedAt/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1420
|
-
if (vErrors === null) {
|
|
1421
|
-
vErrors = [err28];
|
|
1422
|
-
}
|
|
1423
|
-
else {
|
|
1424
|
-
vErrors.push(err28);
|
|
1425
|
-
}
|
|
1426
|
-
errors++;
|
|
1427
|
-
}
|
|
1428
|
-
}
|
|
1429
|
-
if (data.metadata !== undefined) {
|
|
1430
|
-
let data14 = data.metadata;
|
|
1431
|
-
if (data14 && typeof data14 == "object" && !Array.isArray(data14)) {
|
|
1432
|
-
for (const key0 in data14) {
|
|
1433
|
-
let data15 = data14[key0];
|
|
1434
|
-
if ((((typeof data15 !== "string") && (!((typeof data15 == "number") && (isFinite(data15))))) && (typeof data15 !== "boolean")) && (data15 !== null)) {
|
|
1435
|
-
const err29 = {instancePath:instancePath+"/metadata/" + key0.replace(/~/g, "~0").replace(/\//g, "~1"),schemaPath:"#/properties/metadata/additionalProperties/type",keyword:"type",params:{type: schema34.properties.metadata.additionalProperties.type},message:"must be string,number,boolean,null"};
|
|
1436
|
-
if (vErrors === null) {
|
|
1437
|
-
vErrors = [err29];
|
|
1438
|
-
}
|
|
1439
|
-
else {
|
|
1440
|
-
vErrors.push(err29);
|
|
1441
|
-
}
|
|
1442
|
-
errors++;
|
|
1443
|
-
}
|
|
1444
|
-
}
|
|
1445
|
-
}
|
|
1446
|
-
else {
|
|
1447
|
-
const err30 = {instancePath:instancePath+"/metadata",schemaPath:"#/properties/metadata/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
1448
|
-
if (vErrors === null) {
|
|
1449
|
-
vErrors = [err30];
|
|
1450
|
-
}
|
|
1451
|
-
else {
|
|
1452
|
-
vErrors.push(err30);
|
|
1453
|
-
}
|
|
1454
|
-
errors++;
|
|
1455
|
-
}
|
|
1456
|
-
}
|
|
1457
|
-
if (data.trustManifest !== undefined) {
|
|
1458
|
-
if (!(validate21(data.trustManifest, {instancePath:instancePath+"/trustManifest",parentData:data,parentDataProperty:"trustManifest",rootData,dynamicAnchors}))) {
|
|
1459
|
-
vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);
|
|
1460
|
-
errors = vErrors.length;
|
|
1461
|
-
}
|
|
1462
|
-
}
|
|
1463
1237
|
}
|
|
1464
1238
|
else {
|
|
1465
|
-
const
|
|
1239
|
+
const err2 = {instancePath,schemaPath:"#/type",keyword:"type",params:{type: "object"},message:"must be object"};
|
|
1466
1240
|
if (vErrors === null) {
|
|
1467
|
-
vErrors = [
|
|
1241
|
+
vErrors = [err2];
|
|
1468
1242
|
}
|
|
1469
1243
|
else {
|
|
1470
|
-
vErrors.push(
|
|
1244
|
+
vErrors.push(err2);
|
|
1471
1245
|
}
|
|
1472
1246
|
errors++;
|
|
1473
1247
|
}
|
|
1474
|
-
|
|
1248
|
+
validate25.errors = vErrors;
|
|
1475
1249
|
return errors === 0;
|
|
1476
1250
|
}
|
|
1477
|
-
|
|
1251
|
+
validate25.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|
|
1478
1252
|
|
|
1253
|
+
export const ArdEntry = validate27;
|
|
1479
1254
|
|
|
1480
|
-
function
|
|
1481
|
-
/*# sourceURL="https://raw.githubusercontent.com/ards-project/ard-spec/main/spec/schemas/ai-catalog.schema.json" */;
|
|
1255
|
+
function validate27(data, {instancePath="", parentData, parentDataProperty, rootData=data, dynamicAnchors={}}={}) {
|
|
1482
1256
|
let vErrors = null;
|
|
1483
1257
|
let errors = 0;
|
|
1484
|
-
const evaluated0 =
|
|
1258
|
+
const evaluated0 = validate27.evaluated;
|
|
1485
1259
|
if (evaluated0.dynamicProps) {
|
|
1486
1260
|
evaluated0.props = undefined;
|
|
1487
1261
|
}
|
|
1488
1262
|
if (evaluated0.dynamicItems) {
|
|
1489
1263
|
evaluated0.items = undefined;
|
|
1490
1264
|
}
|
|
1265
|
+
const _errs0 = errors;
|
|
1266
|
+
let valid0 = false;
|
|
1267
|
+
let passing0 = null;
|
|
1268
|
+
const _errs1 = errors;
|
|
1269
|
+
const _errs2 = errors;
|
|
1270
|
+
const _errs3 = errors;
|
|
1491
1271
|
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1492
|
-
|
|
1493
|
-
|
|
1272
|
+
let missing0;
|
|
1273
|
+
if ((data.data === undefined) && (missing0 = "data")) {
|
|
1274
|
+
const err0 = {};
|
|
1494
1275
|
if (vErrors === null) {
|
|
1495
1276
|
vErrors = [err0];
|
|
1496
1277
|
}
|
|
@@ -1499,202 +1280,165 @@ function validate20(data, {instancePath="", parentData, parentDataProperty, root
|
|
|
1499
1280
|
}
|
|
1500
1281
|
errors++;
|
|
1501
1282
|
}
|
|
1502
|
-
|
|
1503
|
-
|
|
1504
|
-
|
|
1505
|
-
|
|
1283
|
+
}
|
|
1284
|
+
var valid1 = _errs3 === errors;
|
|
1285
|
+
if (valid1) {
|
|
1286
|
+
const err1 = {instancePath,schemaPath:"#/oneOf/0/not",keyword:"not",params:{},message:"must NOT be valid"};
|
|
1287
|
+
if (vErrors === null) {
|
|
1288
|
+
vErrors = [err1];
|
|
1289
|
+
}
|
|
1290
|
+
else {
|
|
1291
|
+
vErrors.push(err1);
|
|
1292
|
+
}
|
|
1293
|
+
errors++;
|
|
1294
|
+
}
|
|
1295
|
+
else {
|
|
1296
|
+
errors = _errs2;
|
|
1297
|
+
if (vErrors !== null) {
|
|
1298
|
+
if (_errs2) {
|
|
1299
|
+
vErrors.length = _errs2;
|
|
1506
1300
|
}
|
|
1507
1301
|
else {
|
|
1508
|
-
vErrors
|
|
1302
|
+
vErrors = null;
|
|
1509
1303
|
}
|
|
1510
|
-
errors++;
|
|
1511
1304
|
}
|
|
1512
|
-
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
else {
|
|
1519
|
-
vErrors.push(err2);
|
|
1520
|
-
}
|
|
1521
|
-
errors++;
|
|
1305
|
+
}
|
|
1306
|
+
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1307
|
+
if (data.url === undefined) {
|
|
1308
|
+
const err2 = {instancePath,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty: "url"},message:"must have required property '"+"url"+"'"};
|
|
1309
|
+
if (vErrors === null) {
|
|
1310
|
+
vErrors = [err2];
|
|
1522
1311
|
}
|
|
1312
|
+
else {
|
|
1313
|
+
vErrors.push(err2);
|
|
1314
|
+
}
|
|
1315
|
+
errors++;
|
|
1523
1316
|
}
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1531
|
-
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1317
|
+
}
|
|
1318
|
+
var _valid0 = _errs1 === errors;
|
|
1319
|
+
if (_valid0) {
|
|
1320
|
+
valid0 = true;
|
|
1321
|
+
passing0 = 0;
|
|
1322
|
+
}
|
|
1323
|
+
const _errs4 = errors;
|
|
1324
|
+
const _errs5 = errors;
|
|
1325
|
+
const _errs6 = errors;
|
|
1326
|
+
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1327
|
+
let missing1;
|
|
1328
|
+
if ((data.url === undefined) && (missing1 = "url")) {
|
|
1329
|
+
const err3 = {};
|
|
1330
|
+
if (vErrors === null) {
|
|
1331
|
+
vErrors = [err3];
|
|
1535
1332
|
}
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
if (vErrors === null) {
|
|
1539
|
-
vErrors = [err4];
|
|
1540
|
-
}
|
|
1541
|
-
else {
|
|
1542
|
-
vErrors.push(err4);
|
|
1543
|
-
}
|
|
1544
|
-
errors++;
|
|
1333
|
+
else {
|
|
1334
|
+
vErrors.push(err3);
|
|
1545
1335
|
}
|
|
1336
|
+
errors++;
|
|
1546
1337
|
}
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
vErrors = [err6];
|
|
1565
|
-
}
|
|
1566
|
-
else {
|
|
1567
|
-
vErrors.push(err6);
|
|
1568
|
-
}
|
|
1569
|
-
errors++;
|
|
1570
|
-
}
|
|
1571
|
-
}
|
|
1572
|
-
if (data1.displayName !== undefined) {
|
|
1573
|
-
if (typeof data1.displayName !== "string") {
|
|
1574
|
-
const err7 = {instancePath:instancePath+"/host/displayName",schemaPath:"#/properties/host/properties/displayName/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1575
|
-
if (vErrors === null) {
|
|
1576
|
-
vErrors = [err7];
|
|
1577
|
-
}
|
|
1578
|
-
else {
|
|
1579
|
-
vErrors.push(err7);
|
|
1580
|
-
}
|
|
1581
|
-
errors++;
|
|
1582
|
-
}
|
|
1583
|
-
}
|
|
1584
|
-
if (data1.identifier !== undefined) {
|
|
1585
|
-
if (typeof data1.identifier !== "string") {
|
|
1586
|
-
const err8 = {instancePath:instancePath+"/host/identifier",schemaPath:"#/properties/host/properties/identifier/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1587
|
-
if (vErrors === null) {
|
|
1588
|
-
vErrors = [err8];
|
|
1589
|
-
}
|
|
1590
|
-
else {
|
|
1591
|
-
vErrors.push(err8);
|
|
1592
|
-
}
|
|
1593
|
-
errors++;
|
|
1594
|
-
}
|
|
1595
|
-
}
|
|
1596
|
-
if (data1.documentationUrl !== undefined) {
|
|
1597
|
-
let data4 = data1.documentationUrl;
|
|
1598
|
-
if (typeof data4 === "string") {
|
|
1599
|
-
if (!(formats0(data4))) {
|
|
1600
|
-
const err9 = {instancePath:instancePath+"/host/documentationUrl",schemaPath:"#/properties/host/properties/documentationUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};
|
|
1601
|
-
if (vErrors === null) {
|
|
1602
|
-
vErrors = [err9];
|
|
1603
|
-
}
|
|
1604
|
-
else {
|
|
1605
|
-
vErrors.push(err9);
|
|
1606
|
-
}
|
|
1607
|
-
errors++;
|
|
1608
|
-
}
|
|
1609
|
-
}
|
|
1610
|
-
else {
|
|
1611
|
-
const err10 = {instancePath:instancePath+"/host/documentationUrl",schemaPath:"#/properties/host/properties/documentationUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1612
|
-
if (vErrors === null) {
|
|
1613
|
-
vErrors = [err10];
|
|
1614
|
-
}
|
|
1615
|
-
else {
|
|
1616
|
-
vErrors.push(err10);
|
|
1617
|
-
}
|
|
1618
|
-
errors++;
|
|
1619
|
-
}
|
|
1620
|
-
}
|
|
1621
|
-
if (data1.logoUrl !== undefined) {
|
|
1622
|
-
let data5 = data1.logoUrl;
|
|
1623
|
-
if (typeof data5 === "string") {
|
|
1624
|
-
if (!(formats0(data5))) {
|
|
1625
|
-
const err11 = {instancePath:instancePath+"/host/logoUrl",schemaPath:"#/properties/host/properties/logoUrl/format",keyword:"format",params:{format: "uri"},message:"must match format \""+"uri"+"\""};
|
|
1626
|
-
if (vErrors === null) {
|
|
1627
|
-
vErrors = [err11];
|
|
1628
|
-
}
|
|
1629
|
-
else {
|
|
1630
|
-
vErrors.push(err11);
|
|
1631
|
-
}
|
|
1632
|
-
errors++;
|
|
1633
|
-
}
|
|
1634
|
-
}
|
|
1635
|
-
else {
|
|
1636
|
-
const err12 = {instancePath:instancePath+"/host/logoUrl",schemaPath:"#/properties/host/properties/logoUrl/type",keyword:"type",params:{type: "string"},message:"must be string"};
|
|
1637
|
-
if (vErrors === null) {
|
|
1638
|
-
vErrors = [err12];
|
|
1639
|
-
}
|
|
1640
|
-
else {
|
|
1641
|
-
vErrors.push(err12);
|
|
1642
|
-
}
|
|
1643
|
-
errors++;
|
|
1644
|
-
}
|
|
1645
|
-
}
|
|
1646
|
-
if (data1.trustManifest !== undefined) {
|
|
1647
|
-
if (!(validate21(data1.trustManifest, {instancePath:instancePath+"/host/trustManifest",parentData:data1,parentDataProperty:"trustManifest",rootData,dynamicAnchors}))) {
|
|
1648
|
-
vErrors = vErrors === null ? validate21.errors : vErrors.concat(validate21.errors);
|
|
1649
|
-
errors = vErrors.length;
|
|
1650
|
-
}
|
|
1651
|
-
}
|
|
1338
|
+
}
|
|
1339
|
+
var valid2 = _errs6 === errors;
|
|
1340
|
+
if (valid2) {
|
|
1341
|
+
const err4 = {instancePath,schemaPath:"#/oneOf/1/not",keyword:"not",params:{},message:"must NOT be valid"};
|
|
1342
|
+
if (vErrors === null) {
|
|
1343
|
+
vErrors = [err4];
|
|
1344
|
+
}
|
|
1345
|
+
else {
|
|
1346
|
+
vErrors.push(err4);
|
|
1347
|
+
}
|
|
1348
|
+
errors++;
|
|
1349
|
+
}
|
|
1350
|
+
else {
|
|
1351
|
+
errors = _errs5;
|
|
1352
|
+
if (vErrors !== null) {
|
|
1353
|
+
if (_errs5) {
|
|
1354
|
+
vErrors.length = _errs5;
|
|
1652
1355
|
}
|
|
1653
1356
|
else {
|
|
1654
|
-
|
|
1655
|
-
if (vErrors === null) {
|
|
1656
|
-
vErrors = [err13];
|
|
1657
|
-
}
|
|
1658
|
-
else {
|
|
1659
|
-
vErrors.push(err13);
|
|
1660
|
-
}
|
|
1661
|
-
errors++;
|
|
1357
|
+
vErrors = null;
|
|
1662
1358
|
}
|
|
1663
1359
|
}
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
vErrors = vErrors === null ? validate23.errors : vErrors.concat(validate23.errors);
|
|
1671
|
-
errors = vErrors.length;
|
|
1672
|
-
}
|
|
1673
|
-
}
|
|
1360
|
+
}
|
|
1361
|
+
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1362
|
+
if (data.data === undefined) {
|
|
1363
|
+
const err5 = {instancePath,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};
|
|
1364
|
+
if (vErrors === null) {
|
|
1365
|
+
vErrors = [err5];
|
|
1674
1366
|
}
|
|
1675
1367
|
else {
|
|
1676
|
-
|
|
1677
|
-
if (vErrors === null) {
|
|
1678
|
-
vErrors = [err14];
|
|
1679
|
-
}
|
|
1680
|
-
else {
|
|
1681
|
-
vErrors.push(err14);
|
|
1682
|
-
}
|
|
1683
|
-
errors++;
|
|
1368
|
+
vErrors.push(err5);
|
|
1684
1369
|
}
|
|
1370
|
+
errors++;
|
|
1685
1371
|
}
|
|
1686
1372
|
}
|
|
1373
|
+
var _valid0 = _errs4 === errors;
|
|
1374
|
+
if (_valid0 && valid0) {
|
|
1375
|
+
valid0 = false;
|
|
1376
|
+
passing0 = [passing0, 1];
|
|
1377
|
+
}
|
|
1687
1378
|
else {
|
|
1688
|
-
|
|
1379
|
+
if (_valid0) {
|
|
1380
|
+
valid0 = true;
|
|
1381
|
+
passing0 = 1;
|
|
1382
|
+
}
|
|
1383
|
+
}
|
|
1384
|
+
if (!valid0) {
|
|
1385
|
+
const err6 = {instancePath,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas: passing0},message:"must match exactly one schema in oneOf"};
|
|
1689
1386
|
if (vErrors === null) {
|
|
1690
|
-
vErrors = [
|
|
1387
|
+
vErrors = [err6];
|
|
1691
1388
|
}
|
|
1692
1389
|
else {
|
|
1693
|
-
vErrors.push(
|
|
1390
|
+
vErrors.push(err6);
|
|
1694
1391
|
}
|
|
1695
1392
|
errors++;
|
|
1696
1393
|
}
|
|
1697
|
-
|
|
1394
|
+
else {
|
|
1395
|
+
errors = _errs0;
|
|
1396
|
+
if (vErrors !== null) {
|
|
1397
|
+
if (_errs0) {
|
|
1398
|
+
vErrors.length = _errs0;
|
|
1399
|
+
}
|
|
1400
|
+
else {
|
|
1401
|
+
vErrors = null;
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
}
|
|
1405
|
+
if (!(validate22(data, {instancePath,parentData,parentDataProperty,rootData,dynamicAnchors}))) {
|
|
1406
|
+
vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);
|
|
1407
|
+
errors = vErrors.length;
|
|
1408
|
+
}
|
|
1409
|
+
if (data && typeof data == "object" && !Array.isArray(data)) {
|
|
1410
|
+
if (data.identifier === undefined) {
|
|
1411
|
+
const err7 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "identifier"},message:"must have required property '"+"identifier"+"'"};
|
|
1412
|
+
if (vErrors === null) {
|
|
1413
|
+
vErrors = [err7];
|
|
1414
|
+
}
|
|
1415
|
+
else {
|
|
1416
|
+
vErrors.push(err7);
|
|
1417
|
+
}
|
|
1418
|
+
errors++;
|
|
1419
|
+
}
|
|
1420
|
+
if (data.displayName === undefined) {
|
|
1421
|
+
const err8 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "displayName"},message:"must have required property '"+"displayName"+"'"};
|
|
1422
|
+
if (vErrors === null) {
|
|
1423
|
+
vErrors = [err8];
|
|
1424
|
+
}
|
|
1425
|
+
else {
|
|
1426
|
+
vErrors.push(err8);
|
|
1427
|
+
}
|
|
1428
|
+
errors++;
|
|
1429
|
+
}
|
|
1430
|
+
if (data.type === undefined) {
|
|
1431
|
+
const err9 = {instancePath,schemaPath:"#/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};
|
|
1432
|
+
if (vErrors === null) {
|
|
1433
|
+
vErrors = [err9];
|
|
1434
|
+
}
|
|
1435
|
+
else {
|
|
1436
|
+
vErrors.push(err9);
|
|
1437
|
+
}
|
|
1438
|
+
errors++;
|
|
1439
|
+
}
|
|
1440
|
+
}
|
|
1441
|
+
validate27.errors = vErrors;
|
|
1698
1442
|
return errors === 0;
|
|
1699
1443
|
}
|
|
1700
|
-
|
|
1444
|
+
validate27.evaluated = {"props":true,"dynamicProps":false,"dynamicItems":false};
|