@twin.org/standards-dataspace-protocol 0.0.3-next.48 → 0.0.3-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.
Files changed (94) hide show
  1. package/dist/es/dataTypes/catalogDataTypes.js +50 -0
  2. package/dist/es/dataTypes/catalogDataTypes.js.map +1 -1
  3. package/dist/es/index.js +10 -0
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js +41 -1
  6. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js.map +1 -1
  7. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js.map +1 -1
  8. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.js.map +1 -1
  9. package/dist/es/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.js.map +1 -1
  10. package/dist/es/models/dcat3/IDataspaceProtocolCatalog.js.map +1 -1
  11. package/dist/es/models/dcat3/IDataspaceProtocolCatalogNoContext.js +2 -0
  12. package/dist/es/models/dcat3/IDataspaceProtocolCatalogNoContext.js.map +1 -0
  13. package/dist/es/models/dcat3/IDataspaceProtocolDataService.js.map +1 -1
  14. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceNoContext.js +2 -0
  15. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceNoContext.js.map +1 -0
  16. package/dist/es/models/dcat3/IDataspaceProtocolDataset.js.map +1 -1
  17. package/dist/es/models/dcat3/IDataspaceProtocolDatasetNoContext.js +2 -0
  18. package/dist/es/models/dcat3/IDataspaceProtocolDatasetNoContext.js.map +1 -0
  19. package/dist/es/models/dcat3/IDataspaceProtocolDistribution.js.map +1 -1
  20. package/dist/es/models/dcat3/IDataspaceProtocolDistributionNoContext.js +2 -0
  21. package/dist/es/models/dcat3/IDataspaceProtocolDistributionNoContext.js.map +1 -0
  22. package/dist/es/models/odrl/IDataspaceProtocolAgreement.js.map +1 -1
  23. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js +2 -0
  24. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js.map +1 -0
  25. package/dist/es/models/odrl/IDataspaceProtocolOffer.js.map +1 -1
  26. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js +2 -0
  27. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js.map +1 -0
  28. package/dist/es/models/odrl/IDataspaceProtocolPolicy.js +2 -0
  29. package/dist/es/models/odrl/IDataspaceProtocolPolicy.js.map +1 -0
  30. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js +2 -0
  31. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js.map +1 -0
  32. package/dist/es/models/odrl/IDataspaceProtocolSet.js +2 -0
  33. package/dist/es/models/odrl/IDataspaceProtocolSet.js.map +1 -0
  34. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js +2 -0
  35. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js.map +1 -0
  36. package/dist/es/schemas/DataspaceProtocolAgreement.json +22 -17
  37. package/dist/es/schemas/DataspaceProtocolAgreementNoContext.json +6 -0
  38. package/dist/es/schemas/DataspaceProtocolCatalogNoContext.json +6 -0
  39. package/dist/es/schemas/DataspaceProtocolContractAgreementMessage.json +1 -1
  40. package/dist/es/schemas/DataspaceProtocolContractOfferMessage.json +1 -1
  41. package/dist/es/schemas/DataspaceProtocolContractRequestMessage.json +1 -1
  42. package/dist/es/schemas/DataspaceProtocolDataServiceNoContext.json +6 -0
  43. package/dist/es/schemas/DataspaceProtocolDatasetNoContext.json +6 -0
  44. package/dist/es/schemas/DataspaceProtocolDistributionNoContext.json +6 -0
  45. package/dist/es/schemas/DataspaceProtocolOffer.json +25 -20
  46. package/dist/es/schemas/DataspaceProtocolOfferNoContext.json +6 -0
  47. package/dist/es/schemas/DataspaceProtocolPolicy.json +219 -0
  48. package/dist/es/schemas/DataspaceProtocolPolicyNoContext.json +6 -0
  49. package/dist/es/schemas/DataspaceProtocolSet.json +220 -0
  50. package/dist/es/schemas/DataspaceProtocolSetNoContext.json +6 -0
  51. package/dist/types/index.d.ts +10 -0
  52. package/dist/types/models/catalog/dataspaceProtocolCatalogTypes.d.ts +40 -0
  53. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.d.ts +2 -2
  54. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.d.ts +2 -2
  55. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.d.ts +2 -2
  56. package/dist/types/models/dcat3/IDataspaceProtocolCatalog.d.ts +8 -9
  57. package/dist/types/models/dcat3/IDataspaceProtocolCatalogNoContext.d.ts +5 -0
  58. package/dist/types/models/dcat3/IDataspaceProtocolDataService.d.ts +2 -4
  59. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceNoContext.d.ts +5 -0
  60. package/dist/types/models/dcat3/IDataspaceProtocolDataset.d.ts +5 -7
  61. package/dist/types/models/dcat3/IDataspaceProtocolDatasetNoContext.d.ts +5 -0
  62. package/dist/types/models/dcat3/IDataspaceProtocolDistribution.d.ts +4 -6
  63. package/dist/types/models/dcat3/IDataspaceProtocolDistributionNoContext.d.ts +5 -0
  64. package/dist/types/models/odrl/IDataspaceProtocolAgreement.d.ts +1 -1
  65. package/dist/types/models/odrl/IDataspaceProtocolAgreementNoContext.d.ts +5 -0
  66. package/dist/types/models/odrl/IDataspaceProtocolOffer.d.ts +1 -1
  67. package/dist/types/models/odrl/IDataspaceProtocolOfferNoContext.d.ts +5 -0
  68. package/dist/types/models/odrl/IDataspaceProtocolPolicy.d.ts +17 -0
  69. package/dist/types/models/odrl/IDataspaceProtocolPolicyNoContext.d.ts +5 -0
  70. package/dist/types/models/odrl/IDataspaceProtocolSet.d.ts +17 -0
  71. package/dist/types/models/odrl/IDataspaceProtocolSetNoContext.d.ts +5 -0
  72. package/docs/changelog.md +17 -0
  73. package/docs/reference/index.md +10 -0
  74. package/docs/reference/interfaces/IDataspaceProtocolAgreement.md +14 -1
  75. package/docs/reference/interfaces/IDataspaceProtocolCatalog.md +4 -4
  76. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementMessage.md +1 -1
  77. package/docs/reference/interfaces/IDataspaceProtocolContractOfferMessage.md +1 -1
  78. package/docs/reference/interfaces/IDataspaceProtocolContractRequestMessage.md +1 -1
  79. package/docs/reference/interfaces/IDataspaceProtocolDataService.md +1 -1
  80. package/docs/reference/interfaces/IDataspaceProtocolDataset.md +3 -3
  81. package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +2 -2
  82. package/docs/reference/interfaces/IDataspaceProtocolOffer.md +14 -1
  83. package/docs/reference/interfaces/IDataspaceProtocolPolicy.md +180 -0
  84. package/docs/reference/interfaces/IDataspaceProtocolSet.md +179 -0
  85. package/docs/reference/type-aliases/IDataspaceProtocolAgreementNoContext.md +5 -0
  86. package/docs/reference/type-aliases/IDataspaceProtocolCatalogNoContext.md +5 -0
  87. package/docs/reference/type-aliases/IDataspaceProtocolDataServiceNoContext.md +5 -0
  88. package/docs/reference/type-aliases/IDataspaceProtocolDatasetNoContext.md +5 -0
  89. package/docs/reference/type-aliases/IDataspaceProtocolDistributionNoContext.md +5 -0
  90. package/docs/reference/type-aliases/IDataspaceProtocolOfferNoContext.md +5 -0
  91. package/docs/reference/type-aliases/IDataspaceProtocolPolicyNoContext.md +5 -0
  92. package/docs/reference/type-aliases/IDataspaceProtocolSetNoContext.md +5 -0
  93. package/docs/reference/variables/DataspaceProtocolCatalogTypes.md +60 -0
  94. package/package.json +3 -3
