@twin.org/standards-dataspace-protocol 0.0.3-next.46 → 0.0.3-next.48

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 (55) hide show
  1. package/dist/es/dataTypes/catalogDataTypes.js +15 -0
  2. package/dist/es/dataTypes/catalogDataTypes.js.map +1 -1
  3. package/dist/es/index.js +9 -6
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js +9 -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 -0
  11. package/dist/es/models/dcat3/IDataspaceProtocolDataService.js.map +1 -0
  12. package/dist/es/models/dcat3/IDataspaceProtocolDataset.js.map +1 -0
  13. package/dist/es/models/dcat3/IDataspaceProtocolDistribution.js.map +1 -0
  14. package/dist/es/models/odrl/IDataspaceProtocolAgreement.js +2 -0
  15. package/dist/es/models/odrl/IDataspaceProtocolAgreement.js.map +1 -0
  16. package/dist/es/models/odrl/IDataspaceProtocolOffer.js.map +1 -0
  17. package/dist/es/schemas/DataspaceProtocolAgreement.json +179 -0
  18. package/dist/es/schemas/DataspaceProtocolContractAgreementMessage.json +1 -1
  19. package/dist/es/schemas/DataspaceProtocolContractOfferMessage.json +1 -1
  20. package/dist/es/schemas/DataspaceProtocolContractRequestMessage.json +1 -1
  21. package/dist/es/schemas/DataspaceProtocolOffer.json +197 -0
  22. package/dist/types/index.d.ts +7 -6
  23. package/dist/types/models/catalog/dataspaceProtocolCatalogTypes.d.ts +8 -0
  24. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.d.ts +3 -3
  25. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.d.ts +2 -2
  26. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.d.ts +2 -2
  27. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolCatalog.d.ts +6 -5
  28. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolDataService.d.ts +3 -2
  29. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolDataset.d.ts +4 -3
  30. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolDistribution.d.ts +4 -3
  31. package/dist/types/models/odrl/IDataspaceProtocolAgreement.d.ts +17 -0
  32. package/dist/types/models/{catalog → odrl}/IDataspaceProtocolOffer.d.ts +0 -5
  33. package/docs/changelog.md +34 -0
  34. package/docs/reference/index.md +6 -5
  35. package/docs/reference/interfaces/IDataspaceProtocolAgreement.md +166 -0
  36. package/docs/reference/interfaces/IDataspaceProtocolCatalog.md +4 -4
  37. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementMessage.md +1 -1
  38. package/docs/reference/interfaces/IDataspaceProtocolContractOfferMessage.md +1 -1
  39. package/docs/reference/interfaces/IDataspaceProtocolContractRequestMessage.md +1 -1
  40. package/docs/reference/interfaces/IDataspaceProtocolDataService.md +1 -1
  41. package/docs/reference/interfaces/IDataspaceProtocolDataset.md +1 -1
  42. package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +1 -1
  43. package/docs/reference/interfaces/IDataspaceProtocolOffer.md +0 -9
  44. package/docs/reference/variables/DataspaceProtocolCatalogTypes.md +12 -0
  45. package/package.json +3 -3
  46. package/dist/es/models/catalog/IDataspaceProtocolCatalog.js.map +0 -1
  47. package/dist/es/models/catalog/IDataspaceProtocolDataService.js.map +0 -1
  48. package/dist/es/models/catalog/IDataspaceProtocolDataset.js.map +0 -1
  49. package/dist/es/models/catalog/IDataspaceProtocolDistribution.js.map +0 -1
  50. package/dist/es/models/catalog/IDataspaceProtocolOffer.js.map +0 -1
  51. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolCatalog.js +0 -0
  52. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolDataService.js +0 -0
  53. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolDataset.js +0 -0
  54. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolDistribution.js +0 -0
  55. /package/dist/es/models/{catalog → odrl}/IDataspaceProtocolOffer.js +0 -0
