@twin.org/standards-dataspace-protocol 0.0.3-next.47 → 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 (105) hide show
  1. package/dist/es/dataTypes/catalogDataTypes.js +65 -0
  2. package/dist/es/dataTypes/catalogDataTypes.js.map +1 -1
  3. package/dist/es/index.js +19 -6
  4. package/dist/es/index.js.map +1 -1
  5. package/dist/es/models/catalog/dataspaceProtocolCatalogTypes.js +49 -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/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 -0
  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 -0
  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 -0
  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 +2 -0
  23. package/dist/es/models/odrl/IDataspaceProtocolAgreement.js.map +1 -0
  24. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js +2 -0
  25. package/dist/es/models/odrl/IDataspaceProtocolAgreementNoContext.js.map +1 -0
  26. package/dist/es/models/odrl/IDataspaceProtocolOffer.js.map +1 -0
  27. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js +2 -0
  28. package/dist/es/models/odrl/IDataspaceProtocolOfferNoContext.js.map +1 -0
  29. package/dist/es/models/odrl/IDataspaceProtocolPolicy.js +2 -0
  30. package/dist/es/models/odrl/IDataspaceProtocolPolicy.js.map +1 -0
  31. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js +2 -0
  32. package/dist/es/models/odrl/IDataspaceProtocolPolicyNoContext.js.map +1 -0
  33. package/dist/es/models/odrl/IDataspaceProtocolSet.js +2 -0
  34. package/dist/es/models/odrl/IDataspaceProtocolSet.js.map +1 -0
  35. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js +2 -0
  36. package/dist/es/models/odrl/IDataspaceProtocolSetNoContext.js.map +1 -0
  37. package/dist/es/schemas/DataspaceProtocolAgreement.json +184 -0
  38. package/dist/es/schemas/DataspaceProtocolAgreementNoContext.json +6 -0
  39. package/dist/es/schemas/DataspaceProtocolCatalogNoContext.json +6 -0
  40. package/dist/es/schemas/DataspaceProtocolContractAgreementMessage.json +1 -1
  41. package/dist/es/schemas/DataspaceProtocolContractOfferMessage.json +1 -1
  42. package/dist/es/schemas/DataspaceProtocolContractRequestMessage.json +1 -1
  43. package/dist/es/schemas/DataspaceProtocolDataServiceNoContext.json +6 -0
  44. package/dist/es/schemas/DataspaceProtocolDatasetNoContext.json +6 -0
  45. package/dist/es/schemas/DataspaceProtocolDistributionNoContext.json +6 -0
  46. package/dist/es/schemas/DataspaceProtocolOffer.json +202 -0
  47. package/dist/es/schemas/DataspaceProtocolOfferNoContext.json +6 -0
  48. package/dist/es/schemas/DataspaceProtocolPolicy.json +219 -0
  49. package/dist/es/schemas/DataspaceProtocolPolicyNoContext.json +6 -0
  50. package/dist/es/schemas/DataspaceProtocolSet.json +220 -0
  51. package/dist/es/schemas/DataspaceProtocolSetNoContext.json +6 -0
  52. package/dist/types/index.d.ts +17 -6
  53. package/dist/types/models/catalog/dataspaceProtocolCatalogTypes.d.ts +48 -0
  54. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.d.ts +3 -3
  55. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractOfferMessage.d.ts +2 -2
  56. package/dist/types/models/contractNegotiation/IDataspaceProtocolContractRequestMessage.d.ts +2 -2
  57. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolCatalog.d.ts +9 -9
  58. package/dist/types/models/dcat3/IDataspaceProtocolCatalogNoContext.d.ts +5 -0
  59. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolDataService.d.ts +3 -4
  60. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceNoContext.d.ts +5 -0
  61. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolDataset.d.ts +6 -7
  62. package/dist/types/models/dcat3/IDataspaceProtocolDatasetNoContext.d.ts +5 -0
  63. package/dist/types/models/{catalog → dcat3}/IDataspaceProtocolDistribution.d.ts +5 -6
  64. package/dist/types/models/dcat3/IDataspaceProtocolDistributionNoContext.d.ts +5 -0
  65. package/dist/types/models/odrl/IDataspaceProtocolAgreement.d.ts +17 -0
  66. package/dist/types/models/odrl/IDataspaceProtocolAgreementNoContext.d.ts +5 -0
  67. package/dist/types/models/{catalog → odrl}/IDataspaceProtocolOffer.d.ts +1 -2
  68. package/dist/types/models/odrl/IDataspaceProtocolOfferNoContext.d.ts +5 -0
  69. package/dist/types/models/odrl/IDataspaceProtocolPolicy.d.ts +17 -0
  70. package/dist/types/models/odrl/IDataspaceProtocolPolicyNoContext.d.ts +5 -0
  71. package/dist/types/models/odrl/IDataspaceProtocolSet.d.ts +17 -0
  72. package/dist/types/models/odrl/IDataspaceProtocolSetNoContext.d.ts +5 -0
  73. package/docs/changelog.md +34 -0
  74. package/docs/reference/index.md +16 -5
  75. package/docs/reference/interfaces/IDataspaceProtocolAgreement.md +179 -0
  76. package/docs/reference/interfaces/IDataspaceProtocolCatalog.md +4 -4
  77. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementMessage.md +1 -1
  78. package/docs/reference/interfaces/IDataspaceProtocolContractOfferMessage.md +1 -1
  79. package/docs/reference/interfaces/IDataspaceProtocolContractRequestMessage.md +1 -1
  80. package/docs/reference/interfaces/IDataspaceProtocolDataService.md +1 -1
  81. package/docs/reference/interfaces/IDataspaceProtocolDataset.md +3 -3
  82. package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +2 -2
  83. package/docs/reference/interfaces/IDataspaceProtocolOffer.md +14 -2
  84. package/docs/reference/interfaces/IDataspaceProtocolPolicy.md +180 -0
  85. package/docs/reference/interfaces/IDataspaceProtocolSet.md +179 -0
  86. package/docs/reference/type-aliases/IDataspaceProtocolAgreementNoContext.md +5 -0
  87. package/docs/reference/type-aliases/IDataspaceProtocolCatalogNoContext.md +5 -0
  88. package/docs/reference/type-aliases/IDataspaceProtocolDataServiceNoContext.md +5 -0
  89. package/docs/reference/type-aliases/IDataspaceProtocolDatasetNoContext.md +5 -0
  90. package/docs/reference/type-aliases/IDataspaceProtocolDistributionNoContext.md +5 -0
  91. package/docs/reference/type-aliases/IDataspaceProtocolOfferNoContext.md +5 -0
  92. package/docs/reference/type-aliases/IDataspaceProtocolPolicyNoContext.md +5 -0
  93. package/docs/reference/type-aliases/IDataspaceProtocolSetNoContext.md +5 -0
  94. package/docs/reference/variables/DataspaceProtocolCatalogTypes.md +72 -0
  95. package/package.json +3 -3
  96. package/dist/es/models/catalog/IDataspaceProtocolCatalog.js.map +0 -1
  97. package/dist/es/models/catalog/IDataspaceProtocolDataService.js.map +0 -1
  98. package/dist/es/models/catalog/IDataspaceProtocolDataset.js.map +0 -1
  99. package/dist/es/models/catalog/IDataspaceProtocolDistribution.js.map +0 -1
  100. package/dist/es/models/catalog/IDataspaceProtocolOffer.js.map +0 -1
  101. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolCatalog.js +0 -0
  102. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolDataService.js +0 -0
  103. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolDataset.js +0 -0
  104. /package/dist/es/models/{catalog → dcat3}/IDataspaceProtocolDistribution.js +0 -0
  105. /package/dist/es/models/{catalog → odrl}/IDataspaceProtocolOffer.js +0 -0