@@ -0,0 +1,220 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolSet",
4
+ "description": "Set interface compliant with Eclipse Data Space Protocol.\n\nExtends IOdrlSet with DS Protocol-specific constraints:\n- `@id` is REQUIRED (used as the primary set identifier in DS Protocol)\n- `@context` is omitted (inherited from the parent Dataset/Distribution)",
5
+ "type": "object",
6
+ "properties": {
7
+ "@type": {
8
+ "type": "string",
9
+ "const": "Set",
10
+ "description": "The type must be \"Set\"."
11
+ },
12
+ "@context": {
13
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlContextType",
14
+ "description": "The context for the policy. Must include \"https://www.w3.org/ns/odrl.jsonld\""
15
+ },
16
+ "profile": {
17
+ "anyOf": [
18
+ {
19
+ "type": "string"
20
+ },
21
+ {
22
+ "type": "array",
23
+ "items": {
24
+ "type": "string"
25
+ }
26
+ }
27
+ ],
28
+ "description": "The profile(s) this policy conforms to. IRIs identifying the ODRL Profile(s)."
29
+ },
30
+ "assigner": {
31
+ "anyOf": [
32
+ {
33
+ "type": "string"
34
+ },
35
+ {
36
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
37
+ },
38
+ {
39
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
40
+ },
41
+ {
42
+ "type": "array",
43
+ "items": {
44
+ "anyOf": [
45
+ {
46
+ "type": "string"
47
+ },
48
+ {
49
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
50
+ },
51
+ {
52
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
53
+ }
54
+ ]
55
+ }
56
+ }
57
+ ],
58
+ "description": "The assigner of the policy. Applies to all rules unless overridden at rule level."
59
+ },
60
+ "assignee": {
61
+ "anyOf": [
62
+ {
63
+ "type": "string"
64
+ },
65
+ {
66
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
67
+ },
68
+ {
69
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
70
+ },
71
+ {
72
+ "type": "array",
73
+ "items": {
74
+ "anyOf": [
75
+ {
76
+ "type": "string"
77
+ },
78
+ {
79
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlParty"
80
+ },
81
+ {
82
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPartyCollection"
83
+ }
84
+ ]
85
+ }
86
+ }
87
+ ],
88
+ "description": "The assignee of the policy. Applies to all rules unless overridden at rule level."
89
+ },
90
+ "target": {
91
+ "anyOf": [
92
+ {
93
+ "type": "string"
94
+ },
95
+ {
96
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
97
+ },
98
+ {
99
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
100
+ },
101
+ {
102
+ "type": "array",
103
+ "items": {
104
+ "anyOf": [
105
+ {
106
+ "type": "string"
107
+ },
108
+ {
109
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAsset"
110
+ },
111
+ {
112
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAssetCollection"
113
+ }
114
+ ]
115
+ }
116
+ }
117
+ ],
118
+ "description": "The target asset for the rule."
119
+ },
120
+ "action": {
121
+ "anyOf": [
122
+ {
123
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
124
+ },
125
+ {
126
+ "type": "string"
127
+ },
128
+ {
129
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
130
+ },
131
+ {
132
+ "type": "array",
133
+ "items": {
134
+ "anyOf": [
135
+ {
136
+ "$ref": "https://schema.twindev.org/w3c-odrl/ActionType"
137
+ },
138
+ {
139
+ "type": "string"
140
+ },
141
+ {
142
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlAction"
143
+ }
144
+ ]
145
+ }
146
+ }
147
+ ],
148
+ "description": "The action associated with the rule."
149
+ },
150
+ "inheritFrom": {
151
+ "anyOf": [
152
+ {
153
+ "type": "string"
154
+ },
155
+ {
156
+ "type": "array",
157
+ "items": {
158
+ "type": "string"
159
+ }
160
+ }
161
+ ],
162
+ "description": "The parent policy(ies) this policy inherits from. IRIs identifying the parent Policy(ies)."
163
+ },
164
+ "conflict": {
165
+ "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyType",
166
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
167
+ },
168
+ "permission": {
169
+ "anyOf": [
170
+ {
171
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
172
+ },
173
+ {
174
+ "type": "array",
175
+ "items": {
176
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPermission"
177
+ }
178
+ }
179
+ ],
180
+ "description": "The permissions in the policy. At least one of permission, prohibition, or obligation must be present."
181
+ },
182
+ "prohibition": {
183
+ "anyOf": [
184
+ {
185
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
186
+ },
187
+ {
188
+ "type": "array",
189
+ "items": {
190
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlProhibition"
191
+ }
192
+ }
193
+ ],
194
+ "description": "The prohibitions in the policy. At least one of permission, prohibition, or obligation must be present."
195
+ },
196
+ "obligation": {
197
+ "anyOf": [
198
+ {
199
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
200
+ },
201
+ {
202
+ "type": "array",
203
+ "items": {
204
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlDuty"
205
+ }
206
+ }
207
+ ],
208
+ "description": "The obligations in the policy. At least one of permission, prohibition, or obligation must be present."
209
+ },
210
+ "@id": {
211
+ "type": "string",
212
+ "description": "Unique identifier for the set."
213
+ }
214
+ },
215
+ "required": [
216
+ "@context",
217
+ "@id",
218
+ "@type"
219
+ ]
220
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolSetNoContext",
4
+ "description": "Set interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.",
5
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolSet"
6
+ }
@@ -7,11 +7,21 @@ export * from "./models/catalog/IDataspaceProtocolCatalogError.js";
7
7
  export * from "./models/catalog/IDataspaceProtocolCatalogRequestMessage.js";
