@twin.org/standards-dataspace-protocol 0.0.3-next.44 → 0.0.3-next.46
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.
- package/dist/es/index.js +1 -0
- package/dist/es/index.js.map +1 -1
- package/dist/es/models/catalog/IDataspaceProtocolDataset.js.map +1 -1
- package/dist/es/models/catalog/IDataspaceProtocolDistribution.js.map +1 -1
- package/dist/es/models/catalog/IDataspaceProtocolOffer.js +2 -0
- package/dist/es/models/catalog/IDataspaceProtocolOffer.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/models/catalog/IDataspaceProtocolDataset.d.ts +2 -2
- package/dist/types/models/catalog/IDataspaceProtocolDistribution.d.ts +2 -2
- package/dist/types/models/catalog/IDataspaceProtocolOffer.d.ts +22 -0
- package/docs/changelog.md +34 -0
- package/docs/reference/index.md +1 -0
- package/docs/reference/interfaces/IDataspaceProtocolDataset.md +1 -1
- package/docs/reference/interfaces/IDataspaceProtocolDistribution.md +1 -1
- package/docs/reference/interfaces/IDataspaceProtocolOffer.md +175 -0
- package/package.json +3 -3
package/dist/es/index.js
CHANGED
|
@@ -11,6 +11,7 @@ export * from "./models/catalog/IDataspaceProtocolDatasetRequestMessage.js";
|
|
|
11
11
|
export * from "./models/catalog/IDataspaceProtocolDataset.js";
|
|
12
12
|
export * from "./models/catalog/IDataspaceProtocolCatalog.js";
|
|
13
13
|
export * from "./models/catalog/IDataspaceProtocolDistribution.js";
|
|
14
|
+
export * from "./models/catalog/IDataspaceProtocolOffer.js";
|
|
14
15
|
export * from "./models/catalog/IDataspaceProtocolDataService.js";
|
|
15
16
|
export * from "./dataTypes/catalogDataTypes.js";
|
|
16
17
|
// Contract Negotiation Protocol
|
package/dist/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAE1D,mBAAmB;AACnB,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC;AACnE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,6DAA6D,CAAC;AAE5E,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,mDAAmD,CAAC;AAElE,cAAc,iCAAiC,CAAC;AAEhD,gCAAgC;AAChC,cAAc,2EAA2E,CAAC;AAC1F,cAAc,4EAA4E,CAAC;AAC3F,cAAc,wFAAwF,CAAC;AACvG,cAAc,uEAAuE,CAAC;AACtF,cAAc,4EAA4E,CAAC;AAC3F,cAAc,mFAAmF,CAAC;AAClG,cAAc,yFAAyF,CAAC;AACxG,cAAc,wEAAwE,CAAC;AACvF,cAAc,0EAA0E,CAAC;AACzF,cAAc,qFAAqF,CAAC;AACpG,cAAc,qFAAqF,CAAC;AAEpG,cAAc,6CAA6C,CAAC;AAE5D,4BAA4B;AAC5B,cAAc,mEAAmE,CAAC;AAClF,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gEAAgE,CAAC;AAC/E,cAAc,yEAAyE,CAAC;AACxF,cAAc,6DAA6D,CAAC;AAC5E,cAAc,+DAA+D,CAAC;AAC9E,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,yEAAyE,CAAC;AACxF,cAAc,0EAA0E,CAAC;AACzF,cAAc,6EAA6E,CAAC;AAC5F,cAAc,iEAAiE,CAAC;AAEhF,cAAc,yCAAyC,CAAC;AAExD,cAAc,oCAAoC,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./models/dataspaceProtocolContexts.js\";\nexport * from \"./models/dataspaceProtocolContextType.js\";\nexport * from \"./dataTypes/dataspaceProtocolDataTypes.js\";\n\n// Catalog Protocol\nexport * from \"./models/catalog/dataspaceProtocolCatalogTypes.js\";\nexport * from \"./models/catalog/IDataspaceProtocolCatalogError.js\";\nexport * from \"./models/catalog/IDataspaceProtocolCatalogRequestMessage.js\";\nexport * from \"./models/catalog/IDataspaceProtocolDatasetRequestMessage.js\";\n\nexport * from \"./models/catalog/IDataspaceProtocolDataset.js\";\nexport * from \"./models/catalog/IDataspaceProtocolCatalog.js\";\nexport * from \"./models/catalog/IDataspaceProtocolDistribution.js\";\nexport * from \"./models/catalog/IDataspaceProtocolDataService.js\";\n\nexport * from \"./dataTypes/catalogDataTypes.js\";\n\n// Contract Negotiation Protocol\nexport * from \"./models/contractNegotiation/dataspaceProtocolContractNegotiationTypes.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractAgreementVerificationMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiation.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiationError.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiationEventMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiationTerminationMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractOfferMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractRequestMessage.js\";\nexport * from \"./models/contractNegotiation/types/dataspaceProtocolContractNegotiationEventType.js\";\nexport * from \"./models/contractNegotiation/types/dataspaceProtocolContractNegotiationStateType.js\";\n\nexport * from \"./dataTypes/contractNegotiationDataTypes.js\";\n\n// Transfer Process Protocol\nexport * from \"./models/transferProcess/dataspaceProtocolTransferProcessTypes.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolDataAddress.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolEndpointProperty.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferCompletionMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferError.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferProcess.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferRequestMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferStartMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferSuspensionMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferTerminationMessage.js\";\nexport * from \"./models/transferProcess/types/dataspaceProtocolTransferProcessStateType.js\";\nexport * from \"./models/transferProcess/types/dataspaceProtocolEndpointType.js\";\n\nexport * from \"./dataTypes/transferProcessDataTypes.js\";\n\nexport * from \"./utils/dataspaceProtocolHelper.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,uCAAuC;AACvC,cAAc,uCAAuC,CAAC;AACtD,cAAc,0CAA0C,CAAC;AACzD,cAAc,2CAA2C,CAAC;AAE1D,mBAAmB;AACnB,cAAc,mDAAmD,CAAC;AAClE,cAAc,oDAAoD,CAAC;AACnE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,6DAA6D,CAAC;AAE5E,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,oDAAoD,CAAC;AACnE,cAAc,6CAA6C,CAAC;AAC5D,cAAc,mDAAmD,CAAC;AAElE,cAAc,iCAAiC,CAAC;AAEhD,gCAAgC;AAChC,cAAc,2EAA2E,CAAC;AAC1F,cAAc,4EAA4E,CAAC;AAC3F,cAAc,wFAAwF,CAAC;AACvG,cAAc,uEAAuE,CAAC;AACtF,cAAc,4EAA4E,CAAC;AAC3F,cAAc,mFAAmF,CAAC;AAClG,cAAc,yFAAyF,CAAC;AACxG,cAAc,wEAAwE,CAAC;AACvF,cAAc,0EAA0E,CAAC;AACzF,cAAc,qFAAqF,CAAC;AACpG,cAAc,qFAAqF,CAAC;AAEpG,cAAc,6CAA6C,CAAC;AAE5D,4BAA4B;AAC5B,cAAc,mEAAmE,CAAC;AAClF,cAAc,2DAA2D,CAAC;AAC1E,cAAc,gEAAgE,CAAC;AAC/E,cAAc,yEAAyE,CAAC;AACxF,cAAc,6DAA6D,CAAC;AAC5E,cAAc,+DAA+D,CAAC;AAC9E,cAAc,sEAAsE,CAAC;AACrF,cAAc,oEAAoE,CAAC;AACnF,cAAc,yEAAyE,CAAC;AACxF,cAAc,0EAA0E,CAAC;AACzF,cAAc,6EAA6E,CAAC;AAC5F,cAAc,iEAAiE,CAAC;AAEhF,cAAc,yCAAyC,CAAC;AAExD,cAAc,oCAAoC,CAAC","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nexport * from \"./models/dataspaceProtocolContexts.js\";\nexport * from \"./models/dataspaceProtocolContextType.js\";\nexport * from \"./dataTypes/dataspaceProtocolDataTypes.js\";\n\n// Catalog Protocol\nexport * from \"./models/catalog/dataspaceProtocolCatalogTypes.js\";\nexport * from \"./models/catalog/IDataspaceProtocolCatalogError.js\";\nexport * from \"./models/catalog/IDataspaceProtocolCatalogRequestMessage.js\";\nexport * from \"./models/catalog/IDataspaceProtocolDatasetRequestMessage.js\";\n\nexport * from \"./models/catalog/IDataspaceProtocolDataset.js\";\nexport * from \"./models/catalog/IDataspaceProtocolCatalog.js\";\nexport * from \"./models/catalog/IDataspaceProtocolDistribution.js\";\nexport * from \"./models/catalog/IDataspaceProtocolOffer.js\";\nexport * from \"./models/catalog/IDataspaceProtocolDataService.js\";\n\nexport * from \"./dataTypes/catalogDataTypes.js\";\n\n// Contract Negotiation Protocol\nexport * from \"./models/contractNegotiation/dataspaceProtocolContractNegotiationTypes.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractAgreementMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractAgreementVerificationMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiation.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiationError.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiationEventMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractNegotiationTerminationMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractOfferMessage.js\";\nexport * from \"./models/contractNegotiation/IDataspaceProtocolContractRequestMessage.js\";\nexport * from \"./models/contractNegotiation/types/dataspaceProtocolContractNegotiationEventType.js\";\nexport * from \"./models/contractNegotiation/types/dataspaceProtocolContractNegotiationStateType.js\";\n\nexport * from \"./dataTypes/contractNegotiationDataTypes.js\";\n\n// Transfer Process Protocol\nexport * from \"./models/transferProcess/dataspaceProtocolTransferProcessTypes.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolDataAddress.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolEndpointProperty.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferCompletionMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferError.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferProcess.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferRequestMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferStartMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferSuspensionMessage.js\";\nexport * from \"./models/transferProcess/IDataspaceProtocolTransferTerminationMessage.js\";\nexport * from \"./models/transferProcess/types/dataspaceProtocolTransferProcessStateType.js\";\nexport * from \"./models/transferProcess/types/dataspaceProtocolEndpointType.js\";\n\nexport * from \"./dataTypes/transferProcessDataTypes.js\";\n\nexport * from \"./utils/dataspaceProtocolHelper.js\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDataspaceProtocolDataset.js","sourceRoot":"","sources":["../../../../src/models/catalog/IDataspaceProtocolDataset.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\nimport type {
|
|
1
|
+
{"version":3,"file":"IDataspaceProtocolDataset.js","sourceRoot":"","sources":["../../../../src/models/catalog/IDataspaceProtocolDataset.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDataset } from \"@twin.org/standards-w3c-dcat\";\nimport type { DataspaceProtocolContextType } from \"../dataspaceProtocolContextType.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"./dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolDistribution } from \"./IDataspaceProtocolDistribution.js\";\nimport type { IDataspaceProtocolOffer } from \"./IDataspaceProtocolOffer.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` or `uid` for identification\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 IDataspaceProtocolDataset extends Omit<\n\tIDcatDataset,\n\t\"odrl:hasPolicy\" | \"dcat:distribution\" | \"@type\" | \"@context\"\n> {\n\t/**\n\t * LD Context. Required per Eclipse Data Space Protocol.\n\t */\n\t\"@context\": DataspaceProtocolContextType;\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<IDataspaceProtocolOffer>;\n\n\t/**\n\t * Distribution of the dataset.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\tdistribution: ObjectOrArray<Omit<IDataspaceProtocolDistribution, \"@context\">>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IDataspaceProtocolDistribution.js","sourceRoot":"","sources":["../../../../src/models/catalog/IDataspaceProtocolDistribution.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDistribution } from \"@twin.org/standards-w3c-dcat\";\nimport type {
|
|
1
|
+
{"version":3,"file":"IDataspaceProtocolDistribution.js","sourceRoot":"","sources":["../../../../src/models/catalog/IDataspaceProtocolDistribution.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { ObjectOrArray } from \"@twin.org/core\";\nimport type { IDcatDistribution } from \"@twin.org/standards-w3c-dcat\";\nimport type { DataspaceProtocolContextType } from \"../dataspaceProtocolContextType.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"./dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolDataService } from \"./IDataspaceProtocolDataService.js\";\nimport type { IDataspaceProtocolOffer } from \"./IDataspaceProtocolOffer.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 IDataspaceProtocolDistribution extends Omit<\n\tIDcatDistribution,\n\t\"odrl:hasPolicy\" | \"@type\" | \"@context\" | \"dcterms:format\"\n> {\n\t/**\n\t * LD Context. Required per Eclipse Data Space Protocol.\n\t */\n\t\"@context\": DataspaceProtocolContextType;\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 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<IDataspaceProtocolOffer>;\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 | Omit<IDataspaceProtocolDataService, \"@context\">;\n\n\t/**\n\t * Distribution format.\n\t * REQUIRED per Eclipse Data Space Protocol.\n\t */\n\tformat: string;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IDataspaceProtocolOffer.js","sourceRoot":"","sources":["../../../../src/models/catalog/IDataspaceProtocolOffer.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright 2025 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport type { IOdrlOffer } from \"@twin.org/standards-w3c-odrl\";\n\n/**\n * Offer interface compliant with Eclipse Data Space Protocol.\n *\n * Extends 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)\n * - `uid` is optional (DS Protocol uses `@id` instead of ODRL `uid`)\n *\n * @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types\n * @see IOdrlOffer from @twin.org/standards-w3c-odrl\n */\nexport interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, \"@context\" | \"uid\"> {\n\t/**\n\t * Unique identifier for the offer.\n\t */\n\t\"@id\": string;\n\n\t/**\n\t * Unique identifier for the offer.\n\t */\n\tuid?: string;\n}\n"]}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from "./models/catalog/IDataspaceProtocolDatasetRequestMessage.js";
|
|
|
8
8
|
export * from "./models/catalog/IDataspaceProtocolDataset.js";
|
|
9
9
|
export * from "./models/catalog/IDataspaceProtocolCatalog.js";
|
|
10
10
|
export * from "./models/catalog/IDataspaceProtocolDistribution.js";
|
|
11
|
+
export * from "./models/catalog/IDataspaceProtocolOffer.js";
|
|
11
12
|
export * from "./models/catalog/IDataspaceProtocolDataService.js";
|
|
12
13
|
export * from "./dataTypes/catalogDataTypes.js";
|
|
13
14
|
export * from "./models/contractNegotiation/dataspaceProtocolContractNegotiationTypes.js";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ObjectOrArray } from "@twin.org/core";
|
|
2
2
|
import type { IDcatDataset } from "@twin.org/standards-w3c-dcat";
|
|
3
|
-
import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
|
|
4
3
|
import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
|
|
5
4
|
import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
|
|
6
5
|
import type { IDataspaceProtocolDistribution } from "./IDataspaceProtocolDistribution.js";
|
|
6
|
+
import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
|
|
7
7
|
/**
|
|
8
8
|
* Dataset interface compliant with Eclipse Data Space Protocol.
|
|
9
9
|
*
|
|
@@ -57,7 +57,7 @@ export interface IDataspaceProtocolDataset extends Omit<IDcatDataset, "odrl:hasP
|
|
|
57
57
|
* Currently only single offer is supported, but array structure
|
|
58
58
|
* allows for future multi-offer support.
|
|
59
59
|
*/
|
|
60
|
-
hasPolicy: ObjectOrArray<
|
|
60
|
+
hasPolicy: ObjectOrArray<IDataspaceProtocolOffer>;
|
|
61
61
|
/**
|
|
62
62
|
* Distribution of the dataset.
|
|
63
63
|
* REQUIRED per Eclipse Data Space Protocol.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { ObjectOrArray } from "@twin.org/core";
|
|
2
2
|
import type { IDcatDistribution } from "@twin.org/standards-w3c-dcat";
|
|
3
|
-
import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
|
|
4
3
|
import type { DataspaceProtocolContextType } from "../dataspaceProtocolContextType.js";
|
|
5
4
|
import type { DataspaceProtocolCatalogTypes } from "./dataspaceProtocolCatalogTypes.js";
|
|
6
5
|
import type { IDataspaceProtocolDataService } from "./IDataspaceProtocolDataService.js";
|
|
6
|
+
import type { IDataspaceProtocolOffer } from "./IDataspaceProtocolOffer.js";
|
|
7
7
|
/**
|
|
8
8
|
* Distribution interface compliant with Eclipse Data Space Protocol.
|
|
9
9
|
*
|
|
@@ -56,7 +56,7 @@ export interface IDataspaceProtocolDistribution extends Omit<IDcatDistribution,
|
|
|
56
56
|
* Currently only single offer is supported, but array structure
|
|
57
57
|
* allows for future multi-offer support.
|
|
58
58
|
*/
|
|
59
|
-
hasPolicy?: ObjectOrArray<
|
|
59
|
+
hasPolicy?: ObjectOrArray<IDataspaceProtocolOffer>;
|
|
60
60
|
/**
|
|
61
61
|
* Access service.
|
|
62
62
|
* It can be a URI pointing to an access service or inline the access service itself
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { IOdrlOffer } from "@twin.org/standards-w3c-odrl";
|
|
2
|
+
/**
|
|
3
|
+
* Offer interface compliant with Eclipse Data Space Protocol.
|
|
4
|
+
*
|
|
5
|
+
* Extends IOdrlOffer with DS Protocol-specific constraints:
|
|
6
|
+
* - `@id` is REQUIRED (used as the primary offer identifier in DS Protocol)
|
|
7
|
+
* - `@context` is omitted (inherited from the parent Dataset/Distribution)
|
|
8
|
+
* - `uid` is optional (DS Protocol uses `@id` instead of ODRL `uid`)
|
|
9
|
+
*
|
|
10
|
+
* @see https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
|
|
11
|
+
* @see IOdrlOffer from @twin.org/standards-w3c-odrl
|
|
12
|
+
*/
|
|
13
|
+
export interface IDataspaceProtocolOffer extends Omit<IOdrlOffer, "@context" | "uid"> {
|
|
14
|
+
/**
|
|
15
|
+
* Unique identifier for the offer.
|
|
16
|
+
*/
|
|
17
|
+
"@id": string;
|
|
18
|
+
/**
|
|
19
|
+
* Unique identifier for the offer.
|
|
20
|
+
*/
|
|
21
|
+
uid?: string;
|
|
22
|
+
}
|
package/docs/changelog.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [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
|
+
|
|
5
|
+
|
|
6
|
+
### Miscellaneous Chores
|
|
7
|
+
|
|
8
|
+
* **standards-dataspace-protocol:** Synchronize repo versions
|
|
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.45 to 0.0.3-next.46
|
|
16
|
+
* @twin.org/standards-w3c-odrl bumped from 0.0.3-next.45 to 0.0.3-next.46
|
|
17
|
+
* devDependencies
|
|
18
|
+
* @twin.org/standards-ld-contexts bumped from 0.0.3-next.45 to 0.0.3-next.46
|
|
19
|
+
|
|
20
|
+
## [0.0.3-next.45](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.44...standards-dataspace-protocol-v0.0.3-next.45) (2026-03-04)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* restore [@id](https://github.com/id) on hasPolicy Offer type ([#177](https://github.com/twinfoundation/standards/issues/177)) ([4b0e4f0](https://github.com/twinfoundation/standards/commit/4b0e4f08ec931584e559ed0b2c04b1daec73a872))
|
|
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.44 to 0.0.3-next.45
|
|
33
|
+
* @twin.org/standards-w3c-odrl bumped from 0.0.3-next.44 to 0.0.3-next.45
|
|
34
|
+
* devDependencies
|
|
35
|
+
* @twin.org/standards-ld-contexts bumped from 0.0.3-next.44 to 0.0.3-next.45
|
|
36
|
+
|
|
3
37
|
## [0.0.3-next.44](https://github.com/twinfoundation/standards/compare/standards-dataspace-protocol-v0.0.3-next.43...standards-dataspace-protocol-v0.0.3-next.44) (2026-03-04)
|
|
4
38
|
|
|
5
39
|
|
package/docs/reference/index.md
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
- [IDataspaceProtocolDataset](interfaces/IDataspaceProtocolDataset.md)
|
|
18
18
|
- [IDataspaceProtocolDatasetRequestMessage](interfaces/IDataspaceProtocolDatasetRequestMessage.md)
|
|
19
19
|
- [IDataspaceProtocolDistribution](interfaces/IDataspaceProtocolDistribution.md)
|
|
20
|
+
- [IDataspaceProtocolOffer](interfaces/IDataspaceProtocolOffer.md)
|
|
20
21
|
- [IDataspaceProtocolContractAgreementMessage](interfaces/IDataspaceProtocolContractAgreementMessage.md)
|
|
21
22
|
- [IDataspaceProtocolContractAgreementVerificationMessage](interfaces/IDataspaceProtocolContractAgreementVerificationMessage.md)
|
|
22
23
|
- [IDataspaceProtocolContractNegotiation](interfaces/IDataspaceProtocolContractNegotiation.md)
|
|
@@ -69,7 +69,7 @@ REQUIRED per Eclipse Data Space Protocol.
|
|
|
69
69
|
|
|
70
70
|
### hasPolicy
|
|
71
71
|
|
|
72
|
-
> **hasPolicy**: `ObjectOrArray
|
|
72
|
+
> **hasPolicy**: `ObjectOrArray`\<[`IDataspaceProtocolOffer`](IDataspaceProtocolOffer.md)\>
|
|
73
73
|
|
|
74
74
|
Array of ODRL policies (Offers) as required by DS Protocol.
|
|
75
75
|
|
|
@@ -68,7 +68,7 @@ REQUIRED per Eclipse Data Space Protocol.
|
|
|
68
68
|
|
|
69
69
|
### hasPolicy?
|
|
70
70
|
|
|
71
|
-
> `optional` **hasPolicy**: `ObjectOrArray
|
|
71
|
+
> `optional` **hasPolicy**: `ObjectOrArray`\<[`IDataspaceProtocolOffer`](IDataspaceProtocolOffer.md)\>
|
|
72
72
|
|
|
73
73
|
Array of ODRL policies (Offers) as required by DS Protocol.
|
|
74
74
|
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
# Interface: IDataspaceProtocolOffer
|
|
2
|
+
|
|
3
|
+
Offer interface compliant with Eclipse Data Space Protocol.
|
|
4
|
+
|
|
5
|
+
Extends IOdrlOffer with DS Protocol-specific constraints:
|
|
6
|
+
- `@id` is REQUIRED (used as the primary offer identifier in DS Protocol)
|
|
7
|
+
- `@context` is omitted (inherited from the parent Dataset/Distribution)
|
|
8
|
+
- `uid` is optional (DS Protocol uses `@id` instead of ODRL `uid`)
|
|
9
|
+
|
|
10
|
+
## See
|
|
11
|
+
|
|
12
|
+
- https://eclipse-dataspace-protocol-base.github.io/DataspaceProtocol/2025-1-err1/#lower-level-types
|
|
13
|
+
- IOdrlOffer from @twin.org/standards-w3c-odrl
|
|
14
|
+
|
|
15
|
+
## Extends
|
|
16
|
+
|
|
17
|
+
- `Omit`\<`IOdrlOffer`, `"@context"` \| `"uid"`\>
|
|
18
|
+
|
|
19
|
+
## Properties
|
|
20
|
+
|
|
21
|
+
### @id
|
|
22
|
+
|
|
23
|
+
> **@id**: `string`
|
|
24
|
+
|
|
25
|
+
Unique identifier for the offer.
|
|
26
|
+
|
|
27
|
+
***
|
|
28
|
+
|
|
29
|
+
### uid?
|
|
30
|
+
|
|
31
|
+
> `optional` **uid**: `string`
|
|
32
|
+
|
|
33
|
+
Unique identifier for the offer.
|
|
34
|
+
|
|
35
|
+
***
|
|
36
|
+
|
|
37
|
+
### @type
|
|
38
|
+
|
|
39
|
+
> **@type**: `"Offer"`
|
|
40
|
+
|
|
41
|
+
The type must be "Offer".
|
|
42
|
+
|
|
43
|
+
#### Inherited from
|
|
44
|
+
|
|
45
|
+
`Omit.@type`
|
|
46
|
+
|
|
47
|
+
***
|
|
48
|
+
|
|
49
|
+
### assigner
|
|
50
|
+
|
|
51
|
+
> **assigner**: `string` \| `IOdrlParty`
|
|
52
|
+
|
|
53
|
+
The assigner of the offer.
|
|
54
|
+
Required for Offer policies.
|
|
55
|
+
|
|
56
|
+
#### Inherited from
|
|
57
|
+
|
|
58
|
+
`Omit.assigner`
|
|
59
|
+
|
|
60
|
+
***
|
|
61
|
+
|
|
62
|
+
### profile?
|
|
63
|
+
|
|
64
|
+
> `optional` **profile**: `string` \| `string`[]
|
|
65
|
+
|
|
66
|
+
The profile(s) this policy conforms to.
|
|
67
|
+
IRIs identifying the ODRL Profile(s).
|
|
68
|
+
|
|
69
|
+
#### Inherited from
|
|
70
|
+
|
|
71
|
+
`Omit.profile`
|
|
72
|
+
|
|
73
|
+
***
|
|
74
|
+
|
|
75
|
+
### assignee?
|
|
76
|
+
|
|
77
|
+
> `optional` **assignee**: `string` \| `IOdrlParty` \| `IOdrlPartyCollection` \| (`string` \| `IOdrlParty` \| `IOdrlPartyCollection`)[]
|
|
78
|
+
|
|
79
|
+
The assignee of the policy.
|
|
80
|
+
Applies to all rules unless overridden at rule level.
|
|
81
|
+
|
|
82
|
+
#### Inherited from
|
|
83
|
+
|
|
84
|
+
`Omit.assignee`
|
|
85
|
+
|
|
86
|
+
***
|
|
87
|
+
|
|
88
|
+
### target?
|
|
89
|
+
|
|
90
|
+
> `optional` **target**: `string` \| `IOdrlAsset` \| `IOdrlAssetCollection` \| (`string` \| `IOdrlAsset` \| `IOdrlAssetCollection`)[]
|
|
91
|
+
|
|
92
|
+
The target asset for the rule.
|
|
93
|
+
|
|
94
|
+
#### Inherited from
|
|
95
|
+
|
|
96
|
+
`Omit.target`
|
|
97
|
+
|
|
98
|
+
***
|
|
99
|
+
|
|
100
|
+
### action?
|
|
101
|
+
|
|
102
|
+
> `optional` **action**: `string` \| `IOdrlAction` \| (`string` \| `IOdrlAction`)[]
|
|
103
|
+
|
|
104
|
+
The action associated with the rule.
|
|
105
|
+
|
|
106
|
+
#### Inherited from
|
|
107
|
+
|
|
108
|
+
`Omit.action`
|
|
109
|
+
|
|
110
|
+
***
|
|
111
|
+
|
|
112
|
+
### inheritFrom?
|
|
113
|
+
|
|
114
|
+
> `optional` **inheritFrom**: `string` \| `string`[]
|
|
115
|
+
|
|
116
|
+
The parent policy(ies) this policy inherits from.
|
|
117
|
+
IRIs identifying the parent Policy(ies).
|
|
118
|
+
|
|
119
|
+
#### Inherited from
|
|
120
|
+
|
|
121
|
+
`Omit.inheritFrom`
|
|
122
|
+
|
|
123
|
+
***
|
|
124
|
+
|
|
125
|
+
### conflict?
|
|
126
|
+
|
|
127
|
+
> `optional` **conflict**: `ConflictStrategyType`
|
|
128
|
+
|
|
129
|
+
The conflict resolution strategy.
|
|
130
|
+
- perm: Permissions override Prohibitions
|
|
131
|
+
- prohibit: Prohibitions override Permissions
|
|
132
|
+
- invalid: Policy is void if conflicts exist (default)
|
|
133
|
+
|
|
134
|
+
#### Inherited from
|
|
135
|
+
|
|
136
|
+
`Omit.conflict`
|
|
137
|
+
|
|
138
|
+
***
|
|
139
|
+
|
|
140
|
+
### permission?
|
|
141
|
+
|
|
142
|
+
> `optional` **permission**: `IOdrlPermission` \| `IOdrlPermission`[]
|
|
143
|
+
|
|
144
|
+
The permissions in the policy.
|
|
145
|
+
At least one of permission, prohibition, or obligation must be present.
|
|
146
|
+
|
|
147
|
+
#### Inherited from
|
|
148
|
+
|
|
149
|
+
`Omit.permission`
|
|
150
|
+
|
|
151
|
+
***
|
|
152
|
+
|
|
153
|
+
### prohibition?
|
|
154
|
+
|
|
155
|
+
> `optional` **prohibition**: `IOdrlProhibition` \| `IOdrlProhibition`[]
|
|
156
|
+
|
|
157
|
+
The prohibitions in the policy.
|
|
158
|
+
At least one of permission, prohibition, or obligation must be present.
|
|
159
|
+
|
|
160
|
+
#### Inherited from
|
|
161
|
+
|
|
162
|
+
`Omit.prohibition`
|
|
163
|
+
|
|
164
|
+
***
|
|
165
|
+
|
|
166
|
+
### obligation?
|
|
167
|
+
|
|
168
|
+
> `optional` **obligation**: `IOdrlDuty` \| `IOdrlDuty`[]
|
|
169
|
+
|
|
170
|
+
The obligations in the policy.
|
|
171
|
+
At least one of permission, prohibition, or obligation must be present.
|
|
172
|
+
|
|
173
|
+
#### Inherited from
|
|
174
|
+
|
|
175
|
+
`Omit.obligation`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@twin.org/standards-dataspace-protocol",
|
|
3
|
-
"version": "0.0.3-next.
|
|
3
|
+
"version": "0.0.3-next.46",
|
|
4
4
|
"description": "Models which define the structure of Dataspace Protocol",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
"@twin.org/core": "next",
|
|
18
18
|
"@twin.org/data-core": "next",
|
|
19
19
|
"@twin.org/data-json-ld": "next",
|
|
20
|
-
"@twin.org/standards-w3c-dcat": "0.0.3-next.
|
|
21
|
-
"@twin.org/standards-w3c-odrl": "0.0.3-next.
|
|
20
|
+
"@twin.org/standards-w3c-dcat": "0.0.3-next.46",
|
|
21
|
+
"@twin.org/standards-w3c-odrl": "0.0.3-next.46",
|
|
22
22
|
"@twin.org/web": "next"
|
|
23
23
|
},
|
|
24
24
|
"main": "./dist/es/index.js",
|