@lincs.project/webannotation-schema 1.13.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -32,42 +32,32 @@ var src_exports = {};
32
32
  __export(src_exports, {
33
33
  Body: () => Body,
34
34
  BodyChoice: () => BodyChoice,
35
- BodyEntityType: () => BodyEntityType,
36
35
  Certainty: () => Certainty,
36
+ CertaintySchema: () => CertaintySchema,
37
37
  Citation: () => Citation,
38
- CitationEntityType: () => CitationEntityType,
39
38
  ConceptualObject: () => ConceptualObject,
40
- ConceptualObjectEntityType: () => ConceptualObjectEntityType,
41
39
  Correction: () => Correction,
42
- CorrectionEntityType: () => CorrectionEntityType,
40
+ CssSelector: () => CssSelector,
41
+ CssSelectorExtended: () => CssSelectorExtended,
43
42
  DATE_RANGE_PATTERN: () => DATE_RANGE_PATTERN,
44
43
  Date: () => Date,
45
- DateEntityType: () => DateEntityType,
46
44
  Description: () => Description,
47
45
  Event: () => Event,
48
- EventEntityType: () => EventEntityType,
49
46
  Group: () => Group,
50
47
  Keyword: () => Keyword,
51
- KeywordEntityType: () => KeywordEntityType,
52
48
  KeywordFolksnomy: () => KeywordFolksnomy,
53
- KeywordFolksnomyEntityType: () => KeywordFolksnomyEntityType,
54
49
  Label: () => Label,
55
50
  Link: () => Link,
56
- LinkEntityType: () => LinkEntityType,
57
51
  ModeExistence: () => ModeExistence,
58
52
  Motivation: () => Motivation,
53
+ MotivationSchema: () => MotivationSchema,
59
54
  Note: () => Note,
60
- NoteEntityType: () => NoteEntityType,
61
55
  Organization: () => Organization,
62
- OrganizationEntityType: () => OrganizationEntityType,
63
56
  Person: () => Person,
64
- PersonEntityType: () => PersonEntityType,
65
57
  PhysicalThing: () => PhysicalThing,
66
- PhysicalThingEntityType: () => PhysicalThingEntityType,
67
58
  Place: () => Place,
68
- PlaceEntityType: () => PlaceEntityType,
69
59
  Precision: () => Precision,
70
- Quality: () => Quality,
60
+ PrecisionSchema: () => PrecisionSchema,
71
61
  RangeSelector: () => RangeSelector,
72
62
  Selector: () => Selector,
73
63
  Software: () => Software,
@@ -77,59 +67,60 @@ __export(src_exports, {
77
67
  TextPositionSelectorExtended: () => TextPositionSelectorExtended,
78
68
  TextQuoteSelector: () => TextQuoteSelector,
79
69
  TextQuoteSelectorExtended: () => TextQuoteSelectorExtended,
70
+ TypeBody: () => TypeBody,
71
+ TypeCitation: () => TypeCitation,
72
+ TypeConceptualObject: () => TypeConceptualObject,
73
+ TypeCorrection: () => TypeCorrection,
74
+ TypeDate: () => TypeDate,
75
+ TypeEvent: () => TypeEvent,
76
+ TypeKeyword: () => TypeKeyword,
77
+ TypeKeywordFolksnomy: () => TypeKeywordFolksnomy,
78
+ TypeLink: () => TypeLink,
79
+ TypeNote: () => TypeNote,
80
+ TypeOrganization: () => TypeOrganization,
81
+ TypePerson: () => TypePerson,
82
+ TypePhysicalThing: () => TypePhysicalThing,
83
+ TypePlace: () => TypePlace,
84
+ TypeWork: () => TypeWork,
80
85
  User: () => User,
81
86
  VERSION: () => VERSION,
82
87
  ValidateResult: () => ValidateResult,
83
88
  ValidationError: () => ValidationError,
84
89
  WebAnnotation: () => WebAnnotation,
85
90
  Work: () => Work,
86
- WorkEntityType: () => WorkEntityType,
87
91
  XpathSelector: () => XpathSelector,
88
92
  XpathSelectorExtended: () => XpathSelectorExtended,
89
93
  ajv: () => ajv,
90
94
  bodyChoiceSchema: () => bodyChoiceSchema,
91
- bodyEntityTypeSchema: () => bodyEntityTypeSchema,
92
95
  bodyIdDescription: () => bodyIdDescription,
93
96
  bodySchema: () => bodySchema,
94
- certaintySchema: () => certaintySchema,
95
- citationEntityTypeSchema: () => citationEntityTypeSchema,
96
97
  citationSchema: () => citationSchema,
97
- conceptualObjectEntityTypeSchema: () => conceptualObjectEntityTypeSchema,
98
98
  conceptualObjectSchema: () => conceptualObjectSchema,
99
99
  contextUri: () => contextUri,
100
- correctionEntityTypeSchema: () => correctionEntityTypeSchema,
101
100
  correctionSchema: () => correctionSchema,
102
- dateEntityTypeSchema: () => dateEntityTypeSchema,
101
+ cssSelectorExtendedSchema: () => cssSelectorExtendedSchema,
102
+ cssSelectorSchema: () => cssSelectorSchema,
103
103
  dateSchema: () => dateSchema,
104
104
  definitionSchema: () => definitionSchema,
105
105
  defsId: () => defsId,
106
106
  descriptionSchema: () => descriptionSchema,
107
- eventEntityTypeSchema: () => eventEntityTypeSchema,
108
107
  eventSchema: () => eventSchema,
109
108
  formatSchema: () => formatSchema,
110
109
  groupSchema: () => groupSchema,
111
110
  isIdentifiedBy: () => isIdentifiedBy,
112
111
  isIndentifyBySchema: () => isIndentifyBySchema,
113
- keywordEntityTypeSchema: () => keywordEntityTypeSchema,
114
- keywordFolksnomyEntityTypeSchema: () => keywordFolksnomyEntityTypeSchema,
115
112
  keywordFolksnomySchema: () => keywordFolksnomySchema,
116
113
  keywordSchema: () => keywordSchema,
117
114
  labelSchema: () => labelSchema,
118
115
  languageSchema: () => languageSchema,
119
- linkEntityTypeSchema: () => linkEntityTypeSchema,
120
116
  linkSchema: () => linkSchema,
121
117
  modeExistenceSchema: () => modeExistenceSchema,
122
- noteEntityTypeSchema: () => noteEntityTypeSchema,
123
118
  noteSchema: () => noteSchema,
124
- organizationEntityTypeSchema: () => organizationEntityTypeSchema,
125
119
  organizationSchema: () => organizationSchema,
126
- personEntityTypeSchema: () => personEntityTypeSchema,
120
+ p2HasTypeSchema: () => p2HasTypeSchema,
127
121
  personSchema: () => personSchema,
128
- physicalThingEntityTypeSchema: () => physicalThingEntityTypeSchema,
129
122
  physicalThingSchema: () => physicalThingSchema,
130
- placeEntityTypeSchema: () => placeEntityTypeSchema,
131
123
  placeSchema: () => placeSchema,
132
- precisionSchema: () => precisionSchema,
133
124
  rangeSelectorSchema: () => rangeSelectorSchema,
134
125
  schemaContext: () => schemaContext,
135
126
  schemaId: () => schemaId,
@@ -143,12 +134,26 @@ __export(src_exports, {
143
134
  textPositionSelectorSchema: () => textPositionSelectorSchema,
144
135
  textQuoteSelectorExtendedSchema: () => textQuoteSelectorExtendedSchema,
145
136
  textQuoteSelectorSchema: () => textQuoteSelectorSchema,
137
+ typeBodySchema: () => typeBodySchema,
138
+ typeCitationSchema: () => typeCitationSchema,
139
+ typeConceptualObjectSchema: () => typeConceptualObjectSchema,
140
+ typeCorrectionSchema: () => typeCorrectionSchema,
141
+ typeDateSchema: () => typeDateSchema,
142
+ typeEventSchema: () => typeEventSchema,
143
+ typeKeywordFolksnomy: () => typeKeywordFolksnomy,
144
+ typeKeywordSchema: () => typeKeywordSchema,
145
+ typeLinkSchema: () => typeLinkSchema,
146
+ typeNoteSchema: () => typeNoteSchema,
147
+ typeOrganizationSchema: () => typeOrganizationSchema,
148
+ typePersonSchema: () => typePersonSchema,
149
+ typePhysicalThingSchema: () => typePhysicalThingSchema,
150
+ typePlaceSchema: () => typePlaceSchema,
151
+ typeWorkSchema: () => typeWorkSchema,
146
152
  userSchema: () => userSchema,
147
153
  v1: () => v1_exports,
148
154
  validate: () => validate,
149
155
  validator: () => validator,
150
156
  webAnnotationSchema: () => webAnnotationSchema,
151
- workEntityTypeSchema: () => workEntityTypeSchema,
152
157
  workSchema: () => workSchema,
153
158
  xpathSelectorExtendedSchema: () => xpathSelectorExtendedSchema,
154
159
  xpathSelectorSchema: () => xpathSelectorSchema
@@ -170,6 +175,7 @@ var schemaContext = {
170
175
  crmdig: "http://www.ics.forth.gr/isl/CRMdig/",
171
176
  cwrc: "http://id.lincsproject.ca/cwrc/",
172
177
  edit: "http://id.lincsproject.ca/edit/",
178
+ event: "http://id.lincsproject.ca/event",
173
179
  fabio: "https://purl.org/spar/fabio/",
174
180
  frbroo: "http://iflastandards.info/ns/fr/frbr/frbroo/",
175
181
  wikidata: "http://www.wikidata.org/entity/",
@@ -190,27 +196,7 @@ var schemaContext = {
190
196
  "oa:linking": {
191
197
  type: "crm:E55_Type"
192
198
  },
193
- certainty: {
194
- "@type": "@id",
195
- "@id": "http://temp.lincsproject.ca/certainty"
196
- },
197
- precision: {
198
- "@type": "@id",
199
- "@id": "http://temp.lincsproject.ca/precision"
200
- },
201
199
  contributor: "dcterms:contributor",
202
- entityType: {
203
- "@type": "@id",
204
- "@id": "rdf:type"
205
- },
206
- additionalType: {
207
- "@type": "@id",
208
- "@id": "crm:P2_has_type"
209
- },
210
- modeExistence: {
211
- "@type": "@id",
212
- "@id": "edit:ModeExistence"
213
- },
214
200
  description: "rdfs:comment",
215
201
  title: "crm:P190_has_symbolic_content",
216
202
  softwareVersion: "schema:softwareVersion"
@@ -222,8 +208,20 @@ var import_zod = require("zod");
222
208
  var User = import_zod.z.object({
223
209
  id: import_zod.z.string().url(),
224
210
  type: import_zod.z.literal("crm:E21_Person"),
225
- name: import_zod.z.string().min(1, { message: "Cannot be empty" }).describe(`The person's name.`)
211
+ name: import_zod.z.string().min(1).describe(`The person's name.`)
226
212
  }).describe("Human Agent");
213
+ var Group = import_zod.z.object({
214
+ id: import_zod.z.string().url(),
215
+ type: import_zod.z.literal("crm:E74_Group"),
216
+ name: import_zod.z.string().min(1).describe(`The group's name.`)
217
+ }).describe("Group Agent");
218
+ var Software = import_zod.z.object({
219
+ id: import_zod.z.string().url(),
220
+ type: import_zod.z.tuple([import_zod.z.literal("Software"), import_zod.z.literal("crm:E73_Information_Object")]),
221
+ P16_used_specific_object: import_zod.z.string().url().optional().describe("The URI that identifies the agent (software)"),
222
+ name: import_zod.z.string().min(1).describe(`The software's name.`),
223
+ softwareVersion: import_zod.z.string().optional().describe("The software version.")
224
+ }).describe("Software Agent");
227
225
  var userSchema = {
228
226
  type: "object",
229
227
  description: "User Agent",
@@ -234,11 +232,6 @@ var userSchema = {
234
232
  },
235
233
  required: ["id", "type", "name"]
236
234
  };
237
- var Group = import_zod.z.object({
238
- id: import_zod.z.string().url(),
239
- type: import_zod.z.literal("crm:E74_Group"),
240
- name: import_zod.z.string().min(1).describe(`The group's name.`)
241
- }).describe("Group Agent");
242
235
  var groupSchema = {
243
236
  type: "object",
244
237
  description: "Group Agent",
@@ -249,13 +242,6 @@ var groupSchema = {
249
242
  },
250
243
  required: ["id", "type", "name"]
251
244
  };
252
- var Software = import_zod.z.object({
253
- id: import_zod.z.string().url(),
254
- type: import_zod.z.tuple([import_zod.z.literal("Software"), import_zod.z.literal("crm:E73_Information_Object")]),
255
- P16_used_specific_object: import_zod.z.string().url().optional().describe("The URI that identifies the agent (software)"),
256
- name: import_zod.z.string().min(1).describe(`The software's name.`),
257
- softwareVersion: import_zod.z.string().optional().describe("The software version.")
258
- }).describe("Software Agent");
259
245
  var softwareSchema = {
260
246
  type: "object",
261
247
  description: "Software Agent",
@@ -285,37 +271,6 @@ var import_zod3 = require("zod");
285
271
 
286
272
  // src/v1/schema/definitions/body/common.ts
287
273
  var import_zod2 = require("zod");
288
- var ModeExistence = import_zod2.z.union([
289
- import_zod2.z.literal("edit:modeReal").describe(
290
- "An indication that an entity or thing, such as a person, place or text, is understood to be part of lived or historical existence."
291
- ),
292
- import_zod2.z.literal("edit:modeFictional").describe(
293
- "An indication that an entity or a thing, such as a person, place or text, is invented or imagined."
294
- ),
295
- import_zod2.z.literal("edit:modeIdentifiable").describe(
296
- "An indication that an entity or a thing is understood as both existing and imagined, for instance a character in a work of literature that corresponds to a historical person or a place represented under another name that can be identified as a real place."
297
- )
298
- ]).describe("An indication of the state of being of an entity or thing (OED).");
299
- var modeExistenceSchema = {
300
- oneOf: [
301
- {
302
- type: "string",
303
- const: "edit:modeReal",
304
- description: "An indication that an entity or thing, such as a person, place or text, is understood to be part of lived or historical existence."
305
- },
306
- {
307
- type: "string",
308
- const: "edit:modeFictional",
309
- description: "An indication that an entity or a thing, such as a person, place or text, is invented or imagined."
310
- },
311
- {
312
- type: "string",
313
- const: "edit:modeIdentifiable",
314
- description: "An indication that an entity or a thing is understood as both existing and imagined, for instance a character in a work of literature that corresponds to a historical person or a place represented under another name that can be identified as a real place."
315
- }
316
- ],
317
- description: "An indication of the state of being of an entity or thing (OED)."
318
- };
319
274
  var labelDescription = "The title or name of a linked resource or named entity.";
320
275
  var Label = import_zod2.z.string().min(1, { message: "The label cannot be empty" }).describe(labelDescription);
321
276
  var labelSchema = {
@@ -329,19 +284,40 @@ var descriptionSchema = {
329
284
  type: "string",
330
285
  description: descriptionDescription
331
286
  };
287
+ var modeExistenceDescription = "An indication of the state of being of an entity or thing (OED).";
288
+ var modeExistenceRealDescription = "An indication that an entity or thing, such as a person, place or text, is understood to be part of lived or historical existence.";
289
+ var modeExistenceFictionalDescription = "An indication that an entity or a thing, such as a person, place or text, is invented or imagined.";
290
+ var modeExistenceFictionalizedDescription = "An indication that an entity or a thing is understood as both existing and imagined, for instance a character in a work of literature that corresponds to a historical person or a place represented under another name that can be identified as a real place.";
291
+ var ModeExistence = import_zod2.z.union([
292
+ import_zod2.z.literal("edit:modeReal").describe(modeExistenceRealDescription),
293
+ import_zod2.z.literal("edit:modeFictional").describe(modeExistenceFictionalDescription),
294
+ import_zod2.z.literal("edit:Fictionalized").describe(modeExistenceFictionalizedDescription)
295
+ ]).describe(modeExistenceDescription);
296
+ var modeExistenceSchema = {
297
+ oneOf: [
298
+ { type: "string", const: "edit:modeReal", description: modeExistenceRealDescription },
299
+ { type: "string", const: "edit:modeFictional", description: modeExistenceFictionalDescription },
300
+ {
301
+ type: "string",
302
+ const: "edit:modeFictionalized",
303
+ description: modeExistenceFictionalizedDescription
304
+ }
305
+ ],
306
+ description: modeExistenceDescription
307
+ };
332
308
 
333
309
  // src/v1/schema/definitions/body/citation.ts
334
- var CitationEntityType = import_zod3.z.tuple([
310
+ var TypeCitation = import_zod3.z.tuple([
335
311
  import_zod3.z.literal("cito:Citation"),
336
312
  import_zod3.z.literal("crm:E73_Information_Object")
337
313
  ]);
338
314
  var Citation = import_zod3.z.object({
339
315
  id: import_zod3.z.string().url().describe(bodyIdDescription),
340
- entityType: CitationEntityType,
316
+ type: TypeCitation,
341
317
  label: Label.optional(),
342
318
  description: Description.optional()
343
319
  }).describe("Citation");
344
- var citationEntityTypeSchema = {
320
+ var typeCitationSchema = {
345
321
  type: "array",
346
322
  minItems: 2,
347
323
  maxItems: 2,
@@ -352,109 +328,74 @@ var citationEntityTypeSchema = {
352
328
  };
353
329
  var citationSchema = {
354
330
  type: "object",
355
- description: "A citation entity",
331
+ description: "Citation",
356
332
  properties: {
357
333
  id: { type: "string", format: "uri", description: bodyIdDescription },
358
- entityType: citationEntityTypeSchema,
334
+ type: typeCitationSchema,
359
335
  label: { $ref: "defs.jsonld#/definitions/label" },
360
336
  description: { $ref: "defs.jsonld#/definitions/description" }
361
337
  },
362
- required: ["id", "entityType"]
338
+ required: ["id", "type"]
363
339
  };
364
340
 
365
341
  // src/v1/schema/definitions/body/conceptualObject.ts
366
342
  var import_zod4 = require("zod");
367
- var ConceptualObjectEntityType = import_zod4.z.union([
368
- import_zod4.z.literal("crm:E28_Conceptual_Object"),
369
- import_zod4.z.tuple([import_zod4.z.literal("crm:E28_Conceptual_Object"), import_zod4.z.literal("wikidata:Q15831596")])
370
- ]);
343
+ var TypeConceptualObject = import_zod4.z.literal("crm:E28_Conceptual_Object");
371
344
  var ConceptualObject = import_zod4.z.object({
372
345
  id: import_zod4.z.string().url().describe(bodyIdDescription),
373
- entityType: ConceptualObjectEntityType,
346
+ type: TypeConceptualObject,
374
347
  label: Label.optional(),
375
- modeExistence: ModeExistence.optional(),
348
+ P2_has_type: import_zod4.z.array(import_zod4.z.string()).optional(),
376
349
  description: Description.optional()
377
350
  }).describe("Conceptual Object");
378
- var conceptualObjectEntityTypeSchema = {
379
- oneOf: [
380
- { type: "string", const: "crm:E28_Conceptual_Object" },
381
- {
382
- type: "array",
383
- minItems: 2,
384
- maxItems: 2,
385
- items: [
386
- { type: "string", const: "crm:E28_Conceptual_Object" },
387
- { type: "string", const: "wikidata:Q15831596" }
388
- ]
389
- }
390
- ]
351
+ var typeConceptualObjectSchema = {
352
+ type: "string",
353
+ const: "crm:E28_Conceptual_Object"
391
354
  };
392
355
  var conceptualObjectSchema = {
393
356
  type: "object",
394
- description: "A conceptual object entity",
357
+ description: "Conceptual Object",
395
358
  properties: {
396
359
  id: { type: "string", format: "uri", description: bodyIdDescription },
397
- entityType: conceptualObjectEntityTypeSchema,
360
+ type: typeConceptualObjectSchema,
398
361
  label: { $ref: "defs.jsonld#/definitions/label" },
399
- modeExistence: { ...modeExistenceSchema, nullable: true },
362
+ P2_has_type: { type: "array", items: { type: "string" } },
400
363
  description: { $ref: "defs.jsonld#/definitions/description" }
401
364
  },
402
- required: ["id", "entityType"],
403
- allOf: [
404
- {
405
- if: {
406
- type: "object",
407
- properties: {
408
- modeExistence: "edit:modeReal"
409
- }
410
- },
411
- then: {
412
- type: "object",
413
- properties: {
414
- entityType: "crm:E28_Conceptual_Object"
415
- }
416
- },
417
- else: {
418
- type: "object",
419
- properties: {
420
- entityType: ["crm:E28_Conceptual_Object", "wikidata:Q15831596"]
421
- }
422
- }
423
- }
424
- ]
365
+ required: ["id", "type"]
425
366
  };
426
367
 
427
368
  // src/v1/schema/definitions/body/correction.ts
428
369
  var import_zod5 = require("zod");
429
- var CorrectionEntityType = import_zod5.z.tuple([
370
+ var TypeCorrection = import_zod5.z.tuple([
371
+ import_zod5.z.literal("TextualBody"),
430
372
  import_zod5.z.literal("fabio:Correction"),
431
373
  import_zod5.z.literal("crm:E33_Linguistic_Object")
432
374
  ]);
433
375
  var Correction = import_zod5.z.object({
434
376
  id: import_zod5.z.string().url().describe(bodyIdDescription),
435
- type: import_zod5.z.literal("TextualBody"),
436
- entityType: CorrectionEntityType,
377
+ type: TypeCorrection,
437
378
  value: import_zod5.z.string().describe("The correction.")
438
379
  }).describe("Correction");
439
- var correctionEntityTypeSchema = {
380
+ var typeCorrectionSchema = {
440
381
  type: "array",
441
- minItems: 2,
442
- maxItems: 2,
382
+ minItems: 3,
383
+ maxItems: 3,
443
384
  items: [
385
+ { type: "string", const: "TextualBody" },
444
386
  { type: "string", const: "fabio:Correction" },
445
387
  { type: "string", const: "crm:E33_Linguistic_Object" }
446
388
  ]
447
389
  };
448
390
  var correctionSchema = {
449
391
  type: "object",
450
- description: "A correction entity",
392
+ description: "Correction",
451
393
  properties: {
452
394
  id: { type: "string", format: "uri", description: bodyIdDescription },
453
- type: { type: "string", const: "TextualBody" },
454
- entityType: correctionEntityTypeSchema,
395
+ type: typeCorrectionSchema,
455
396
  value: { type: "string" }
456
397
  },
457
- required: ["id", "type", "entityType", "value"]
398
+ required: ["id", "type", "value"]
458
399
  // errorMessage: {
459
400
  // properties: {
460
401
  // type: 'must be exacty "TextualBody"',
@@ -465,53 +406,51 @@ var correctionSchema = {
465
406
  // src/v1/schema/definitions/body/date.ts
466
407
  var import_zod6 = require("zod");
467
408
  var DATE_RANGE_PATTERN = "^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)\\/(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:.\\d*)?)((-(\\d{2}):(\\d{2})|Z)?)$";
468
- var DateEntityType = import_zod6.z.tuple([import_zod6.z.literal("xsd:date"), import_zod6.z.literal("crm:E52_Time-Span")]);
409
+ var TypeDate = import_zod6.z.tuple([
410
+ import_zod6.z.literal("TextualBody"),
411
+ import_zod6.z.literal("xsd:date"),
412
+ import_zod6.z.literal("crm:E52_Time-Span")
413
+ ]);
469
414
  var Date = import_zod6.z.object({
470
415
  id: import_zod6.z.string().url().describe(bodyIdDescription),
471
- type: import_zod6.z.literal("TextualBody"),
472
- entityType: DateEntityType,
473
- value: import_zod6.z.string().regex(new RegExp(DATE_RANGE_PATTERN)).describe("The date time.")
416
+ type: TypeDate,
417
+ value: import_zod6.z.string().regex(new RegExp(DATE_RANGE_PATTERN))
474
418
  }).describe("Date");
475
- var dateEntityTypeSchema = {
419
+ var typeDateSchema = {
476
420
  type: "array",
477
- minItems: 2,
478
- maxItems: 2,
421
+ minItems: 3,
422
+ maxItems: 3,
479
423
  items: [
424
+ { type: "string", const: "TextualBody" },
480
425
  { type: "string", const: "xsd:date" },
481
426
  { type: "string", const: "crm:E52_Time-Span" }
482
427
  ]
483
428
  };
484
429
  var dateSchema = {
485
430
  type: "object",
486
- description: "A date entity",
431
+ description: "Date",
487
432
  properties: {
488
433
  id: { type: "string", format: "uri", description: bodyIdDescription },
489
- type: { type: "string", const: "TextualBody" },
490
- entityType: dateEntityTypeSchema,
434
+ type: typeDateSchema,
491
435
  value: { type: "string", pattern: DATE_RANGE_PATTERN }
492
436
  },
493
- required: ["id", "type", "entityType", "value"]
494
- // errorMessage: {
495
- // properties: {
496
- // type: 'must be exacty "TextualBody"',
497
- // },
498
- // },
437
+ required: ["id", "type", "value"]
499
438
  };
500
439
 
501
440
  // src/v1/schema/definitions/body/event.ts
502
441
  var import_zod7 = require("zod");
503
- var EventEntityType = import_zod7.z.union([
442
+ var TypeEvent = import_zod7.z.union([
504
443
  import_zod7.z.literal("crm:E5_Event"),
505
- import_zod7.z.tuple([import_zod7.z.literal("crm:E5_Event"), import_zod7.z.literal("crm:E89_Propositional_Object")])
444
+ import_zod7.z.tuple([import_zod7.z.literal("event:Event"), import_zod7.z.literal("crm:E89_Propositional_Object")])
506
445
  ]);
507
446
  var Event = import_zod7.z.object({
508
447
  id: import_zod7.z.string().url().describe(bodyIdDescription),
509
- entityType: EventEntityType,
448
+ type: TypeEvent,
510
449
  label: Label.optional(),
511
- modeExistence: ModeExistence.optional(),
450
+ P2_has_type: import_zod7.z.tuple([ModeExistence]).rest(import_zod7.z.string().optional()).optional(),
512
451
  description: Description.optional()
513
452
  }).describe("Event");
514
- var eventEntityTypeSchema = {
453
+ var typeEventSchema = {
515
454
  oneOf: [
516
455
  { type: "string", const: "crm:E5_Event" },
517
456
  {
@@ -519,7 +458,7 @@ var eventEntityTypeSchema = {
519
458
  minItems: 2,
520
459
  maxItems: 2,
521
460
  items: [
522
- { type: "string", const: "crm:E5_Event" },
461
+ { type: "string", const: "event:Event" },
523
462
  { type: "string", const: "crm:E89_Propositional_Object" }
524
463
  ]
525
464
  }
@@ -527,33 +466,39 @@ var eventEntityTypeSchema = {
527
466
  };
528
467
  var eventSchema = {
529
468
  type: "object",
530
- description: "An event entity",
469
+ description: "Event",
531
470
  properties: {
532
471
  id: { type: "string", format: "uri", description: bodyIdDescription },
533
- entityType: eventEntityTypeSchema,
472
+ type: typeEventSchema,
534
473
  label: { $ref: "defs.jsonld#/definitions/label" },
535
- modeExistence: { ...modeExistenceSchema, nullable: true },
474
+ P2_has_type: {
475
+ type: "array",
476
+ items: [{ ...modeExistenceSchema }],
477
+ minItems: 1,
478
+ maxItems: 100,
479
+ additionalItems: { type: "string", nullable: true }
480
+ },
536
481
  description: { $ref: "defs.jsonld#/definitions/description" }
537
482
  },
538
- required: ["id", "entityType"],
483
+ required: ["id", "type"],
539
484
  allOf: [
540
485
  {
541
486
  if: {
542
487
  type: "object",
543
488
  properties: {
544
- modeExistence: "edit:modeReal"
489
+ P2_has_type: ["edit:modeReal"]
545
490
  }
546
491
  },
547
492
  then: {
548
493
  type: "object",
549
494
  properties: {
550
- entityType: "crm:E5_Event"
495
+ type: "crm:E5_Event"
551
496
  }
552
497
  },
553
498
  else: {
554
499
  type: "object",
555
500
  properties: {
556
- entityType: ["crm:E5_Event", "crm:E89_Propositional_Object"]
501
+ type: ["event:Event", "crm:E89_Propositional_Object"]
557
502
  }
558
503
  }
559
504
  }
@@ -562,17 +507,27 @@ var eventSchema = {
562
507
 
563
508
  // src/v1/schema/definitions/body/keyword.ts
564
509
  var import_zod8 = require("zod");
565
- var KeywordEntityType = import_zod8.z.tuple([
510
+ var TypeKeyword = import_zod8.z.tuple([
566
511
  import_zod8.z.literal("crm:E55_Type"),
567
512
  import_zod8.z.literal("crmdig:D1_Digital_Object")
568
513
  ]);
569
514
  var Keyword = import_zod8.z.object({
570
515
  id: import_zod8.z.string().url().describe(bodyIdDescription),
571
- entityType: KeywordEntityType,
516
+ type: TypeKeyword,
572
517
  label: Label.optional(),
573
518
  description: Description.optional()
574
519
  }).describe("Keyword");
575
- var keywordEntityTypeSchema = {
520
+ var TypeKeywordFolksnomy = import_zod8.z.tuple([
521
+ import_zod8.z.literal("TextualBody"),
522
+ import_zod8.z.literal("crm:E55_Type"),
523
+ import_zod8.z.literal("crm:E33_Linguistic_Object")
524
+ ]);
525
+ var KeywordFolksnomy = import_zod8.z.object({
526
+ id: import_zod8.z.string().url().describe(bodyIdDescription),
527
+ type: TypeKeywordFolksnomy,
528
+ value: import_zod8.z.string().describe("The keyword.")
529
+ }).describe("Keyword");
530
+ var typeKeywordSchema = {
576
531
  type: "array",
577
532
  minItems: 2,
578
533
  maxItems: 2,
@@ -583,44 +538,34 @@ var keywordEntityTypeSchema = {
583
538
  };
584
539
  var keywordSchema = {
585
540
  type: "object",
586
- description: "A keyword entity",
541
+ description: "Keyword",
587
542
  properties: {
588
543
  id: { type: "string", format: "uri", description: bodyIdDescription },
589
- entityType: keywordEntityTypeSchema,
544
+ type: typeKeywordSchema,
590
545
  label: { $ref: "defs.jsonld#/definitions/label" },
591
546
  description: { $ref: "defs.jsonld#/definitions/description" }
592
547
  },
593
- required: ["id", "entityType"]
548
+ required: ["id", "type"]
594
549
  };
595
- var KeywordFolksnomyEntityType = import_zod8.z.tuple([
596
- import_zod8.z.literal("crm:E55_Type"),
597
- import_zod8.z.literal("crm:E33_Linguistic_Object")
598
- ]);
599
- var KeywordFolksnomy = import_zod8.z.object({
600
- id: import_zod8.z.string().url().describe(bodyIdDescription),
601
- type: import_zod8.z.literal("TextualBody"),
602
- entityType: KeywordFolksnomyEntityType,
603
- value: import_zod8.z.string().describe("The keyword.")
604
- }).describe("Keyword");
605
- var keywordFolksnomyEntityTypeSchema = {
550
+ var typeKeywordFolksnomy = {
606
551
  type: "array",
607
- minItems: 2,
608
- maxItems: 2,
552
+ minItems: 3,
553
+ maxItems: 3,
609
554
  items: [
555
+ { type: "string", const: "TextualBody" },
610
556
  { type: "string", const: "crm:E55_Type" },
611
557
  { type: "string", const: "crm:E33_Linguistic_Object" }
612
558
  ]
613
559
  };
614
560
  var keywordFolksnomySchema = {
615
561
  type: "object",
616
- description: "A keyword entity",
562
+ description: "keyword - Folksonomy",
617
563
  properties: {
618
564
  id: { type: "string", format: "uri", description: bodyIdDescription },
619
- type: { type: "string", const: "TextualBody" },
620
- entityType: keywordFolksnomyEntityTypeSchema,
565
+ type: typeKeywordFolksnomy,
621
566
  value: { type: "string" }
622
567
  },
623
- required: ["id", "type", "entityType", "value"]
568
+ required: ["id", "type", "value"]
624
569
  // errorMessage: {
625
570
  // properties: {
626
571
  // type: 'must be exacty "TextualBody"',
@@ -631,73 +576,69 @@ var keywordFolksnomySchema = {
631
576
  // src/v1/schema/definitions/body/link.ts
632
577
  var import_zod9 = require("zod");
633
578
  var idDescription = "The link URL.";
634
- var LinkEntityType = import_zod9.z.literal("crmdig:D1_Digital_Object");
579
+ var TypeLink = import_zod9.z.literal("crmdig:D1_Digital_Object");
635
580
  var Link = import_zod9.z.object({
636
581
  id: import_zod9.z.string().url().describe(idDescription),
637
- entityType: LinkEntityType
582
+ type: TypeLink
638
583
  }).describe("A link to a webpage");
639
- var linkEntityTypeSchema = {
584
+ var typeLinkSchema = {
640
585
  type: "string",
641
586
  const: "crmdig:D1_Digital_Object"
642
587
  };
643
588
  var linkSchema = {
644
589
  type: "object",
645
- description: "A link entity",
590
+ description: "Link",
646
591
  properties: {
647
592
  id: { type: "string", format: "uri", description: idDescription },
648
- entityType: linkEntityTypeSchema
593
+ type: typeLinkSchema
649
594
  },
650
- required: ["id", "entityType"]
595
+ required: ["id", "type"]
651
596
  };
652
597
 
653
598
  // src/v1/schema/definitions/body/note.ts
654
599
  var import_zod10 = require("zod");
655
- var NoteEntityType = import_zod10.z.literal("crm:E33_Linguistic_Object");
600
+ var TypeNote = import_zod10.z.tuple([import_zod10.z.literal("TextualBody"), import_zod10.z.literal("crm:E33_Linguistic_Object")]);
656
601
  var Note = import_zod10.z.object({
657
602
  id: import_zod10.z.string().url().describe(bodyIdDescription),
658
- type: import_zod10.z.literal("TextualBody"),
659
- entityType: NoteEntityType,
660
- additionalType: import_zod10.z.union([import_zod10.z.string(), import_zod10.z.string().array()]).optional().describe("Extra types that refines the note"),
661
- value: import_zod10.z.string().describe("The note.")
603
+ type: TypeNote,
604
+ value: import_zod10.z.string(),
605
+ P2_has_type: import_zod10.z.array(import_zod10.z.string()).optional()
662
606
  }).describe("Note");
663
- var noteEntityTypeSchema = {
664
- type: "string",
665
- const: "crm:E33_Linguistic_Object"
607
+ var typeNoteSchema = {
608
+ type: "array",
609
+ minItems: 2,
610
+ maxItems: 2,
611
+ items: [
612
+ { type: "string", const: "TextualBody" },
613
+ { type: "string", const: "crm:E33_Linguistic_Object" }
614
+ ]
666
615
  };
667
616
  var noteSchema = {
668
617
  type: "object",
669
- description: "A note entity",
618
+ description: "Note",
670
619
  properties: {
671
620
  id: { type: "string", format: "uri", description: bodyIdDescription },
672
- type: { type: "string", const: "TextualBody" },
673
- entityType: noteEntityTypeSchema,
674
- additionalType: {
675
- oneOf: [{ type: "string" }, { type: "array", items: { type: "string" } }]
676
- },
677
- value: { type: "string" }
621
+ type: typeNoteSchema,
622
+ value: { type: "string" },
623
+ P2_has_type: { type: "array", items: { type: "string" } }
678
624
  },
679
- required: ["id", "type", "entityType", "value"]
680
- // errorMessage: {
681
- // properties: {
682
- // type: 'must be exacty "TextualBody"',
683
- // },
684
- // },
625
+ required: ["id", "type", "value"]
685
626
  };
686
627
 
687
628
  // src/v1/schema/definitions/body/organization.ts
688
629
  var import_zod11 = require("zod");
689
- var OrganizationEntityType = import_zod11.z.union([
630
+ var TypeOrganization = import_zod11.z.union([
690
631
  import_zod11.z.literal("crm:E74_Group"),
691
632
  import_zod11.z.tuple([import_zod11.z.literal("foaf:Organization"), import_zod11.z.literal("crm:E89_Propositional_Object")])
692
633
  ]);
693
634
  var Organization = import_zod11.z.object({
694
635
  id: import_zod11.z.string().url().describe(bodyIdDescription),
695
- entityType: OrganizationEntityType,
636
+ type: TypeOrganization,
696
637
  label: Label.optional(),
697
- modeExistence: ModeExistence.optional(),
638
+ P2_has_type: import_zod11.z.tuple([ModeExistence]).rest(import_zod11.z.string().optional()).optional(),
698
639
  description: Description.optional()
699
640
  }).describe("Organization");
700
- var organizationEntityTypeSchema = {
641
+ var typeOrganizationSchema = {
701
642
  oneOf: [
702
643
  { type: "string", const: "crm:E74_Group" },
703
644
  {
@@ -713,33 +654,39 @@ var organizationEntityTypeSchema = {
713
654
  };
714
655
  var organizationSchema = {
715
656
  type: "object",
716
- description: "A organization entity",
657
+ description: "Organization",
717
658
  properties: {
718
659
  id: { type: "string", format: "uri", description: bodyIdDescription },
719
- entityType: organizationEntityTypeSchema,
660
+ type: typeOrganizationSchema,
720
661
  label: { $ref: "defs.jsonld#/definitions/label" },
721
- modeExistence: { ...modeExistenceSchema, nullable: true },
662
+ P2_has_type: {
663
+ type: "array",
664
+ items: [{ ...modeExistenceSchema }],
665
+ minItems: 1,
666
+ maxItems: 100,
667
+ additionalItems: { type: "string", nullable: true }
668
+ },
722
669
  description: { $ref: "defs.jsonld#/definitions/description" }
723
670
  },
724
- required: ["id", "entityType"],
671
+ required: ["id", "type"],
725
672
  allOf: [
726
673
  {
727
674
  if: {
728
675
  type: "object",
729
676
  properties: {
730
- modeExistence: "edit:modeReal"
677
+ P2_has_type: ["edit:modeReal"]
731
678
  }
732
679
  },
733
680
  then: {
734
681
  type: "object",
735
682
  properties: {
736
- entityType: "crm:E74_Group"
683
+ type: "crm:E74_Group"
737
684
  }
738
685
  },
739
686
  else: {
740
687
  type: "object",
741
688
  properties: {
742
- entityType: ["foaf:Organization", "crm:E89_Propositional_Object"]
689
+ type: ["foaf:Organization", "crm:E89_Propositional_Object"]
743
690
  }
744
691
  }
745
692
  }
@@ -748,18 +695,18 @@ var organizationSchema = {
748
695
 
749
696
  // src/v1/schema/definitions/body/person.ts
750
697
  var import_zod12 = require("zod");
751
- var PersonEntityType = import_zod12.z.union([
698
+ var TypePerson = import_zod12.z.union([
752
699
  import_zod12.z.literal("crm:E21_Person"),
753
700
  import_zod12.z.tuple([import_zod12.z.literal("foaf:Person"), import_zod12.z.literal("crm:E89_Propositional_Object")])
754
701
  ]);
755
702
  var Person = import_zod12.z.object({
756
703
  id: import_zod12.z.string().url().describe(bodyIdDescription),
757
- entityType: PersonEntityType,
704
+ type: TypePerson,
758
705
  label: Label.optional(),
759
- modeExistence: ModeExistence.optional(),
706
+ P2_has_type: import_zod12.z.tuple([ModeExistence]).rest(import_zod12.z.string().optional()).optional(),
760
707
  description: Description.optional()
761
708
  }).describe("Person");
762
- var personEntityTypeSchema = {
709
+ var typePersonSchema = {
763
710
  oneOf: [
764
711
  { type: "string", const: "crm:E21_Person" },
765
712
  {
@@ -775,33 +722,39 @@ var personEntityTypeSchema = {
775
722
  };
776
723
  var personSchema = {
777
724
  type: "object",
778
- description: "A person entity",
725
+ description: "Person",
779
726
  properties: {
780
727
  id: { type: "string", format: "uri", description: bodyIdDescription },
781
- entityType: personEntityTypeSchema,
728
+ type: typePersonSchema,
782
729
  label: { $ref: "defs.jsonld#/definitions/label" },
783
- modeExistence: { ...modeExistenceSchema, nullable: true },
730
+ P2_has_type: {
731
+ type: "array",
732
+ items: [{ ...modeExistenceSchema }],
733
+ minItems: 1,
734
+ maxItems: 1,
735
+ additionalItems: { type: "string", nullable: true }
736
+ },
784
737
  description: { $ref: "defs.jsonld#/definitions/description" }
785
738
  },
786
- required: ["id", "entityType"],
739
+ required: ["id", "type"],
787
740
  allOf: [
788
741
  {
789
742
  if: {
790
743
  type: "object",
791
744
  properties: {
792
- modeExistence: "edit:modeReal"
745
+ P2_has_type: ["edit:modeReal"]
793
746
  }
794
747
  },
795
748
  then: {
796
749
  type: "object",
797
750
  properties: {
798
- entityType: "crm:E21_Person"
751
+ type: "crm:E21_Person"
799
752
  }
800
753
  },
801
754
  else: {
802
755
  type: "object",
803
756
  properties: {
804
- entityType: ["foaf:Person", "crm:E89_Propositional_Object"]
757
+ type: ["foaf:Person", "crm:E89_Propositional_Object"]
805
758
  }
806
759
  }
807
760
  }
@@ -810,18 +763,18 @@ var personSchema = {
810
763
 
811
764
  // src/v1/schema/definitions/body/physicalThing.ts
812
765
  var import_zod13 = require("zod");
813
- var PhysicalThingEntityType = import_zod13.z.union([
766
+ var TypePhysicalThing = import_zod13.z.union([
814
767
  import_zod13.z.literal("crm:E18_Physical_Thing"),
815
768
  import_zod13.z.tuple([import_zod13.z.literal("crm:E18_Physical_Thing"), import_zod13.z.literal("wikidata:Q15831596")])
816
769
  ]);
817
770
  var PhysicalThing = import_zod13.z.object({
818
771
  id: import_zod13.z.string().url().describe(bodyIdDescription),
819
- entityType: PhysicalThingEntityType,
772
+ type: TypePhysicalThing,
820
773
  label: Label.optional(),
821
- modeExistence: ModeExistence.optional(),
774
+ P2_has_type: import_zod13.z.tuple([ModeExistence]).rest(import_zod13.z.string().optional()).optional(),
822
775
  description: Description.optional()
823
776
  }).describe("Physical Thing");
824
- var physicalThingEntityTypeSchema = {
777
+ var typePhysicalThingSchema = {
825
778
  oneOf: [
826
779
  { type: "string", const: "crm:E18_Physical_Thing" },
827
780
  {
@@ -837,33 +790,39 @@ var physicalThingEntityTypeSchema = {
837
790
  };
838
791
  var physicalThingSchema = {
839
792
  type: "object",
840
- description: "A physical thing entity",
793
+ description: "Physical Thing",
841
794
  properties: {
842
795
  id: { type: "string", format: "uri", description: bodyIdDescription },
843
- entityType: physicalThingEntityTypeSchema,
796
+ type: typePhysicalThingSchema,
844
797
  label: { $ref: "defs.jsonld#/definitions/label" },
845
- modeExistence: { ...modeExistenceSchema, nullable: true },
798
+ P2_has_type: {
799
+ type: "array",
800
+ items: [{ ...modeExistenceSchema }],
801
+ minItems: 1,
802
+ maxItems: 100,
803
+ additionalItems: { type: "string", nullable: true }
804
+ },
846
805
  description: { $ref: "defs.jsonld#/definitions/description" }
847
806
  },
848
- required: ["id", "entityType"],
807
+ required: ["id", "type"],
849
808
  allOf: [
850
809
  {
851
810
  if: {
852
811
  type: "object",
853
812
  properties: {
854
- modeExistence: "edit:modeReal"
813
+ P2_has_type: ["edit:modeReal"]
855
814
  }
856
815
  },
857
816
  then: {
858
817
  type: "object",
859
818
  properties: {
860
- entityType: "crm:E18_Physical_Thing"
819
+ type: "crm:E18_Physical_Thing"
861
820
  }
862
821
  },
863
822
  else: {
864
823
  type: "object",
865
824
  properties: {
866
- entityType: ["crm:E18_Physical_Thing", "wikidata:Q15831596"]
825
+ type: ["crm:E18_Physical_Thing", "wikidata:Q15831596"]
867
826
  }
868
827
  }
869
828
  }
@@ -872,18 +831,18 @@ var physicalThingSchema = {
872
831
 
873
832
  // src/v1/schema/definitions/body/place.ts
874
833
  var import_zod14 = require("zod");
875
- var PlaceEntityType = import_zod14.z.union([
834
+ var TypePlace = import_zod14.z.union([
876
835
  import_zod14.z.literal("crm:E53_Place"),
877
836
  import_zod14.z.tuple([import_zod14.z.literal("biography:fictionalPlace"), import_zod14.z.literal("crm:E89_Propositional_Object")])
878
837
  ]);
879
838
  var Place = import_zod14.z.object({
880
839
  id: import_zod14.z.string().url().describe(bodyIdDescription),
881
- entityType: PlaceEntityType,
840
+ type: TypePlace,
882
841
  label: Label.optional(),
883
- modeExistence: ModeExistence.optional(),
842
+ P2_has_type: import_zod14.z.tuple([ModeExistence]).rest(import_zod14.z.string().optional()).optional(),
884
843
  description: Description.optional()
885
844
  }).describe("Place");
886
- var placeEntityTypeSchema = {
845
+ var typePlaceSchema = {
887
846
  oneOf: [
888
847
  { type: "string", const: "crm:E53_Place" },
889
848
  {
@@ -899,33 +858,39 @@ var placeEntityTypeSchema = {
899
858
  };
900
859
  var placeSchema = {
901
860
  type: "object",
902
- description: "A place entity",
861
+ description: "Place",
903
862
  properties: {
904
863
  id: { type: "string", format: "uri", description: bodyIdDescription },
905
- entityType: placeEntityTypeSchema,
864
+ type: typePlaceSchema,
906
865
  label: { $ref: "defs.jsonld#/definitions/label" },
907
- modeExistence: { ...modeExistenceSchema, nullable: true },
866
+ P2_has_type: {
867
+ type: "array",
868
+ items: [{ ...modeExistenceSchema }],
869
+ minItems: 1,
870
+ maxItems: 100,
871
+ additionalItems: { type: "string", nullable: true }
872
+ },
908
873
  description: { $ref: "defs.jsonld#/definitions/description" }
909
874
  },
910
- required: ["id", "entityType"],
875
+ required: ["id", "type"],
911
876
  allOf: [
912
877
  {
913
878
  if: {
914
879
  type: "object",
915
880
  properties: {
916
- modeExistence: "edit:modeReal"
881
+ P2_has_type: ["edit:modeReal"]
917
882
  }
918
883
  },
919
884
  then: {
920
885
  type: "object",
921
886
  properties: {
922
- entityType: "crm:E53_Place"
887
+ type: "crm:E53_Place"
923
888
  }
924
889
  },
925
890
  else: {
926
891
  type: "object",
927
892
  properties: {
928
- entityType: ["biography:fictionalPlace", "crm:E89_Propositional_Object"]
893
+ type: ["biography:fictionalPlace", "crm:E89_Propositional_Object"]
929
894
  }
930
895
  }
931
896
  }
@@ -934,18 +899,18 @@ var placeSchema = {
934
899
 
935
900
  // src/v1/schema/definitions/body/work.ts
936
901
  var import_zod15 = require("zod");
937
- var WorkEntityType = import_zod15.z.union([
902
+ var TypeWork = import_zod15.z.union([
938
903
  import_zod15.z.literal("frbroo:F1"),
939
904
  import_zod15.z.tuple([import_zod15.z.literal("frbroo:F1"), import_zod15.z.literal("wikidata:Q15306849")])
940
905
  ]);
941
906
  var Work = import_zod15.z.object({
942
907
  id: import_zod15.z.string().url().describe(bodyIdDescription),
943
- entityType: WorkEntityType,
908
+ type: TypeWork,
944
909
  label: Label.optional(),
945
- modeExistence: ModeExistence.optional(),
910
+ P2_has_type: import_zod15.z.tuple([ModeExistence]).rest(import_zod15.z.string().optional()).optional(),
946
911
  description: Description.optional()
947
912
  }).describe("Work");
948
- var workEntityTypeSchema = {
913
+ var typeWorkSchema = {
949
914
  oneOf: [
950
915
  { type: "string", const: "frbroo:F1" },
951
916
  {
@@ -961,33 +926,39 @@ var workEntityTypeSchema = {
961
926
  };
962
927
  var workSchema = {
963
928
  type: "object",
964
- description: "A work entity",
929
+ description: "Work",
965
930
  properties: {
966
931
  id: { type: "string", format: "uri", description: bodyIdDescription },
967
- entityType: workEntityTypeSchema,
932
+ type: typeWorkSchema,
968
933
  label: { $ref: "defs.jsonld#/definitions/label" },
969
- modeExistence: { ...modeExistenceSchema, nullable: true },
934
+ P2_has_type: {
935
+ type: "array",
936
+ items: [{ ...modeExistenceSchema }],
937
+ minItems: 1,
938
+ maxItems: 100,
939
+ additionalItems: { type: "string", nullable: true }
940
+ },
970
941
  description: { $ref: "defs.jsonld#/definitions/description" }
971
942
  },
972
- required: ["id", "entityType"],
943
+ required: ["id", "type"],
973
944
  allOf: [
974
945
  {
975
946
  if: {
976
947
  type: "object",
977
948
  properties: {
978
- modeExistence: "edit:modeReal"
949
+ P2_has_type: ["edit:modeReal"]
979
950
  }
980
951
  },
981
952
  then: {
982
953
  type: "object",
983
954
  properties: {
984
- entityType: "crm:E89_Propositional_Object"
955
+ type: "crm:E89_Propositional_Object"
985
956
  }
986
957
  },
987
958
  else: {
988
959
  type: "object",
989
960
  properties: {
990
- entityType: ["frbroo:F1", "wikidata:Q15306849"]
961
+ type: ["frbroo:F1", "wikidata:Q15306849"]
991
962
  }
992
963
  }
993
964
  }
@@ -1000,8 +971,6 @@ var bodyIdDescription2 = "The IRI that identifies the Body resource.";
1000
971
  var BodyChoice = import_zod16.z.object({
1001
972
  id: import_zod16.z.string().url().describe(bodyIdDescription2),
1002
973
  type: import_zod16.z.literal("Choice"),
1003
- entityType: BodyEntityType,
1004
- label: Label.optional(),
1005
974
  items: import_zod16.z.array(Body)
1006
975
  });
1007
976
  var bodyChoiceSchema = {
@@ -1010,165 +979,103 @@ var bodyChoiceSchema = {
1010
979
  properties: {
1011
980
  id: { type: "string", format: "uri", description: bodyIdDescription2 },
1012
981
  type: { type: "string", const: "Choice" },
1013
- entityType: {
1014
- oneOf: [
1015
- personEntityTypeSchema,
1016
- placeEntityTypeSchema,
1017
- organizationEntityTypeSchema,
1018
- workEntityTypeSchema,
1019
- physicalThingEntityTypeSchema,
1020
- conceptualObjectEntityTypeSchema,
1021
- citationEntityTypeSchema,
1022
- dateEntityTypeSchema,
1023
- noteEntityTypeSchema,
1024
- correctionEntityTypeSchema,
1025
- keywordEntityTypeSchema,
1026
- keywordFolksnomyEntityTypeSchema,
1027
- linkEntityTypeSchema,
1028
- eventEntityTypeSchema
1029
- ]
1030
- },
1031
- label: labelSchema,
1032
982
  items: {
1033
983
  type: "array",
1034
- // items: bodySchema,
1035
984
  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment
1036
985
  items: { $ref: "defs.jsonld#/definitions/body" }
1037
986
  }
1038
987
  },
1039
- required: ["id", "type", "entityType", "items"],
988
+ required: ["id", "type", "items"],
1040
989
  additionalProperties: false
1041
990
  };
1042
991
 
1043
992
  // src/v1/schema/definitions/body/index.ts
1044
993
  var bodyIdDescription = "The IRI that identifies the Body resource.";
1045
- var BodyEntityType = import_zod17.z.union([
1046
- PersonEntityType,
1047
- PlaceEntityType,
1048
- OrganizationEntityType,
1049
- WorkEntityType,
1050
- PhysicalThingEntityType,
1051
- ConceptualObjectEntityType,
1052
- CitationEntityType,
1053
- DateEntityType,
1054
- NoteEntityType,
1055
- CorrectionEntityType,
1056
- KeywordEntityType,
1057
- KeywordFolksnomyEntityType,
1058
- LinkEntityType,
1059
- EventEntityType
994
+ var TypeBody = import_zod17.z.union([
995
+ TypePerson,
996
+ TypePlace,
997
+ TypeOrganization,
998
+ TypeWork,
999
+ TypePhysicalThing,
1000
+ TypeConceptualObject,
1001
+ TypeCitation,
1002
+ TypeDate,
1003
+ TypeNote,
1004
+ TypeCorrection,
1005
+ TypeKeyword,
1006
+ TypeKeywordFolksnomy,
1007
+ TypeLink,
1008
+ TypeEvent
1060
1009
  ]);
1061
- var bodyEntityTypeSchema = {
1062
- oneOf: [
1063
- personEntityTypeSchema,
1064
- placeEntityTypeSchema,
1065
- organizationEntityTypeSchema,
1066
- workEntityTypeSchema,
1067
- physicalThingEntityTypeSchema,
1068
- conceptualObjectEntityTypeSchema,
1069
- citationEntityTypeSchema,
1070
- dateEntityTypeSchema,
1071
- noteEntityTypeSchema,
1072
- correctionEntityTypeSchema,
1073
- keywordEntityTypeSchema,
1074
- keywordFolksnomyEntityTypeSchema,
1075
- linkEntityTypeSchema,
1076
- eventEntityTypeSchema
1077
- ]
1078
- };
1079
1010
  var Body = import_zod17.z.object({
1080
1011
  id: import_zod17.z.string().url().describe(bodyIdDescription),
1081
- type: import_zod17.z.literal("TextualBody").optional(),
1082
- entityType: BodyEntityType,
1083
- additionalType: import_zod17.z.union([import_zod17.z.string(), import_zod17.z.string().array()]).nullish().describe("Extra types that refines the body"),
1084
- value: import_zod17.z.string().describe("The value of the body").optional(),
1012
+ type: TypeBody,
1013
+ value: import_zod17.z.string().optional(),
1085
1014
  label: Label.optional(),
1086
- modeExistence: ModeExistence.optional(),
1015
+ P2_has_type: import_zod17.z.array(import_zod17.z.string()).optional(),
1087
1016
  description: Description.optional()
1088
1017
  }).describe("Web Annotation Body");
1018
+ var typeBodySchema = {
1019
+ oneOf: [
1020
+ typePersonSchema,
1021
+ typePlaceSchema,
1022
+ typeOrganizationSchema,
1023
+ typeWorkSchema,
1024
+ typePhysicalThingSchema,
1025
+ typeConceptualObjectSchema,
1026
+ typeEventSchema,
1027
+ typeCitationSchema,
1028
+ typeDateSchema,
1029
+ typeNoteSchema,
1030
+ typeCorrectionSchema,
1031
+ typeKeywordSchema,
1032
+ typeKeywordFolksnomy,
1033
+ typeLinkSchema
1034
+ ]
1035
+ };
1089
1036
  var bodySchema = {
1090
1037
  type: "object",
1091
1038
  description: "Web Annotation Body",
1092
1039
  properties: {
1093
1040
  id: { type: "string", format: "uri", description: bodyIdDescription },
1094
- type: { type: "string", const: "TextualBody" },
1095
- entityType: bodyEntityTypeSchema,
1096
- additionalType: {
1097
- anyOf: [{ type: "string" }, { type: "array", items: { type: "string" } }]
1098
- },
1041
+ type: typeBodySchema,
1099
1042
  value: { type: "string" },
1100
1043
  label: labelSchema,
1101
- modeExistence: modeExistenceSchema,
1044
+ P2_has_type: { type: "array", items: { type: "string" } },
1102
1045
  description: descriptionSchema
1103
1046
  },
1104
- required: ["id", "entityType"],
1105
- // * Conditional restrictions
1047
+ required: ["id", "type"],
1106
1048
  anyOf: [
1107
- //* IF entityType is date OR correction OR keyword THEN type = TextualBody
1108
- //* && IF entityType is date THEN value = date range pattern ELSE value = string
1109
1049
  {
1110
1050
  if: {
1111
1051
  type: "object",
1112
1052
  properties: {
1113
- entityType: {
1114
- anyOf: [
1115
- { const: "crm:E33_Linguistic_Object" },
1116
- {
1117
- type: "array",
1118
- minItems: 2,
1119
- maxItems: 2,
1120
- items: [{ const: "xsd:date" }, { const: "crm:E52_Time-Span" }]
1121
- },
1122
- {
1123
- type: "array",
1124
- minItems: 2,
1125
- maxItems: 2,
1126
- items: [{ const: "fabio:Correction" }, { const: "crm:E33_Linguistic_Object" }]
1127
- },
1128
- {
1129
- type: "array",
1130
- minItems: 2,
1131
- maxItems: 2,
1132
- items: [{ const: "crm:E55_Type" }, { const: "crm:E33_Linguistic_Object" }]
1133
- }
1134
- ]
1053
+ type: {
1054
+ anyOf: [typeNoteSchema, typeDateSchema, typeCorrectionSchema, typeKeywordFolksnomy]
1135
1055
  }
1136
1056
  }
1137
1057
  },
1138
1058
  then: {
1139
1059
  type: "object",
1140
- required: ["type", "value"],
1141
- properties: {
1142
- type: { type: "string", const: "TextualBody" }
1143
- },
1060
+ required: ["id", "type", "value"],
1144
1061
  if: {
1145
1062
  type: "object",
1146
1063
  properties: {
1147
- entityType: {
1148
- type: "array",
1149
- minItems: 2,
1150
- maxItems: 2,
1151
- items: [{ const: "xsd:date" }, { const: "crm:E52_Time-Span" }]
1152
- }
1064
+ type: typeDateSchema
1153
1065
  }
1154
1066
  },
1155
1067
  then: {
1156
1068
  type: "object",
1069
+ required: ["id", "type", "value"],
1157
1070
  properties: {
1158
1071
  value: {
1159
1072
  type: "string",
1160
1073
  pattern: DATE_RANGE_PATTERN
1161
1074
  }
1162
1075
  }
1163
- },
1164
- else: {
1165
- type: "object",
1166
- properties: { value: { type: "string" } }
1167
1076
  }
1168
1077
  }
1169
1078
  }
1170
- // TODO: Add more restrictions
1171
- // ? Not accept value for some entityTypes
1172
1079
  ],
1173
1080
  additionalProperties: false
1174
1081
  };
@@ -1179,10 +1086,7 @@ var import_zod25 = require("zod");
1179
1086
  // src/v1/schema/definitions/target/selector/index.ts
1180
1087
  var import_zod23 = require("zod");
1181
1088
 
1182
- // src/v1/schema/definitions/target/selector/range.ts
1183
- var import_zod21 = require("zod");
1184
-
1185
- // src/v1/schema/definitions/target/selector/xpath.ts
1089
+ // src/v1/schema/definitions/target/selector/css.ts
1186
1090
  var import_zod20 = require("zod");
1187
1091
 
1188
1092
  // src/v1/schema/definitions/target/selector/textPosition.ts
@@ -1308,18 +1212,18 @@ var textQuoteSelectorExtendedSchema = {
1308
1212
  required: ["id", "type", "exact", "prefix", "suffix"]
1309
1213
  };
1310
1214
 
1311
- // src/v1/schema/definitions/target/selector/xpath.ts
1312
- var XpathSelector = import_zod20.z.object({
1215
+ // src/v1/schema/definitions/target/selector/css.ts
1216
+ var CssSelector = import_zod20.z.object({
1313
1217
  id: import_zod20.z.string().describe(selectorIdDescription),
1314
- type: import_zod20.z.tuple([import_zod20.z.literal("XPathSelector"), import_zod20.z.literal("crm:E73_Information_Object")]),
1315
- value: import_zod20.z.string().min(1).describe("The xpath to the selected segment.")
1316
- }).describe("Xpath Selector");
1317
- var XpathSelectorExtended = XpathSelector.extend({
1218
+ type: import_zod20.z.tuple([import_zod20.z.literal("CssSelector"), import_zod20.z.literal("crm:E73_Information_Object")]),
1219
+ value: import_zod20.z.string().min(1).describe("The CSS to the selected a segment.")
1220
+ }).describe("CSS Selector");
1221
+ var CssSelectorExtended = CssSelector.extend({
1318
1222
  refinedBy: import_zod20.z.union([TextPositionSelector, TextQuoteSelector]).optional().describe(selectorRefinedByDescription)
1319
1223
  });
1320
- var xpathSelectorSchema = {
1224
+ var cssSelectorSchema = {
1321
1225
  type: "object",
1322
- description: "Xpath Selector",
1226
+ description: "Css Selector",
1323
1227
  properties: {
1324
1228
  id: { type: "string", format: "uri", description: selectorIdDescription },
1325
1229
  type: {
@@ -1327,23 +1231,23 @@ var xpathSelectorSchema = {
1327
1231
  minItems: 2,
1328
1232
  maxItems: 2,
1329
1233
  items: [
1330
- { type: "string", const: "XPathSelector" },
1234
+ { type: "string", const: "CssSelector" },
1331
1235
  { type: "string", const: "crm:E73_Information_Object" }
1332
1236
  ],
1333
1237
  description: "The class of the Selector,"
1334
1238
  },
1335
1239
  value: {
1336
1240
  type: "string",
1337
- description: "Web Annotation Target Select Xpath"
1241
+ description: "Web Annotation Target Select CSS"
1338
1242
  }
1339
1243
  },
1340
1244
  required: ["id", "type", "value"]
1341
1245
  };
1342
- var xpathSelectorExtendedSchema = {
1246
+ var cssSelectorExtendedSchema = {
1343
1247
  type: "object",
1344
- description: "Xpath Selector",
1248
+ description: "CSS Selector",
1345
1249
  properties: {
1346
- ...xpathSelectorSchema.properties,
1250
+ ...cssSelectorSchema.properties,
1347
1251
  refinedBy: {
1348
1252
  type: "object",
1349
1253
  description: selectorRefinedByDescription,
@@ -1358,46 +1262,21 @@ var xpathSelectorExtendedSchema = {
1358
1262
  };
1359
1263
 
1360
1264
  // src/v1/schema/definitions/target/selector/range.ts
1361
- var RangeSelector = import_zod21.z.object({
1362
- id: import_zod21.z.string().url().describe(selectorIdDescription),
1363
- type: import_zod21.z.tuple([import_zod21.z.literal("RangeSelector"), import_zod21.z.literal("crm:E73_Information_Object")]),
1364
- startSelector: XpathSelector,
1365
- endSelector: XpathSelector
1366
- }).describe("Range Selector");
1367
- var rangeSelectorSchema = {
1368
- type: "object",
1369
- description: "Range Selector",
1370
- properties: {
1371
- id: { type: "string", format: "uri", description: selectorIdDescription },
1372
- type: {
1373
- type: "array",
1374
- minItems: 2,
1375
- maxItems: 2,
1376
- items: [
1377
- { type: "string", const: "RangeSelector" },
1378
- { type: "string", const: "crm:E73_Information_Object" }
1379
- ],
1380
- description: "The class of the Selector,"
1381
- },
1382
- startSelector: { $ref: "defs.jsonld#/definitions/xpathSelector" },
1383
- endSelector: { $ref: "defs.jsonld#/definitions/xpathSelector" }
1384
- },
1385
- required: ["id", "type", "startSelector", "endSelector"]
1386
- };
1387
-
1388
- // src/v1/schema/definitions/target/selector/css.ts
1389
1265
  var import_zod22 = require("zod");
1390
- var CssSelector = import_zod22.z.object({
1391
- id: import_zod22.z.string().describe(selectorIdDescription),
1392
- type: import_zod22.z.tuple([import_zod22.z.literal("CssSelector"), import_zod22.z.literal("crm:E73_Information_Object")]),
1393
- value: import_zod22.z.string().min(1).describe("The CSS to the selected a segment.")
1394
- }).describe("CSS Selector");
1395
- var CssSelectorExtended = CssSelector.extend({
1396
- refinedBy: import_zod22.z.union([TextPositionSelector, TextQuoteSelector]).optional().describe(selectorRefinedByDescription)
1266
+
1267
+ // src/v1/schema/definitions/target/selector/xpath.ts
1268
+ var import_zod21 = require("zod");
1269
+ var XpathSelector = import_zod21.z.object({
1270
+ id: import_zod21.z.string().describe(selectorIdDescription),
1271
+ type: import_zod21.z.tuple([import_zod21.z.literal("XPathSelector"), import_zod21.z.literal("crm:E73_Information_Object")]),
1272
+ value: import_zod21.z.string().min(1).describe("The xpath to the selected segment.")
1273
+ }).describe("Xpath Selector");
1274
+ var XpathSelectorExtended = XpathSelector.extend({
1275
+ refinedBy: import_zod21.z.union([TextPositionSelector, TextQuoteSelector]).optional().describe(selectorRefinedByDescription)
1397
1276
  });
1398
- var cssSelectorSchema = {
1277
+ var xpathSelectorSchema = {
1399
1278
  type: "object",
1400
- description: "Css Selector",
1279
+ description: "Xpath Selector",
1401
1280
  properties: {
1402
1281
  id: { type: "string", format: "uri", description: selectorIdDescription },
1403
1282
  type: {
@@ -1405,23 +1284,23 @@ var cssSelectorSchema = {
1405
1284
  minItems: 2,
1406
1285
  maxItems: 2,
1407
1286
  items: [
1408
- { type: "string", const: "CssSelector" },
1287
+ { type: "string", const: "XPathSelector" },
1409
1288
  { type: "string", const: "crm:E73_Information_Object" }
1410
1289
  ],
1411
1290
  description: "The class of the Selector,"
1412
1291
  },
1413
1292
  value: {
1414
1293
  type: "string",
1415
- description: "Web Annotation Target Select CSS"
1294
+ description: "Web Annotation Target Select Xpath"
1416
1295
  }
1417
1296
  },
1418
1297
  required: ["id", "type", "value"]
1419
1298
  };
1420
- var cssSelectorExtendedSchema = {
1299
+ var xpathSelectorExtendedSchema = {
1421
1300
  type: "object",
1422
- description: "CSS Selector",
1301
+ description: "Xpath Selector",
1423
1302
  properties: {
1424
- ...cssSelectorSchema.properties,
1303
+ ...xpathSelectorSchema.properties,
1425
1304
  refinedBy: {
1426
1305
  type: "object",
1427
1306
  description: selectorRefinedByDescription,
@@ -1435,6 +1314,34 @@ var cssSelectorExtendedSchema = {
1435
1314
  required: ["id", "type", "value"]
1436
1315
  };
1437
1316
 
1317
+ // src/v1/schema/definitions/target/selector/range.ts
1318
+ var RangeSelector = import_zod22.z.object({
1319
+ id: import_zod22.z.string().url().describe(selectorIdDescription),
1320
+ type: import_zod22.z.tuple([import_zod22.z.literal("RangeSelector"), import_zod22.z.literal("crm:E73_Information_Object")]),
1321
+ startSelector: XpathSelector,
1322
+ endSelector: XpathSelector
1323
+ }).describe("Range Selector");
1324
+ var rangeSelectorSchema = {
1325
+ type: "object",
1326
+ description: "Range Selector",
1327
+ properties: {
1328
+ id: { type: "string", format: "uri", description: selectorIdDescription },
1329
+ type: {
1330
+ type: "array",
1331
+ minItems: 2,
1332
+ maxItems: 2,
1333
+ items: [
1334
+ { type: "string", const: "RangeSelector" },
1335
+ { type: "string", const: "crm:E73_Information_Object" }
1336
+ ],
1337
+ description: "The class of the Selector,"
1338
+ },
1339
+ startSelector: { $ref: "defs.jsonld#/definitions/xpathSelector" },
1340
+ endSelector: { $ref: "defs.jsonld#/definitions/xpathSelector" }
1341
+ },
1342
+ required: ["id", "type", "startSelector", "endSelector"]
1343
+ };
1344
+
1438
1345
  // src/v1/schema/definitions/target/selector/index.ts
1439
1346
  var selectorIdDescription = "UUID that identifies the selector.";
1440
1347
  var selectorRefinedByDescription = "The relationship between a broader selector and the more specific selector that should be applied to the results of the first.";
@@ -1460,48 +1367,41 @@ var selectorSchema = {
1460
1367
  // src/v1/schema/definitions/target/source.ts
1461
1368
  var import_zod24 = require("zod");
1462
1369
  var formatDescription = "The format of the Web Resource's content. The value of the property should be the media-type of the format, following the [rfc6838] specification.";
1370
+ var languageDescription = "The language of the Web Resource's content. The value of the property should be a language code following the [bcp47] specification.";
1371
+ var titleDescription = "The title of the document being annotated.";
1372
+ var sourceIdDescription = "The IRI that identifies the Target source.";
1463
1373
  var Format = import_zod24.z.string().min(1).describe(formatDescription);
1374
+ var Language = import_zod24.z.string().min(2).max(3).describe(languageDescription);
1375
+ var isIdentifiedBy = import_zod24.z.object({
1376
+ id: import_zod24.z.string().url(),
1377
+ type: import_zod24.z.literal("crm:E33_E41_Linguistic_Appellation"),
1378
+ title: import_zod24.z.string().min(1).describe(titleDescription)
1379
+ });
1380
+ var Source = import_zod24.z.object({
1381
+ id: import_zod24.z.string().url().describe(sourceIdDescription),
1382
+ type: import_zod24.z.literal("crm:D1_Digital_Object"),
1383
+ format: import_zod24.z.union([Format, import_zod24.z.array(Format).min(1)]).describe(formatDescription),
1384
+ P1_is_identified_by: isIdentifiedBy.optional(),
1385
+ language: import_zod24.z.union([Language, import_zod24.z.array(Language).min(1)]).optional().describe(languageDescription)
1386
+ }).describe("Web Annotation Target");
1464
1387
  var formatSchema = {
1465
1388
  type: "string",
1466
1389
  description: formatDescription,
1467
1390
  minLength: 1
1468
1391
  };
1469
- var languageDescription = "The language of the Web Resource's content. The value of the property should be a language code following the [bcp47] specification.";
1470
- var Language = import_zod24.z.string().min(2).max(3).describe(languageDescription);
1471
1392
  var languageSchema = {
1472
1393
  type: "string",
1473
1394
  description: languageDescription,
1474
1395
  minLength: 2,
1475
1396
  maxLength: 3
1476
1397
  };
1477
- var sourceIdDescription = "The IRI that identifies the Target source.";
1478
- var isIdentifiedBy = import_zod24.z.object({
1479
- id: import_zod24.z.string().url(),
1480
- type: import_zod24.z.literal("crm:E33_E41_Linguistic_Appellation"),
1481
- title: import_zod24.z.string().min(1).describe("The title of the document being annotated.")
1482
- });
1483
- var Source = import_zod24.z.object({
1484
- id: import_zod24.z.string().url().describe(sourceIdDescription),
1485
- type: import_zod24.z.literal("crm:D1_Digital_Object"),
1486
- format: import_zod24.z.union([Format, import_zod24.z.array(Format).min(1)]).describe(
1487
- "The formats of the Web Resource's content. The value of the property should and array of media-types of the format, following the [rfc6838] specification."
1488
- ),
1489
- P1_is_identified_by: isIdentifiedBy.optional(),
1490
- language: import_zod24.z.union([Language, import_zod24.z.array(Language).min(1)]).optional().describe(
1491
- "The languages of the Web Resource's content. The value of the property should be an array of language code following the [bcp47] specification."
1492
- )
1493
- }).describe("Web Annotation Target");
1494
1398
  var isIndentifyBySchema = {
1495
1399
  type: "object",
1496
1400
  description: "indentifyBy",
1497
1401
  properties: {
1498
1402
  id: { type: "string", format: "uri" },
1499
1403
  type: { type: "string", const: "crm:E33_E41_Linguistic_Appellation" },
1500
- title: {
1501
- type: "string",
1502
- minLength: 1,
1503
- description: "The title of the document being annotated."
1504
- }
1404
+ title: { type: "string", minLength: 1, description: titleDescription }
1505
1405
  },
1506
1406
  required: ["id", "type", "title"]
1507
1407
  };
@@ -1515,12 +1415,7 @@ var sourceSchema = {
1515
1415
  type: ["string", "array"],
1516
1416
  anyOf: [
1517
1417
  formatSchema,
1518
- {
1519
- type: "array",
1520
- minItems: 1,
1521
- items: formatSchema,
1522
- description: "The formats of the Web Resource's content. The value of the property should and array of media-types of the format, following the [rfc6838] specification."
1523
- }
1418
+ { type: "array", minItems: 1, items: formatSchema, description: formatDescription }
1524
1419
  ]
1525
1420
  },
1526
1421
  P1_is_identified_by: { ...isIndentifyBySchema, nullable: true },
@@ -1529,12 +1424,7 @@ var sourceSchema = {
1529
1424
  nullable: true,
1530
1425
  anyOf: [
1531
1426
  languageSchema,
1532
- {
1533
- type: "array",
1534
- minItems: 1,
1535
- items: languageSchema,
1536
- description: "The languages of the Web Resource's content. The value of the property should be an array of language code following the [bcp47] specification."
1537
- }
1427
+ { type: "array", minItems: 1, items: languageSchema, description: languageDescription }
1538
1428
  ]
1539
1429
  }
1540
1430
  },
@@ -1543,13 +1433,12 @@ var sourceSchema = {
1543
1433
 
1544
1434
  // src/v1/schema/definitions/target/index.ts
1545
1435
  var targetIdDescription = "The IRI that identifies the Target resource.";
1436
+ var renderedViaDescription = "The relationship between the Specific Resource that represents the Target in the annotation, and the piece of software or other system that was used to render the Target when the annotation was created.";
1546
1437
  var Target = import_zod25.z.object({
1547
1438
  id: import_zod25.z.string().url().describe(targetIdDescription),
1548
1439
  type: import_zod25.z.tuple([import_zod25.z.literal("SpecificResource"), import_zod25.z.literal("crm:E73_Information_Object")]).describe("The class of the Specific Resource."),
1549
1440
  source: Source,
1550
- renderedVia: Software.optional().describe(
1551
- "The relationship between the Specific Resource that represents the Target in the annotation, and the piece of software or other system that was used to render the Target when the annotation was created."
1552
- ),
1441
+ renderedVia: Software.optional().describe(renderedViaDescription),
1553
1442
  selector: import_zod25.z.union([Selector, import_zod25.z.array(Selector)]).describe("The relationship between a Specific Resource and a Selector.").optional()
1554
1443
  }).describe("Web Annotation Target");
1555
1444
  var targetSchema = {
@@ -1568,19 +1457,9 @@ var targetSchema = {
1568
1457
  description: "The class of the Specific Resource."
1569
1458
  },
1570
1459
  source: sourceSchema,
1571
- renderedVia: {
1572
- $ref: "defs.jsonld#/definitions/software",
1573
- description: "The relationship between the Specific Resource that represents the Target in the annotation, and the piece of software or other system that was used to render the Target when the annotation was created."
1574
- },
1460
+ renderedVia: { $ref: "defs.jsonld#/definitions/software", description: renderedViaDescription },
1575
1461
  selector: {
1576
- anyOf: [
1577
- selectorSchema,
1578
- {
1579
- type: "array",
1580
- items: selectorSchema,
1581
- minItems: 1
1582
- }
1583
- ]
1462
+ anyOf: [selectorSchema, { type: "array", items: selectorSchema, minItems: 1 }]
1584
1463
  }
1585
1464
  },
1586
1465
  required: ["id", "type", "source"],
@@ -1725,24 +1604,58 @@ var targetSchema = {
1725
1604
 
1726
1605
  // src/v1/schema/definitions/common.ts
1727
1606
  var import_zod26 = require("zod");
1728
- var Quality = [
1729
- "edit:qualityLow",
1730
- "edit:qualityMedium",
1731
- "edit:qualityHigh",
1732
- "edit:qualityUnknown"
1733
- ];
1734
- var certaintyDescription = "Indicates the degree of certainty associated with some aspect of an assertion, description, identification, or entity linked to the annotation body.";
1735
- var Certainty = import_zod26.z.enum(Quality).describe(certaintyDescription);
1736
- var certaintySchema = {
1737
- type: "string",
1738
- enum: Quality,
1739
- description: certaintyDescription
1607
+ var descriptionMotivation = "The relationship between an Annotation and a Motivation.";
1608
+ var Motivation = import_zod26.z.union([
1609
+ import_zod26.z.literal("oa:identifying"),
1610
+ import_zod26.z.literal("oa:describing"),
1611
+ import_zod26.z.literal("correcting"),
1612
+ import_zod26.z.literal("oa:tagging"),
1613
+ import_zod26.z.literal("oa:classifying"),
1614
+ import_zod26.z.literal("oa:linking"),
1615
+ import_zod26.z.literal("citing")
1616
+ ]).describe(descriptionMotivation);
1617
+ var MotivationSchema = {
1618
+ oneOf: [
1619
+ { type: "string", const: "oa:identifying" },
1620
+ { type: "string", const: "oa:describing" },
1621
+ { type: "string", const: "correcting" },
1622
+ { type: "string", const: "oa:tagging" },
1623
+ { type: "string", const: "oa:classifying" },
1624
+ { type: "string", const: "oa:linking" },
1625
+ { type: "string", const: "citing" }
1626
+ ],
1627
+ description: descriptionMotivation
1628
+ };
1629
+ var descriptionCertainty = "Indicates the degree of certainty associated with some aspect of an assertion, description, identification, or entity linked to the annotation body.";
1630
+ var Certainty = import_zod26.z.union([
1631
+ import_zod26.z.literal("edit:qualityLowCertainty"),
1632
+ import_zod26.z.literal("edit:qualityMediumCertainty"),
1633
+ import_zod26.z.literal("edit:qualityHighCertainty"),
1634
+ import_zod26.z.literal("edit:qualityUnknownCertainty")
1635
+ ]).describe(descriptionCertainty);
1636
+ var CertaintySchema = {
1637
+ oneOf: [
1638
+ { type: "string", const: "edit:qualityLowCertainty" },
1639
+ { type: "string", const: "edit:qualityMediumCertainty" },
1640
+ { type: "string", const: "edit:qualityHighCertainty" },
1641
+ { type: "string", const: "edit:qualityUnknownCertainty" }
1642
+ ],
1643
+ description: descriptionCertainty
1740
1644
  };
1741
1645
  var precisionDescription = "Indicates the degree of precision associated with the location of the entity linked to the annotation body.";
1742
- var Precision = import_zod26.z.enum(Quality).describe(precisionDescription);
1743
- var precisionSchema = {
1744
- type: "string",
1745
- enum: Quality,
1646
+ var Precision = import_zod26.z.union([
1647
+ import_zod26.z.literal("edit:qualityLowPrecision"),
1648
+ import_zod26.z.literal("edit:qualityMediumPrecision"),
1649
+ import_zod26.z.literal("edit:qualityHighPrecision"),
1650
+ import_zod26.z.literal("edit:qualityUnknownPrecision")
1651
+ ]).describe(precisionDescription);
1652
+ var PrecisionSchema = {
1653
+ oneOf: [
1654
+ { type: "string", const: "edit:qualityLowPrecision" },
1655
+ { type: "string", const: "edit:qualityMediumPrecision" },
1656
+ { type: "string", const: "edit:qualityHighPrecision" },
1657
+ { type: "string", const: "edit:qualityUnknownPrecision" }
1658
+ ],
1746
1659
  description: precisionDescription
1747
1660
  };
1748
1661
 
@@ -1767,15 +1680,6 @@ var definitionSchema = {
1767
1680
 
1768
1681
  // src/v1/schema/root.ts
1769
1682
  var import_zod27 = require("zod");
1770
- var Motivation = [
1771
- "oa:identifying",
1772
- "oa:describing",
1773
- "correcting",
1774
- "oa:tagging",
1775
- "oa:classifying",
1776
- "oa:linking",
1777
- "citing"
1778
- ];
1779
1683
  var WebAnnotation = import_zod27.z.object({
1780
1684
  "@context": import_zod27.z.tuple([
1781
1685
  import_zod27.z.literal("http://www.w3.org/ns/anno.jsonld").describe("W3C Web Annotation Context."),
@@ -1786,21 +1690,26 @@ var WebAnnotation = import_zod27.z.object({
1786
1690
  ),
1787
1691
  id: import_zod27.z.string().url().describe("The identity of the Annotation."),
1788
1692
  type: import_zod27.z.tuple([import_zod27.z.literal("Annotation"), import_zod27.z.literal("crm:E33_Linguistic_Object")]).describe("The type of the Annotation."),
1789
- motivation: import_zod27.z.enum(Motivation).describe("The relationship between an Annotation and a Motivation."),
1693
+ motivation: Motivation,
1790
1694
  created: import_zod27.z.string().datetime().describe("The time at which the resource was created."),
1791
1695
  modified: import_zod27.z.string().datetime().optional().describe("The time at which the resource was modified, after creation."),
1792
- creator: import_zod27.z.union([User, Group, Software]).describe("The agent responsible for creating the resource.").optional(),
1793
- contributor: import_zod27.z.array(import_zod27.z.union([User, Group, Software])).nonempty().optional().describe("The agents responsible for modifying the resource."),
1696
+ creator: import_zod27.z.union([User, Group]).describe("The agent responsible for creating the resource.").optional(),
1697
+ contributor: import_zod27.z.array(import_zod27.z.union([User, Group])).nonempty().optional().describe("The agents responsible for modifying the resource."),
1794
1698
  generator: Software.describe(
1795
1699
  "The agent responsible for generating the serialization of the Annotation. "
1796
1700
  ),
1797
1701
  target: import_zod27.z.union([Target, import_zod27.z.array(Target)]).describe("The relationship between an Annotation and its Target."),
1798
1702
  body: import_zod27.z.union([BodyChoice, Body, import_zod27.z.array(Body)]).describe("The relationship between an Annotation and its Body."),
1799
- certainty: Certainty.optional(),
1800
- precision: Precision.optional(),
1801
1703
  label: import_zod27.z.string().min(1, { message: "The label cannot be empty" }).optional().describe("The descriptive label for the annotation"),
1802
- P2_has_type: import_zod27.z.union([import_zod27.z.string().min(3), import_zod27.z.array(import_zod27.z.string().min(3)).min(1)]).optional()
1704
+ P2_has_type: import_zod27.z.tuple([Motivation]).rest(import_zod27.z.union([Certainty, Precision]).optional())
1803
1705
  }).describe("Web Annotation Root");
1706
+ var p2HasTypeSchema = {
1707
+ type: "array",
1708
+ minItems: 1,
1709
+ maxItems: 3,
1710
+ items: [{ ...MotivationSchema }],
1711
+ additionalItems: { oneOf: [CertaintySchema, PrecisionSchema] }
1712
+ };
1804
1713
  var webAnnotationSchema = {
1805
1714
  $id: schemaId,
1806
1715
  type: "object",
@@ -1832,11 +1741,7 @@ var webAnnotationSchema = {
1832
1741
  ],
1833
1742
  description: "The type of the Annotation."
1834
1743
  },
1835
- motivation: {
1836
- type: "string",
1837
- enum: Motivation,
1838
- description: "The relationship between an Annotation and a Motivation."
1839
- },
1744
+ motivation: MotivationSchema,
1840
1745
  created: {
1841
1746
  type: "string",
1842
1747
  format: "date-time",
@@ -1850,8 +1755,7 @@ var webAnnotationSchema = {
1850
1755
  creator: {
1851
1756
  oneOf: [
1852
1757
  { $ref: "defs.jsonld#/definitions/user" },
1853
- { $ref: "defs.jsonld#/definitions/group" },
1854
- { $ref: "defs.jsonld#/definitions/software" }
1758
+ { $ref: "defs.jsonld#/definitions/group" }
1855
1759
  ]
1856
1760
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1857
1761
  },
@@ -1891,25 +1795,20 @@ var webAnnotationSchema = {
1891
1795
  }
1892
1796
  ]
1893
1797
  },
1894
- certainty: certaintySchema,
1895
- precision: precisionSchema,
1896
1798
  label: { type: "string" },
1897
- P2_has_type: {
1898
- oneOf: [
1899
- { type: "string", minLength: 3 },
1900
- {
1901
- type: "array",
1902
- minItems: 1,
1903
- items: {
1904
- type: "string",
1905
- minLength: 3
1906
- },
1907
- uniqueItems: true
1908
- }
1909
- ]
1910
- }
1799
+ P2_has_type: p2HasTypeSchema
1911
1800
  },
1912
- required: ["@context", "id", "type", "motivation", "created", "generator", "target", "body"],
1801
+ required: [
1802
+ "@context",
1803
+ "id",
1804
+ "type",
1805
+ "motivation",
1806
+ "created",
1807
+ "generator",
1808
+ "target",
1809
+ "body",
1810
+ "P2_has_type"
1811
+ ],
1913
1812
  additionalProperties: false,
1914
1813
  allOf: [
1915
1814
  {
@@ -1919,16 +1818,16 @@ var webAnnotationSchema = {
1919
1818
  body: {
1920
1819
  type: "object",
1921
1820
  properties: {
1922
- entityType: {
1821
+ type: {
1923
1822
  oneOf: [
1924
- personEntityTypeSchema,
1925
- placeEntityTypeSchema,
1926
- organizationEntityTypeSchema,
1927
- workEntityTypeSchema,
1928
- physicalThingEntityTypeSchema,
1929
- conceptualObjectEntityTypeSchema,
1930
- dateEntityTypeSchema,
1931
- eventEntityTypeSchema
1823
+ typePersonSchema,
1824
+ typePlaceSchema,
1825
+ typeOrganizationSchema,
1826
+ typeWorkSchema,
1827
+ typePhysicalThingSchema,
1828
+ typeConceptualObjectSchema,
1829
+ typeDateSchema,
1830
+ typeEventSchema
1932
1831
  ]
1933
1832
  }
1934
1833
  }
@@ -1938,7 +1837,14 @@ var webAnnotationSchema = {
1938
1837
  then: {
1939
1838
  type: "object",
1940
1839
  properties: {
1941
- motivation: { type: "string", const: "oa:identifying" }
1840
+ motivation: { type: "string", const: "oa:identifying" },
1841
+ P2_has_type: {
1842
+ type: "array",
1843
+ minItems: 1,
1844
+ maxItems: 3,
1845
+ items: [{ type: "string", const: "oa:identifying" }],
1846
+ additionalItems: { oneOf: [CertaintySchema, PrecisionSchema] }
1847
+ }
1942
1848
  }
1943
1849
  },
1944
1850
  else: {
@@ -1948,7 +1854,7 @@ var webAnnotationSchema = {
1948
1854
  body: {
1949
1855
  type: "object",
1950
1856
  properties: {
1951
- entityType: noteEntityTypeSchema
1857
+ type: typeNoteSchema
1952
1858
  }
1953
1859
  }
1954
1860
  }
@@ -1956,7 +1862,11 @@ var webAnnotationSchema = {
1956
1862
  then: {
1957
1863
  type: "object",
1958
1864
  properties: {
1959
- motivation: { type: "string", const: "oa:describing" }
1865
+ motivation: { type: "string", const: "oa:describing" },
1866
+ P2_has_type: {
1867
+ ...p2HasTypeSchema,
1868
+ items: [{ type: "string", const: "oa:describing" }]
1869
+ }
1960
1870
  }
1961
1871
  },
1962
1872
  else: {
@@ -1966,7 +1876,7 @@ var webAnnotationSchema = {
1966
1876
  body: {
1967
1877
  type: "object",
1968
1878
  properties: {
1969
- entityType: correctionEntityTypeSchema
1879
+ type: typeCorrectionSchema
1970
1880
  }
1971
1881
  }
1972
1882
  }
@@ -1974,7 +1884,11 @@ var webAnnotationSchema = {
1974
1884
  then: {
1975
1885
  type: "object",
1976
1886
  properties: {
1977
- motivation: { type: "string", const: "correcting" }
1887
+ motivation: { type: "string", const: "correcting" },
1888
+ P2_has_type: {
1889
+ ...p2HasTypeSchema,
1890
+ items: [{ type: "string", const: "correcting" }]
1891
+ }
1978
1892
  }
1979
1893
  },
1980
1894
  else: {
@@ -1984,7 +1898,7 @@ var webAnnotationSchema = {
1984
1898
  body: {
1985
1899
  type: "object",
1986
1900
  properties: {
1987
- entityType: keywordFolksnomyEntityTypeSchema
1901
+ type: typeKeywordFolksnomy
1988
1902
  }
1989
1903
  }
1990
1904
  }
@@ -1992,7 +1906,11 @@ var webAnnotationSchema = {
1992
1906
  then: {
1993
1907
  type: "object",
1994
1908
  properties: {
1995
- motivation: { type: "string", const: "oa:tagging" }
1909
+ motivation: { type: "string", const: "oa:tagging" },
1910
+ P2_has_type: {
1911
+ ...p2HasTypeSchema,
1912
+ items: [{ type: "string", const: "oa:tagging" }]
1913
+ }
1996
1914
  }
1997
1915
  },
1998
1916
  else: {
@@ -2002,7 +1920,7 @@ var webAnnotationSchema = {
2002
1920
  body: {
2003
1921
  type: "object",
2004
1922
  properties: {
2005
- entityType: keywordEntityTypeSchema
1923
+ type: typeKeywordSchema
2006
1924
  }
2007
1925
  }
2008
1926
  }
@@ -2010,7 +1928,11 @@ var webAnnotationSchema = {
2010
1928
  then: {
2011
1929
  type: "object",
2012
1930
  properties: {
2013
- motivation: { type: "string", const: "oa:classifying" }
1931
+ motivation: { type: "string", const: "oa:classifying" },
1932
+ P2_has_type: {
1933
+ ...p2HasTypeSchema,
1934
+ items: [{ type: "string", const: "oa:classifying" }]
1935
+ }
2014
1936
  }
2015
1937
  },
2016
1938
  else: {
@@ -2020,7 +1942,7 @@ var webAnnotationSchema = {
2020
1942
  body: {
2021
1943
  type: "object",
2022
1944
  properties: {
2023
- entityType: linkEntityTypeSchema
1945
+ type: typeLinkSchema
2024
1946
  }
2025
1947
  }
2026
1948
  }
@@ -2028,7 +1950,11 @@ var webAnnotationSchema = {
2028
1950
  then: {
2029
1951
  type: "object",
2030
1952
  properties: {
2031
- motivation: { type: "string", const: "oa:linking" }
1953
+ motivation: { type: "string", const: "oa:linking" },
1954
+ P2_has_type: {
1955
+ ...p2HasTypeSchema,
1956
+ items: [{ type: "string", const: "oa:linking" }]
1957
+ }
2032
1958
  }
2033
1959
  },
2034
1960
  else: {
@@ -2038,7 +1964,7 @@ var webAnnotationSchema = {
2038
1964
  body: {
2039
1965
  type: "object",
2040
1966
  properties: {
2041
- entityType: citationEntityTypeSchema
1967
+ type: typeCitationSchema
2042
1968
  }
2043
1969
  }
2044
1970
  }
@@ -2046,7 +1972,11 @@ var webAnnotationSchema = {
2046
1972
  then: {
2047
1973
  type: "object",
2048
1974
  properties: {
2049
- motivation: { type: "string", const: "citing" }
1975
+ motivation: { type: "string", const: "citing" },
1976
+ P2_has_type: {
1977
+ ...p2HasTypeSchema,
1978
+ items: [{ type: "string", const: "citing" }]
1979
+ }
2050
1980
  }
2051
1981
  }
2052
1982
  }
@@ -2055,6 +1985,41 @@ var webAnnotationSchema = {
2055
1985
  }
2056
1986
  }
2057
1987
  }
1988
+ },
1989
+ {
1990
+ if: {
1991
+ type: "object",
1992
+ properties: {
1993
+ body: {
1994
+ type: "object",
1995
+ properties: {
1996
+ type: { type: "string", const: "Choice" }
1997
+ }
1998
+ }
1999
+ }
2000
+ },
2001
+ then: {
2002
+ type: "object",
2003
+ properties: {
2004
+ body: { $ref: "defs.jsonld#/definitions/bodyChoice" }
2005
+ }
2006
+ },
2007
+ else: {
2008
+ type: "object",
2009
+ properties: {
2010
+ body: {
2011
+ oneOf: [
2012
+ { $ref: "defs.jsonld#/definitions/body" },
2013
+ {
2014
+ type: "array",
2015
+ items: { $ref: "defs.jsonld#/definitions/body" },
2016
+ minItems: 1
2017
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
2018
+ }
2019
+ ]
2020
+ }
2021
+ }
2022
+ }
2058
2023
  }
2059
2024
  ]
2060
2025
  };
@@ -2083,7 +2048,8 @@ var ValidateResult = import_zod28.z.object({
2083
2048
  var ajv = new import_ajv.default({
2084
2049
  code: { source: true },
2085
2050
  allErrors: true,
2086
- allowUnionTypes: true
2051
+ allowUnionTypes: true,
2052
+ strictTuples: false
2087
2053
  }).addSchema([webAnnotationSchema, definitionSchema]);
2088
2054
  (0, import_ajv_formats.default)(ajv);
2089
2055
  var validator = ajv.compile(webAnnotationSchema);
@@ -2111,42 +2077,32 @@ var v1_exports = {};
2111
2077
  __export(v1_exports, {
2112
2078
  Body: () => Body,
2113
2079
  BodyChoice: () => BodyChoice,
2114
- BodyEntityType: () => BodyEntityType,
2115
2080
  Certainty: () => Certainty,
2081
+ CertaintySchema: () => CertaintySchema,
2116
2082
  Citation: () => Citation,
2117
- CitationEntityType: () => CitationEntityType,
2118
2083
  ConceptualObject: () => ConceptualObject,
2119
- ConceptualObjectEntityType: () => ConceptualObjectEntityType,
2120
2084
  Correction: () => Correction,
2121
- CorrectionEntityType: () => CorrectionEntityType,
2085
+ CssSelector: () => CssSelector,
2086
+ CssSelectorExtended: () => CssSelectorExtended,
2122
2087
  DATE_RANGE_PATTERN: () => DATE_RANGE_PATTERN,
2123
2088
  Date: () => Date,
2124
- DateEntityType: () => DateEntityType,
2125
2089
  Description: () => Description,
2126
2090
  Event: () => Event,
2127
- EventEntityType: () => EventEntityType,
2128
2091
  Group: () => Group,
2129
2092
  Keyword: () => Keyword,
2130
- KeywordEntityType: () => KeywordEntityType,
2131
2093
  KeywordFolksnomy: () => KeywordFolksnomy,
2132
- KeywordFolksnomyEntityType: () => KeywordFolksnomyEntityType,
2133
2094
  Label: () => Label,
2134
2095
  Link: () => Link,
2135
- LinkEntityType: () => LinkEntityType,
2136
2096
  ModeExistence: () => ModeExistence,
2137
2097
  Motivation: () => Motivation,
2098
+ MotivationSchema: () => MotivationSchema,
2138
2099
  Note: () => Note,
2139
- NoteEntityType: () => NoteEntityType,
2140
2100
  Organization: () => Organization,
2141
- OrganizationEntityType: () => OrganizationEntityType,
2142
2101
  Person: () => Person,
2143
- PersonEntityType: () => PersonEntityType,
2144
2102
  PhysicalThing: () => PhysicalThing,
2145
- PhysicalThingEntityType: () => PhysicalThingEntityType,
2146
2103
  Place: () => Place,
2147
- PlaceEntityType: () => PlaceEntityType,
2148
2104
  Precision: () => Precision,
2149
- Quality: () => Quality,
2105
+ PrecisionSchema: () => PrecisionSchema,
2150
2106
  RangeSelector: () => RangeSelector,
2151
2107
  Selector: () => Selector,
2152
2108
  Software: () => Software,
@@ -2156,59 +2112,60 @@ __export(v1_exports, {
2156
2112
  TextPositionSelectorExtended: () => TextPositionSelectorExtended,
2157
2113
  TextQuoteSelector: () => TextQuoteSelector,
2158
2114
  TextQuoteSelectorExtended: () => TextQuoteSelectorExtended,
2115
+ TypeBody: () => TypeBody,
2116
+ TypeCitation: () => TypeCitation,
2117
+ TypeConceptualObject: () => TypeConceptualObject,
2118
+ TypeCorrection: () => TypeCorrection,
2119
+ TypeDate: () => TypeDate,
2120
+ TypeEvent: () => TypeEvent,
2121
+ TypeKeyword: () => TypeKeyword,
2122
+ TypeKeywordFolksnomy: () => TypeKeywordFolksnomy,
2123
+ TypeLink: () => TypeLink,
2124
+ TypeNote: () => TypeNote,
2125
+ TypeOrganization: () => TypeOrganization,
2126
+ TypePerson: () => TypePerson,
2127
+ TypePhysicalThing: () => TypePhysicalThing,
2128
+ TypePlace: () => TypePlace,
2129
+ TypeWork: () => TypeWork,
2159
2130
  User: () => User,
2160
2131
  VERSION: () => VERSION,
2161
2132
  ValidateResult: () => ValidateResult,
2162
2133
  ValidationError: () => ValidationError,
2163
2134
  WebAnnotation: () => WebAnnotation,
2164
2135
  Work: () => Work,
2165
- WorkEntityType: () => WorkEntityType,
2166
2136
  XpathSelector: () => XpathSelector,
2167
2137
  XpathSelectorExtended: () => XpathSelectorExtended,
2168
2138
  ajv: () => ajv,
2169
2139
  bodyChoiceSchema: () => bodyChoiceSchema,
2170
- bodyEntityTypeSchema: () => bodyEntityTypeSchema,
2171
2140
  bodyIdDescription: () => bodyIdDescription,
2172
2141
  bodySchema: () => bodySchema,
2173
- certaintySchema: () => certaintySchema,
2174
- citationEntityTypeSchema: () => citationEntityTypeSchema,
2175
2142
  citationSchema: () => citationSchema,
2176
- conceptualObjectEntityTypeSchema: () => conceptualObjectEntityTypeSchema,
2177
2143
  conceptualObjectSchema: () => conceptualObjectSchema,
2178
2144
  contextUri: () => contextUri,
2179
- correctionEntityTypeSchema: () => correctionEntityTypeSchema,
2180
2145
  correctionSchema: () => correctionSchema,
2181
- dateEntityTypeSchema: () => dateEntityTypeSchema,
2146
+ cssSelectorExtendedSchema: () => cssSelectorExtendedSchema,
2147
+ cssSelectorSchema: () => cssSelectorSchema,
2182
2148
  dateSchema: () => dateSchema,
2183
2149
  definitionSchema: () => definitionSchema,
2184
2150
  defsId: () => defsId,
2185
2151
  descriptionSchema: () => descriptionSchema,
2186
- eventEntityTypeSchema: () => eventEntityTypeSchema,
2187
2152
  eventSchema: () => eventSchema,
2188
2153
  formatSchema: () => formatSchema,
2189
2154
  groupSchema: () => groupSchema,
2190
2155
  isIdentifiedBy: () => isIdentifiedBy,
2191
2156
  isIndentifyBySchema: () => isIndentifyBySchema,
2192
- keywordEntityTypeSchema: () => keywordEntityTypeSchema,
2193
- keywordFolksnomyEntityTypeSchema: () => keywordFolksnomyEntityTypeSchema,
2194
2157
  keywordFolksnomySchema: () => keywordFolksnomySchema,
2195
2158
  keywordSchema: () => keywordSchema,
2196
2159
  labelSchema: () => labelSchema,
2197
2160
  languageSchema: () => languageSchema,
2198
- linkEntityTypeSchema: () => linkEntityTypeSchema,
2199
2161
  linkSchema: () => linkSchema,
2200
2162
  modeExistenceSchema: () => modeExistenceSchema,
2201
- noteEntityTypeSchema: () => noteEntityTypeSchema,
2202
2163
  noteSchema: () => noteSchema,
2203
- organizationEntityTypeSchema: () => organizationEntityTypeSchema,
2204
2164
  organizationSchema: () => organizationSchema,
2205
- personEntityTypeSchema: () => personEntityTypeSchema,
2165
+ p2HasTypeSchema: () => p2HasTypeSchema,
2206
2166
  personSchema: () => personSchema,
2207
- physicalThingEntityTypeSchema: () => physicalThingEntityTypeSchema,
2208
2167
  physicalThingSchema: () => physicalThingSchema,
2209
- placeEntityTypeSchema: () => placeEntityTypeSchema,
2210
2168
  placeSchema: () => placeSchema,
2211
- precisionSchema: () => precisionSchema,
2212
2169
  rangeSelectorSchema: () => rangeSelectorSchema,
2213
2170
  schemaContext: () => schemaContext,
2214
2171
  schemaId: () => schemaId,
@@ -2222,11 +2179,25 @@ __export(v1_exports, {
2222
2179
  textPositionSelectorSchema: () => textPositionSelectorSchema,
2223
2180
  textQuoteSelectorExtendedSchema: () => textQuoteSelectorExtendedSchema,
2224
2181
  textQuoteSelectorSchema: () => textQuoteSelectorSchema,
2182
+ typeBodySchema: () => typeBodySchema,
2183
+ typeCitationSchema: () => typeCitationSchema,
2184
+ typeConceptualObjectSchema: () => typeConceptualObjectSchema,
2185
+ typeCorrectionSchema: () => typeCorrectionSchema,
2186
+ typeDateSchema: () => typeDateSchema,
2187
+ typeEventSchema: () => typeEventSchema,
2188
+ typeKeywordFolksnomy: () => typeKeywordFolksnomy,
2189
+ typeKeywordSchema: () => typeKeywordSchema,
2190
+ typeLinkSchema: () => typeLinkSchema,
2191
+ typeNoteSchema: () => typeNoteSchema,
2192
+ typeOrganizationSchema: () => typeOrganizationSchema,
2193
+ typePersonSchema: () => typePersonSchema,
2194
+ typePhysicalThingSchema: () => typePhysicalThingSchema,
2195
+ typePlaceSchema: () => typePlaceSchema,
2196
+ typeWorkSchema: () => typeWorkSchema,
2225
2197
  userSchema: () => userSchema,
2226
2198
  validate: () => validate,
2227
2199
  validator: () => validator,
2228
2200
  webAnnotationSchema: () => webAnnotationSchema,
2229
- workEntityTypeSchema: () => workEntityTypeSchema,
2230
2201
  workSchema: () => workSchema,
2231
2202
  xpathSelectorExtendedSchema: () => xpathSelectorExtendedSchema,
2232
2203
  xpathSelectorSchema: () => xpathSelectorSchema
@@ -2235,42 +2206,32 @@ __export(v1_exports, {
2235
2206
  0 && (module.exports = {
2236
2207
  Body,
2237
2208
  BodyChoice,
2238
- BodyEntityType,
2239
2209
  Certainty,
2210
+ CertaintySchema,
2240
2211
  Citation,
2241
- CitationEntityType,
2242
2212
  ConceptualObject,
2243
- ConceptualObjectEntityType,
2244
2213
  Correction,
2245
- CorrectionEntityType,
2214
+ CssSelector,
2215
+ CssSelectorExtended,
2246
2216
  DATE_RANGE_PATTERN,
2247
2217
  Date,
2248
- DateEntityType,
2249
2218
  Description,
2250
2219
  Event,
2251
- EventEntityType,
2252
2220
  Group,
2253
2221
  Keyword,
2254
- KeywordEntityType,
2255
2222
  KeywordFolksnomy,
2256
- KeywordFolksnomyEntityType,
2257
2223
  Label,
2258
2224
  Link,
2259
- LinkEntityType,
2260
2225
  ModeExistence,
2261
2226
  Motivation,
2227
+ MotivationSchema,
2262
2228
  Note,
2263
- NoteEntityType,
2264
2229
  Organization,
2265
- OrganizationEntityType,
2266
2230
  Person,
2267
- PersonEntityType,
2268
2231
  PhysicalThing,
2269
- PhysicalThingEntityType,
2270
2232
  Place,
2271
- PlaceEntityType,
2272
2233
  Precision,
2273
- Quality,
2234
+ PrecisionSchema,
2274
2235
  RangeSelector,
2275
2236
  Selector,
2276
2237
  Software,
@@ -2280,59 +2241,60 @@ __export(v1_exports, {
2280
2241
  TextPositionSelectorExtended,
2281
2242
  TextQuoteSelector,
2282
2243
  TextQuoteSelectorExtended,
2244
+ TypeBody,
2245
+ TypeCitation,
2246
+ TypeConceptualObject,
2247
+ TypeCorrection,
2248
+ TypeDate,
2249
+ TypeEvent,
2250
+ TypeKeyword,
2251
+ TypeKeywordFolksnomy,
2252
+ TypeLink,
2253
+ TypeNote,
2254
+ TypeOrganization,
2255
+ TypePerson,
2256
+ TypePhysicalThing,
2257
+ TypePlace,
2258
+ TypeWork,
2283
2259
  User,
2284
2260
  VERSION,
2285
2261
  ValidateResult,
2286
2262
  ValidationError,
2287
2263
  WebAnnotation,
2288
2264
  Work,
2289
- WorkEntityType,
2290
2265
  XpathSelector,
2291
2266
  XpathSelectorExtended,
2292
2267
  ajv,
2293
2268
  bodyChoiceSchema,
2294
- bodyEntityTypeSchema,
2295
2269
  bodyIdDescription,
2296
2270
  bodySchema,
2297
- certaintySchema,
2298
- citationEntityTypeSchema,
2299
2271
  citationSchema,
2300
- conceptualObjectEntityTypeSchema,
2301
2272
  conceptualObjectSchema,
2302
2273
  contextUri,
2303
- correctionEntityTypeSchema,
2304
2274
  correctionSchema,
2305
- dateEntityTypeSchema,
2275
+ cssSelectorExtendedSchema,
2276
+ cssSelectorSchema,
2306
2277
  dateSchema,
2307
2278
  definitionSchema,
2308
2279
  defsId,
2309
2280
  descriptionSchema,
2310
- eventEntityTypeSchema,
2311
2281
  eventSchema,
2312
2282
  formatSchema,
2313
2283
  groupSchema,
2314
2284
  isIdentifiedBy,
2315
2285
  isIndentifyBySchema,
2316
- keywordEntityTypeSchema,
2317
- keywordFolksnomyEntityTypeSchema,
2318
2286
  keywordFolksnomySchema,
2319
2287
  keywordSchema,
2320
2288
  labelSchema,
2321
2289
  languageSchema,
2322
- linkEntityTypeSchema,
2323
2290
  linkSchema,
2324
2291
  modeExistenceSchema,
2325
- noteEntityTypeSchema,
2326
2292
  noteSchema,
2327
- organizationEntityTypeSchema,
2328
2293
  organizationSchema,
2329
- personEntityTypeSchema,
2294
+ p2HasTypeSchema,
2330
2295
  personSchema,
2331
- physicalThingEntityTypeSchema,
2332
2296
  physicalThingSchema,
2333
- placeEntityTypeSchema,
2334
2297
  placeSchema,
2335
- precisionSchema,
2336
2298
  rangeSelectorSchema,
2337
2299
  schemaContext,
2338
2300
  schemaId,
@@ -2346,12 +2308,26 @@ __export(v1_exports, {
2346
2308
  textPositionSelectorSchema,
2347
2309
  textQuoteSelectorExtendedSchema,
2348
2310
  textQuoteSelectorSchema,
2311
+ typeBodySchema,
2312
+ typeCitationSchema,
2313
+ typeConceptualObjectSchema,
2314
+ typeCorrectionSchema,
2315
+ typeDateSchema,
2316
+ typeEventSchema,
2317
+ typeKeywordFolksnomy,
2318
+ typeKeywordSchema,
2319
+ typeLinkSchema,
2320
+ typeNoteSchema,
2321
+ typeOrganizationSchema,
2322
+ typePersonSchema,
2323
+ typePhysicalThingSchema,
2324
+ typePlaceSchema,
2325
+ typeWorkSchema,
2349
2326
  userSchema,
2350
2327
  v1,
2351
2328
  validate,
2352
2329
  validator,
2353
2330
  webAnnotationSchema,
2354
- workEntityTypeSchema,
2355
2331
  workSchema,
2356
2332
  xpathSelectorExtendedSchema,
2357
2333
  xpathSelectorSchema