8
8
  export * from "./models/catalog/IDataspaceProtocolDatasetRequestMessage.js";
9
9
  export * from "./models/dcat3/IDataspaceProtocolDataset.js";
10
+ export * from "./models/dcat3/IDataspaceProtocolDatasetNoContext.js";
10
11
  export * from "./models/dcat3/IDataspaceProtocolCatalog.js";
12
+ export * from "./models/dcat3/IDataspaceProtocolCatalogNoContext.js";
11
13
  export * from "./models/dcat3/IDataspaceProtocolDistribution.js";
14
+ export * from "./models/dcat3/IDataspaceProtocolDistributionNoContext.js";
12
15
  export * from "./models/dcat3/IDataspaceProtocolDataService.js";
16
+ export * from "./models/dcat3/IDataspaceProtocolDataServiceNoContext.js";
13
17
  export * from "./models/odrl/IDataspaceProtocolAgreement.js";
18
+ export * from "./models/odrl/IDataspaceProtocolAgreementNoContext.js";
14
19
  export * from "./models/odrl/IDataspaceProtocolOffer.js";
20
+ export * from "./models/odrl/IDataspaceProtocolOfferNoContext.js";
21
+ export * from "./models/odrl/IDataspaceProtocolPolicy.js";
22
+ export * from "./models/odrl/IDataspaceProtocolPolicyNoContext.js";
23
+ export * from "./models/odrl/IDataspaceProtocolSet.js";
24
+ export * from "./models/odrl/IDataspaceProtocolSetNoContext.js";
15
25
  export * from "./models/contractNegotiation/dataspaceProtocolContractNegotiationTypes.js";