@@ -0,0 +1,197 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOffer",
4
+ "description": "Offer interface compliant with Eclipse Data Space Protocol.\n\nExtends IOdrlOffer with DS Protocol-specific constraints:\n- `@id` is REQUIRED (used as the primary offer 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": "Offer",
10
+ "description": "The type must be \"Offer\"."
11
+ },
12
+ "assigner": {
13
+ "anyOf": [
14
+ {
15
+ "type": "string"
16
+ },
17
+ {
18
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlParty"
19
+ }
20
+ ],
21
+ "description": "The assigner of the offer. Required for Offer policies."
22
+ },
23
+ "profile": {
24
+ "anyOf": [
25
+ {
26
+ "type": "string"
27
+ },
28
+ {
29
+ "type": "array",
30
+ "items": {
31
+ "type": "string"
32
+ }
33
+ }
34
+ ],
35
+ "description": "The profile(s) this policy conforms to. IRIs identifying the ODRL Profile(s)."
36
+ },
37
+ "assignee": {
38
+ "anyOf": [
39
+ {
40
+ "type": "string"
41
+ },
42
+ {
43
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlParty"
44
+ },
45
+ {
46
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlPartyCollection"
47
+ },
48
+ {
49
+ "type": "array",
50
+ "items": {
51
+ "anyOf": [
52
+ {
53
+ "type": "string"
54
+ },
55
+ {
56
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlParty"
57
+ },
58
+ {
59
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlPartyCollection"
60
+ }
61
+ ]
62
+ }
63
+ }
64
+ ],
65
+ "description": "The assignee of the policy. Applies to all rules unless overridden at rule level."
66
+ },
67
+ "target": {
68
+ "anyOf": [
69
+ {
70
+ "type": "string"
71
+ },
72
+ {
73
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlAsset"
74
+ },
75
+ {
76
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlAssetCollection"
77
+ },
78
+ {
79
+ "type": "array",
80
+ "items": {
81
+ "anyOf": [
82
+ {
83
+ "type": "string"
84
+ },
85
+ {
86
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlAsset"
87
+ },
88
+ {
89
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlAssetCollection"
90
+ }
91
+ ]
92
+ }
93
+ }
94
+ ],
95
+ "description": "The target asset for the rule."
96
+ },
97
+ "action": {
98
+ "anyOf": [
99
+ {
100
+ "$ref": "https://schema.twindev.org/dataspace-protocol/ActionType"
101
+ },
102
+ {
103
+ "type": "string"
104
+ },
105
+ {
106
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlAction"
107
+ },
108
+ {
109
+ "type": "array",
110
+ "items": {
111
+ "anyOf": [
112
+ {
113
+ "$ref": "https://schema.twindev.org/dataspace-protocol/ActionType"
114
+ },
115
+ {
116
+ "type": "string"
117
+ },
118
+ {
119
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlAction"
120
+ }
121
+ ]
122
+ }
123
+ }
124
+ ],
125
+ "description": "The action associated with the rule."
126
+ },
127
+ "inheritFrom": {
128
+ "anyOf": [
129
+ {
130
+ "type": "string"
131
+ },
132
+ {
133
+ "type": "array",
134
+ "items": {
135
+ "type": "string"
136
+ }
137
+ }
138
+ ],
139
+ "description": "The parent policy(ies) this policy inherits from. IRIs identifying the parent Policy(ies)."
140
+ },
141
+ "conflict": {
142
+ "$ref": "https://schema.twindev.org/dataspace-protocol/ConflictStrategyType",
143
+ "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
144
+ },
145
+ "permission": {
146
+ "anyOf": [
147
+ {
148
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlPermission"
149
+ },
150
+ {
151
+ "type": "array",
152
+ "items": {
153
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlPermission"
154
+ }
155
+ }
156
+ ],
157
+ "description": "The permissions in the policy. At least one of permission, prohibition, or obligation must be present."
158
+ },
159
+ "prohibition": {
160
+ "anyOf": [
161
+ {
162
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlProhibition"
163
+ },
164
+ {
165
+ "type": "array",
166
+ "items": {
167
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlProhibition"
168
+ }
169
+ }
170
+ ],
171
+ "description": "The prohibitions in the policy. At least one of permission, prohibition, or obligation must be present."
172
+ },
173
+ "obligation": {
174
+ "anyOf": [
175
+ {
176
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlDuty"
177
+ },
178
+ {
179
+ "type": "array",
180
+ "items": {
181
+ "$ref": "https://schema.twindev.org/dataspace-protocol/OdrlDuty"
182
+ }
183
+ }
184
+ ],
185
+ "description": "The obligations in the policy. At least one of permission, prohibition, or obligation must be present."
186
+ },
187
+ "@id": {
188
+ "type": "string",
189
+ "description": "Unique identifier for the offer."
190
+ }
191
+ },
192
+ "required": [
193
+ "@id",
194
+ "@type",
195
+ "assigner"
196
+ ]
197
+ }
@@ -1,16 +1,17 @@
1
1
  export * from "./models/dataspaceProtocolContexts.js";
2
2
  export * from "./models/dataspaceProtocolContextType.js";