@@ -1,8 +1,7 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
1
  import type { IDcatDataService } from "@twin.org/standards-w3c-dcat";
2
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
- import type { IDataspaceProtocolDataset } from "./IDataspaceProtocolDataset.js";
4
+ import type { IDataspaceProtocolDatasetNoContext } from "./IDataspaceProtocolDatasetNoContext.js";
6
5
  /**
7
6
  * Data Service interface compliant with Eclipse Data Space Protocol.
8
7
  *
@@ -45,5 +44,5 @@ export interface IDataspaceProtocolDataService extends Omit<IDcatDataService, "@
45
44
  /**
46
45
  * Datasets served.
47
46
  */
48
- servesDataset?: ObjectOrArray<Omit<IDataspaceProtocolDataset, "@context">>;
47
+ servesDataset?: IDataspaceProtocolDatasetNoContext | IDataspaceProtocolDatasetNoContext[];
49
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,9 +1,8 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
1
  import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
2
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
- import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
6
- import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
4
+ import type { IDataspaceProtocolDistributionNoContext } from "./IDataspaceProtocolDistributionNoContext.js";
5
+ import type { IDataspaceProtocolOfferNoContext } from "../odrl/IDataspaceProtocolOfferNoContext.js";
7
6
  /**
8
7
  * Dataset interface compliant with Eclipse Data Space Protocol.
9
8
  *
@@ -15,7 +14,7 @@ import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
15
14
  * - `odrl:hasPolicy` MUST be present as an array of ODRL Offers (REQUIRED)
16
15
  * - Array MUST contain at least one IOdrlOffer
17
16
  * - Each Offer MUST have `@type`: "Offer"
18
- * - Each Offer MUST have `@id` or `uid` for identification
17
+ * - Each Offer MUST have `@id`
19
18
  * - `dcat:distribution` MUST be present (REQUIRED)
20
19
  *
21
20
  * **Type System Design:**
@@ -57,10 +56,10 @@ export interface IDataspaceProtocolDataset extends Omit<IDcatDataset, "odrl:hasP
57
56
  * Currently only single offer is supported, but array structure
58
57
  * allows for future multi-offer support.
59
58
  */