16
26
  export * from "./models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js";
17
27
  export * from "./models/contractNegotiation/IDataspaceProtocolContractAgreementVerificationMessage.js";
@@ -19,26 +19,66 @@ export declare const DataspaceProtocolCatalogTypes: {
19
19
  * Dataset.
20
20
  */
21
21
  readonly Dataset: "Dataset";
22
+ /**
23
+ * Dataset without JSON-LD context.
24
+ */
25
+ readonly DatasetNoContext: "DatasetNoContext";
22
26
  /**
23
27
  * Data Service.
24
28
  */
25
29
  readonly DataService: "DataService";
30
+ /**
31
+ * Data Service without JSON-LD context.
32
+ */
33
+ readonly DataServiceNoContext: "DataServiceNoContext";
26
34
  /**
27
35
  * Distribution.
28
36
  */
29
37
  readonly Distribution: "Distribution";
38
+ /**
39
+ * Distribution without JSON-LD context.
40
+ */
41
+ readonly DistributionNoContext: "DistributionNoContext";
30
42
  /**
31
43
  * Catalog.
32
44
  */
33
45
  readonly Catalog: "Catalog";
46
+ /**
47
+ * Catalog without JSON-LD context.
48
+ */
49
+ readonly CatalogNoContext: "CatalogNoContext";
50
+ /**
51
+ * Policy.
52
+ */
53
+ readonly Policy: "Policy";
54
+ /**
55
+ * Policy without JSON-LD context.
56
+ */
57
+ readonly PolicyNoContext: "PolicyNoContext";
34
58
  /**
35
59
  * Offer.
36
60
  */
37
61
  readonly Offer: "Offer";
62
+ /**
63
+ * Offer without JSON-LD context.
64
+ */
65
+ readonly OfferNoContext: "OfferNoContext";
38
66
  /**
39
67
  * Agreement.
40
68
  */
41
69
  readonly Agreement: "Agreement";
70
+ /**
71
+ * Agreement without JSON-LD context.
72
+ */
73
+ readonly AgreementNoContext: "AgreementNoContext";
74
+ /**
75
+ * Set.
76
+ */
77
+ readonly Set: "Set";
78
+ /**
79
+ * Set without JSON-LD context.
80
+ */
81
+ readonly SetNoContext: "SetNoContext";
42
82
  };
