@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 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
@@ -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 { IOdrlOffer } from \"@twin.org/standards-w3c-odrl\";\nimport type { DataspaceProtocolContextType } from \"../dataspaceProtocolContextType.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"./dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolDistribution } from \"./IDataspaceProtocolDistribution.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<Omit<IOdrlOffer, \"@context\">>;\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
+ {"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 { IOdrlOffer } from \"@twin.org/standards-w3c-odrl\";\nimport type { DataspaceProtocolContextType } from \"../dataspaceProtocolContextType.js\";\nimport type { DataspaceProtocolCatalogTypes } from \"./dataspaceProtocolCatalogTypes.js\";\nimport type { IDataspaceProtocolDataService } from \"./IDataspaceProtocolDataService.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<Omit<IOdrlOffer, \"@context\">>;\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"]}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=IDataspaceProtocolOffer.js.map
@@ -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"]}
@@ -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<Omit<IOdrlOffer, "@context">>;
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<Omit<IOdrlOffer, "@context">>;
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
 
@@ -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`\<`Omit`\<`IOdrlOffer`, `"@context"`\>\>
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`\<`Omit`\<`IOdrlOffer`, `"@context"`\>\>
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.44",
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.44",
21
- "@twin.org/standards-w3c-odrl": "0.0.3-next.44",
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",