60
- hasPolicy: ObjectOrArray<IDataspaceProtocolOffer>;
59
+ hasPolicy: IDataspaceProtocolOfferNoContext | IDataspaceProtocolOfferNoContext[];
61
60
  /**
62
61
  * Distribution of the dataset.
63
62
  * REQUIRED per Eclipse Data Space Protocol.
64
63
  */
65
- distribution: ObjectOrArray<Omit<IDataspaceProtocolDistribution, "@context">>;
64
+ distribution: IDataspaceProtocolDistributionNoContext | IDataspaceProtocolDistributionNoContext[];
66
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,9 +1,8 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
1
  import type { IDcatDistribution } from "@twin.org/standards-w3c-dcat";
2
+ import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
3
3
  import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
4
- import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
5
- import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
6
- import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
4
+ import type { IDataspaceProtocolDataServiceNoContext } from "./IDataspaceProtocolDataServiceNoContext.js";
5
+ import type { IDataspaceProtocolOfferNoContext } from "../odrl/IDataspaceProtocolOfferNoContext.js";
7
6
  /**
8
7
  * Distribution interface compliant with Eclipse Data Space Protocol.
9
8
  *
@@ -56,12 +55,12 @@ export interface IDataspaceProtocolDistribution extends Omit<IDcatDistribution,
56
55
  * Currently only single offer is supported, but array structure
57
56
  * allows for future multi-offer support.
58
57
  */
59
- hasPolicy?: ObjectOrArray<IDataspaceProtocolOffer>;
58
+ hasPolicy?: IDataspaceProtocolOfferNoContext | IDataspaceProtocolOfferNoContext[];
60
59
  /**
61
60
  * Access service.
62
61
  * It can be a URI pointing to an access service or inline the access service itself
63
62
  */