43
83
  /**
44
84
  * The types for Dataspace Protocol Catalog Protocol.
@@ -1,6 +1,6 @@
1
1
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
2
2
  import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
- import type { IDataspaceProtocolAgreement } from "../odrl/IDataspaceProtocolAgreement.js";
3
+ import type { IDataspaceProtocolAgreementNoContext } from "../odrl/IDataspaceProtocolAgreementNoContext.js";
4
4
  /**
5
5
  * Interface for Dataspace Protocol Contract Agreement Messages.
6
6
  * https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#contract-agreement-message
@@ -25,7 +25,7 @@ export interface IDataspaceProtocolContractAgreementMessage {
25
25
  /**
26
26
  * The agreement being sent.
27
27
  */
28
- agreement: IDataspaceProtocolAgreement;
28
+ agreement: IDataspaceProtocolAgreementNoContext;
29
29
  /**
30
30
  * The base callback address for the provider to update the consumer on the state of the negotiation.
31
31
  */
@@ -1,6 +1,6 @@
1
1
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
2
2
  import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
- import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js";
3
+ import type { IDataspaceProtocolOfferNoContext } from "../odrl/IDataspaceProtocolOfferNoContext.js";
4
4
  /**
5
5
  * Interface for Dataspace Protocol Contract Offer Messages.
6
6
  * https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#contract-offer-message
@@ -25,7 +25,7 @@ export interface IDataspaceProtocolContractOfferMessage {
25
25
  /**
26
26
  * The offer being requested.
27
27
  */
28
- offer: IDataspaceProtocolOffer;
28
+ offer: IDataspaceProtocolOfferNoContext;
29
29
  /**
30
30
  * The base callback address for the provider to update the consumer on the state of the negotiation.
31
31
  */
@@ -1,6 +1,6 @@
1
1
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
2
2
  import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