3
3
  export * from "./dataTypes/dataspaceProtocolDataTypes.js";
4
+ export * from "./dataTypes/catalogDataTypes.js";
4
5
  export * from "./models/catalog/dataspaceProtocolCatalogTypes.js";
5
6
  export * from "./models/catalog/IDataspaceProtocolCatalogError.js";
6
7
  export * from "./models/catalog/IDataspaceProtocolCatalogRequestMessage.js";
7
8
  export * from "./models/catalog/IDataspaceProtocolDatasetRequestMessage.js";
8
- export * from "./models/catalog/IDataspaceProtocolDataset.js";
9
- export * from "./models/catalog/IDataspaceProtocolCatalog.js";
10
- export * from "./models/catalog/IDataspaceProtocolDistribution.js";
11
- export * from "./models/catalog/IDataspaceProtocolOffer.js";
12
- export * from "./models/catalog/IDataspaceProtocolDataService.js";
13
- export * from "./dataTypes/catalogDataTypes.js";
9
+ export * from "./models/dcat3/IDataspaceProtocolDataset.js";
10
+ export * from "./models/dcat3/IDataspaceProtocolCatalog.js";
11
+ export * from "./models/dcat3/IDataspaceProtocolDistribution.js";
12
+ export * from "./models/dcat3/IDataspaceProtocolDataService.js";
13
+ export * from "./models/odrl/IDataspaceProtocolAgreement.js";
14
+ export * from "./models/odrl/IDataspaceProtocolOffer.js";
14
15
  export * from "./models/contractNegotiation/dataspaceProtocolContractNegotiationTypes.js";
15
16
  export * from "./models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js";
16
17
  export * from "./models/contractNegotiation/IDataspaceProtocolContractAgreementVerificationMessage.js";
@@ -31,6 +31,14 @@ export declare const DataspaceProtocolCatalogTypes: {
31
31
  * Catalog.
32
32
  */
33
33
  readonly Catalog: "Catalog";
34
+ /**
35
+ * Offer.
36
+ */
37
+ readonly Offer: "Offer";
38
+ /**
39
+ * Agreement.
40
+ */
41
+ readonly Agreement: "Agreement";
34
42
  };
35
43
  /**
36
44
  * The types for Dataspace Protocol Catalog Protocol.
@@ -1,6 +1,6 @@
1
- import type { IOdrlAgreement } from "@twin.org/standards-w3c-odrl";
2
- import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
1
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
2
+ import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
+ import type { IDataspaceProtocolAgreement } from "../odrl/IDataspaceProtocolAgreement.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: IOdrlAgreement;
28
+ agreement: IDataspaceProtocolAgreement;
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
- import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
2
1
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
3
2
  import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
+ import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.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: IOdrlOffer;
28
+ offer: IDataspaceProtocolOffer;
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
- import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
2
1
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
3
2
  import type { DataspaceProtocolContractNegotiationTypes } from "./dataspaceProtocolContractNegotiationTypes.js";
3
+ import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.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: IOdrlOffer;
28
+ offer: IDataspaceProtocolOffer;
29
29
  /**
30
30
  * The base callback address for the provider to update the consumer on the state of the negotiation.
31
31
  */
@@ -1,7 +1,8 @@
1
1
  import type { ObjectOrArray } from "@twin.org/core";
2
+ import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
2
3
  import type { IDcatCatalog } from "@twin.org/standards-w3c-dcat";
4
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
5
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
6
  import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
6
7
  import type { IDataspaceProtocolDataset } from "./IDataspaceProtocolDataset.js";
7
8
  import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
@@ -47,17 +48,17 @@ export interface IDataspaceProtocolCatalog extends Omit<IDcatCatalog, "@type" |
47
48
  /**
48
49
  * Other concerned catalogs
49
50
  */
50
- catalog?: ObjectOrArray<Omit<IDataspaceProtocolCatalog, "@context">>;
51
+ catalog?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolCatalog>>;
51
52
  /**
52
53
  * Datasets registered
53
54
  */
54
- dataset?: ObjectOrArray<Omit<IDataspaceProtocolDataset, "@context">>;
55
+ dataset?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDataset>>;
55
56
  /**
56
57
  * Catalog's distributions
57
58
  */
58
- distribution?: ObjectOrArray<Omit<IDataspaceProtocolDistribution, "@context">>;
59
+ distribution?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDistribution>>;
59
60
  /**
60
61
  * Data services registered-
61
62
  */
