@twin.org/standards-dataspace-protocol 0.0.3-next.53 → 0.0.3-next.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/dist/es/dataTypes/catalogDataTypes.js +18 -39
  2. package/dist/es/dataTypes/catalogDataTypes.js.map +1 -1
  3. package/dist/es/dataTypes/dataspaceProtocolDataTypes.js +6 -0
  4. package/dist/es/dataTypes/dataspaceProtocolDataTypes.js.map +1 -1
  5. package/dist/es/index.js +10 -13
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js +1 -33
  8. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js.map +1 -1
  9. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js.map +1 -1
  10. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.js.map +1 -1
  11. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.js.map +1 -1
  12. package/dist/es/models/dataspaceProtocolContextType.js.map +1 -1
  13. package/dist/es/models/dcat3/IDataspaceProtocolCatalog.js.map +1 -1
  14. package/dist/es/models/dcat3/IDataspaceProtocolCatalogBase.js +2 -0
  15. package/dist/es/models/dcat3/IDataspaceProtocolCatalogBase.js.map +1 -0
  16. package/dist/es/models/dcat3/IDataspaceProtocolDataService.js.map +1 -1
  17. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceBase.js +2 -0
  18. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceBase.js.map +1 -0
  19. package/dist/es/models/dcat3/IDataspaceProtocolDataset.js.map +1 -1
  20. package/dist/es/models/dcat3/IDataspaceProtocolDatasetBase.js +2 -0
  21. package/dist/es/models/dcat3/IDataspaceProtocolDatasetBase.js.map +1 -0
  22. package/dist/es/models/dcat3/IDataspaceProtocolDistribution.js.map +1 -1
  23. package/dist/es/models/dcat3/IDataspaceProtocolDistributionBase.js +2 -0
  24. package/dist/es/models/dcat3/IDataspaceProtocolDistributionBase.js.map +1 -0
  25. package/dist/es/models/odrl/IDataspaceProtocolOffer.js.map +1 -1
  26. package/dist/es/models/odrl/IDataspaceProtocolOfferBase.js +2 -0
  27. package/dist/es/models/odrl/IDataspaceProtocolOfferBase.js.map +1 -0
  28. package/dist/es/schemas/DataspaceProtocolAgreement.json +181 -158
  29. package/dist/es/schemas/DataspaceProtocolCatalog.json +13 -3
  30. package/dist/es/schemas/DataspaceProtocolCatalogBase.json +428 -0
  31. package/dist/es/schemas/DataspaceProtocolCatalogError.json +4 -50
  32. package/dist/es/schemas/DataspaceProtocolCatalogRequestMessage.json +4 -50
  33. package/dist/es/schemas/DataspaceProtocolContextType.json +30 -0
  34. package/dist/es/schemas/DataspaceProtocolContractAgreementMessage.json +191 -52
  35. package/dist/es/schemas/DataspaceProtocolContractAgreementVerificationMessage.json +4 -50
  36. package/dist/es/schemas/DataspaceProtocolContractNegotiation.json +4 -50
  37. package/dist/es/schemas/DataspaceProtocolContractNegotiationError.json +4 -50
  38. package/dist/es/schemas/DataspaceProtocolContractNegotiationEventMessage.json +4 -50
  39. package/dist/es/schemas/DataspaceProtocolContractNegotiationEventType.json +11 -5
  40. package/dist/es/schemas/DataspaceProtocolContractNegotiationStateType.json +31 -10
  41. package/dist/es/schemas/DataspaceProtocolContractNegotiationTerminationMessage.json +4 -50
  42. package/dist/es/schemas/DataspaceProtocolContractOfferMessage.json +5 -51
  43. package/dist/es/schemas/DataspaceProtocolContractRequestMessage.json +5 -51
  44. package/dist/es/schemas/DataspaceProtocolDataAddress.json +2 -2
  45. package/dist/es/schemas/DataspaceProtocolDataService.json +21 -0
  46. package/dist/es/schemas/DataspaceProtocolDataServiceBase.json +285 -0
  47. package/dist/es/schemas/DataspaceProtocolDataset.json +13 -3
  48. package/dist/es/schemas/DataspaceProtocolDatasetBase.json +342 -0
  49. package/dist/es/schemas/DataspaceProtocolDatasetRequestMessage.json +4 -50
  50. package/dist/es/schemas/DataspaceProtocolDistribution.json +26 -0
  51. package/dist/es/schemas/DataspaceProtocolDistributionBase.json +170 -0
  52. package/dist/es/schemas/DataspaceProtocolEndpointProperty.json +2 -2
  53. package/dist/es/schemas/DataspaceProtocolOffer.json +10 -186
  54. package/dist/es/schemas/DataspaceProtocolOfferBase.json +219 -0
  55. package/dist/es/schemas/DataspaceProtocolPolicy.json +214 -202
  56. package/dist/es/schemas/DataspaceProtocolSet.json +225 -202
  57. package/dist/es/schemas/DataspaceProtocolTransferCompletionMessage.json +4 -50
  58. package/dist/es/schemas/DataspaceProtocolTransferError.json +4 -50
  59. package/dist/es/schemas/DataspaceProtocolTransferProcess.json +4 -50
  60. package/dist/es/schemas/DataspaceProtocolTransferRequestMessage.json +6 -52
  61. package/dist/es/schemas/DataspaceProtocolTransferStartMessage.json +5 -51
  62. package/dist/es/schemas/DataspaceProtocolTransferSuspensionMessage.json +4 -50
  63. package/dist/es/schemas/DataspaceProtocolTransferTerminationMessage.json +4 -50
  64. package/dist/es/utils/dataspaceProtocolHelper.js +27 -29
  65. package/dist/es/utils/dataspaceProtocolHelper.js.map +1 -1
  66. package/dist/types/index.d.ts +10 -13
  67. package/dist/types/models/catalog/dataspaceProtocolCatalogTypes.d.ts +0 -32
  68. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.d.ts +3 -2
  69. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.d.ts +2 -2
  70. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.d.ts +2 -2
  71. package/dist/types/models/dataspaceProtocolContextType.d.ts +2 -9
  72. package/dist/types/models/dcat3/IDataspaceProtocolCatalog.d.ts +2 -37
  73. package/dist/types/models/dcat3/IDataspaceProtocolCatalogBase.d.ts +58 -0
  74. package/dist/types/models/dcat3/IDataspaceProtocolDataService.d.ts +2 -22
  75. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceBase.d.ts +44 -0
  76. package/dist/types/models/dcat3/IDataspaceProtocolDataset.d.ts +2 -29
  77. package/dist/types/models/dcat3/IDataspaceProtocolDatasetBase.d.ts +61 -0
  78. package/dist/types/models/dcat3/IDataspaceProtocolDistribution.d.ts +4 -31
  79. package/dist/types/models/dcat3/IDataspaceProtocolDistributionBase.d.ts +66 -0
  80. package/dist/types/models/odrl/IDataspaceProtocolOffer.d.ts +7 -2
  81. package/dist/types/models/odrl/IDataspaceProtocolOfferBase.d.ts +18 -0
  82. package/dist/types/utils/dataspaceProtocolHelper.d.ts +2 -3
  83. package/docs/changelog.md +35 -0
  84. package/docs/examples.md +2 -4
  85. package/docs/reference/classes/CatalogDataTypes.md +1 -1
  86. package/docs/reference/classes/ContractNegotiationDataTypes.md +1 -1
  87. package/docs/reference/classes/DataspaceProtocolDataTypes.md +2 -2
  88. package/docs/reference/classes/DataspaceProtocolHelper.md +5 -11
  89. package/docs/reference/classes/TransferProcessDataTypes.md +1 -1
  90. package/docs/reference/index.md +5 -8
  91. package/docs/reference/interfaces/IDataspaceProtocolAgreement.md +20 -20
  92. package/docs/reference/interfaces/IDataspaceProtocolCatalog.md +110 -86
  93. package/docs/reference/interfaces/IDataspaceProtocolCatalogBase.md +570 -0
  94. package/docs/reference/interfaces/IDataspaceProtocolCatalogError.md +4 -4
  95. package/docs/reference/interfaces/IDataspaceProtocolCatalogRequestMessage.md +3 -3
  96. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementMessage.md +7 -7
  97. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementVerificationMessage.md +4 -4
  98. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiation.md +5 -5
  99. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationError.md +6 -6
  100. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationEventMessage.md +5 -5
  101. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationTerminationMessage.md +6 -6
  102. package/docs/reference/interfaces/IDataspaceProtocolContractOfferMessage.md +7 -7
  103. package/docs/reference/interfaces/IDataspaceProtocolContractRequestMessage.md +7 -7
  104. package/docs/reference/interfaces/IDataspaceProtocolDataAddress.md +4 -4
  105. package/docs/reference/interfaces/IDataspaceProtocolDataService.md +70 -58
  106. package/docs/reference/interfaces/IDataspaceProtocolDataServiceBase.md +387 -0
  107. package/docs/reference/interfaces/IDataspaceProtocolDataset.md +80 -68
  108. package/docs/reference/interfaces/IDataspaceProtocolDatasetBase.md +484 -0
  109. package/docs/reference/interfaces/IDataspaceProtocolDatasetRequestMessage.md +3 -3
  110. package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +72 -56
  111. package/docs/reference/interfaces/IDataspaceProtocolDistributionBase.md +381 -0
  112. package/docs/reference/interfaces/IDataspaceProtocolEndpointProperty.md +3 -3
  113. package/docs/reference/interfaces/IDataspaceProtocolOffer.md +43 -44
  114. package/docs/reference/interfaces/IDataspaceProtocolOfferBase.md +171 -0
  115. package/docs/reference/interfaces/IDataspaceProtocolPolicy.md +22 -22
  116. package/docs/reference/interfaces/IDataspaceProtocolSet.md +22 -22
  117. package/docs/reference/interfaces/IDataspaceProtocolTransferCompletionMessage.md +4 -4
  118. package/docs/reference/interfaces/IDataspaceProtocolTransferError.md +6 -6
  119. package/docs/reference/interfaces/IDataspaceProtocolTransferProcess.md +5 -5
  120. package/docs/reference/interfaces/IDataspaceProtocolTransferRequestMessage.md +7 -7
  121. package/docs/reference/interfaces/IDataspaceProtocolTransferStartMessage.md +5 -5
  122. package/docs/reference/interfaces/IDataspaceProtocolTransferSuspensionMessage.md +6 -6
  123. package/docs/reference/interfaces/IDataspaceProtocolTransferTerminationMessage.md +6 -6
  124. package/docs/reference/type-aliases/DataspaceProtocolContextType.md +1 -1
  125. package/docs/reference/variables/DataspaceProtocolCatalogTypes.md +11 -59
  126. package/docs/reference/variables/DataspaceProtocolContexts.md +4 -4
  127. package/docs/reference/variables/DataspaceProtocolContractNegotiationEventType.md +2 -2
  128. package/docs/reference/variables/DataspaceProtocolContractNegotiationStateType.md +7 -7
  129. package/docs/reference/variables/DataspaceProtocolContractNegotiationTypes.md +10 -10
  130. package/docs/reference/variables/DataspaceProtocolEndpointType.md +4 -4
  131. package/docs/reference/variables/DataspaceProtocolTransferProcessStateType.md +5 -5
  132. package/docs/reference/variables/DataspaceProtocolTransferProcessTypes.md +9 -9
  133. package/locales/en.json +3 -0
  134. package/package.json +3 -3
  135. package/dist/es/models/dcat3/IDataspaceProtocolCatalogNoContext.js +0 -2
  136. package/dist/es/models/dcat3/IDataspaceProtocolCatalogNoContext.js.map +0 -1
  137. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceNoContext.js +0 -2
  138. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceNoContext.js.map +0 -1
  139. package/dist/es/models/dcat3/IDataspaceProtocolDatasetNoContext.js +0 -2
  140. package/dist/es/models/dcat3/IDataspaceProtocolDatasetNoContext.js.map +0 -1
  141. package/dist/es/models/dcat3/IDataspaceProtocolDistributionNoContext.js +0 -2
  142. package/dist/es/models/dcat3/IDataspaceProtocolDistributionNoContext.js.map +0 -1
  143. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js +0 -2
  144. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js.map +0 -1
  145. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js +0 -2
  146. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js.map +0 -1
  147. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js +0 -2
  148. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js.map +0 -1
  149. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js +0 -2
  150. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js.map +0 -1
  151. package/dist/es/schemas/DataspaceProtocolAgreementNoContext.json +0 -6
  152. package/dist/es/schemas/DataspaceProtocolCatalogNoContext.json +0 -6
  153. package/dist/es/schemas/DataspaceProtocolDataServiceNoContext.json +0 -6
  154. package/dist/es/schemas/DataspaceProtocolDatasetNoContext.json +0 -6
  155. package/dist/es/schemas/DataspaceProtocolDistributionNoContext.json +0 -6
  156. package/dist/es/schemas/DataspaceProtocolOfferNoContext.json +0 -6
  157. package/dist/es/schemas/DataspaceProtocolPolicyNoContext.json +0 -6
  158. package/dist/es/schemas/DataspaceProtocolSetNoContext.json +0 -6
  159. package/dist/es/schemas-src/DataspaceProtocolDataService.json +0 -11
  160. package/dist/es/schemas-src/DataspaceProtocolDistribution.json +0 -11
  161. package/dist/types/models/dcat3/IDataspaceProtocolCatalogNoContext.d.ts +0 -5
  162. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceNoContext.d.ts +0 -5
  163. package/dist/types/models/dcat3/IDataspaceProtocolDatasetNoContext.d.ts +0 -5
  164. package/dist/types/models/dcat3/IDataspaceProtocolDistributionNoContext.d.ts +0 -5
  165. package/dist/types/models/odrl/IDataspaceProtocolAgreementNoContext.d.ts +0 -5
  166. package/dist/types/models/odrl/IDataspaceProtocolOfferNoContext.d.ts +0 -5
  167. package/dist/types/models/odrl/IDataspaceProtocolPolicyNoContext.d.ts +0 -5
  168. package/dist/types/models/odrl/IDataspaceProtocolSetNoContext.d.ts +0 -5
  169. package/docs/reference/type-aliases/IDataspaceProtocolAgreementNoContext.md +0 -5
  170. package/docs/reference/type-aliases/IDataspaceProtocolCatalogNoContext.md +0 -5
  171. package/docs/reference/type-aliases/IDataspaceProtocolDataServiceNoContext.md +0 -5
  172. package/docs/reference/type-aliases/IDataspaceProtocolDatasetNoContext.md +0 -5
  173. package/docs/reference/type-aliases/IDataspaceProtocolDistributionNoContext.md +0 -5
  174. package/docs/reference/type-aliases/IDataspaceProtocolOfferNoContext.md +0 -5
  175. package/docs/reference/type-aliases/IDataspaceProtocolPolicyNoContext.md +0 -5
  176. package/docs/reference/type-aliases/IDataspaceProtocolSetNoContext.md +0 -5