- import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js";
3
+ import type { IDataspaceProtocolOfferNoContext } from "../odrl/IDataspaceProtocolOfferNoContext.js";
4
4
  /**
5
5
  * Interface for Dataspace Protocol Contract Request Messages.
6
6
  * https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1/#contract-request-message
@@ -25,7 +25,7 @@ export interface IDataspaceProtocolContractRequestMessage {
25
25
  /**
26
26
  * The offer being requested.
27
27
  */
28
- offer: IDataspaceProtocolOffer;
28
+ offer: IDataspaceProtocolOfferNoContext;
29
29
  /**
30
30
  * The base callback address for the provider to update the consumer on the state of the negotiation.
31
31
  */
@@ -1,11 +1,10 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
- import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
3
1
  import type { IDcatCatalog } from "@twin.org/standards-w3c-dcat";
4
2
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
5
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
6
- import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
7
- import type { IDataspaceProtocolDataset } from "./IDataspaceProtocolDataset.js";
8
- import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
4
+ import type { IDataspaceProtocolCatalogNoContext } from "./IDataspaceProtocolCatalogNoContext.js";
5
+ import type { IDataspaceProtocolDataServiceNoContext } from "./IDataspaceProtocolDataServiceNoContext.js";
6
+ import type { IDataspaceProtocolDatasetNoContext } from "./IDataspaceProtocolDatasetNoContext.js";
7
+ import type { IDataspaceProtocolDistributionNoContext } from "./IDataspaceProtocolDistributionNoContext.js";
9
8
  /**
10
9
  * Catalog interface compliant with Eclipse Data Space Protocol.
11
10
  *
@@ -48,17 +47,17 @@ export interface IDataspaceProtocolCatalog extends Omit<IDcatCatalog, "@type" |
48
47
  /**
49
48
  * Other concerned catalogs
50
49
  */
51
- catalog?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolCatalog>>;
50
+ catalog?: IDataspaceProtocolCatalogNoContext | IDataspaceProtocolCatalogNoContext[];
52
51
  /**
53
52
  * Datasets registered
54
53
  */
55
- dataset?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDataset>>;
54
+ dataset?: IDataspaceProtocolDatasetNoContext | IDataspaceProtocolDatasetNoContext[];
56
55
  /**
57
56
  * Catalog's distributions
58
57
  */
59
- distribution?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDistribution>>;
58
+ distribution?: IDataspaceProtocolDistributionNoContext | IDataspaceProtocolDistributionNoContext[];
60
59
  /**
61
60
  * Data services registered-
62
61
  */
63
- service?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDataService>>;
62
+ service?: IDataspaceProtocolDataServiceNoContext | IDataspaceProtocolDataServiceNoContext[];
64
63
  }
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolCatalog } from "./IDataspaceProtocolCatalog.js";
2
+ /**
3
+ * Catalog interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolCatalogNoContext = Omit<IDataspaceProtocolCatalog, "@context">;
@@ -1,9 +1,7 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
- import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
3
1
  import type { IDcatDataService } from "@twin.org/standards-w3c-dcat";
4
2
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
5
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
6
- import type { IDataspaceProtocolDataset } from "./IDataspaceProtocolDataset.js";
4
+ import type { IDataspaceProtocolDatasetNoContext } from "./IDataspaceProtocolDatasetNoContext.js";
7
5
  /**
8
6
  * Data Service interface compliant with Eclipse Data Space Protocol.
9
7
  *
@@ -46,5 +44,5 @@ export interface IDataspaceProtocolDataService extends Omit<IDcatDataService, "@
46
44
  /**
47
45
  * Datasets served.
48
46
  */
