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

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 (42) hide show
  1. package/dist/es/models/dcat3/IDataspaceProtocolDataServiceBase.js.map +1 -1
  2. package/dist/es/models/dcat3/IDataspaceProtocolDatasetBase.js.map +1 -1
  3. package/dist/es/models/dcat3/IDataspaceProtocolDistributionBase.js.map +1 -1
  4. package/dist/es/schemas/DataspaceProtocolAgreement.json +3 -3
  5. package/dist/es/schemas/DataspaceProtocolContractAgreementMessage.json +3 -3
  6. package/dist/es/schemas/DataspaceProtocolDataServiceBase.json +6 -12
  7. package/dist/es/schemas/DataspaceProtocolDatasetBase.json +12 -24
  8. package/dist/es/schemas/DataspaceProtocolDistributionBase.json +6 -12
  9. package/dist/es/schemas/DataspaceProtocolOfferBase.json +3 -3
  10. package/dist/es/schemas/DataspaceProtocolPolicy.json +4 -4
  11. package/dist/es/schemas/DataspaceProtocolSet.json +3 -3
  12. package/dist/types/models/dcat3/IDataspaceProtocolDataServiceBase.d.ts +2 -2
  13. package/dist/types/models/dcat3/IDataspaceProtocolDatasetBase.d.ts +4 -3
  14. package/dist/types/models/dcat3/IDataspaceProtocolDistributionBase.d.ts +2 -2
  15. package/docs/changelog.md +34 -0
  16. package/docs/reference/interfaces/IDataspaceProtocolAgreement.md +8 -8
  17. package/docs/reference/interfaces/IDataspaceProtocolCatalog.md +34 -34
  18. package/docs/reference/interfaces/IDataspaceProtocolCatalogBase.md +34 -34
  19. package/docs/reference/interfaces/IDataspaceProtocolCatalogError.md +1 -1
  20. package/docs/reference/interfaces/IDataspaceProtocolCatalogRequestMessage.md +1 -1
  21. package/docs/reference/interfaces/IDataspaceProtocolContractAgreementMessage.md +1 -1
  22. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationError.md +2 -2
  23. package/docs/reference/interfaces/IDataspaceProtocolContractNegotiationTerminationMessage.md +2 -2
  24. package/docs/reference/interfaces/IDataspaceProtocolContractOfferMessage.md +2 -2
  25. package/docs/reference/interfaces/IDataspaceProtocolContractRequestMessage.md +2 -2
  26. package/docs/reference/interfaces/IDataspaceProtocolDataAddress.md +2 -2
  27. package/docs/reference/interfaces/IDataspaceProtocolDataService.md +21 -21
  28. package/docs/reference/interfaces/IDataspaceProtocolDataServiceBase.md +21 -21
  29. package/docs/reference/interfaces/IDataspaceProtocolDataset.md +27 -27
  30. package/docs/reference/interfaces/IDataspaceProtocolDatasetBase.md +27 -27
  31. package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +19 -19
  32. package/docs/reference/interfaces/IDataspaceProtocolDistributionBase.md +20 -20
  33. package/docs/reference/interfaces/IDataspaceProtocolOffer.md +9 -9
  34. package/docs/reference/interfaces/IDataspaceProtocolOfferBase.md +9 -9
  35. package/docs/reference/interfaces/IDataspaceProtocolPolicy.md +11 -11
  36. package/docs/reference/interfaces/IDataspaceProtocolSet.md +10 -10
  37. package/docs/reference/interfaces/IDataspaceProtocolTransferError.md +2 -2
  38. package/docs/reference/interfaces/IDataspaceProtocolTransferRequestMessage.md +1 -1
  39. package/docs/reference/interfaces/IDataspaceProtocolTransferStartMessage.md +1 -1
  40. package/docs/reference/interfaces/IDataspaceProtocolTransferSuspensionMessage.md +2 -2
  41. package/docs/reference/interfaces/IDataspaceProtocolTransferTerminationMessage.md +2 -2
  42. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"IDataspaceProtocolDataServiceBase.js","sourceRoot":"","sources":["../../../../src/models/dcat3/IDataspaceProtocolDataServiceBase.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDataServiceBase } from \"@twin.org/standards-w3c-dcat\";\nimport type { IDataspaceProtocolDatasetBase } from \"./IDataspaceProtocolDatasetBase.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"../catalog/dataspaceProtocolCatalogTypes.js\";\n\n/**\n * Data Service interface compliant with Eclipse Data Space Protocol.\n *\n * This interface extends IDataService and enforces DS Protocol-specific requirements\n * by overriding properties with more specific types and constraints.\n *\n * **Requirements per DS Protocol:**\n * - `@id` MUST be present for dataset identification (REQUIRED)\n * - endpointURL MUST be present (REQUIRED)\n *\n * **Type System Design:**\n * - Interface extension allows TypeScript to override inherited property types\n * - Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n * - DS Protocol-specific constraints are defined here\n *\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see https://www.w3.org/TR/vocab-dcat-3/ - W3C DCAT v3 spec\n *\n */\nexport interface IDataspaceProtocolDataServiceBase extends Omit<\n\tIDcatDataServiceBase,\n\t\"@type\" | \"dcat:servesDataset\" | \"dcat:endpointURL\"\n> {\n\t/**\n\t * The type identifier for the Data Service.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@type\": typeof DataspaceProtocolCatalogTypes.DataService;\n\n\t/**\n\t * Unique identifier for the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@id\": string;\n\n\t/**\n\t * Endpoint URL.\n\t */\n\tendpointURL: string;\n\n\t/**\n\t * Datasets served.\n\t */\n\tservesDataset?: ObjectOrArray<IDataspaceProtocolDatasetBase>;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceProtocolDataServiceBase.js","sourceRoot":"","sources":["../../../../src/models/dcat3/IDataspaceProtocolDataServiceBase.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDataServiceBase } from \"@twin.org/standards-w3c-dcat\";\nimport type { IDataspaceProtocolDatasetBase } from \"./IDataspaceProtocolDatasetBase.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"../catalog/dataspaceProtocolCatalogTypes.js\";\n\n/**\n * Data Service interface compliant with Eclipse Data Space Protocol.\n *\n * This interface extends IDataService and enforces DS Protocol-specific requirements\n * by overriding properties with more specific types and constraints.\n *\n * **Requirements per DS Protocol:**\n * - `@id` MUST be present for dataset identification (REQUIRED)\n * - endpointURL MUST be present (REQUIRED)\n *\n * **Type System Design:**\n * - Interface extension allows TypeScript to override inherited property types\n * - Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n * - DS Protocol-specific constraints are defined here\n *\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see https://www.w3.org/TR/vocab-dcat-3/ - W3C DCAT v3 spec\n *\n */\nexport interface IDataspaceProtocolDataServiceBase extends Omit<\n\tIDcatDataServiceBase,\n\t\"@type\" | \"dcat:servesDataset\" | \"dcat:endpointURL\"\n> {\n\t/**\n\t * The type identifier for the Data Service.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@type\": typeof DataspaceProtocolCatalogTypes.DataService;\n\n\t/**\n\t * Unique identifier for the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@id\": string;\n\n\t/**\n\t * Endpoint URL.\n\t */\n\tendpointURL: string;\n\n\t/**\n\t * Datasets served.\n\t * @json-schema minItems:1\n\t */\n\tservesDataset?: IDataspaceProtocolDatasetBase[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDataspaceProtocolDatasetBase.js","sourceRoot":"","sources":["../../../../src/models/dcat3/IDataspaceProtocolDatasetBase.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDatasetBase } from \"@twin.org/standards-w3c-dcat\";\nimport type { IDataspaceProtocolDistributionBase } from \"./IDataspaceProtocolDistributionBase.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"../catalog/dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolOfferBase } from \"../odrl/IDataspaceProtocolOfferBase.js\";\n\n/**\n * Dataset interface compliant with Eclipse Data Space Protocol.\n *\n * This interface extends IDataset and enforces DS Protocol-specific requirements\n * by overriding properties with more specific types and constraints.\n *\n * **Requirements per DS Protocol:**\n * - `@id` MUST be present for dataset identification (REQUIRED)\n * - `odrl:hasPolicy` MUST be present as an array of ODRL Offers (REQUIRED)\n * - Array MUST contain at least one IOdrlOffer\n * - Each Offer MUST have `@type`: \"Offer\"\n * - Each Offer MUST have `@id`\n * - `dcat:distribution` MUST be present (REQUIRED)\n *\n * **Type System Design:**\n * - W3C DCAT spec defines `odrl:hasPolicy` as optional singular `IOdrlPolicy`\n * - DS Protocol requires it as a REQUIRED array of `IOdrlOffer`\n * - Interface extension allows TypeScript to override inherited property types\n * - Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n * - DS Protocol-specific constraints are defined here\n *\n * **Future Compatibility:**\n * - Currently only one Offer per dataset is supported\n * - Array structure allows future support for multiple offers\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see https://www.w3.org/TR/vocab-dcat-3/ - W3C DCAT v3 spec\n * @see IOdrlOffer from @twin.org/standards-w3c-odrl\n * @see IResource.odrl:hasPolicy from @twin.org/standards-w3c-dcat\n */\nexport interface IDataspaceProtocolDatasetBase extends Omit<\n\tIDcatDatasetBase,\n\t\"odrl:hasPolicy\" | \"dcat:distribution\" | \"@type\"\n> {\n\t/**\n\t * The type identifier for the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@type\": typeof DataspaceProtocolCatalogTypes.Dataset;\n\n\t/**\n\t * Unique identifier for the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@id\": string;\n\n\t/**\n\t * Array of ODRL policies (Offers) as required by DS Protocol.\n\t *\n\t * REQUIRED per Eclipse Data Space Protocol spec.\n\t * Must contain at least one IOdrlOffer.\n\t * Currently only single offer is supported, but array structure\n\t * allows for future multi-offer support.\n\t */\n\thasPolicy: ObjectOrArray<IDataspaceProtocolOfferBase>;\n\n\t/**\n\t * Distribution of the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\tdistribution: ObjectOrArray<IDataspaceProtocolDistributionBase>;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceProtocolDatasetBase.js","sourceRoot":"","sources":["../../../../src/models/dcat3/IDataspaceProtocolDatasetBase.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDatasetBase } from \"@twin.org/standards-w3c-dcat\";\nimport type { IDataspaceProtocolDistributionBase } from \"./IDataspaceProtocolDistributionBase.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"../catalog/dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolOfferBase } from \"../odrl/IDataspaceProtocolOfferBase.js\";\n\n/**\n * Dataset interface compliant with Eclipse Data Space Protocol.\n *\n * This interface extends IDataset and enforces DS Protocol-specific requirements\n * by overriding properties with more specific types and constraints.\n *\n * **Requirements per DS Protocol:**\n * - `@id` MUST be present for dataset identification (REQUIRED)\n * - `odrl:hasPolicy` MUST be present as an array of ODRL Offers (REQUIRED)\n * - Array MUST contain at least one IOdrlOffer\n * - Each Offer MUST have `@type`: \"Offer\"\n * - Each Offer MUST have `@id`\n * - `dcat:distribution` MUST be present (REQUIRED)\n *\n * **Type System Design:**\n * - W3C DCAT spec defines `odrl:hasPolicy` as optional singular `IOdrlPolicy`\n * - DS Protocol requires it as a REQUIRED array of `IOdrlOffer`\n * - Interface extension allows TypeScript to override inherited property types\n * - Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n * - DS Protocol-specific constraints are defined here\n *\n * **Future Compatibility:**\n * - Currently only one Offer per dataset is supported\n * - Array structure allows future support for multiple offers\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see https://www.w3.org/TR/vocab-dcat-3/ - W3C DCAT v3 spec\n * @see IOdrlOffer from @twin.org/standards-w3c-odrl\n * @see IResource.odrl:hasPolicy from @twin.org/standards-w3c-dcat\n */\nexport interface IDataspaceProtocolDatasetBase extends Omit<\n\tIDcatDatasetBase,\n\t\"odrl:hasPolicy\" | \"dcat:distribution\" | \"@type\"\n> {\n\t/**\n\t * The type identifier for the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@type\": typeof DataspaceProtocolCatalogTypes.Dataset;\n\n\t/**\n\t * Unique identifier for the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@id\": string;\n\n\t/**\n\t * Array of ODRL policies (Offers) as required by DS Protocol.\n\t *\n\t * REQUIRED per Eclipse Data Space Protocol spec.\n\t * Must contain at least one IOdrlOffer.\n\t * Currently only single offer is supported, but array structure\n\t * allows for future multi-offer support.\n\t * @json-schema minItems:1\n\t */\n\thasPolicy: IDataspaceProtocolOfferBase[];\n\n\t/**\n\t * Distribution of the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t * @json-schema minItems:1\n\t */\n\tdistribution: IDataspaceProtocolDistributionBase[];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"IDataspaceProtocolDistributionBase.js","sourceRoot":"","sources":["../../../../src/models/dcat3/IDataspaceProtocolDistributionBase.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDistributionBase } from \"@twin.org/standards-w3c-dcat\";\nimport type { IDataspaceProtocolDataServiceBase } from \"./IDataspaceProtocolDataServiceBase.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"../catalog/dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolOfferBase } from \"../odrl/IDataspaceProtocolOfferBase.js\";\n\n/**\n * Distribution interface compliant with Eclipse Data Space Protocol.\n *\n * This interface extends IDistribution and enforces DS Protocol-specific requirements\n * by overriding properties with more specific types and constraints.\n *\n * **Requirements per DS Protocol:**\n * - `@id` MUST be present for dataset identification (REQUIRED)\n * - `odrl:hasPolicy` MIGHT be present as an array of ODRL Offers (OPTIONAL)\n * - Array MUST contain at least one IOdrlOffer\n * - Each Offer MUST have `@type`: \"Offer\"\n * - `format` is REQUIRED.\n *\n * **Type System Design:**\n * - W3C DCAT spec defines `odrl:hasPolicy` as optional singular `IOdrlPolicy`\n * - DS Protocol requires it as a REQUIRED array of `IOdrlOffer`\n * - Interface extension allows TypeScript to override inherited property types\n * - Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n * - DS Protocol-specific constraints are defined here\n *\n * **Future Compatibility:**\n * - Currently only one Offer per dataset is supported\n * - Array structure allows future support for multiple offers\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see https://www.w3.org/TR/vocab-dcat-3/ - W3C DCAT v3 spec\n * @see IOdrlOffer from @twin.org/standards-w3c-odrl\n * @see IResource.odrl:hasPolicy from @twin.org/standards-w3c-dcat\n */\nexport interface IDataspaceProtocolDistributionBase extends Omit<\n\tIDcatDistributionBase,\n\t\"odrl:hasPolicy\" | \"@type\" | \"dcterms:format\"\n> {\n\t/**\n\t * The type identifier for the Distribution.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@type\": typeof DataspaceProtocolCatalogTypes.Distribution;\n\n\t/**\n\t * Unique identifier for the distribution.\n\t * OPTIONAL for embedded distributions (may use JSON-LD blank nodes).\n\t * REQUIRED on standalone Distribution objects per Eclipse Data Space Protocol.\n\t */\n\t\"@id\"?: string;\n\n\t/**\n\t * Array of ODRL policies (Offers) as required by DS Protocol.\n\t *\n\t * REQUIRED per Eclipse Data Space Protocol spec.\n\t * Must contain at least one IOdrlOffer.\n\t * Currently only single offer is supported, but array structure\n\t * allows for future multi-offer support.\n\t */\n\thasPolicy?: ObjectOrArray<IDataspaceProtocolOfferBase>;\n\n\t/**\n\t * Access service.\n\t * It can be a URI pointing to an access service or inline the access service itself.\n\t */\n\taccessService: string | IDataspaceProtocolDataServiceBase;\n\n\t/**\n\t * Distribution format.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\tformat: string;\n}\n"]}