@@ -1,184 +1,207 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolAgreement",
4
+ "title": "DataspaceProtocolAgreement",
4
5
  "description": "Agreement interface compliant with Eclipse Data Space Protocol.\n\nExtends IOdrlAgreement with DS Protocol-specific constraints:\n- `@id` is REQUIRED (used as the primary agreement identifier in DS Protocol)\n- `@context` is omitted (inherited from the parent Dataset/Distribution)",
5
6
  "type": "object",
6
7
  "properties": {
7
- "@type": {
8
+ "@id": {
8
9
  "type": "string",
9
- "const": "Agreement",
10
- "description": "The type must be \"Agreement\"."
11
- },
12
- "assigner": {
13
- "anyOf": [
14
- {
15
- "type": "string"
16
- },
17
- {
18
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
19
- }
20
- ],
21
- "description": "The assigner of the agreement. Required for Agreement policies."
22
- },
23
- "assignee": {
24
- "anyOf": [
25
- {
26
- "type": "string"
10
+ "description": "Unique identifier for the agreement."
11
+ }
12
+ },
13
+ "required": [
14
+ "@id"
15
+ ],
16
+ "allOf": [
17
+ {
18
+ "description": "Interface representing an ODRL Agreement.\nAn Agreement requires both an assigner and assignee (both agreeing parties).\nhttps://www.w3.org/TR/odrl-model/#policy-agreement",
19
+ "type": "object",
20
+ "properties": {
21
+ "@context": {
22
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
23
+ "description": "The context for the policy.\nMust include \"https://www.w3.org/ns/odrl.jsonld\"",
24
+ "$comment": "Inherited from OdrlPolicy"
27
25
  },
28
- {
29
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
30
- }
31
- ],
32
- "description": "The assignee of the agreement. Required for Agreement policies."
33
- },
34
- "@context": {
35
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
36
- "description": "The context for the policy. Must include \"https://www.w3.org/ns/odrl.jsonld\""
37
- },
38
- "profile": {
39
- "anyOf": [
40
- {
41
- "type": "string"
26
+ "@type": {
27
+ "const": "Agreement",
28
+ "description": "The type must be \"Agreement\".",
29
+ "$comment": "Inherited from OdrlAgreement"
42
30
  },
43
- {
44
- "type": "array",
45
- "items": {
46
- "type": "string"
47
- }
48
- }
49
- ],
50
- "description": "The profile(s) this policy conforms to. IRIs identifying the ODRL Profile(s)."
51
- },
52
- "target": {
53
- "anyOf": [
54
- {
55
- "type": "string"
31
+ "profile": {
32
+ "anyOf": [
33
+ {
34
+ "type": "string"
35
+ },
36
+ {
37
+ "type": "array",
38
+ "items": {
39
+ "type": "string"
40
+ }
41
+ }
42
+ ],
43
+ "description": "The profile(s) this policy conforms to.\nIRIs identifying the ODRL Profile(s).",
44
+ "$comment": "Inherited from OdrlPolicy"
56
45
  },
57
- {
58
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
46
+ "assigner": {
47
+ "anyOf": [
48
+ {
49
+ "type": "string"
50
+ },
51
+ {
52
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
53
+ }
54
+ ],
55
+ "description": "The assigner of the agreement.\nRequired for Agreement policies.",
56
+ "$comment": "Inherited from OdrlAgreement"
59
57
  },
60
- {
61
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
58
+ "assignee": {
59
+ "anyOf": [
60
+ {
61
+ "type": "string"
62
+ },
63
+ {
64
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
65
+ }
66
+ ],
67
+ "description": "The assignee of the agreement.\nRequired for Agreement policies.",
68
+ "$comment": "Inherited from OdrlAgreement"
62
69
  },
63
- {
64
- "type": "array",
65
- "items": {
66
- "anyOf": [
67
- {
68
- "type": "string"
69
- },
70
- {
71
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
72
- },
73
- {
74
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
70
+ "target": {
71
+ "anyOf": [
72
+ {
73
+ "type": "string"
74
+ },
75
+ {
76
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
77
+ },
78
+ {
79
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
80
+ },
81
+ {
82
+ "type": "array",
83
+ "items": {
84
+ "anyOf": [
85
+ {
86
+ "type": "string"
87
+ },
88
+ {
89
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
90
+ },
91
+ {
92
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
93
+ }
94
+ ]
75
95
  }
76
- ]
77
- }
78
- }
79
- ],
80
- "description": "The target asset for the rule."
81
- },
82
- "action": {
83
- "anyOf": [
84
- {
85
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
86
- },
87
- {
88
- "type": "string"
96
+ }
97
+ ],
98
+ "description": "The target asset for the rule.",
99
+ "$comment": "Inherited from OdrlPolicy"
89
100
  },
90
- {
91
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
101
+ "action": {
102
+ "anyOf": [
103
+ {
104
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
105
+ },
106
+ {
107
+ "type": "string"
108
+ },
109
+ {
110
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
111
+ },
112
+ {
113
+ "type": "array",
114
+ "items": {
115
+ "anyOf": [
116
+ {
117
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
118
+ },
119
+ {
120
+ "type": "string"
121
+ },
122
+ {
123
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
124
+ }
125
+ ]
126
+ }
127
+ }
128
+ ],
129
+ "description": "The action associated with the rule.",
130
+ "$comment": "Inherited from OdrlPolicy"
92
131
  },
93
- {
94
- "type": "array",
95
- "items": {
96
- "anyOf": [
97
- {
98
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
99
- },
100
- {
132
+ "inheritFrom": {
133
+ "anyOf": [
134
+ {
135
+ "type": "string"
136
+ },
137
+ {
138
+ "type": "array",
139
+ "items": {
101
140
  "type": "string"
102
- },
103
- {
104
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
105
141
  }
106
- ]
107
- }
108
- }
109
- ],
110
- "description": "The action associated with the rule."
111
- },
112
- "inheritFrom": {
113
- "anyOf": [
114
- {
115
- "type": "string"
142
+ }
143
+ ],
144
+ "description": "The parent policy(ies) this policy inherits from.\nIRIs identifying the parent Policy(ies).",
145
+ "$comment": "Inherited from OdrlPolicy"
116
146
  },
117
- {
118
- "type": "array",
119
- "items": {
120
- "type": "string"
121
- }
122
- }
123
- ],
124
- "description": "The parent policy(ies) this policy inherits from. IRIs identifying the parent Policy(ies)."
125
- },
126
- "conflict": {
127
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyType",
128
- "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
129
- },
130
- "permission": {
131
- "anyOf": [
132
- {
133
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
147
+ "conflict": {
148
+ "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
149
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)",
150
+ "$comment": "Inherited from OdrlPolicy"
134
151
  },
135
- {
136
- "type": "array",
137
- "items": {
138
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
139
- }
140
- }
141
- ],
142
- "description": "The permissions in the policy. At least one of permission, prohibition, or obligation must be present."
143
- },
144
- "prohibition": {
145
- "anyOf": [
146
- {
147
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
152
+ "permission": {
153
+ "anyOf": [
154
+ {
155
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
156
+ },
157
+ {
158
+ "type": "array",
159
+ "items": {
160
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
161
+ }
162
+ }
163
+ ],
164
+ "description": "The permissions in the policy.\nAt least one of permission, prohibition, or obligation must be present.",
165
+ "$comment": "Inherited from OdrlPolicy"
148
166
  },
149
- {
150
- "type": "array",
151
- "items": {
152
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
153
- }
154
- }
155
- ],
156
- "description": "The prohibitions in the policy. At least one of permission, prohibition, or obligation must be present."
157
- },
158
- "obligation": {
159
- "anyOf": [
160
- {
161
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
167
+ "prohibition": {
168
+ "anyOf": [
169
+ {
170
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
171
+ },
172
+ {
173
+ "type": "array",
174
+ "items": {
175
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
176
+ }
177
+ }
178
+ ],
179
+ "description": "The prohibitions in the policy.\nAt least one of permission, prohibition, or obligation must be present.",
180
+ "$comment": "Inherited from OdrlPolicy"
162
181
  },
163
- {
164
- "type": "array",
165
- "items": {
166
- "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
167
- }
182
+ "obligation": {
183
+ "anyOf": [
184
+ {
185
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
186
+ },
187
+ {
188
+ "type": "array",
189
+ "items": {
190
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
191
+ }
192
+ }
193
+ ],
194
+ "description": "The obligations in the policy.\nAt least one of permission, prohibition, or obligation must be present.",
195
+ "$comment": "Inherited from OdrlPolicy"
168
196
  }
197
+ },
198
+ "required": [
199
+ "@context",
200
+ "@type",
201
+ "assigner",
202
+ "assignee"
169
203
  ],
170
- "description": "The obligations in the policy. At least one of permission, prohibition, or obligation must be present."
171
- },
172
- "@id": {
173
- "type": "string",
174
- "description": "Unique identifier for the agreement."
204
+ "$comment": "Inlined utility base type OdrlAgreement so utility transformations can operate on concrete properties instead of a $ref."
175
205
  }
176
- },
177
- "required": [
178
- "@context",
179
- "@id",
180
- "@type",
181
- "assignee",
182
- "assigner"
183
206
  ]
184
207
  }
@@ -1,11 +1,21 @@
1
1
  {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolCatalog",
4
- "description": "Catalog compliant with Eclipse Data Space Protocol. Validates only DS Protocol-specific requirements while allowing all optional DCAT properties.",
5
4
  "title": "DataspaceProtocolCatalog",
5
+ "description": "Catalog interface compliant with Eclipse Data Space Protocol.\n\nThis interface extends ICatalog and enforces DS Protocol-specific requirements\nby overriding properties with more specific types and constraints.\n\n**Requirements per DS Protocol:**\n- `@id` MUST be present for dataset identification (REQUIRED)\n- participantId MUST be present (REQUIRED)\n\n**Type System Design:**\n- Interface extension allows TypeScript to override inherited property types\n- Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n- DS Protocol-specific constraints are defined here",
6
+ "type": "object",
7
+ "properties": {
8
+ "@context": {
9
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolContextType",
10
+ "description": "LD Context. Required per Eclipse Data Space Protocol."
11
+ }
12
+ },
13
+ "required": [
14
+ "@context"
15
+ ],
6
16
  "allOf": [
7
17
  {
8
- "$ref": "https://w3id.org/dspace/2025/1/catalog/catalog-schema.json"
18
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolCatalogBase"
9
19
  }
10
20
  ]
11
21
  }