@twin.org/standards-gaia-x 0.0.1-next.48 → 0.0.1-next.49

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.
@@ -1,3 +1,5 @@
1
+ import { DataTypeHandlerFactory } from '@twin.org/data-core';
2
+
1
3
  // Copyright 2024 IOTA Stiftung.
2
4
  // SPDX-License-Identifier: Apache-2.0.
3
5
  /**
@@ -8,7 +10,7 @@ const GaiaXContexts = {
8
10
  /**
9
11
  * The Gaia-X LD Context
10
12
  */
11
- GaiaXLdContext: "https://w3id.org/gaia-x/development"
13
+ ContextRoot: "https://w3id.org/gaia-x/development"
12
14
  };
13
15
 
14
16
  // Copyright 2024 IOTA Stiftung.
@@ -72,4 +74,1535 @@ const GaiaXTypes = {
72
74
  TaxID: "TaxID"
73
75
  };
74
76
 
75
- export { GaiaXContexts, GaiaXTypes };
77
+ var $schema$6 = "https://json-schema.org/draft/2020-12/schema";
78
+ var $id$6 = "https://schema.twindev.org/gaia-x/Address";
79
+ var description$6 = "Address as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/Address/";
80
+ var type$6 = "object";
81
+ var properties$6 = {
82
+ "@context": {
83
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
84
+ },
85
+ "@id": {
86
+ anyOf: [
87
+ {
88
+ type: "string"
89
+ },
90
+ {
91
+ type: "array",
92
+ items: false,
93
+ prefixItems: [
94
+ {
95
+ type: "string"
96
+ }
97
+ ]
98
+ }
99
+ ]
100
+ },
101
+ "@included": {
102
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
103
+ },
104
+ "@graph": {
105
+ anyOf: [
106
+ {
107
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
108
+ },
109
+ {
110
+ type: "array",
111
+ items: false,
112
+ prefixItems: [
113
+ {
114
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
115
+ }
116
+ ]
117
+ }
118
+ ]
119
+ },
120
+ "@nest": {
121
+ anyOf: [
122
+ {
123
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
124
+ },
125
+ {
126
+ type: "array",
127
+ items: false,
128
+ prefixItems: [
129
+ {
130
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
131
+ }
132
+ ]
133
+ }
134
+ ]
135
+ },
136
+ "@type": {
137
+ anyOf: [
138
+ {
139
+ type: "string"
140
+ },
141
+ {
142
+ type: "array",
143
+ items: false,
144
+ prefixItems: [
145
+ {
146
+ type: "string"
147
+ }
148
+ ]
149
+ }
150
+ ]
151
+ },
152
+ "@reverse": {
153
+ type: "object",
154
+ additionalProperties: {
155
+ type: "string"
156
+ }
157
+ },
158
+ "@index": {
159
+ type: "string"
160
+ },
161
+ type: {
162
+ type: "string",
163
+ "const": "Address",
164
+ description: "JSON-LD @ type. In this case it is allowed to be omitted as it is usually a child node."
165
+ },
166
+ countryCode: {
167
+ type: [
168
+ "string",
169
+ "number"
170
+ ],
171
+ description: "Country code in ISO 3166-1 alpha2, alpha-3 or numeric format"
172
+ }
173
+ };
174
+ var required$6 = [
175
+ "countryCode"
176
+ ];
177
+ var additionalProperties$6 = {
178
+ anyOf: [
179
+ {
180
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
181
+ },
182
+ {
183
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
184
+ },
185
+ {
186
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
187
+ },
188
+ {
189
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
190
+ },
191
+ {
192
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
193
+ },
194
+ {
195
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
196
+ },
197
+ {
198
+ type: "array"
199
+ }
200
+ ]
201
+ };
202
+ var AddressSchema = {
203
+ $schema: $schema$6,
204
+ $id: $id$6,
205
+ description: description$6,
206
+ type: type$6,
207
+ properties: properties$6,
208
+ required: required$6,
209
+ additionalProperties: additionalProperties$6
210
+ };
211
+
212
+ var $schema$5 = "https://json-schema.org/draft/2020-12/schema";
213
+ var $id$5 = "https://schema.twindev.org/gaia-x/DataExchangeComponent";
214
+ var description$5 = "Data Exchange component as defined by Gaia-X https://docs.gaia-x.eu/ontology/development/classes/DataExchangeComponent";
215
+ var type$5 = "object";
216
+ var properties$5 = {
217
+ "@context": {
218
+ $ref: "https://schema.twindev.org/gaia-x/GaiaXContextType",
219
+ description: "The LD Context"
220
+ },
221
+ "@id": {
222
+ anyOf: [
223
+ {
224
+ type: "string"
225
+ },
226
+ {
227
+ type: "array",
228
+ items: false,
229
+ prefixItems: [
230
+ {
231
+ type: "string"
232
+ }
233
+ ]
234
+ }
235
+ ]
236
+ },
237
+ "@included": {
238
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
239
+ },
240
+ "@graph": {
241
+ anyOf: [
242
+ {
243
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
244
+ },
245
+ {
246
+ type: "array",
247
+ items: false,
248
+ prefixItems: [
249
+ {
250
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
251
+ }
252
+ ]
253
+ }
254
+ ]
255
+ },
256
+ "@nest": {
257
+ anyOf: [
258
+ {
259
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
260
+ },
261
+ {
262
+ type: "array",
263
+ items: false,
264
+ prefixItems: [
265
+ {
266
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
267
+ }
268
+ ]
269
+ }
270
+ ]
271
+ },
272
+ "@type": {
273
+ anyOf: [
274
+ {
275
+ type: "string"
276
+ },
277
+ {
278
+ type: "array",
279
+ items: false,
280
+ prefixItems: [
281
+ {
282
+ type: "string"
283
+ }
284
+ ]
285
+ }
286
+ ]
287
+ },
288
+ "@reverse": {
289
+ type: "object",
290
+ additionalProperties: {
291
+ type: "string"
292
+ }
293
+ },
294
+ "@index": {
295
+ type: "string"
296
+ },
297
+ type: {
298
+ anyOf: [
299
+ {
300
+ type: "string",
301
+ "const": "DataExchangeComponent"
302
+ },
303
+ {
304
+ type: "array",
305
+ minItems: 1,
306
+ items: {
307
+ type: "string"
308
+ },
309
+ prefixItems: [
310
+ {
311
+ type: "string",
312
+ "const": "DataExchangeComponent"
313
+ }
314
+ ]
315
+ }
316
+ ],
317
+ description: "The type of JSON-LD node"
318
+ }
319
+ };
320
+ var required$5 = [
321
+ "@context",
322
+ "type"
323
+ ];
324
+ var additionalProperties$5 = {
325
+ anyOf: [
326
+ {
327
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
328
+ },
329
+ {
330
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
331
+ },
332
+ {
333
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
334
+ },
335
+ {
336
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
337
+ },
338
+ {
339
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
340
+ },
341
+ {
342
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
343
+ },
344
+ {
345
+ type: "array"
346
+ }
347
+ ]
348
+ };
349
+ var DataExchangeComponentSchema = {
350
+ $schema: $schema$5,
351
+ $id: $id$5,
352
+ description: description$5,
353
+ type: type$5,
354
+ properties: properties$5,
355
+ required: required$5,
356
+ additionalProperties: additionalProperties$5
357
+ };
358
+
359
+ var $schema$4 = "https://json-schema.org/draft/2020-12/schema";
360
+ var $id$4 = "https://schema.twindev.org/gaia-x/DataResource";
361
+ var description$4 = "A Data Resource as defined by Gaia-X. See also W3C DCAT Dataset https://www.w3.org/TR/vocab-dcat-3/.";
362
+ var type$4 = "object";
363
+ var properties$4 = {
364
+ "@context": {
365
+ $ref: "https://schema.twindev.org/gaia-x/GaiaXContextType",
366
+ description: "The LD Context"
367
+ },
368
+ "@id": {
369
+ anyOf: [
370
+ {
371
+ type: "string"
372
+ },
373
+ {
374
+ type: "array",
375
+ items: false,
376
+ prefixItems: [
377
+ {
378
+ type: "string"
379
+ }
380
+ ]
381
+ }
382
+ ]
383
+ },
384
+ "@included": {
385
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
386
+ },
387
+ "@graph": {
388
+ anyOf: [
389
+ {
390
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
391
+ },
392
+ {
393
+ type: "array",
394
+ items: false,
395
+ prefixItems: [
396
+ {
397
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
398
+ }
399
+ ]
400
+ }
401
+ ]
402
+ },
403
+ "@nest": {
404
+ anyOf: [
405
+ {
406
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
407
+ },
408
+ {
409
+ type: "array",
410
+ items: false,
411
+ prefixItems: [
412
+ {
413
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
414
+ }
415
+ ]
416
+ }
417
+ ]
418
+ },
419
+ "@type": {
420
+ anyOf: [
421
+ {
422
+ type: "string"
423
+ },
424
+ {
425
+ type: "array",
426
+ items: false,
427
+ prefixItems: [
428
+ {
429
+ type: "string"
430
+ }
431
+ ]
432
+ }
433
+ ]
434
+ },
435
+ "@reverse": {
436
+ type: "object",
437
+ additionalProperties: {
438
+ type: "string"
439
+ }
440
+ },
441
+ "@index": {
442
+ type: "string"
443
+ },
444
+ id: {
445
+ type: "string",
446
+ description: "Subject Id"
447
+ },
448
+ type: {
449
+ type: "string",
450
+ "const": "DataResource",
451
+ description: "Subject type"
452
+ },
453
+ description: {
454
+ type: "string",
455
+ description: "Description"
456
+ },
457
+ name: {
458
+ type: "string",
459
+ description: "The Resource Name"
460
+ },
461
+ exposedThrough: {
462
+ anyOf: [
463
+ {
464
+ $ref: "https://schema.twindev.org/gaia-x/DataExchangeComponent"
465
+ },
466
+ {
467
+ type: "string"
468
+ },
469
+ {
470
+ type: "object",
471
+ additionalProperties: {
472
+ anyOf: [
473
+ {
474
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
475
+ },
476
+ {
477
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
478
+ },
479
+ {
480
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
481
+ },
482
+ {
483
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
484
+ },
485
+ {
486
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
487
+ },
488
+ {
489
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
490
+ },
491
+ {
492
+ type: "array"
493
+ }
494
+ ]
495
+ },
496
+ properties: {
497
+ id: {
498
+ type: "string"
499
+ },
500
+ type: {
501
+ type: "string",
502
+ "const": "DataExchangeComponent"
503
+ },
504
+ "@context": {
505
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
506
+ },
507
+ "@id": {
508
+ anyOf: [
509
+ {
510
+ type: "string"
511
+ },
512
+ {
513
+ type: "array",
514
+ items: false,
515
+ prefixItems: [
516
+ {
517
+ type: "string"
518
+ }
519
+ ]
520
+ }
521
+ ]
522
+ },
523
+ "@included": {
524
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
525
+ },
526
+ "@graph": {
527
+ anyOf: [
528
+ {
529
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
530
+ },
531
+ {
532
+ type: "array",
533
+ items: false,
534
+ prefixItems: [
535
+ {
536
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
537
+ }
538
+ ]
539
+ }
540
+ ]
541
+ },
542
+ "@nest": {
543
+ anyOf: [
544
+ {
545
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
546
+ },
547
+ {
548
+ type: "array",
549
+ items: false,
550
+ prefixItems: [
551
+ {
552
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
553
+ }
554
+ ]
555
+ }
556
+ ]
557
+ },
558
+ "@type": {
559
+ anyOf: [
560
+ {
561
+ type: "string"
562
+ },
563
+ {
564
+ type: "array",
565
+ items: false,
566
+ prefixItems: [
567
+ {
568
+ type: "string"
569
+ }
570
+ ]
571
+ }
572
+ ]
573
+ },
574
+ "@reverse": {
575
+ type: "object",
576
+ additionalProperties: {
577
+ type: "string"
578
+ }
579
+ },
580
+ "@index": {
581
+ type: "string"
582
+ }
583
+ },
584
+ required: [
585
+ "id",
586
+ "type"
587
+ ]
588
+ }
589
+ ],
590
+ description: "Exposed through a Data Exchange Component. 'string' in case just an Id pointing to the Data Exchange Component is supplied the third case covers the idiom where a JSON-LD Node is supplied with id and type."
591
+ },
592
+ producedBy: {
593
+ anyOf: [
594
+ {
595
+ $ref: "https://schema.twindev.org/gaia-x/Participant"
596
+ },
597
+ {
598
+ type: "string"
599
+ }
600
+ ],
601
+ description: "Who is the data producer"
602
+ },
603
+ license: {
604
+ type: "string",
605
+ description: "Pointer (URL) to the license"
606
+ },
607
+ copyrightOwnedBy: {
608
+ anyOf: [
609
+ {
610
+ $ref: "https://schema.twindev.org/gaia-x/Participant"
611
+ },
612
+ {
613
+ type: "string"
614
+ }
615
+ ],
616
+ description: "Copyright owner"
617
+ },
618
+ resourcePolicy: {
619
+ $ref: "https://schema.twindev.org/gaia-x/ObjectOrArray%3CIJsonLdNodeObject%3E",
620
+ description: "ODRL Policy"
621
+ }
622
+ };
623
+ var required$4 = [
624
+ "@context",
625
+ "id",
626
+ "type",
627
+ "name",
628
+ "exposedThrough",
629
+ "producedBy",
630
+ "license",
631
+ "copyrightOwnedBy",
632
+ "resourcePolicy"
633
+ ];
634
+ var additionalProperties$4 = {
635
+ anyOf: [
636
+ {
637
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
638
+ },
639
+ {
640
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
641
+ },
642
+ {
643
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
644
+ },
645
+ {
646
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
647
+ },
648
+ {
649
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
650
+ },
651
+ {
652
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
653
+ },
654
+ {
655
+ type: "array"
656
+ }
657
+ ]
658
+ };
659
+ var DataResourceSchema = {
660
+ $schema: $schema$4,
661
+ $id: $id$4,
662
+ description: description$4,
663
+ type: type$4,
664
+ properties: properties$4,
665
+ required: required$4,
666
+ additionalProperties: additionalProperties$4
667
+ };
668
+
669
+ var $schema$3 = "https://json-schema.org/draft/2020-12/schema";
670
+ var $id$3 = "https://schema.twindev.org/gaia-x/Endpoint";
671
+ var description$3 = "Endpoint as defined by the Gaia-X ontology. https://docs.gaia-x.eu/ontology/development/classes/Endpoint";
672
+ var type$3 = "object";
673
+ var properties$3 = {
674
+ "@context": {
675
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
676
+ },
677
+ "@id": {
678
+ anyOf: [
679
+ {
680
+ type: "string"
681
+ },
682
+ {
683
+ type: "array",
684
+ items: false,
685
+ prefixItems: [
686
+ {
687
+ type: "string"
688
+ }
689
+ ]
690
+ }
691
+ ]
692
+ },
693
+ "@included": {
694
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
695
+ },
696
+ "@graph": {
697
+ anyOf: [
698
+ {
699
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
700
+ },
701
+ {
702
+ type: "array",
703
+ items: false,
704
+ prefixItems: [
705
+ {
706
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
707
+ }
708
+ ]
709
+ }
710
+ ]
711
+ },
712
+ "@nest": {
713
+ anyOf: [
714
+ {
715
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
716
+ },
717
+ {
718
+ type: "array",
719
+ items: false,
720
+ prefixItems: [
721
+ {
722
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
723
+ }
724
+ ]
725
+ }
726
+ ]
727
+ },
728
+ "@type": {
729
+ anyOf: [
730
+ {
731
+ type: "string"
732
+ },
733
+ {
734
+ type: "array",
735
+ items: false,
736
+ prefixItems: [
737
+ {
738
+ type: "string"
739
+ }
740
+ ]
741
+ }
742
+ ]
743
+ },
744
+ "@reverse": {
745
+ type: "object",
746
+ additionalProperties: {
747
+ type: "string"
748
+ }
749
+ },
750
+ "@index": {
751
+ type: "string"
752
+ },
753
+ type: {
754
+ type: "string",
755
+ "const": "Endpoint",
756
+ description: "The type of JSON-LD node. In this case it is allowed to be omitted as it is usually a child node."
757
+ },
758
+ endpointURL: {
759
+ type: "string",
760
+ description: "The endpoint URL"
761
+ },
762
+ formalDescription: {
763
+ type: "string",
764
+ description: "The formal description"
765
+ },
766
+ standardConformity: {
767
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject",
768
+ description: "Standards conformity"
769
+ }
770
+ };
771
+ var required$3 = [
772
+ "endpointURL"
773
+ ];
774
+ var additionalProperties$3 = {
775
+ anyOf: [
776
+ {
777
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
778
+ },
779
+ {
780
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
781
+ },
782
+ {
783
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
784
+ },
785
+ {
786
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
787
+ },
788
+ {
789
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
790
+ },
791
+ {
792
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
793
+ },
794
+ {
795
+ type: "array"
796
+ }
797
+ ]
798
+ };
799
+ var EndpointSchema = {
800
+ $schema: $schema$3,
801
+ $id: $id$3,
802
+ description: description$3,
803
+ type: type$3,
804
+ properties: properties$3,
805
+ required: required$3,
806
+ additionalProperties: additionalProperties$3
807
+ };
808
+
809
+ var $schema$2 = "https://json-schema.org/draft/2020-12/schema";
810
+ var $id$2 = "https://schema.twindev.org/gaia-x/Participant";
811
+ var description$2 = "A Legal Person participating in the ecosystem";
812
+ var type$2 = "object";
813
+ var properties$2 = {
814
+ "@context": {
815
+ $ref: "https://schema.twindev.org/gaia-x/GaiaXContextType",
816
+ description: "The LD context"
817
+ },
818
+ "@id": {
819
+ anyOf: [
820
+ {
821
+ type: "string"
822
+ },
823
+ {
824
+ type: "array",
825
+ items: false,
826
+ prefixItems: [
827
+ {
828
+ type: "string"
829
+ }
830
+ ]
831
+ }
832
+ ]
833
+ },
834
+ "@included": {
835
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
836
+ },
837
+ "@graph": {
838
+ anyOf: [
839
+ {
840
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
841
+ },
842
+ {
843
+ type: "array",
844
+ items: false,
845
+ prefixItems: [
846
+ {
847
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
848
+ }
849
+ ]
850
+ }
851
+ ]
852
+ },
853
+ "@nest": {
854
+ anyOf: [
855
+ {
856
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
857
+ },
858
+ {
859
+ type: "array",
860
+ items: false,
861
+ prefixItems: [
862
+ {
863
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
864
+ }
865
+ ]
866
+ }
867
+ ]
868
+ },
869
+ "@type": {
870
+ anyOf: [
871
+ {
872
+ type: "string"
873
+ },
874
+ {
875
+ type: "array",
876
+ items: false,
877
+ prefixItems: [
878
+ {
879
+ type: "string"
880
+ }
881
+ ]
882
+ }
883
+ ]
884
+ },
885
+ "@reverse": {
886
+ type: "object",
887
+ additionalProperties: {
888
+ type: "string"
889
+ }
890
+ },
891
+ "@index": {
892
+ type: "string"
893
+ },
894
+ id: {
895
+ type: "string",
896
+ description: "The participant Id."
897
+ },
898
+ type: {
899
+ type: "string",
900
+ "const": "LegalPerson",
901
+ description: "JSON-LD type."
902
+ },
903
+ registrationNumber: {
904
+ $ref: "https://schema.twindev.org/gaia-x/RegistrationNumber",
905
+ description: "The legal registration number."
906
+ },
907
+ legalName: {
908
+ type: "string",
909
+ description: "The legal name."
910
+ },
911
+ legalAddress: {
912
+ $ref: "https://schema.twindev.org/gaia-x/Address",
913
+ description: "Legal Address"
914
+ }
915
+ };
916
+ var required$2 = [
917
+ "@context",
918
+ "id",
919
+ "type",
920
+ "registrationNumber",
921
+ "legalName",
922
+ "legalAddress"
923
+ ];
924
+ var additionalProperties$2 = {
925
+ anyOf: [
926
+ {
927
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
928
+ },
929
+ {
930
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
931
+ },
932
+ {
933
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
934
+ },
935
+ {
936
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
937
+ },
938
+ {
939
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
940
+ },
941
+ {
942
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
943
+ },
944
+ {
945
+ type: "array"
946
+ }
947
+ ]
948
+ };
949
+ var ParticipantSchema = {
950
+ $schema: $schema$2,
951
+ $id: $id$2,
952
+ description: description$2,
953
+ type: type$2,
954
+ properties: properties$2,
955
+ required: required$2,
956
+ additionalProperties: additionalProperties$2
957
+ };
958
+
959
+ var $schema$1 = "https://json-schema.org/draft/2020-12/schema";
960
+ var $id$1 = "https://schema.twindev.org/gaia-x/RegistrationNumber";
961
+ var description$1 = "Registration Number as defined by the Gaia-X ontology. https://docs.gaia-x.eu/ontology/development/classes/RegistrationNumber/";
962
+ var type$1 = "object";
963
+ var properties$1 = {
964
+ "@context": {
965
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
966
+ },
967
+ "@id": {
968
+ anyOf: [
969
+ {
970
+ type: "string"
971
+ },
972
+ {
973
+ type: "array",
974
+ items: false,
975
+ prefixItems: [
976
+ {
977
+ type: "string"
978
+ }
979
+ ]
980
+ }
981
+ ]
982
+ },
983
+ "@included": {
984
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
985
+ },
986
+ "@graph": {
987
+ anyOf: [
988
+ {
989
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
990
+ },
991
+ {
992
+ type: "array",
993
+ items: false,
994
+ prefixItems: [
995
+ {
996
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
997
+ }
998
+ ]
999
+ }
1000
+ ]
1001
+ },
1002
+ "@nest": {
1003
+ anyOf: [
1004
+ {
1005
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1006
+ },
1007
+ {
1008
+ type: "array",
1009
+ items: false,
1010
+ prefixItems: [
1011
+ {
1012
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1013
+ }
1014
+ ]
1015
+ }
1016
+ ]
1017
+ },
1018
+ "@type": {
1019
+ anyOf: [
1020
+ {
1021
+ type: "string"
1022
+ },
1023
+ {
1024
+ type: "array",
1025
+ items: false,
1026
+ prefixItems: [
1027
+ {
1028
+ type: "string"
1029
+ }
1030
+ ]
1031
+ }
1032
+ ]
1033
+ },
1034
+ "@reverse": {
1035
+ type: "object",
1036
+ additionalProperties: {
1037
+ type: "string"
1038
+ }
1039
+ },
1040
+ "@index": {
1041
+ type: "string"
1042
+ },
1043
+ type: {
1044
+ type: "string",
1045
+ "enum": [
1046
+ "RegistrationNumber",
1047
+ "LocalRegistrationNumber",
1048
+ "EORI",
1049
+ "EUID",
1050
+ "LeiCode",
1051
+ "TaxID",
1052
+ "VatID"
1053
+ ],
1054
+ description: "JSON-LD Type."
1055
+ },
1056
+ local: {
1057
+ type: "string",
1058
+ description: "Local Registration."
1059
+ },
1060
+ countryCode: {
1061
+ type: "string",
1062
+ description: "Country code. See https://docs.gaia-x.eu/ontology/development/enums/CountryNameAlpha2/"
1063
+ },
1064
+ subdivisionCountryCode: {
1065
+ type: "string",
1066
+ description: "Subdivision country code. See https://docs.gaia-x.eu/ontology/development/enums/RegionCode/"
1067
+ },
1068
+ vatID: {
1069
+ type: "string",
1070
+ description: "The VAT identification number."
1071
+ },
1072
+ leiCode: {
1073
+ type: "string",
1074
+ description: "Unique LEI number as defined by GLEIF."
1075
+ },
1076
+ eori: {
1077
+ type: "string",
1078
+ description: "The Economic Operators Registration and Identification number (EORI)."
1079
+ },
1080
+ country: {
1081
+ type: "string",
1082
+ description: "The country where the EORI is registered written in plain english"
1083
+ },
1084
+ euid: {
1085
+ type: "string",
1086
+ description: "The European Unique Identifier (EUID) for business located in the European Ec."
1087
+ },
1088
+ taxId: {
1089
+ type: "string",
1090
+ description: "The company tax ID."
1091
+ }
1092
+ };
1093
+ var required$1 = [
1094
+ "type"
1095
+ ];
1096
+ var additionalProperties$1 = {
1097
+ anyOf: [
1098
+ {
1099
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
1100
+ },
1101
+ {
1102
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
1103
+ },
1104
+ {
1105
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
1106
+ },
1107
+ {
1108
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1109
+ },
1110
+ {
1111
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
1112
+ },
1113
+ {
1114
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
1115
+ },
1116
+ {
1117
+ type: "array"
1118
+ }
1119
+ ]
1120
+ };
1121
+ var RegistrationNumberSchema = {
1122
+ $schema: $schema$1,
1123
+ $id: $id$1,
1124
+ description: description$1,
1125
+ type: type$1,
1126
+ properties: properties$1,
1127
+ required: required$1,
1128
+ additionalProperties: additionalProperties$1
1129
+ };
1130
+
1131
+ var $schema = "https://json-schema.org/draft/2020-12/schema";
1132
+ var $id = "https://schema.twindev.org/gaia-x/ServiceOffering";
1133
+ var description = "A Service offering";
1134
+ var type = "object";
1135
+ var properties = {
1136
+ "@context": {
1137
+ $ref: "https://schema.twindev.org/gaia-x/GaiaXContextType",
1138
+ description: "The LD context"
1139
+ },
1140
+ "@id": {
1141
+ anyOf: [
1142
+ {
1143
+ type: "string"
1144
+ },
1145
+ {
1146
+ type: "array",
1147
+ items: false,
1148
+ prefixItems: [
1149
+ {
1150
+ type: "string"
1151
+ }
1152
+ ]
1153
+ }
1154
+ ]
1155
+ },
1156
+ "@included": {
1157
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1158
+ },
1159
+ "@graph": {
1160
+ anyOf: [
1161
+ {
1162
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1163
+ },
1164
+ {
1165
+ type: "array",
1166
+ items: false,
1167
+ prefixItems: [
1168
+ {
1169
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1170
+ }
1171
+ ]
1172
+ }
1173
+ ]
1174
+ },
1175
+ "@nest": {
1176
+ anyOf: [
1177
+ {
1178
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1179
+ },
1180
+ {
1181
+ type: "array",
1182
+ items: false,
1183
+ prefixItems: [
1184
+ {
1185
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1186
+ }
1187
+ ]
1188
+ }
1189
+ ]
1190
+ },
1191
+ "@type": {
1192
+ anyOf: [
1193
+ {
1194
+ type: "string"
1195
+ },
1196
+ {
1197
+ type: "array",
1198
+ items: false,
1199
+ prefixItems: [
1200
+ {
1201
+ type: "string"
1202
+ }
1203
+ ]
1204
+ }
1205
+ ]
1206
+ },
1207
+ "@reverse": {
1208
+ type: "object",
1209
+ additionalProperties: {
1210
+ type: "string"
1211
+ }
1212
+ },
1213
+ "@index": {
1214
+ type: "string"
1215
+ },
1216
+ id: {
1217
+ type: "string",
1218
+ description: "Id"
1219
+ },
1220
+ type: {
1221
+ type: "string",
1222
+ "const": "ServiceOffering",
1223
+ description: "Type"
1224
+ },
1225
+ description: {
1226
+ type: "string",
1227
+ description: "Description"
1228
+ },
1229
+ name: {
1230
+ type: "string",
1231
+ description: "Name"
1232
+ },
1233
+ providedBy: {
1234
+ anyOf: [
1235
+ {
1236
+ type: "string"
1237
+ },
1238
+ {
1239
+ $ref: "https://schema.twindev.org/gaia-x/Participant"
1240
+ },
1241
+ {
1242
+ type: "object",
1243
+ additionalProperties: {
1244
+ anyOf: [
1245
+ {
1246
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
1247
+ },
1248
+ {
1249
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
1250
+ },
1251
+ {
1252
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
1253
+ },
1254
+ {
1255
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1256
+ },
1257
+ {
1258
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
1259
+ },
1260
+ {
1261
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
1262
+ },
1263
+ {
1264
+ type: "array"
1265
+ }
1266
+ ]
1267
+ },
1268
+ properties: {
1269
+ id: {
1270
+ type: "string"
1271
+ },
1272
+ type: {
1273
+ type: "string",
1274
+ "const": "LegalPerson"
1275
+ },
1276
+ "@context": {
1277
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
1278
+ },
1279
+ "@id": {
1280
+ anyOf: [
1281
+ {
1282
+ type: "string"
1283
+ },
1284
+ {
1285
+ type: "array",
1286
+ items: false,
1287
+ prefixItems: [
1288
+ {
1289
+ type: "string"
1290
+ }
1291
+ ]
1292
+ }
1293
+ ]
1294
+ },
1295
+ "@included": {
1296
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1297
+ },
1298
+ "@graph": {
1299
+ anyOf: [
1300
+ {
1301
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1302
+ },
1303
+ {
1304
+ type: "array",
1305
+ items: false,
1306
+ prefixItems: [
1307
+ {
1308
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1309
+ }
1310
+ ]
1311
+ }
1312
+ ]
1313
+ },
1314
+ "@nest": {
1315
+ anyOf: [
1316
+ {
1317
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1318
+ },
1319
+ {
1320
+ type: "array",
1321
+ items: false,
1322
+ prefixItems: [
1323
+ {
1324
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1325
+ }
1326
+ ]
1327
+ }
1328
+ ]
1329
+ },
1330
+ "@type": {
1331
+ anyOf: [
1332
+ {
1333
+ type: "string"
1334
+ },
1335
+ {
1336
+ type: "array",
1337
+ items: false,
1338
+ prefixItems: [
1339
+ {
1340
+ type: "string"
1341
+ }
1342
+ ]
1343
+ }
1344
+ ]
1345
+ },
1346
+ "@reverse": {
1347
+ type: "object",
1348
+ additionalProperties: {
1349
+ type: "string"
1350
+ }
1351
+ },
1352
+ "@index": {
1353
+ type: "string"
1354
+ }
1355
+ },
1356
+ required: [
1357
+ "id",
1358
+ "type"
1359
+ ]
1360
+ }
1361
+ ],
1362
+ description: "Participant that provides the offering"
1363
+ },
1364
+ servicePolicy: {
1365
+ $ref: "https://schema.twindev.org/gaia-x/ObjectOrArray%3CIJsonLdNodeObject%3E",
1366
+ description: "ODRL policy associated to the service offering"
1367
+ },
1368
+ aggregationOfResources: {
1369
+ anyOf: [
1370
+ {
1371
+ type: "array",
1372
+ items: false,
1373
+ prefixItems: [
1374
+ {
1375
+ type: "string"
1376
+ }
1377
+ ]
1378
+ },
1379
+ {
1380
+ type: "array",
1381
+ items: false,
1382
+ prefixItems: [
1383
+ {
1384
+ $ref: "https://schema.twindev.org/gaia-x/DataResource"
1385
+ }
1386
+ ]
1387
+ },
1388
+ {
1389
+ type: "object",
1390
+ additionalProperties: {
1391
+ anyOf: [
1392
+ {
1393
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
1394
+ },
1395
+ {
1396
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
1397
+ },
1398
+ {
1399
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
1400
+ },
1401
+ {
1402
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1403
+ },
1404
+ {
1405
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
1406
+ },
1407
+ {
1408
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
1409
+ },
1410
+ {
1411
+ type: "array"
1412
+ }
1413
+ ]
1414
+ },
1415
+ properties: {
1416
+ id: {
1417
+ type: "string"
1418
+ },
1419
+ type: {
1420
+ type: "string",
1421
+ "const": "DataResource"
1422
+ },
1423
+ "@context": {
1424
+ $ref: "https://schema.twindev.org/json-ld/JsonLdContextDefinitionRoot"
1425
+ },
1426
+ "@id": {
1427
+ anyOf: [
1428
+ {
1429
+ type: "string"
1430
+ },
1431
+ {
1432
+ type: "array",
1433
+ items: false,
1434
+ prefixItems: [
1435
+ {
1436
+ type: "string"
1437
+ }
1438
+ ]
1439
+ }
1440
+ ]
1441
+ },
1442
+ "@included": {
1443
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1444
+ },
1445
+ "@graph": {
1446
+ anyOf: [
1447
+ {
1448
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1449
+ },
1450
+ {
1451
+ type: "array",
1452
+ items: false,
1453
+ prefixItems: [
1454
+ {
1455
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodeObject"
1456
+ }
1457
+ ]
1458
+ }
1459
+ ]
1460
+ },
1461
+ "@nest": {
1462
+ anyOf: [
1463
+ {
1464
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1465
+ },
1466
+ {
1467
+ type: "array",
1468
+ items: false,
1469
+ prefixItems: [
1470
+ {
1471
+ $ref: "https://schema.twindev.org/json-ld/JsonLdJsonObject"
1472
+ }
1473
+ ]
1474
+ }
1475
+ ]
1476
+ },
1477
+ "@type": {
1478
+ anyOf: [
1479
+ {
1480
+ type: "string"
1481
+ },
1482
+ {
1483
+ type: "array",
1484
+ items: false,
1485
+ prefixItems: [
1486
+ {
1487
+ type: "string"
1488
+ }
1489
+ ]
1490
+ }
1491
+ ]
1492
+ },
1493
+ "@reverse": {
1494
+ type: "object",
1495
+ additionalProperties: {
1496
+ type: "string"
1497
+ }
1498
+ },
1499
+ "@index": {
1500
+ type: "string"
1501
+ }
1502
+ },
1503
+ required: [
1504
+ "id",
1505
+ "type"
1506
+ ]
1507
+ }
1508
+ ],
1509
+ description: "Resources aggregated It is supported different representations, inline, by reference both providing the URI or a partial JSON-LD Node object"
1510
+ },
1511
+ endpoint: {
1512
+ $ref: "https://schema.twindev.org/gaia-x/Endpoint",
1513
+ description: "The endpoint"
1514
+ }
1515
+ };
1516
+ var required = [
1517
+ "@context",
1518
+ "id",
1519
+ "type",
1520
+ "name",
1521
+ "providedBy",
1522
+ "servicePolicy",
1523
+ "endpoint"
1524
+ ];
1525
+ var additionalProperties = {
1526
+ anyOf: [
1527
+ {
1528
+ $ref: "https://schema.twindev.org/json-ld/JsonLdNodePrimitive"
1529
+ },
1530
+ {
1531
+ $ref: "https://schema.twindev.org/json-ld/JsonLdLanguageMap"
1532
+ },
1533
+ {
1534
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIndexMap"
1535
+ },
1536
+ {
1537
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIncludedBlock"
1538
+ },
1539
+ {
1540
+ $ref: "https://schema.twindev.org/json-ld/JsonLdIdMap"
1541
+ },
1542
+ {
1543
+ $ref: "https://schema.twindev.org/json-ld/JsonLdTypeMap"
1544
+ },
1545
+ {
1546
+ type: "array"
1547
+ }
1548
+ ]
1549
+ };
1550
+ var ServiceOfferingSchema = {
1551
+ $schema: $schema,
1552
+ $id: $id,
1553
+ description: description,
1554
+ type: type,
1555
+ properties: properties,
1556
+ required: required,
1557
+ additionalProperties: additionalProperties
1558
+ };
1559
+
1560
+ // Copyright 2024 IOTA Stiftung.
1561
+ // SPDX-License-Identifier: Apache-2.0.
1562
+ /**
1563
+ * Handle all the data types for Gaia-X.
1564
+ */
1565
+ class GaiaXDataTypes {
1566
+ /**
1567
+ * Register all the data types.
1568
+ */
1569
+ static registerTypes() {
1570
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataExchangeComponent}`, () => ({
1571
+ context: GaiaXContexts.ContextRoot,
1572
+ type: GaiaXTypes.DataExchangeComponent,
1573
+ jsonSchema: async () => DataExchangeComponentSchema
1574
+ }));
1575
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.DataResource}`, () => ({
1576
+ context: GaiaXContexts.ContextRoot,
1577
+ type: GaiaXTypes.DataResource,
1578
+ jsonSchema: async () => DataResourceSchema
1579
+ }));
1580
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Endpoint}`, () => ({
1581
+ context: GaiaXContexts.ContextRoot,
1582
+ type: GaiaXTypes.Endpoint,
1583
+ jsonSchema: async () => EndpointSchema
1584
+ }));
1585
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Address}`, () => ({
1586
+ context: GaiaXContexts.ContextRoot,
1587
+ type: GaiaXTypes.Address,
1588
+ jsonSchema: async () => AddressSchema
1589
+ }));
1590
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.ServiceOffering}`, () => ({
1591
+ context: GaiaXContexts.ContextRoot,
1592
+ type: GaiaXTypes.ServiceOffering,
1593
+ jsonSchema: async () => ServiceOfferingSchema
1594
+ }));
1595
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.Participant}`, () => ({
1596
+ context: GaiaXContexts.ContextRoot,
1597
+ type: GaiaXTypes.Participant,
1598
+ jsonSchema: async () => ParticipantSchema
1599
+ }));
1600
+ DataTypeHandlerFactory.register(`${GaiaXContexts.ContextRoot}${GaiaXTypes.RegistrationNumber}`, () => ({
1601
+ context: GaiaXContexts.ContextRoot,
1602
+ type: GaiaXTypes.RegistrationNumber,
1603
+ jsonSchema: async () => RegistrationNumberSchema
1604
+ }));
1605
+ }
1606
+ }
1607
+
1608
+ export { GaiaXContexts, GaiaXDataTypes, GaiaXTypes };