1
+ {"version":3,"file":"IDataspaceProtocolDistributionBase.js","sourceRoot":"","sources":["../../../../src/models/dcat3/IDataspaceProtocolDistributionBase.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDistributionBase } from \"@twin.org/standards-w3c-dcat\";\nimport type { IDataspaceProtocolDataServiceBase } from \"./IDataspaceProtocolDataServiceBase.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"../catalog/dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolOfferBase } from \"../odrl/IDataspaceProtocolOfferBase.js\";\n\n/**\n * Distribution interface compliant with Eclipse Data Space Protocol.\n *\n * This interface extends IDistribution and enforces DS Protocol-specific requirements\n * by overriding properties with more specific types and constraints.\n *\n * **Requirements per DS Protocol:**\n * - `@id` MUST be present for dataset identification (REQUIRED)\n * - `odrl:hasPolicy` MIGHT be present as an array of ODRL Offers (OPTIONAL)\n * - Array MUST contain at least one IOdrlOffer\n * - Each Offer MUST have `@type`: \"Offer\"\n * - `format` is REQUIRED.\n *\n * **Type System Design:**\n * - W3C DCAT spec defines `odrl:hasPolicy` as optional singular `IOdrlPolicy`\n * - DS Protocol requires it as a REQUIRED array of `IOdrlOffer`\n * - Interface extension allows TypeScript to override inherited property types\n * - Standards packages (@twin.org/standards-w3c-*) follow W3C specs exactly\n * - DS Protocol-specific constraints are defined here\n *\n * **Future Compatibility:**\n * - Currently only one Offer per dataset is supported\n * - Array structure allows future support for multiple offers\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see https://www.w3.org/TR/vocab-dcat-3/ - W3C DCAT v3 spec\n * @see IOdrlOffer from @twin.org/standards-w3c-odrl\n * @see IResource.odrl:hasPolicy from @twin.org/standards-w3c-dcat\n */\nexport interface IDataspaceProtocolDistributionBase extends Omit<\n\tIDcatDistributionBase,\n\t\"odrl:hasPolicy\" | \"@type\" | \"dcterms:format\"\n> {\n\t/**\n\t * The type identifier for the Distribution.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\t\"@type\": typeof DataspaceProtocolCatalogTypes.Distribution;\n\n\t/**\n\t * Unique identifier for the distribution.\n\t * OPTIONAL for embedded distributions (may use JSON-LD blank nodes).\n\t * REQUIRED on standalone Distribution objects per Eclipse Data Space Protocol.\n\t */\n\t\"@id\"?: string;\n\n\t/**\n\t * Array of ODRL policies (Offers) as required by DS Protocol.\n\t *\n\t * REQUIRED per Eclipse Data Space Protocol spec.\n\t * Must contain at least one IOdrlOffer.\n\t * Currently only single offer is supported, but array structure\n\t * allows for future multi-offer support.\n\t * @json-schema minItems:1\n\t */\n\thasPolicy?: IDataspaceProtocolOfferBase[];\n\n\t/**\n\t * Access service.\n\t * It can be a URI pointing to an access service or inline the access service itself.\n\t */\n\taccessService: string | IDataspaceProtocolDataServiceBase;\n\n\t/**\n\t * Distribution format.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\tformat: string;\n}\n"]}
@@ -101,7 +101,7 @@
101
101
  "action": {
102
102
  "anyOf": [
103
103
  {
104
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
104
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
105
105
  },
106
106
  {
107
107
  "type": "string"
@@ -114,7 +114,7 @@
114
114
  "items": {
115
115
  "anyOf": [
116
116
  {
117
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
117
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
118
118
  },
119
119
  {
120
120
  "type": "string"
@@ -145,7 +145,7 @@
145
145
  "$comment": "Inherited from OdrlPolicy"
146
146
  },
147
147
  "conflict": {
148
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
148
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
149
149
  "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)",
150
150
  "$comment": "Inherited from OdrlPolicy"
151
151
  },
@@ -103,7 +103,7 @@
103
103
  "action": {
104
104
  "anyOf": [
105
105
  {
106
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
106
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
107
107
  },
108
108
  {
109
109
  "type": "string"
@@ -116,7 +116,7 @@
116
116
  "items": {
117
117
  "anyOf": [
118
118
  {
119
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
119
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
120
120
  },
121
121
  {
122
122
  "type": "string"
@@ -147,7 +147,7 @@
147
147
  "$comment": "Inherited from OdrlPolicy"
148
148
  },
149
149
  "conflict": {
150
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
150
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
151
151
  "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)",
152
152
  "$comment": "Inherited from OdrlPolicy"
153
153
  },
@@ -18,18 +18,12 @@
18
18
  "description": "Endpoint URL."
19
19
  },
20
20
  "servesDataset": {
21
- "anyOf": [
22
- {
23
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolDatasetBase"
24
- },
25
- {
26
- "type": "array",
27
- "items": {
28
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolDatasetBase"
29
- }
30
- }
31
- ],
32
- "description": "Datasets served."
21
+ "type": "array",
22
+ "items": {
23
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolDatasetBase"
24
+ },
25
+ "description": "Datasets served.",
26
+ "minItems": 1
33
27
  }
34
28
  },
35
29
  "required": [
@@ -14,32 +14,20 @@
14
14
  "description": "Unique identifier for the dataset.\nREQUIRED per Eclipse Data Space Protocol."
15
15
  },
16
16
  "hasPolicy": {
17
- "anyOf": [
18
- {
19
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOfferBase"
20
- },
21
- {
22
- "type": "array",
23
- "items": {
24
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOfferBase"
25
- }
26
- }
27
- ],
28
- "description": "Array of ODRL policies (Offers) as required by DS Protocol.\n\nREQUIRED per Eclipse Data Space Protocol spec.\nMust contain at least one IOdrlOffer.\nCurrently only single offer is supported, but array structure\nallows for future multi-offer support."
17
+ "type": "array",
18
+ "items": {
19
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOfferBase"
20
+ },
21
+ "description": "Array of ODRL policies (Offers) as required by DS Protocol.\n\nREQUIRED per Eclipse Data Space Protocol spec.\nMust contain at least one IOdrlOffer.\nCurrently only single offer is supported, but array structure\nallows for future multi-offer support.",
22
+ "minItems": 1
29
23
  },
30
24
  "distribution": {
31
- "anyOf": [
32
- {
33
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolDistributionBase"
34
- },
35
- {
36
- "type": "array",
37
- "items": {
38
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolDistributionBase"
39
- }
40
- }
41
- ],
42
- "description": "Distribution of the dataset.\nREQUIRED per Eclipse Data Space Protocol."
25
+ "type": "array",
26
+ "items": {
27
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolDistributionBase"
28
+ },
29
+ "description": "Distribution of the dataset.\nREQUIRED per Eclipse Data Space Protocol.",
30
+ "minItems": 1
43
31
  }
44
32
  },
45
33
  "required": [
@@ -14,18 +14,12 @@
14
14
  "description": "Unique identifier for the distribution.\nOPTIONAL for embedded distributions (may use JSON-LD blank nodes).\nREQUIRED on standalone Distribution objects per Eclipse Data Space Protocol."
15
15
  },
16
16
  "hasPolicy": {
17
- "anyOf": [
18
- {
19
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOfferBase"
20
- },
21
- {
22
- "type": "array",
23
- "items": {
24
- "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOfferBase"
25
- }
26
- }
27
- ],
28
- "description": "Array of ODRL policies (Offers) as required by DS Protocol.\n\nREQUIRED per Eclipse Data Space Protocol spec.\nMust contain at least one IOdrlOffer.\nCurrently only single offer is supported, but array structure\nallows for future multi-offer support."
17
+ "type": "array",
18
+ "items": {
19
+ "$ref": "https://schema.twindev.org/dataspace-protocol/DataspaceProtocolOfferBase"
20
+ },
21
+ "description": "Array of ODRL policies (Offers) as required by DS Protocol.\n\nREQUIRED per Eclipse Data Space Protocol spec.\nMust contain at least one IOdrlOffer.\nCurrently only single offer is supported, but array structure\nallows for future multi-offer support.",
22
+ "minItems": 1
29
23
  },
30
24
  "accessService": {
31
25
  "anyOf": [
@@ -115,7 +115,7 @@
115
115
  "action": {
116
116
  "anyOf": [
117
117
  {
118
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
118
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
119
119
  },
120
120
  {
121
121
  "type": "string"
@@ -128,7 +128,7 @@
128
128
  "items": {
129
129
  "anyOf": [
130
130
  {
131
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
131
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
132
132
  },
133
133
  {
134
134
  "type": "string"
@@ -159,7 +159,7 @@
159
159
  "$comment": "Inherited from OdrlPolicy"
160
160
  },
161
161
  "conflict": {
162
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
162
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
163
163
  "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)",
164
164
  "$comment": "Inherited from OdrlPolicy"
165
165
  },
@@ -23,7 +23,7 @@
23
23
  "description": "The context for the policy.\nMust include \"https://www.w3.org/ns/odrl.jsonld\""
24
24
  },
25
25
  "@type": {
26
- "$ref": "https://schema.twindev.org/w3c-odrl/PolicyTypePolicyType",
26
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlPolicyType",
27
27
  "description": "The type of policy.\nMust be one of: \"Set\", \"Offer\", \"Agreement\""
28
28
  },
29
29
  "profile": {
@@ -133,7 +133,7 @@
133
133
  "action": {
134
134
  "anyOf": [
135
135
  {
136
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
136
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
137
137
  },
138
138
  {
139
139
  "type": "string"
@@ -146,7 +146,7 @@
146
146
  "items": {
147
147
  "anyOf": [
148
148
  {
149
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
149
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
150
150
  },
151
151
  {
152
152
  "type": "string"
@@ -175,7 +175,7 @@
175
175
  "description": "The parent policy(ies) this policy inherits from.\nIRIs identifying the parent Policy(ies)."
176
176
  },
177
177
  "conflict": {
178
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
178
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
179
179
  "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)"
180
180
  },
181
181
  "permission": {
@@ -139,7 +139,7 @@
139
139
  "action": {
140
140
  "anyOf": [
141
141
  {
142
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
142
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
143
143
  },
144
144
  {
145
145
  "type": "string"
@@ -152,7 +152,7 @@
152
152
  "items": {
153
153
  "anyOf": [
154
154
  {
155
- "$ref": "https://schema.twindev.org/w3c-odrl/ActionTypeActionType"
155
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlActionType"
156
156
  },
157
157
  {
158
158
  "type": "string"
@@ -183,7 +183,7 @@
183
183
  "$comment": "Inherited from OdrlPolicy"
184
184
  },
185
185
  "conflict": {
186
- "$ref": "https://schema.twindev.org/w3c-odrl/ConflictStrategyTypeConflictStrategyType",
186
+ "$ref": "https://schema.twindev.org/w3c-odrl/OdrlConflictStrategyType",
187
187
  "description": "The conflict resolution strategy.\n- perm: Permissions override Prohibitions\n- prohibit: Prohibitions override Permissions\n- invalid: Policy is void if conflicts exist (default)",
188
188
  "$comment": "Inherited from OdrlPolicy"
189
189
  },
@@ -1,4 +1,3 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
1
  import type { IDcatDataServiceBase } from "@twin.org/standards-w3c-dcat";
3
2
  import type { IDataspaceProtocolDatasetBase } from "./IDataspaceProtocolDatasetBase.js";
4
3
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
@@ -39,6 +38,7 @@ export interface IDataspaceProtocolDataServiceBase extends Omit<IDcatDataService
39
38
  endpointURL: string;
40
39
  /**
41
40
  * Datasets served.
41
+ * @json-schema minItems:1
42
42
  */
43
- servesDataset?: ObjectOrArray<IDataspaceProtocolDatasetBase>;
43
+ servesDataset?: IDataspaceProtocolDatasetBase[];
44
44
  }
@@ -1,4 +1,3 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
1
  import type { IDcatDatasetBase } from "@twin.org/standards-w3c-dcat";
3
2
  import type { IDataspaceProtocolDistributionBase } from "./IDataspaceProtocolDistributionBase.js";
4
3
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
@@ -51,11 +50,13 @@ export interface IDataspaceProtocolDatasetBase extends Omit<IDcatDatasetBase, "o
51
50
  * Must contain at least one IOdrlOffer.
52
51
  * Currently only single offer is supported, but array structure
53
52
  * allows for future multi-offer support.
53
+ * @json-schema minItems:1
54
54
  */
55
- hasPolicy: ObjectOrArray<IDataspaceProtocolOfferBase>;
55
+ hasPolicy: IDataspaceProtocolOfferBase[];
56
56
  /**
57
57
  * Distribution of the dataset.
58
58
  * REQUIRED per Eclipse Data Space Protocol.
59
+ * @json-schema minItems:1
59
60
  */
60
- distribution: ObjectOrArray<IDataspaceProtocolDistributionBase>;
61
+ distribution: IDataspaceProtocolDistributionBase[];
61
62
  }
@@ -1,4 +1,3 @@
1
- import type { ObjectOrArray } from "@twin.org/core";
2
1
  import type { IDcatDistributionBase } from "@twin.org/standards-w3c-dcat";
3
2
  import type { IDataspaceProtocolDataServiceBase } from "./IDataspaceProtocolDataServiceBase.js";
4
3
  import type { DataspaceProtocolCatalogTypes } from "../catalog/dataspaceProtocolCatalogTypes.js";
@@ -51,8 +50,9 @@ export interface IDataspaceProtocolDistributionBase extends Omit<IDcatDistributi
51
50
  * Must contain at least one IOdrlOffer.
52
51
  * Currently only single offer is supported, but array structure
53
52
  * allows for future multi-offer support.
53
+ * @json-schema minItems:1
54
54
  */
55
- hasPolicy?: ObjectOrArray<IDataspaceProtocolOfferBase>;
55
+ hasPolicy?: IDataspaceProtocolOfferBase[];
56
56
  /**
57
57
  * Access service.
58
58
  * It can be a URI pointing to an access service or inline the access service itself.
package/docs/changelog.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.0.3-next.57](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.56...standards-dataspace-protocol-v0.0.3-next.57) (2026-03-20)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * min items in dataspace protocol ([c94f8df](https://github.com/twinfoundation/standards/commit/c94f8dfae176b46baaade13a4ab6d3df82f0cffa))
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.56 to 0.0.3-next.57
16
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.56 to 0.0.3-next.57
17
+ * devDependencies
18
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.56 to 0.0.3-next.57
19
+
20
+ ## [0.0.3-next.56](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.55...standards-dataspace-protocol-v0.0.3-next.56) (2026-03-20)
21
+
22
+
23
+ ### Features
24
+
25
+ * fixes in dataspace and odrl ([9924f91](https://github.com/twinfoundation/standards/commit/9924f9135cb6e227e1040065ab017b1c7ef8347a))
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.55 to 0.0.3-next.56
33
+ * @twin.org/standards-w3c-odrl bumped from 0.0.3-next.55 to 0.0.3-next.56
34
+ * devDependencies
35
+ * @twin.org/standards-ld-contexts bumped from 0.0.3-next.55 to 0.0.3-next.56
36
+
3
37
  ## [0.0.3-next.55](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.54...standards-dataspace-protocol-v0.0.3-next.55) (2026-03-19)
4
38
 
5
39
 
@@ -78,7 +78,7 @@ Must include "https://www.w3.org/ns/odrl.jsonld"
78
78
 
79
79
  ### profile? {#profile}
80
80
 
81
- > `optional` **profile**: `ObjectOrArray`\<`string`\>
81
+ > `optional` **profile?**: `ObjectOrArray`\<`string`\>
82
82
 
83
83
  The profile(s) this policy conforms to.
84
84
  IRIs identifying the ODRL Profile(s).
@@ -91,7 +91,7 @@ IRIs identifying the ODRL Profile(s).
91
91
 
92
92
  ### target? {#target}
93
93
 
94
- > `optional` **target**: `ObjectOrArray`\<`string` \| `IOdrlAsset` \| `IOdrlAssetCollection`\>
94
+ > `optional` **target?**: `ObjectOrArray`\<`string` \| `IOdrlAsset` \| `IOdrlAssetCollection`\>
95
95
 
96
96
  The target asset for the rule.
97
97
 
@@ -103,7 +103,7 @@ The target asset for the rule.
103
103
 
104
104
  ### action? {#action}
105
105
 
106
- > `optional` **action**: `ObjectOrArray`\<`string` \| `IOdrlAction`\>
106
+ > `optional` **action?**: `ObjectOrArray`\<`string` \| `IOdrlAction`\>
107
107
 
108
108
  The action associated with the rule.
109
109
 
@@ -115,7 +115,7 @@ The action associated with the rule.
115
115
 
116
116
  ### inheritFrom? {#inheritfrom}
117
117
 
118
- > `optional` **inheritFrom**: `ObjectOrArray`\<`string`\>
118
+ > `optional` **inheritFrom?**: `ObjectOrArray`\<`string`\>
119
119
 
120
120
  The parent policy(ies) this policy inherits from.
121
121
  IRIs identifying the parent Policy(ies).
@@ -128,7 +128,7 @@ IRIs identifying the parent Policy(ies).
128
128
 
129
129
  ### conflict? {#conflict}
130
130
 
131
- > `optional` **conflict**: `ConflictStrategyType`
131
+ > `optional` **conflict?**: `OdrlConflictStrategyType`
132
132
 
133
133
  The conflict resolution strategy.
134
134
  - perm: Permissions override Prohibitions
@@ -143,7 +143,7 @@ The conflict resolution strategy.
143
143
 
144
144
  ### permission? {#permission}
145
145
 
146
- > `optional` **permission**: `ObjectOrArray`\<`IOdrlPermission`\>
146
+ > `optional` **permission?**: `ObjectOrArray`\<`IOdrlPermission`\>
147
147
 
148
148
  The permissions in the policy.
149
149
  At least one of permission, prohibition, or obligation must be present.
@@ -156,7 +156,7 @@ At least one of permission, prohibition, or obligation must be present.
156
156
 
157
157
  ### prohibition? {#prohibition}
158
158
 
159
- > `optional` **prohibition**: `ObjectOrArray`\<`IOdrlProhibition`\>
159
+ > `optional` **prohibition?**: `ObjectOrArray`\<`IOdrlProhibition`\>
160
160
 
161
161
  The prohibitions in the policy.
162
162
  At least one of permission, prohibition, or obligation must be present.
@@ -169,7 +169,7 @@ At least one of permission, prohibition, or obligation must be present.
169
169
 
170
170
  ### obligation? {#obligation}
171
171
 
172
- > `optional` **obligation**: `ObjectOrArray`\<`IOdrlDuty`\>
172
+ > `optional` **obligation?**: `ObjectOrArray`\<`IOdrlDuty`\>
173
173
 
174
174
  The obligations in the policy.
175
175
  At least one of permission, prohibition, or obligation must be present.