49
- servesDataset?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDataset>>;
47
+ servesDataset?: IDataspaceProtocolDatasetNoContext | IDataspaceProtocolDatasetNoContext[];
50
48
  }
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
2
+ /**
3
+ * Data Service interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolDataServiceNoContext = Omit<IDataspaceProtocolDataService, "@context">;
@@ -1,10 +1,8 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
- import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
3
1
  import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
4
2
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
5
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
6
- import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
7
- import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js";
4
+ import type { IDataspaceProtocolDistributionNoContext } from "./IDataspaceProtocolDistributionNoContext.js";
5
+ import type { IDataspaceProtocolOfferNoContext } from "../odrl/IDataspaceProtocolOfferNoContext.js";
8
6
  /**
9
7
  * Dataset interface compliant with Eclipse Data Space Protocol.
10
8
  *
@@ -16,7 +14,7 @@ import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js
16
14
  * - `odrl:hasPolicy` MUST be present as an array of ODRL Offers (REQUIRED)
17
15
  * - Array MUST contain at least one IOdrlOffer
18
16
  * - Each Offer MUST have `@type`: "Offer"
19
- * - Each Offer MUST have `@id` or `uid` for identification
17
+ * - Each Offer MUST have `@id`
20
18
  * - `dcat:distribution` MUST be present (REQUIRED)
21
19
  *
22
20
  * **Type System Design:**
@@ -58,10 +56,10 @@ export interface IDataspaceProtocolDataset extends Omit<IDcatDataset, "odrl:hasP
58
56
  * Currently only single offer is supported, but array structure
59
57
  * allows for future multi-offer support.
60
58
  */
61
- hasPolicy: ObjectOrArray<IDataspaceProtocolOffer>;
59
+ hasPolicy: IDataspaceProtocolOfferNoContext | IDataspaceProtocolOfferNoContext[];
62
60
  /**
63
61
  * Distribution of the dataset.
64
62
  * REQUIRED per Eclipse Data Space Protocol.
65
63
  */
66
- distribution: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDistribution>>;
64
+ distribution: IDataspaceProtocolDistributionNoContext | IDataspaceProtocolDistributionNoContext[];
67
65
  }
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolDataset } from "./IDataspaceProtocolDataset.js";
2
+ /**
3
+ * Dataset interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolDatasetNoContext = Omit<IDataspaceProtocolDataset, "@context">;
@@ -1,10 +1,8 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
- import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
3
1
  import type { IDcatDistribution } from "@twin.org/standards-w3c-dcat";
4
2
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
5
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
6
- import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
7
- import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js";
4
+ import type { IDataspaceProtocolDataServiceNoContext } from "./IDataspaceProtocolDataServiceNoContext.js";
5
+ import type { IDataspaceProtocolOfferNoContext } from "../odrl/IDataspaceProtocolOfferNoContext.js";
8
6
  /**
9
7
  * Distribution interface compliant with Eclipse Data Space Protocol.
10
8
  *
@@ -57,12 +55,12 @@ export interface IDataspaceProtocolDistribution extends Omit<IDcatDistribution,
57
55
  * Currently only single offer is supported, but array structure
58
56
  * allows for future multi-offer support.
59
57
  */
60
- hasPolicy?: ObjectOrArray<IDataspaceProtocolOffer>;
58
+ hasPolicy?: IDataspaceProtocolOfferNoContext | IDataspaceProtocolOfferNoContext[];
61
59
  /**
62
60
  * Access service.
63
61
  * It can be a URI pointing to an access service or inline the access service itself
64
62
  */
65
- accessService: string | JsonLdObjectWithNoContext<IDataspaceProtocolDataService>;
63
+ accessService: string | IDataspaceProtocolDataServiceNoContext;
66
64
  /**
67
65
  * Distribution format.
68
66
  * REQUIRED per Eclipse Data Space Protocol.
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
2
+ /**
3
+ * Distribution interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolDistributionNoContext = Omit<IDataspaceProtocolDistribution, "@context">;
@@ -9,7 +9,7 @@ import type { IOdrlAgreement } from "@twin.org/standards-w3c-odrl";
9
9
  * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
10
10
  * @see IOdrlAgreement from @twin.org/standards-w3c-odrl
11
11
  */