64
- accessService: string | Omit<IDataspaceProtocolDataService, "@context">;
63
+ accessService: string | IDataspaceProtocolDataServiceNoContext;
65
64
  /**
66
65
  * Distribution format.
67
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">;
@@ -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, "uid"> {
13
+ /**
14
+ * Unique identifier for the agreement.
15
+ */
16
+ "@id": string;
17
+ }
@@ -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">;
@@ -5,12 +5,11 @@ 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
12
11
  */
13
- export interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, "@context" | "uid"> {
12
+ export interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, "uid"> {
14
13
  /**
15
14
  * Unique identifier for the offer.
16
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,39 @@
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
+
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)
21
+
22
+
23
+ ### Features
24
+
25
+ * missing ds protocol schemas ([d47e3ed](https://github.com/twinfoundation/standards/commit/d47e3ed30daa6f7857da3b7813f239118bb2ad46))
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.47 to 0.0.3-next.48
33
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.47 to 0.0.3-next.48
34
+ * devDependencies
35
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.47 to 0.0.3-next.48
36
+
3
37
  ## [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)
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,14 @@
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)
30
+ - [IDataspaceProtocolPolicy](interfaces/IDataspaceProtocolPolicy.md)
31
+ - [IDataspaceProtocolSet](interfaces/IDataspaceProtocolSet.md)
29
32
  - [IDataspaceProtocolDataAddress](interfaces/IDataspaceProtocolDataAddress.md)
30
33
  - [IDataspaceProtocolEndpointProperty](interfaces/IDataspaceProtocolEndpointProperty.md)
31
34
  - [IDataspaceProtocolTransferCompletionMessage](interfaces/IDataspaceProtocolTransferCompletionMessage.md)
@@ -44,6 +47,14 @@
44
47
  - [DataspaceProtocolContractNegotiationStateType](type-aliases/DataspaceProtocolContractNegotiationStateType.md)
45
48
  - [DataspaceProtocolContextType](type-aliases/DataspaceProtocolContextType.md)
46
49
  - [DataspaceProtocolContexts](type-aliases/DataspaceProtocolContexts.md)
50
+ - [IDataspaceProtocolCatalogNoContext](type-aliases/IDataspaceProtocolCatalogNoContext.md)
51
+ - [IDataspaceProtocolDataServiceNoContext](type-aliases/IDataspaceProtocolDataServiceNoContext.md)
52
+ - [IDataspaceProtocolDatasetNoContext](type-aliases/IDataspaceProtocolDatasetNoContext.md)
53
+ - [IDataspaceProtocolDistributionNoContext](type-aliases/IDataspaceProtocolDistributionNoContext.md)
54
+ - [IDataspaceProtocolAgreementNoContext](type-aliases/IDataspaceProtocolAgreementNoContext.md)
55
+ - [IDataspaceProtocolOfferNoContext](type-aliases/IDataspaceProtocolOfferNoContext.md)
56
+ - [IDataspaceProtocolPolicyNoContext](type-aliases/IDataspaceProtocolPolicyNoContext.md)
57
+ - [IDataspaceProtocolSetNoContext](type-aliases/IDataspaceProtocolSetNoContext.md)
47
58
  - [DataspaceProtocolTransferProcessTypes](type-aliases/DataspaceProtocolTransferProcessTypes.md)
48
59
  - [DataspaceProtocolEndpointType](type-aliases/DataspaceProtocolEndpointType.md)
49
60
  - [DataspaceProtocolTransferProcessStateType](type-aliases/DataspaceProtocolTransferProcessStateType.md)
@@ -0,0 +1,179 @@
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`, `"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
+ ### @context
67
+
68
+ > **@context**: `OdrlContextType`
69
+
70
+ The context for the policy.
71
+ Must include "https://www.w3.org/ns/odrl.jsonld"
72
+
73
+ #### Inherited from
74
+
75
+ `Omit.@context`
76
+
77
+ ***
78
+
79
+ ### profile?
80
+
81
+ > `optional` **profile**: `string` \| `string`[]
82
+
83
+ The profile(s) this policy conforms to.
84
+ IRIs identifying the ODRL Profile(s).
85
+
86
+ #### Inherited from
87
+
88
+ `Omit.profile`
89
+
90
+ ***
91
+
92
+ ### target?
93
+
94
+ > `optional` **target**: `string` \| `IOdrlAsset` \| `IOdrlAssetCollection` \| (`string` \| `IOdrlAsset` \| `IOdrlAssetCollection`)[]
95
+
96
+ The target asset for the rule.
97
+
98
+ #### Inherited from
99
+
100
+ `Omit.target`
101
+
102
+ ***
103
+
104
+ ### action?
105
+
106
+ > `optional` **action**: `string` \| `IOdrlAction` \| (`string` \| `IOdrlAction`)[]
107
+
108
+ The action associated with the rule.
109
+
110
+ #### Inherited from
111
+
112
+ `Omit.action`
113
+
114
+ ***
115
+
116
+ ### inheritFrom?
117
+
118
+ > `optional` **inheritFrom**: `string` \| `string`[]
119
+
120
+ The parent policy(ies) this policy inherits from.
121
+ IRIs identifying the parent Policy(ies).
122
+
123
+ #### Inherited from
124
+
125
+ `Omit.inheritFrom`
126
+
127
+ ***
128
+
129
+ ### conflict?
130
+
131
+ > `optional` **conflict**: `ConflictStrategyType`
132
+
133
+ The conflict resolution strategy.
134
+ - perm: Permissions override Prohibitions
135
+ - prohibit: Prohibitions override Permissions
136
+ - invalid: Policy is void if conflicts exist (default)
137
+
138
+ #### Inherited from
139
+
140
+ `Omit.conflict`
141
+
142
+ ***
143
+
144
+ ### permission?
145
+
146
+ > `optional` **permission**: `IOdrlPermission` \| `IOdrlPermission`[]
147
+
148
+ The permissions in the policy.
149
+ At least one of permission, prohibition, or obligation must be present.
150
+
151
+ #### Inherited from
152
+
153
+ `Omit.permission`
154
+
155
+ ***
156
+
157
+ ### prohibition?
158
+
159
+ > `optional` **prohibition**: `IOdrlProhibition` \| `IOdrlProhibition`[]
160
+
161
+ The prohibitions in the policy.
162
+ At least one of permission, prohibition, or obligation must be present.
163
+
164
+ #### Inherited from
165
+
166
+ `Omit.prohibition`
167
+
168
+ ***
169
+
170
+ ### obligation?
171
+
172
+ > `optional` **obligation**: `IOdrlDuty` \| `IOdrlDuty`[]
173
+
174
+ The obligations in the policy.
175
+ At least one of permission, prohibition, or obligation must be present.
176
+
177
+ #### Inherited from
178
+
179
+ `Omit.obligation`
@@ -65,7 +65,7 @@ Participant Id
65
65
 
66
66
  ### catalog?
67
67
 
68
- > `optional` **catalog**: `ObjectOrArray`\<`Omit`\<`IDataspaceProtocolCatalog`, `"@context"`\>\>
68
+ > `optional` **catalog**: [`IDataspaceProtocolCatalogNoContext`](../type-aliases/IDataspaceProtocolCatalogNoContext.md) \| [`IDataspaceProtocolCatalogNoContext`](../type-aliases/IDataspaceProtocolCatalogNoContext.md)[]
69
69
 
70
70
  Other concerned catalogs
71
71
 
@@ -73,7 +73,7 @@ Other concerned catalogs
73
73
 
74
74
  ### dataset?
75
75
 
76
- > `optional` **dataset**: `ObjectOrArray`\<`Omit`\<[`IDataspaceProtocolDataset`](IDataspaceProtocolDataset.md), `"@context"`\>\>
76
+ > `optional` **dataset**: [`IDataspaceProtocolDatasetNoContext`](../type-aliases/IDataspaceProtocolDatasetNoContext.md) \| [`IDataspaceProtocolDatasetNoContext`](../type-aliases/IDataspaceProtocolDatasetNoContext.md)[]
77
77
 
78
78
  Datasets registered
79
79
 
@@ -81,7 +81,7 @@ Datasets registered
81
81
 
82
82
  ### distribution?
83
83
 
84
- > `optional` **distribution**: `ObjectOrArray`\<`Omit`\<[`IDataspaceProtocolDistribution`](IDataspaceProtocolDistribution.md), `"@context"`\>\>
84
+ > `optional` **distribution**: [`IDataspaceProtocolDistributionNoContext`](../type-aliases/IDataspaceProtocolDistributionNoContext.md) \| [`IDataspaceProtocolDistributionNoContext`](../type-aliases/IDataspaceProtocolDistributionNoContext.md)[]
85
85
 
86
86
  Catalog's distributions
87
87
 
@@ -89,7 +89,7 @@ Catalog's distributions
89
89
 
90
90
  ### service?
91
91
 
92
- > `optional` **service**: `ObjectOrArray`\<`Omit`\<[`IDataspaceProtocolDataService`](IDataspaceProtocolDataService.md), `"@context"`\>\>
92
+ > `optional` **service**: [`IDataspaceProtocolDataServiceNoContext`](../type-aliases/IDataspaceProtocolDataServiceNoContext.md) \| [`IDataspaceProtocolDataServiceNoContext`](../type-aliases/IDataspaceProtocolDataServiceNoContext.md)[]
93
93
 
94
94
  Data services registered-
95
95
 
@@ -39,7 +39,7 @@ The consumer id for the contract.
39
39
 
40
40
  ### agreement
41
41
 
42
- > **agreement**: `IOdrlAgreement`
42
+ > **agreement**: [`IDataspaceProtocolAgreementNoContext`](../type-aliases/IDataspaceProtocolAgreementNoContext.md)
43
43
 
44
44
  The agreement being sent.
45
45
 
@@ -39,7 +39,7 @@ The consumer id for the contract.
39
39
 
40
40
  ### offer
41
41
 
42
- > **offer**: `IOdrlOffer`
42
+ > **offer**: [`IDataspaceProtocolOfferNoContext`](../type-aliases/IDataspaceProtocolOfferNoContext.md)
43
43
 
44
44
  The offer being requested.
45
45
 
@@ -39,7 +39,7 @@ The consumer id for the contract.
39
39
 
40
40
  ### offer
41
41
 
42
- > **offer**: `IOdrlOffer`
42
+ > **offer**: [`IDataspaceProtocolOfferNoContext`](../type-aliases/IDataspaceProtocolOfferNoContext.md)
43
43
 
44
44
  The offer being requested.
45
45
 
@@ -65,7 +65,7 @@ Endpoint URL
65
65
 
66
66
  ### servesDataset?
67
67
 
68
- > `optional` **servesDataset**: `ObjectOrArray`\<`Omit`\<[`IDataspaceProtocolDataset`](IDataspaceProtocolDataset.md), `"@context"`\>\>
68
+ > `optional` **servesDataset**: [`IDataspaceProtocolDatasetNoContext`](../type-aliases/IDataspaceProtocolDatasetNoContext.md) \| [`IDataspaceProtocolDatasetNoContext`](../type-aliases/IDataspaceProtocolDatasetNoContext.md)[]
69
69
 
70
70
  Datasets served.
71
71
 
@@ -10,7 +10,7 @@ by overriding properties with more specific types and constraints.
10
10
  - `odrl:hasPolicy` MUST be present as an array of ODRL Offers (REQUIRED)
11
11
  - Array MUST contain at least one IOdrlOffer
12
12
  - Each Offer MUST have `@type`: "Offer"
13
- - Each Offer MUST have `@id` or `uid` for identification
13
+ - Each Offer MUST have `@id`
14
14
  - `dcat:distribution` MUST be present (REQUIRED)
15
15
 
16
16
  **Type System Design:**
@@ -69,7 +69,7 @@ REQUIRED per Eclipse Data Space Protocol.
69
69
 
70
70
  ### hasPolicy
71
71
 
72
- > **hasPolicy**: `ObjectOrArray`\<[`IDataspaceProtocolOffer`](IDataspaceProtocolOffer.md)\>
72
+ > **hasPolicy**: [`IDataspaceProtocolOfferNoContext`](../type-aliases/IDataspaceProtocolOfferNoContext.md) \| [`IDataspaceProtocolOfferNoContext`](../type-aliases/IDataspaceProtocolOfferNoContext.md)[]
73
73
 
74
74
  Array of ODRL policies (Offers) as required by DS Protocol.
75
75
 
@@ -82,7 +82,7 @@ allows for future multi-offer support.
82
82
 
83
83
  ### distribution
84
84
 
85
- > **distribution**: `ObjectOrArray`\<`Omit`\<[`IDataspaceProtocolDistribution`](IDataspaceProtocolDistribution.md), `"@context"`\>\>
85
+ > **distribution**: [`IDataspaceProtocolDistributionNoContext`](../type-aliases/IDataspaceProtocolDistributionNoContext.md) \| [`IDataspaceProtocolDistributionNoContext`](../type-aliases/IDataspaceProtocolDistributionNoContext.md)[]
86
86
 
87
87
  Distribution of the dataset.
88
88
  REQUIRED per Eclipse Data Space Protocol.
@@ -68,7 +68,7 @@ REQUIRED per Eclipse Data Space Protocol.
68
68
 
69
69
  ### hasPolicy?
70
70
 
71
- > `optional` **hasPolicy**: `ObjectOrArray`\<[`IDataspaceProtocolOffer`](IDataspaceProtocolOffer.md)\>
71
+ > `optional` **hasPolicy**: [`IDataspaceProtocolOfferNoContext`](../type-aliases/IDataspaceProtocolOfferNoContext.md) \| [`IDataspaceProtocolOfferNoContext`](../type-aliases/IDataspaceProtocolOfferNoContext.md)[]
72
72
 
73
73
  Array of ODRL policies (Offers) as required by DS Protocol.
74
74
 
@@ -81,7 +81,7 @@ allows for future multi-offer support.
81
81
 
82
82
  ### accessService
83
83
 
84
- > **accessService**: `string` \| `Omit`\<[`IDataspaceProtocolDataService`](IDataspaceProtocolDataService.md), `"@context"`\>
84
+ > **accessService**: `string` \| [`IDataspaceProtocolDataServiceNoContext`](../type-aliases/IDataspaceProtocolDataServiceNoContext.md)
85
85
 
86
86
  Access service.
87
87
  It can be a URI pointing to an access service or inline the access service itself
@@ -5,7 +5,6 @@ Offer interface compliant with Eclipse Data Space Protocol.
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
11
10
 
@@ -14,7 +13,7 @@ Extends IOdrlOffer with DS Protocol-specific constraints:
14
13
 
15
14
  ## Extends
16
15
 
17
- - `Omit`\<`IOdrlOffer`, `"@context"` \| `"uid"`\>
16
+ - `Omit`\<`IOdrlOffer`, `"uid"`\>
18
17
 
19
18
  ## Properties
20
19
 
@@ -51,6 +50,19 @@ Required for Offer policies.
51
50
 
52
51
  ***
53
52
 
53
+ ### @context
54
+
55
+ > **@context**: `OdrlContextType`
56
+
57
+ The context for the policy.
58
+ Must include "https://www.w3.org/ns/odrl.jsonld"
59
+
60
+ #### Inherited from
61
+
62
+ `Omit.@context`
63
+
64
+ ***
65
+
54
66
  ### profile?
55
67
 
56
68
  > `optional` **profile**: `string` \| `string`[]