62
- service?: ObjectOrArray<Omit<IDataspaceProtocolDataService, "@context">>;
63
+ service?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDataService>>;
63
64
  }
@@ -1,7 +1,8 @@
1
1
  import type { ObjectOrArray } from "@twin.org/core";
2
+ import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
2
3
  import type { IDcatDataService } from "@twin.org/standards-w3c-dcat";
4
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
5
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
6
  import type { IDataspaceProtocolDataset } from "./IDataspaceProtocolDataset.js";
6
7
  /**
7
8
  * Data Service interface compliant with Eclipse Data Space Protocol.
@@ -45,5 +46,5 @@ export interface IDataspaceProtocolDataService extends Omit<IDcatDataService, "@
45
46
  /**
46
47
  * Datasets served.
47
48
  */
48
- servesDataset?: ObjectOrArray<Omit<IDataspaceProtocolDataset, "@context">>;
49
+ servesDataset?: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDataset>>;
49
50
  }
@@ -1,9 +1,10 @@
1
1
  import type { ObjectOrArray } from "@twin.org/core";
2
+ import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
2
3
  import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
4
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
5
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
6
  import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
6
- import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
7
+ import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js";
7
8
  /**
8
9
  * Dataset interface compliant with Eclipse Data Space Protocol.
9
10
  *
@@ -62,5 +63,5 @@ export interface IDataspaceProtocolDataset extends Omit<IDcatDataset, "odrl:hasP
62
63
  * Distribution of the dataset.
63
64
  * REQUIRED per Eclipse Data Space Protocol.
64
65
  */
65
- distribution: ObjectOrArray<Omit<IDataspaceProtocolDistribution, "@context">>;
66
+ distribution: ObjectOrArray<JsonLdObjectWithNoContext<IDataspaceProtocolDistribution>>;
66
67
  }
@@ -1,9 +1,10 @@
1
1
  import type { ObjectOrArray } from "@twin.org/core";
2
+ import type { JsonLdObjectWithNoContext } from "@twin.org/data-json-ld";
2
3
  import type { IDcatDistribution } from "@twin.org/standards-w3c-dcat";
4
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
5
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
6
  import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
6
- import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
7
+ import type { IDataspaceProtocolOffer } from "../odrl/IDataspaceProtocolOffer.js";
7
8
  /**
8
9
  * Distribution interface compliant with Eclipse Data Space Protocol.
9
10
  *
@@ -61,7 +62,7 @@ export interface IDataspaceProtocolDistribution extends Omit<IDcatDistribution,
61
62
  * Access service.
62
63
  * It can be a URI pointing to an access service or inline the access service itself
63
64
  */
64
- accessService: string | Omit<IDataspaceProtocolDataService, "@context">;
65
+ accessService: string | JsonLdObjectWithNoContext<IDataspaceProtocolDataService>;
65
66
  /**
66
67
  * Distribution format.
67
68
  * REQUIRED per Eclipse Data Space Protocol.
@@ -0,0 +1,17 @@
1
+ import type { IOdrlAgreement } from "@twin.org/standards-w3c-odrl";
2
+ /**
3
+ * Agreement interface compliant with Eclipse Data Space Protocol.
4
+ *
5
+ * Extends IOdrlAgreement with DS Protocol-specific constraints:
6
+ * - `@id` is REQUIRED (used as the primary agreement 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 IOdrlAgreement from @twin.org/standards-w3c-odrl
11
+ */
12
+ export interface IDataspaceProtocolAgreement extends Omit<IOdrlAgreement, "@context" | "uid"> {
13
+ /**
14
+ * Unique identifier for the agreement.
15
+ */
16
+ "@id": string;
17
+ }
@@ -5,7 +5,6 @@ import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
5
5
  * Extends IOdrlOffer with DS Protocol-specific constraints:
6
6
  * - `@id` is REQUIRED (used as the primary offer identifier in DS Protocol)
7
7
  * - `@context` is omitted (inherited from the parent Dataset/Distribution)
8
- * - `uid` is optional (DS Protocol uses `@id` instead of ODRL `uid`)
9
8
  *
10
9
  * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
11
10
  * @see IOdrlOffer from @twin.org/standards-w3c-odrl
@@ -15,8 +14,4 @@ export interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, "@context" | "
15
14
  * Unique identifier for the offer.
16
15
  */
17
16
  "@id": string;
18
- /**
19
- * Unique identifier for the offer.
20
- */
21
- uid?: string;
22
17
  }