12
- export interface IDataspaceProtocolAgreement extends Omit<IOdrlAgreement, "@context" | "uid"> {
12
+ export interface IDataspaceProtocolAgreement extends Omit<IOdrlAgreement, "uid"> {
13
13
  /**
14
14
  * Unique identifier for the agreement.
15
15
  */
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolAgreement } from "./IDataspaceProtocolAgreement.js";
2
+ /**
3
+ * Agreement interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolAgreementNoContext = Omit<IDataspaceProtocolAgreement, "@context">;
@@ -9,7 +9,7 @@ import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
9
9
  * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
10
10
  * @see IOdrlOffer from @twin.org/standards-w3c-odrl
11
11
  */
12
- export interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, "@context" | "uid"> {
12
+ export interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, "uid"> {
13
13
  /**
14
14
  * Unique identifier for the offer.
15
15
  */
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
2
+ /**
3
+ * Offer interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolOfferNoContext = Omit<IDataspaceProtocolOffer, "@context">;
@@ -0,0 +1,17 @@
1
+ import type { IOdrlPolicy } from "@twin.org/standards-w3c-odrl";
2
+ /**
3
+ * Policy interface compliant with Eclipse Data Space Protocol.
4
+ *
5
+ * Extends IOdrlPolicy with DS Protocol-specific constraints:
6
+ * - `@id` is REQUIRED (used as the primary policy identifier in DS Protocol)
7
+ * - `@context` is omitted (inherited from the parent Dataset/Distribution)
8
+ *
9
+ * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
10
+ * @see IOdrlPolicy from @twin.org/standards-w3c-odrl
11
+ */
12
+ export interface IDataspaceProtocolPolicy extends Omit<IOdrlPolicy, "uid"> {
13
+ /**
14
+ * Unique identifier for the policy.
15
+ */
16
+ "@id": string;
17
+ }
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolPolicy } from "./IDataspaceProtocolPolicy.js";
2
+ /**
3
+ * Policy interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolPolicyNoContext = Omit<IDataspaceProtocolPolicy, "@context">;
@@ -0,0 +1,17 @@
1
+ import type { IOdrlSet } from "@twin.org/standards-w3c-odrl";
2
+ /**
3
+ * Set interface compliant with Eclipse Data Space Protocol.
4
+ *
5
+ * Extends IOdrlSet with DS Protocol-specific constraints:
6
+ * - `@id` is REQUIRED (used as the primary set identifier in DS Protocol)
7
+ * - `@context` is omitted (inherited from the parent Dataset/Distribution)
8
+ *
9
+ * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
10
+ * @see IOdrlSet from @twin.org/standards-w3c-odrl
11
+ */
12
+ export interface IDataspaceProtocolSet extends Omit<IOdrlSet, "uid"> {
13
+ /**
14
+ * Unique identifier for the set.
15
+ */
16
+ "@id": string;
17
+ }
@@ -0,0 +1,5 @@
1
+ import type { IDataspaceProtocolSet } from "./IDataspaceProtocolSet.js";
2
+ /**
3
+ * Set interface compliant with Eclipse Data Space Protocol, excluding the `@context` property.
4
+ */
5
+ export type IDataspaceProtocolSetNoContext = Omit<IDataspaceProtocolSet, "@context">;
package/docs/changelog.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.49](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.48...standards-dataspace-protocol-v0.0.3-next.49) (2026-03-06)
4
+
5
+
6
+ ### Features
7
+
8
+ * improved ds protocol schemas ([ed0abe0](https://github.com/twinfoundation/standards/commit/ed0abe0eb5c25da0c837bc39061419c1f3ccbb6d))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/standards-w3c-dcat bumped from 0.0.3-next.48 to 0.0.3-next.49
16
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.48 to 0.0.3-next.49
17
+ * devDependencies
18
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.48 to 0.0.3-next.49
19
+
3
20
  ## [0.0.3-next.48](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.47...standards-dataspace-protocol-v0.0.3-next.48) (2026-03-06)
4
21
 
5
22