package/docs/changelog.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [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
+
5
+
6
+ ### Features
7
+
8
+ * missing ds protocol schemas ([d47e3ed](https://github.com/twinfoundation/standards/commit/d47e3ed30daa6f7857da3b7813f239118bb2ad46))
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.47 to 0.0.3-next.48
16
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.47 to 0.0.3-next.48
17
+ * devDependencies
18
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.47 to 0.0.3-next.48
19
+
20
+ ## [0.0.3-next.47](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.46...standards-dataspace-protocol-v0.0.3-next.47) (2026-03-06)
21
+
22
+
23
+ ### Bug Fixes
24
+
25
+ * remove uid from ds protocol offer ([ebd3ef8](https://github.com/twinfoundation/standards/commit/ebd3ef88aa0f90eaf8f826f84784db59d1f55da0))
26
+
27
+
28
+ ### Dependencies
29
+
30
+ * The following workspace dependencies were updated
31
+ * dependencies
32
+ * @twin.org/standards-w3c-dcat bumped from 0.0.3-next.46 to 0.0.3-next.47
33
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.46 to 0.0.3-next.47
34
+ * devDependencies
35
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.46 to 0.0.3-next.47
36
+
3
37
  ## [0.0.3-next.46](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.45...standards-dataspace-protocol-v0.0.3-next.46) (2026-03-05)
4
38
 
5
39
 
@@ -10,14 +10,9 @@
10
10
 
11
11
  ## Interfaces
12
12
 
13
- - [IDataspaceProtocolCatalog](interfaces/IDataspaceProtocolCatalog.md)
14
13
  - [IDataspaceProtocolCatalogError](interfaces/IDataspaceProtocolCatalogError.md)
15
14
  - [IDataspaceProtocolCatalogRequestMessage](interfaces/IDataspaceProtocolCatalogRequestMessage.md)
16
- - [IDataspaceProtocolDataService](interfaces/IDataspaceProtocolDataService.md)
17
- - [IDataspaceProtocolDataset](interfaces/IDataspaceProtocolDataset.md)
18
15
  - [IDataspaceProtocolDatasetRequestMessage](interfaces/IDataspaceProtocolDatasetRequestMessage.md)
19
- - [IDataspaceProtocolDistribution](interfaces/IDataspaceProtocolDistribution.md)
20
- - [IDataspaceProtocolOffer](interfaces/IDataspaceProtocolOffer.md)
21
16
  - [IDataspaceProtocolContractAgreementMessage](interfaces/IDataspaceProtocolContractAgreementMessage.md)
22
17
  - [IDataspaceProtocolContractAgreementVerificationMessage](interfaces/IDataspaceProtocolContractAgreementVerificationMessage.md)
23
18
  - [IDataspaceProtocolContractNegotiation](interfaces/IDataspaceProtocolContractNegotiation.md)
@@ -26,6 +21,12 @@
26
21
  - [IDataspaceProtocolContractNegotiationTerminationMessage](interfaces/IDataspaceProtocolContractNegotiationTerminationMessage.md)
27
22
  - [IDataspaceProtocolContractOfferMessage](interfaces/IDataspaceProtocolContractOfferMessage.md)
28
23
  - [IDataspaceProtocolContractRequestMessage](interfaces/IDataspaceProtocolContractRequestMessage.md)
24
+ - [IDataspaceProtocolCatalog](interfaces/IDataspaceProtocolCatalog.md)
25
+ - [IDataspaceProtocolDataService](interfaces/IDataspaceProtocolDataService.md)
26
+ - [IDataspaceProtocolDataset](interfaces/IDataspaceProtocolDataset.md)
27
+ - [IDataspaceProtocolDistribution](interfaces/IDataspaceProtocolDistribution.md)
28
+ - [IDataspaceProtocolAgreement](interfaces/IDataspaceProtocolAgreement.md)
29
+ - [IDataspaceProtocolOffer](interfaces/IDataspaceProtocolOffer.md)
29
30
  - [IDataspaceProtocolDataAddress](interfaces/IDataspaceProtocolDataAddress.md)
30
31
  - [IDataspaceProtocolEndpointProperty](interfaces/IDataspaceProtocolEndpointProperty.md)
31
32
  - [IDataspaceProtocolTransferCompletionMessage](interfaces/IDataspaceProtocolTransferCompletionMessage.md)
@@ -0,0 +1,166 @@
1
+ # Interface: IDataspaceProtocolAgreement
2
+
3
+ Agreement interface compliant with Eclipse Data Space Protocol.
4
+
5
+ Extends IOdrlAgreement with DS Protocol-specific constraints:
6
+ - `@id` is REQUIRED (used as the primary agreement identifier in DS Protocol)
7
+ - `@context` is omitted (inherited from the parent Dataset/Distribution)
8
+
9
+ ## See
10
+
11
+ - https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
12
+ - IOdrlAgreement from @twin.org/standards-w3c-odrl
13
+
14
+ ## Extends
15
+
16
+ - `Omit`\<`IOdrlAgreement`, `"@context"` \| `"uid"`\>
17
+
18
+ ## Properties
19
+
20
+ ### @id
21
+
22
+ > **@id**: `string`
23
+
24
+ Unique identifier for the agreement.
25
+
26
+ ***
27
+
28
+ ### @type
29
+
30
+ > **@type**: `"Agreement"`
31
+
32
+ The type must be "Agreement".
33
+
34
+ #### Inherited from
35
+
36
+ `Omit.@type`
37
+
38
+ ***
39
+
40
+ ### assigner
41
+
42
+ > **assigner**: `string` \| `IOdrlParty`
43
+
44
+ The assigner of the agreement.
45
+ Required for Agreement policies.
46
+
47
+ #### Inherited from
48
+
49
+ `Omit.assigner`
50
+
51
+ ***
52
+
53
+ ### assignee
54
+
55
+ > **assignee**: `string` \| `IOdrlParty`
56
+
57
+ The assignee of the agreement.
58
+ Required for Agreement policies.
59
+
60
+ #### Inherited from
61
+
62
+ `Omit.assignee`
63
+
64
+ ***
65
+
66
+ ### profile?
67
+
68
+ > `optional` **profile**: `string` \| `string`[]
69
+
70
+ The profile(s) this policy conforms to.
71
+ IRIs identifying the ODRL Profile(s).
72
+
73
+ #### Inherited from
74
+
75
+ `Omit.profile`
76
+
77
+ ***
78
+
79
+ ### target?
80
+
81
+ > `optional` **target**: `string` \| `IOdrlAsset` \| `IOdrlAssetCollection` \| (`string` \| `IOdrlAsset` \| `IOdrlAssetCollection`)[]
82
+
83
+ The target asset for the rule.
84
+
85
+ #### Inherited from
86
+
87
+ `Omit.target`
88
+
89
+ ***
90
+
91
+ ### action?
92
+
93
+ > `optional` **action**: `string` \| `IOdrlAction` \| (`string` \| `IOdrlAction`)[]
94
+
95
+ The action associated with the rule.
96
+
97
+ #### Inherited from
98
+
99
+ `Omit.action`
100
+
101
+ ***
102
+
103
+ ### inheritFrom?
104
+
105
+ > `optional` **inheritFrom**: `string` \| `string`[]
106
+
107
+ The parent policy(ies) this policy inherits from.
108
+ IRIs identifying the parent Policy(ies).
109
+
110
+ #### Inherited from
111
+
112
+ `Omit.inheritFrom`
113
+
114
+ ***
115
+
116
+ ### conflict?
117
+
118
+ > `optional` **conflict**: `ConflictStrategyType`
119
+
120
+ The conflict resolution strategy.
121
+ - perm: Permissions override Prohibitions
122
+ - prohibit: Prohibitions override Permissions
123
+ - invalid: Policy is void if conflicts exist (default)
124
+
125
+ #### Inherited from
126
+
127
+ `Omit.conflict`
128
+
129
+ ***
130
+
131
+ ### permission?
132
+
133
+ > `optional` **permission**: `IOdrlPermission` \| `IOdrlPermission`[]
134
+
135
+ The permissions in the policy.
136
+ At least one of permission, prohibition, or obligation must be present.
137
+
138
+ #### Inherited from
139
+
140
+ `Omit.permission`
141
+
142
+ ***
143
+
144
+ ### prohibition?
145
+
146
+ > `optional` **prohibition**: `IOdrlProhibition` \| `IOdrlProhibition`[]
147
+
148
+ The prohibitions in the policy.
149
+ At least one of permission, prohibition, or obligation must be present.
150
+
151
+ #### Inherited from
152
+
153
+ `Omit.prohibition`
154
+
155
+ ***
156
+
157
+ ### obligation?
158
+
159
+ > `optional` **obligation**: `IOdrlDuty` \| `IOdrlDuty`[]
160
+
161
+ The obligations in the policy.
162
+ At least one of permission, prohibition, or obligation must be present.
163
+
164
+ #### Inherited from
165
+
166
+ `Omit.obligation`